summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rwxr-xr-xbin/syncqt3
-rw-r--r--config.tests/unix/pulseaudio/pulseaudio.pro4
-rw-r--r--config.tests/unix/pulseaudio/pulseaudiotest.cpp (renamed from tests/auto/declarative/qdeclarativewebview/testtypes.cpp)15
-rwxr-xr-xconfigure36
-rwxr-xr-xconfigure.exebin1223680 -> 1008128 bytes
-rw-r--r--demos/declarative/declarative.pro17
-rw-r--r--demos/declarative/flickr/common/ImageDetails.qml5
-rw-r--r--demos/declarative/flickr/common/Loading.qml2
-rw-r--r--demos/declarative/flickr/flickr-mobile-90.qml1
-rw-r--r--demos/declarative/flickr/mobile/GridDelegate.qml2
-rw-r--r--demos/declarative/flickr/mobile/ImageDetails.qml7
-rw-r--r--demos/declarative/flickr/mobile/ListDelegate.qml4
-rw-r--r--demos/declarative/minehunt/Description.qml34
-rw-r--r--demos/declarative/minehunt/MinehuntCore/Explosion.qml (renamed from demos/declarative/minehunt/Explosion.qml)0
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/No-Ones-Laughing-3.jpg (renamed from demos/declarative/minehunt/pics/No-Ones-Laughing-3.jpg)bin30730 -> 30730 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/back.png (renamed from demos/declarative/minehunt/pics/back.png)bin558 -> 558 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png (renamed from demos/declarative/minehunt/pics/bomb-color.png)bin284 -> 284 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/bomb.png (renamed from demos/declarative/minehunt/pics/bomb.png)bin535 -> 535 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/face-sad.png (renamed from demos/declarative/minehunt/pics/face-sad.png)bin14844 -> 14844 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png (renamed from demos/declarative/minehunt/pics/face-smile-big.png)bin13810 -> 13810 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/face-smile.png (renamed from demos/declarative/minehunt/pics/face-smile.png)bin15408 -> 15408 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/flag-color.png (renamed from demos/declarative/minehunt/pics/flag-color.png)bin219 -> 219 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/flag.png (renamed from demos/declarative/minehunt/pics/flag.png)bin196 -> 196 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/front.png (renamed from demos/declarative/minehunt/pics/front.png)bin580 -> 580 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/pics/star.png (renamed from demos/declarative/minehunt/pics/star.png)bin2677 -> 2677 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/qmldir2
-rw-r--r--demos/declarative/minehunt/README3
-rw-r--r--demos/declarative/minehunt/minehunt.cpp (renamed from demos/declarative/minehunt/main.cpp)138
-rw-r--r--demos/declarative/minehunt/minehunt.pro30
-rw-r--r--demos/declarative/minehunt/minehunt.qml40
-rw-r--r--demos/declarative/minehunt/test.qml13
-rw-r--r--demos/declarative/samegame/SamegameCore/BoomBlock.qml (renamed from demos/declarative/samegame/content/BoomBlock.qml)6
-rw-r--r--demos/declarative/samegame/SamegameCore/Button.qml (renamed from demos/declarative/samegame/content/Button.qml)0
-rw-r--r--demos/declarative/samegame/SamegameCore/Dialog.qml (renamed from demos/declarative/samegame/content/Dialog.qml)2
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/background.png (renamed from demos/declarative/samegame/content/pics/background.png)bin313930 -> 313930 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/blueStar.png (renamed from demos/declarative/samegame/content/pics/blueStar.png)bin278 -> 278 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/blueStone.png (renamed from demos/declarative/samegame/content/pics/blueStone.png)bin3054 -> 3054 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/greenStar.png (renamed from demos/declarative/samegame/content/pics/greenStar.png)bin273 -> 273 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/greenStone.png (renamed from demos/declarative/samegame/content/pics/greenStone.png)bin2932 -> 2932 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/redStar.png (renamed from demos/declarative/samegame/content/pics/redStar.png)bin274 -> 274 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/redStone.png (renamed from demos/declarative/samegame/content/pics/redStone.png)bin2902 -> 2902 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/star.png (renamed from demos/declarative/samegame/content/pics/star.png)bin262 -> 262 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/pics/yellowStone.png (renamed from demos/declarative/samegame/content/pics/yellowStone.png)bin3056 -> 3056 bytes
-rw-r--r--demos/declarative/samegame/SamegameCore/qmldir (renamed from demos/declarative/samegame/content/qmldir)0
-rwxr-xr-xdemos/declarative/samegame/SamegameCore/samegame.js (renamed from demos/declarative/samegame/content/samegame.js)2
-rw-r--r--demos/declarative/samegame/samegame.qml8
-rw-r--r--demos/declarative/snake/content/Cookie.qml2
-rw-r--r--demos/declarative/snake/content/Link.qml8
-rw-r--r--demos/declarative/snake/content/Skull.qml6
-rw-r--r--demos/declarative/snake/content/snake.js4
-rw-r--r--demos/declarative/snake/snake.qml6
-rw-r--r--demos/declarative/twitter/TwitterCore/AuthView.qml (renamed from demos/declarative/twitter/content/AuthView.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/Button.qml (renamed from demos/declarative/twitter/content/Button.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/FatDelegate.qml (renamed from demos/declarative/twitter/content/FatDelegate.qml)2
-rw-r--r--demos/declarative/twitter/TwitterCore/HomeTitleBar.qml (renamed from demos/declarative/twitter/content/HomeTitleBar.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/Loading.qml (renamed from demos/declarative/twitter/content/Loading.qml)2
-rw-r--r--demos/declarative/twitter/TwitterCore/MultiTitleBar.qml (renamed from demos/declarative/twitter/content/MultiTitleBar.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/RssModel.qml (renamed from demos/declarative/twitter/content/RssModel.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/TitleBar.qml (renamed from demos/declarative/twitter/content/TitleBar.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/ToolBar.qml (renamed from demos/declarative/twitter/content/ToolBar.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/UserModel.qml (renamed from demos/declarative/twitter/content/UserModel.qml)0
-rw-r--r--demos/declarative/twitter/TwitterCore/images/gloss.png (renamed from demos/declarative/twitter/content/images/gloss.png)bin1236 -> 1236 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/lineedit.png (renamed from demos/declarative/twitter/content/images/lineedit.png)bin1415 -> 1415 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/lineedit.sci (renamed from demos/declarative/twitter/content/images/lineedit.sci)0
-rw-r--r--demos/declarative/twitter/TwitterCore/images/loading.png (renamed from demos/declarative/twitter/content/images/loading.png)bin813 -> 813 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/stripes.png (renamed from demos/declarative/twitter/content/images/stripes.png)bin257 -> 257 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/titlebar.png (renamed from demos/declarative/twitter/content/images/titlebar.png)bin1436 -> 1436 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/titlebar.sci (renamed from demos/declarative/twitter/content/images/titlebar.sci)0
-rw-r--r--demos/declarative/twitter/TwitterCore/images/toolbutton.png (renamed from demos/declarative/twitter/content/images/toolbutton.png)bin2550 -> 2550 bytes
-rw-r--r--demos/declarative/twitter/TwitterCore/images/toolbutton.sci (renamed from demos/declarative/twitter/content/images/toolbutton.sci)0
-rw-r--r--demos/declarative/twitter/TwitterCore/qmldir10
-rw-r--r--demos/declarative/twitter/twitter.qml6
-rw-r--r--demos/declarative/webbrowser/content/FlickableWebView.qml2
-rw-r--r--demos/declarative/webbrowser/content/fieldtext/FieldText.qml2
-rw-r--r--demos/declarative/webbrowser/webbrowser.qml1
-rw-r--r--demos/demos.pro2
-rw-r--r--demos/interview/model.cpp2
-rw-r--r--demos/interview/model.h2
-rw-r--r--demos/mainwindow/mainwindow.cpp2
-rw-r--r--demos/multimedia/player/player.cpp28
-rw-r--r--demos/multimedia/player/player.h3
-rw-r--r--demos/qtdemo/qtdemo.pro2
-rw-r--r--demos/spreadsheet/spreadsheet.cpp1
-rw-r--r--demos/sqlbrowser/browser.cpp2
-rw-r--r--dist/changes-4.5.42
-rw-r--r--dist/changes-4.7.010
-rw-r--r--doc/doc.pri11
-rw-r--r--doc/src/declarative/advtutorial.qdoc5
-rw-r--r--doc/src/declarative/basictypes.qdoc2
-rw-r--r--doc/src/declarative/elements.qdoc6
-rw-r--r--doc/src/declarative/globalobject.qdoc79
-rw-r--r--doc/src/declarative/tutorial.qdoc6
-rw-r--r--doc/src/development/developing-on-mac.qdoc4
-rw-r--r--doc/src/development/qmake-manual.qdoc28
-rw-r--r--doc/src/examples/svgalib.qdoc3
-rw-r--r--doc/src/frameworks-technologies/containers.qdoc11
-rw-r--r--doc/src/images/quick_screens.pngbin0 -> 128730 bytes
-rw-r--r--doc/src/modules.qdoc1
-rw-r--r--doc/src/platforms/emb-pointer.qdoc6
-rw-r--r--doc/src/qt4-intro.qdoc36
-rw-r--r--doc/src/snippets/code/doc_src_emb-pointer.qdoc5
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc14
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp5
-rw-r--r--doc/src/snippets/declarative/GroupBox.qml15
-rw-r--r--doc/src/snippets/declarative/content.qml9
-rw-r--r--doc/src/snippets/declarative/listview/highlight.qml4
-rw-r--r--doc/src/snippets/declarative/mouseregion.qml2
-rw-r--r--doc/src/snippets/declarative/pathview/pathattributes.qml2
-rw-r--r--doc/src/snippets/declarative/pathview/pathview.qml2
-rw-r--r--examples/declarative/anchors/anchor-changes.qml46
-rw-r--r--examples/declarative/animations/color-animation.qml10
-rw-r--r--examples/declarative/animations/property-animation.qml2
-rw-r--r--examples/declarative/aspectratio/face_fit_animated.qml2
-rw-r--r--examples/declarative/behaviours/MyRect.qml13
-rw-r--r--examples/declarative/behaviours/behavior.qml6
-rw-r--r--examples/declarative/behaviours/test.qml102
-rw-r--r--examples/declarative/border-image/content/MyBorderImage.qml4
-rw-r--r--examples/declarative/clocks/content/Clock.qml6
-rw-r--r--examples/declarative/colorbrowser/colorbrowser.qml101
-rw-r--r--examples/declarative/colorbrowser/dummydata/ColorsModel.qml96
-rw-r--r--examples/declarative/colorbrowser/qml/ColorDelegate.qml114
-rw-r--r--examples/declarative/colorbrowser/qml/box-shadow.pngbin0 -> 871 bytes
-rw-r--r--examples/declarative/colorbrowser/qml/box.pngbin0 -> 765 bytes
-rw-r--r--examples/declarative/connections/connections.qml2
-rw-r--r--examples/declarative/declarative.pro48
-rw-r--r--examples/declarative/dial/content/Dial.qml2
-rw-r--r--examples/declarative/dynamic/dynamic.qml42
-rw-r--r--examples/declarative/dynamic/qml/Sun.qml8
-rw-r--r--examples/declarative/effects/effects.qml4
-rw-r--r--examples/declarative/extending/adding/adding.pro4
-rw-r--r--examples/declarative/extending/attached/attached.pro4
-rw-r--r--examples/declarative/extending/binding/binding.pro4
-rw-r--r--examples/declarative/extending/binding/happybirthday.cpp2
-rw-r--r--examples/declarative/extending/binding/happybirthday.h6
-rw-r--r--examples/declarative/extending/coercion/coercion.pro4
-rw-r--r--examples/declarative/extending/default/default.pro4
-rw-r--r--examples/declarative/extending/extended/extended.pro4
-rw-r--r--examples/declarative/extending/grouped/grouped.pro4
-rw-r--r--examples/declarative/extending/properties/properties.pro5
-rw-r--r--examples/declarative/extending/signal/signal.pro4
-rw-r--r--examples/declarative/extending/valuesource/happybirthday.cpp2
-rw-r--r--examples/declarative/extending/valuesource/happybirthday.h6
-rw-r--r--examples/declarative/extending/valuesource/valuesource.pro4
-rw-r--r--examples/declarative/fillmode/fillmode.qml2
-rw-r--r--examples/declarative/flipable/back.pngbin0 -> 5048 bytes
-rw-r--r--examples/declarative/flipable/flipable.qml37
-rw-r--r--examples/declarative/flipable/front.pngbin0 -> 6431 bytes
-rw-r--r--examples/declarative/focusscope/test5.qml83
-rw-r--r--examples/declarative/fonts/banner.qml2
-rw-r--r--examples/declarative/fonts/fonts.qml35
-rw-r--r--examples/declarative/fonts/hello.qml4
-rw-r--r--examples/declarative/imageprovider/ImageProviderCore/qmldir2
-rw-r--r--examples/declarative/imageprovider/imageprovider.cpp (renamed from examples/declarative/imageprovider/main.cpp)48
-rw-r--r--examples/declarative/imageprovider/imageprovider.pro24
-rw-r--r--examples/declarative/imageprovider/imageprovider.qml (renamed from examples/declarative/imageprovider/view.qml)1
-rw-r--r--examples/declarative/imageprovider/imageprovider.qrc5
-rw-r--r--examples/declarative/layouts/layouts.qml2
-rw-r--r--examples/declarative/layouts/positioners.qml20
-rw-r--r--examples/declarative/listview/content/ClickAutoRepeating.qml2
-rw-r--r--examples/declarative/listview/highlight.qml2
-rw-r--r--examples/declarative/listview/itemlist.qml8
-rw-r--r--examples/declarative/mousearea/mouse.qml (renamed from examples/declarative/mouseregion/mouse.qml)0
-rw-r--r--examples/declarative/objectlistmodel/objectlistmodel.pro7
-rw-r--r--examples/declarative/package/Delegate.qml30
-rw-r--r--examples/declarative/parallax/qml/ParallaxView.qml1
-rw-r--r--examples/declarative/parallax/qml/Smiley.qml2
-rw-r--r--examples/declarative/plugins/com/nokia/TimeExample/Clock.qml8
-rw-r--r--examples/declarative/plugins/plugins.pro2
-rw-r--r--examples/declarative/progressbar/content/ProgressBar.qml2
-rw-r--r--examples/declarative/progressbar/progressbars.qml6
-rw-r--r--examples/declarative/searchbox/main.qml6
-rw-r--r--examples/declarative/snow/ImageBatch.qml72
-rw-r--r--examples/declarative/snow/Loading.qml8
-rw-r--r--examples/declarative/snow/create.js12
-rw-r--r--examples/declarative/snow/pics/loading.pngbin761 -> 0 bytes
-rw-r--r--examples/declarative/snow/snow.qml69
-rw-r--r--examples/declarative/tabwidget/TabWidget.qml44
-rw-r--r--examples/declarative/tabwidget/tab.pngbin0 -> 507 bytes
-rw-r--r--examples/declarative/tabwidget/tabs.qml49
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/Block.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/pics/background.pngbin313930 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/samegame.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/Block.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/pics/background.pngbin313930 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/pics/redStone.pngbin2902 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/samegame.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/Block.qml6
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/Dialog.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/pics/background.pngbin313930 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/pics/redStone.pngbin2902 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/samegame.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml18
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml2
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/pics/background.pngbin313930 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/pics/blueStone.pngbin3054 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/pics/greenStone.pngbin2932 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/pics/redStone.pngbin2902 -> 0 bytes
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/samegame.qml2
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/background.jpgbin0 -> 36473 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/blueStar.png (renamed from examples/declarative/tutorials/samegame/samegame4/content/pics/blueStar.png)bin278 -> 278 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/blueStone.png (renamed from examples/declarative/tutorials/samegame/samegame3/pics/blueStone.png)bin3054 -> 3054 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/greenStar.png (renamed from examples/declarative/tutorials/samegame/samegame4/content/pics/greenStar.png)bin273 -> 273 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/greenStone.png (renamed from examples/declarative/tutorials/samegame/samegame3/pics/greenStone.png)bin2932 -> 2932 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/redStar.png (renamed from examples/declarative/tutorials/samegame/samegame4/content/pics/redStar.png)bin274 -> 274 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/redStone.png (renamed from examples/declarative/tutorials/samegame/samegame1/pics/redStone.png)bin2902 -> 2902 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/star.png (renamed from examples/declarative/tutorials/samegame/samegame4/content/pics/star.png)bin262 -> 262 bytes
-rw-r--r--examples/declarative/tutorials/samegame/shared/pics/yellowStone.png (renamed from examples/declarative/tutorials/samegame/samegame4/content/pics/yellowStone.png)bin3056 -> 3056 bytes
-rw-r--r--examples/declarative/tvtennis/tvtennis.qml20
-rw-r--r--examples/declarative/velocity/Day.qml8
-rw-r--r--examples/declarative/webview/autosize.qml1
-rw-r--r--examples/declarative/webview/content/FieldText.qml2
-rw-r--r--examples/declarative/webview/content/Mapping/Map.qml1
-rw-r--r--examples/declarative/webview/evalandattach.qml1
-rw-r--r--examples/declarative/webview/googleMaps.qml1
-rw-r--r--examples/declarative/webview/inline-html.qml1
-rw-r--r--examples/declarative/webview/newwindows.qml1
-rw-r--r--examples/declarative/webview/qdeclarative-in-html.qml1
-rw-r--r--examples/declarative/webview/transparent.qml1
-rw-r--r--examples/declarative/workerlistmodel/dataloader.js14
-rw-r--r--examples/declarative/workerlistmodel/timedisplay.qml33
-rw-r--r--examples/multimedia/audioinput/audioinput.cpp6
-rw-r--r--examples/multimedia/audioinput/audioinput.h2
-rw-r--r--examples/network/qftp/sym_iap_util.h16
-rw-r--r--examples/openvg/star/starwidget.cpp5
-rw-r--r--examples/qws/svgalib/README12
-rw-r--r--examples/qws/svgalib/svgalibpaintdevice.cpp2
-rw-r--r--examples/qws/svgalib/svgalibpaintengine.cpp45
-rw-r--r--examples/qws/svgalib/svgalibpaintengine.h6
-rw-r--r--examples/threads/waitconditions/waitconditions.pro2
-rw-r--r--examples/tutorials/addressbook/part3/addressbook.cpp2
-rw-r--r--examples/tutorials/addressbook/part4/addressbook.cpp2
-rw-r--r--examples/widgets/softkeys/softkeys.cpp38
-rw-r--r--examples/widgets/softkeys/softkeys.h19
-rw-r--r--examples/widgets/windowflags/controllerwindow.cpp2
-rw-r--r--mkspecs/aix-g++-64/qmake.conf1
-rw-r--r--mkspecs/aix-g++/qmake.conf1
-rw-r--r--mkspecs/aix-xlc-64/qmake.conf1
-rw-r--r--mkspecs/aix-xlc/qmake.conf1
-rw-r--r--mkspecs/common/qws.conf1
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf2
-rw-r--r--mkspecs/common/symbian/symbian.conf7
-rw-r--r--mkspecs/cygwin-g++/qmake.conf1
-rw-r--r--mkspecs/darwin-g++/qmake.conf1
-rw-r--r--mkspecs/features/default_post.prf4
-rw-r--r--mkspecs/features/qttest_p4.prf2
-rw-r--r--mkspecs/freebsd-g++/qmake.conf1
-rw-r--r--mkspecs/freebsd-g++34/qmake.conf1
-rw-r--r--mkspecs/freebsd-g++40/qmake.conf1
-rw-r--r--mkspecs/freebsd-icc/qmake.conf1
-rw-r--r--mkspecs/hpux-acc-64/qmake.conf1
-rw-r--r--mkspecs/hpux-acc-o64/qmake.conf1
-rw-r--r--mkspecs/hpux-acc/qmake.conf1
-rw-r--r--mkspecs/hpux-g++-64/qmake.conf1
-rw-r--r--mkspecs/hpux-g++/qmake.conf1
-rw-r--r--mkspecs/hpuxi-acc-32/qmake.conf1
-rw-r--r--mkspecs/hpuxi-acc-64/qmake.conf1
-rw-r--r--mkspecs/hpuxi-g++-64/qmake.conf1
-rw-r--r--mkspecs/hurd-g++/qmake.conf1
-rw-r--r--mkspecs/irix-cc-64/qmake.conf1
-rw-r--r--mkspecs/irix-cc/qmake.conf1
-rw-r--r--mkspecs/irix-g++-64/qmake.conf1
-rw-r--r--mkspecs/irix-g++/qmake.conf1
-rw-r--r--mkspecs/linux-cxx/qmake.conf1
-rw-r--r--mkspecs/linux-ecc-64/qmake.conf1
-rw-r--r--mkspecs/linux-g++-32/qmake.conf1
-rw-r--r--mkspecs/linux-g++-64/qmake.conf1
-rw-r--r--mkspecs/linux-g++-maemo/qmake.conf1
-rw-r--r--mkspecs/linux-g++-maemo/qplatformdefs.h2
-rw-r--r--mkspecs/linux-g++/qmake.conf1
-rw-r--r--mkspecs/linux-icc/qmake.conf1
-rw-r--r--mkspecs/linux-kcc/qmake.conf1
-rw-r--r--mkspecs/linux-llvm/qmake.conf1
-rw-r--r--mkspecs/linux-lsb-g++/qmake.conf1
-rw-r--r--mkspecs/linux-pgcc/qmake.conf1
-rw-r--r--mkspecs/lynxos-g++/qmake.conf1
-rw-r--r--mkspecs/macx-g++/qmake.conf1
-rw-r--r--mkspecs/macx-g++40/qmake.conf1
-rw-r--r--mkspecs/macx-g++42/qmake.conf1
-rw-r--r--mkspecs/macx-icc/qmake.conf1
-rw-r--r--mkspecs/macx-llvm/qmake.conf1
-rw-r--r--mkspecs/macx-xlc/qmake.conf1
-rw-r--r--mkspecs/netbsd-g++/qmake.conf1
-rw-r--r--mkspecs/openbsd-g++/qmake.conf1
-rw-r--r--mkspecs/qws/freebsd-generic-g++/qmake.conf1
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf1
-rw-r--r--mkspecs/qws/solaris-generic-g++/qmake.conf1
-rw-r--r--mkspecs/sco-cc/qmake.conf1
-rw-r--r--mkspecs/sco-g++/qmake.conf1
-rw-r--r--mkspecs/solaris-cc-64/qmake.conf1
-rw-r--r--mkspecs/solaris-cc/qmake.conf1
-rw-r--r--mkspecs/solaris-g++-64/qmake.conf1
-rw-r--r--mkspecs/solaris-g++/qmake.conf1
-rw-r--r--mkspecs/symbian-abld/qmake.conf1
-rw-r--r--mkspecs/symbian-sbsv2/qmake.conf1
-rw-r--r--mkspecs/tru64-cxx/qmake.conf1
-rw-r--r--mkspecs/tru64-g++/qmake.conf1
-rw-r--r--mkspecs/unixware-cc/qmake.conf1
-rw-r--r--mkspecs/unixware-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/qnx-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/qws/qnx-641/qmake.conf1
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf1
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf1
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf1
-rw-r--r--qmake/Makefile.win32-g++2
-rw-r--r--qmake/Makefile.win32-g++-sh2
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp4
-rw-r--r--qmake/generators/makefile.cpp26
-rw-r--r--qmake/generators/makefile.h3
-rw-r--r--qmake/generators/metamakefile.cpp48
-rw-r--r--qmake/generators/metamakefile.h5
-rw-r--r--qmake/generators/projectgenerator.cpp9
-rw-r--r--qmake/generators/symbian/symmake.cpp13
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp2
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp2
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.h1
-rw-r--r--qmake/generators/unix/unixmake.cpp2
-rw-r--r--qmake/generators/unix/unixmake2.cpp4
-rw-r--r--qmake/generators/win32/borland_bmake.cpp2
-rw-r--r--qmake/generators/win32/mingw_make.cpp4
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp2
-rw-r--r--qmake/generators/win32/winmakefile.cpp24
-rw-r--r--qmake/generators/win32/winmakefile.h1
-rw-r--r--qmake/main.cpp2
-rw-r--r--qmake/option.cpp69
-rw-r--r--qmake/option.h10
-rw-r--r--qmake/project.cpp215
-rw-r--r--qmake/project.h8
-rw-r--r--src/3rdparty/README34
-rw-r--r--src/3rdparty/libtiff/libtiff/tif_wince.c281
-rw-r--r--src/3rdparty/patches/freetype-2.3.5-config.patch265
-rw-r--r--src/3rdparty/patches/freetype-2.3.6-ascii.patch174
-rw-r--r--src/3rdparty/patches/freetype-2.3.6-vxworks.patch35
-rw-r--r--src/3rdparty/patches/libjpeg-6b-config.patch50
-rw-r--r--src/3rdparty/patches/libjpeg-6b-vxworks.patch23
-rw-r--r--src/3rdparty/patches/libpng-1.2.20-elf-visibility.patch17
-rw-r--r--src/3rdparty/patches/libpng-1.2.20-vxworks.patch13
-rw-r--r--src/3rdparty/patches/libtiff-3.8.2-config.patch374
-rw-r--r--src/3rdparty/patches/libtiff-3.8.2-vxworks.patch11
-rw-r--r--src/3rdparty/patches/sqlite-3.5.6-config.patch38
-rw-r--r--src/3rdparty/patches/sqlite-3.5.6-vxworks.patch68
-rw-r--r--src/3rdparty/patches/sqlite-3.5.6-wince.patch19
-rw-r--r--src/3rdparty/phonon/ds9/backendnode.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/videorenderer_soft.cpp2
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h10
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog13
-rw-r--r--src/activeqt/container/qaxwidget.cpp6
-rw-r--r--src/corelib/codecs/codecs.pri3
-rw-r--r--src/corelib/codecs/qiconvcodec.cpp41
-rw-r--r--src/corelib/codecs/qsimplecodec.cpp12
-rw-r--r--src/corelib/codecs/qsimplecodec_p.h4
-rw-r--r--src/corelib/codecs/qtextcodec.cpp41
-rw-r--r--src/corelib/codecs/qtextcodec_symbian.cpp678
-rw-r--r--src/corelib/codecs/qutfcodec.cpp39
-rw-r--r--src/corelib/concurrent/qfuturewatcher.cpp2
-rw-r--r--src/corelib/global/qnamespace.h15
-rw-r--r--src/corelib/global/qnamespace.qdoc49
-rw-r--r--src/corelib/io/qdatastream.h1
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.cpp13
-rw-r--r--src/corelib/io/qfsfileengine.cpp3
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp10
-rw-r--r--src/corelib/io/qprocess_symbian.cpp2
-rw-r--r--src/corelib/io/qtextstream.cpp3
-rw-r--r--src/corelib/io/qurl.cpp13
-rw-r--r--src/corelib/io/qurl.h4
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp7
-rw-r--r--src/corelib/kernel/qmetatype.cpp316
-rw-r--r--src/corelib/kernel/qmetatype.h29
-rw-r--r--src/corelib/kernel/qobject.cpp20
-rw-r--r--src/corelib/kernel/qobjectdefs.h8
-rw-r--r--src/corelib/kernel/qtimer.cpp14
-rw-r--r--src/corelib/kernel/qvariant.cpp8
-rw-r--r--src/corelib/kernel/qvariant.h3
-rw-r--r--src/corelib/thread/qmutex.h15
-rw-r--r--src/corelib/thread/qreadwritelock.h30
-rw-r--r--src/corelib/tools/qbytearray.cpp4
-rw-r--r--src/corelib/tools/qchar.cpp271
-rw-r--r--src/corelib/tools/qeasingcurve.cpp4
-rw-r--r--src/corelib/tools/qhash.h3
-rw-r--r--src/corelib/tools/qlist.h34
-rw-r--r--src/corelib/tools/qmap.h3
-rw-r--r--src/corelib/tools/qregexp.cpp4
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h4
-rw-r--r--src/corelib/tools/qsimd_p.h14
-rw-r--r--src/corelib/tools/qstring.cpp187
-rw-r--r--src/corelib/tools/qtextboundaryfinder.cpp7
-rw-r--r--src/corelib/tools/qunicodetables.cpp3694
-rw-r--r--src/corelib/tools/qunicodetables_p.h55
-rw-r--r--src/dbus/qdbusconnection.cpp17
-rw-r--r--src/declarative/QmlChanges.txt14
-rw-r--r--src/declarative/graphicsitems/graphicsitems.pri7
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors.cpp10
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors_p_p.h40
-rw-r--r--src/declarative/graphicsitems/qdeclarativeeffects.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeevents.cpp1
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp407
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p_p.h77
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp51
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp448
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview_p.h67
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp19
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimagebase.cpp21
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimagebase_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h1
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp183
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.h7
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem_p.h17
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp351
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview_p.h42
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp9
-rw-r--r--src/declarative/graphicsitems/qdeclarativeparticles.cpp26
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath.cpp11
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath_p.h11
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp228
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p.h69
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p_p.h10
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle.cpp28
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle_p_p.h15
-rw-r--r--src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext_p_p.h10
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp5
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp29
-rw-r--r--src/declarative/qml/parser/qdeclarativejs.g2
-rw-r--r--src/declarative/qml/parser/qdeclarativejsgrammar.cpp2
-rw-r--r--src/declarative/qml/parser/qdeclarativejsgrammar_p.h4
-rw-r--r--src/declarative/qml/parser/qdeclarativejsparser.cpp2
-rw-r--r--src/declarative/qml/qdeclarativebinding_p.h7
-rw-r--r--src/declarative/qml/qdeclarativeboundsignal.cpp4
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp315
-rw-r--r--src/declarative/qml/qdeclarativecompiler_p.h8
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp9
-rw-r--r--src/declarative/qml/qdeclarativecontext.cpp9
-rw-r--r--src/declarative/qml/qdeclarativecontextscriptclass.cpp35
-rw-r--r--src/declarative/qml/qdeclarativecontextscriptclass_p.h1
-rw-r--r--src/declarative/qml/qdeclarativedeclarativedata_p.h10
-rw-r--r--src/declarative/qml/qdeclarativedom.cpp20
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp149
-rw-r--r--src/declarative/qml/qdeclarativeengine_p.h8
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug.cpp4
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeexpression.cpp73
-rw-r--r--src/declarative/qml/qdeclarativeexpression_p.h5
-rw-r--r--src/declarative/qml/qdeclarativeextensionplugin.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeglobal_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeglobalscriptclass.cpp15
-rw-r--r--src/declarative/qml/qdeclarativeglobalscriptclass_p.h7
-rw-r--r--src/declarative/qml/qdeclarativeimageprovider.cpp4
-rw-r--r--src/declarative/qml/qdeclarativeinstruction_p.h320
-rw-r--r--src/declarative/qml/qdeclarativelist.h2
-rw-r--r--src/declarative/qml/qdeclarativemetatype.cpp9
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass.cpp83
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass_p.h12
-rw-r--r--src/declarative/qml/qdeclarativeparser.cpp13
-rw-r--r--src/declarative/qml/qdeclarativeparser_p.h10
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp100
-rw-r--r--src/declarative/qml/qdeclarativeproperty_p.h2
-rw-r--r--src/declarative/qml/qdeclarativepropertycache.cpp4
-rw-r--r--src/declarative/qml/qdeclarativescript.cpp1
-rw-r--r--src/declarative/qml/qdeclarativescriptparser.cpp70
-rw-r--r--src/declarative/qml/qdeclarativevaluetype.cpp75
-rw-r--r--src/declarative/qml/qdeclarativevaluetype_p.h11
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp10
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp220
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript_p.h11
-rw-r--r--src/declarative/qml/qdeclarativexmlhttprequest.cpp19
-rw-r--r--src/declarative/util/qdeclarativeanimation.cpp246
-rw-r--r--src/declarative/util/qdeclarativeanimation_p.h2
-rw-r--r--src/declarative/util/qdeclarativeanimation_p_p.h21
-rw-r--r--src/declarative/util/qdeclarativebehavior.cpp8
-rw-r--r--src/declarative/util/qdeclarativebehavior_p.h1
-rw-r--r--src/declarative/util/qdeclarativebind.cpp15
-rw-r--r--src/declarative/util/qdeclarativedatetimeformatter.cpp373
-rw-r--r--src/declarative/util/qdeclarativedatetimeformatter_p.h117
-rw-r--r--src/declarative/util/qdeclarativeeasefollow.cpp35
-rw-r--r--src/declarative/util/qdeclarativefontloader.cpp11
-rw-r--r--src/declarative/util/qdeclarativelistmodel.cpp2
-rw-r--r--src/declarative/util/qdeclarativelistmodel_p.h2
-rw-r--r--src/declarative/util/qdeclarativenumberformatter.cpp261
-rw-r--r--src/declarative/util/qdeclarativepackage.cpp2
-rw-r--r--src/declarative/util/qdeclarativespringfollow.cpp7
-rw-r--r--src/declarative/util/qdeclarativestategroup.cpp3
-rw-r--r--src/declarative/util/qdeclarativestateoperations.cpp25
-rw-r--r--src/declarative/util/qdeclarativestateoperations_p.h2
-rw-r--r--src/declarative/util/qdeclarativesystempalette.cpp1
-rw-r--r--src/declarative/util/qdeclarativetimeline_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativetimer.cpp4
-rw-r--r--src/declarative/util/qdeclarativetimer_p.h9
-rw-r--r--src/declarative/util/qdeclarativeutilmodule.cpp8
-rw-r--r--src/declarative/util/qdeclarativeview.cpp35
-rw-r--r--src/declarative/util/qdeclarativeview.h4
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel.cpp79
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel_p.h43
-rw-r--r--src/declarative/util/qnumberformat.cpp224
-rw-r--r--src/declarative/util/qnumberformat_p.h174
-rw-r--r--src/declarative/util/util.pri6
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp7
-rw-r--r--src/gui/dialogs/qabstractprintdialog.h6
-rw-r--r--src/gui/dialogs/qdialog.cpp6
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm27
-rw-r--r--src/gui/dialogs/qfontdialog.cpp27
-rw-r--r--src/gui/dialogs/qfontdialog_mac.mm395
-rw-r--r--src/gui/dialogs/qfontdialog_p.h12
-rw-r--r--src/gui/dialogs/qmessagebox.cpp2
-rw-r--r--src/gui/dialogs/qprintdialog_qws.cpp11
-rw-r--r--src/gui/dialogs/qprintdialog_unix.cpp11
-rw-r--r--src/gui/dialogs/qprintdialog_win.cpp16
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.cpp13
-rw-r--r--src/gui/dialogs/qprintsettingsoutput.ui246
-rw-r--r--src/gui/egl/egl.pri1
-rw-r--r--src/gui/egl/qegl.cpp324
-rw-r--r--src/gui/egl/qegl_p.h132
-rw-r--r--src/gui/egl/qegl_qws.cpp30
-rw-r--r--src/gui/egl/qegl_symbian.cpp48
-rw-r--r--src/gui/egl/qegl_wince.cpp56
-rw-r--r--src/gui/egl/qegl_x11.cpp349
-rw-r--r--src/gui/egl/qeglcontext_p.h119
-rw-r--r--src/gui/egl/qeglproperties.cpp35
-rw-r--r--src/gui/egl/qeglproperties_p.h46
-rw-r--r--src/gui/embedded/directfb.pri2
-rw-r--r--src/gui/embedded/qscreen_qws.cpp2
-rw-r--r--src/gui/embedded/qwsmanager_qws.cpp6
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp132
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h8
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h3
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp58
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h4
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp6
-rw-r--r--src/gui/image/qicon.cpp4
-rw-r--r--src/gui/image/qiconloader.cpp32
-rw-r--r--src/gui/image/qiconloader_p.h2
-rw-r--r--src/gui/image/qimage.cpp55
-rw-r--r--src/gui/image/qimage.h1
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks.cpp10
-rw-r--r--src/gui/image/qpixmap.cpp25
-rw-r--r--src/gui/image/qpixmap_x11.cpp4
-rw-r--r--src/gui/image/qpixmap_x11_p.h10
-rw-r--r--src/gui/image/qpixmapfilter.cpp9
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp15
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp9
-rw-r--r--src/gui/itemviews/qheaderview.cpp4
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp8
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp7
-rw-r--r--src/gui/itemviews/qtableview.cpp21
-rw-r--r--src/gui/itemviews/qtreeview.cpp12
-rw-r--r--src/gui/kernel/qapplication.cpp24
-rw-r--r--src/gui/kernel/qapplication_mac.mm23
-rw-r--r--src/gui/kernel/qapplication_p.h3
-rw-r--r--src/gui/kernel/qapplication_s60.cpp42
-rw-r--r--src/gui/kernel/qapplication_win.cpp37
-rw-r--r--src/gui/kernel/qapplication_x11.cpp18
-rw-r--r--src/gui/kernel/qclipboard.cpp6
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac.mm13
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac.mm20
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac_p.h4
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm30
-rw-r--r--src/gui/kernel/qcursor_mac.mm33
-rw-r--r--src/gui/kernel/qgesturemanager.cpp4
-rw-r--r--src/gui/kernel/qguifunctions_wince.cpp9
-rw-r--r--src/gui/kernel/qkeymapper_x11.cpp8
-rw-r--r--src/gui/kernel/qmime_win.cpp12
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp32
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60_p.h2
-rw-r--r--src/gui/kernel/qsound_mac.mm1
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm49
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h2
-rw-r--r--src/gui/kernel/qt_x11_p.h3
-rw-r--r--src/gui/kernel/qwidget.cpp129
-rw-r--r--src/gui/kernel/qwidget.h1
-rw-r--r--src/gui/kernel/qwidget_mac.mm74
-rw-r--r--src/gui/kernel/qwidget_p.h1
-rw-r--r--src/gui/kernel/qwidget_s60.cpp41
-rw-r--r--src/gui/kernel/qwidget_win.cpp2
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win_p.h32
-rw-r--r--src/gui/painting/qbackingstore.cpp11
-rw-r--r--src/gui/painting/qcolor.cpp39
-rw-r--r--src/gui/painting/qcolor.h3
-rw-r--r--src/gui/painting/qcolormap.qdoc10
-rw-r--r--src/gui/painting/qdrawhelper.cpp7
-rw-r--r--src/gui/painting/qdrawutil.cpp4
-rw-r--r--src/gui/painting/qgraphicssystem_raster.cpp13
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp2
-rw-r--r--src/gui/painting/qpaintengineex.cpp4
-rw-r--r--src/gui/painting/qpaintengineex_p.h3
-rw-r--r--src/gui/painting/qpainter.cpp66
-rw-r--r--src/gui/painting/qpainter.h12
-rw-r--r--src/gui/painting/qprinter.cpp3
-rw-r--r--src/gui/painting/qprinter.h2
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp2
-rw-r--r--src/gui/painting/qwindowsurface_qws.cpp17
-rw-r--r--src/gui/painting/qwindowsurface_qws_p.h2
-rw-r--r--src/gui/styles/qcommonstyle.cpp2
-rw-r--r--src/gui/styles/qgtkpainter.cpp2
-rw-r--r--src/gui/styles/qgtkstyle.cpp203
-rw-r--r--src/gui/styles/qgtkstyle_p.cpp122
-rw-r--r--src/gui/styles/qgtkstyle_p.h86
-rw-r--r--src/gui/styles/qs60style.cpp48
-rw-r--r--src/gui/styles/qstylehelper.cpp65
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp15
-rw-r--r--src/gui/styles/qwindowsmobilestyle.cpp37
-rw-r--r--src/gui/text/qfontengine_ft.cpp70
-rw-r--r--src/gui/text/qfontengine_ft_p.h16
-rw-r--r--src/gui/text/qstatictext.cpp6
-rw-r--r--src/gui/text/qsyntaxhighlighter.cpp95
-rw-r--r--src/gui/text/qtextengine.cpp6
-rw-r--r--src/gui/text/qtextengine_p.h1
-rw-r--r--src/gui/text/qtextlayout.cpp2
-rw-r--r--src/gui/util/qsystemtrayicon_mac.mm4
-rw-r--r--src/gui/widgets/qabstractspinbox.cpp5
-rw-r--r--src/gui/widgets/qcheckbox.cpp2
-rw-r--r--src/gui/widgets/qcombobox.h4
-rw-r--r--src/gui/widgets/qdockarealayout.cpp8
-rw-r--r--src/gui/widgets/qlabel_p.h2
-rw-r--r--src/gui/widgets/qlinecontrol.cpp6
-rw-r--r--src/gui/widgets/qlinecontrol_p.h2
-rw-r--r--src/gui/widgets/qlineedit.cpp17
-rw-r--r--src/gui/widgets/qlineedit.h6
-rw-r--r--src/gui/widgets/qmainwindow.cpp4
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm2
-rw-r--r--src/gui/widgets/qmenu.cpp43
-rw-r--r--src/gui/widgets/qmenu_mac.mm32
-rw-r--r--src/gui/widgets/qmenu_p.h6
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp8
-rw-r--r--src/gui/widgets/qradiobutton.cpp2
-rw-r--r--src/gui/widgets/qscrollbar.cpp1
-rw-r--r--src/imports/imports.pro (renamed from src/plugins/qdeclarativemodules/qdeclarativemodules.pro)1
-rw-r--r--src/imports/multimedia/multimedia.cpp (renamed from src/multimedia/qml/multimediadeclarative.cpp)43
-rw-r--r--src/imports/multimedia/multimedia.pro26
-rw-r--r--src/imports/multimedia/qdeclarativeaudio.cpp (renamed from src/multimedia/qml/qdeclarativeaudio.cpp)10
-rw-r--r--src/imports/multimedia/qdeclarativeaudio_p.h (renamed from src/multimedia/qml/qdeclarativeaudio_p.h)8
-rw-r--r--src/imports/multimedia/qdeclarativemediabase.cpp (renamed from src/multimedia/qml/qdeclarativemediabase.cpp)8
-rw-r--r--src/imports/multimedia/qdeclarativemediabase_p.h (renamed from src/multimedia/qml/qdeclarativemediabase_p.h)6
-rw-r--r--src/imports/multimedia/qdeclarativevideo.cpp (renamed from src/multimedia/qml/qdeclarativevideo.cpp)10
-rw-r--r--src/imports/multimedia/qdeclarativevideo_p.h (renamed from src/multimedia/qml/qdeclarativevideo_p.h)8
-rw-r--r--src/imports/multimedia/qmetadatacontrolmetaobject.cpp (renamed from src/multimedia/qml/qmetadatacontrolmetaobject.cpp)6
-rw-r--r--src/imports/multimedia/qmetadatacontrolmetaobject_p.h (renamed from src/multimedia/qml/qmetadatacontrolmetaobject_p.h)4
-rw-r--r--src/imports/multimedia/qmldir (renamed from imports/Qt/multimedia/qmldir)0
-rw-r--r--src/imports/qimportbase.pri33
-rw-r--r--src/imports/webkit/plugin.cpp (renamed from src/plugins/qdeclarativemodules/multimedia/multimedia.cpp)16
-rw-r--r--src/imports/webkit/qdeclarativewebview.cpp (renamed from src/declarative/graphicsitems/qdeclarativewebview.cpp)8
-rw-r--r--src/imports/webkit/qdeclarativewebview_p.h (renamed from src/declarative/graphicsitems/qdeclarativewebview_p.h)10
-rw-r--r--src/imports/webkit/qdeclarativewebview_p_p.h (renamed from src/declarative/graphicsitems/qdeclarativewebview_p_p.h)4
-rw-r--r--src/imports/webkit/qmldir1
-rw-r--r--src/imports/webkit/webkit.pro19
-rw-r--r--src/imports/webkit/webkitqmlplugin_export.h (renamed from src/multimedia/qml/multimediadeclarative.h)27
-rw-r--r--src/imports/widgets/graphicslayouts.cpp (renamed from src/plugins/qdeclarativemodules/widgets/graphicslayouts.cpp)0
-rw-r--r--src/imports/widgets/graphicslayouts_p.h (renamed from src/plugins/qdeclarativemodules/widgets/graphicslayouts_p.h)0
-rw-r--r--src/imports/widgets/graphicswidgets.cpp (renamed from src/plugins/qdeclarativemodules/widgets/graphicswidgets.cpp)0
-rw-r--r--src/imports/widgets/graphicswidgets_p.h (renamed from src/plugins/qdeclarativemodules/widgets/graphicswidgets_p.h)0
-rw-r--r--src/imports/widgets/qmldir (renamed from imports/Qt/widgets/qmldir)0
-rw-r--r--src/imports/widgets/widgets.cpp (renamed from src/plugins/qdeclarativemodules/widgets/widgets.cpp)0
-rw-r--r--src/imports/widgets/widgets.pro (renamed from src/plugins/qdeclarativemodules/widgets/widgets.pro)10
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.cpp12
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.h4
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp44
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.cpp10
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.h4
-rw-r--r--src/multimedia/base/qmediacontent.cpp9
-rw-r--r--src/multimedia/base/qmediacontent.h1
-rw-r--r--src/multimedia/base/qmediaserviceprovider.cpp61
-rw-r--r--src/multimedia/base/qmediaserviceprovider.h3
-rw-r--r--src/multimedia/base/qpaintervideosurface.cpp8
-rw-r--r--src/multimedia/base/qtmedianamespace.h2
-rw-r--r--src/multimedia/base/qtmedianamespace.qdoc2
-rw-r--r--src/multimedia/effects/effects.pri25
-rw-r--r--src/multimedia/effects/qsoundeffect.cpp (renamed from src/multimedia/qml/qsoundeffect.cpp)96
-rw-r--r--src/multimedia/effects/qsoundeffect_p.h (renamed from src/multimedia/qml/qsoundeffect_p.h)23
-rw-r--r--src/multimedia/effects/qsoundeffect_pulse_p.cpp (renamed from src/multimedia/qml/qsoundeffect_pulse_p.cpp)255
-rw-r--r--src/multimedia/effects/qsoundeffect_pulse_p.h (renamed from src/multimedia/qml/qsoundeffect_pulse_p.h)41
-rw-r--r--src/multimedia/effects/qsoundeffect_qmedia_p.cpp (renamed from src/multimedia/qml/qsoundeffect_qmedia_p.cpp)99
-rw-r--r--src/multimedia/effects/qsoundeffect_qmedia_p.h (renamed from src/multimedia/qml/qsoundeffect_qmedia_p.h)32
-rw-r--r--src/multimedia/effects/qsoundeffect_qsound_p.cpp131
-rw-r--r--src/multimedia/effects/qsoundeffect_qsound_p.h (renamed from src/multimedia/qml/qsoundeffect_qsound_p.h)53
-rw-r--r--src/multimedia/effects/wavedecoder_p.cpp (renamed from src/multimedia/qml/wavedecoder_p.cpp)23
-rw-r--r--src/multimedia/effects/wavedecoder_p.h (renamed from src/multimedia/qml/wavedecoder_p.h)5
-rw-r--r--src/multimedia/multimedia.pro2
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp36
-rw-r--r--src/multimedia/playback/qmediaplayer.h3
-rw-r--r--src/multimedia/qml/qml.pri37
-rw-r--r--src/multimedia/qml/qsoundeffect_qsound_p.cpp225
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp6
-rw-r--r--src/network/access/qnetworkaccessdatabackend.cpp7
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp4
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp21
-rw-r--r--src/network/access/qnetworkaccessmanager.h1
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp2
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h2
-rw-r--r--src/network/bearer/qbearerengine.cpp38
-rw-r--r--src/network/bearer/qbearerengine_p.h3
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp82
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp90
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.h15
-rw-r--r--src/network/bearer/qnetworkconfiguration.cpp1
-rw-r--r--src/network/bearer/qnetworksession.cpp20
-rw-r--r--src/network/kernel/qhostinfo.cpp163
-rw-r--r--src/network/kernel/qhostinfo_p.h32
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp4
-rw-r--r--src/network/socket/qabstractsocket.cpp26
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp8
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h6
-rw-r--r--src/opengl/qgl_egl.cpp127
-rw-r--r--src/opengl/qgl_egl_p.h6
-rw-r--r--src/opengl/qgl_p.h11
-rw-r--r--src/opengl/qgl_qws.cpp20
-rw-r--r--src/opengl/qgl_wince.cpp18
-rw-r--r--src/opengl/qgl_x11.cpp2
-rw-r--r--src/opengl/qgl_x11egl.cpp459
-rw-r--r--src/opengl/qglpixelbuffer.h1
-rw-r--r--src/opengl/qglpixelbuffer_egl.cpp10
-rw-r--r--src/opengl/qgraphicssystem_gl.cpp1
-rw-r--r--src/opengl/qpixmapdata_x11gl_egl.cpp167
-rw-r--r--src/opengl/qpixmapdata_x11gl_p.h9
-rw-r--r--src/opengl/qwindowsurface_gl.cpp14
-rw-r--r--src/openvg/qpaintengine_vg.cpp154
-rw-r--r--src/openvg/qpaintengine_vg_p.h3
-rw-r--r--src/openvg/qvg_p.h2
-rw-r--r--src/openvg/qwindowsurface_vg.cpp2
-rw-r--r--src/openvg/qwindowsurface_vgegl_p.h2
-rw-r--r--src/plugins/bearer/bearer.pro2
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.h11
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm370
-rw-r--r--src/plugins/bearer/generic/qgenericengine.cpp15
-rw-r--r--src/plugins/bearer/generic/qgenericengine.h3
-rw-r--r--src/plugins/bearer/icd/monitor.cpp56
-rw-r--r--src/plugins/bearer/icd/monitor.h22
-rw-r--r--src/plugins/bearer/icd/qicdengine.cpp47
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.cpp51
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.h7
-rw-r--r--src/plugins/bearer/nativewifi/qnativewifiengine.cpp98
-rw-r--r--src/plugins/bearer/nativewifi/qnativewifiengine.h4
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp3
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp301
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerservice.h112
-rw-r--r--src/plugins/bearer/networkmanager/qnmdbushelper.cpp11
-rw-r--r--src/plugins/bearer/networkmanager/qnmdbushelper.h2
-rw-r--r--src/plugins/bearer/nla/qnlaengine.cpp56
-rw-r--r--src/plugins/bearer/qnetworksession_impl.cpp59
-rw-r--r--src/plugins/bearer/qnetworksession_impl.h9
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp17
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp38
-rw-r--r--src/plugins/bearer/symbian/symbianengine.h1
-rw-r--r--src/plugins/codecs/cn/qgb18030codec.cpp59
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp227
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp2
-rw-r--r--src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp34
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp53
-rw-r--r--src/plugins/imageformats/tiff/tiff.pro6
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp11
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h81
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp2
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp10
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h4
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp34
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp4
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h3
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp2
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp98
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h1
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri2
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp18
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h4
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp27
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp5
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp138
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h7
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp130
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h11
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp3
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp5
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp5
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h4
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp4
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h6
-rw-r--r--src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp6
-rw-r--r--src/plugins/mediaservices/gstreamer/qx11videosurface.cpp6
-rw-r--r--src/plugins/mediaservices/mediaservices.pro2
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm75
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm3
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h6
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm94
-rw-r--r--src/plugins/mediaservices/qt7/qt7movierenderer.mm21
-rw-r--r--src/plugins/mediaservices/qt7/qt7movievideowidget.mm17
-rw-r--r--src/plugins/mediaservices/qt7/qt7movieviewoutput.mm6
-rw-r--r--src/plugins/plugins.pro1
-rw-r--r--src/plugins/qdeclarativemodules/multimedia/multimedia.pro15
-rw-r--r--src/plugins/sqldrivers/odbc/odbc.pro1
-rw-r--r--src/s60installs/bwins/QtCoreu.def18
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def3499
-rw-r--r--src/s60installs/bwins/QtGuiu.def127
-rw-r--r--src/s60installs/bwins/QtMultimediau.def651
-rw-r--r--src/s60installs/bwins/QtNetworku.def164
-rw-r--r--src/s60installs/bwins/QtScriptu.def27
-rw-r--r--src/s60installs/bwins/QtTestu.def4
-rw-r--r--src/s60installs/eabi/QtCoreu.def20
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def3540
-rw-r--r--src/s60installs/eabi/QtGuiu.def127
-rw-r--r--src/s60installs/eabi/QtMultimediau.def651
-rw-r--r--src/s60installs/eabi/QtNetworku.def157
-rw-r--r--src/s60installs/eabi/QtScriptu.def41
-rw-r--r--src/s60installs/eabi/QtTestu.def1
-rw-r--r--src/script/api/qscriptengine.cpp59
-rw-r--r--src/script/api/qscriptengine_p.h38
-rw-r--r--src/script/api/qscriptvalue.cpp2
-rw-r--r--src/script/api/qscriptvalue_p.h4
-rw-r--r--src/script/bridge/qscriptqobject.cpp195
-rw-r--r--src/script/bridge/qscriptqobject_p.h1
-rw-r--r--src/sql/drivers/drivers.pri1
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp17
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp269
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.h1
-rw-r--r--src/sql/kernel/qsqlquery.cpp11
-rw-r--r--src/sql/kernel/qsqlresult.cpp13
-rw-r--r--src/src.pro7
-rw-r--r--src/svg/qsvggenerator.cpp27
-rw-r--r--src/svg/qsvggraphics.cpp178
-rw-r--r--src/svg/qsvggraphics_p.h40
-rw-r--r--src/svg/qsvgnode.cpp65
-rw-r--r--src/svg/qsvgnode_p.h14
-rw-r--r--src/svg/qsvgstructure.cpp13
-rw-r--r--src/svg/qsvgstructure_p.h3
-rw-r--r--src/svg/qsvgstyle.cpp46
-rw-r--r--src/svg/qsvgstyle_p.h28
-rw-r--r--src/svg/qsvgtinydocument.cpp7
-rw-r--r--src/svg/qsvgtinydocument_p.h5
-rw-r--r--src/testlib/qtestcase.cpp28
-rw-r--r--src/tools/moc/util/generate_keywords.pro1
-rw-r--r--src/xml/dom/qdom.cpp1
-rw-r--r--tests/auto/auto.pro624
-rw-r--r--tests/auto/corelib.pro102
-rw-r--r--tests/auto/dbus.pro20
-rw-r--r--tests/auto/declarative/declarative.pro5
-rw-r--r--tests/auto/declarative/examples/examples.pro2
-rw-r--r--tests/auto/declarative/examples/tst_examples.cpp3
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/badtype1.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/badtype2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/badtype3.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml4
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/dontStart.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/properties.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/properties2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/properties3.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/properties4.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/properties5.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/rotation.qml48
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/valuesource.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/valuesource2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp66
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/binding.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/color.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/cpptrigger.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/disabled.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/dontStart.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/empty.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/explicit.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/groupProperty.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/groupProperty2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/loop.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/nonSelecting2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/parent.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/scripttrigger.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/simple.qml2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro8
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp (renamed from tests/auto/declarative/qdeclarativewebview/testtypes.h)37
-rw-r--r--tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp20
-rw-r--r--tests/auto/declarative/qdeclarativedatetimeformatter/qdeclarativedatetimeformatter.pro5
-rw-r--r--tests/auto/declarative/qdeclarativedatetimeformatter/tst_qdeclarativedatetimeformatter.cpp150
-rw-r--r--tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp72
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/attachedPropertyScope.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/methods.5.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scope.4.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.1.qml16
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.2.qml22
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.3.qml15
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.4.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.5.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.6.qml20
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.1.qml18
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.2.qml19
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.3.qml19
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.4.qml20
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.1.qml13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.2.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.js5
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp236
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/gridview-enforcerange.qml56
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/gridview.qml6
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/propertychanges.qml69
-rw-r--r--tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp241
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/keynavigation.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/keys.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/mapCoordinates.qml43
-rw-r--r--tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp104
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/assignBasicTypes.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/component.3.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/customOnProperty.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/defaultGrouped.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/doubleSignal.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/enumTypes.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/enumTypes.qml4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.6.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.2.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.4.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.6.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidID.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/listAssignment.3.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/method.1.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/method.1.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.qml8
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/property.6.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/property.6.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/property.7.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/property.7.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/script.8.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/signal.4.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/signal.4.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/testtypes.h15
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp41
-rw-r--r--tests/auto/declarative/qdeclarativelistview/data/propertychanges.qml71
-rw-r--r--tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp218
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativenumberformatter/qdeclarativenumberformatter.pro5
-rw-r--r--tests/auto/declarative/qdeclarativenumberformatter/tst_qdeclarativenumberformatter.cpp222
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/data/particles.qml2
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/displaypath.qml2
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathview.qml13
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathview2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathview3.qml4
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml115
-rw-r--r--tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp213
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/data/TestType.qml6
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/data/readSynthesizedObject.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp37
-rw-r--r--tests/auto/declarative/qdeclarativeqt/data/formatting.qml19
-rw-r--r--tests/auto/declarative/qdeclarativeqt/data/tint.qml2
-rw-r--r--tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp40
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp6
-rw-r--r--tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp37
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/enums.1.qml2
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/enums.2.qml2
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/enums.3.qml6
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/enums.4.qml7
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/valueInterceptors.qml2
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/valueSources.qml2
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp23
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/basic.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/elements.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/forward.pngbin0 -> 2377 bytes
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/javaScript.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/loadError.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/newwindows.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml3
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/sethtml.qml1
-rw-r--r--tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro3
-rw-r--r--tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp347
-rw-r--r--tests/auto/declarative/qdeclarativeworkerlistmodel/data/model.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeworkerlistmodel/data/script.js6
-rw-r--r--tests/auto/declarative/qdeclarativeworkerlistmodel/qdeclarativeworkerlistmodel.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeworkerlistmodel/tst_qdeclarativeworkerlistmodel.cpp193
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/script.js5
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml24
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp182
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.qml28
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.xmlbin0 -> 154 bytes
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp554
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/data/propertychanges.qml10
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp218
-rwxr-xr-xtests/auto/declarative/runall.sh81
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.pngbin0 -> 3742 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.pngbin0 -> 3727 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.pngbin0 -> 3742 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.pngbin0 -> 3628 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.pngbin0 -> 3610 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.pngbin0 -> 3742 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml1663
-rw-r--r--tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml58
-rw-r--r--tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml1
-rw-r--r--tests/auto/declarative/visual/webview/embedding/nesting.qml1
-rw-r--r--tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml1
-rw-r--r--tests/auto/declarative/visual/webview/javascript/windowObjects.qml1
-rw-r--r--tests/auto/declarative/visual/webview/settings/fontFamily.qml1
-rw-r--r--tests/auto/declarative/visual/webview/settings/fontSize.qml1
-rw-r--r--tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml1
-rw-r--r--tests/auto/declarative/visual/webview/settings/setFontFamily.qml1
-rw-r--r--tests/auto/declarative/visual/webview/zooming/pageWidth.qml1
-rw-r--r--tests/auto/declarative/visual/webview/zooming/renderControl.qml1
-rw-r--r--tests/auto/declarative/visual/webview/zooming/resolution.qml1
-rw-r--r--tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml1
-rw-r--r--tests/auto/declarative/visual/webview/zooming/zooming.qml1
-rw-r--r--tests/auto/gestures/tst_gestures.cpp98
-rw-r--r--tests/auto/gui.pro223
-rw-r--r--tests/auto/headers/tst_headers.cpp1
-rw-r--r--tests/auto/host.pro19
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp60
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result24
-rw-r--r--tests/auto/maketestselftest/tst_maketestselftest.cpp33
-rw-r--r--tests/auto/multimedia.pro26
-rw-r--r--tests/auto/network.pro43
-rw-r--r--tests/auto/opengl.pro6
-rw-r--r--tests/auto/other.pro58
-rw-r--r--tests/auto/phonon.pro5
-rw-r--r--tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro5
-rw-r--r--tests/auto/qbearertestcommon.h13
-rw-r--r--tests/auto/qchar/tst_qchar.cpp13
-rw-r--r--tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp4
-rw-r--r--tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro12
-rw-r--r--tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp2
-rw-r--r--tests/auto/qdeclarativevideo/qdeclarativevideo.pro12
-rw-r--r--tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp2
-rw-r--r--tests/auto/qdialog/tst_qdialog.cpp4
-rw-r--r--tests/auto/qdom/tst_qdom.cpp25
-rw-r--r--tests/auto/qftp/tst_qftp.cpp2
-rw-r--r--tests/auto/qgl/qgl.pro2
-rw-r--r--tests/auto/qgl/tst_qgl.cpp11
-rw-r--r--tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp23
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp13
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp34
-rw-r--r--tests/auto/qhostinfo/tst_qhostinfo.cpp56
-rw-r--r--tests/auto/qicon/tst_qicon.cpp6
-rw-r--r--tests/auto/qlist/tst_qlist.cpp34
-rw-r--r--tests/auto/qmediacontent/tst_qmediacontent.cpp1
-rw-r--r--tests/auto/qmediaservice/tst_qmediaservice.cpp8
-rw-r--r--tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp74
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp20
-rw-r--r--tests/auto/qmetaobject/tst_qmetaobject.cpp33
-rw-r--r--tests/auto/qmetatype/tst_qmetatype.cpp14
-rw-r--r--tests/auto/qnetworksession/lackey/main.cpp13
-rw-r--r--tests/auto/qnetworksession/test/tst_qnetworksession.cpp356
-rw-r--r--tests/auto/qobject/tst_qobject.cpp36
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp10
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp23
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro8
-rw-r--r--tests/auto/qscriptvalue/testgen/main.cpp2
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.cpp401
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.h15
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h2
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp10221
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp1453
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp7026
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp198
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp830
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp1897
-rw-r--r--tests/auto/qsoundeffect/qsoundeffect.pro20
-rw-r--r--tests/auto/qsoundeffect/test.wavbin0 -> 38316 bytes
-rw-r--r--tests/auto/qsoundeffect/tst_qsoundeffect.cpp144
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp101
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro2
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp6
-rw-r--r--tests/auto/qstring/tst_qstring.cpp5
-rw-r--r--tests/auto/qstringmatcher/qstringmatcher.pro2
-rw-r--r--tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg6
-rw-r--r--tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg10
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp31
-rw-r--r--tests/auto/qt3support.pro54
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp72
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro3
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp13
-rw-r--r--tests/auto/qtextcodec/test/test.pro1
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp266
-rw-r--r--tests/auto/qtextstream/tst_qtextstream.cpp58
-rw-r--r--tests/auto/qtimer/tst_qtimer.cpp12
-rw-r--r--tests/auto/qurl/tst_qurl.cpp9
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp18
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp10
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml2
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml2
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml2
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml2
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml2
-rw-r--r--tests/auto/script.pro16
-rw-r--r--tests/auto/sql.pro14
-rw-r--r--tests/auto/svg.pro6
-rw-r--r--tests/auto/utf8/tst_utf8.cpp85
-rw-r--r--tests/auto/webkit.pro8
-rw-r--r--tests/auto/xml.pro8
-rw-r--r--tests/auto/xmlpatterns.pro47
-rw-r--r--tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp2
-rw-r--r--tests/benchmarks/corelib/io/qfile/main.cpp17
-rw-r--r--tests/benchmarks/corelib/kernel/kernel.pro1
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/qmetatype.pro7
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp233
-rw-r--r--tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/qtimer_vs_qmetaobject.pro11
-rw-r--r--tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp (renamed from src/declarative/util/qdeclarativenumberformatter_p.h)87
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/main.cpp2
-rw-r--r--tests/benchmarks/corelib/tools/qstringlist/main.cpp4
-rw-r--r--tests/benchmarks/declarative/binding/binding.pro3
-rw-r--r--tests/benchmarks/declarative/binding/data/idproperty.txt2
-rw-r--r--tests/benchmarks/declarative/binding/data/objectproperty.txt2
-rw-r--r--tests/benchmarks/declarative/binding/testtypes.h6
-rw-r--r--tests/benchmarks/declarative/binding/tst_binding.cpp16
-rw-r--r--tests/benchmarks/declarative/creation/tst_creation.cpp7
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml2
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml6
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro3
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h6
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp14
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp8
-rw-r--r--tests/benchmarks/declarative/script/tst_script.cpp11
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp3
-rw-r--r--tests/benchmarks/gui/painting/painting.pro3
-rw-r--r--tests/benchmarks/gui/painting/qtbench/benchmarktests.h841
-rw-r--r--tests/benchmarks/gui/painting/qtbench/qtbench.pro6
-rw-r--r--tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp254
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp4
-rw-r--r--tests/benchmarks/network/kernel/qhostinfo/main.cpp24
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp3
-rw-r--r--tools/assistant/lib/qhelpcollectionhandler.cpp8
-rw-r--r--tools/assistant/lib/qhelpgenerator.cpp3
-rw-r--r--tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp2
-rw-r--r--tools/assistant/lib/qhelpsearchindexwriter_default.cpp2
-rw-r--r--tools/assistant/lib/qhelpsearchresultwidget.cpp2
-rw-r--r--tools/assistant/tools/assistant/assistant.pro16
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.cpp2
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp8
-rw-r--r--tools/assistant/tools/assistant/cmdlineparser.cpp16
-rw-r--r--tools/assistant/tools/assistant/findwidget.cpp1
-rw-r--r--tools/assistant/tools/assistant/helpenginewrapper.cpp7
-rw-r--r--tools/assistant/tools/assistant/helpviewer.h2
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qtb.cpp6
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qtb.h6
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.cpp6
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.h6
-rw-r--r--tools/assistant/tools/assistant/main.cpp2
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp4
-rw-r--r--tools/assistant/tools/assistant/mainwindow.h2
-rw-r--r--tools/configure/configureapp.cpp13
-rw-r--r--tools/designer/src/lib/shared/formwindowbase.cpp13
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertysheet.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertysheet_p.h3
-rw-r--r--tools/designer/src/plugins/plugins.pro1
-rw-r--r--tools/designer/src/plugins/qdeclarativeview/qdeclarativeview.pro13
-rw-r--r--tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.cpp132
-rw-r--r--tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.h74
-rw-r--r--tools/linguist/lupdate/cpp.cpp28
-rw-r--r--tools/linguist/phrasebooks/russian.qph40
-rw-r--r--tools/qdbus/qdbus/qdbus.cpp175
-rw-r--r--tools/qdoc3/codeparser.cpp1
-rw-r--r--tools/qdoc3/command.cpp9
-rw-r--r--tools/qdoc3/config.cpp6
-rw-r--r--tools/qdoc3/cppcodeparser.cpp7
-rw-r--r--tools/qdoc3/doc.h1
-rw-r--r--tools/qdoc3/generator.cpp27
-rw-r--r--tools/qdoc3/generator.h7
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp1
-rw-r--r--tools/qdoc3/htmlgenerator.cpp60
-rw-r--r--tools/qdoc3/htmlgenerator.h2
-rw-r--r--tools/qdoc3/jambiapiparser.cpp2
-rw-r--r--tools/qdoc3/main.cpp17
-rw-r--r--tools/qdoc3/node.cpp36
-rw-r--r--tools/qdoc3/node.h9
-rw-r--r--tools/qdoc3/pagegenerator.cpp3
-rw-r--r--tools/qdoc3/qdoc3.pro16
-rw-r--r--tools/qdoc3/test/qdeclarative.qdocconf (renamed from tools/qdoc3/test/qml.qdocconf)2
-rw-r--r--tools/qdoc3/tree.cpp3
-rw-r--r--tools/qdoc3/webxmlgenerator.cpp4
-rw-r--r--tools/qdoc3/webxmlgenerator.h5
-rw-r--r--tools/qev/qev.pro2
-rw-r--r--tools/qml/main.cpp5
-rw-r--r--tools/qml/qfxtester.h4
-rw-r--r--tools/qml/qml.pro4
-rw-r--r--tools/qtestlib/wince/cetest/cetest.pro7
-rw-r--r--translations/assistant_de.ts494
-rw-r--r--translations/assistant_ru.ts143
-rw-r--r--translations/designer_de.ts58
-rw-r--r--translations/designer_ru.ts569
-rw-r--r--translations/linguist_de.ts50
-rw-r--r--translations/linguist_ru.ts562
-rw-r--r--translations/qt_da.ts23
-rw-r--r--translations/qt_de.ts1144
-rw-r--r--translations/qt_es.ts23
-rw-r--r--translations/qt_fr.ts23
-rw-r--r--translations/qt_help_de.ts181
-rw-r--r--translations/qt_help_ru.ts89
-rw-r--r--translations/qt_ja_JP.ts23
-rw-r--r--translations/qt_pl.ts23
-rw-r--r--translations/qt_pt.ts23
-rw-r--r--translations/qt_ru.ts1632
-rw-r--r--translations/qt_sv.ts23
-rw-r--r--translations/qt_zh_CN.ts23
-rw-r--r--translations/qt_zh_TW.ts23
-rw-r--r--translations/qtconfig_ru.ts297
-rw-r--r--translations/qvfb_ru.ts88
-rw-r--r--translations/translations.pri2
-rw-r--r--util/unicode/.gitattributes1
-rw-r--r--util/unicode/data/CompositionExclusions.txt197
-rw-r--r--util/unicode/main.cpp597
-rw-r--r--util/unicode/unicode.pro1
1249 files changed, 49551 insertions, 26175 deletions
diff --git a/.gitignore b/.gitignore
index c232a0d01a..ad8e3eaab8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,7 +83,7 @@ bin/kmap2qmap*
bin/qlalr*
bin/qmlconv*
bin/qmldebugger*
-bin/qmlviewer*
+bin/qml*
bin/qttracereplay*
configure.cache
config.status
diff --git a/bin/syncqt b/bin/syncqt
index 6fb21dd920..be4af2a3de 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -356,12 +356,13 @@ sub fixPaths {
#setup
my $ret = $file;
+ $ret =~ s,/cygdrive/([a-zA-Z])/,$1:/,g;
my $file_dir = dirname($file);
if($file_dir eq ".") {
$file_dir = getcwd();
$file_dir =~ s=\\=/=g;
}
- $file_dir =~ s,/cygdrive/([a-zA-Z])/,$1:,g;
+ $file_dir =~ s,/cygdrive/([a-zA-Z])/,$1:/,g;
if($dir eq ".") {
$dir = getcwd();
$dir =~ s=\\=/=g;
diff --git a/config.tests/unix/pulseaudio/pulseaudio.pro b/config.tests/unix/pulseaudio/pulseaudio.pro
new file mode 100644
index 0000000000..698a35f0d7
--- /dev/null
+++ b/config.tests/unix/pulseaudio/pulseaudio.pro
@@ -0,0 +1,4 @@
+SOURCES = pulseaudiotest.cpp
+LIBS+=-lpulse
+CONFIG -= qt dylib
+mac:CONFIG -= app_bundle
diff --git a/tests/auto/declarative/qdeclarativewebview/testtypes.cpp b/config.tests/unix/pulseaudio/pulseaudiotest.cpp
index 7efc2143c1..eed88da7cb 100644
--- a/tests/auto/declarative/qdeclarativewebview/testtypes.cpp
+++ b/config.tests/unix/pulseaudio/pulseaudiotest.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the test suite of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,15 +38,12 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "testtypes.h"
-void MyWebView::drawContents(QPainter *p, const QRect &r)
-{
- pp += r.width()*r.height();
- QDeclarativeWebView::drawContents(p,r);
-}
+#include <pulse/pulseaudio.h>
-void registerTypes()
+int main(int ,char **)
{
- QML_REGISTER_TYPE(Test,1,0,MyWebView,MyWebView);
+ pa_threaded_mainloop *mainloop = pa_threaded_mainloop_new();
+ return 0;
}
+
diff --git a/configure b/configure
index 377311f4ff..11642210cb 100755
--- a/configure
+++ b/configure
@@ -786,6 +786,7 @@ OPT_HELP=
CFG_SILENT=no
CFG_GRAPHICS_SYSTEM=default
CFG_ALSA=auto
+CFG_PULSEAUDIO=auto
CFG_NETWORKMANAGER=auto
CFG_COREWLAN=auto
@@ -2423,7 +2424,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
fi
;;
CYGWIN*:*)
- CFG_EMBEDDED=x86
+ if [ -z "$XPLATFORM" ]; then
+ CFG_EMBEDDED=x86
+ fi
;;
*)
echo "Qt for Embedded Linux is not supported on this platform. Disabling."
@@ -2985,7 +2988,7 @@ else
fi
QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
-TEST_COMPILER="$CC"
+TEST_COMPILER="$CXX"
[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
if [ -z "$TEST_COMPILER" ]; then
echo "ERROR: Cannot set the compiler for the configuration tests"
@@ -4338,7 +4341,7 @@ if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
[ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
if [ "$OPT_SHADOW" = "yes" ]; then
"$outpath/bin/syncqt" $SYNCQT_OPTS
- elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ]; then
+ elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS
fi
fi
@@ -5525,7 +5528,7 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
if [ "$CFG_COREWLAN" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_COREWLAN=yes
else
CFG_COREWLAN=no
@@ -5968,6 +5971,14 @@ if [ "$CFG_ALSA" = "auto" ]; then
fi
fi
+if [ "$CFG_PULSEAUDIO" = "auto" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "pulseaudio" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_PULSEAUDIO=yes
+ else
+ CFG_PULSEAUDIO=no
+ fi
+fi
+
if [ "$CFG_NETWORKMANAGER" = "auto" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/networkmanager "NetworkManager" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_NETWORKMANAGER=yes
@@ -6105,6 +6116,15 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
+# select Carbon when using the 10.4u SDK
+if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "TEST$CFG_SDK" = "TEST/Developer/SDKs/MacOSX10.4u.sdk/" ]; then
+ echo "Carbon on";
+ CFG_MAC_COCOA="no";
+ CFG_MAC_CARBON="yes";
+ fi
+fi
+
# set the global Mac deployment target. This is overridden on an arch-by-arch basis
# in some cases, see code further down
case "$PLATFORM,$CFG_MAC_COCOA" in
@@ -6344,7 +6364,7 @@ else
QT_CONFIG="$QT_CONFIG freetype"
fi
-if [ "x$PLATFORM_MAC" = "xyes" ]; then
+if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
#On Mac we implicitly link against libz, so we
#never use the 3rdparty stuff.
[ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
@@ -6487,6 +6507,10 @@ if [ "$CFG_ALSA" = "yes" ]; then
QT_CONFIG="$QT_CONFIG alsa"
fi
+if [ "$CFG_PULSEAUDIO" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG pulseaudio"
+fi
+
if [ "$CFG_NETWORKMANAGER" = "yes" ]; then
QT_CONFIG="$QT_CONFIG networkmanager"
fi
@@ -7203,6 +7227,7 @@ fi
[ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
[ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
[ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
+[ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
[ "$CFG_NETWORKMANAGER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NETWORKMANAGER"
[ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
@@ -7717,6 +7742,7 @@ elif [ "$CFG_OPENSSL" = "linked" ]; then
fi
echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
echo "Alsa support ........... $CFG_ALSA"
+echo "Pulse Audio support .... $CFG_PULSEAUDIO"
echo "NetworkManager support . $CFG_NETWORKMANAGER"
if [ "$PLATFORM_MAC" = "yes" ]; then
echo "CoreWlan support ....... $CFG_COREWLAN"
diff --git a/configure.exe b/configure.exe
index 39a1747b62..997423662d 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/declarative/declarative.pro b/demos/declarative/declarative.pro
new file mode 100644
index 0000000000..4d169e3f67
--- /dev/null
+++ b/demos/declarative/declarative.pro
@@ -0,0 +1,17 @@
+TEMPLATE = subdirs
+
+# These demos contain C++ and need to be compiled
+SUBDIRS = \
+ minehunt
+
+# These examples contain no C++ and can simply be copied
+sources.files = \
+ calculator \
+ flickr \
+ samegame \
+ snake \
+ twitter \
+ webbrowser
+sources.path = $$[QT_INSTALL_DEMOS]/declarative
+INSTALLS += sources
+
diff --git a/demos/declarative/flickr/common/ImageDetails.qml b/demos/declarative/flickr/common/ImageDetails.qml
index f91b365b4c..862eeb192d 100644
--- a/demos/declarative/flickr/common/ImageDetails.qml
+++ b/demos/declarative/flickr/common/ImageDetails.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Flipable {
id: container
@@ -93,9 +94,7 @@ Flipable {
Image {
id: bigImage; source: container.photoUrl; scale: slider.value
- // Center image if it is smaller than the flickable area.
- x: imageContainer.width > width*scale ? (imageContainer.width - width*scale) / 2 : 0
- y: imageContainer.height > height*scale ? (imageContainer.height - height*scale) / 2 : 0
+ anchors.centerIn: parent;
smooth: !flick.moving
onStatusChanged : {
// Default scale shows the entire image.
diff --git a/demos/declarative/flickr/common/Loading.qml b/demos/declarative/flickr/common/Loading.qml
index 174cd21417..938a08026d 100644
--- a/demos/declarative/flickr/common/Loading.qml
+++ b/demos/declarative/flickr/common/Loading.qml
@@ -2,7 +2,7 @@ import Qt 4.6
Image {
id: loading; source: "pics/loading.png"; transformOrigin: "Center"
- rotation: NumberAnimation {
+ NumberAnimation on rotation {
from: 0; to: 360; running: loading.visible == true; repeat: true; duration: 900
}
}
diff --git a/demos/declarative/flickr/flickr-mobile-90.qml b/demos/declarative/flickr/flickr-mobile-90.qml
index 259ff105bc..9fec2421db 100644
--- a/demos/declarative/flickr/flickr-mobile-90.qml
+++ b/demos/declarative/flickr/flickr-mobile-90.qml
@@ -5,6 +5,7 @@ Item {
Loader {
y: 320; rotation: -90
+ transformOrigin: Item.TopLeft
source: "flickr-mobile.qml"
}
}
diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml
index 763457392c..291d8746ce 100644
--- a/demos/declarative/flickr/mobile/GridDelegate.qml
+++ b/demos/declarative/flickr/mobile/GridDelegate.qml
@@ -23,7 +23,7 @@
Item {
anchors.centerIn: parent
scale: 0.0
- scale: Behavior { NumberAnimation { easing.type: "InOutQuad"} }
+ Behavior on scale { NumberAnimation { easing.type: "InOutQuad"} }
id: scaleMe
Rectangle { height: 79; width: 79; id: blackRect; anchors.centerIn: parent; color: "black"; smooth: true }
diff --git a/demos/declarative/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/mobile/ImageDetails.qml
index 8749b4c614..2f4df8a25f 100644
--- a/demos/declarative/flickr/mobile/ImageDetails.qml
+++ b/demos/declarative/flickr/mobile/ImageDetails.qml
@@ -45,7 +45,7 @@ Flipable {
Text { color: "white"; elide: Text.ElideRight; text: "<b>Author:</b> " + container.photoAuthor }
Text { color: "white"; elide: Text.ElideRight; text: "<b>Published:</b> " + container.photoDate }
Text { color: "white"; elide: Text.ElideRight; text: container.photoTags == "" ? "" : "<b>Tags:</b> " }
- Text { color: "white"; elide: Text.ElideRight; elide: Text.ElideRight; text: container.photoTags }
+ Text { color: "white"; elide: Text.ElideRight; text: container.photoTags }
}
}
@@ -66,10 +66,7 @@ Flipable {
Image {
id: bigImage; source: container.photoUrl; scale: slider.value
- // Center image if it is smaller than the flickable area.
- x: imageContainer.width > width*scale ? (imageContainer.width - width*scale) / 2 : 0
- y: imageContainer.height > height*scale ? (imageContainer.height - height*scale) / 2 : 0
- smooth: !flickable.moving
+ anchors.centerIn: parent; smooth: !flickable.moving
onStatusChanged : {
// Default scale shows the entire image.
if (status == 1 && width != 0) {
diff --git a/demos/declarative/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/mobile/ListDelegate.qml
index 75c457228b..381664b55f 100644
--- a/demos/declarative/flickr/mobile/ListDelegate.qml
+++ b/demos/declarative/flickr/mobile/ListDelegate.qml
@@ -15,8 +15,8 @@ Component {
Column {
x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
Text { text: title; color: "white"; width: parent.width; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
- Text { text: photoAuthor; color: "white"; width: parent.width; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
- Text { text: photoDate; color: "white"; width: parent.width; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+ Text { text: photoAuthor; width: parent.width; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+ Text { text: photoDate; width: parent.width; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
}
}
}
diff --git a/demos/declarative/minehunt/Description.qml b/demos/declarative/minehunt/Description.qml
deleted file mode 100644
index cc4d3b202a..0000000000
--- a/demos/declarative/minehunt/Description.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-import Qt 4.6
-
-Item {
- id: page
- height: myText.height + 20
- property var text
- MouseArea {
- anchors.fill: parent
- drag.target: page
- drag.axis: "XandYAxis"
- drag.minimumX: 0
- drag.maximumX: 1000
- drag.minimumY: 0
- drag.maximumY: 1000
- }
- Rectangle {
- radius: 10
- anchors.fill: parent
- color: "lightsteelblue"
- }
- Item {
- x: 10
- y: 10
- width: parent.width - 20
- height: parent.height - 20
- Text {
- id: myText
- text: page.text
- width: parent.width
- clip: true
- wrap: true
- }
- }
-}
diff --git a/demos/declarative/minehunt/Explosion.qml b/demos/declarative/minehunt/MinehuntCore/Explosion.qml
index e337c46fd2..e337c46fd2 100644
--- a/demos/declarative/minehunt/Explosion.qml
+++ b/demos/declarative/minehunt/MinehuntCore/Explosion.qml
diff --git a/demos/declarative/minehunt/pics/No-Ones-Laughing-3.jpg b/demos/declarative/minehunt/MinehuntCore/pics/No-Ones-Laughing-3.jpg
index 445567fbda..445567fbda 100644
--- a/demos/declarative/minehunt/pics/No-Ones-Laughing-3.jpg
+++ b/demos/declarative/minehunt/MinehuntCore/pics/No-Ones-Laughing-3.jpg
Binary files differ
diff --git a/demos/declarative/minehunt/pics/back.png b/demos/declarative/minehunt/MinehuntCore/pics/back.png
index f6b3f0b4d7..f6b3f0b4d7 100644
--- a/demos/declarative/minehunt/pics/back.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/back.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/bomb-color.png b/demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png
index 61ad0a928f..61ad0a928f 100644
--- a/demos/declarative/minehunt/pics/bomb-color.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/bomb.png b/demos/declarative/minehunt/MinehuntCore/pics/bomb.png
index a992575518..a992575518 100644
--- a/demos/declarative/minehunt/pics/bomb.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/bomb.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/face-sad.png b/demos/declarative/minehunt/MinehuntCore/pics/face-sad.png
index cf00aafe1f..cf00aafe1f 100644
--- a/demos/declarative/minehunt/pics/face-sad.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/face-sad.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/face-smile-big.png b/demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png
index f9c2335df5..f9c2335df5 100644
--- a/demos/declarative/minehunt/pics/face-smile-big.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/face-smile.png b/demos/declarative/minehunt/MinehuntCore/pics/face-smile.png
index 3d66d72578..3d66d72578 100644
--- a/demos/declarative/minehunt/pics/face-smile.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/face-smile.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/flag-color.png b/demos/declarative/minehunt/MinehuntCore/pics/flag-color.png
index aadad0f11a..aadad0f11a 100644
--- a/demos/declarative/minehunt/pics/flag-color.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/flag-color.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/flag.png b/demos/declarative/minehunt/MinehuntCore/pics/flag.png
index 39cde4df82..39cde4df82 100644
--- a/demos/declarative/minehunt/pics/flag.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/flag.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/front.png b/demos/declarative/minehunt/MinehuntCore/pics/front.png
index 834331bd49..834331bd49 100644
--- a/demos/declarative/minehunt/pics/front.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/front.png
Binary files differ
diff --git a/demos/declarative/minehunt/pics/star.png b/demos/declarative/minehunt/MinehuntCore/pics/star.png
index 3772359188..3772359188 100644
--- a/demos/declarative/minehunt/pics/star.png
+++ b/demos/declarative/minehunt/MinehuntCore/pics/star.png
Binary files differ
diff --git a/demos/declarative/minehunt/MinehuntCore/qmldir b/demos/declarative/minehunt/MinehuntCore/qmldir
new file mode 100644
index 0000000000..862c396e1f
--- /dev/null
+++ b/demos/declarative/minehunt/MinehuntCore/qmldir
@@ -0,0 +1,2 @@
+plugin minehunt
+Explosion 1.0 Explosion.qml
diff --git a/demos/declarative/minehunt/README b/demos/declarative/minehunt/README
new file mode 100644
index 0000000000..7379dcf963
--- /dev/null
+++ b/demos/declarative/minehunt/README
@@ -0,0 +1,3 @@
+To run, simply load the minehunt.qml file with the qml runtime.
+
+Note that on X11, this demo has problems with the native graphicssystem. If you are using the X11 window system, please pass -graphicssystem raster to the qml binary.
diff --git a/demos/declarative/minehunt/main.cpp b/demos/declarative/minehunt/minehunt.cpp
index 0e99731cf0..89845efee5 100644
--- a/demos/declarative/minehunt/main.cpp
+++ b/demos/declarative/minehunt/minehunt.cpp
@@ -38,21 +38,15 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qdeclarativeengine.h"
-#include "qdeclarativecontext.h"
-#include "qdeclarative.h"
-#include <qdeclarativeitem.h>
-#include <qdeclarativeview.h>
-
-#include <QWidget>
-#include <QApplication>
-#include <QFile>
+
+#include <stdlib.h>
+#include <qdeclarativeextensionplugin.h>
+#include <qdeclarativecontext.h>
+#include <qdeclarativeengine.h>
+#include <qdeclarative.h>
+
#include <QTime>
#include <QTimer>
-#include <QVBoxLayout>
-#include <QFileInfo>
-
-QString fileName = "minehunt.qml";
class Tile : public QObject
{
@@ -91,17 +85,14 @@ private:
bool _flipped;
};
-QML_DECLARE_TYPE(Tile);
-
-class MyWidget : public QWidget
+class MinehuntGame : public QObject
{
-Q_OBJECT
+ Q_OBJECT
public:
- MyWidget(int = 370, int = 480, QWidget *parent=0, Qt::WindowFlags flags=0);
- ~MyWidget();
+ MinehuntGame();
- Q_PROPERTY(QList<Tile *> *tiles READ tiles CONSTANT);
- QList<Tile *> *tiles() { return &_tiles; }
+ Q_PROPERTY(QDeclarativeListProperty<Tile> tiles READ tiles CONSTANT);
+ QDeclarativeListProperty<Tile> tiles() { return QDeclarativeListProperty<Tile>(this, _tiles); }
Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY isPlayingChanged);
bool isPlaying() {return playing;}
@@ -116,8 +107,8 @@ public:
int numFlags() const{return nFlags;}
public slots:
- Q_INVOKABLE void flip(int row, int col);
- Q_INVOKABLE void flag(int row, int col);
+ Q_INVOKABLE bool flip(int row, int col);
+ Q_INVOKABLE bool flag(int row, int col);
void setBoard();
void reset();
@@ -133,8 +124,6 @@ private:
int getHint(int row, int col);
void setPlaying(bool b){if(b==playing) return; playing=b; emit isPlayingChanged();}
- QDeclarativeView *canvas;
-
QList<Tile *> _tiles;
int numCols;
int numRows;
@@ -145,39 +134,21 @@ private:
int nFlags;
};
-MyWidget::MyWidget(int width, int height, QWidget *parent, Qt::WindowFlags flags)
-: QWidget(parent, flags), canvas(0), numCols(9), numRows(9), playing(true), won(false)
+MinehuntGame::MinehuntGame()
+: numCols(9), numRows(9), playing(true), won(false)
{
- setObjectName("mainWidget");
+ setObjectName("mainObject");
srand(QTime(0,0,0).secsTo(QTime::currentTime()));
//initialize array
for(int ii = 0; ii < numRows * numCols; ++ii) {
_tiles << new Tile;
}
-
reset();
- QVBoxLayout *vbox = new QVBoxLayout;
- vbox->setMargin(0);
- setLayout(vbox);
-
- canvas = new QDeclarativeView(this);
- canvas->setFixedSize(width, height);
- vbox->addWidget(canvas);
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->addDefaultObject(this);
- ctxt->setContextProperty("tiles", QVariant::fromValue<QList<Tile*>*>(&_tiles));//QTBUG-5675
-
- canvas->setSource(QUrl::fromLocalFile(fileName));
-}
-
-MyWidget::~MyWidget()
-{
}
-void MyWidget::setBoard()
+void MinehuntGame::setBoard()
{
foreach(Tile* t, _tiles){
t->setHasMine(false);
@@ -211,7 +182,7 @@ void MyWidget::setBoard()
setPlaying(true);
}
-void MyWidget::reset()
+void MinehuntGame::reset()
{
foreach(Tile* t, _tiles){
t->unflip();
@@ -223,7 +194,7 @@ void MyWidget::reset()
QTimer::singleShot(600,this, SLOT(setBoard()));
}
-int MyWidget::getHint(int row, int col)
+int MinehuntGame::getHint(int row, int col)
{
int hint = 0;
for (int c = col-1; c <= col+1; c++)
@@ -235,14 +206,14 @@ int MyWidget::getHint(int row, int col)
return hint;
}
-void MyWidget::flip(int row, int col)
+bool MinehuntGame::flip(int row, int col)
{
if(!playing)
- return;
+ return false;
Tile *t = tile(row, col);
if (!t || t->hasFlag())
- return;
+ return false;
if(t->flipped()){
int flags = 0;
@@ -255,7 +226,7 @@ void MyWidget::flip(int row, int col)
flags++;
}
if(!t->hint() || t->hint() != flags)
- return;
+ return false;
for (int c = col-1; c <= col+1; c++)
for (int r = row-1; r <= row+1; r++) {
Tile *nearT = tile(r, c);
@@ -263,7 +234,7 @@ void MyWidget::flip(int row, int col)
flip( r, c );
}
}
- return;
+ return true;
}
t->flip();
@@ -297,50 +268,47 @@ void MyWidget::flip(int row, int col)
hasWonChanged();
setPlaying(false);
}
+ return true;
}
-void MyWidget::flag(int row, int col)
+bool MinehuntGame::flag(int row, int col)
{
Tile *t = tile(row, col);
if(!t)
- return;
+ return false;
t->setHasFlag(!t->hasFlag());
nFlags += (t->hasFlag()?1:-1);
emit numFlagsChanged();
+ return true;
}
-/////////////////////////////////////////////////////////
-int main(int argc, char ** argv)
+QML_DECLARE_TYPE(Tile);
+QML_DECLARE_TYPE(MinehuntGame);
+
+class MinehuntExtensionPlugin : public QDeclarativeExtensionPlugin
{
- QApplication app(argc, argv);
-
- bool frameless = false;
-
- int width = 370;
- int height = 480;
-
- QML_REGISTER_TYPE(0,0,0,Tile,Tile);
-
- for (int i = 1; i < argc; ++i) {
- QString arg = argv[i];
- if (arg == "-frameless") {
- frameless = true;
- } else if(arg == "-width" && i < (argc - 1)) {
- ++i;
- width = ::atoi(argv[i]);
- } else if(arg == "-height" && i < (argc - 1)) {
- ++i;
- height = ::atoi(argv[i]);
- } else if (arg[0] != '-') {
- fileName = arg;
- }
+ Q_OBJECT
+
+ public:
+ void registerTypes(const char *uri) {
+ Q_UNUSED(uri);
+ QML_REGISTER_TYPE(SameGameCore, 0, 1, Tile, Tile);
+ QML_REGISTER_TYPE(SameGameCore, 0, 1, Game, MinehuntGame);
}
- MyWidget wid(width, height, 0, frameless ? Qt::FramelessWindowHint : Qt::Widget);
- wid.show();
+ void initializeEngine(QDeclarativeEngine *engine, const char *uri) {
+ Q_UNUSED(uri);
- return app.exec();
-}
+ srand(QTime(0,0,0).secsTo(QTime::currentTime()));
+
+ MinehuntGame* game = new MinehuntGame();
+
+ engine->rootContext()->addDefaultObject(game);
+ }
+};
+
+#include "minehunt.moc"
+
+Q_EXPORT_PLUGIN(MinehuntExtensionPlugin);
-#include "main.moc"
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 01791b1511..2df33e6cc8 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -1,9 +1,25 @@
-SOURCES = main.cpp
+TEMPLATE = lib
+TARGET = minehunt
+QT += declarative
+CONFIG += qt plugin
-QT += script declarative
-contains(QT_CONFIG, opengles2)|contains(QT_CONFIG, opengles1): QT += opengl
+TARGET = $$qtLibraryTarget($$TARGET)
+DESTDIR = MinehuntCore
+
+# Input
+SOURCES += minehunt.cpp
+
+
+sources.files = minehunt.qml minehunt.pro
+sources.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt
+
+target.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt/MinehuntCore
+
+MinehuntCore_sources.files = \
+ MinehuntCore/Explosion.qml \
+ MinehuntCore/pics \
+ MinehuntCore/qmldir
+MinehuntCore_sources.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt/MinehuntCore
+
+INSTALLS = sources MinehuntCore_sources target
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/minehunt
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS minehunt.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/minehunt
-INSTALLS += target sources
diff --git a/demos/declarative/minehunt/minehunt.qml b/demos/declarative/minehunt/minehunt.qml
index 617a6ed1eb..9e9970645d 100644
--- a/demos/declarative/minehunt/minehunt.qml
+++ b/demos/declarative/minehunt/minehunt.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import MinehuntCore 1.0
Item {
id: field
@@ -24,15 +25,15 @@ Item {
angle: flipable.angle;
}
front: Image {
- source: "pics/front.png"
+ source: "MinehuntCore/pics/front.png"
width: 40
height: 40
Image {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
- source: "pics/flag.png"
- opacity: model.hasFlag
- opacity: Behavior {
+ source: "MinehuntCore/pics/flag.png"
+ opacity: modelData.hasFlag
+ Behavior on opacity {
NumberAnimation {
property: "opacity"
duration: 250
@@ -41,22 +42,22 @@ Item {
}
}
back: Image {
- source: "pics/back.png"
+ source: "MinehuntCore/pics/back.png"
width: 40
height: 40
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
- text: model.hint
+ text: modelData.hint
color: "white"
font.bold: true
- opacity: !model.hasMine && model.hint > 0
+ opacity: !modelData.hasMine && modelData.hint > 0
}
Image {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
- source: "pics/bomb.png"
- opacity: model.hasMine
+ source: "MinehuntCore/pics/bomb.png"
+ opacity: modelData.hasMine
}
Explosion {
id: expl
@@ -65,7 +66,7 @@ Item {
states: [
State {
name: "back"
- when: model.flipped
+ when: modelData.flipped
PropertyChanges { target: flipable; angle: 180 }
}
]
@@ -81,7 +82,7 @@ Item {
else
ret = 0;
if (ret > 0) {
- if (model.hasMine && model.flipped) {
+ if (modelData.hasMine && modelData.flipped) {
ret*3;
} else {
ret;
@@ -96,7 +97,7 @@ Item {
properties: "angle"
}
ScriptAction{
- script: if(model.hasMine && model.flipped){expl.explode = true;}
+ script: if(modelData.hasMine && modelData.flipped){expl.explode = true;}
}
}
}
@@ -120,16 +121,9 @@ Item {
}
]
Image {
- source: "pics/No-Ones-Laughing-3.jpg"
+ source: "MinehuntCore/pics/No-Ones-Laughing-3.jpg"
fillMode: Image.Tile
}
- Description {
- text: "Use the 'minehunt' executable to run this demo!"
- width: 300
- opacity: tiles?0:1
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- }
Repeater {
id: repeater
model: tiles
@@ -156,7 +150,7 @@ Item {
Image {
// x: 100
// y: 20
- source: "pics/bomb-color.png"
+ source: "MinehuntCore/pics/bomb-color.png"
}
Text {
// x: 100
@@ -172,7 +166,7 @@ Item {
Image {
// x: 140
// y: 20
- source: "pics/flag-color.png"
+ source: "MinehuntCore/pics/flag-color.png"
}
Text {
// x: 140
@@ -187,7 +181,7 @@ Item {
y: 390
anchors.right: field.right
anchors.rightMargin: 20
- source: isPlaying ? 'pics/face-smile.png' : hasWon ? 'pics/face-smile-big.png': 'pics/face-sad.png'
+ source: isPlaying ? 'MinehuntCore/pics/face-smile.png' : hasWon ? 'MinehuntCore/pics/face-smile-big.png': 'MinehuntCore/pics/face-sad.png'
MouseArea {
anchors.fill: parent
onPressed: { reset() }
diff --git a/demos/declarative/minehunt/test.qml b/demos/declarative/minehunt/test.qml
deleted file mode 100644
index 11ed182242..0000000000
--- a/demos/declarative/minehunt/test.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import Qt 4.6
-
- Image {
- source: "pics/front.png"
- width: 40
- height: 40
- Image {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- source: "pics/flag.png"
- opacity: 1
- }
- }
diff --git a/demos/declarative/samegame/content/BoomBlock.qml b/demos/declarative/samegame/SamegameCore/BoomBlock.qml
index 723e62aa38..e48194a7e3 100644
--- a/demos/declarative/samegame/content/BoomBlock.qml
+++ b/demos/declarative/samegame/SamegameCore/BoomBlock.qml
@@ -7,8 +7,8 @@ Item { id:block
property int targetX: 0
property int targetY: 0
- x: SpringFollow { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
- y: SpringFollow { source: targetY; spring: 2; damping: 0.2 }
+ SpringFollow on x { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
+ SpringFollow on y { source: targetY; spring: 2; damping: 0.2 }
Image { id: img
source: {
@@ -21,7 +21,7 @@ Item { id:block
}
}
opacity: 0
- opacity: Behavior { NumberAnimation { duration: 200 } }
+ Behavior on opacity { NumberAnimation { duration: 200 } }
anchors.fill: parent
}
diff --git a/demos/declarative/samegame/content/Button.qml b/demos/declarative/samegame/SamegameCore/Button.qml
index 6629302051..6629302051 100644
--- a/demos/declarative/samegame/content/Button.qml
+++ b/demos/declarative/samegame/SamegameCore/Button.qml
diff --git a/demos/declarative/samegame/content/Dialog.qml b/demos/declarative/samegame/SamegameCore/Dialog.qml
index 7769328b07..6d5d6b58b0 100644
--- a/demos/declarative/samegame/content/Dialog.qml
+++ b/demos/declarative/samegame/SamegameCore/Dialog.qml
@@ -14,7 +14,7 @@ Rectangle {
property Item text: myText
color: "white"; border.width: 1; width: myText.width + 20; height: myText.height + 40;
opacity: 0
- opacity: Behavior {
+ Behavior on opacity {
NumberAnimation { duration: 1000 }
}
Text { id: myText; anchors.centerIn: parent; text: "Hello World!" }
diff --git a/demos/declarative/samegame/content/pics/background.png b/demos/declarative/samegame/SamegameCore/pics/background.png
index 3734a27744..3734a27744 100644
--- a/demos/declarative/samegame/content/pics/background.png
+++ b/demos/declarative/samegame/SamegameCore/pics/background.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/blueStar.png b/demos/declarative/samegame/SamegameCore/pics/blueStar.png
index ff9588f80a..ff9588f80a 100644
--- a/demos/declarative/samegame/content/pics/blueStar.png
+++ b/demos/declarative/samegame/SamegameCore/pics/blueStar.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/blueStone.png b/demos/declarative/samegame/SamegameCore/pics/blueStone.png
index 20e43c75b6..20e43c75b6 100644
--- a/demos/declarative/samegame/content/pics/blueStone.png
+++ b/demos/declarative/samegame/SamegameCore/pics/blueStone.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/greenStar.png b/demos/declarative/samegame/SamegameCore/pics/greenStar.png
index cd06854719..cd06854719 100644
--- a/demos/declarative/samegame/content/pics/greenStar.png
+++ b/demos/declarative/samegame/SamegameCore/pics/greenStar.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/greenStone.png b/demos/declarative/samegame/SamegameCore/pics/greenStone.png
index b568a1900c..b568a1900c 100644
--- a/demos/declarative/samegame/content/pics/greenStone.png
+++ b/demos/declarative/samegame/SamegameCore/pics/greenStone.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/redStar.png b/demos/declarative/samegame/SamegameCore/pics/redStar.png
index 0a4dffe583..0a4dffe583 100644
--- a/demos/declarative/samegame/content/pics/redStar.png
+++ b/demos/declarative/samegame/SamegameCore/pics/redStar.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/redStone.png b/demos/declarative/samegame/SamegameCore/pics/redStone.png
index 36b09a2686..36b09a2686 100644
--- a/demos/declarative/samegame/content/pics/redStone.png
+++ b/demos/declarative/samegame/SamegameCore/pics/redStone.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/star.png b/demos/declarative/samegame/SamegameCore/pics/star.png
index defbde53ca..defbde53ca 100644
--- a/demos/declarative/samegame/content/pics/star.png
+++ b/demos/declarative/samegame/SamegameCore/pics/star.png
Binary files differ
diff --git a/demos/declarative/samegame/content/pics/yellowStone.png b/demos/declarative/samegame/SamegameCore/pics/yellowStone.png
index b1ce76212c..b1ce76212c 100644
--- a/demos/declarative/samegame/content/pics/yellowStone.png
+++ b/demos/declarative/samegame/SamegameCore/pics/yellowStone.png
Binary files differ
diff --git a/demos/declarative/samegame/content/qmldir b/demos/declarative/samegame/SamegameCore/qmldir
index a8f8a98537..a8f8a98537 100644
--- a/demos/declarative/samegame/content/qmldir
+++ b/demos/declarative/samegame/SamegameCore/qmldir
diff --git a/demos/declarative/samegame/content/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js
index c0f10bdf00..1214b7937e 100755
--- a/demos/declarative/samegame/content/samegame.js
+++ b/demos/declarative/samegame/SamegameCore/samegame.js
@@ -4,7 +4,7 @@ var maxX = 10;//Nums are for gameCanvas.tileSize 40
var maxY = 15;
var maxIndex = maxX*maxY;
var board = new Array(maxIndex);
-var tileSrc = "content/BoomBlock.qml";
+var tileSrc = "SamegameCore/BoomBlock.qml";
var scoresURL = "http://qtfx-nokia.trolltech.com.au/samegame/scores.php";
var scoresURL = "";
var timer;
diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml
index 50f629371b..3b19cbe418 100644
--- a/demos/declarative/samegame/samegame.qml
+++ b/demos/declarative/samegame/samegame.qml
@@ -1,5 +1,5 @@
import Qt 4.6
-import "content"
+import SamegameCore 1.0
Rectangle {
id: screen
@@ -12,7 +12,7 @@ Rectangle {
Image {
id: background
- anchors.fill: parent; source: "content/pics/background.png"
+ anchors.fill: parent; source: "SamegameCore/pics/background.png"
fillMode: Image.PreserveAspectCrop
smooth: true
}
@@ -22,7 +22,7 @@ Rectangle {
property int score: 0
property int tileSize: 40
- Script { source: "content/samegame.js" }
+ Script { source: "SamegameCore/samegame.js" }
z: 20; anchors.centerIn: parent
width: parent.width - (parent.width % getTileSize());
@@ -39,7 +39,7 @@ Rectangle {
Dialog {
id: scoreName; anchors.centerIn: parent; z: 22;
property int initialWidth: 0
- width: Behavior{NumberAnimation{} enabled: initialWidth!=0}
+ Behavior on width {NumberAnimation{} enabled: initialWidth!=0}
Text {
id: spacer
anchors.left: scoreName.left
diff --git a/demos/declarative/snake/content/Cookie.qml b/demos/declarative/snake/content/Cookie.qml
index 7f0aadfe07..0ea95cbfd3 100644
--- a/demos/declarative/snake/content/Cookie.qml
+++ b/demos/declarative/snake/content/Cookie.qml
@@ -17,7 +17,7 @@ Item {
anchors.fill: parent
source: "pics/cookie.png"
opacity: 0
- opacity: Behavior { NumberAnimation { duration: 100 } }
+ Behavior on opacity { NumberAnimation { duration: 100 } }
Text {
font.bold: true
anchors.verticalCenter: parent.verticalCenter
diff --git a/demos/declarative/snake/content/Link.qml b/demos/declarative/snake/content/Link.qml
index 1b3f7bfc86..31ac4b9427 100644
--- a/demos/declarative/snake/content/Link.qml
+++ b/demos/declarative/snake/content/Link.qml
@@ -13,8 +13,8 @@ Item { id:link
x: margin - 3 + gridSize * column
y: margin - 3 + gridSize * row
- x: Behavior { NumberAnimation { duration: spawned ? heartbeatInterval : 0} }
- y: Behavior { NumberAnimation { duration: spawned ? heartbeatInterval : 0 } }
+ Behavior on x { NumberAnimation { duration: spawned ? heartbeatInterval : 0} }
+ Behavior on y { NumberAnimation { duration: spawned ? heartbeatInterval : 0 } }
Item {
@@ -35,7 +35,7 @@ Item { id:link
id: actualImageRotation
origin.x: width/2; origin.y: height/2;
angle: rotation * 90
- angle: Behavior{ NumberAnimation { duration: spawned ? 200 : 0} }
+ Behavior on angle { NumberAnimation { duration: spawned ? 200 : 0} }
}
}
@@ -44,7 +44,7 @@ Item { id:link
}
opacity: 0
- opacity: Behavior { NumberAnimation { duration: 200 } }
+ Behavior on opacity { NumberAnimation { duration: 200 } }
}
diff --git a/demos/declarative/snake/content/Skull.qml b/demos/declarative/snake/content/Skull.qml
index 585e7d335e..821996a227 100644
--- a/demos/declarative/snake/content/Skull.qml
+++ b/demos/declarative/snake/content/Skull.qml
@@ -9,11 +9,11 @@ Image {
x: margin + column * gridSize + 2
y: margin + row * gridSize - 3
- x: Behavior { NumberAnimation { duration: spawned ? halfbeatInterval : 0} }
- y: Behavior { NumberAnimation { duration: spawned ? halfbeatInterval : 0 } }
+ Behavior on x { NumberAnimation { duration: spawned ? halfbeatInterval : 0} }
+ Behavior on y { NumberAnimation { duration: spawned ? halfbeatInterval : 0 } }
opacity: spawned ? 1 : 0
- opacity: Behavior { NumberAnimation { duration: 200 } }
+ Behavior on opacity { NumberAnimation { duration: 200 } }
source: "pics/skull.png"
width: 24
diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js
index a65aebcc92..12176c70d2 100644
--- a/demos/declarative/snake/content/snake.js
+++ b/demos/declarative/snake/content/snake.js
@@ -54,7 +54,7 @@ function startNewGame()
} else {
if(linkComponent.isReady == false){
if(linkComponent.isError == true)
- print(linkComponent.errorString());
+ print(linkComponent.errorsString());
else
print("Still loading linkComponent");
continue;//TODO: Better error handling?
@@ -295,7 +295,7 @@ function createCookie(value) {
if(cookieComponent.isReady == false){
if(cookieComponent.isError == true)
- print(cookieComponent.errorString());
+ print(cookieComponent.errorsString());
else
print("Still loading cookieComponent");
return;//TODO: Better error handling?
diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml
index 09b6b7fa89..f9d02c7e0b 100644
--- a/demos/declarative/snake/snake.qml
+++ b/demos/declarative/snake/snake.qml
@@ -65,7 +65,7 @@ Rectangle {
anchors.fill: parent
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
- opacity: Behavior { NumberAnimation { duration: 500 } }
+ Behavior on opacity { NumberAnimation { duration: 500 } }
Text {
color: "white"
@@ -121,7 +121,7 @@ Rectangle {
Rectangle {
id: progressBar
opacity: 0
- opacity: Behavior { NumberAnimation { duration: 200 } }
+ Behavior on opacity { NumberAnimation { duration: 200 } }
color: "transparent"
border.width: 2
border.color: "#221edd"
@@ -137,7 +137,7 @@ Rectangle {
id: progressIndicator
color: "#221edd";
width: 0;
- width: Behavior { NumberAnimation { duration: startHeartbeatTimer.running ? 1000 : 0}}
+ Behavior on width { NumberAnimation { duration: startHeartbeatTimer.running ? 1000 : 0}}
height: 30;
}
}
diff --git a/demos/declarative/twitter/content/AuthView.qml b/demos/declarative/twitter/TwitterCore/AuthView.qml
index bcf4646bb2..bcf4646bb2 100644
--- a/demos/declarative/twitter/content/AuthView.qml
+++ b/demos/declarative/twitter/TwitterCore/AuthView.qml
diff --git a/demos/declarative/twitter/content/Button.qml b/demos/declarative/twitter/TwitterCore/Button.qml
index 4cba8c3219..4cba8c3219 100644
--- a/demos/declarative/twitter/content/Button.qml
+++ b/demos/declarative/twitter/TwitterCore/Button.qml
diff --git a/demos/declarative/twitter/content/FatDelegate.qml b/demos/declarative/twitter/TwitterCore/FatDelegate.qml
index 2b9288b5e8..0f013e609a 100644
--- a/demos/declarative/twitter/content/FatDelegate.qml
+++ b/demos/declarative/twitter/TwitterCore/FatDelegate.qml
@@ -37,7 +37,7 @@ Component {
+ '<a href="app://@'+userScreenName+'"><b>'+userScreenName + "</b></a> from " +source
+ "<br /><b>" + addTags(statusText) + "</b></html>";
textFormat: Qt.RichText
- color: "white"; color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrap: true
+ color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrap: true
anchors.left: whiteRect.right; anchors.right: blackRect.right; anchors.leftMargin: 6; anchors.rightMargin: 6
onLinkActivated: handleLink(link)
}
diff --git a/demos/declarative/twitter/content/HomeTitleBar.qml b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml
index a206c87524..a206c87524 100644
--- a/demos/declarative/twitter/content/HomeTitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml
diff --git a/demos/declarative/twitter/content/Loading.qml b/demos/declarative/twitter/TwitterCore/Loading.qml
index 315141525d..76bf64b0cb 100644
--- a/demos/declarative/twitter/content/Loading.qml
+++ b/demos/declarative/twitter/TwitterCore/Loading.qml
@@ -2,7 +2,7 @@ import Qt 4.6
Image {
id: loading; source: "images/loading.png"; transformOrigin: "Center"
- rotation: NumberAnimation {
+ NumberAnimation on rotation {
from: 0; to: 360; running: loading.visible == true; repeat: true; duration: 900
}
}
diff --git a/demos/declarative/twitter/content/MultiTitleBar.qml b/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
index e0205b8097..e0205b8097 100644
--- a/demos/declarative/twitter/content/MultiTitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
diff --git a/demos/declarative/twitter/content/RssModel.qml b/demos/declarative/twitter/TwitterCore/RssModel.qml
index 9d88bb7de3..9d88bb7de3 100644
--- a/demos/declarative/twitter/content/RssModel.qml
+++ b/demos/declarative/twitter/TwitterCore/RssModel.qml
diff --git a/demos/declarative/twitter/content/TitleBar.qml b/demos/declarative/twitter/TwitterCore/TitleBar.qml
index 149aa8268f..149aa8268f 100644
--- a/demos/declarative/twitter/content/TitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/TitleBar.qml
diff --git a/demos/declarative/twitter/content/ToolBar.qml b/demos/declarative/twitter/TwitterCore/ToolBar.qml
index f96c767d74..f96c767d74 100644
--- a/demos/declarative/twitter/content/ToolBar.qml
+++ b/demos/declarative/twitter/TwitterCore/ToolBar.qml
diff --git a/demos/declarative/twitter/content/UserModel.qml b/demos/declarative/twitter/TwitterCore/UserModel.qml
index c146b846a9..c146b846a9 100644
--- a/demos/declarative/twitter/content/UserModel.qml
+++ b/demos/declarative/twitter/TwitterCore/UserModel.qml
diff --git a/demos/declarative/twitter/content/images/gloss.png b/demos/declarative/twitter/TwitterCore/images/gloss.png
index 5d370cd93d..5d370cd93d 100644
--- a/demos/declarative/twitter/content/images/gloss.png
+++ b/demos/declarative/twitter/TwitterCore/images/gloss.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/lineedit.png b/demos/declarative/twitter/TwitterCore/images/lineedit.png
index 2cc38dc35b..2cc38dc35b 100644
--- a/demos/declarative/twitter/content/images/lineedit.png
+++ b/demos/declarative/twitter/TwitterCore/images/lineedit.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/lineedit.sci b/demos/declarative/twitter/TwitterCore/images/lineedit.sci
index 054bff78be..054bff78be 100644
--- a/demos/declarative/twitter/content/images/lineedit.sci
+++ b/demos/declarative/twitter/TwitterCore/images/lineedit.sci
diff --git a/demos/declarative/twitter/content/images/loading.png b/demos/declarative/twitter/TwitterCore/images/loading.png
index 47a1589c5d..47a1589c5d 100644
--- a/demos/declarative/twitter/content/images/loading.png
+++ b/demos/declarative/twitter/TwitterCore/images/loading.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/stripes.png b/demos/declarative/twitter/TwitterCore/images/stripes.png
index 9f36727ea4..9f36727ea4 100644
--- a/demos/declarative/twitter/content/images/stripes.png
+++ b/demos/declarative/twitter/TwitterCore/images/stripes.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/titlebar.png b/demos/declarative/twitter/TwitterCore/images/titlebar.png
index 51c90082d0..51c90082d0 100644
--- a/demos/declarative/twitter/content/images/titlebar.png
+++ b/demos/declarative/twitter/TwitterCore/images/titlebar.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/titlebar.sci b/demos/declarative/twitter/TwitterCore/images/titlebar.sci
index 0418d94cd6..0418d94cd6 100644
--- a/demos/declarative/twitter/content/images/titlebar.sci
+++ b/demos/declarative/twitter/TwitterCore/images/titlebar.sci
diff --git a/demos/declarative/twitter/content/images/toolbutton.png b/demos/declarative/twitter/TwitterCore/images/toolbutton.png
index 11310013ee..11310013ee 100644
--- a/demos/declarative/twitter/content/images/toolbutton.png
+++ b/demos/declarative/twitter/TwitterCore/images/toolbutton.png
Binary files differ
diff --git a/demos/declarative/twitter/content/images/toolbutton.sci b/demos/declarative/twitter/TwitterCore/images/toolbutton.sci
index 9e4f965307..9e4f965307 100644
--- a/demos/declarative/twitter/content/images/toolbutton.sci
+++ b/demos/declarative/twitter/TwitterCore/images/toolbutton.sci
diff --git a/demos/declarative/twitter/TwitterCore/qmldir b/demos/declarative/twitter/TwitterCore/qmldir
new file mode 100644
index 0000000000..8b56c56330
--- /dev/null
+++ b/demos/declarative/twitter/TwitterCore/qmldir
@@ -0,0 +1,10 @@
+AuthView 1.0 AuthView.qml
+Button 1.0 Button.qml
+FatDelegate 1.0 FatDelegate.qml
+HomeTitleBar 1.0 HomeTitleBar.qml
+Loading 1.0 Loading.qml
+MultiTitleBar 1.0 MultiTitleBar.qml
+TitleBar 1.0 TitleBar.qml
+RssModel 1.0 RssModel.qml
+UserModel 1.0 UserModel.qml
+ToolBar 1.0 ToolBar.qml
diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml
index b091b031a0..259f79a7bc 100644
--- a/demos/declarative/twitter/twitter.qml
+++ b/demos/declarative/twitter/twitter.qml
@@ -1,5 +1,5 @@
import Qt 4.6
-import "content" as Twitter
+import TwitterCore 1.0 as Twitter
Item {
id: screen; width: 320; height: 480
@@ -28,14 +28,14 @@ Item {
id: background
anchors.fill: parent; color: "#343434";
- Image { source: "content/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+ Image { source: "TwitterCore/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
Twitter.RssModel { id: rssModel }
Twitter.Loading { anchors.centerIn: parent; visible: rssModel.status==XmlListModel.Loading && state!='unauthed'}
Text {
width: 180
text: "Could not access twitter using this screen name and password pair.";
- color: "white"; color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrap: true
+ color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrap: true
visible: rssModel.status==XmlListModel.Error; anchors.centerIn: parent
}
diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml
index 76a5813f6e..30a5d78a98 100644
--- a/demos/declarative/webbrowser/content/FlickableWebView.qml
+++ b/demos/declarative/webbrowser/content/FlickableWebView.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Flickable {
property alias title: webView.title
@@ -22,6 +23,7 @@ Flickable {
WebView {
id: webView
pixelCacheSize: 4000000
+ transformOrigin: Item.TopLeft
Script {
function fixUrl(url)
diff --git a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
index 19b6acc322..d282209daf 100644
--- a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
+++ b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
@@ -85,7 +85,7 @@ Item {
font.bold: true
text: label
opacity: textEdit.text == '' ? 1 : 0
- opacity: Behavior {
+ Behavior on opacity {
NumberAnimation {
property: "opacity"
duration: 250
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
index 6a427f42d1..b6cccb07f7 100644
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ b/demos/declarative/webbrowser/webbrowser.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
import "content"
diff --git a/demos/demos.pro b/demos/demos.pro
index 91b4ed14f6..013d40f633 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -56,6 +56,7 @@ wince*:SUBDIRS += demos_sqlbrowser
contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
contains(QT_CONFIG, multimedia):SUBDIRS += demos_multimedia
+contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative
# install
sources.files = README *.pro
@@ -87,6 +88,7 @@ demos_undo.subdir = undo
demos_qtdemo.subdir = qtdemo
demos_mediaplayer.subdir = qmediaplayer
demos_multimedia.subdir = multimedia
+demos_declarative.subdir = declarative
demos_browser.subdir = browser
diff --git a/demos/interview/model.cpp b/demos/interview/model.cpp
index 3f9548a6cd..840bc605df 100644
--- a/demos/interview/model.cpp
+++ b/demos/interview/model.cpp
@@ -45,6 +45,7 @@
Model::Model(int rows, int columns, QObject *parent)
: QAbstractItemModel(parent),
+ services(QPixmap(":/images/services.png")),
rc(rows), cc(columns),
tree(new QVector<Node>(rows, Node(0)))
{
@@ -105,7 +106,6 @@ QVariant Model::data(const QModelIndex &index, int role) const
QVariant Model::headerData(int section, Qt::Orientation orientation, int role) const
{
- static QIcon services(QPixmap(":/images/services.png"));
if (role == Qt::DisplayRole)
return QString::number(section);
if (role == Qt::DecorationRole)
diff --git a/demos/interview/model.h b/demos/interview/model.h
index bad83a800c..c7c15f7ebc 100644
--- a/demos/interview/model.h
+++ b/demos/interview/model.h
@@ -44,6 +44,7 @@
#include <QAbstractItemModel>
#include <QFileIconProvider>
+#include <QIcon>
#include <QVector>
class Model : public QAbstractItemModel
@@ -80,6 +81,7 @@ private:
Node *parent(Node *child) const;
int row(Node *node) const;
+ QIcon services;
int rc, cc;
QVector<Node> *tree;
QFileIconProvider iconProvider;
diff --git a/demos/mainwindow/mainwindow.cpp b/demos/mainwindow/mainwindow.cpp
index 32066d761f..3ddb74b64b 100644
--- a/demos/mainwindow/mainwindow.cpp
+++ b/demos/mainwindow/mainwindow.cpp
@@ -329,7 +329,7 @@ void MainWindow::setupDockWidgets(const QMap<QString, QSize> &customSizeHints)
BlueTitleBar *titlebar = new BlueTitleBar(swatch);
swatch->setTitleBarWidget(titlebar);
connect(swatch, SIGNAL(topLevelChanged(bool)), titlebar, SLOT(updateMask()));
- connect(swatch, SIGNAL(featuresChanged(QDockWidget::DockWidgetFeatures)), titlebar, SLOT(updateMask()));
+ connect(swatch, SIGNAL(featuresChanged(QDockWidget::DockWidgetFeatures)), titlebar, SLOT(updateMask()), Qt::QueuedConnection);
#ifdef Q_WS_QWS
QPalette pal = palette();
diff --git a/demos/multimedia/player/player.cpp b/demos/multimedia/player/player.cpp
index 49d18cbbbb..af30a975f4 100644
--- a/demos/multimedia/player/player.cpp
+++ b/demos/multimedia/player/player.cpp
@@ -81,6 +81,22 @@ Player::Player(QWidget *parent)
connect(playlistView, SIGNAL(activated(QModelIndex)), this, SLOT(jump(QModelIndex)));
+ playbackModeBox = new QComboBox;
+ playbackModeBox->addItem(tr("Linear"),
+ QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Linear));
+ playbackModeBox->addItem(tr("Loop"),
+ QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Loop));
+ playbackModeBox->addItem(tr("Random"),
+ QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Random));
+ playbackModeBox->addItem(tr("Current Item Once"),
+ QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::CurrentItemOnce));
+ playbackModeBox->addItem(tr("Current Item In Loop"),
+ QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::CurrentItemInLoop));
+ playbackModeBox->setCurrentIndex(0);
+
+ connect(playbackModeBox, SIGNAL(activated(int)), SLOT(updatePlaybackMode()));
+ updatePlaybackMode();
+
slider = new QSlider(Qt::Horizontal);
slider->setRange(0, player->duration() / 1000);
@@ -126,12 +142,16 @@ Player::Player(QWidget *parent)
else
colorButton->setEnabled(false);
+ QBoxLayout *playlistLayout = new QVBoxLayout;
+ playlistLayout->addWidget(playlistView);
+ playlistLayout->addWidget(playbackModeBox);
+
QBoxLayout *displayLayout = new QHBoxLayout;
if (videoWidget)
displayLayout->addWidget(videoWidget, 2);
else
displayLayout->addWidget(coverLabel, 2);
- displayLayout->addWidget(playlistView);
+ displayLayout->addLayout(playlistLayout);
QBoxLayout *controlLayout = new QHBoxLayout;
controlLayout->setMargin(0);
@@ -333,3 +353,9 @@ void Player::showColorDialog()
}
colorDialog->show();
}
+
+void Player::updatePlaybackMode()
+{
+ playlist->setPlaybackMode(
+ playbackModeBox->itemData(playbackModeBox->currentIndex()).value<QMediaPlaylist::PlaybackMode>());
+}
diff --git a/demos/multimedia/player/player.h b/demos/multimedia/player/player.h
index 1de8b1a21d..cda3eb9d13 100644
--- a/demos/multimedia/player/player.h
+++ b/demos/multimedia/player/player.h
@@ -57,6 +57,7 @@ class QAbstractItemView;
class QLabel;
class QModelIndex;
class QSlider;
+class QComboBox;
class QMediaPlayer;
class QVideoWidget;
class PlaylistModel;
@@ -87,6 +88,7 @@ private slots:
void bufferingProgress(int progress);
void showColorDialog();
+ void updatePlaybackMode();
private:
void setTrackInfo(const QString &info);
@@ -97,6 +99,7 @@ private:
QVideoWidget *videoWidget;
QLabel *coverLabel;
QSlider *slider;
+ QComboBox *playbackModeBox;
PlaylistModel *playlistModel;
QAbstractItemView *playlistView;
QDialog *colorDialog;
diff --git a/demos/qtdemo/qtdemo.pro b/demos/qtdemo/qtdemo.pro
index 011ea0c416..2a776ace1d 100644
--- a/demos/qtdemo/qtdemo.pro
+++ b/demos/qtdemo/qtdemo.pro
@@ -3,8 +3,6 @@ TARGET = qtdemo
DEMO_DESTDIR = $$QT_BUILD_TREE
isEmpty(DEMO_DESTDIR):DEMO_DESTDIR=../..
DESTDIR = $$DEMO_DESTDIR/bin
-OBJECTS_DIR = .obj
-MOC_DIR = .moc
INSTALLS += target sources
diff --git a/demos/spreadsheet/spreadsheet.cpp b/demos/spreadsheet/spreadsheet.cpp
index 9693f3c047..f2a1738c89 100644
--- a/demos/spreadsheet/spreadsheet.cpp
+++ b/demos/spreadsheet/spreadsheet.cpp
@@ -70,6 +70,7 @@ SpreadSheet::SpreadSheet(int rows, int cols, QWidget *parent)
updateColor(0);
setupMenuBar();
setupContents();
+ setupContextMenu();
setCentralWidget(table);
statusBar();
diff --git a/demos/sqlbrowser/browser.cpp b/demos/sqlbrowser/browser.cpp
index 6aed73afd0..12324281cb 100644
--- a/demos/sqlbrowser/browser.cpp
+++ b/demos/sqlbrowser/browser.cpp
@@ -146,7 +146,7 @@ void Browser::showTable(const QString &t)
{
QSqlTableModel *model = new QSqlTableModel(table, connectionWidget->currentDatabase());
model->setEditStrategy(QSqlTableModel::OnRowChange);
- model->setTable(t);
+ model->setTable(connectionWidget->currentDatabase().driver()->escapeIdentifier(t, QSqlDriver::TableName));
model->select();
if (model->lastError().type() != QSqlError::NoError)
emit statusMessage(model->lastError().text());
diff --git a/dist/changes-4.5.4 b/dist/changes-4.5.4
index abaf4f029a..e60e5074e1 100644
--- a/dist/changes-4.5.4
+++ b/dist/changes-4.5.4
@@ -11,7 +11,7 @@ Applications compiled for 4.4 will continue to run with 4.5.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Task Tracker:
- http://www.qtsoftware.com/developer/task-tracker
+ http://qt.nokia.com/developer/task-tracker
Each of these identifiers can be entered in the task tracker to obtain more
information about a particular change.
diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0
index 013f1ce3cc..76fa7f875b 100644
--- a/dist/changes-4.7.0
+++ b/dist/changes-4.7.0
@@ -2,7 +2,7 @@ Qt 4.7 introduces many new features and improvements as well as bugfixes
over the 4.6.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:
- http://doc.trolltech.com/4.7
+ http://qt.nokia.com/doc/4.7
The Qt version 4.7 series is binary compatible with the 4.6.x series.
Applications compiled for 4.6 will continue to run with 4.7.
@@ -10,7 +10,7 @@ Applications compiled for 4.6 will continue to run with 4.7.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Task Tracker:
- http://www.qtsoftware.com/developer/task-tracker
+ http://qt.nokia.com/developer/task-tracker
Each of these identifiers can be entered in the task tracker to obtain more
information about a particular change.
@@ -30,6 +30,12 @@ General Improvements
Third party components
----------------------
+ - Updated libpng to version 1.4.0
+
+ - Updated libjpeg to version 8
+
+ - Updated libtiff to version 3.9.2
+
****************************************************************************
* Library *
diff --git a/doc/doc.pri b/doc/doc.pri
index aea5b08b8d..3d04049287 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -43,11 +43,11 @@ win32-g++:isEmpty(QMAKE_SH) {
# Build rules:
adp_docs.commands = ($$QDOC $$ADP_DOCS_QDOCCONF_FILE)
-adp_docs.depends += sub-tools # qdoc3
+adp_docs.depends += sub-qdoc3 # qdoc3
qch_docs.commands = $$QT_DOCUMENTATION
-qch_docs.depends += sub-tools
+qch_docs.depends += sub-qdoc3
-docs.depends = adp_docs qch_docs
+docs.depends = sub-qdoc3 adp_docs qch_docs
docs_zh_CN.depends = docs
docs_zh_CN.commands = $$QT_ZH_CN_DOCUMENTATION
@@ -64,5 +64,8 @@ qchdocs.CONFIG += no_check_exist
docimages.files = $$QT_BUILD_TREE/doc/src/images
docimages.path = $$[QT_INSTALL_DOCS]/src
-QMAKE_EXTRA_TARGETS += qdoc adp_docs qch_docs docs docs_zh_CN
+sub-qdoc3.depends = sub-corelib sub-xml
+sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
+
+QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN
INSTALLS += htmldocs qchdocs docimages
diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc
index b7d964c6f4..e420e6dd4d 100644
--- a/doc/src/declarative/advtutorial.qdoc
+++ b/doc/src/declarative/advtutorial.qdoc
@@ -106,6 +106,11 @@ more than just an image. Note that we've set the image to be the size of the ite
This will be used later, when we dynamically create and size the block items the image will be scaled automatically
to the correct size.
+Note that because there are several stages to this tutorial they share images. This is done by having a shared resources
+folder containing the images, and all stages of the tutorial refer to the same shared folder. This is the reason for the
+'../shared/pics' part of the image source. The image source can be any relative or absolute path, and it is relative to the
+location of the file the Image element is in, with ../ meaning to go up one level.
+
You should be familiar with all that goes on in these files so far. This is a
very basic start and doesn't move at all - next we will populate the game canvas
with some blocks.
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index c60847e266..6901947811 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -128,7 +128,7 @@
\brief A URL is a resource locator, like a file name.
A URL is a resource locator, like a file name. It can be either
- absolute, e.g. "http://qtsoftware.com", or relative, e.g.
+ absolute, e.g. "http://qt.nokia.com", or relative, e.g.
"pics/logo.png". A relative URL is resolved relative to the URL of
the component where the URL is converted from a JavaScript string
expression to a url property value.
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 1fd4dadbe5..67aadcfc49 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -71,9 +71,11 @@ The following table lists the QML elements provided by the Qt Declarative module
\o \l PropertyAnimation
\o \l NumberAnimation
\o \l ColorAnimation
+\o \l RotationAnimation
\o \l SequentialAnimation
\o \l ParallelAnimation
\o \l PauseAnimation
+\o \l ParentAnimation
\o \l PropertyAction
\o \l ParentAction
\o \l ScriptAction
@@ -91,8 +93,7 @@ The following table lists the QML elements provided by the Qt Declarative module
\o \l VisualDataModel
\o \l Package
\o \l XmlListModel and XmlRole
-\o \l DateTimeFormatter
-\o \l NumberFormatter
+\o \l WorkerListModel
\endlist
\o
@@ -102,6 +103,7 @@ The following table lists the QML elements provided by the Qt Declarative module
\o \l Component
\o \l Timer
\o \l QtObject
+\o \l WorkerScript
\endlist
\endtable
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index c718a6d3a3..4b1c7d3fcc 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -87,6 +87,82 @@ This function returns a Point with the specified \c x and \c y coordinates.
This function returns as Size with the specified \c width and \c height.
\section3 Qt.vector3d(real x, real y, real z)
This function returns a Vector3D with the specified \c x, \c y and \c z.
+
+\section2 Formatters
+The Qt object contains several functions for formatting dates and times.
+
+\section3 Qt.formatDate(datetime date, variant format)
+This function returns the string representation of \c date, formatted according to \c format.
+\section3 Qt.formatTime(datetime time, variant format)
+This function returns the string representation of \c time, formatted according to \c format.
+\section3 Qt.formatDateTime(datetime dateTime, variant format)
+This function returns the string representation of \c dateTime, formatted according to \c format.
+
+\c format for the above formatting functions can be specified as follows.
+
+ These expressions may be used for the date:
+
+ \table
+ \header \i Expression \i Output
+ \row \i d \i the day as number without a leading zero (1 to 31)
+ \row \i dd \i the day as number with a leading zero (01 to 31)
+ \row \i ddd
+ \i the abbreviated localized day name (e.g. 'Mon' to 'Sun').
+ Uses QDate::shortDayName().
+ \row \i dddd
+ \i the long localized day name (e.g. 'Monday' to 'Qt::Sunday').
+ Uses QDate::longDayName().
+ \row \i M \i the month as number without a leading zero (1-12)
+ \row \i MM \i the month as number with a leading zero (01-12)
+ \row \i MMM
+ \i the abbreviated localized month name (e.g. 'Jan' to 'Dec').
+ Uses QDate::shortMonthName().
+ \row \i MMMM
+ \i the long localized month name (e.g. 'January' to 'December').
+ Uses QDate::longMonthName().
+ \row \i yy \i the year as two digit number (00-99)
+ \row \i yyyy \i the year as four digit number
+ \endtable
+
+ These expressions may be used for the time:
+
+ \table
+ \header \i Expression \i Output
+ \row \i h
+ \i the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
+ \row \i hh
+ \i the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
+ \row \i m \i the minute without a leading zero (0 to 59)
+ \row \i mm \i the minute with a leading zero (00 to 59)
+ \row \i s \i the second without a leading zero (0 to 59)
+ \row \i ss \i the second with a leading zero (00 to 59)
+ \row \i z \i the milliseconds without leading zeroes (0 to 999)
+ \row \i zzz \i the milliseconds with leading zeroes (000 to 999)
+ \row \i AP
+ \i use AM/PM display. \e AP will be replaced by either "AM" or "PM".
+ \row \i ap
+ \i use am/pm display. \e ap will be replaced by either "am" or "pm".
+ \endtable
+
+ All other input characters will be ignored. Any sequence of characters that
+ are enclosed in singlequotes will be treated as text and not be used as an
+ expression. Two consecutive singlequotes ("''") are replaced by a singlequote
+ in the output.
+
+ Example format strings (assumed that the date and time is 21 May 2001
+ 14:13:09):
+
+ \table
+ \header \i Format \i Result
+ \row \i dd.MM.yyyy \i 21.05.2001
+ \row \i ddd MMMM d yy \i Tue May 21 01
+ \row \i hh:mm:ss.zzz \i 14:13:09.042
+ \row \i h:m:s ap \i 2:13:9 pm
+ \endtable
+
+If no format is specified the locale's short format is used. Alternatively, you can specify
+\c Qt.DefaultLocaleLongDate to get the locale's long format.
+
\section2 Functions
The Qt object also contains the following miscellaneous functions which expose Qt functionality for use in QML.
@@ -119,9 +195,6 @@ while the following would rotate myItem clockwise from 350 degrees to 370 degree
NumberAnimation { target: myItem; property: "rotation"; from: 350; to: Qt.closetAngle(350, 10) }
\endqml
-\section3 Qt.playSound(url soundLocation)
-This function plays the audio file located at \c soundLocation. Only .wav files are supported.
-
\section3 Qt.openUrlExternally(url target)
This function attempts to open the specified \c target url in an external application, based on the user's desktop preferences. It will return true if it succeeds, and false otherwise.
diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc
index 98efe12a14..310b7767b3 100644
--- a/doc/src/declarative/tutorial.qdoc
+++ b/doc/src/declarative/tutorial.qdoc
@@ -173,10 +173,10 @@ In this case the rectangle will have the same size as its parent (see \l{anchor-
\snippet examples/declarative/tutorials/helloworld/Cell.qml 3
-In order to change the color of the text when clicking on a cell, we create a \l MouseRegion element with
+In order to change the color of the text when clicking on a cell, we create a \l MouseArea element with
the same size as its parent.
-A \l MouseRegion defines a signal called \e clicked.
+A \l MouseArea defines a signal called \e clicked.
When this signal is triggered we want to emit our own \e clicked signal with the color as parameter.
\section2 The main QML file
@@ -214,7 +214,7 @@ Here is the QML code:
\snippet examples/declarative/tutorials/helloworld/tutorial3.qml 2
First, we create a new \e down state for our text element.
-This state will be activated when the \l MouseRegion is pressed, and deactivated when it is released.
+This state will be activated when the \l MouseArea is pressed, and deactivated when it is released.
The \e down state includes a set of property changes from our implicit \e {default state}
(the items as they were initially defined in the QML).
diff --git a/doc/src/development/developing-on-mac.qdoc b/doc/src/development/developing-on-mac.qdoc
index 20eefb7200..1eb829eab8 100644
--- a/doc/src/development/developing-on-mac.qdoc
+++ b/doc/src/development/developing-on-mac.qdoc
@@ -72,10 +72,10 @@
Carbon Qt can be developed on and deployed to 10.4, but there is no 64-bit
support.
- With Qt 4.7 we now reccommend using the Cocoa version of Qt for developement,
+ With Qt 4.7 we now recommend using the Cocoa version of Qt for development,
unless you want to target the 10.4 platform. Qt now uses Cocoa by default,
both for the binary package and when configuring from source. Download the
- Carbon binarypackages or configure with "-carbon" to use that version.
+ Carbon binary packages or configure with "-carbon" to use that version.
There are two versions of the Qt binary, one with x86 and x86_64
Cocoa and another with x86 and ppc Carbon. If you want a different setup
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index c314eb8936..1a34a6cb77 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -2972,6 +2972,34 @@ For example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 51
+ It is possible to modify this default behavior of \c SUBDIRS by giving
+ additional modifiers to \c SUBDIRS elements. Supported modifiers are:
+
+ \table
+ \header \o Modifier \o Effect
+ \row \o .subdir \o Use the specified subdirectory instead of \c SUBDIRS value.
+ \row \o .file \o Specify the subproject \c pro file explicitly. Cannot be
+ used in conjunction with \c .subdir modifier.
+ \row \o .condition \o Specifies a \c bld.inf define that must be true for
+ subproject to be built. Available only on Symbian platform.
+ \row \o .depends \o This subproject depends on specified subproject.
+ Available only on platforms that use makefiles.
+ \row \o .makefile \o The makefile of subproject.
+ Available only on platforms that use makefiles.
+ \row \o .target \o Base string used for makefile targets related to this
+ subproject.
+ Available only on platforms that use makefiles.
+ \endtable
+
+ For example, define two subdirectories, both of which reside in a different directory
+ than the \c SUBDIRS value, and one of the subdirectories must be built before the other:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 149
+
+ For example, define a subdirectory that is only build for emulator builds in Qt for Symbian:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 150
+
\target TARGET
\section1 TARGET
diff --git a/doc/src/examples/svgalib.qdoc b/doc/src/examples/svgalib.qdoc
index cf6512c12a..91421125b5 100644
--- a/doc/src/examples/svgalib.qdoc
+++ b/doc/src/examples/svgalib.qdoc
@@ -43,9 +43,6 @@
\example qws/svgalib
\title Accelerated Graphics Driver Example
- \warning This example was designed to work with Qt 4.4 and will not work
- with current versions of Qt. It will be removed from Qt 4.7.
-
The Accelerated Graphics Driver example shows how you can write
your own accelerated graphics driver and \l {add your graphics
driver to Qt for Embedded Linux}. In \l{Qt for Embedded Linux},
diff --git a/doc/src/frameworks-technologies/containers.qdoc b/doc/src/frameworks-technologies/containers.qdoc
index 86920fdde0..505b65c987 100644
--- a/doc/src/frameworks-technologies/containers.qdoc
+++ b/doc/src/frameworks-technologies/containers.qdoc
@@ -612,11 +612,14 @@
Qt automatically takes a copy of the container when it enters a
\c foreach loop. If you modify the container as you are
- iterating, that won't affect the loop. (If you don't modify the
+ iterating, that won't affect the loop. (If you do not modify the
container, the copy still takes place, but thanks to \l{implicit
- sharing} copying a container is very fast.) Similarly, declaring
- the variable to be a non-const reference, in order to modify the
- current item in the list will not work either.
+ sharing} copying a container is very fast.)
+
+ Since foreach creates a copy of the container, using a non-const
+ reference for the variable does not allow you to modify the original
+ container. It only affects the copy, which is probably not what you
+ want.
In addition to \c foreach, Qt also provides a \c forever
pseudo-keyword for infinite loops:
diff --git a/doc/src/images/quick_screens.png b/doc/src/images/quick_screens.png
new file mode 100644
index 0000000000..76b25d9df2
--- /dev/null
+++ b/doc/src/images/quick_screens.png
Binary files differ
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 9e1d3403c1..76a52b4289 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -130,6 +130,7 @@
/*!
\module QtMultimedia
+ \page qtmultimedia-module.html
\title QtMultimedia Module
\contentspage All Qt Modules
\previouspage QtCore
diff --git a/doc/src/platforms/emb-pointer.qdoc b/doc/src/platforms/emb-pointer.qdoc
index 34510dad44..3c37b63d40 100644
--- a/doc/src/platforms/emb-pointer.qdoc
+++ b/doc/src/platforms/emb-pointer.qdoc
@@ -154,9 +154,9 @@
in the build environment.
The tslib sources can be downloaded from \l
- http://tslib.berlios.de. Use the \c configure script's -L and
- -I options to explicitly specify the location of the library and
- its headers:
+ http://tslib.berlios.de. Specify the location of the library and
+ its headers using -L and -I options in the \c qmake.conf file in
+ your \c mkspec. Also it can be helpful to add a -rpath-link:
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 7
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index a18bc13984..ba9821a957 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -473,6 +473,31 @@
\section1 Declarative UI development with Qt Quick
+ \image quick_screens.png
+
+ Qt 4.7 introduces Quick, the Qt UI Creation Kit. that enables the creation
+ of dynamic user interfaces, easier and more effective than possible
+ with existing UI technologies. This UI Creation Kit consist of three
+ technologies:
+
+ \list
+ \i QML is a declarative language oriented on JavaScript that utilizes
+ Qt's Meta-Object capabilities to enable designers and developers to
+ collaborate tightly and create animated and fluid user experiences,
+ using existing knowledge in script language and design.
+
+ \i QtDeclarative is a C++ library that provides the underlying engine,
+ which translates the declarative description of the UI in QML into
+ items on a QGraphicsScene. The library also provides APIs to bind
+ custom C++ types and elements to QML, and to connect the QML UI with
+ the underlying application logic written in C++.
+
+ \i Qt Creator has been improved to support interactive editing of
+ QML UIs through drag-and-drop. The text editor supports the QML
+ syntax and provides authoring assistance such as auto-completion,
+ error lookup, help lookup and easy preview of QML UI's.
+ \endlist
+
\section1 Network Bearer Management
Bearer Management controls the connectivity state of the system.
@@ -483,11 +508,18 @@
QNetworkAccessManager uses this API for HTTP level roaming.
- \section1 Multimedia - playback and playlist management
+ \section1 Multimedia - playback and declarative elements
+
+ The Multimedia API provides media playback and playlist support
+ for Qt Applications. Play music and movies through a single interface
+ with selectable output for movies to widgets or graphics view.
+
+ Multimedia support for Quick is also available with the new multimedia
+ declarative elements.
\section1 New Classes, Functions, Macros, etc.
- Links to new classes, functions, macros, and other items
+ Links to new classes, elements, functions, macros, and other items
introduced in Qt 4.7.
\sincelist 4.7
diff --git a/doc/src/snippets/code/doc_src_emb-pointer.qdoc b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
index 9661ae518a..0d66e18164 100644
--- a/doc/src/snippets/code/doc_src_emb-pointer.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
@@ -77,7 +77,10 @@ export QWS_MOUSE_PROTO="Vr41xx:press=500:/dev/misc/ts"
//! [7]
-./configure -L <path to tslib library> -I <path to tslib headers>
+....
+QMAKE_CFLAGS += -I<path to tslib headers>
+QMAKE_LFLAGS += -L<path to tslib library> -Wl,-rpath-link=<path to tslib library>
+....
//! [7]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
index 5a04420ff6..e8c00d3b88 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
@@ -982,3 +982,17 @@ MYVARIABLES = LIB
addMMPRules(MYCONDITIONS, MYVARIABLES)
//! [148]
+
+//! [149]
+SUBDIRS += my_executable my_library
+my_executable.subdir = app
+my_executable.depends = my_library
+my_library.subdir = lib
+//! [149]
+
+//! [150]
+symbian {
+ SUBDIRS += emulator_dll
+ emulator_dll.condition = WINSCW
+}
+//! [150]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp b/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp
index bff72a0f24..19e37bad25 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp
@@ -108,3 +108,8 @@ int id = qRegisterMetaType<MyStruct>();
int id = qMetaTypeId<QString>(); // id is now QMetaType::QString
id = qMetaTypeId<MyStruct>(); // compile error if MyStruct not declared
//! [8]
+
+//! [9]
+typedef QString CustomString;
+qRegisterMetaType<CustomString>("CustomString");
+//! [9]
diff --git a/doc/src/snippets/declarative/GroupBox.qml b/doc/src/snippets/declarative/GroupBox.qml
deleted file mode 100644
index 6c5431e6d4..0000000000
--- a/doc/src/snippets/declarative/GroupBox.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.6
-
-ContentWrapper {
- id: container; width: parent.width; height: contents.height
- children: [
- Rectangle {
- width: parent.width; height: contents.height
- color: "white"; pen.width: 2; pen.color: "#adaeb0"; radius: 10
- Column {
- id: layout; width: parent.width; margin: 5; spacing: 2
- Content { }
- }
- }
- ]
-}
diff --git a/doc/src/snippets/declarative/content.qml b/doc/src/snippets/declarative/content.qml
deleted file mode 100644
index fb03cedfde..0000000000
--- a/doc/src/snippets/declarative/content.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import Qt 4.6
-
-Rectangle {
- width: 200; height: 100; color: "lightgray"
- GroupBox {
- Text { text: "First Item" }
- Text { text: "Second Item" }
- }
-}
diff --git a/doc/src/snippets/declarative/listview/highlight.qml b/doc/src/snippets/declarative/listview/highlight.qml
index b016f9af9a..6a9d215dae 100644
--- a/doc/src/snippets/declarative/listview/highlight.qml
+++ b/doc/src/snippets/declarative/listview/highlight.qml
@@ -30,7 +30,7 @@ Rectangle {
}
]
transitions: [
- Transition { NumberAnimation { matchProperties: "x"; duration: 200 } }
+ Transition { NumberAnimation { properties: "x"; duration: 200 } }
]
}
}
@@ -44,7 +44,7 @@ Rectangle {
Rectangle {
width: 180; height: 40
color: "lightsteelblue"; radius: 5
- y: SpringFollow {
+ SpringFollow on y {
source: list.currentItem.y
spring: 3
damping: 0.2
diff --git a/doc/src/snippets/declarative/mouseregion.qml b/doc/src/snippets/declarative/mouseregion.qml
index 79f8f8fc95..fc6c8f04a4 100644
--- a/doc/src/snippets/declarative/mouseregion.qml
+++ b/doc/src/snippets/declarative/mouseregion.qml
@@ -1,7 +1,7 @@
import Qt 4.6
Rectangle { width: 200; height: 100
-HorizontalLayout {
+Row {
//! [0]
Rectangle { width: 100; height: 100; color: "green"
MouseArea { anchors.fill: parent; onClicked: { parent.color = 'red' } }
diff --git a/doc/src/snippets/declarative/pathview/pathattributes.qml b/doc/src/snippets/declarative/pathview/pathattributes.qml
index 19a192ceb9..99d0de2b8e 100644
--- a/doc/src/snippets/declarative/pathview/pathattributes.qml
+++ b/doc/src/snippets/declarative/pathview/pathattributes.qml
@@ -13,7 +13,7 @@ Rectangle {
opacity: PathView.opacity
Column {
Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
- Text { id: name; text: name; font.pointSize: 16}
+ Text { text: name; font.pointSize: 16}
}
}
}
diff --git a/doc/src/snippets/declarative/pathview/pathview.qml b/doc/src/snippets/declarative/pathview/pathview.qml
index 5605139783..e316578b17 100644
--- a/doc/src/snippets/declarative/pathview/pathview.qml
+++ b/doc/src/snippets/declarative/pathview/pathview.qml
@@ -11,7 +11,7 @@ Rectangle {
width: 80; height: 80
Column {
Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
- Text { id: name; text: name; font.pointSize: 16}
+ Text { text: name; font.pointSize: 16}
}
}
}
diff --git a/examples/declarative/anchors/anchor-changes.qml b/examples/declarative/anchors/anchor-changes.qml
deleted file mode 100644
index 99ca3db659..0000000000
--- a/examples/declarative/anchors/anchor-changes.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-import Qt 4.6
-
-Item {
- id: window
- width: 200; height: 450
-
- Rectangle {
- id: titleBar; color: "Gray"
- anchors.top: parent.top; height: 50
- width: parent.width
- }
-
- Rectangle {
- id: statusBar; color: "Gray"
- height: 50; anchors.bottom: parent.bottom
- width: parent.width
- }
-
- Rectangle {
- id: content
- anchors.top: titleBar.bottom; anchors.bottom: statusBar.top
- width: parent.width
-
- Text { text: "Top"; anchors.top: parent.top }
- Text { text: "Bottom"; anchors.bottom: parent.bottom }
- }
-
- MouseArea {
- anchors.fill: content
- onPressed: window.state = "FullScreen"
- onReleased: window.state = ""
- }
-
- states : State {
- name: "FullScreen"
- //! [0]
- AnchorChanges {
- target: content; top: window.top; bottom: window.bottom
- }
- //! [0]
- }
-
- transitions : Transition {
- NumberAnimation { properties: "y,height" }
- }
-}
diff --git a/examples/declarative/animations/color-animation.qml b/examples/declarative/animations/color-animation.qml
index 7171a694ea..674052281e 100644
--- a/examples/declarative/animations/color-animation.qml
+++ b/examples/declarative/animations/color-animation.qml
@@ -10,7 +10,7 @@ Item {
gradient: Gradient {
GradientStop {
position: 0.0
- color: SequentialAnimation {
+ SequentialAnimation on color {
repeat: true
ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
@@ -18,7 +18,7 @@ Item {
}
GradientStop {
position: 1.0
- color: SequentialAnimation {
+ SequentialAnimation on color {
repeat: true
ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
@@ -31,7 +31,7 @@ Item {
Item {
width: parent.width; height: 2 * parent.height
transformOrigin: Item.Center
- rotation: NumberAnimation { from: 0; to: 360; duration: 10000; repeat: true }
+ NumberAnimation on rotation { from: 0; to: 360; duration: 10000; repeat: true }
Image {
source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
transformOrigin: Item.Center; rotation: -3 * parent.rotation
@@ -44,7 +44,7 @@ Item {
x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
source: "images/star.png"; angleDeviation: 360; velocity: 0
velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
- opacity: SequentialAnimation {
+ SequentialAnimation on opacity {
repeat: true
NumberAnimation { from: 0; to: 1; duration: 5000 }
NumberAnimation { from: 1; to: 0; duration: 5000 }
@@ -58,7 +58,7 @@ Item {
gradient: Gradient {
GradientStop {
position: 0.0
- color: SequentialAnimation {
+ SequentialAnimation on color {
repeat: true
ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
diff --git a/examples/declarative/animations/property-animation.qml b/examples/declarative/animations/property-animation.qml
index 537ee2685d..4428f34e7d 100644
--- a/examples/declarative/animations/property-animation.qml
+++ b/examples/declarative/animations/property-animation.qml
@@ -42,7 +42,7 @@ Item {
// Animate the y property. Setting repeat to true makes the
// animation repeat indefinitely, otherwise it would only run once.
- y: SequentialAnimation {
+ SequentialAnimation on y {
repeat: true
// Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
diff --git a/examples/declarative/aspectratio/face_fit_animated.qml b/examples/declarative/aspectratio/face_fit_animated.qml
index 90ea516991..79e99e9cbb 100644
--- a/examples/declarative/aspectratio/face_fit_animated.qml
+++ b/examples/declarative/aspectratio/face_fit_animated.qml
@@ -18,7 +18,7 @@ Rectangle {
source: "pics/face.png"
x: (parent.width-width*scale)/2
y: (parent.height-height*scale)/2
- scale: SpringFollow {
+ SpringFollow on scale {
source: Math.max(Math.min(face.parent.width/face.width*1.333,face.parent.height/face.height),
Math.min(face.parent.width/face.width,face.parent.height/face.height*1.333))
spring: 1
diff --git a/examples/declarative/behaviours/MyRect.qml b/examples/declarative/behaviours/MyRect.qml
deleted file mode 100644
index caf0d83785..0000000000
--- a/examples/declarative/behaviours/MyRect.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import Qt 4.6
-
-Rectangle {
- radius: 15
- border.color: "black"
- width: 100
- height: 100
- id: page
- MouseArea {
- anchors.fill: parent
- onClicked: { bluerect.parent = page; bluerect.x=0 }
- }
-}
diff --git a/examples/declarative/behaviours/behavior.qml b/examples/declarative/behaviours/behavior.qml
index 2732c0a79a..c84bf62e75 100644
--- a/examples/declarative/behaviours/behavior.qml
+++ b/examples/declarative/behaviours/behavior.qml
@@ -50,12 +50,12 @@ Rectangle {
radius: 5
border.width: 10; border.color: "white";
x: 100-37; y: 100-25
- x: Behavior { NumberAnimation { duration: 300 } }
- y: Behavior { NumberAnimation { duration: 300 } }
+ Behavior on x { NumberAnimation { duration: 300 } }
+ Behavior on y { NumberAnimation { duration: 300 } }
Text {
id: focusText
text: focusRect.text;
- text: Behavior {
+ Behavior on text {
SequentialAnimation {
NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
PropertyAction {}
diff --git a/examples/declarative/behaviours/test.qml b/examples/declarative/behaviours/test.qml
deleted file mode 100644
index 8fffd598c0..0000000000
--- a/examples/declarative/behaviours/test.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-import Qt 4.6
-
-Rectangle {
- color: "lightsteelblue"
- width: 800
- height: 600
- id: page
- MouseArea {
- anchors.fill: parent
- onClicked: { bluerect.parent = page; console.log(mouseX); bluerect.x = mouseX; }
- }
- MyRect {
- color: "green"
- x: 200
- y: 200
- }
- MyRect {
- color: "red"
- x: 400
- y: 200
- }
- MyRect {
- color: "yellow"
- x: 400
- y: 400
- }
- MyRect {
- color: "orange"
- x: 400
- y: 500
- }
- MyRect {
- color: "pink"
- x: 400
- y: 0
- }
- MyRect {
- color: "lightsteelblue"
- x: 100
- y: 500
- }
- MyRect {
- color: "black"
- x: 0
- y: 200
- }
- MyRect {
- color: "white"
- x: 400
- y: 0
- }
- Rectangle {
- color: "blue"
- x: 0
- y: 0
- width: 100
- height: 100
- id: bluerect
- x: Behavior {
- ParallelAnimation {
- SequentialAnimation {
- NumberAnimation {
- target: bluerect
- property: "y"
- from: 0
- to: 10
- easing.type: "OutBounce"
- easing.amplitude: 30
- duration: 250
- }
- NumberAnimation {
- target: bluerect
- property: "y"
- from: 10
- to: 0
- easing.type: "OutBounce"
- easing.amplitude: 30
- duration: 250
- }
- }
- NumberAnimation { duration: 500 }
- }
- }
- parent: Behavior {
- SequentialAnimation {
- NumberAnimation {
- target: bluerect
- property: "opacity"
- to: 0
- duration: 150
- }
- PropertyAction {}
- NumberAnimation {
- target: bluerect
- property: "opacity"
- to: 1
- duration: 150
- }
- }
- }
- }
-}
diff --git a/examples/declarative/border-image/content/MyBorderImage.qml b/examples/declarative/border-image/content/MyBorderImage.qml
index ca886e9c89..5621e18bef 100644
--- a/examples/declarative/border-image/content/MyBorderImage.qml
+++ b/examples/declarative/border-image/content/MyBorderImage.qml
@@ -17,13 +17,13 @@ Item {
BorderImage {
id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2
- width: SequentialAnimation {
+ SequentialAnimation on width {
repeat: true
NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"}
NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" }
}
- height: SequentialAnimation {
+ SequentialAnimation on height {
repeat: true
NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"}
NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" }
diff --git a/examples/declarative/clocks/content/Clock.qml b/examples/declarative/clocks/content/Clock.qml
index 0c6836fc43..75a1cf575b 100644
--- a/examples/declarative/clocks/content/Clock.qml
+++ b/examples/declarative/clocks/content/Clock.qml
@@ -34,7 +34,7 @@ Item {
transform: Rotation {
id: hourRotation
origin.x: 7.5; origin.y: 73; angle: 0
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 2; damping: 0.2; modulus: 360
source: (clock.hours * 30) + (clock.minutes * 0.5)
}
@@ -48,7 +48,7 @@ Item {
transform: Rotation {
id: minuteRotation
origin.x: 6.5; origin.y: 83; angle: 0
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 2; damping: 0.2; modulus: 360
source: clock.minutes * 6
}
@@ -62,7 +62,7 @@ Item {
transform: Rotation {
id: secondRotation
origin.x: 2.5; origin.y: 80; angle: 0
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 5; damping: 0.25; modulus: 360
source: clock.seconds * 6
}
diff --git a/examples/declarative/colorbrowser/colorbrowser.qml b/examples/declarative/colorbrowser/colorbrowser.qml
new file mode 100644
index 0000000000..421ae07c9c
--- /dev/null
+++ b/examples/declarative/colorbrowser/colorbrowser.qml
@@ -0,0 +1,101 @@
+import Qt 4.6
+import 'qml'
+
+Rectangle {
+ id: mainWindow
+ width: 800; height: 480; color: '#454545'
+
+ VisualDataModel { id: colorsVisualModel; delegate: colorsDelegate; model: ColorsModel }
+
+ Component {
+ id: colorsDelegate
+ Package {
+
+ Item {
+ Package.name: 'grid'
+ GridView {
+ id: gridView; model: visualModel.parts.grid; width: mainWindow.width; height: mainWindow.height
+ cellWidth: 160; cellHeight: 160; interactive: false
+ onCurrentIndexChanged: listView.positionViewAtIndex(currentIndex)
+ }
+ }
+
+ Item {
+ Package.name: 'fullscreen'
+ ListView {
+ id: listView; model: visualModel.parts.list; orientation: Qt.Horizontal
+ width: mainWindow.width; height: mainWindow.height; interactive: false
+ onCurrentIndexChanged: gridView.positionViewAtIndex(currentIndex)
+ highlightRangeMode: ListView.StrictlyEnforceRange; snapMode: ListView.SnapOneItem
+ }
+ }
+
+ Item {
+ Package.name: 'stack'
+ id: wrapper
+ width: 260; height: 240
+
+ VisualDataModel { id: visualModel; model: colors; delegate: ColorDelegate {} }
+
+ PathView {
+ id: pathView; model: visualModel.parts.stack; anchors.centerIn: parent
+ pathItemCount: 3
+ path: Path {
+ PathAttribute { name: 'z'; value: 9999.0 }
+ PathLine { x: 1; y: 1 }
+ PathAttribute { name: 'z'; value: 0.0 }
+ }
+ }
+
+ Item {
+ anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.bottomMargin: 20
+ width: albumTitle.width + 20 ; height: albumTitle.height + 4
+ Text { id: albumTitle; text: name; color: 'white'; font.bold: true; anchors.centerIn: parent }
+ }
+
+ MouseArea { anchors.fill: parent; onClicked: wrapper.state = 'inGrid' }
+
+ states: [
+ State {
+ name: 'inGrid'
+ PropertyChanges { target: gridView; interactive: true }
+ PropertyChanges { target: shade; opacity: 1 }
+ },
+ State {
+ name: 'fullscreen'; extend: 'inGrid'
+ PropertyChanges { target: gridView; interactive: false }
+ PropertyChanges { target: listView; interactive: true }
+ PropertyChanges { target: infobox; opacity: 1 }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ from: ''; to: 'inGrid'; reversible: true
+ NumberAnimation { target: shade; properties: 'opacity'; duration: 300 }
+ },
+ Transition {
+ from: 'inGrid'; to: 'fullscreen'; reversible: true
+ SequentialAnimation {
+ PauseAnimation { duration: 300 }
+ NumberAnimation { target: infobox; properties: 'opacity'; duration: 300 }
+ }
+ }
+ ]
+ }
+ }
+ }
+
+ GridView { width: parent.width; height: parent.height; cellWidth: 260; cellHeight: 240; model: colorsVisualModel.parts.stack }
+ Rectangle { id: shade; color: '#454545'; width: parent.width; height: parent.height; opacity: 0 }
+ ListView { anchors.fill: parent; model: colorsVisualModel.parts.grid; interactive: false }
+ ListView { anchors.fill: parent; model: colorsVisualModel.parts.fullscreen; interactive: false }
+ Item { id: foreground; anchors.fill: parent }
+
+ Column {
+ id: infobox; opacity: 0
+ anchors { left: parent.left; leftMargin: 20; bottom: parent.bottom; bottomMargin: 20 }
+ Text { id: infoColorName; color: '#eeeeee'; style: Text.Outline; styleColor: '#222222'; font.pointSize: 18 }
+ Text { id: infoColorHex; color: '#eeeeee'; style: Text.Outline; styleColor: '#222222'; font.pointSize: 14 }
+ }
+}
diff --git a/examples/declarative/colorbrowser/dummydata/ColorsModel.qml b/examples/declarative/colorbrowser/dummydata/ColorsModel.qml
new file mode 100644
index 0000000000..eefbcfee71
--- /dev/null
+++ b/examples/declarative/colorbrowser/dummydata/ColorsModel.qml
@@ -0,0 +1,96 @@
+import Qt 4.6
+
+ListModel {
+ id: colorsModel
+
+ ListElement {
+ name: "Reds"
+ colors: [
+ ListElement { name: "Fire Brick"; hex: "#B22222" },
+ ListElement { name: "Fire Brick 1"; hex: "#FF3030" },
+ ListElement { name: "Fire Brick 2"; hex: "#EE2C2C" },
+ ListElement { name: "Fire Brick 3"; hex: "#CD2626" },
+ ListElement { name: "Fire Brick 4"; hex: "#8B1A1A" },
+ ListElement { name: "Red"; hex: "#FF0000" },
+ ListElement { name: "Red 2"; hex: "#EE0000" },
+ ListElement { name: "Red 3"; hex: "#CD0000" },
+ ListElement { name: "Red 4"; hex: "#8B0000" },
+ ListElement { name: "Tomato"; hex: "#FF6347" },
+ ListElement { name: "Tomato 2"; hex: "#EE5C42" },
+ ListElement { name: "Tomato 3"; hex: "#CD4F39" },
+ ListElement { name: "Tomato 4"; hex: "#8B3626" },
+ ListElement { name: "Orange Red"; hex: "#FF4500" },
+ ListElement { name: "Orange Red 2"; hex: "#EE4000" },
+ ListElement { name: "Orange Red 3"; hex: "#CD3700" },
+ ListElement { name: "Orange Red 4"; hex: "#8B2500" },
+ ListElement { name: "Indian Red 2"; hex: "#EE6363" },
+ ListElement { name: "Indian Red 3"; hex: "#CD5555" },
+ ListElement { name: "Indian Red 4"; hex: "#8B3A3A" },
+ ListElement { name: "Brown"; hex: "#A52A2A" },
+ ListElement { name: "Brown 1"; hex: "#FF4040" },
+ ListElement { name: "Brown 2"; hex: "#EE3B3B" },
+ ListElement { name: "Brown 3"; hex: "#CD3333" },
+ ListElement { name: "Brown 4"; hex: "#8B2323" }
+ ]
+ }
+ ListElement {
+ name: "Greens"
+ colors: [
+ ListElement { name: "Green"; hex: "#008000" },
+ ListElement { name: "Green 2"; hex: "#00EE00" },
+ ListElement { name: "Green 3"; hex: "#00CD00" },
+ ListElement { name: "Green 4"; hex: "#008B00" },
+ ListElement { name: "Dark Green"; hex: "#006400" },
+ ListElement { name: "Sap Green"; hex: "#308014" },
+ ListElement { name: "Medium Spring Green"; hex: "#00FA9A" },
+ ListElement { name: "Spring Green"; hex: "#00FF7F" },
+ ListElement { name: "Spring Green 1"; hex: "#00EE76" },
+ ListElement { name: "Spring Green 2"; hex: "#00CD66" },
+ ListElement { name: "Spring Green 3"; hex: "#008B45" },
+ ListElement { name: "Medium Sea Green"; hex: "#3CB371" },
+ ListElement { name: "Sea Green 1"; hex: "#54FF9F" },
+ ListElement { name: "Sea Green 2"; hex: "#4EEE94" },
+ ListElement { name: "Sea Green 3"; hex: "#43CD80" },
+ ListElement { name: "Sea Green 4"; hex: "#2E8B57" },
+ ListElement { name: "Emerald Green"; hex: "#00C957" },
+ ListElement { name: "Mint"; hex: "#BDFCC9" },
+ ListElement { name: "Cobalt Green"; hex: "#3D9140" },
+ ListElement { name: "Dark Sea Green"; hex: "#8FBC8F" },
+ ListElement { name: "Dark Sea Green 1"; hex: "#C1FFC1" },
+ ListElement { name: "Dark Sea Green 2"; hex: "#B4EEB4" },
+ ListElement { name: "Dark Sea Green 3"; hex: "#9BCD9B" },
+ ListElement { name: "Dark Sea Green 4"; hex: "#698B69" },
+ ListElement { name: "Lime Green"; hex: "#00FF00" }
+ ]
+ }
+ ListElement {
+ name: "Blues"
+ colors: [
+ ListElement { name: "Dark Slate Blue"; hex: "#483D8B" },
+ ListElement { name: "Light Slate Blue"; hex: "#8470FF" },
+ ListElement { name: "Medium Slate Blue"; hex: "#7B68EE" },
+ ListElement { name: "Slate Blue"; hex: "#6A5ACD" },
+ ListElement { name: "Blue"; hex: "#0000FF" },
+ ListElement { name: "Midnight Blue"; hex: "#191970" },
+ ListElement { name: "Cobalt"; hex: "#3D59AB" },
+ ListElement { name: "Royal Blue"; hex: "#4169E1" },
+ ListElement { name: "Corn Flower Blue"; hex: "#6495ED" },
+ ListElement { name: "Light Steel Blue"; hex: "#B0C4DE" },
+ ListElement { name: "Light Steel Blue 1"; hex: "#CAE1FF" },
+ ListElement { name: "Light Steel Blue 2"; hex: "#BCD2EE" },
+ ListElement { name: "Light Steel Blue 3"; hex: "#A2B5CD" },
+ ListElement { name: "Dodger Blue"; hex: "#1E90FF" },
+ ListElement { name: "Dodger Blue 2"; hex: "#1C86EE" },
+ ListElement { name: "Dodger Blue 3"; hex: "#1874CD" },
+ ListElement { name: "Dodger Blue 4"; hex: "#104E8B" },
+ ListElement { name: "Steel Blue"; hex: "#4682B4" },
+ ListElement { name: "Light Sky Blue"; hex: "#87CEFA" },
+ ListElement { name: "Sky Blue"; hex: "#87CEEB" },
+ ListElement { name: "Peacock"; hex: "#33A1C9" },
+ ListElement { name: "Light Blue"; hex: "#ADD8E6" },
+ ListElement { name: "Powder Blue"; hex: "#B0E0E6" },
+ ListElement { name: "Cadet Blue"; hex: "#5F9EA0" },
+ ListElement { name: "Cyan"; hex: "#00FFFF" }
+ ]
+ }
+}
diff --git a/examples/declarative/colorbrowser/qml/ColorDelegate.qml b/examples/declarative/colorbrowser/qml/ColorDelegate.qml
new file mode 100644
index 0000000000..c123d1255a
--- /dev/null
+++ b/examples/declarative/colorbrowser/qml/ColorDelegate.qml
@@ -0,0 +1,114 @@
+import Qt 4.6
+
+Package {
+ Item { id: stack; Package.name: 'stack'; width: 110; height: 110; z: stack.PathView.z }
+ Item { id: list; Package.name: 'list'; width: mainWindow.width + 4; height: 110 }
+ Item { id: grid; Package.name: 'grid'; width: 110; height: 110 }
+
+ Item {
+ id: delegate
+
+ property double randomAngle: Math.random() * (2 * 8 + 1) - 8
+ property bool open: false
+
+ width: 110; height: 110; z: stack.PathView.z
+
+ Image { x: -6; y: -5; source: 'box-shadow.png'; smooth: true; }
+ Rectangle { color: hex; anchors.fill: parent; smooth: true }
+ Image { id: box; source: 'box.png'; smooth: true; anchors.fill: parent }
+
+ Binding {
+ target: infoColorName; property: 'text'
+ value: name; when: delegate.open && list.ListView.isCurrentItem
+ }
+
+ Binding {
+ target: infoColorHex; property: 'text'
+ value: hex; when: delegate.open && list.ListView.isCurrentItem
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.RightButton | Qt.LeftButton
+ onClicked: {
+ if (wrapper.state == 'inGrid' && mouse.button == Qt.RightButton) {
+ wrapper.state = ''
+ } else if (wrapper.state == 'inGrid') {
+ grid.GridView.view.currentIndex = index;
+ wrapper.state = 'fullscreen'
+ } else {
+ grid.GridView.view.currentIndex = index;
+ wrapper.state = 'inGrid'
+ }
+ }
+ }
+
+ states: [
+ State {
+ name: 'stacked'; when: wrapper.state == ''
+ ParentChange { target: delegate; parent: stack; x: 0; y: 0; rotation: delegate.randomAngle }
+ PropertyChanges { target: delegate; visible: stack.PathView.onPath ? 1.0 : 0.0 }
+ },
+ State {
+ name: 'inGrid'; when: wrapper.state == 'inGrid'
+ ParentChange { target: delegate; parent: grid; x: 24; y: 24 }
+ PropertyChanges { target: delegate; open: true }
+ },
+ State {
+ name: 'fullscreen'; when: wrapper.state == 'fullscreen'
+ ParentChange { target: delegate; parent: list; x: 0; y: 0; width: mainWindow.width; height: mainWindow.height }
+ PropertyChanges { target: box; opacity: 0 }
+ PropertyChanges { target: delegate; open: true }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ from: 'stacked'; to: 'inGrid'
+ SequentialAnimation {
+ PauseAnimation { duration: 20 * index }
+ ParentAnimation {
+ target: delegate; via: foreground
+ NumberAnimation { targets: delegate; properties: 'x,y,width,height,rotation'; duration: 600; easing.type: 'OutBack' }
+ }
+ }
+ },
+ Transition {
+ from: 'inGrid'; to: 'stacked'
+ ParentAnimation {
+ target: delegate; via: foreground
+ NumberAnimation { properties: 'x,y,width,height,rotation'; duration: 300; easing.type: 'InOutQuad' }
+ }
+ },
+ Transition {
+ from: 'inGrid'; to: 'fullscreen'
+ SequentialAnimation {
+ PauseAnimation { duration: grid.GridView.isCurrentItem ? 0 : 300 }
+ ParentAnimation {
+ target: delegate; via: foreground
+ NumberAnimation {
+ properties: 'x,y,width,height,opacity'
+ duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad'
+ }
+ }
+ }
+ },
+ Transition {
+ from: 'fullscreen'; to: 'inGrid'
+ SequentialAnimation {
+ PauseAnimation { duration: grid.GridView.isCurrentItem ? 3 : 0 }
+ ParallelAnimation {
+ ParentAnimation {
+ target: delegate; via: foreground
+ NumberAnimation {
+ properties: 'x,y,width,height'
+ duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad'
+ }
+ }
+ NumberAnimation { properties: 'opacity'; duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad' }
+ }
+ }
+ }
+ ]
+ }
+}
diff --git a/examples/declarative/colorbrowser/qml/box-shadow.png b/examples/declarative/colorbrowser/qml/box-shadow.png
new file mode 100644
index 0000000000..3281a37667
--- /dev/null
+++ b/examples/declarative/colorbrowser/qml/box-shadow.png
Binary files differ
diff --git a/examples/declarative/colorbrowser/qml/box.png b/examples/declarative/colorbrowser/qml/box.png
new file mode 100644
index 0000000000..86538aa91d
--- /dev/null
+++ b/examples/declarative/colorbrowser/qml/box.png
Binary files differ
diff --git a/examples/declarative/connections/connections.qml b/examples/declarative/connections/connections.qml
index 46923431e0..c35bda5b22 100644
--- a/examples/declarative/connections/connections.qml
+++ b/examples/declarative/connections/connections.qml
@@ -10,7 +10,7 @@ Rectangle {
Image {
id: image; source: "content/bg1.jpg"; anchors.centerIn: parent; transformOrigin: Item.Center
rotation: window.angle
- rotation: Behavior { NumberAnimation { easing.type: "OutCubic"; duration: 300 } }
+ Behavior on rotation { NumberAnimation { easing.type: "OutCubic"; duration: 300 } }
}
Button {
diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro
new file mode 100644
index 0000000000..b8c0200e4b
--- /dev/null
+++ b/examples/declarative/declarative.pro
@@ -0,0 +1,48 @@
+TEMPLATE = subdirs
+
+# These examples contain some C++ and need to be built
+SUBDIRS = \
+ extending \
+ imageprovider \
+ objectlistmodel \
+ plugins
+
+# These examples contain no C++ and can simply be copied
+sources.files = \
+ animations \
+ aspectratio \
+ behaviours \
+ border-image \
+ clocks \
+ colorbrowser \
+ connections \
+ dial \
+ dynamic \
+ effects \
+ fillmode \
+ focusscope \
+ fonts \
+ gridview \
+ layouts \
+ listview \
+ mousearea \
+ package \
+ parallax \
+ progressbar \
+ scrollbar \
+ searchbox \
+ slideswitch \
+ sql \
+ states \
+ tabwidget \
+ tic-tac-toe \
+ tutorials \
+ tvtennis \
+ velocity \
+ webview \
+ workerlistmodel \
+ workerscript \
+ xmldata \
+ xmlhttprequest
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative
+INSTALLS += sources
diff --git a/examples/declarative/dial/content/Dial.qml b/examples/declarative/dial/content/Dial.qml
index 6fd0f396b7..ad4717a6b9 100644
--- a/examples/declarative/dial/content/Dial.qml
+++ b/examples/declarative/dial/content/Dial.qml
@@ -26,7 +26,7 @@ Item {
id: needleRotation
origin.x: 7; origin.y: 65
angle: -130
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 1.4
damping: .15
source: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
diff --git a/examples/declarative/dynamic/dynamic.qml b/examples/declarative/dynamic/dynamic.qml
index 2831b0c0c0..6af3e814d1 100644
--- a/examples/declarative/dynamic/dynamic.qml
+++ b/examples/declarative/dynamic/dynamic.qml
@@ -17,15 +17,17 @@ Item {
}
// stars (when there's no sun)
- Particles { id: stars
- x: 0; y: 0; width: parent.width; height: parent.height/2
+ Particles {
+ id: stars
+ x: 0; y: 0; width: parent.width; height: parent.height / 2
source: "images/star.png"; angleDeviation: 360; velocity: 0
velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
opacity: 1
}
// ground, which has a z such that the sun can set behind it
- Rectangle { id: ground
+ Rectangle {
+ id: ground
z: 2
anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.right; bottom: parent.bottom }
gradient: Gradient {
@@ -35,7 +37,8 @@ Item {
}
//Day state, for when you place a sun
- states: State { name: "Day"; when: window.activeSuns > 0
+ states: State {
+ name: "Day"; when: window.activeSuns > 0
PropertyChanges { target: stopA; color: "DeepSkyBlue"}
PropertyChanges { target: stopB; color: "SkyBlue"}
PropertyChanges { target: stars; opacity: 0 }
@@ -56,56 +59,57 @@ Item {
width: 480
anchors { right: parent.right; top:parent.top; bottom: parent.bottom }
Rectangle { //Not a child of any positioner
- color: "white"; border.color: "black";
+ color: "white"; border.color: "black";
width: toolRow.width + 4
height: toolRow.height + 4
x: toolboxPositioner.x + toolRow.x - 2
y: toolboxPositioner.y + toolRow.y - 2
}
- Column{
+ Column {
id: toolboxPositioner
anchors.centerIn: parent
spacing: 8
- Text{ text: "Drag an item into the scene." }
- Row{ id: toolRow
- spacing: 8;
- PaletteItem{
+ Text { text: "Drag an item into the scene." }
+ Row {
+ id: toolRow
+ spacing: 8;
+ PaletteItem {
anchors.verticalCenter: parent.verticalCenter
file: "Sun.qml";
image: "../images/sun.png"
}
- PaletteItem{
+ PaletteItem {
file: "GenericItem.qml"
image: "../images/moon.png"
}
- PaletteItem{
+ PaletteItem {
anchors.verticalCenter: parent.verticalCenter
file: "PerspectiveItem.qml"
image: "../images/tree_s.png"
}
- PaletteItem{
+ PaletteItem {
anchors.verticalCenter: parent.verticalCenter
file: "PerspectiveItem.qml"
image: "../images/rabbit_brown.png"
}
- PaletteItem{
+ PaletteItem {
anchors.verticalCenter: parent.verticalCenter
file: "PerspectiveItem.qml"
image: "../images/rabbit_bw.png"
}
}
- Text{ text: "Active Suns: " + activeSuns }
+ Text { text: "Active Suns: " + activeSuns }
Rectangle { width: 440; height: 1; color: "black" }
- Text{ text: "Arbitrary QML: " }
+ Text { text: "Arbitrary QML: " }
TextEdit {
id: qmlText
width: 460
height: 220
readOnly: false
focusOnPress: true
- font.pixelSize: 16
-
- text: "import Qt 4.6\nImage { id: smile;\n x: 500*Math.random();\n y: 200*Math.random(); \n source: 'images/face-smile.png';\n opacity: NumberAnimation{ \n to: 0; duration: 1500;\n }\n Component.onCompleted: smile.destroy(1500);\n}"
+ font.pixelSize: 14
+
+ text: "import Qt 4.6\nImage {\n id: smile;\n x: 500*Math.random();\n y: 200*Math.random(); \n source: 'images/face-smile.png';\n NumberAnimation on opacity { \n to: 0; duration: 1500;\n }\n Component.onCompleted: smile.destroy(1500);\n}"
}
Button {
text: "Create"
diff --git a/examples/declarative/dynamic/qml/Sun.qml b/examples/declarative/dynamic/qml/Sun.qml
index 796a37084d..81b6e9b9e1 100644
--- a/examples/declarative/dynamic/qml/Sun.qml
+++ b/examples/declarative/dynamic/qml/Sun.qml
@@ -11,14 +11,14 @@ Image {
//x and y get set when instantiated
//head offscreen
- y: NumberAnimation {
- to: parent.height;
- duration: 10000;
+ NumberAnimation on y {
+ to: window.height / 2;
running: created
+ onRunningChanged: if (running) duration = (window.height - sun.y) * 10; else state = "OffScreen";
}
states: State {
- name: "OffScreen"; when: created && y > window.height / 2;//Below the ground
+ name: "OffScreen";
StateChangeScript { script: { sun.created = false; sun.destroy() } }
}
}
diff --git a/examples/declarative/effects/effects.qml b/examples/declarative/effects/effects.qml
index 0674433b41..997d7de9da 100644
--- a/examples/declarative/effects/effects.qml
+++ b/examples/declarative/effects/effects.qml
@@ -11,7 +11,7 @@ Rectangle {
source: "pic.png"
effect: Blur {
- blurRadius: NumberAnimation {
+ NumberAnimation on blurRadius {
id: blurEffect
running: false
from: 0; to: 10
@@ -33,7 +33,7 @@ Rectangle {
effect: DropShadow {
blurRadius: 3
offset.x: 3
- offset.y: NumberAnimation { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; repeat: true; }
+ NumberAnimation on offset.y { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; repeat: true; }
}
MouseArea { anchors.fill: parent; onClicked: dropShadowEffect.running = !dropShadowEffect.running }
diff --git a/examples/declarative/extending/adding/adding.pro b/examples/declarative/extending/adding/adding.pro
index c02a35f898..6072de42cc 100644
--- a/examples/declarative/extending/adding/adding.pro
+++ b/examples/declarative/extending/adding/adding.pro
@@ -9,3 +9,7 @@ SOURCES += main.cpp \
person.cpp
HEADERS += person.h
RESOURCES += adding.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/adding
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS adding.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/adding
+INSTALLS += target sources
diff --git a/examples/declarative/extending/attached/attached.pro b/examples/declarative/extending/attached/attached.pro
index b0f3fea302..f6d76ed27f 100644
--- a/examples/declarative/extending/attached/attached.pro
+++ b/examples/declarative/extending/attached/attached.pro
@@ -11,3 +11,7 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += attached.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/attached
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS attached.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/attached
+INSTALLS += target sources
diff --git a/examples/declarative/extending/binding/binding.pro b/examples/declarative/extending/binding/binding.pro
index 8298565780..903712ef7d 100644
--- a/examples/declarative/extending/binding/binding.pro
+++ b/examples/declarative/extending/binding/binding.pro
@@ -13,3 +13,7 @@ HEADERS += person.h \
birthdayparty.h \
happybirthday.h
RESOURCES += binding.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/binding
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS binding.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/binding
+INSTALLS += target sources
diff --git a/examples/declarative/extending/binding/happybirthday.cpp b/examples/declarative/extending/binding/happybirthday.cpp
index 7d4d021804..aa5f937cf3 100644
--- a/examples/declarative/extending/binding/happybirthday.cpp
+++ b/examples/declarative/extending/binding/happybirthday.cpp
@@ -50,7 +50,7 @@ HappyBirthday::HappyBirthday(QObject *parent)
timer->start(1000);
}
-void HappyBirthday::setTarget(const QDeclarativeMetaProperty &p)
+void HappyBirthday::setTarget(const QDeclarativeProperty &p)
{
m_target = p;
}
diff --git a/examples/declarative/extending/binding/happybirthday.h b/examples/declarative/extending/binding/happybirthday.h
index ee4d1ecc2e..eb2da5e91d 100644
--- a/examples/declarative/extending/binding/happybirthday.h
+++ b/examples/declarative/extending/binding/happybirthday.h
@@ -42,7 +42,7 @@
#define HAPPYBIRTHDAY_H
#include <QDeclarativePropertyValueSource>
-#include <QDeclarativeMetaProperty>
+#include <QDeclarativeProperty>
#include <qdeclarative.h>
#include <QStringList>
@@ -54,7 +54,7 @@ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
public:
HappyBirthday(QObject *parent = 0);
- virtual void setTarget(const QDeclarativeMetaProperty &);
+ virtual void setTarget(const QDeclarativeProperty &);
QString name() const;
void setName(const QString &);
@@ -67,7 +67,7 @@ signals:
private:
int m_line;
QStringList m_lyrics;
- QDeclarativeMetaProperty m_target;
+ QDeclarativeProperty m_target;
QString m_name;
};
QML_DECLARE_TYPE(HappyBirthday);
diff --git a/examples/declarative/extending/coercion/coercion.pro b/examples/declarative/extending/coercion/coercion.pro
index 136b2106ed..c8daed813a 100644
--- a/examples/declarative/extending/coercion/coercion.pro
+++ b/examples/declarative/extending/coercion/coercion.pro
@@ -11,3 +11,7 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += coercion.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/coercion
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS coercion.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/coercion
+INSTALLS += target sources
diff --git a/examples/declarative/extending/default/default.pro b/examples/declarative/extending/default/default.pro
index 0d5d45c395..32aff0bd8c 100644
--- a/examples/declarative/extending/default/default.pro
+++ b/examples/declarative/extending/default/default.pro
@@ -11,3 +11,7 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += default.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/default
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS default.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/default
+INSTALLS += target sources
diff --git a/examples/declarative/extending/extended/extended.pro b/examples/declarative/extending/extended/extended.pro
index 11822265dc..97af286eb4 100644
--- a/examples/declarative/extending/extended/extended.pro
+++ b/examples/declarative/extending/extended/extended.pro
@@ -9,3 +9,7 @@ SOURCES += main.cpp \
lineedit.cpp
HEADERS += lineedit.h
RESOURCES += extended.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/extended
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS extended.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/extended
+INSTALLS += target sources
diff --git a/examples/declarative/extending/grouped/grouped.pro b/examples/declarative/extending/grouped/grouped.pro
index 8fde8e8587..576e1d202c 100644
--- a/examples/declarative/extending/grouped/grouped.pro
+++ b/examples/declarative/extending/grouped/grouped.pro
@@ -11,3 +11,7 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += grouped.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/grouped
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS grouped.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/grouped
+INSTALLS += target sources
diff --git a/examples/declarative/extending/properties/properties.pro b/examples/declarative/extending/properties/properties.pro
index 635564440c..a8f430150d 100644
--- a/examples/declarative/extending/properties/properties.pro
+++ b/examples/declarative/extending/properties/properties.pro
@@ -11,3 +11,8 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += properties.qrc
+
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/properties
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS properties.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/properties
+INSTALLS += target sources
diff --git a/examples/declarative/extending/signal/signal.pro b/examples/declarative/extending/signal/signal.pro
index 30e413f953..6367a38536 100644
--- a/examples/declarative/extending/signal/signal.pro
+++ b/examples/declarative/extending/signal/signal.pro
@@ -11,3 +11,7 @@ SOURCES += main.cpp \
HEADERS += person.h \
birthdayparty.h
RESOURCES += signal.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/signal
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS signal.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/signal
+INSTALLS += target sources
diff --git a/examples/declarative/extending/valuesource/happybirthday.cpp b/examples/declarative/extending/valuesource/happybirthday.cpp
index 7b9d05afc9..0dbbd6e695 100644
--- a/examples/declarative/extending/valuesource/happybirthday.cpp
+++ b/examples/declarative/extending/valuesource/happybirthday.cpp
@@ -50,7 +50,7 @@ HappyBirthday::HappyBirthday(QObject *parent)
timer->start(1000);
}
-void HappyBirthday::setTarget(const QDeclarativeMetaProperty &p)
+void HappyBirthday::setTarget(const QDeclarativeProperty &p)
{
m_target = p;
}
diff --git a/examples/declarative/extending/valuesource/happybirthday.h b/examples/declarative/extending/valuesource/happybirthday.h
index 3e68c35cc8..b48c012212 100644
--- a/examples/declarative/extending/valuesource/happybirthday.h
+++ b/examples/declarative/extending/valuesource/happybirthday.h
@@ -42,7 +42,7 @@
#define HAPPYBIRTHDAY_H
#include <QDeclarativePropertyValueSource>
-#include <QDeclarativeMetaProperty>
+#include <QDeclarativeProperty>
#include <qdeclarative.h>
#include <QStringList>
@@ -57,7 +57,7 @@ Q_PROPERTY(QString name READ name WRITE setName)
public:
HappyBirthday(QObject *parent = 0);
- virtual void setTarget(const QDeclarativeMetaProperty &);
+ virtual void setTarget(const QDeclarativeProperty &);
// ![1]
QString name() const;
@@ -69,7 +69,7 @@ private slots:
private:
int m_line;
QStringList m_lyrics;
- QDeclarativeMetaProperty m_target;
+ QDeclarativeProperty m_target;
QString m_name;
// ![2]
};
diff --git a/examples/declarative/extending/valuesource/valuesource.pro b/examples/declarative/extending/valuesource/valuesource.pro
index 9e544480cf..d3409b6381 100644
--- a/examples/declarative/extending/valuesource/valuesource.pro
+++ b/examples/declarative/extending/valuesource/valuesource.pro
@@ -13,3 +13,7 @@ HEADERS += person.h \
birthdayparty.h \
happybirthday.h
RESOURCES += valuesource.qrc
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/valuesource
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS valuesource.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/valuesource
+INSTALLS += target sources
diff --git a/examples/declarative/fillmode/fillmode.qml b/examples/declarative/fillmode/fillmode.qml
index ec3717f141..ab0f81cac2 100644
--- a/examples/declarative/fillmode/fillmode.qml
+++ b/examples/declarative/fillmode/fillmode.qml
@@ -4,7 +4,7 @@ Image {
width: 400
height: 250
source: "face.png"
- fillMode: SequentialAnimation {
+ SequentialAnimation on fillMode {
repeat: true
PropertyAction { value: Image.Stretch }
PropertyAction { target: label; property: "text"; value: "Stretch" }
diff --git a/examples/declarative/flipable/back.png b/examples/declarative/flipable/back.png
new file mode 100644
index 0000000000..0b4cafc4a0
--- /dev/null
+++ b/examples/declarative/flipable/back.png
Binary files differ
diff --git a/examples/declarative/flipable/flipable.qml b/examples/declarative/flipable/flipable.qml
new file mode 100644
index 0000000000..c837ebccfa
--- /dev/null
+++ b/examples/declarative/flipable/flipable.qml
@@ -0,0 +1,37 @@
+//! [0]
+import Qt 4.6
+
+Flipable {
+ id: flipable
+ width: 240
+ height: 240
+
+ property int angle: 0
+ property bool flipped: false
+
+ front: Image { source: "front.png" }
+ back: Image { source: "back.png" }
+
+ transform: Rotation {
+ origin.x: flipable.width/2; origin.y: flipable.height/2
+ axis.x: 0; axis.y: 1; axis.z: 0 // rotate around y-axis
+ angle: flipable.angle
+ }
+
+ states: State {
+ name: "back"
+ PropertyChanges { target: flipable; angle: 180 }
+ when: flipable.flipped
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "angle"; duration: 1000 }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: flipable.flipped = !flipable.flipped
+ }
+}
+//! [0]
+
diff --git a/examples/declarative/flipable/front.png b/examples/declarative/flipable/front.png
new file mode 100644
index 0000000000..796b60559b
--- /dev/null
+++ b/examples/declarative/flipable/front.png
Binary files differ
diff --git a/examples/declarative/focusscope/test5.qml b/examples/declarative/focusscope/test5.qml
new file mode 100644
index 0000000000..da98350165
--- /dev/null
+++ b/examples/declarative/focusscope/test5.qml
@@ -0,0 +1,83 @@
+import Qt 4.6
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Keys.onReturnPressed: console.log("Error - Root")
+
+ FocusScope {
+ id: myScope
+ focus: true
+
+ Keys.onReturnPressed: console.log("Error - FocusScope")
+
+ Rectangle {
+ height: 120
+ width: 420
+
+ color: "transparent"
+ border.width: 5
+ border.color: myScope.wantsFocus?"blue":"black"
+
+ Rectangle {
+ x: 10; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: item1.wantsFocus?"blue":"black"
+ }
+
+ TextEdit {
+ id: item1
+ x: 20; y: 20
+ width: 90; height: 90
+ color: "white"
+ font.pixelSize: 20
+ Keys.onReturnPressed: console.log("Top Left");
+ KeyNavigation.right: item2
+ focus: true
+ wrap: true
+ text: "Box 1"
+ }
+
+ Rectangle {
+ id: item2
+ x: 310; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: wantsFocus?"blue":"black"
+ KeyNavigation.left: item1
+ Keys.onReturnPressed: console.log("Top Right");
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.focus?"red":"transparent"
+ }
+ }
+ }
+ KeyNavigation.down: item3
+ }
+
+ Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box or flashing cursor indicates active focus\nUse arrow keys to navigate\nPress Ctrl-Return to print currently focused item" }
+
+ Rectangle {
+ x: 10; y: 300
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: item3.wantsFocus?"blue":"black"
+ }
+
+ TextEdit {
+ id: item3
+ x: 20; y: 310
+ width: 90; height: 90
+ color: "white"
+ font.pixelSize: 20
+ text: "Box 3"
+
+ Keys.onReturnPressed: console.log("Bottom Left");
+ KeyNavigation.up: myScope
+ wrap: true
+ }
+}
diff --git a/examples/declarative/fonts/banner.qml b/examples/declarative/fonts/banner.qml
index 00b8660603..7989f80e36 100644
--- a/examples/declarative/fonts/banner.qml
+++ b/examples/declarative/fonts/banner.qml
@@ -10,7 +10,7 @@ Rectangle {
Row {
y: -screen.height / 4.5
- x: NumberAnimation { from: 0; to: -text.width; duration: 6000; repeat: true }
+ NumberAnimation on x { from: 0; to: -text.width; duration: 6000; repeat: true }
Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
diff --git a/examples/declarative/fonts/fonts.qml b/examples/declarative/fonts/fonts.qml
index 275ad43188..e928df4e2b 100644
--- a/examples/declarative/fonts/fonts.qml
+++ b/examples/declarative/fonts/fonts.qml
@@ -7,43 +7,40 @@ Rectangle {
color: "steelblue"
FontLoader { id: fixedFont; name: "Courier" }
-
FontLoader { id: localFont; source: "fonts/tarzenau-ocr-a.ttf" }
-
FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
- FontLoader { id: webFont2; source: "http://wrong.address.org" }
Column {
- anchors.fill: parent; spacing: 10
+ anchors.fill: parent; spacing: 15
anchors.leftMargin: 10; anchors.rightMargin: 10
Text {
text: myText; color: "lightsteelblue"
width: parent.width; elide: Text.ElideRight
- font.family: "Times"; font.pointSize: 36
+ font.family: "Times"; font.pointSize: 42
}
Text {
text: myText; color: "lightsteelblue"
width: parent.width; elide: Text.ElideLeft
- font.family: "Times"; font.pointSize: 36
- font.capitalization: "AllUppercase"
+ font.family: "Times"; font.pointSize: 42
+ font.capitalization: Font.AllUppercase
}
Text {
text: myText; color: "lightsteelblue"
width: parent.width; elide: Text.ElideMiddle
- font.family: fixedFont.name; font.pointSize: 36; font.weight: "Bold"
- font.capitalization: "AllLowercase"
+ font.family: fixedFont.name; font.pointSize: 42; font.weight: Font.Bold
+ font.capitalization: Font.AllLowercase
}
Text {
text: myText; color: "lightsteelblue"
width: parent.width; elide: Text.ElideRight
- font.family: fixedFont.name; font.pointSize: 36; font.italic: true
- font.capitalization: "SmallCaps"
+ font.family: fixedFont.name; font.pointSize: 42; font.italic: true
+ font.capitalization: Font.SmallCaps
}
Text {
text: myText; color: "lightsteelblue"
width: parent.width; elide: Text.ElideLeft
- font.family: localFont.name; font.pointSize: 36
- font.capitalization: "Capitalize"
+ font.family: localFont.name; font.pointSize: 42
+ font.capitalization: Font.Capitalize
}
Text {
text: {
@@ -53,17 +50,7 @@ Rectangle {
}
color: "lightsteelblue"
width: parent.width; elide: Text.ElideMiddle
- font.family: webFont.name; font.pointSize: 36
- }
- Text {
- text: {
- if (webFont2.status == 1) myText
- else if (webFont2.status == 2) "Loading..."
- else if (webFont2.status == 3) "Error loading font"
- }
- color: "lightsteelblue"
- width: parent.width; elide: Text.ElideRight
- font.family: webFont2.name; font.pointSize: 36
+ font.family: webFont.name; font.pointSize: 42
}
}
}
diff --git a/examples/declarative/fonts/hello.qml b/examples/declarative/fonts/hello.qml
index fcc9580cbc..334409edb2 100644
--- a/examples/declarative/fonts/hello.qml
+++ b/examples/declarative/fonts/hello.qml
@@ -9,7 +9,7 @@ Rectangle {
id: text; color: "white"; anchors.centerIn: parent
text: "Hello world!"; font.pixelSize: 60
- font.letterSpacing: SequentialAnimation {
+ SequentialAnimation on font.letterSpacing {
repeat: true;
NumberAnimation { from: 100; to: 300; easing.type: "InQuad"; duration: 3000 }
ScriptAction { script: {
@@ -17,7 +17,7 @@ Rectangle {
container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
} }
}
- opacity: SequentialAnimation {
+ SequentialAnimation on opacity {
repeat: true;
NumberAnimation { from: 1; to: 0; duration: 2600 }
PauseAnimation { duration: 400 }
diff --git a/examples/declarative/imageprovider/ImageProviderCore/qmldir b/examples/declarative/imageprovider/ImageProviderCore/qmldir
new file mode 100644
index 0000000000..1028590a84
--- /dev/null
+++ b/examples/declarative/imageprovider/ImageProviderCore/qmldir
@@ -0,0 +1,2 @@
+plugin imageprovider
+
diff --git a/examples/declarative/imageprovider/main.cpp b/examples/declarative/imageprovider/imageprovider.cpp
index d9d4c1ad6a..011a63b035 100644
--- a/examples/declarative/imageprovider/main.cpp
+++ b/examples/declarative/imageprovider/imageprovider.cpp
@@ -39,7 +39,8 @@
**
****************************************************************************/
-#include <QApplication>
+
+#include <qdeclarativeextensionplugin.h>
#include <qdeclarativeengine.h>
#include <qdeclarativecontext.h>
@@ -70,29 +71,38 @@ public:
}
};
-int main(int argc, char ** argv)
+
+class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin
{
- QApplication app(argc, argv);
+ Q_OBJECT
+public:
+ void registerTypes(const char *uri) {
+ Q_UNUSED(uri);
- QDeclarativeView view;
+ }
- view.engine()->addImageProvider("colors", new ColorImageProvider);
+ void initializeEngine(QDeclarativeEngine *engine, const char *uri) {
+ Q_UNUSED(uri);
- QStringList dataList;
- dataList.append("image://colors/red");
- dataList.append("image://colors/green");
- dataList.append("image://colors/blue");
- dataList.append("image://colors/brown");
- dataList.append("image://colors/orange");
- dataList.append("image://colors/purple");
- dataList.append("image://colors/yellow");
+ engine->addImageProvider("colors", new ColorImageProvider);
- QDeclarativeContext *ctxt = view.rootContext();
- ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+ QStringList dataList;
+ dataList.append("image://colors/red");
+ dataList.append("image://colors/green");
+ dataList.append("image://colors/blue");
+ dataList.append("image://colors/brown");
+ dataList.append("image://colors/orange");
+ dataList.append("image://colors/purple");
+ dataList.append("image://colors/yellow");
- view.setSource(QUrl("qrc:view.qml"));
- view.show();
+ QDeclarativeContext *ctxt = engine->rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+ }
- return app.exec();
-}
+};
+
+#include "imageprovider.moc"
+
+Q_EXPORT_PLUGIN(ImageProviderExtensionPlugin);
//![0]
+
diff --git a/examples/declarative/imageprovider/imageprovider.pro b/examples/declarative/imageprovider/imageprovider.pro
index 60423ab6b7..86dbcca480 100644
--- a/examples/declarative/imageprovider/imageprovider.pro
+++ b/examples/declarative/imageprovider/imageprovider.pro
@@ -1,9 +1,21 @@
-TEMPLATE = app
-TARGET = imageprovider
-DEPENDPATH += .
-INCLUDEPATH += .
+TEMPLATE = lib
+TARGET = imageprovider
QT += declarative
+CONFIG += qt plugin
+
+TARGET = $$qtLibraryTarget($$TARGET)
+DESTDIR = ImageProviderCore
# Input
-SOURCES += main.cpp
-RESOURCES += imageprovider.qrc
+SOURCES += imageprovider.cpp
+
+sources.files = $$SOURCES imageprovider.qml imageprovider.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider
+
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+
+ImageProviderCore_sources.files = \
+ ImageProviderCore/qmldir
+ImageProviderCore_sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+
+INSTALLS = sources ImageProviderCore_sources target
diff --git a/examples/declarative/imageprovider/view.qml b/examples/declarative/imageprovider/imageprovider.qml
index 2ab729d047..f899b1e93c 100644
--- a/examples/declarative/imageprovider/view.qml
+++ b/examples/declarative/imageprovider/imageprovider.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import "ImageProviderCore"
//![0]
ListView {
width: 100
diff --git a/examples/declarative/imageprovider/imageprovider.qrc b/examples/declarative/imageprovider/imageprovider.qrc
deleted file mode 100644
index 17e9301471..0000000000
--- a/examples/declarative/imageprovider/imageprovider.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>view.qml</file>
-</qresource>
-</RCC>
diff --git a/examples/declarative/layouts/layouts.qml b/examples/declarative/layouts/layouts.qml
index accd969879..4b2a3f808d 100644
--- a/examples/declarative/layouts/layouts.qml
+++ b/examples/declarative/layouts/layouts.qml
@@ -1,5 +1,5 @@
import Qt 4.6
-
+import Qt.widgets 4.6
Item {
id: resizable
width:400
diff --git a/examples/declarative/layouts/positioners.qml b/examples/declarative/layouts/positioners.qml
index 7146702dd2..bce53bd0b7 100644
--- a/examples/declarative/layouts/positioners.qml
+++ b/examples/declarative/layouts/positioners.qml
@@ -21,11 +21,11 @@ Rectangle {
}
Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueV1; color: "lightsteelblue"; width: 100; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueV2; color: "lightsteelblue"; width: 100; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
}
@@ -45,11 +45,11 @@ Rectangle {
}
Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
Rectangle { id: blueH1; color: "lightsteelblue"; width: 50; height: 100; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
Rectangle { id: blueH2; color: "lightsteelblue"; width: 50; height: 100; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
}
@@ -113,15 +113,15 @@ Rectangle {
Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueG1; color: "lightsteelblue"; width: 50; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueG2; color: "lightsteelblue"; width: 50; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueG3; color: "lightsteelblue"; width: 50; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
@@ -147,15 +147,15 @@ Rectangle {
}
Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueF1; color: "lightsteelblue"; width: 60; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueF2; color: "lightsteelblue"; width: 60; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { id: blueF3; color: "lightsteelblue"; width: 40; height: 50; border.color: "black"; radius: 15
- opacity: Behavior{NumberAnimation{}}
+ Behavior on opacity {NumberAnimation{}}
}
Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
}
diff --git a/examples/declarative/listview/content/ClickAutoRepeating.qml b/examples/declarative/listview/content/ClickAutoRepeating.qml
index 0850f4e0c2..5240e657f0 100644
--- a/examples/declarative/listview/content/ClickAutoRepeating.qml
+++ b/examples/declarative/listview/content/ClickAutoRepeating.qml
@@ -10,7 +10,7 @@ Item {
signal released
signal clicked
- isPressed: SequentialAnimation {
+ SequentialAnimation on isPressed {
running: false
id: autoRepeat
PropertyAction { target: page; property: "isPressed"; value: true }
diff --git a/examples/declarative/listview/highlight.qml b/examples/declarative/listview/highlight.qml
index be1f62d467..5e4911d844 100644
--- a/examples/declarative/listview/highlight.qml
+++ b/examples/declarative/listview/highlight.qml
@@ -44,7 +44,7 @@ Rectangle {
id: petHighlight
Rectangle {
width: 200; height: 50; color: "#FFFF88"
- y: SpringFollow { source: list1.currentItem.y; spring: 3; damping: 0.1 }
+ SpringFollow on y { source: list1.currentItem.y; spring: 3; damping: 0.1 }
}
}
ListView {
diff --git a/examples/declarative/listview/itemlist.qml b/examples/declarative/listview/itemlist.qml
index 54981b7997..41aa8607fc 100644
--- a/examples/declarative/listview/itemlist.qml
+++ b/examples/declarative/listview/itemlist.qml
@@ -26,14 +26,12 @@ Rectangle {
ListView {
id: view
- anchors.fill: parent
- anchors.bottomMargin: 30
+ anchors.fill: parent; anchors.bottomMargin: 30
model: itemModel
- preferredHighlightBegin: 0
- preferredHighlightEnd: 0
+ preferredHighlightBegin: 0; preferredHighlightEnd: 0
highlightRangeMode: "StrictlyEnforceRange"
orientation: ListView.Horizontal
- flickDeceleration: 2000
+ snapMode: ListView.SnapOneItem; flickDeceleration: 2000
}
Rectangle {
diff --git a/examples/declarative/mouseregion/mouse.qml b/examples/declarative/mousearea/mouse.qml
index 9191f8a00e..9191f8a00e 100644
--- a/examples/declarative/mouseregion/mouse.qml
+++ b/examples/declarative/mousearea/mouse.qml
diff --git a/examples/declarative/objectlistmodel/objectlistmodel.pro b/examples/declarative/objectlistmodel/objectlistmodel.pro
index ca61e4cc1d..869cde35af 100644
--- a/examples/declarative/objectlistmodel/objectlistmodel.pro
+++ b/examples/declarative/objectlistmodel/objectlistmodel.pro
@@ -9,3 +9,10 @@ SOURCES += main.cpp \
dataobject.cpp
HEADERS += dataobject.h
RESOURCES += objectlistmodel.qrc
+
+sources.files = $$SOURCES $$HEADERS $$RESOURCES objectlistmodel.pro view.qml
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/objectlistmodel
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/objectlistmodel
+
+INSTALLS += sources target
+
diff --git a/examples/declarative/package/Delegate.qml b/examples/declarative/package/Delegate.qml
index 4109633c68..f35314fa5b 100644
--- a/examples/declarative/package/Delegate.qml
+++ b/examples/declarative/package/Delegate.qml
@@ -2,24 +2,26 @@ import Qt 4.6
//![0]
Package {
- Text { id: listDelegate; width: 200; height: 25; text: "Empty"; Package.name: "list" }
- Text { id: gridDelegate; width: 100; height: 50; text: "Empty"; Package.name: "grid" }
+ Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
+ Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
Rectangle {
id: wrapper
width: 200; height: 25
- color: "lightsteelblue"
+ color: 'lightsteelblue'
+
Text { text: display; anchors.centerIn: parent }
- MouseRegion {
+ MouseArea {
anchors.fill: parent
onClicked: {
- if (wrapper.state == "inList")
- wrapper.state = "inGrid";
+ if (wrapper.state == 'inList')
+ wrapper.state = 'inGrid';
else
- wrapper.state = "inList";
+ wrapper.state = 'inList';
}
}
- state: "inList"
+
+ state: 'inList'
states: [
State {
name: 'inList'
@@ -27,15 +29,17 @@ Package {
},
State {
name: 'inGrid'
- ParentChange { target: wrapper; parent: gridDelegate }
- PropertyChanges { target: wrapper; x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height }
+ ParentChange {
+ target: wrapper; parent: gridDelegate
+ x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
+ }
}
]
+
transitions: [
Transition {
- SequentialAnimation {
- ParentAction { target: wrapper }
- NumberAnimation { targets: wrapper; properties: 'x,y,width,height'; duration: 300 }
+ ParentAnimation {
+ NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
}
}
]
diff --git a/examples/declarative/parallax/qml/ParallaxView.qml b/examples/declarative/parallax/qml/ParallaxView.qml
index 5e58100f07..08193aed75 100644
--- a/examples/declarative/parallax/qml/ParallaxView.qml
+++ b/examples/declarative/parallax/qml/ParallaxView.qml
@@ -25,6 +25,7 @@ Item {
anchors.fill: parent
model: VisualItemModel { id: visualModel }
+ highlightRangeMode: ListView.StrictlyEnforceRange
snapMode: ListView.SnapOneItem
}
diff --git a/examples/declarative/parallax/qml/Smiley.qml b/examples/declarative/parallax/qml/Smiley.qml
index 81eadda85c..4442d5e618 100644
--- a/examples/declarative/parallax/qml/Smiley.qml
+++ b/examples/declarative/parallax/qml/Smiley.qml
@@ -24,7 +24,7 @@ Item {
// Animate the y property. Setting repeat to true makes the
// animation repeat indefinitely, otherwise it would only run once.
- y: SequentialAnimation {
+ SequentialAnimation on y {
repeat: true
// Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml b/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml
index 01ec686cbf..622fcf9497 100644
--- a/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml
+++ b/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml
@@ -1,8 +1,8 @@
import Qt 4.6
-Item {
+Rectangle {
id: clock
- width: 200; height: 200
+ width: 200; height: 200; color: "gray"
property alias city: cityLabel.text
property var hours
@@ -18,7 +18,7 @@ Item {
transform: Rotation {
id: hourRotation
origin.x: 7.5; origin.y: 73; angle: 0
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 2; damping: 0.2; modulus: 360
source: (clock.hours * 30) + (clock.minutes * 0.5)
}
@@ -32,7 +32,7 @@ Item {
transform: Rotation {
id: minuteRotation
origin.x: 6.5; origin.y: 83; angle: 0
- angle: SpringFollow {
+ SpringFollow on angle {
spring: 2; damping: 0.2; modulus: 360
source: clock.minutes * 6
}
diff --git a/examples/declarative/plugins/plugins.pro b/examples/declarative/plugins/plugins.pro
index c925ceaefa..877a5ceea6 100644
--- a/examples/declarative/plugins/plugins.pro
+++ b/examples/declarative/plugins/plugins.pro
@@ -17,7 +17,7 @@ qdeclarativesources.files += \
qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
-sources.files += plugins.pro plugin.cpp plugins.qml
+sources.files += plugins.pro plugin.cpp plugins.qml README
sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
diff --git a/examples/declarative/progressbar/content/ProgressBar.qml b/examples/declarative/progressbar/content/ProgressBar.qml
index bfc801cb1e..65c80b2df1 100644
--- a/examples/declarative/progressbar/content/ProgressBar.qml
+++ b/examples/declarative/progressbar/content/ProgressBar.qml
@@ -21,7 +21,7 @@ Item {
id: highlight; radius: 1
anchors.left: parent.left; anchors.top: parent.top; anchors.bottom: parent.bottom
anchors.leftMargin: 3; anchors.topMargin: 3; anchors.bottomMargin: 3
- width: EaseFollow { source: highlight.widthDest; velocity: 1200 }
+ EaseFollow on width { source: highlight.widthDest; velocity: 1200 }
gradient: Gradient {
GradientStop { id: g1; position: 0.0 }
GradientStop { id: g2; position: 1.0 }
diff --git a/examples/declarative/progressbar/progressbars.qml b/examples/declarative/progressbar/progressbars.qml
index 6530c3de1b..a66d5441e7 100644
--- a/examples/declarative/progressbar/progressbars.qml
+++ b/examples/declarative/progressbar/progressbars.qml
@@ -14,9 +14,9 @@ Rectangle {
ProgressBar {
property int r: Math.floor(Math.random() * 5000 + 1000)
width: main.width - 20
- value: NumberAnimation { duration: r; from: 0; to: 100; repeat: true }
- color: ColorAnimation { duration: r; from: "lightsteelblue"; to: "thistle"; repeat: true }
- secondColor: ColorAnimation { duration: r; from: "steelblue"; to: "#CD96CD"; repeat: true }
+ NumberAnimation on value { duration: r; from: 0; to: 100; repeat: true }
+ ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; repeat: true }
+ ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; repeat: true }
}
}
}
diff --git a/examples/declarative/searchbox/main.qml b/examples/declarative/searchbox/main.qml
index 39c372019a..9b33be3bb7 100644
--- a/examples/declarative/searchbox/main.qml
+++ b/examples/declarative/searchbox/main.qml
@@ -6,8 +6,8 @@ Rectangle {
Column {
anchors.horizontalCenter: parent.horizontalCenter; anchors.verticalCenter: parent.verticalCenter; spacing: 10
- SearchBox { id: search1; KeyNavigation.down: search2; focus: true }
- SearchBox { id: search2; KeyNavigation.up: search1; KeyNavigation.down: search3 }
- SearchBox { id: search3; KeyNavigation.up: search2 }
+ SearchBox { id: search1; KeyNavigation.tab: search2; KeyNavigation.backtab: search3; focus: true }
+ SearchBox { id: search2; KeyNavigation.tab: search3; KeyNavigation.backtab: search1 }
+ SearchBox { id: search3; KeyNavigation.tab: search1; KeyNavigation.backtab: search2 }
}
}
diff --git a/examples/declarative/snow/ImageBatch.qml b/examples/declarative/snow/ImageBatch.qml
deleted file mode 100644
index c2a2674ed2..0000000000
--- a/examples/declarative/snow/ImageBatch.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-import Qt 4.6
-
-GridView {
- id: grid
- property int offset: 0
- property var ref
- property bool isSelected: ref.selectedItemColumn >= offset && ref.selectedItemColumn < offset + 5
-
- currentIndex: (ref.selectedItemColumn - offset) + ref.selectedItemRow * 5
-
- property int imageWidth: ref.imageWidth
- property int imageHeight: ref.imageHeight
-
- width: 5 * imageWidth
- height: 4 * imageHeight
- cellWidth: imageWidth
- cellHeight: imageHeight
-
- states: State {
- name: "selected"; when: grid.isSelected
- PropertyChanges { target: grid; z: 150 }
- }
- transitions: Transition {
- SequentialAnimation {
- PauseAnimation { duration: 150 }
- PropertyAction { properties: "z" }
- }
- }
- model: XmlListModel {
- property string tags : ""
- source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+tags+"&" : "")+"format=rss2"
- query: "/rss/channel/item"
- namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
-
- XmlRole { name: "url"; query: "media:content/@url/string()" }
- }
-
- delegate: Item {
- id: root
- property bool isSelected: GridView.isCurrentItem && grid.isSelected
- transformOrigin: Item.Center
- width: grid.imageWidth; height: grid.imageHeight;
-
- Image { id: flickrImage; source: url; fillMode: Image.PreserveAspectFit; smooth: true; anchors.fill: parent;
- opacity: (status == Image.Ready)?1:0; opacity: Behavior { NumberAnimation { } } }
- Loading { anchors.centerIn: parent; visible: flickrImage.status!=1 }
-
- states: State {
- name: "selected"
- when: root.isSelected
- PropertyChanges { target: root; scale: 3; z: 100 }
- }
- transitions: [
- Transition {
- to: "selected"
- SequentialAnimation {
- PauseAnimation { duration: 150 }
- PropertyAction { properties: "z" }
- NumberAnimation { properties: "scale"; duration: 150; }
- }
- },
- Transition {
- from: "selected"
- SequentialAnimation {
- NumberAnimation { properties: "scale"; duration: 150 }
- PropertyAction { properties: "z" }
- }
- }
- ]
- }
-}
-
diff --git a/examples/declarative/snow/Loading.qml b/examples/declarative/snow/Loading.qml
deleted file mode 100644
index 238d9c7aec..0000000000
--- a/examples/declarative/snow/Loading.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-Image {
- id: loading; source: "pics/loading.png"; transformOrigin: Item.Center
- rotation: NumberAnimation {
- id: rotationAnimation; from: 0; to: 360; running: loading.visible == true; repeat: true; duration: 900
- }
-}
diff --git a/examples/declarative/snow/create.js b/examples/declarative/snow/create.js
deleted file mode 100644
index 2bdae4a71f..0000000000
--- a/examples/declarative/snow/create.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var myComponent = null;
-
-function createNewBlock() {
- if (myComponent == null)
- myComponent = createComponent("ImageBatch.qml");
-
- var obj = myComponent.createObject();
- obj.parent = layout;
- obj.offset = maximumColumn + 1;
- obj.ref = imagePanel;
- maximumColumn += 5;
-}
diff --git a/examples/declarative/snow/pics/loading.png b/examples/declarative/snow/pics/loading.png
deleted file mode 100644
index 0296cfee45..0000000000
--- a/examples/declarative/snow/pics/loading.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/snow/snow.qml b/examples/declarative/snow/snow.qml
deleted file mode 100644
index 39c9c434b1..0000000000
--- a/examples/declarative/snow/snow.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-import Qt 4.6
-
-Rectangle {
- id: imagePanel
- width: 1024
- height: 768
- color: "black"
-
- property int maximumColumn: 4
- property int selectedItemRow: 0
- property int selectedItemColumn: 0
-
- Script { source: "create.js" }
-
- onSelectedItemColumnChanged: if (selectedItemColumn == maximumColumn) createNewBlock();
-
- property int imageWidth: 200
- property int imageHeight: 200
-
- property int selectedX: selectedItemColumn * imageWidth
- property int selectedY: selectedItemRow * imageHeight
-
- Item {
- anchors.centerIn: parent
- Row {
- id: layout
- property real targetX: -(selectedX + imageWidth / 2)
-
- property real targetDeform: 0
- property bool slowDeform: true
-
- property real deform: 0
- deform: SpringFollow {
- id: deformFollow; source: layout.targetDeform; velocity: layout.slowDeform?0.1:2
- onSyncChanged: if(inSync) { layout.slowDeform = true; layout.targetDeform = 0; }
- }
-
- ImageBatch { offset: 0; ref: imagePanel }
-
- x: SpringFollow { source: layout.targetX; velocity: 1000 }
- y: SpringFollow { source: -(selectedY + imageHeight / 2); velocity: 500 }
- }
-
- transform: Rotation {
- axis.y: 1; axis.z: 0
- angle: layout.deform * -100
- }
- }
-
- Script {
- function left() {
- if (selectedItemColumn <= 0) return;
- selectedItemColumn -= 1;
- layout.slowDeform = false;
- layout.targetDeform = Math.max(Math.min(layout.deform - 0.1, -0.1), -0.4);
- }
- function right() {
- selectedItemColumn += 1;
- layout.slowDeform = false;
- layout.targetDeform = Math.min(Math.max(layout.deform + 0.1, 0.1), 0.4);
- }
- }
-
- focus: true
- Keys.onLeftPressed: "left()"
- Keys.onRightPressed: "right()"
- Keys.onUpPressed: "if (selectedItemRow > 0) selectedItemRow = selectedItemRow - 1"
- Keys.onDownPressed: "if (selectedItemRow < 3) selectedItemRow = selectedItemRow + 1"
-}
diff --git a/examples/declarative/tabwidget/TabWidget.qml b/examples/declarative/tabwidget/TabWidget.qml
index f0dfee86ad..f0f7164e8d 100644
--- a/examples/declarative/tabwidget/TabWidget.qml
+++ b/examples/declarative/tabwidget/TabWidget.qml
@@ -1,42 +1,50 @@
import Qt 4.6
Item {
- id: page
+ id: tabWidget
property int current: 0
default property alias content: stack.children
+
onCurrentChanged: setOpacities()
Component.onCompleted: setOpacities()
+
function setOpacities()
{
- for (var i=0; i<stack.children.length; ++i) {
- stack.children[i].opacity = i==current ? 1 : 0
+ for (var i = 0; i < stack.children.length; ++i) {
+ stack.children[i].opacity = i == current ? 1 : 0
}
}
+
Row {
id: header
Repeater {
delegate:
+ Rectangle {
+ width: tabWidget.width / stack.children.length; height: 36
Rectangle {
- width: page.width / stack.children.length
- height: 15
- color: page.current == index ? "grey" : "lightGrey"
- Text {
- anchors.fill: parent
- text: stack.children[index].title
- elide: Text.ElideRight
- }
- MouseArea {
- anchors.fill: parent
- onClicked: page.current = index
- }
+ color: "#acb2c2"; width: parent.width; height: 1
+ anchors { bottom: parent.bottom; bottomMargin: 1 }
+ }
+ BorderImage {
+ source: "tab.png"; visible: tabWidget.current == index; border.left: 7; border.right: 7
+ anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
}
+ Text {
+ horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
+ anchors.fill: parent; text: stack.children[index].title
+ elide: Text.ElideRight; font.bold: tabWidget.current == index
+ }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: tabWidget.current = index
+ }
+ }
model: stack.children.length
}
}
+
Item {
id: stack
- anchors.top: header.bottom
- anchors.bottom: page.bottom
- width: page.width
+ anchors.top: header.bottom; anchors.bottom: tabWidget.bottom; width: tabWidget.width
}
}
diff --git a/examples/declarative/tabwidget/tab.png b/examples/declarative/tabwidget/tab.png
new file mode 100644
index 0000000000..ad8021605f
--- /dev/null
+++ b/examples/declarative/tabwidget/tab.png
Binary files differ
diff --git a/examples/declarative/tabwidget/tabs.qml b/examples/declarative/tabwidget/tabs.qml
index 54ed7df770..1d11b03225 100644
--- a/examples/declarative/tabwidget/tabs.qml
+++ b/examples/declarative/tabwidget/tabs.qml
@@ -2,28 +2,47 @@ import Qt 4.6
TabWidget {
id: tabs
- width: 200
- height: 200
- current: 2
+ width: 640; height: 480
+
Rectangle {
property string title: "Red"
- color: "red"
- anchors.fill: parent
- Text { anchors.centerIn: parent; text: "<div align=center>Roses are red"; font.pixelSize: 24
- wrap: true; width: parent.width-20 }
+ anchors.fill: parent; color: "#e3e3e3"
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#ff7f7f"
+ Text {
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Roses are red"; font.pixelSize: 20
+ wrap: true; width: parent.width - 20
+ }
+ }
}
+
Rectangle {
property string title: "Green"
- color: "green"
- anchors.fill: parent
- Text { anchors.centerIn: parent; text: "<div align=center>Flower stems are green"; font.pixelSize: 24;
- wrap: true; width: parent.width-20 }
+ anchors.fill: parent; color: "#e3e3e3"
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#7fff7f"
+ Text {
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Flower stems are green"; font.pixelSize: 20
+ wrap: true; width: parent.width - 20
+ }
+ }
}
+
Rectangle {
property string title: "Blue"
- color: "blue"
- anchors.fill: parent
- Text { anchors.centerIn: parent; text: "<div align=center>Violets are blue"; color: "white"; font.pixelSize: 24
- wrap: true; width: parent.width-20 }
+ anchors.fill: parent; color: "#e3e3e3"
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#7f7fff"
+ Text {
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Violets are blue"; font.pixelSize: 20
+ wrap: true; width: parent.width - 20
+ }
+ }
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame1/Block.qml b/examples/declarative/tutorials/samegame/samegame1/Block.qml
index b76e61a161..f133b1741b 100644
--- a/examples/declarative/tutorials/samegame/samegame1/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame1/Block.qml
@@ -5,7 +5,7 @@ Item {
id:block
Image { id: img
- source: "pics/redStone.png";
+ source: "../shared/pics/redStone.png";
anchors.fill: parent
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame1/pics/background.png b/examples/declarative/tutorials/samegame/samegame1/pics/background.png
deleted file mode 100644
index 3734a27744..0000000000
--- a/examples/declarative/tutorials/samegame/samegame1/pics/background.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame1/samegame.qml b/examples/declarative/tutorials/samegame/samegame1/samegame.qml
index c2d39397ea..5ed30c9008 100644
--- a/examples/declarative/tutorials/samegame/samegame1/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame1/samegame.qml
@@ -12,7 +12,7 @@ Rectangle {
Image {
id: background
- anchors.fill: parent; source: "pics/background.png"
+ anchors.fill: parent; source: "../shared/pics/background.jpg"
fillMode: Image.PreserveAspectCrop
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame2/Block.qml b/examples/declarative/tutorials/samegame/samegame2/Block.qml
index 228ac4ee89..e4b33549f3 100644
--- a/examples/declarative/tutorials/samegame/samegame2/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame2/Block.qml
@@ -4,7 +4,7 @@ Item {
id:block
Image { id: img
- source: "pics/redStone.png";
+ source: "../shared/pics/redStone.png";
anchors.fill: parent
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame2/pics/background.png b/examples/declarative/tutorials/samegame/samegame2/pics/background.png
deleted file mode 100644
index 3734a27744..0000000000
--- a/examples/declarative/tutorials/samegame/samegame2/pics/background.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame2/pics/redStone.png b/examples/declarative/tutorials/samegame/samegame2/pics/redStone.png
deleted file mode 100644
index 36b09a2686..0000000000
--- a/examples/declarative/tutorials/samegame/samegame2/pics/redStone.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame2/samegame.qml b/examples/declarative/tutorials/samegame/samegame2/samegame.qml
index 8d837daa7c..7e0bc0c3e4 100644
--- a/examples/declarative/tutorials/samegame/samegame2/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame2/samegame.qml
@@ -14,7 +14,7 @@ Rectangle {
Image {
id: background
- anchors.fill: parent; source: "pics/background.png"
+ anchors.fill: parent; source: "../shared/pics/background.jpg"
fillMode: Image.PreserveAspectCrop
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame3/Block.qml b/examples/declarative/tutorials/samegame/samegame3/Block.qml
index 30a8d3a962..7620104f52 100644
--- a/examples/declarative/tutorials/samegame/samegame3/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/Block.qml
@@ -8,11 +8,11 @@ Item {
Image { id: img
source: {
if(type == 0){
- "pics/redStone.png";
+ "../shared/pics/redStone.png";
} else if(type == 1) {
- "pics/blueStone.png";
+ "../shared/pics/blueStone.png";
} else {
- "pics/greenStone.png";
+ "../shared/pics/greenStone.png";
}
}
anchors.fill: parent
diff --git a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
index 9d35832e2d..36178ec05f 100644
--- a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
@@ -14,7 +14,7 @@ Rectangle {
signal closed();
color: "white"; border.width: 1; width: myText.width + 20; height: 60;
opacity: 0
- opacity: Behavior {
+ Behavior on opacity {
NumberAnimation { duration: 1000 }
}
Text { id: myText; anchors.centerIn: parent; text: "Hello World!" }
diff --git a/examples/declarative/tutorials/samegame/samegame3/pics/background.png b/examples/declarative/tutorials/samegame/samegame3/pics/background.png
deleted file mode 100644
index 3734a27744..0000000000
--- a/examples/declarative/tutorials/samegame/samegame3/pics/background.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame3/pics/redStone.png b/examples/declarative/tutorials/samegame/samegame3/pics/redStone.png
deleted file mode 100644
index 36b09a2686..0000000000
--- a/examples/declarative/tutorials/samegame/samegame3/pics/redStone.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame3/samegame.qml b/examples/declarative/tutorials/samegame/samegame3/samegame.qml
index c6163977cf..168bf9b300 100644
--- a/examples/declarative/tutorials/samegame/samegame3/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/samegame.qml
@@ -13,7 +13,7 @@ Rectangle {
Image {
id: background
- anchors.fill: parent; source: "pics/background.png"
+ anchors.fill: parent; source: "../shared/pics/background.jpg"
fillMode: Image.PreserveAspectCrop
}
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
index 4c2ba43ef7..9ef455afc1 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
@@ -8,23 +8,23 @@ Item { id:block
property int targetX: 0
property int targetY: 0
- x: SpringFollow { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
- y: SpringFollow { source: targetY; spring: 2; damping: 0.2 }
+ SpringFollow on x { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
+ SpringFollow on y { source: targetY; spring: 2; damping: 0.2 }
//![1]
//![2]
Image { id: img
source: {
if(type == 0){
- "pics/redStone.png";
+ "../../shared/pics/redStone.png";
} else if(type == 1) {
- "pics/blueStone.png";
+ "../../shared/pics/blueStone.png";
} else {
- "pics/greenStone.png";
+ "../../shared/pics/greenStone.png";
}
}
opacity: 0
- opacity: Behavior { NumberAnimation { properties:"opacity"; duration: 200 } }
+ Behavior on opacity { NumberAnimation { properties:"opacity"; duration: 200 } }
anchors.fill: parent
}
//![2]
@@ -38,11 +38,11 @@ Item { id:block
velocity: 100; velocityDeviation:30;
source: {
if(type == 0){
- "pics/redStar.png";
+ "../../shared/pics/redStar.png";
} else if (type == 1) {
- "pics/blueStar.png";
+ "../../shared/pics/blueStar.png";
} else {
- "pics/greenStar.png";
+ "../../shared/pics/greenStar.png";
}
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
index ed9fd32a9e..831c03bdf3 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
@@ -13,7 +13,7 @@ Rectangle {
signal closed();
color: "white"; border.width: 1; width: myText.width + 20; height: 60;
opacity: 0
- opacity: Behavior {
+ Behavior on opacity {
NumberAnimation { duration: 1000 }
}
Text { id: myText; anchors.centerIn: parent; text: "Hello World!" }
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/background.png b/examples/declarative/tutorials/samegame/samegame4/content/pics/background.png
deleted file mode 100644
index 3734a27744..0000000000
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/background.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/blueStone.png b/examples/declarative/tutorials/samegame/samegame4/content/pics/blueStone.png
deleted file mode 100644
index 20e43c75b6..0000000000
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/blueStone.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/greenStone.png b/examples/declarative/tutorials/samegame/samegame4/content/pics/greenStone.png
deleted file mode 100644
index b568a1900c..0000000000
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/greenStone.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/redStone.png b/examples/declarative/tutorials/samegame/samegame4/content/pics/redStone.png
deleted file mode 100644
index 36b09a2686..0000000000
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/redStone.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/samegame.qml b/examples/declarative/tutorials/samegame/samegame4/samegame.qml
index a228e6042a..c2e8018ca6 100644
--- a/examples/declarative/tutorials/samegame/samegame4/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/samegame.qml
@@ -12,7 +12,7 @@ Rectangle {
Image {
id: background
- anchors.fill: parent; source: "content/pics/background.png"
+ anchors.fill: parent; source: "../shared/pics/background.jpg"
fillMode: Image.PreserveAspectCrop
}
diff --git a/examples/declarative/tutorials/samegame/shared/pics/background.jpg b/examples/declarative/tutorials/samegame/shared/pics/background.jpg
new file mode 100644
index 0000000000..903d395c8d
--- /dev/null
+++ b/examples/declarative/tutorials/samegame/shared/pics/background.jpg
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/blueStar.png b/examples/declarative/tutorials/samegame/shared/pics/blueStar.png
index ff9588f80a..ff9588f80a 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/blueStar.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/blueStar.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame3/pics/blueStone.png b/examples/declarative/tutorials/samegame/shared/pics/blueStone.png
index 20e43c75b6..20e43c75b6 100644
--- a/examples/declarative/tutorials/samegame/samegame3/pics/blueStone.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/blueStone.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/greenStar.png b/examples/declarative/tutorials/samegame/shared/pics/greenStar.png
index cd06854719..cd06854719 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/greenStar.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/greenStar.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame3/pics/greenStone.png b/examples/declarative/tutorials/samegame/shared/pics/greenStone.png
index b568a1900c..b568a1900c 100644
--- a/examples/declarative/tutorials/samegame/samegame3/pics/greenStone.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/greenStone.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/redStar.png b/examples/declarative/tutorials/samegame/shared/pics/redStar.png
index 0a4dffe583..0a4dffe583 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/redStar.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/redStar.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame1/pics/redStone.png b/examples/declarative/tutorials/samegame/shared/pics/redStone.png
index 36b09a2686..36b09a2686 100644
--- a/examples/declarative/tutorials/samegame/samegame1/pics/redStone.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/redStone.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/star.png b/examples/declarative/tutorials/samegame/shared/pics/star.png
index defbde53ca..defbde53ca 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/star.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/star.png
Binary files differ
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/pics/yellowStone.png b/examples/declarative/tutorials/samegame/shared/pics/yellowStone.png
index b1ce76212c..b1ce76212c 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/pics/yellowStone.png
+++ b/examples/declarative/tutorials/samegame/shared/pics/yellowStone.png
Binary files differ
diff --git a/examples/declarative/tvtennis/tvtennis.qml b/examples/declarative/tvtennis/tvtennis.qml
index 4bd531925b..6022a159c6 100644
--- a/examples/declarative/tvtennis/tvtennis.qml
+++ b/examples/declarative/tvtennis/tvtennis.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import Qt.multimedia 4.7
Rectangle {
id: page
@@ -15,27 +16,30 @@ Rectangle {
color: "Lime"
x: 20; width: 20; height: 20; z: 1
+ SoundEffect { id: paddle; source: "paddle.wav" }
+ SoundEffect { id: wall; source: "click.wav" }
+
// Move the ball to the right and back to the left repeatedly
- x: SequentialAnimation {
+ SequentialAnimation on x {
repeat: true
NumberAnimation { to: page.width - 40; duration: 2000 }
- ScriptAction { script: Qt.playSound('paddle.wav') }
+ ScriptAction { script: paddle.play() }
PropertyAction { target: ball; property: "direction"; value: "left" }
NumberAnimation { to: 20; duration: 2000 }
- ScriptAction { script: Qt.playSound('paddle.wav') }
+ ScriptAction { script: paddle.play() }
PropertyAction { target: ball; property: "direction"; value: "right" }
}
// Make y follow the target y coordinate, with a velocity of 200
- y: SpringFollow { source: ball.targetY; velocity: 200 }
+ SpringFollow on y { source: ball.targetY; velocity: 200 }
// Detect the ball hitting the top or bottom of the view and bounce it
onYChanged: {
if (y <= 0) {
- Qt.playSound('click.wav');
+ wall.play();
targetY = page.height - 20;
} else if (y >= page.height - 20) {
- Qt.playSound('click.wav');
+ wall.play();
targetY = 0;
}
}
@@ -47,7 +51,7 @@ Rectangle {
id: leftBat
color: "Lime"
x: 2; width: 20; height: 90
- y: SpringFollow {
+ SpringFollow on y {
source: ball.y - 45; velocity: 300
enabled: ball.direction == 'left'
}
@@ -56,7 +60,7 @@ Rectangle {
id: rightBat
color: "Lime"
x: page.width - 22; width: 20; height: 90
- y: SpringFollow {
+ SpringFollow on y {
source: ball.y-45; velocity: 300
enabled: ball.direction == 'right'
}
diff --git a/examples/declarative/velocity/Day.qml b/examples/declarative/velocity/Day.qml
index c39f99be81..f4c24a579f 100644
--- a/examples/declarative/velocity/Day.qml
+++ b/examples/declarative/velocity/Day.qml
@@ -24,7 +24,7 @@ Rectangle {
id: stickyPage
x: Math.random() * 200 + 100
y: Math.random() * 300 + 50
- rotation: SpringFollow {
+ SpringFollow on rotation {
source: -flickable.horizontalVelocity / 100
spring: 2.0; damping: 0.1
}
@@ -33,7 +33,7 @@ Rectangle {
id: sticky
scale: 0.5
Image {
- id: stickyImage; source: "sticky.png"
+ id: stickyImage; source: "sticky.png"; transformOrigin: Item.TopLeft
smooth: true; y: -20; x: 8 + -width * 0.6 / 2; scale: 0.6
}
@@ -52,14 +52,14 @@ Rectangle {
id: mouse
onClicked: { myText.focus = true }
anchors.fill: parent
- drag.target: stickyPage; drag.axis: "XandYAxis"; drag.minimumY: 0; drag.maximumY: 500
+ drag.target: stickyPage; drag.axis: MouseArea.XandYAxis; drag.minimumY: 0; drag.maximumY: 500
drag.minimumX: 0; drag.maximumX: 400
}
}
}
Image {
- source: "tack.png"
+ source: "tack.png"; transformOrigin: Item.TopLeft
x: -width / 2; y: -height * 0.7 / 2; scale: 0.7
}
diff --git a/examples/declarative/webview/autosize.qml b/examples/declarative/webview/autosize.qml
index 74c6844866..3c00ee6a3e 100644
--- a/examples/declarative/webview/autosize.qml
+++ b/examples/declarative/webview/autosize.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// The WebView size is determined by the width, height,
// preferredWidth, and preferredHeight properties.
diff --git a/examples/declarative/webview/content/FieldText.qml b/examples/declarative/webview/content/FieldText.qml
index 19b6acc322..d282209daf 100644
--- a/examples/declarative/webview/content/FieldText.qml
+++ b/examples/declarative/webview/content/FieldText.qml
@@ -85,7 +85,7 @@ Item {
font.bold: true
text: label
opacity: textEdit.text == '' ? 1 : 0
- opacity: Behavior {
+ Behavior on opacity {
NumberAnimation {
property: "opacity"
duration: 250
diff --git a/examples/declarative/webview/content/Mapping/Map.qml b/examples/declarative/webview/content/Mapping/Map.qml
index 2e98940ee9..6c3b0218b3 100644
--- a/examples/declarative/webview/content/Mapping/Map.qml
+++ b/examples/declarative/webview/content/Mapping/Map.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Item {
id: page
diff --git a/examples/declarative/webview/evalandattach.qml b/examples/declarative/webview/evalandattach.qml
index 94301cd973..d219d84df5 100644
--- a/examples/declarative/webview/evalandattach.qml
+++ b/examples/declarative/webview/evalandattach.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Item {
height: 640
diff --git a/examples/declarative/webview/googleMaps.qml b/examples/declarative/webview/googleMaps.qml
index 188696121a..a04fecba22 100644
--- a/examples/declarative/webview/googleMaps.qml
+++ b/examples/declarative/webview/googleMaps.qml
@@ -6,6 +6,7 @@
// order to create a Map.
import Qt 4.6
+import org.webkit 1.0
import "content/Mapping"
Map {
diff --git a/examples/declarative/webview/inline-html.qml b/examples/declarative/webview/inline-html.qml
index 23b4555e50..41dfec3d63 100644
--- a/examples/declarative/webview/inline-html.qml
+++ b/examples/declarative/webview/inline-html.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// Inline HTML with loose formatting can be
// set on the html property.
diff --git a/examples/declarative/webview/newwindows.qml b/examples/declarative/webview/newwindows.qml
index 5dd4cd51ce..c62aba65ff 100644
--- a/examples/declarative/webview/newwindows.qml
+++ b/examples/declarative/webview/newwindows.qml
@@ -4,6 +4,7 @@
// allow it on WebView with settings.javascriptCanOpenWindows: true
import Qt 4.6
+import org.webkit 1.0
Grid {
columns: 3
diff --git a/examples/declarative/webview/qdeclarative-in-html.qml b/examples/declarative/webview/qdeclarative-in-html.qml
index 77180ec18e..172ea4b57f 100644
--- a/examples/declarative/webview/qdeclarative-in-html.qml
+++ b/examples/declarative/webview/qdeclarative-in-html.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// The WebView supports QML data through the HTML OBJECT tag
Rectangle {
diff --git a/examples/declarative/webview/transparent.qml b/examples/declarative/webview/transparent.qml
index 9332f3e9bf..55308195b7 100644
--- a/examples/declarative/webview/transparent.qml
+++ b/examples/declarative/webview/transparent.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// The WebView background is transparent
// if the HTML does not specify a background
diff --git a/examples/declarative/workerlistmodel/dataloader.js b/examples/declarative/workerlistmodel/dataloader.js
new file mode 100644
index 0000000000..eac747887a
--- /dev/null
+++ b/examples/declarative/workerlistmodel/dataloader.js
@@ -0,0 +1,14 @@
+// ![0]
+WorkerScript.onMessage = function(msg) {
+ console.log("Worker told to", msg.action);
+
+ if (msg.action == 'appendCurrentTime') {
+ var data = {'time': new Date().toTimeString()};
+ msg.model.append(data);
+ msg.model.sync(); // updates the changes to the list
+
+ var msgToSend = {'msg': 'Model updated!'};
+ WorkerScript.sendMessage(msgToSend);
+ }
+}
+// ![0]
diff --git a/examples/declarative/workerlistmodel/timedisplay.qml b/examples/declarative/workerlistmodel/timedisplay.qml
new file mode 100644
index 0000000000..3bf2630562
--- /dev/null
+++ b/examples/declarative/workerlistmodel/timedisplay.qml
@@ -0,0 +1,33 @@
+// ![0]
+import Qt 4.6
+
+ListView {
+ width: 200
+ height: 300
+
+ model: listModel
+ delegate: Component {
+ Text { text: time }
+ }
+
+ WorkerListModel { id: listModel }
+
+ WorkerScript {
+ id: worker
+ source: "dataloader.js"
+ onMessage: {
+ console.log("Worker said", messageObject.msg);
+ }
+ }
+
+ Timer {
+ id: timer
+ interval: 2000; repeat: true; running: true; triggeredOnStart: true
+
+ onTriggered: {
+ var msg = {'action': 'appendCurrentTime', 'model': listModel};
+ worker.sendMessage(msg);
+ }
+ }
+}
+// ![0]
diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp
index b01a3969e0..af72385506 100644
--- a/examples/multimedia/audioinput/audioinput.cpp
+++ b/examples/multimedia/audioinput/audioinput.cpp
@@ -76,6 +76,8 @@ AudioInfo::AudioInfo(const QAudioFormat &format, QObject *parent)
case QAudioFormat::SignedInt:
m_maxAmplitude = 127;
break;
+ default:
+ break;
}
break;
case 16:
@@ -86,8 +88,12 @@ AudioInfo::AudioInfo(const QAudioFormat &format, QObject *parent)
case QAudioFormat::SignedInt:
m_maxAmplitude = 32767;
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
}
diff --git a/examples/multimedia/audioinput/audioinput.h b/examples/multimedia/audioinput/audioinput.h
index f87c6825d0..be721de3d8 100644
--- a/examples/multimedia/audioinput/audioinput.h
+++ b/examples/multimedia/audioinput/audioinput.h
@@ -119,8 +119,8 @@ private:
QPushButton *m_suspendResumeButton;
QComboBox *m_deviceBox;
- AudioInfo *m_audioInfo;
QAudioDeviceInfo m_device;
+ AudioInfo *m_audioInfo;
QAudioFormat m_format;
QAudioInput *m_audioInput;
QIODevice *m_input;
diff --git a/examples/network/qftp/sym_iap_util.h b/examples/network/qftp/sym_iap_util.h
index 41e43a9af7..445036aa59 100644
--- a/examples/network/qftp/sym_iap_util.h
+++ b/examples/network/qftp/sym_iap_util.h
@@ -60,6 +60,7 @@
//#include <QTextCodec>
_LIT(KIapNameSetting, "IAP\\Name"); // text - mandatory
+_LIT(KIapTableIdField, "IAP\Id");
_LIT(KIapDialogPref, "IAP\\DialogPref"); // TUnit32 - optional
_LIT(KIapService, "IAP\\IAPService"); // TUnit32 - mandatory
_LIT(KIapServiceType, "IAP\\IAPServiceType"); // text - mandatory
@@ -367,20 +368,25 @@ static QString qt_OfferIapDialog() {
CleanupClosePushL(connection);
socketServ.Connect();
+
+ TCommDbConnPref prefs;
+ prefs.SetDialogPreference(ECommDbDialogPrefPrompt);
+
connection.Open(socketServ);
- connection.Start();
+ connection.Start(prefs);
connection.GetDesSetting(TPtrC(KIapNameSetting), iapName);
-
//connection.Stop();
iapName.ZeroTerminate();
QString strIapName((char*)iapName.Ptr());
int error = 0;
- if(!qt_SetDefaultIapName(strIapName, error)) {
- //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error);
- strIapName = QString("");
+ if(!strIapName.isEmpty()) {
+ if(!qt_SetDefaultIapName(strIapName, error)) {
+ //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error);
+ strIapName = QString("");
+ }
}
CleanupStack::PopAndDestroy(&connection);
diff --git a/examples/openvg/star/starwidget.cpp b/examples/openvg/star/starwidget.cpp
index bde071930f..794ede9c5d 100644
--- a/examples/openvg/star/starwidget.cpp
+++ b/examples/openvg/star/starwidget.cpp
@@ -93,8 +93,9 @@ void StarWidget::paintEvent(QPaintEvent *)
// and prepare to perform raw OpenVG calls.
painter.beginNativePainting();
- // Cache the path if we haven't already.
- if (path == VG_INVALID_HANDLE) {
+ // Cache the path if we haven't already or if the path has
+ // become invalid because the window's context has changed.
+ if (path == VG_INVALID_HANDLE || !vgGetPathCapabilities(path)) {
path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
VG_PATH_DATATYPE_F,
1.0f, // scale
diff --git a/examples/qws/svgalib/README b/examples/qws/svgalib/README
index 0b2831f618..227c066f01 100644
--- a/examples/qws/svgalib/README
+++ b/examples/qws/svgalib/README
@@ -1,5 +1,9 @@
-This is the SVGA screen driver plugin example from Qt 4.4. The code does
-not compile with Qt 4.5, because the internal graphics engine has changed.
+This is the SVGA screen driver plugin example for QWS.
-This is unsupported code, provided for convenience in case there is
-interest in porting it to Qt 4.5.
+You may need to set the SVGALIB_DEFAULT_MODE environment
+variable. These values have been confirmed to work on one specific
+machine using svgalib 1.4.3: 18, 24, 34, 35, 36
+
+There is a bug in the example causing missing updates in 8-bit mode
+(e.g. modes 10 and 12). Fixing this bug is left as an exercise for the
+reader.
diff --git a/examples/qws/svgalib/svgalibpaintdevice.cpp b/examples/qws/svgalib/svgalibpaintdevice.cpp
index 090311fec3..86613d2e59 100644
--- a/examples/qws/svgalib/svgalibpaintdevice.cpp
+++ b/examples/qws/svgalib/svgalibpaintdevice.cpp
@@ -48,7 +48,7 @@
SvgalibPaintDevice::SvgalibPaintDevice(QWidget *w)
: QCustomRasterPaintDevice(w)
{
- pengine = new SvgalibPaintEngine;
+ pengine = new SvgalibPaintEngine(this);
}
SvgalibPaintDevice::~SvgalibPaintDevice()
diff --git a/examples/qws/svgalib/svgalibpaintengine.cpp b/examples/qws/svgalib/svgalibpaintengine.cpp
index 8713863084..59740da7e7 100644
--- a/examples/qws/svgalib/svgalibpaintengine.cpp
+++ b/examples/qws/svgalib/svgalibpaintengine.cpp
@@ -45,7 +45,8 @@
#include <vga.h>
#include <vgagl.h>
-SvgalibPaintEngine::SvgalibPaintEngine()
+SvgalibPaintEngine::SvgalibPaintEngine(QPaintDevice *device)
+ : QRasterPaintEngine(device)
{
}
@@ -61,7 +62,7 @@ bool SvgalibPaintEngine::begin(QPaintDevice *dev)
simplePen = true;
brush = Qt::NoBrush;
simpleBrush = true;
- matrix = QMatrix();
+ matrix = QTransform();
simpleMatrix = true;
setClip(QRect(0, 0, device->width(), device->height()));
opaque = true;
@@ -81,54 +82,52 @@ bool SvgalibPaintEngine::end()
//! [1]
//! [2]
-void SvgalibPaintEngine::updateState(const QPaintEngineState &state)
+void SvgalibPaintEngine::updateState()
{
- QPaintEngine::DirtyFlags flags = state.state();
+ QRasterPaintEngineState *s = state();
- if (flags & DirtyTransform) {
- matrix = state.matrix();
+ if (s->dirty & DirtyTransform) {
+ matrix = s->matrix;
simpleMatrix = (matrix.m12() == 0 && matrix.m21() == 0);
}
- if (flags & DirtyPen) {
- pen = state.pen();
+ if (s->dirty & DirtyPen) {
+ pen = s->pen;
simplePen = (pen.width() == 0 || pen.widthF() <= 1)
&& (pen.style() == Qt::NoPen || pen.style() == Qt::SolidLine)
&& (pen.color().alpha() == 255);
}
- if (flags & DirtyBrush) {
- brush = state.brush();
+ if (s->dirty & DirtyBrush) {
+ brush = s->brush;
simpleBrush = (brush.style() == Qt::SolidPattern
|| brush.style() == Qt::NoBrush)
&& (brush.color().alpha() == 255);
}
- if (flags & DirtyClipRegion)
- setClip(state.clipRegion());
+ if (s->dirty & DirtyClipRegion)
+ setClip(s->clipRegion);
- if (flags & DirtyClipEnabled) {
- clipEnabled = state.isClipEnabled();
+ if (s->dirty & DirtyClipEnabled) {
+ clipEnabled = s->isClipEnabled();
updateClip();
}
- if (flags & DirtyClipPath) {
+ if (s->dirty & DirtyClipPath) {
setClip(QRegion());
simpleClip = false;
}
- if (flags & DirtyCompositionMode) {
- const QPainter::CompositionMode m = state.compositionMode();
+ if (s->dirty & DirtyCompositionMode) {
+ const QPainter::CompositionMode m = s->composition_mode;
sourceOver = (m == QPainter::CompositionMode_SourceOver);
}
- if (flags & DirtyOpacity)
- opaque = (state.opacity() == 256);
+ if (s->dirty & DirtyOpacity)
+ opaque = (s->opacity == 256);
- if (flags & DirtyHints)
- aliased = !(state.renderHints() & QPainter::Antialiasing);
-
- QRasterPaintEngine::updateState(state);
+ if (s->dirty & DirtyHints)
+ aliased = !(s->flags.antialiased);
}
//! [2]
diff --git a/examples/qws/svgalib/svgalibpaintengine.h b/examples/qws/svgalib/svgalibpaintengine.h
index f43d201d2e..27b77eea3c 100644
--- a/examples/qws/svgalib/svgalibpaintengine.h
+++ b/examples/qws/svgalib/svgalibpaintengine.h
@@ -48,12 +48,12 @@
class SvgalibPaintEngine : public QRasterPaintEngine
{
public:
- SvgalibPaintEngine();
+ SvgalibPaintEngine(QPaintDevice *device);
~SvgalibPaintEngine();
bool begin(QPaintDevice *device);
bool end();
- void updateState(const QPaintEngineState &state);
+ void updateState();
void drawRects(const QRect *rects, int rectCount);
private:
@@ -64,7 +64,7 @@ private:
bool simplePen;
QBrush brush;
bool simpleBrush;
- QMatrix matrix;
+ QTransform matrix;
bool simpleMatrix;
QRegion clip;
bool clipEnabled;
diff --git a/examples/threads/waitconditions/waitconditions.pro b/examples/threads/waitconditions/waitconditions.pro
index b07b413ce0..c2be6cda57 100644
--- a/examples/threads/waitconditions/waitconditions.pro
+++ b/examples/threads/waitconditions/waitconditions.pro
@@ -10,8 +10,6 @@ INCLUDEPATH += .
# Input
SOURCES += waitconditions.cpp
CONFIG += qt warn_on create_prl link_prl console
-OBJECTS_DIR=obj/debug-shared
-MOC_DIR=moc/debug-shared
# install
target.path = $$[QT_INSTALL_EXAMPLES]/threads/waitconditions
diff --git a/examples/tutorials/addressbook/part3/addressbook.cpp b/examples/tutorials/addressbook/part3/addressbook.cpp
index 59b297a27c..5b391590f9 100644
--- a/examples/tutorials/addressbook/part3/addressbook.cpp
+++ b/examples/tutorials/addressbook/part3/addressbook.cpp
@@ -91,7 +91,7 @@ AddressBook::AddressBook(QWidget *parent)
mainLayout->addWidget(addressText, 1, 1);
mainLayout->addLayout(buttonLayout1, 1, 2);
//! [adding navigation layout]
- mainLayout->addLayout(buttonLayout2, 3, 1);
+ mainLayout->addLayout(buttonLayout2, 2, 1);
//! [adding navigation layout]
setLayout(mainLayout);
setWindowTitle(tr("Simple Address Book"));
diff --git a/examples/tutorials/addressbook/part4/addressbook.cpp b/examples/tutorials/addressbook/part4/addressbook.cpp
index e4e451f193..a4bf4593f8 100644
--- a/examples/tutorials/addressbook/part4/addressbook.cpp
+++ b/examples/tutorials/addressbook/part4/addressbook.cpp
@@ -100,7 +100,7 @@ AddressBook::AddressBook(QWidget *parent)
mainLayout->addWidget(addressLabel, 1, 0, Qt::AlignTop);
mainLayout->addWidget(addressText, 1, 1);
mainLayout->addLayout(buttonLayout1, 1, 2);
- mainLayout->addLayout(buttonLayout2, 3, 1);
+ mainLayout->addLayout(buttonLayout2, 2, 1);
setLayout(mainLayout);
setWindowTitle(tr("Simple Address Book"));
diff --git a/examples/widgets/softkeys/softkeys.cpp b/examples/widgets/softkeys/softkeys.cpp
index cbd227c90c..e5c2e73ebb 100644
--- a/examples/widgets/softkeys/softkeys.cpp
+++ b/examples/widgets/softkeys/softkeys.cpp
@@ -70,6 +70,12 @@ MainWindow::MainWindow(QWidget *parent)
toggleButton->setContextMenuPolicy(Qt::NoContextMenu);
toggleButton->setCheckable(true);
+ modeButton = new QPushButton(tr("Loop SK window type"), this);
+ modeButton->setContextMenuPolicy(Qt::NoContextMenu);
+
+ modeLabel = new QLabel(tr("Normal maximized"), this);
+ modeLabel->setContextMenuPolicy(Qt::NoContextMenu);
+
pushButton = new QPushButton(tr("File Dialog"), this);
pushButton->setContextMenuPolicy(Qt::NoContextMenu);
@@ -87,6 +93,8 @@ MainWindow::MainWindow(QWidget *parent)
layout->addWidget(toggleButton, 2, 0);
layout->addWidget(pushButton, 2, 1);
layout->addWidget(comboBox, 3, 0, 1, 2);
+ layout->addWidget(modeButton, 4, 0, 1, 2);
+ layout->addWidget(modeLabel, 5, 0, 1, 2);
central->setLayout(layout);
fileMenu = menuBar()->addMenu(tr("&File"));
@@ -97,6 +105,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(pushButton, SIGNAL(clicked()), this, SLOT(openDialog()));
connect(exit, SIGNAL(triggered()), this, SLOT(exitApplication()));
connect(toggleButton, SIGNAL(clicked()), this, SLOT(setCustomSoftKeys()));
+ connect(modeButton, SIGNAL(clicked()), this, SLOT(setMode()));
pushButton->setFocus();
}
@@ -133,6 +142,35 @@ void MainWindow::setCustomSoftKeys()
}
}
+void MainWindow::setMode()
+{
+ if(isMaximized()) {
+ showFullScreen();
+ modeLabel->setText(tr("Normal Fullscreen"));
+ } else {
+ Qt::WindowFlags flags = windowFlags();
+ if(flags & Qt::WindowSoftkeysRespondHint) {
+ flags |= Qt::WindowSoftkeysVisibleHint;
+ flags &= ~Qt::WindowSoftkeysRespondHint;
+ setWindowFlags(flags); // Hides visible window
+ showFullScreen();
+ modeLabel->setText(tr("Fullscreen with softkeys"));
+ } else if(flags & Qt::WindowSoftkeysVisibleHint) {
+ flags &= ~Qt::WindowSoftkeysVisibleHint;
+ flags &= ~Qt::WindowSoftkeysRespondHint;
+ setWindowFlags(flags); // Hides visible window
+ showMaximized();
+ modeLabel->setText(tr("Normal Maximized"));
+ } else {
+ flags &= ~Qt::WindowSoftkeysVisibleHint;
+ flags |= Qt::WindowSoftkeysRespondHint;
+ setWindowFlags(flags); // Hides visible window
+ showFullScreen();
+ modeLabel->setText(tr("Fullscreen with SK respond"));
+ }
+ }
+}
+
void MainWindow::exitApplication()
{
qApp->exit();
diff --git a/examples/widgets/softkeys/softkeys.h b/examples/widgets/softkeys/softkeys.h
index bae31e7c94..d533484c62 100644
--- a/examples/widgets/softkeys/softkeys.h
+++ b/examples/widgets/softkeys/softkeys.h
@@ -57,21 +57,24 @@ private slots:
void okPressed();
void cancelPressed();
void setCustomSoftKeys();
+ void setMode();
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QGridLayout *layout;
QWidget *central;
- QTextEdit* textEditor;
+ QTextEdit *textEditor;
QLabel *infoLabel;
- QPushButton* toggleButton;
- QPushButton* pushButton;
- QMenu* fileMenu;
- QAction* addSoftKeysAct;
- QAction* exit;
- QAction* ok;
- QAction* cancel;
+ QPushButton *toggleButton;
+ QPushButton *pushButton;
+ QPushButton *modeButton;
+ QLabel *modeLabel;
+ QMenu *fileMenu;
+ QAction *addSoftKeysAct;
+ QAction *exit;
+ QAction *ok;
+ QAction *cancel;
};
//! [0]
diff --git a/examples/widgets/windowflags/controllerwindow.cpp b/examples/widgets/windowflags/controllerwindow.cpp
index 0277794aab..fb82b8f664 100644
--- a/examples/widgets/windowflags/controllerwindow.cpp
+++ b/examples/widgets/windowflags/controllerwindow.cpp
@@ -58,7 +58,7 @@ ControllerWindow::ControllerWindow()
bottomLayout->addStretch();
bottomLayout->addWidget(quitButton);
- QVBoxLayout *mainLayout = new QVBoxLayout;
+ QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(typeGroupBox);
mainLayout->addWidget(hintsGroupBox);
mainLayout->addLayout(bottomLayout);
diff --git a/mkspecs/aix-g++-64/qmake.conf b/mkspecs/aix-g++-64/qmake.conf
index 995178bb52..d9d9c38a58 100644
--- a/mkspecs/aix-g++-64/qmake.conf
+++ b/mkspecs/aix-g++-64/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/aix-g++/qmake.conf b/mkspecs/aix-g++/qmake.conf
index 969aa76699..5fc4c17633 100644
--- a/mkspecs/aix-g++/qmake.conf
+++ b/mkspecs/aix-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/aix-xlc-64/qmake.conf b/mkspecs/aix-xlc-64/qmake.conf
index a18aa9fed5..c67bd0b334 100644
--- a/mkspecs/aix-xlc-64/qmake.conf
+++ b/mkspecs/aix-xlc-64/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/aix-xlc/qmake.conf b/mkspecs/aix-xlc/qmake.conf
index 42f6f7e50a..e81fb661c6 100644
--- a/mkspecs/aix-xlc/qmake.conf
+++ b/mkspecs/aix-xlc/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/common/qws.conf b/mkspecs/common/qws.conf
index 0242db4c4a..96341a7a83 100644
--- a/mkspecs/common/qws.conf
+++ b/mkspecs/common/qws.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui network
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 3eedf4f897..976040b9d8 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -13,7 +13,7 @@ contains(QMAKE_HOST.os, "Windows") {
}
include(symbian.conf)
-load(add_mmp_rules)
+load(symbian/add_mmp_rules)
symbian-abld {
# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 2f1cb88af0..e42a705c10 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -26,7 +26,12 @@ QMAKE_CFLAGS_DEBUG =
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS.CW =
+# Symbian build system applies -cwd source on the MWCC command line.
+# this causes problems with include paths, -cwd include uses the same
+# rules for include paths as ARMCC
+# This should really be fixed in raptor, as using CXXFLAGS means we pass
+# both on the command line and rely on the compiler using the last specified
+QMAKE_CXXFLAGS.CW = -cwd include
QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden
QMAKE_CXXFLAGS.GCCE = -fvisibility-inlines-hidden
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
diff --git a/mkspecs/cygwin-g++/qmake.conf b/mkspecs/cygwin-g++/qmake.conf
index 9cbc3d7e76..af9881b51b 100644
--- a/mkspecs/cygwin-g++/qmake.conf
+++ b/mkspecs/cygwin-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/darwin-g++/qmake.conf b/mkspecs/darwin-g++/qmake.conf
index 72baa89ca0..995679ea82 100644
--- a/mkspecs/darwin-g++/qmake.conf
+++ b/mkspecs/darwin-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release link_prl native_precompiled_headers
QT += core gui
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index 155bfc33c9..d844385820 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -17,5 +17,9 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
check.recurse = $$SUBDIRS
check.recurse_target = check
}
+ # `make check' should imply building the project
+ else {
+ check.depends = first
+ }
QMAKE_EXTRA_TARGETS += check
}
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
index 53c0d74a76..e3faef12f4 100644
--- a/mkspecs/features/qttest_p4.prf
+++ b/mkspecs/features/qttest_p4.prf
@@ -27,7 +27,7 @@ embedded: check.commands += -qws
QMAKE_EXTRA_TARGETS += check
!debug_and_release|build_pass {
- check.depends = $(DESTDIR_TARGET)
+ check.depends = first
} else {
check.CONFIG = recursive
# In debug and release mode, only run the test once.
diff --git a/mkspecs/freebsd-g++/qmake.conf b/mkspecs/freebsd-g++/qmake.conf
index acd2a6a5b6..51a1960451 100644
--- a/mkspecs/freebsd-g++/qmake.conf
+++ b/mkspecs/freebsd-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/freebsd-g++34/qmake.conf b/mkspecs/freebsd-g++34/qmake.conf
index 9627b460c1..3e6bf6a5b3 100644
--- a/mkspecs/freebsd-g++34/qmake.conf
+++ b/mkspecs/freebsd-g++34/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/freebsd-g++40/qmake.conf b/mkspecs/freebsd-g++40/qmake.conf
index e3a3c8632c..43d69802ac 100644
--- a/mkspecs/freebsd-g++40/qmake.conf
+++ b/mkspecs/freebsd-g++40/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/freebsd-icc/qmake.conf b/mkspecs/freebsd-icc/qmake.conf
index 60fa7ee67e..c9c3140104 100644
--- a/mkspecs/freebsd-icc/qmake.conf
+++ b/mkspecs/freebsd-icc/qmake.conf
@@ -28,6 +28,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hpux-acc-64/qmake.conf b/mkspecs/hpux-acc-64/qmake.conf
index 8757459722..b138ef833e 100644
--- a/mkspecs/hpux-acc-64/qmake.conf
+++ b/mkspecs/hpux-acc-64/qmake.conf
@@ -46,6 +46,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hpux-acc-o64/qmake.conf b/mkspecs/hpux-acc-o64/qmake.conf
index d4d2c7dc9b..b703540512 100644
--- a/mkspecs/hpux-acc-o64/qmake.conf
+++ b/mkspecs/hpux-acc-o64/qmake.conf
@@ -46,6 +46,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hpux-acc/qmake.conf b/mkspecs/hpux-acc/qmake.conf
index 19ee00f94b..8223a07f28 100644
--- a/mkspecs/hpux-acc/qmake.conf
+++ b/mkspecs/hpux-acc/qmake.conf
@@ -25,6 +25,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hpux-g++-64/qmake.conf b/mkspecs/hpux-g++-64/qmake.conf
index f76bd4e9ec..734a5f7afa 100644
--- a/mkspecs/hpux-g++-64/qmake.conf
+++ b/mkspecs/hpux-g++-64/qmake.conf
@@ -6,6 +6,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf
index 1ed2ee64a8..6935ea99bf 100644
--- a/mkspecs/hpux-g++/qmake.conf
+++ b/mkspecs/hpux-g++/qmake.conf
@@ -6,6 +6,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl plugin_no_soname
QT += core gui
diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf
index 00b400f0de..93006e53dd 100644
--- a/mkspecs/hpuxi-acc-32/qmake.conf
+++ b/mkspecs/hpuxi-acc-32/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release plugin_no_soname
QT += core gui
diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf
index feefd309dc..2fa1f01195 100644
--- a/mkspecs/hpuxi-acc-64/qmake.conf
+++ b/mkspecs/hpuxi-acc-64/qmake.conf
@@ -46,6 +46,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release plugin_no_soname
QT += core gui
diff --git a/mkspecs/hpuxi-g++-64/qmake.conf b/mkspecs/hpuxi-g++-64/qmake.conf
index e8fa053a57..05b069106a 100644
--- a/mkspecs/hpuxi-g++-64/qmake.conf
+++ b/mkspecs/hpuxi-g++-64/qmake.conf
@@ -11,6 +11,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/hurd-g++/qmake.conf b/mkspecs/hurd-g++/qmake.conf
index f213f2d5dc..6570e4079e 100644
--- a/mkspecs/hurd-g++/qmake.conf
+++ b/mkspecs/hurd-g++/qmake.conf
@@ -6,6 +6,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
QT += core gui
CONFIG += qt warn_on release link_prl
diff --git a/mkspecs/irix-cc-64/qmake.conf b/mkspecs/irix-cc-64/qmake.conf
index bf5febb048..4b651b2e96 100644
--- a/mkspecs/irix-cc-64/qmake.conf
+++ b/mkspecs/irix-cc-64/qmake.conf
@@ -35,6 +35,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/irix-cc/qmake.conf b/mkspecs/irix-cc/qmake.conf
index 99e8064326..0070d42a76 100644
--- a/mkspecs/irix-cc/qmake.conf
+++ b/mkspecs/irix-cc/qmake.conf
@@ -35,6 +35,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/irix-g++-64/qmake.conf b/mkspecs/irix-g++-64/qmake.conf
index d614b9dd35..56f02f105b 100644
--- a/mkspecs/irix-g++-64/qmake.conf
+++ b/mkspecs/irix-g++-64/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/irix-g++/qmake.conf b/mkspecs/irix-g++/qmake.conf
index 1f1df30298..c1eafdb76c 100644
--- a/mkspecs/irix-g++/qmake.conf
+++ b/mkspecs/irix-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/linux-cxx/qmake.conf b/mkspecs/linux-cxx/qmake.conf
index 633b738b38..879c78a06c 100644
--- a/mkspecs/linux-cxx/qmake.conf
+++ b/mkspecs/linux-cxx/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/linux-ecc-64/qmake.conf b/mkspecs/linux-ecc-64/qmake.conf
index 359d44be23..21f29604b7 100644
--- a/mkspecs/linux-ecc-64/qmake.conf
+++ b/mkspecs/linux-ecc-64/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/linux-g++-32/qmake.conf b/mkspecs/linux-g++-32/qmake.conf
index 44866cf812..1e5c50b987 100644
--- a/mkspecs/linux-g++-32/qmake.conf
+++ b/mkspecs/linux-g++-32/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf
index 4f8794f3f9..e7372cc205 100644
--- a/mkspecs/linux-g++-64/qmake.conf
+++ b/mkspecs/linux-g++-64/qmake.conf
@@ -6,6 +6,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf
index 38c26a6759..ca201bcc24 100644
--- a/mkspecs/linux-g++-maemo/qmake.conf
+++ b/mkspecs/linux-g++-maemo/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
CONFIG += nostrip
diff --git a/mkspecs/linux-g++-maemo/qplatformdefs.h b/mkspecs/linux-g++-maemo/qplatformdefs.h
index 7e8d1d4b8b..d7feb9e4bc 100644
--- a/mkspecs/linux-g++-maemo/qplatformdefs.h
+++ b/mkspecs/linux-g++-maemo/qplatformdefs.h
@@ -40,3 +40,5 @@
****************************************************************************/
#include "../linux-g++/qplatformdefs.h"
+
+#define QT_GUI_DOUBLE_CLICK_RADIUS 20
diff --git a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf
index 47784e27f7..4b218960c8 100644
--- a/mkspecs/linux-g++/qmake.conf
+++ b/mkspecs/linux-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 965de0c298..eeb24a382d 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -11,6 +11,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/linux-kcc/qmake.conf b/mkspecs/linux-kcc/qmake.conf
index 009c48602b..217572fd85 100644
--- a/mkspecs/linux-kcc/qmake.conf
+++ b/mkspecs/linux-kcc/qmake.conf
@@ -14,6 +14,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/linux-llvm/qmake.conf b/mkspecs/linux-llvm/qmake.conf
index 9c34377de7..73d6609165 100644
--- a/mkspecs/linux-llvm/qmake.conf
+++ b/mkspecs/linux-llvm/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/linux-lsb-g++/qmake.conf b/mkspecs/linux-lsb-g++/qmake.conf
index b603a16110..4b4deabc58 100644
--- a/mkspecs/linux-lsb-g++/qmake.conf
+++ b/mkspecs/linux-lsb-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/linux-pgcc/qmake.conf b/mkspecs/linux-pgcc/qmake.conf
index 756f1af941..19af8ee216 100644
--- a/mkspecs/linux-pgcc/qmake.conf
+++ b/mkspecs/linux-pgcc/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/lynxos-g++/qmake.conf b/mkspecs/lynxos-g++/qmake.conf
index 40f2b9f95e..eae330873b 100644
--- a/mkspecs/lynxos-g++/qmake.conf
+++ b/mkspecs/lynxos-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf
index 43550737e1..4464686b3e 100644
--- a/mkspecs/macx-g++/qmake.conf
+++ b/mkspecs/macx-g++/qmake.conf
@@ -7,6 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
QT += core gui
diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf
index d6fd09d7ae..784f5fce58 100644
--- a/mkspecs/macx-g++40/qmake.conf
+++ b/mkspecs/macx-g++40/qmake.conf
@@ -7,6 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
QT += core gui
diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf
index 06bbdcbb12..fb936973a7 100644
--- a/mkspecs/macx-g++42/qmake.conf
+++ b/mkspecs/macx-g++42/qmake.conf
@@ -7,6 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
QT += core gui
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index b7753d8216..00de6c437a 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -13,6 +13,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release link_prl app_bundle
QT += core gui
diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf
index de8040c340..d46baeaa37 100644
--- a/mkspecs/macx-llvm/qmake.conf
+++ b/mkspecs/macx-llvm/qmake.conf
@@ -7,6 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl
QT += core gui
diff --git a/mkspecs/macx-xlc/qmake.conf b/mkspecs/macx-xlc/qmake.conf
index 6a8c24659e..f84524bbdf 100644
--- a/mkspecs/macx-xlc/qmake.conf
+++ b/mkspecs/macx-xlc/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release app_bundle global_init_link_order lib_version_first plugin_no_soname link_prl
QT += core gui
diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf
index 622baceb7d..1cb449f5cd 100644
--- a/mkspecs/netbsd-g++/qmake.conf
+++ b/mkspecs/netbsd-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf
index 4204f65f67..c948c90dc5 100644
--- a/mkspecs/openbsd-g++/qmake.conf
+++ b/mkspecs/openbsd-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/qws/freebsd-generic-g++/qmake.conf b/mkspecs/qws/freebsd-generic-g++/qmake.conf
index 19d6709ac4..6e30d4fe17 100644
--- a/mkspecs/qws/freebsd-generic-g++/qmake.conf
+++ b/mkspecs/qws/freebsd-generic-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release
QT += core gui network
diff --git a/mkspecs/qws/macx-generic-g++/qmake.conf b/mkspecs/qws/macx-generic-g++/qmake.conf
index b724cbc322..f753222ed2 100644
--- a/mkspecs/qws/macx-generic-g++/qmake.conf
+++ b/mkspecs/qws/macx-generic-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = macx
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui network
diff --git a/mkspecs/qws/solaris-generic-g++/qmake.conf b/mkspecs/qws/solaris-generic-g++/qmake.conf
index db83a572df..f5874c22eb 100644
--- a/mkspecs/qws/solaris-generic-g++/qmake.conf
+++ b/mkspecs/qws/solaris-generic-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui network
diff --git a/mkspecs/sco-cc/qmake.conf b/mkspecs/sco-cc/qmake.conf
index f682f49285..6eb5ca12ec 100644
--- a/mkspecs/sco-cc/qmake.conf
+++ b/mkspecs/sco-cc/qmake.conf
@@ -8,6 +8,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
QT += core gui
CONFIG += qt warn_on release link_prl
diff --git a/mkspecs/sco-g++/qmake.conf b/mkspecs/sco-g++/qmake.conf
index 268bf320d9..746cf2ceb0 100644
--- a/mkspecs/sco-g++/qmake.conf
+++ b/mkspecs/sco-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/solaris-cc-64/qmake.conf b/mkspecs/solaris-cc-64/qmake.conf
index d51d77a883..3d35d62e30 100644
--- a/mkspecs/solaris-cc-64/qmake.conf
+++ b/mkspecs/solaris-cc-64/qmake.conf
@@ -22,6 +22,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/solaris-cc/qmake.conf b/mkspecs/solaris-cc/qmake.conf
index 354b83cba1..0c97620111 100644
--- a/mkspecs/solaris-cc/qmake.conf
+++ b/mkspecs/solaris-cc/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/solaris-g++-64/qmake.conf b/mkspecs/solaris-g++-64/qmake.conf
index e89aff3f8c..587c630046 100644
--- a/mkspecs/solaris-g++-64/qmake.conf
+++ b/mkspecs/solaris-g++-64/qmake.conf
@@ -26,6 +26,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/solaris-g++/qmake.conf b/mkspecs/solaris-g++/qmake.conf
index bce0889686..08149807ea 100644
--- a/mkspecs/solaris-g++/qmake.conf
+++ b/mkspecs/solaris-g++/qmake.conf
@@ -9,6 +9,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/symbian-abld/qmake.conf b/mkspecs/symbian-abld/qmake.conf
index b83876d1b1..fe9cd604c7 100644
--- a/mkspecs/symbian-abld/qmake.conf
+++ b/mkspecs/symbian-abld/qmake.conf
@@ -5,5 +5,6 @@
#
MAKEFILE_GENERATOR = SYMBIAN_ABLD
+option(recursive)
include(../common/symbian/symbian-mmp.conf)
diff --git a/mkspecs/symbian-sbsv2/qmake.conf b/mkspecs/symbian-sbsv2/qmake.conf
index f6cf58c2ee..73d3ee32bb 100644
--- a/mkspecs/symbian-sbsv2/qmake.conf
+++ b/mkspecs/symbian-sbsv2/qmake.conf
@@ -5,5 +5,6 @@
#
MAKEFILE_GENERATOR = SYMBIAN_SBSV2
+option(recursive)
include(../common/symbian/symbian-mmp.conf)
diff --git a/mkspecs/tru64-cxx/qmake.conf b/mkspecs/tru64-cxx/qmake.conf
index 8cef84d81b..88021df958 100644
--- a/mkspecs/tru64-cxx/qmake.conf
+++ b/mkspecs/tru64-cxx/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl plugin_no_soname
QT += core gui
diff --git a/mkspecs/tru64-g++/qmake.conf b/mkspecs/tru64-g++/qmake.conf
index 7749013eaf..71e5682485 100644
--- a/mkspecs/tru64-g++/qmake.conf
+++ b/mkspecs/tru64-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl plugin_no_soname
QT += core gui
diff --git a/mkspecs/unixware-cc/qmake.conf b/mkspecs/unixware-cc/qmake.conf
index 978aaa178a..5fb2b2cc3c 100644
--- a/mkspecs/unixware-cc/qmake.conf
+++ b/mkspecs/unixware-cc/qmake.conf
@@ -8,6 +8,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unixware-g++/qmake.conf b/mkspecs/unixware-g++/qmake.conf
index ce1a0f1c0b..b6a438a0b3 100644
--- a/mkspecs/unixware-g++/qmake.conf
+++ b/mkspecs/unixware-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf
index 1ade6b9b84..28e7754066 100644
--- a/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf
+++ b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf
@@ -12,6 +12,7 @@
# $staging/usr/lib/pkgconfig)
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl
QT += core gui
diff --git a/mkspecs/unsupported/qnx-g++/qmake.conf b/mkspecs/unsupported/qnx-g++/qmake.conf
index 2e568dcabc..37e7bceec0 100644
--- a/mkspecs/unsupported/qnx-g++/qmake.conf
+++ b/mkspecs/unsupported/qnx-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/qws/qnx-641/qmake.conf b/mkspecs/unsupported/qws/qnx-641/qmake.conf
index db333b77ea..12eaf1d301 100644
--- a/mkspecs/unsupported/qws/qnx-641/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-641/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
index 51fe69736c..62857bf220 100644
--- a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
index fffb80fa67..dce60ea539 100644
--- a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
index 56a9c66aea..93d04ffffb 100644
--- a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
@@ -5,6 +5,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release link_prl
QT += core gui
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
index a8f7e49b56..fc0b12587c 100644
--- a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl vxworks
QT += core gui network
diff --git a/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
index be8c13d0b6..80b5f3e088 100644
--- a/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
+++ b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl vxworks
QT += core gui network
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
index 6228a6be3a..be351725d9 100644
--- a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl vxworks
QT += core gui network
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
index 29e9c70c5d..83f46c052a 100644
--- a/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
@@ -3,6 +3,7 @@
#
MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl vxworks
QT += core gui network
diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
index c520c32515..ab7d558895 100644
--- a/qmake/Makefile.win32-g++
+++ b/qmake/Makefile.win32-g++
@@ -27,7 +27,7 @@ CFLAGS = -c -o$@ -O \
-DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
-DQT_BOOTSTRAPPED
CXXFLAGS = $(CFLAGS)
-LFLAGS =
+LFLAGS = -static-libgcc -s
LIBS = -lole32 -luuid
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
ADDCLEAN =
diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
index 7a3edea2db..755d04675f 100644
--- a/qmake/Makefile.win32-g++-sh
+++ b/qmake/Makefile.win32-g++-sh
@@ -27,7 +27,7 @@ CFLAGS = -c -o$@ -O \
-DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
-DQT_BOOTSTRAPPED
CXXFLAGS = $(CFLAGS)
-LFLAGS =
+LFLAGS = -static-libgcc -s
LIBS = -lole32 -luuid
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
ADDCLEAN =
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index ac9fa998d2..1a7391b5dd 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -523,9 +523,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
debug_msg(1, "pbuilder: Creating file: %s", mkfile.toLatin1().constData());
QTextStream mkt(&mkf);
writeHeader(mkt);
- mkt << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ?
- QString((QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake")) :
- var("QMAKE_QMAKE")) << endl;
+ mkt << "QMAKE = " << var("QMAKE_QMAKE") << endl;
writeMakeQmake(mkt);
mkt.flush();
mkf.close();
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index ec712a06c1..b9d2445982 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -806,9 +806,8 @@ MakefileGenerator::init()
}
// escape qmake command
- if (!project->isEmpty("QMAKE_QMAKE")) {
- project->values("QMAKE_QMAKE") = escapeFilePaths(project->values("QMAKE_QMAKE"));
- }
+ QStringList &qmk = project->values("QMAKE_QMAKE");
+ qmk = escapeFilePaths(qmk);
}
bool
@@ -2097,7 +2096,7 @@ MakefileGenerator::writeExtraVariables(QTextStream &t)
bool
MakefileGenerator::writeStubMakefile(QTextStream &t)
{
- t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
QStringList &qut = project->values("QMAKE_EXTRA_TARGETS");
for(QStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it)
t << *it << " ";
@@ -2152,12 +2151,14 @@ QString MakefileGenerator::buildArgs(const QString &outdir)
ret += " -nodependheuristics";
if(!Option::mkfile::qmakespec_commandline.isEmpty())
ret += " -spec " + specdir(outdir);
- if(Option::target_mode == Option::TARG_MACX_MODE)
- ret += " -macx";
- else if(Option::target_mode == Option::TARG_UNIX_MODE)
- ret += " -unix";
- else if(Option::target_mode == Option::TARG_WIN_MODE)
- ret += " -win32";
+ if (Option::target_mode_overridden) {
+ if (Option::target_mode == Option::TARG_MACX_MODE)
+ ret += " -macx";
+ else if (Option::target_mode == Option::TARG_UNIX_MODE)
+ ret += " -unix";
+ else if (Option::target_mode == Option::TARG_WIN_MODE)
+ ret += " -win32";
+ }
//configs
for(QStringList::Iterator it = Option::user_configs.begin();
@@ -2210,8 +2211,7 @@ MakefileGenerator::writeHeader(QTextStream &t)
t << "# Project: " << fileFixify(project->projectFile()) << endl;
t << "# Template: " << var("TEMPLATE") << endl;
if(!project->isActiveConfig("build_pass"))
- t << "# Command: " << build_args().replace("$(QMAKE)",
- (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE"))) << endl;
+ t << "# Command: " << build_args().replace("$(QMAKE)", var("QMAKE_QMAKE")) << endl;
t << "#############################################################################" << endl;
t << endl;
}
@@ -2344,7 +2344,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
t << "MAKEFILE = " << ofile << endl;
/* Calling Option::fixPathToTargetOS() is necessary for MinGW/MSYS, which requires
* back-slashes to be turned into slashes. */
- t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl;
t << "MKDIR = " << var("QMAKE_MKDIR") << endl;
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index 85510ea9e8..4c3be3daf1 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -247,7 +247,8 @@ public:
virtual bool supportsMergedBuilds() { return false; }
virtual bool mergeBuildProject(MakefileGenerator * /*other*/) { return false; }
virtual bool openOutput(QFile &, const QString &build) const;
- virtual bool isWindowsShell() const { return Option::target_mode == Option::TARG_WIN_MODE; }
+ virtual bool isWindowsShell() const { return Option::host_mode == Option::HOST_WIN_MODE; }
+ virtual bool isForSymbianSbsv2() const { return false; } // FIXME: killme - i'm ugly!
/* The next one is to avoid having SymbianCommonGenerator as a virtually
inherited class of this class. Instead it is without a base class
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index dc3bbc7670..e76e596941 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -293,7 +293,15 @@ SubdirsMetaMakefileGenerator::init()
init_flag = true;
bool hasError = false;
- if(Option::recursive) {
+ // It might make sense to bequeath the CONFIG option to the recursed
+ // projects. OTOH, one would most likely have it in all projects anyway -
+ // either through a qmakespec, a .qmake.cache or explicitly - as otherwise
+ // running qmake in a subdirectory would have a different auto-recurse
+ // setting than in parent directories.
+ bool recurse = Option::recursive == Option::QMAKE_RECURSIVE_YES
+ || (Option::recursive == Option::QMAKE_RECURSIVE_DEFAULT
+ && project->isRecursive());
+ if(recurse) {
QString old_output_dir = Option::output_dir;
QString old_output = Option::output.fileName();
QString oldpwd = qmake_getpwd();
@@ -375,7 +383,7 @@ SubdirsMetaMakefileGenerator::init()
Subdir *self = new Subdir;
self->input_dir = qmake_getpwd();
self->output_dir = Option::output_dir;
- if(!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
+ if(!recurse || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
self->output_file = Option::output.fileName();
self->makefile = new BuildsMetaMakefileGenerator(project, name, false);
self->makefile->init();
@@ -459,7 +467,7 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)
} else if(gen == "PROJECTBUILDER" || gen == "XCODE") {
mkfile = new ProjectBuilderMakefileGenerator;
} else if(gen == "MSVC.NET") {
- if(proj->first("TEMPLATE").indexOf(QRegExp("^vc.*")) != -1)
+ if (proj->first("TEMPLATE").startsWith("vc"))
mkfile = new VcprojGenerator;
else
mkfile = new NmakeMakefileGenerator;
@@ -481,6 +489,40 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)
return mkfile;
}
+bool
+MetaMakefileGenerator::modesForGenerator(const QString &gen,
+ Option::HOST_MODE *host_mode, Option::TARG_MODE *target_mode)
+{
+ if (gen == "UNIX") {
+#ifdef Q_OS_MAC
+ *host_mode = Option::HOST_MACX_MODE;
+ *target_mode = Option::TARG_MACX_MODE;
+#else
+ *host_mode = Option::HOST_UNIX_MODE;
+ *target_mode = Option::TARG_UNIX_MODE;
+#endif
+ } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE") {
+ *host_mode = Option::HOST_WIN_MODE;
+ *target_mode = Option::TARG_WIN_MODE;
+ } else if (gen == "PROJECTBUILDER" || gen == "XCODE") {
+ *host_mode = Option::HOST_MACX_MODE;
+ *target_mode = Option::TARG_MACX_MODE;
+ } else if (gen == "SYMBIAN_ABLD" || gen == "SYMBIAN_SBSV2" || gen == "SYMBIAN_UNIX") {
+#if defined(Q_OS_MAC)
+ *host_mode = Option::HOST_MACX_MODE;
+#elif defined(Q_OS_UNIX)
+ *host_mode = Option::HOST_UNIX_MODE;
+#else
+ *host_mode = Option::HOST_WIN_MODE;
+#endif
+ *target_mode = Option::TARG_SYMBIAN_MODE;
+ } else {
+ fprintf(stderr, "Unknown generator specified: %s\n", gen.toLatin1().constData());
+ return false;
+ }
+ return true;
+}
+
MetaMakefileGenerator *
MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success)
{
diff --git a/qmake/generators/metamakefile.h b/qmake/generators/metamakefile.h
index 867511589b..e559c8e863 100644
--- a/qmake/generators/metamakefile.h
+++ b/qmake/generators/metamakefile.h
@@ -42,6 +42,8 @@
#ifndef METAMAKEFILE_H
#define METAMAKEFILE_H
+#include <option.h>
+
#include <qlist.h>
#include <qstring.h>
@@ -65,6 +67,9 @@ public:
static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true, bool *success = 0);
static MakefileGenerator *createMakefileGenerator(QMakeProject *proj, bool noIO = false);
+ static bool modesForGenerator(const QString &generator,
+ Option::HOST_MODE *host_mode, Option::TARG_MODE *target_mode);
+
inline QMakeProject *projectFile() const { return project; }
virtual bool init() = 0;
diff --git a/qmake/generators/projectgenerator.cpp b/qmake/generators/projectgenerator.cpp
index 8622cd9fd4..d2256359db 100644
--- a/qmake/generators/projectgenerator.cpp
+++ b/qmake/generators/projectgenerator.cpp
@@ -111,7 +111,7 @@ ProjectGenerator::init()
add_depend = true;
if(dir.right(1) != Option::dir_sep)
dir += Option::dir_sep;
- if(Option::recursive) {
+ if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
QStringList files = QDir(dir).entryList(QDir::Files);
for(int i = 0; i < (int)files.count(); i++) {
if(files[i] != "." && files[i] != "..")
@@ -138,7 +138,7 @@ ProjectGenerator::init()
dir = regex.left(s+1);
regex = regex.right(regex.length() - (s+1));
}
- if(Option::recursive) {
+ if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
QStringList entries = QDir(dir).entryList(QDir::Dirs);
for(int i = 0; i < (int)entries.count(); i++) {
if(entries[i] != "." && entries[i] != "..") {
@@ -193,7 +193,7 @@ ProjectGenerator::init()
subdirs.append(nd);
}
}
- if(Option::recursive) {
+ if(Option::recursive == Option::QMAKE_RECURSIVE_YES) {
QStringList dirs = QDir(newdir).entryList(QDir::Dirs);
for(int i = 0; i < (int)dirs.count(); i++) {
QString nd = fileFixify(newdir + QDir::separator() + dirs[i]);
@@ -230,7 +230,8 @@ ProjectGenerator::init()
}
}
}
- if(Option::recursive && !knownDirs.contains(newdir, Qt::CaseInsensitive))
+ if(Option::recursive == Option::QMAKE_RECURSIVE_YES
+ && !knownDirs.contains(newdir, Qt::CaseInsensitive))
knownDirs.append(newdir);
}
}
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index a812e5f90c..393e56b7b3 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -1001,6 +1001,10 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
fixedItem = item;
}
+ QString condition;
+ if (!project->isEmpty(item + ".condition"))
+ condition = project->first(item + ".condition");
+
QFileInfo subdir(fileInfo(fixedItem));
QString relativePath = directory.relativeFilePath(fixedItem);
QString subdirFileName = subdir.completeBaseName();
@@ -1029,9 +1033,16 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
bldinfDefine = bldinfDefine.toUpper();
removeEpocSpecialCharacters(bldinfDefine);
+ if (!condition.isEmpty())
+ t << "#if defined(" << condition << ")" << endl;
+
t << "#ifndef " << bldinfDefine << endl;
t << "\t#include \"" << bldinfFilename << "\"" << endl;
- t << "#endif // " << bldinfDefine << endl;
+ t << "#endif" << endl;
+
+ if (!condition.isEmpty())
+ t << "#endif" << endl;
+
}
// Add supported project platforms
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 1fc87aae80..f05e7ff8f4 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -200,7 +200,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << endl;
t << "MAKEFILE = " << wrapperFile.fileName() << endl;
- t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
t << "MOVE = " << var("QMAKE_MOVE") << endl;
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 8c7eabf3ad..d1d0104bcd 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -144,7 +144,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "# ==============================================================================" << "\n" << endl;
t << endl;
t << "MAKEFILE = " << wrapperFile.fileName() << endl;
- t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
t << "MOVE = " << var("QMAKE_MOVE") << endl;
diff --git a/qmake/generators/symbian/symmake_sbsv2.h b/qmake/generators/symbian/symmake_sbsv2.h
index b8ccdbec98..286c91ca6a 100644
--- a/qmake/generators/symbian/symmake_sbsv2.h
+++ b/qmake/generators/symbian/symmake_sbsv2.h
@@ -56,6 +56,7 @@ protected:
virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile);
virtual void appendAbldTempDirs(QStringList& sysincspaths, QString includepath);
+ virtual bool isForSymbianSbsv2() const { return true; } // FIXME: killme - i'm ugly!
public:
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 030983d07c..db5b957da9 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -103,8 +103,6 @@ UnixMakefileGenerator::init()
MakefileGenerator::init();
if(project->isEmpty("MAKEFILE"))
project->values("MAKEFILE").append("Makefile");
- if(project->isEmpty("QMAKE_QMAKE"))
- project->values("QMAKE_QMAKE").append("qmake");
if(project->values("QMAKE_INTERNAL_QMAKE_DEPS").indexOf("qmake_all") == -1)
project->values("QMAKE_INTERNAL_QMAKE_DEPS").append("qmake_all");
return; /* subdirs is done */
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index b9e0ec840a..3e731a190f 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -81,7 +81,7 @@ UnixMakefileGenerator::writeMakefile(QTextStream &t)
writeHeader(t);
if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) {
- t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
QStringList &qut = project->values("QMAKE_EXTRA_TARGETS");
for(QStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it)
t << *it << " ";
@@ -154,7 +154,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
t << "AR = " << var("QMAKE_AR") << endl;
t << "RANLIB = " << var("QMAKE_RANLIB") << endl;
- t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "TAR = " << var("QMAKE_TAR") << endl;
t << "COMPRESS = " << var("QMAKE_GZIP") << endl;
if(project->isActiveConfig("compile_libtool"))
diff --git a/qmake/generators/win32/borland_bmake.cpp b/qmake/generators/win32/borland_bmake.cpp
index 9208e1d2b6..b5c33c432c 100644
--- a/qmake/generators/win32/borland_bmake.cpp
+++ b/qmake/generators/win32/borland_bmake.cpp
@@ -115,8 +115,6 @@ BorlandMakefileGenerator::init()
project->values("QMAKE_INSTALL_DIR").append("$(COPY_DIR)");
if(project->values("MAKEFILE").isEmpty())
project->values("MAKEFILE").append("Makefile");
- if(project->values("QMAKE_QMAKE").isEmpty())
- project->values("QMAKE_QMAKE").append("qmake");
return;
}
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index e1f502f68e..fd431459c5 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -143,7 +143,7 @@ bool MingwMakefileGenerator::writeMakefile(QTextStream &t)
if(project->first("TEMPLATE") == "app" ||
project->first("TEMPLATE") == "lib") {
if(Option::mkfile::do_stub_makefile) {
- t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
QStringList &qut = project->values("QMAKE_EXTRA_TARGETS");
for(QStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it)
t << *it << " ";
@@ -248,8 +248,6 @@ void MingwMakefileGenerator::init()
project->values("QMAKE_INSTALL_DIR").append("$(COPY_DIR)");
if(project->values("MAKEFILE").isEmpty())
project->values("MAKEFILE").append("Makefile");
- if(project->values("QMAKE_QMAKE").isEmpty())
- project->values("QMAKE_QMAKE").append("qmake");
return;
}
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index 7566b23845..92e8aeba7f 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -156,8 +156,6 @@ void NmakeMakefileGenerator::init()
MakefileGenerator::init();
if(project->values("MAKEFILE").isEmpty())
project->values("MAKEFILE").append("Makefile");
- if(project->values("QMAKE_QMAKE").isEmpty())
- project->values("QMAKE_QMAKE").append("qmake");
if(project->isEmpty("QMAKE_COPY_FILE"))
project->values("QMAKE_COPY_FILE").append("$(COPY)");
if(project->isEmpty("QMAKE_COPY_DIR"))
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 9d3b4c62c6..64aaf34294 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -150,6 +150,10 @@ Win32MakefileGenerator::findLibraries(const QString &where)
if(QMakeMetaInfo::libExists((*it).local() + Option::dir_sep + lib) ||
exists((*it).local() + Option::dir_sep + lib + extension)) {
out = (*it).real() + Option::dir_sep + lib + extension;
+ if (out.contains(QLatin1Char(' '))) {
+ out.prepend(QLatin1Char('\"'));
+ out.append(QLatin1Char('\"'));
+ }
break;
}
}
@@ -591,8 +595,7 @@ void Win32MakefileGenerator::writeStandardParts(QTextStream &t)
writeIncPart(t);
writeLibsPart(t);
- t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") :
- Option::fixPathToTargetOS(var("QMAKE_QMAKE"), false)) << endl;
+ t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "IDC = " << (project->isEmpty("QMAKE_IDC") ? QString("idc") :
Option::fixPathToTargetOS(var("QMAKE_IDC"), false)) << endl;
t << "IDL = " << (project->isEmpty("QMAKE_IDL") ? QString("midl") :
@@ -764,6 +767,11 @@ QString Win32MakefileGenerator::getLibTarget()
return QString(project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".lib");
}
+QString Win32MakefileGenerator::getPdbTarget()
+{
+ return QString(project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".pdb");
+}
+
QString Win32MakefileGenerator::defaultInstall(const QString &t)
{
if((t != "target" && t != "dlltarget") ||
@@ -804,6 +812,18 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) \"" + dst_targ + "\"");
}
+ if(project->isActiveConfig("shared") && project->isActiveConfig("debug")) {
+ QString pdb_target = getPdbTarget();
+ pdb_target.remove('"');
+ QString src_targ = (project->isEmpty("DESTDIR") ? QString("$(DESTDIR)") : project->first("DESTDIR")) + pdb_target;
+ QString dst_targ = filePrefixRoot(root, fileFixify(targetdir + pdb_target, FileFixifyAbsolute));
+ if(!ret.isEmpty())
+ ret += "\n\t";
+ ret += QString("-$(INSTALL_FILE)") + " \"" + src_targ + "\" \"" + dst_targ + "\"";
+ if(!uninst.isEmpty())
+ uninst.append("\n\t");
+ uninst.append("-$(DEL_FILE) \"" + dst_targ + "\"");
+ }
}
if(t == "dlltarget" || project->values(t + ".CONFIG").indexOf("no_dll") == -1) {
diff --git a/qmake/generators/win32/winmakefile.h b/qmake/generators/win32/winmakefile.h
index 5437524495..3a2e3a1ee8 100644
--- a/qmake/generators/win32/winmakefile.h
+++ b/qmake/generators/win32/winmakefile.h
@@ -83,6 +83,7 @@ protected:
virtual void processRcFileVar();
virtual void processFileTagsVar();
virtual QString getLibTarget();
+ virtual QString getPdbTarget();
};
inline Win32MakefileGenerator::~Win32MakefileGenerator()
diff --git a/qmake/main.cpp b/qmake/main.cpp
index 50f9272e22..42679a2e93 100644
--- a/qmake/main.cpp
+++ b/qmake/main.cpp
@@ -149,7 +149,7 @@ int runQMake(int argc, char **argv)
//setup pwd properly
debug_msg(1, "Resetting dir to: %s", oldpwd.toLatin1().constData());
qmake_setpwd(oldpwd); //reset the old pwd
- int di = fn.lastIndexOf(Option::dir_sep);
+ int di = fn.lastIndexOf(QDir::separator());
if(di != -1) {
debug_msg(1, "Changing dir to: %s", fn.left(di).toLatin1().constData());
if(!qmake_setpwd(fn.left(di)))
diff --git a/qmake/option.cpp b/qmake/option.cpp
index f77561742d..d7c5397c7e 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -88,7 +88,7 @@ int Option::warn_level = WarnLogic;
int Option::debug_level = 0;
QFile Option::output;
QString Option::output_dir;
-bool Option::recursive = false;
+Option::QMAKE_RECURSIVE Option::recursive = Option::QMAKE_RECURSIVE_DEFAULT;
QStringList Option::before_user_vars;
QStringList Option::after_user_vars;
QStringList Option::user_configs;
@@ -96,13 +96,9 @@ QStringList Option::after_user_configs;
QString Option::user_template;
QString Option::user_template_prefix;
QStringList Option::shellPath;
-#if defined(Q_OS_WIN32)
-Option::TARG_MODE Option::target_mode = Option::TARG_WIN_MODE;
-#elif defined(Q_OS_MAC)
-Option::TARG_MODE Option::target_mode = Option::TARG_MACX_MODE;
-#else
-Option::TARG_MODE Option::target_mode = Option::TARG_UNIX_MODE;
-#endif
+Option::HOST_MODE Option::host_mode = Option::HOST_UNKNOWN_MODE;
+Option::TARG_MODE Option::target_mode = Option::TARG_UNKNOWN_MODE;
+bool Option::target_mode_overridden = false;
//QMAKE_*_PROPERTY stuff
QStringList Option::prop::properties;
@@ -126,7 +122,7 @@ QString Option::mkfile::qmakespec_commandline;
static Option::QMAKE_MODE default_mode(QString progname)
{
- int s = progname.lastIndexOf(Option::dir_sep);
+ int s = progname.lastIndexOf(QDir::separator());
if(s != -1)
progname = progname.right(progname.length() - (s + 1));
if(progname == "qmakegen")
@@ -184,9 +180,6 @@ bool usage(const char *a0)
" * processed as if it was in [files]. These assignments will be parsed *\n"
" * before [files]. *\n"
" -o file Write output to file\n"
- " -unix Run in unix mode\n"
- " -win32 Run in win32 mode\n"
- " -macx Run in Mac OS X mode\n"
" -d Increase debug level\n"
" -t templ Overrides TEMPLATE as templ\n"
" -tp prefix Overrides TEMPLATE so that prefix is prefixed into the value\n"
@@ -223,7 +216,7 @@ Option::parseCommandLine(int argc, char **argv, int skip)
if(x == 1) {
bool specified = true;
if(opt == "project") {
- Option::recursive = true;
+ Option::recursive = Option::QMAKE_RECURSIVE_YES;
Option::qmake_mode = Option::QMAKE_GENERATE_PROJECT;
} else if(opt == "prl") {
Option::mkfile::do_deps = false;
@@ -251,11 +244,20 @@ Option::parseCommandLine(int argc, char **argv, int skip)
} else if(opt == "tp" || opt == "template_prefix") {
Option::user_template_prefix = argv[++x];
} else if(opt == "macx") {
+ fprintf(stderr, "-macx is deprecated.\n");
+ Option::host_mode = HOST_MACX_MODE;
Option::target_mode = TARG_MACX_MODE;
+ Option::target_mode_overridden = true;
} else if(opt == "unix") {
+ fprintf(stderr, "-unix is deprecated.\n");
+ Option::host_mode = HOST_UNIX_MODE;
Option::target_mode = TARG_UNIX_MODE;
+ Option::target_mode_overridden = true;
} else if(opt == "win32") {
+ fprintf(stderr, "-win32 is deprecated.\n");
+ Option::host_mode = HOST_WIN_MODE;
Option::target_mode = TARG_WIN_MODE;
+ Option::target_mode_overridden = true;
} else if(opt == "d") {
Option::debug_level++;
} else if(opt == "version" || opt == "v" || opt == "-version") {
@@ -279,9 +281,9 @@ Option::parseCommandLine(int argc, char **argv, int skip)
} else if(opt == "Wnone") {
Option::warn_level = WarnNone;
} else if(opt == "r" || opt == "recursive") {
- Option::recursive = true;
- } else if(opt == "norecursive") {
- Option::recursive = false;
+ Option::recursive = Option::QMAKE_RECURSIVE_YES;
+ } else if(opt == "nr" || opt == "norecursive") {
+ Option::recursive = Option::QMAKE_RECURSIVE_NO;
} else if(opt == "config") {
Option::user_configs += argv[++x];
} else {
@@ -405,6 +407,7 @@ Option::init(int argc, char **argv)
#ifdef Q_OS_WIN
Option::dirlist_sep = ";";
Option::shellPath = detectShellPath();
+ Option::res_ext = ".res";
#else
Option::dirlist_sep = ":";
Option::shellPath = QStringList("sh");
@@ -523,21 +526,37 @@ Option::init(int argc, char **argv)
}
#endif
}
+ } else if (Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) {
+#if defined(Q_OS_MAC)
+ Option::host_mode = Option::HOST_MACX_MODE;
+ Option::target_mode = Option::TARG_MACX_MODE;
+#elif defined(Q_OS_UNIX)
+ Option::host_mode = Option::HOST_UNIX_MODE;
+ Option::target_mode = Option::TARG_UNIX_MODE;
+#else
+ Option::host_mode = Option::HOST_WIN_MODE;
+ Option::target_mode = Option::TARG_WIN_MODE;
+#endif
}
//defaults for globals
- if(Option::target_mode == Option::TARG_WIN_MODE) {
- Option::dir_sep = "\\";
- Option::obj_ext = ".obj";
- Option::res_ext = ".res";
- } else {
- Option::dir_sep = "/";
- Option::obj_ext = ".o";
- }
- Option::qmake_abslocation = Option::fixPathToTargetOS(Option::qmake_abslocation);
+ if (Option::host_mode != Option::HOST_UNKNOWN_MODE)
+ applyHostMode();
return QMAKE_CMDLINE_SUCCESS;
}
+void Option::applyHostMode()
+{
+ if (Option::host_mode == Option::HOST_WIN_MODE) {
+ Option::dir_sep = "\\";
+ Option::obj_ext = ".obj";
+ } else {
+ Option::dir_sep = "/";
+ Option::obj_ext = ".o";
+ }
+ Option::qmake_abslocation = Option::fixPathToTargetOS(Option::qmake_abslocation);
+}
+
bool Option::postProcessProject(QMakeProject *project)
{
Option::cpp_ext = project->variables()["QMAKE_EXT_CPP"];
diff --git a/qmake/option.h b/qmake/option.h
index a2ca676d4a..9bfdaede88 100644
--- a/qmake/option.h
+++ b/qmake/option.h
@@ -106,6 +106,7 @@ struct Option
//both of these must be called..
static int init(int argc=0, char **argv=0); //parse cmdline
+ static void applyHostMode();
static bool postProcessProject(QMakeProject *);
enum StringFixFlags {
@@ -148,10 +149,15 @@ struct Option
static QString output_dir;
static int debug_level;
static int warn_level;
- static bool recursive;
+ enum QMAKE_RECURSIVE { QMAKE_RECURSIVE_DEFAULT, QMAKE_RECURSIVE_YES, QMAKE_RECURSIVE_NO };
+ static QMAKE_RECURSIVE recursive;
static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs;
- enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE };
+ enum HOST_MODE { HOST_UNKNOWN_MODE, HOST_UNIX_MODE, HOST_WIN_MODE, HOST_MACX_MODE };
+ static HOST_MODE host_mode;
+ enum TARG_MODE { TARG_UNKNOWN_MODE, TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE,
+ TARG_SYMBIAN_MODE };
static TARG_MODE target_mode;
+ static bool target_mode_overridden;
static QString user_template, user_template_prefix;
static QStringList shellPath;
diff --git a/qmake/project.cpp b/qmake/project.cpp
index e1f2030eac..9e6db108ea 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -43,6 +43,7 @@
#include "property.h"
#include "option.h"
#include "cachekeys.h"
+#include "generators/metamakefile.h"
#include <qdatetime.h>
#include <qfile.h>
@@ -121,7 +122,7 @@ enum TestFunc { T_REQUIRES=1, T_GREATERTHAN, T_LESSTHAN, T_EQUALS,
T_EXISTS, T_EXPORT, T_CLEAR, T_UNSET, T_EVAL, T_CONFIG, T_SYSTEM,
T_RETURN, T_BREAK, T_NEXT, T_DEFINED, T_CONTAINS, T_INFILE,
T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_ERROR,
- T_MESSAGE, T_WARNING, T_IF };
+ T_MESSAGE, T_WARNING, T_IF, T_OPTION };
QMap<QString, TestFunc> qmake_testFunctions()
{
static QMap<QString, TestFunc> *qmake_test_functions = 0;
@@ -155,6 +156,7 @@ QMap<QString, TestFunc> qmake_testFunctions()
qmake_test_functions->insert("error", T_ERROR);
qmake_test_functions->insert("message", T_MESSAGE);
qmake_test_functions->insert("warning", T_WARNING);
+ qmake_test_functions->insert("option", T_OPTION);
}
return *qmake_test_functions;
}
@@ -507,76 +509,6 @@ static void qmake_error_msg(const QString &msg)
msg.toLatin1().constData());
}
-enum isForSymbian_enum {
- isForSymbian_NOT_SET = -1,
- isForSymbian_FALSE = 0,
- isForSymbian_ABLD = 1,
- isForSymbian_SBSV2 = 2,
- isForSymbian_MAKEFILE = 3,
-};
-
-static isForSymbian_enum isForSymbian_value = isForSymbian_NOT_SET;
-
-// Checking for symbian build is primarily determined from the qmake spec,
-// but if that is not specified, detect if symbian is the default spec
-// by checking the MAKEFILE_GENERATOR variable value.
-static void init_symbian(const QMap<QString, QStringList>& vars)
-{
- if (isForSymbian_value != isForSymbian_NOT_SET)
- return;
-
- QString spec = QDir::fromNativeSeparators(QFileInfo(Option::mkfile::qmakespec).canonicalFilePath());
- int pos = spec.lastIndexOf('/');
- pos = spec.lastIndexOf('/', pos - 1);
- spec = spec.mid(pos + 1);
- if (spec.endsWith("symbian-abld", Qt::CaseInsensitive)) {
- isForSymbian_value = isForSymbian_ABLD;
- } else if (spec.endsWith("symbian-sbsv2", Qt::CaseInsensitive)) {
- isForSymbian_value = isForSymbian_SBSV2;
- } else if (spec.startsWith("symbian/", Qt::CaseInsensitive)) {
- isForSymbian_value = isForSymbian_MAKEFILE;
- } else {
- QStringList generatorList = vars["MAKEFILE_GENERATOR"];
-
- if (!generatorList.isEmpty()) {
- QString generator = generatorList.first();
- if (generator.startsWith("SYMBIAN_ABLD"))
- isForSymbian_value = isForSymbian_ABLD;
- else if (generator.startsWith("SYMBIAN_SBSV2"))
- isForSymbian_value = isForSymbian_SBSV2;
- else
- isForSymbian_value = isForSymbian_FALSE;
- } else {
- isForSymbian_value = isForSymbian_FALSE;
- }
- }
-
- // Force recursive on Symbian native build system, as non-recursive is not really
- // a viable option there
- if (isForSymbian_value != isForSymbian_FALSE && isForSymbian_value != isForSymbian_MAKEFILE)
- Option::recursive = true;
-}
-
-bool isForSymbian()
-{
- // If isForSymbian_value has not been initialized explicitly yet,
- // call initializer with dummy map to check qmake spec.
- if (isForSymbian_value == isForSymbian_NOT_SET)
- init_symbian(QMap<QString, QStringList>());
-
- return (isForSymbian_value != isForSymbian_NOT_SET && isForSymbian_value != isForSymbian_FALSE);
-}
-
-bool isForSymbianSbsv2()
-{
- // If isForSymbian_value has not been initialized explicitly yet,
- // call initializer with dummy map to check qmake spec.
- if (isForSymbian_value == isForSymbian_NOT_SET)
- init_symbian(QMap<QString, QStringList>());
-
- return (isForSymbian_value == isForSymbian_SBSV2);
-}
-
/*
1) environment variable QMAKEFEATURES (as separated by colons)
2) property variable QMAKEFEATURES (as separated by colons)
@@ -602,22 +534,16 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
concat << base_concat + QDir::separator() + "macx";
concat << base_concat + QDir::separator() + "unix";
break;
+ default: // Can't happen, just make the compiler shut up
case Option::TARG_UNIX_MODE:
- {
- if (isForSymbian())
- concat << base_concat + QDir::separator() + "symbian";
- else
- concat << base_concat + QDir::separator() + "unix";
- break;
- }
+ concat << base_concat + QDir::separator() + "unix";
+ break;
case Option::TARG_WIN_MODE:
- {
- if (isForSymbian())
- concat << base_concat + QDir::separator() + "symbian";
- else
- concat << base_concat + QDir::separator() + "win32";
- break;
- }
+ concat << base_concat + QDir::separator() + "win32";
+ break;
+ case Option::TARG_SYMBIAN_MODE:
+ concat << base_concat + QDir::separator() + "symbian";
+ break;
}
concat << base_concat;
}
@@ -630,7 +556,7 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
feature_roots += splitPathList(prop->value("QMAKEFEATURES"));
if(!Option::mkfile::cachefile.isEmpty()) {
QString path;
- int last_slash = Option::mkfile::cachefile.lastIndexOf(Option::dir_sep);
+ int last_slash = Option::mkfile::cachefile.lastIndexOf(QDir::separator());
if(last_slash != -1)
path = Option::fixPathToLocalOS(Option::mkfile::cachefile.left(last_slash));
for(QStringList::Iterator concat_it = concat.begin();
@@ -773,6 +699,7 @@ QMakeProject::reset()
scope_blocks.push(ScopeBlock());
iterator = 0;
function = 0;
+ recursive = false;
}
bool
@@ -1363,16 +1290,7 @@ bool
QMakeProject::read(uchar cmd)
{
if(cfile.isEmpty()) {
- //find out where qmake (myself) lives
- if (!base_vars.contains("QMAKE_QMAKE")) {
- if (!Option::qmake_abslocation.isNull())
- base_vars["QMAKE_QMAKE"] = QStringList(Option::qmake_abslocation);
- else
- base_vars["QMAKE_QMAKE"] = QStringList("qmake");
- }
-
// hack to get the Option stuff in there
- base_vars["QMAKE_EXT_OBJ"] = QStringList(Option::obj_ext);
base_vars["QMAKE_EXT_CPP"] = Option::cpp_ext;
base_vars["QMAKE_EXT_C"] = Option::c_ext;
base_vars["QMAKE_EXT_H"] = Option::h_ext;
@@ -1463,8 +1381,7 @@ QMakeProject::read(uchar cmd)
fprintf(stderr, "Failure to read QMAKESPEC conf file %s.\n", spec.toLatin1().constData());
return false;
}
-
- init_symbian(base_vars);
+ validateModes();
if(Option::mkfile::do_cache && !Option::mkfile::cachefile.isEmpty()) {
debug_msg(1, "QMAKECACHE file: reading %s", Option::mkfile::cachefile.toLatin1().constData());
@@ -1588,6 +1505,46 @@ QMakeProject::read(uchar cmd)
return true;
}
+void QMakeProject::validateModes()
+{
+ if (Option::host_mode == Option::HOST_UNKNOWN_MODE
+ || Option::target_mode == Option::TARG_UNKNOWN_MODE) {
+ Option::HOST_MODE host_mode;
+ Option::TARG_MODE target_mode;
+ const QStringList &gen = base_vars.value("MAKEFILE_GENERATOR");
+ if (gen.isEmpty()) {
+ fprintf(stderr, "%s:%d: Using OS scope before setting MAKEFILE_GENERATOR\n",
+ parser.file.toLatin1().constData(), parser.line_no);
+ } else if (MetaMakefileGenerator::modesForGenerator(gen.first(),
+ &host_mode, &target_mode)) {
+ if (Option::host_mode == Option::HOST_UNKNOWN_MODE) {
+ Option::host_mode = host_mode;
+ Option::applyHostMode();
+ }
+
+ if (Option::target_mode == Option::TARG_UNKNOWN_MODE) {
+ const QStringList &tgt = base_vars.value("TARGET_PLATFORM");
+ if (!tgt.isEmpty()) {
+ const QString &os = tgt.first();
+ if (os == "unix")
+ Option::target_mode = Option::TARG_UNIX_MODE;
+ else if (os == "macx")
+ Option::target_mode = Option::TARG_MACX_MODE;
+ else if (os == "symbian")
+ Option::target_mode = Option::TARG_SYMBIAN_MODE;
+ else if (os == "win32")
+ Option::target_mode = Option::TARG_WIN_MODE;
+ else
+ fprintf(stderr, "Unknown target platform specified: %s\n",
+ os.toLatin1().constData());
+ } else {
+ Option::target_mode = target_mode;
+ }
+ }
+ }
+ }
+}
+
bool
QMakeProject::isActiveConfig(const QString &x, bool regex, QMap<QString, QStringList> *place)
{
@@ -1600,26 +1557,26 @@ QMakeProject::isActiveConfig(const QString &x, bool regex, QMap<QString, QString
else if(x == "false")
return false;
+ if (x == "unix") {
+ validateModes();
+ return Option::target_mode == Option::TARG_UNIX_MODE
+ || Option::target_mode == Option::TARG_MACX_MODE
+ || Option::target_mode == Option::TARG_SYMBIAN_MODE;
+ } else if (x == "macx" || x == "mac") {
+ validateModes();
+ return Option::target_mode == Option::TARG_MACX_MODE;
+ } else if (x == "symbian") {
+ validateModes();
+ return Option::target_mode == Option::TARG_SYMBIAN_MODE;
+ } else if (x == "win32") {
+ validateModes();
+ return Option::target_mode == Option::TARG_WIN_MODE;
+ }
+
+ //mkspecs
static QString spec;
if(spec.isEmpty())
spec = QFileInfo(Option::mkfile::qmakespec).fileName();
-
- // Symbian is an exception to how scopes are resolved. Since we do not
- // have a separate target mode for Symbian, but we expect the scope to resolve
- // on other platforms we base it entirely on the mkspec. This means that
- // using a mkspec starting with 'symbian*' will resolve both the 'symbian'
- // and the 'unix' (because of Open C) scopes to true.
- if(isForSymbian() && (x == "symbian" || x == "unix"))
- return true;
-
- //mkspecs
- if((Option::target_mode == Option::TARG_MACX_MODE ||
- Option::target_mode == Option::TARG_UNIX_MODE) && x == "unix")
- return !isForSymbian();
- else if(Option::target_mode == Option::TARG_MACX_MODE && (x == "macx" || x == "mac"))
- return !isForSymbian();
- else if(Option::target_mode == Option::TARG_WIN_MODE && x == "win32")
- return !isForSymbian();
QRegExp re(x, Qt::CaseSensitive, QRegExp::Wildcard);
if((regex && re.exactMatch(spec)) || (!regex && spec == x))
return true;
@@ -1711,7 +1668,7 @@ QMakeProject::doProjectInclude(QString file, uchar flags, QMap<QString, QStringL
if(file.indexOf(Option::dir_sep) == -1 || !QFile::exists(file)) {
static QStringList *feature_roots = 0;
if(!feature_roots) {
- init_symbian(base_vars);
+ validateModes();
feature_roots = new QStringList(qmake_feature_paths(prop));
qmakeAddCacheClear(qmakeDeleteCacheClear_QStringList, (void**)&feature_roots);
}
@@ -2775,6 +2732,21 @@ QMakeProject::doProjectTest(QString func, QList<QStringList> args_list, QMap<QSt
exit(2);
#endif
return true; }
+ case T_OPTION:
+ if (args.count() != 1) {
+ fprintf(stderr, "%s:%d: option() requires one argument.\n",
+ parser.file.toLatin1().constData(), parser.line_no);
+ return false;
+ }
+ if (args.first() == "recursive") {
+ recursive = true;
+ } else {
+ fprintf(stderr, "%s:%d: unrecognized option() argument '%s'.\n",
+ parser.file.toLatin1().constData(), parser.line_no,
+ args.first().toLatin1().constData());
+ return false;
+ }
+ return true;
default:
fprintf(stderr, "%s:%d: Unknown test function: %s\n", parser.file.toLatin1().constData(), parser.line_no,
func.toLatin1().constData());
@@ -3157,6 +3129,19 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
} else if (var == QLatin1String("QMAKE_DIR_SEP")) {
if (place[var].isEmpty())
return values("DIR_SEPARATOR", place);
+ } else if (var == QLatin1String("QMAKE_EXT_OBJ")) {
+ if (place[var].isEmpty()) {
+ var = ".BUILTIN." + var;
+ place[var] = QStringList(Option::obj_ext);
+ }
+ } else if (var == QLatin1String("QMAKE_QMAKE")) {
+ if (place[var].isEmpty()) {
+ if (!Option::qmake_abslocation.isNull())
+ place[var] = QStringList(Option::qmake_abslocation);
+ else
+ place[var] = QStringList(Option::fixPathToTargetOS(
+ QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake", false));
+ }
} else if (var == QLatin1String("EPOCROOT")) {
if (place[var].isEmpty())
place[var] = QStringList(epocRoot());
diff --git a/qmake/project.h b/qmake/project.h
index 1f53bf22ab..bfebed0be2 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -78,6 +78,7 @@ class QMakeProject
FunctionBlock *function;
QMap<QString, FunctionBlock*> testFunctions, replaceFunctions;
+ bool recursive;
bool own_prop;
QString pfile, cfile;
QMakeProperty *prop;
@@ -105,6 +106,7 @@ class QMakeProject
QStringList doVariableReplaceExpand(const QString &str, QMap<QString, QStringList> &place, bool *ok=0);
void init(QMakeProperty *, const QMap<QString, QStringList> *);
QStringList &values(const QString &v, QMap<QString, QStringList> &place);
+ void validateModes();
public:
QMakeProject() { init(0, 0); }
@@ -154,6 +156,8 @@ public:
QString first(const QString &v);
QMap<QString, QStringList> &variables();
+ bool isRecursive() const { return recursive; }
+
protected:
friend class MakefileGenerator;
bool read(const QString &file, QMap<QString, QStringList> &place);
@@ -192,10 +196,6 @@ inline QString QMakeProject::first(const QString &v)
inline QMap<QString, QStringList> &QMakeProject::variables()
{ return vars; }
-// Helper functions needed for Symbian
-bool isForSymbian();
-bool isForSymbianSbsv2();
-
QT_END_NAMESPACE
#endif // PROJECT_H
diff --git a/src/3rdparty/README b/src/3rdparty/README
index ef05674a1f..0248db1c53 100644
--- a/src/3rdparty/README
+++ b/src/3rdparty/README
@@ -1,26 +1,22 @@
The libraries included here are the original packages, unpacked, and
with their version number removed from the directory name (for version
-information, see the README files in the directories). The following
-have been removed:
-
- libjpeg - some source files, images, Makefiles, manual pages
- libpng/contrib - a collection of examples and test-suite
- libmng/bcb - a collection of files for the Borland compiler
- libmng/contrib - a collection of projects that use libmng
- libmng/special - configuration file for Mozilla integration
- libtiff/contrib - a collection of additions to libtiff
- libtiff/man - manual pages
- libtiff/tools - a collection of command-line tools based on libtiff
- zlib/contrib - a collection of non-zlib code
- zlib/amiga - zlib for a platform not supported by Qt
- zlib/as400 - zlib for a platform not supported by Qt
- zlib/msdos - zlib for a platform not supported by Qt
- zlib/old - zlib for a platform not supported by Qt
- zlib/qnx - zlib packaging
+information, see the README files in the directories).
-Some patches are applied from time to time. Recent patches can be
-found in the patches subdirectory.
+Certain files and subdirectories of the original library packages that
+are irrelevant to Qt may not be included here. Typically, those are
+the standalone library configuration and make files, tools, test
+files, contribs, documentation, and similar.
+Patches may have been applied, typically for configuration and build
+issues in the Qt framework. Such patches can be reviewed in the the
+public git repository; they will appear in the commit logs of each
+library directory, following the latest clean version update commit.
+
+The 'patches' subdirectory contains certain patches applied prior to
+the start of the public git history, where the library has not been
+updated since.
+
+--
The pvr2d.h & wsegl.h in the powervr directory are required for building
the PowerVR plugin on Qt for Embedded Linux. These headers are for SGX
diff --git a/src/3rdparty/libtiff/libtiff/tif_wince.c b/src/3rdparty/libtiff/libtiff/tif_wince.c
new file mode 100644
index 0000000000..4e283daf69
--- /dev/null
+++ b/src/3rdparty/libtiff/libtiff/tif_wince.c
@@ -0,0 +1,281 @@
+/* $Id: tif_wince.c,v 1.1 2007-01-15 18:40:39 mloskot Exp $ */
+
+/*
+ * Copyright (c) 1988-1997 Sam Leffler
+ * Copyright (c) 1991-1997 Silicon Graphics, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that (i) the above copyright notices and this permission notice appear in
+ * all copies of the software and related documentation, and (ii) the names of
+ * Sam Leffler and Silicon Graphics may not be used in any advertising or
+ * publicity relating to the software without the specific, prior written
+ * permission of Sam Leffler and Silicon Graphics.
+ *
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+ * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+/*
+ * Windows CE-specific routines for TIFF Library.
+ * Adapted from tif_win32.c 01/10/2006 by Mateusz Loskot (mateusz@loskot.net)
+ */
+
+#ifndef _WIN32_WCE
+# error "Only Windows CE target is supported!"
+#endif
+
+#include "tiffiop.h"
+#include <windows.h>
+
+/* Turn off console support on Windows CE. */
+#undef TIF_PLATFORM_CONSOLE
+
+
+/*
+ * Open a TIFF file for read/writing.
+ */
+TIFF*
+TIFFOpen(const char* name, const char* mode)
+{
+ static const char module[] = "TIFFOpen";
+ thandle_t fd;
+ int m;
+ DWORD dwMode;
+ TIFF* tif;
+ size_t nLen;
+ size_t nWideLen;
+ wchar_t* wchName;
+
+ m = _TIFFgetMode(mode, module);
+
+ switch(m)
+ {
+ case O_RDONLY:
+ dwMode = OPEN_EXISTING;
+ break;
+ case O_RDWR:
+ dwMode = OPEN_ALWAYS;
+ break;
+ case O_RDWR|O_CREAT:
+ dwMode = OPEN_ALWAYS;
+ break;
+ case O_RDWR|O_TRUNC:
+ dwMode = CREATE_ALWAYS;
+ break;
+ case O_RDWR|O_CREAT|O_TRUNC:
+ dwMode = CREATE_ALWAYS;
+ break;
+ default:
+ return ((TIFF*)0);
+ }
+
+ /* On Windows CE, CreateFile is mapped to CreateFileW,
+ * but file path is passed as char-based string,
+ * so the path has to be converted to wchar_t.
+ */
+
+ nWideLen = 0;
+ wchName = NULL;
+ nLen = strlen(name) + 1;
+
+ nWideLen = MultiByteToWideChar(CP_ACP, 0, name, nLen, NULL, 0);
+ wchName = (wchar_t*)malloc(sizeof(wchar_t) * nWideLen);
+ if (NULL == wchName)
+ {
+ TIFFErrorExt(0, module, "Memory allocation error!");
+ return ((TIFF *)0);
+ }
+ memset(wchName, 0, sizeof(wchar_t) * nWideLen);
+ MultiByteToWideChar(CP_ACP, 0, name, nLen, wchName, nWideLen);
+
+ fd = (thandle_t)CreateFile(wchName,
+ (m == O_RDONLY)?GENERIC_READ:(GENERIC_READ | GENERIC_WRITE),
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, dwMode,
+ (m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL,
+ NULL);
+
+ free(wchName);
+
+ if (fd == INVALID_HANDLE_VALUE) {
+ TIFFErrorExt(0, module, "%s: Cannot open", name);
+ return ((TIFF *)0);
+ }
+
+ /* TODO - mloskot: change to TIFFdOpenW and pass wchar path */
+
+ tif = TIFFFdOpen((int)fd, name, mode);
+ if(!tif)
+ CloseHandle(fd);
+ return tif;
+}
+
+/*
+ * Open a TIFF file with a Unicode filename, for read/writing.
+ */
+TIFF*
+TIFFOpenW(const wchar_t* name, const char* mode)
+{
+ static const char module[] = "TIFFOpenW";
+ thandle_t fd;
+ int m;
+ DWORD dwMode;
+ int mbsize;
+ char *mbname;
+ TIFF *tif;
+
+ m = _TIFFgetMode(mode, module);
+
+ switch(m) {
+ case O_RDONLY: dwMode = OPEN_EXISTING; break;
+ case O_RDWR: dwMode = OPEN_ALWAYS; break;
+ case O_RDWR|O_CREAT: dwMode = OPEN_ALWAYS; break;
+ case O_RDWR|O_TRUNC: dwMode = CREATE_ALWAYS; break;
+ case O_RDWR|O_CREAT|O_TRUNC: dwMode = CREATE_ALWAYS; break;
+ default: return ((TIFF*)0);
+ }
+
+ /* On Windows CE, CreateFile is mapped to CreateFileW,
+ * so no conversion of wchar_t to char is required.
+ */
+
+ fd = (thandle_t)CreateFile(name,
+ (m == O_RDONLY)?GENERIC_READ:(GENERIC_READ|GENERIC_WRITE),
+ FILE_SHARE_READ, NULL, dwMode,
+ (m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL,
+ NULL);
+ if (fd == INVALID_HANDLE_VALUE) {
+ TIFFErrorExt(0, module, "%S: Cannot open", name);
+ return ((TIFF *)0);
+ }
+
+ mbname = NULL;
+ mbsize = WideCharToMultiByte(CP_ACP, 0, name, -1, NULL, 0, NULL, NULL);
+ if (mbsize > 0) {
+ mbname = (char *)_TIFFmalloc(mbsize);
+ if (!mbname) {
+ TIFFErrorExt(0, module,
+ "Can't allocate space for filename conversion buffer");
+ return ((TIFF*)0);
+ }
+
+ WideCharToMultiByte(CP_ACP, 0, name, -1, mbname, mbsize,
+ NULL, NULL);
+ }
+
+ tif = TIFFFdOpen((int)fd,
+ (mbname != NULL) ? mbname : "<unknown>", mode);
+ if(!tif)
+ CloseHandle(fd);
+
+ _TIFFfree(mbname);
+
+ return tif;
+}
+
+static void
+Win32WarningHandler(const char* module, const char* fmt, va_list ap)
+{
+ /* On Windows CE, MessageBox is mapped to wide-char based MessageBoxW. */
+
+ size_t nWideLen = 0;
+ LPTSTR szWideTitle = NULL;
+ LPTSTR szWideMsg = NULL;
+
+ LPSTR szTitle;
+ LPSTR szTmp;
+ LPCSTR szTitleText = "%s Warning";
+ LPCSTR szDefaultModule = "LIBTIFF";
+ LPCSTR szTmpModule;
+
+ szTmpModule = (module == NULL) ? szDefaultModule : module;
+ if ((szTitle = (LPSTR)LocalAlloc(LMEM_FIXED,
+ (strlen(szTmpModule) + strlen(szTitleText)
+ + strlen(fmt) + 128) * sizeof(char))) == NULL)
+ return;
+
+ sprintf(szTitle, szTitleText, szTmpModule);
+ szTmp = szTitle + (strlen(szTitle) + 2) * sizeof(char);
+ vsprintf(szTmp, fmt, ap);
+
+ /* Convert error message to Unicode. */
+
+ nWideLen = MultiByteToWideChar(CP_ACP, 0, szTitle, -1, NULL, 0);
+ szWideTitle = (wchar_t*)malloc(sizeof(wchar_t) * nWideLen);
+ MultiByteToWideChar(CP_ACP, 0, szTitle, -1, szWideTitle, nWideLen);
+
+ nWideLen = MultiByteToWideChar(CP_ACP, 0, szTmp, -1, NULL, 0);
+ szWideMsg = (wchar_t*)malloc(sizeof(wchar_t) * nWideLen);
+ MultiByteToWideChar(CP_ACP, 0, szTmp, -1, szWideMsg, nWideLen);
+
+ /* Display message */
+
+ MessageBox(GetFocus(), szWideMsg, szWideTitle, MB_OK | MB_ICONEXCLAMATION);
+
+ /* Free resources */
+
+ LocalFree(szTitle);
+ free(szWideMsg);
+ free(szWideTitle);
+}
+
+TIFFErrorHandler _TIFFwarningHandler = Win32WarningHandler;
+
+static void
+Win32ErrorHandler(const char* module, const char* fmt, va_list ap)
+{
+ /* On Windows CE, MessageBox is mapped to wide-char based MessageBoxW. */
+
+ size_t nWideLen = 0;
+ LPTSTR szWideTitle = NULL;
+ LPTSTR szWideMsg = NULL;
+
+ LPSTR szTitle;
+ LPSTR szTmp;
+ LPCSTR szTitleText = "%s Error";
+ LPCSTR szDefaultModule = "LIBTIFF";
+ LPCSTR szTmpModule;
+
+ szTmpModule = (module == NULL) ? szDefaultModule : module;
+ if ((szTitle = (LPSTR)LocalAlloc(LMEM_FIXED,
+ (strlen(szTmpModule) + strlen(szTitleText)
+ + strlen(fmt) + 128) * sizeof(char))) == NULL)
+ return;
+
+ sprintf(szTitle, szTitleText, szTmpModule);
+ szTmp = szTitle + (strlen(szTitle) + 2) * sizeof(char);
+ vsprintf(szTmp, fmt, ap);
+
+ /* Convert error message to Unicode. */
+
+ nWideLen = MultiByteToWideChar(CP_ACP, 0, szTitle, -1, NULL, 0);
+ szWideTitle = (wchar_t*)malloc(sizeof(wchar_t) * nWideLen);
+ MultiByteToWideChar(CP_ACP, 0, szTitle, -1, szWideTitle, nWideLen);
+
+ nWideLen = MultiByteToWideChar(CP_ACP, 0, szTmp, -1, NULL, 0);
+ szWideMsg = (wchar_t*)malloc(sizeof(wchar_t) * nWideLen);
+ MultiByteToWideChar(CP_ACP, 0, szTmp, -1, szWideMsg, nWideLen);
+
+ /* Display message */
+
+ MessageBox(GetFocus(), szWideMsg, szWideTitle, MB_OK | MB_ICONEXCLAMATION);
+
+ /* Free resources */
+
+ LocalFree(szTitle);
+ free(szWideMsg);
+ free(szWideTitle);
+}
+
+TIFFErrorHandler _TIFFerrorHandler = Win32ErrorHandler;
+
+
+/* vim: set ts=8 sts=8 sw=8 noet: */
diff --git a/src/3rdparty/patches/freetype-2.3.5-config.patch b/src/3rdparty/patches/freetype-2.3.5-config.patch
deleted file mode 100644
index 2653467653..0000000000
--- a/src/3rdparty/patches/freetype-2.3.5-config.patch
+++ /dev/null
@@ -1,265 +0,0 @@
---- builds/unix/ftconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ builds/unix/ftconfig.h 2007-07-15 00:00:00.000000000 +0200
-@@ -0,0 +1,262 @@
-+/* ftconfig.h. Generated by configure. */
-+/***************************************************************************/
-+/* */
-+/* ftconfig.in */
-+/* */
-+/* UNIX-specific configuration file (specification only). */
-+/* */
-+/* Copyright 1996-2000, 2002 by */
-+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
-+/* */
-+/* This file is part of the FreeType project, and may only be used, */
-+/* modified, and distributed under the terms of the FreeType project */
-+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
-+/* this file you indicate that you have read the license and */
-+/* understand and accept it fully. */
-+/* */
-+/***************************************************************************/
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* This header file contains a number of macro definitions that are used */
-+ /* by the rest of the engine. Most of the macros here are automatically */
-+ /* determined at compile time, and you should not need to change it to */
-+ /* port FreeType, except to compile the library with a non-ANSI */
-+ /* compiler. */
-+ /* */
-+ /* Note however that if some specific modifications are needed, we */
-+ /* advise you to place a modified copy in your build directory. */
-+ /* */
-+ /* The build directory is usually `freetype/builds/<system>', and */
-+ /* contains system-specific files that are always included first when */
-+ /* building the library. */
-+ /* */
-+ /*************************************************************************/
-+
-+
-+#ifndef __FTCONFIG_H__
-+#define __FTCONFIG_H__
-+
-+#include <ft2build.h>
-+#include FT_CONFIG_OPTIONS_H
-+#include FT_CONFIG_STANDARD_LIBRARY_H
-+
-+
-+FT_BEGIN_HEADER
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* PLATFORM-SPECIFIC CONFIGURATION MACROS */
-+ /* */
-+ /* These macros can be toggled to suit a specific system. The current */
-+ /* ones are defaults used to compile FreeType in an ANSI C environment */
-+ /* (16bit compilers are also supported). Copy this file to your own */
-+ /* `freetype/builds/<system>' directory, and edit it to port the engine. */
-+ /* */
-+ /*************************************************************************/
-+
-+
-+#define HAVE_UNISTD_H 1
-+#define HAVE_FCNTL_H 1
-+
-+#define SIZEOF_INT 4
-+#define SIZEOF_LONG 4
-+
-+#define FT_SIZEOF_INT SIZEOF_INT
-+#define FT_SIZEOF_LONG SIZEOF_LONG
-+
-+
-+ /* Preferred alignment of data */
-+#define FT_ALIGNMENT 8
-+
-+
-+ /* FT_UNUSED is a macro used to indicate that a given parameter is not */
-+ /* used -- this is only used to get rid of unpleasant compiler warnings */
-+#ifndef FT_UNUSED
-+#define FT_UNUSED( arg ) ( (arg) = (arg) )
-+#endif
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* AUTOMATIC CONFIGURATION MACROS */
-+ /* */
-+ /* These macros are computed from the ones defined above. Don't touch */
-+ /* their definition, unless you know precisely what you are doing. No */
-+ /* porter should need to mess with them. */
-+ /* */
-+ /*************************************************************************/
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* IntN types */
-+ /* */
-+ /* Used to guarantee the size of some specific integers. */
-+ /* */
-+ typedef signed short FT_Int16;
-+ typedef unsigned short FT_UInt16;
-+
-+#if FT_SIZEOF_INT == 4
-+
-+ typedef signed int FT_Int32;
-+ typedef unsigned int FT_UInt32;
-+
-+#elif FT_SIZEOF_LONG == 4
-+
-+ typedef signed long FT_Int32;
-+ typedef unsigned long FT_UInt32;
-+
-+#else
-+#error "no 32bit type found -- please check your configuration files"
-+#endif
-+
-+#if FT_SIZEOF_LONG == 8
-+
-+ /* FT_LONG64 must be defined if a 64-bit type is available */
-+#define FT_LONG64
-+#define FT_INT64 long
-+
-+#else
-+
-+ /*************************************************************************/
-+ /* */
-+ /* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
-+ /* activate it by defining the FTCALC_USE_LONG_LONG macro in */
-+ /* `ftoption.h'. */
-+ /* */
-+ /* Note that this will produce many -ansi warnings during library */
-+ /* compilation, and that in many cases, the generated code will be */
-+ /* neither smaller nor faster! */
-+ /* */
-+#ifdef FTCALC_USE_LONG_LONG
-+
-+#define FT_LONG64
-+#define FT_INT64 long long
-+
-+#endif /* FTCALC_USE_LONG_LONG */
-+#endif /* FT_SIZEOF_LONG == 8 */
-+
-+
-+#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
-+
-+#define FT_LOCAL( x ) static x
-+#define FT_LOCAL_DEF( x ) static x
-+
-+#else
-+
-+#ifdef __cplusplus
-+#define FT_LOCAL( x ) extern "C" x
-+#define FT_LOCAL_DEF( x ) extern "C" x
-+#else
-+#define FT_LOCAL( x ) extern x
-+#define FT_LOCAL_DEF( x ) extern x
-+#endif
-+
-+#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
-+
-+
-+#ifndef FT_BASE
-+
-+#ifdef __cplusplus
-+#define FT_BASE( x ) extern "C" x
-+#else
-+#define FT_BASE( x ) extern x
-+#endif
-+
-+#endif /* !FT_BASE */
-+
-+
-+#ifndef FT_BASE_DEF
-+
-+#ifdef __cplusplus
-+#define FT_BASE_DEF( x ) extern "C" x
-+#else
-+#define FT_BASE_DEF( x ) extern x
-+#endif
-+
-+#endif /* !FT_BASE_DEF */
-+
-+
-+#ifndef FT_EXPORT
-+
-+#ifdef __cplusplus
-+#define FT_EXPORT( x ) extern "C" x
-+#else
-+#define FT_EXPORT( x ) extern x
-+#endif
-+
-+#endif /* !FT_EXPORT */
-+
-+
-+#ifndef FT_EXPORT_DEF
-+
-+#ifdef __cplusplus
-+#define FT_EXPORT_DEF( x ) extern "C" x
-+#else
-+#define FT_EXPORT_DEF( x ) extern x
-+#endif
-+
-+#endif /* !FT_EXPORT_DEF */
-+
-+
-+#ifndef FT_EXPORT_VAR
-+
-+#ifdef __cplusplus
-+#define FT_EXPORT_VAR( x ) extern "C" x
-+#else
-+#define FT_EXPORT_VAR( x ) extern x
-+#endif
-+
-+#endif /* !FT_EXPORT_VAR */
-+
-+ /* The following macros are needed to compile the library with a */
-+ /* C++ compiler and with 16bit compilers. */
-+ /* */
-+
-+ /* This is special. Within C++, you must specify `extern "C"' for */
-+ /* functions which are used via function pointers, and you also */
-+ /* must do that for structures which contain function pointers to */
-+ /* assure C linkage -- it's not possible to have (local) anonymous */
-+ /* functions which are accessed by (global) function pointers. */
-+ /* */
-+ /* */
-+ /* FT_CALLBACK_DEF is used to _define_ a callback function. */
-+ /* */
-+ /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
-+ /* contains pointers to callback functions. */
-+ /* */
-+ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
-+ /* that contains pointers to callback functions. */
-+ /* */
-+ /* */
-+ /* Some 16bit compilers have to redefine these macros to insert */
-+ /* the infamous `_cdecl' or `__fastcall' declarations. */
-+ /* */
-+#ifndef FT_CALLBACK_DEF
-+#ifdef __cplusplus
-+#define FT_CALLBACK_DEF( x ) extern "C" x
-+#else
-+#define FT_CALLBACK_DEF( x ) static x
-+#endif
-+#endif /* FT_CALLBACK_DEF */
-+
-+#ifndef FT_CALLBACK_TABLE
-+#ifdef __cplusplus
-+#define FT_CALLBACK_TABLE extern "C"
-+#define FT_CALLBACK_TABLE_DEF extern "C"
-+#else
-+#define FT_CALLBACK_TABLE extern
-+#define FT_CALLBACK_TABLE_DEF /* nothing */
-+#endif
-+#endif /* FT_CALLBACK_TABLE */
-+
-+
-+FT_END_HEADER
-+
-+#endif /* __FTCONFIG_H__ */
-+
-+
-+/* END */
diff --git a/src/3rdparty/patches/freetype-2.3.6-ascii.patch b/src/3rdparty/patches/freetype-2.3.6-ascii.patch
deleted file mode 100644
index cc46296754..0000000000
--- a/src/3rdparty/patches/freetype-2.3.6-ascii.patch
+++ /dev/null
@@ -1,174 +0,0 @@
---- include/freetype/ftbbox.h.orig 2007-10-20 15:27:57.000000000 +0200
-+++ include/freetype/ftbbox.h 2008-06-15 00:00:00.000000000 +0200
-@@ -61,7 +61,7 @@
- /* Computes the exact bounding box of an outline. This is slower */
- /* than computing the control box. However, it uses an advanced */
- /* algorithm which returns _very_ quickly when the two boxes */
-- /* coincide. Otherwise, the outline Bézier arcs are traversed to */
-+ /* coincide. Otherwise, the outline Bezier arcs are traversed to */
- /* extract their extrema. */
- /* */
- /* <Input> */
---- include/freetype/ftglyph.h.orig 2008-04-13 23:58:59.000000000 +0200
-+++ include/freetype/ftglyph.h 2008-06-15 00:00:00.000000000 +0200
-@@ -354,10 +354,10 @@
- /* */
- /* <Description> */
- /* Return a glyph's `control box'. The control box encloses all the */
-- /* outline's points, including Bézier control points. Though it */
-+ /* outline's points, including Bezier control points. Though it */
- /* coincides with the exact bounding box for most glyphs, it can be */
- /* slightly larger in some situations (like when rotating an outline */
-- /* which contains Bézier outside arcs). */
-+ /* which contains Bezier outside arcs). */
- /* */
- /* Computing the control box is very fast, while getting the bounding */
- /* box can take much more time as it needs to walk over all segments */
---- include/freetype/ftimage.h.orig 2008-05-31 08:46:38.000000000 +0200
-+++ include/freetype/ftimage.h 2008-06-15 00:00:00.000000000 +0200
-@@ -318,11 +318,11 @@
- /* */
- /* tags :: A pointer to an array of `n_points' chars, giving */
- /* each outline point's type. If bit 0 is unset, the */
-- /* point is `off' the curve, i.e., a Bézier control */
-+ /* point is `off' the curve, i.e., a Bezier control */
- /* point, while it is `on' when set. */
- /* */
- /* Bit 1 is meaningful for `off' points only. If set, */
-- /* it indicates a third-order Bézier arc control point; */
-+ /* it indicates a third-order Bezier arc control point; */
- /* and a second-order control point if unset. */
- /* */
- /* contours :: An array of `n_contours' shorts, giving the end */
-@@ -528,7 +528,7 @@
- /* A function pointer type use to describe the signature of a `conic */
- /* to' function during outline walking/decomposition. */
- /* */
-- /* A `conic to' is emitted to indicate a second-order Bézier arc in */
-+ /* A `conic to' is emitted to indicate a second-order Bezier arc in */
- /* the outline. */
- /* */
- /* <Input> */
-@@ -560,12 +560,12 @@
- /* A function pointer type used to describe the signature of a `cubic */
- /* to' function during outline walking/decomposition. */
- /* */
-- /* A `cubic to' is emitted to indicate a third-order Bézier arc. */
-+ /* A `cubic to' is emitted to indicate a third-order Bezier arc. */
- /* */
- /* <Input> */
-- /* control1 :: A pointer to the first Bézier control point. */
-+ /* control1 :: A pointer to the first Bezier control point. */
- /* */
-- /* control2 :: A pointer to the second Bézier control point. */
-+ /* control2 :: A pointer to the second Bezier control point. */
- /* */
- /* to :: A pointer to the target end point. */
- /* */
-@@ -591,7 +591,7 @@
- /* */
- /* <Description> */
- /* A structure to hold various function pointers used during outline */
-- /* decomposition in order to emit segments, conic, and cubic Béziers, */
-+ /* decomposition in order to emit segments, conic, and cubic Beziers, */
- /* as well as `move to' and `close to' operations. */
- /* */
- /* <Fields> */
-@@ -599,9 +599,9 @@
- /* */
- /* line_to :: The segment emitter. */
- /* */
-- /* conic_to :: The second-order Bézier arc emitter. */
-+ /* conic_to :: The second-order Bezier arc emitter. */
- /* */
-- /* cubic_to :: The third-order Bézier arc emitter. */
-+ /* cubic_to :: The third-order Bezier arc emitter. */
- /* */
- /* shift :: The shift that is applied to coordinates before they */
- /* are sent to the emitter. */
-@@ -698,7 +698,7 @@
- /* */
- /* FT_GLYPH_FORMAT_OUTLINE :: */
- /* The glyph image is a vectorial outline made of line segments */
-- /* and Bézier arcs; it can be described as an @FT_Outline; you */
-+ /* and Bezier arcs; it can be described as an @FT_Outline; you */
- /* generally want to access the `outline' field of the */
- /* @FT_GlyphSlotRec structure to read it. */
- /* */
---- include/freetype/ftoutln.h.orig 2008-05-29 00:05:07.000000000 +0200
-+++ include/freetype/ftoutln.h 2008-06-15 00:00:00.000000000 +0200
-@@ -85,7 +85,7 @@
- /* */
- /* <Description> */
- /* Walks over an outline's structure to decompose it into individual */
-- /* segments and Bézier arcs. This function is also able to emit */
-+ /* segments and Bezier arcs. This function is also able to emit */
- /* `move to' and `close to' operations to indicate the start and end */
- /* of new contours in the outline. */
- /* */
-@@ -213,10 +213,10 @@
- /* */
- /* <Description> */
- /* Returns an outline's `control box'. The control box encloses all */
-- /* the outline's points, including Bézier control points. Though it */
-+ /* the outline's points, including Bezier control points. Though it */
- /* coincides with the exact bounding box for most glyphs, it can be */
- /* slightly larger in some situations (like when rotating an outline */
-- /* which contains Bézier outside arcs). */
-+ /* which contains Bezier outside arcs). */
- /* */
- /* Computing the control box is very fast, while getting the bounding */
- /* box can take much more time as it needs to walk over all segments */
---- include/freetype/ftstroke.h.orig 2008-05-29 00:06:54.000000000 +0200
-+++ include/freetype/ftstroke.h 2008-06-15 00:00:00.000000000 +0200
-@@ -407,7 +407,7 @@
- * FT_Stroker_ConicTo
- *
- * @description:
-- * `Draw' a single quadratic Bézier in the stroker's current sub-path,
-+ * `Draw' a single quadratic Bezier in the stroker's current sub-path,
- * from the last position.
- *
- * @input:
-@@ -415,7 +415,7 @@
- * The target stroker handle.
- *
- * control ::
-- * A pointer to a Bézier control point.
-+ * A pointer to a Bezier control point.
- *
- * to ::
- * A pointer to the destination point.
-@@ -439,7 +439,7 @@
- * FT_Stroker_CubicTo
- *
- * @description:
-- * `Draw' a single cubic Bézier in the stroker's current sub-path,
-+ * `Draw' a single cubic Bezier in the stroker's current sub-path,
- * from the last position.
- *
- * @input:
-@@ -447,10 +447,10 @@
- * The target stroker handle.
- *
- * control1 ::
-- * A pointer to the first Bézier control point.
-+ * A pointer to the first Bezier control point.
- *
- * control2 ::
-- * A pointer to second Bézier control point.
-+ * A pointer to second Bezier control point.
- *
- * to ::
- * A pointer to the destination point.
---- include/freetype/ftwinfnt.h.orig 2008-05-28 23:27:19.000000000 +0200
-+++ include/freetype/ftwinfnt.h 2008-06-15 00:00:00.000000000 +0200
-@@ -77,7 +77,7 @@
- * Mac Roman encoding.
- *
- * FT_WinFNT_ID_OEM ::
-- * From Michael Pöttgen <michael@poettgen.de>:
-+ * From Michael Poettgen <michael@poettgen.de>:
- *
- * The `Windows Font Mapping' article says that FT_WinFNT_ID_OEM
- * is used for the charset of vector fonts, like `modern.fon',
diff --git a/src/3rdparty/patches/freetype-2.3.6-vxworks.patch b/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
deleted file mode 100644
index 21e884cd59..0000000000
--- a/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git builds/unix/ftsystem.c builds/unix/ftsystem.c
-index 3a740fd..40fa8d0 100644
---- builds/unix/ftsystem.c
-+++ builds/unix/ftsystem.c
-@@ -69,6 +69,9 @@
- #include <string.h>
- #include <errno.h>
-
-+#ifdef VXWORKS
-+#include <ioLib.h>
-+#endif
-
- /*************************************************************************/
- /* */
-@@ -238,7 +241,7 @@
- return FT_Err_Invalid_Stream_Handle;
-
- /* open the file */
-- file = open( filepathname, O_RDONLY );
-+ file = open( filepathname, O_RDONLY, 0);
- if ( file < 0 )
- {
- FT_ERROR(( "FT_Stream_Open:" ));
-@@ -317,7 +320,11 @@
-
-
- read_count = read( file,
-+#ifndef VXWORKS
- stream->base + total_read_count,
-+#else
-+ (char *) stream->base + total_read_count,
-+#endif
- stream->size - total_read_count );
-
- if ( read_count <= 0 )
diff --git a/src/3rdparty/patches/libjpeg-6b-config.patch b/src/3rdparty/patches/libjpeg-6b-config.patch
deleted file mode 100644
index 3012b8fa7b..0000000000
--- a/src/3rdparty/patches/libjpeg-6b-config.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- jconfig.h.orig 1970-01-01 01:00:00.000000000 +0100
-+++ jconfig.h 2006-06-15 00:00:00.000000000 +0200
-@@ -0,0 +1,47 @@
-+/* jconfig.vc --- jconfig.h for Microsoft Visual C++ on Windows 95 or NT. */
-+/* see jconfig.doc for explanations */
-+
-+#define HAVE_PROTOTYPES
-+#define HAVE_UNSIGNED_CHAR
-+#define HAVE_UNSIGNED_SHORT
-+/* #define void char */
-+/* #define const */
-+#undef CHAR_IS_UNSIGNED
-+#define HAVE_STDDEF_H
-+#define HAVE_STDLIB_H
-+#undef NEED_BSD_STRINGS
-+#undef NEED_SYS_TYPES_H
-+#undef NEED_FAR_POINTERS /* we presume a 32-bit flat memory model */
-+#undef NEED_SHORT_EXTERNAL_NAMES
-+#undef INCOMPLETE_TYPES_BROKEN
-+
-+#if defined(_WIN32)
-+/* Define "boolean" as unsigned char, not int, per Windows custom */
-+#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
-+typedef unsigned char boolean;
-+#endif
-+#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
-+#endif
-+
-+
-+#ifdef JPEG_INTERNALS
-+
-+#undef RIGHT_SHIFT_IS_UNSIGNED
-+
-+#endif /* JPEG_INTERNALS */
-+
-+#ifdef JPEG_CJPEG_DJPEG
-+
-+#define BMP_SUPPORTED /* BMP image file format */
-+#define GIF_SUPPORTED /* GIF image file format */
-+#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
-+#undef RLE_SUPPORTED /* Utah RLE image file format */
-+#define TARGA_SUPPORTED /* Targa image file format */
-+
-+#define TWO_FILE_COMMANDLINE /* optional */
-+#define USE_SETMODE /* Microsoft has setmode() */
-+#undef NEED_SIGNAL_CATCHER
-+#undef DONT_USE_B_MODE
-+#undef PROGRESS_REPORT /* optional */
-+
-+#endif /* JPEG_CJPEG_DJPEG */
diff --git a/src/3rdparty/patches/libjpeg-6b-vxworks.patch b/src/3rdparty/patches/libjpeg-6b-vxworks.patch
deleted file mode 100644
index 263c8d00ed..0000000000
--- a/src/3rdparty/patches/libjpeg-6b-vxworks.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git jmorecfg.h jmorecfg.h
-index 54a7d1c..b0b5870 100644
---- jmorecfg.h
-+++ jmorecfg.h
-@@ -157,7 +157,7 @@ typedef short INT16;
-
- /* INT32 must hold at least signed 32-bit values. */
-
--#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
-+#if !defined(XMD_H) && !defined(VXWORKS) /* X11/xmd.h correctly defines INT32 */
- typedef long INT32;
- #endif
-
-@@ -183,6 +183,9 @@ typedef unsigned int JDIMENSION;
- /* a function called through method pointers: */
- #define METHODDEF(type) static type
- /* a function used only in its module: */
-+#if defined(VXWORKS) && defined(LOCAL)
-+# undef LOCAL
-+#endif
- #define LOCAL(type) static type
- /* a function referenced thru EXTERNs: */
- #define GLOBAL(type) type
diff --git a/src/3rdparty/patches/libpng-1.2.20-elf-visibility.patch b/src/3rdparty/patches/libpng-1.2.20-elf-visibility.patch
deleted file mode 100644
index a374cbf13c..0000000000
--- a/src/3rdparty/patches/libpng-1.2.20-elf-visibility.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- pngconf.h.orig 2007-09-08 05:22:56.000000000 +0200
-+++ pngconf.h 2007-09-09 00:00:00.000000000 +0200
-@@ -1375,6 +1375,14 @@
- # if 0 /* ... other platforms, with other meanings */
- # endif
- # endif
-+
-+# if !defined(PNG_IMPEXP)
-+# include <qconfig.h>
-+# if defined(QT_VISIBILITY_AVAILABLE)
-+# define PNG_IMPEXP __attribute__((visibility("default")))
-+# endif
-+# endif
-+
- #endif
-
- #ifndef PNGAPI
diff --git a/src/3rdparty/patches/libpng-1.2.20-vxworks.patch b/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
deleted file mode 100644
index 4c49b3fc64..0000000000
--- a/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git pngconf.h pngconf.h
-index 19e4732..8eb7d35 100644
---- pngconf.h
-+++ pngconf.h
-@@ -344,7 +344,7 @@
- # endif /* __linux__ */
- #endif /* PNG_SETJMP_SUPPORTED */
-
--#ifdef BSD
-+#if defined(BSD) && !defined(VXWORKS)
- # include <strings.h>
- #else
- # include <string.h>
diff --git a/src/3rdparty/patches/libtiff-3.8.2-config.patch b/src/3rdparty/patches/libtiff-3.8.2-config.patch
deleted file mode 100644
index 44230ea3a0..0000000000
--- a/src/3rdparty/patches/libtiff-3.8.2-config.patch
+++ /dev/null
@@ -1,374 +0,0 @@
---- libtiff/tif_config.h 1970-01-01 01:00:00.000000000 +0100
-+++ libtiff/tif_config.h 2008-05-25 00:00:00.000000000 +0200
-@@ -0,0 +1,296 @@
-+/*
-+ Configuration defines by Trolltech.
-+*/
-+
-+#include <qglobal.h>
-+#if defined(Q_OS_WINCE)
-+# include <qfunctions_wince.h>
-+#endif
-+
-+/* Support CCITT Group 3 & 4 algorithms */
-+#define CCITT_SUPPORT 1
-+
-+/* Pick up YCbCr subsampling info from the JPEG data stream to support files
-+ lacking the tag (default enabled). */
-+#define CHECK_JPEG_YCBCR_SUBSAMPLING 1
-+
-+/* Support C++ stream API (requires C++ compiler) */
-+/* #undef CXX_SUPPORT */
-+
-+/* Treat extra sample as alpha (default enabled). The RGBA interface will
-+ treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many
-+ packages produce RGBA files but don't mark the alpha properly. */
-+#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1
-+
-+/* Use the Apple OpenGL framework. */
-+/* #undef HAVE_APPLE_OPENGL_FRAMEWORK */
-+
-+/* Define to 1 if you have the <assert.h> header file. */
-+#define HAVE_ASSERT_H 1
-+
-+/* Define to 1 if you have the <dlfcn.h> header file. */
-+/* #undef HAVE_DLFCN_H */
-+
-+/* Define to 1 if you have the <fcntl.h> header file. */
-+#if !defined(Q_OS_WINCE)
-+#define HAVE_FCNTL_H 1
-+#endif
-+
-+/* Define to 1 if you have the `floor' function. */
-+/* #undef HAVE_FLOOR */
-+
-+/* Define to 1 if you have the `getopt' function. */
-+/* #undef HAVE_GETOPT */
-+
-+/* Define as 0 or 1 according to the floating point format suported by the
-+ machine */
-+#define HAVE_IEEEFP 1
-+
-+/* Define to 1 if the system has the type `int16'. */
-+/* #undef HAVE_INT16 */
-+#ifdef Q_OS_AIX
-+#define HAVE_INT16 1
-+#endif
-+
-+/* Define to 1 if the system has the type `int32'. */
-+/* #undef HAVE_INT32 */
-+#ifdef Q_OS_AIX
-+#define HAVE_INT32 1
-+#endif
-+
-+/* Define to 1 if the system has the type `int8'. */
-+/* #undef HAVE_INT8 */
-+#ifdef Q_OS_AIX
-+#define HAVE_INT8 1
-+#endif
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+/* #undef HAVE_INTTYPES_H */
-+
-+/* Define to 1 if you have the `isascii' function. */
-+/* #undef HAVE_ISASCII */
-+
-+/* Define to 1 if you have the `lfind' function. */
-+/* #undef HAVE_LFIND */
-+
-+/* Define to 1 if you have the `c' library (-lc). */
-+/* #undef HAVE_LIBC */
-+
-+/* Define to 1 if you have the `m' library (-lm). */
-+/* #undef HAVE_LIBM */
-+
-+/* Define to 1 if you have the <limits.h> header file. */
-+/* #undef HAVE_LIMITS_H */
-+
-+/* Define to 1 if you have the <malloc.h> header file. */
-+/* #undef HAVE_MALLOC_H */
-+
-+/* Define to 1 if you have the `memmove' function. */
-+/* #undef HAVE_MEMMOVE */
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+/* #undef HAVE_MEMORY_H */
-+
-+/* Define to 1 if you have the `memset' function. */
-+/* #undef HAVE_MEMSET */
-+
-+/* Define to 1 if you have the `mmap' function. */
-+/* #undef HAVE_MMAP */
-+
-+/* Define to 1 if you have the `pow' function. */
-+/* #undef HAVE_POW */
-+
-+/* Define if you have POSIX threads libraries and header files. */
-+/* #undef HAVE_PTHREAD */
-+
-+/* Define to 1 if you have the <search.h> header file. */
-+#if !defined(Q_OS_WINCE)
-+#define HAVE_SEARCH_H 1
-+#endif
-+
-+/* Define to 1 if you have the `sqrt' function. */
-+/* #undef HAVE_SQRT */
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+/* #undef HAVE_STDINT_H */
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+/* #undef HAVE_STDLIB_H */
-+
-+/* Define to 1 if you have the `strcasecmp' function. */
-+/* #undef HAVE_STRCASECMP */
-+
-+/* Define to 1 if you have the `strchr' function. */
-+/* #undef HAVE_STRCHR */
-+
-+/* Define to 1 if you have the <strings.h> header file. */
-+/* #undef HAVE_STRINGS_H */
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#define HAVE_STRING_H 1
-+
-+/* Define to 1 if you have the `strrchr' function. */
-+/* #undef HAVE_STRRCHR */
-+
-+/* Define to 1 if you have the `strstr' function. */
-+/* #undef HAVE_STRSTR */
-+
-+/* Define to 1 if you have the `strtol' function. */
-+/* #undef HAVE_STRTOL */
-+
-+/* Define to 1 if you have the `strtoul' function. */
-+/* #undef HAVE_STRTOUL */
-+
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+/* #undef HAVE_SYS_STAT_H */
-+
-+/* Define to 1 if you have the <sys/time.h> header file. */
-+/* #undef HAVE_SYS_TIME_H */
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#define HAVE_SYS_TYPES_H 1
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#define HAVE_UNISTD_H 1
-+
-+/* Define to 1 if you have the <windows.h> header file. */
-+/* #undef HAVE_WINDOWS_H */
-+#ifdef Q_OS_WIN
-+#define TIF_PLATFORM_CONSOLE
-+#endif
-+
-+/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian
-+ (Intel) */
-+#if (Q_BYTE_ORDER == Q_BIG_ENDIAN)
-+#define HOST_BIGENDIAN 1
-+#else
-+#define HOST_BIGENDIAN 0
-+#endif
-+
-+/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */
-+#define HOST_FILLORDER FILLORDER_LSB2MSB
-+
-+/* Support JPEG compression (requires IJG JPEG library) */
-+/* #undef JPEG_SUPPORT */
-+
-+/* Support LogLuv high dynamic range encoding */
-+#define LOGLUV_SUPPORT 1
-+
-+/* Define to the sub-directory in which libtool stores uninstalled libraries.
-+ */
-+/* #undef LT_OBJDIR */
-+
-+/* Support LZW algorithm */
-+#define LZW_SUPPORT 1
-+
-+/* Support Microsoft Document Imaging format */
-+#define MDI_SUPPORT 1
-+
-+/* Support NeXT 2-bit RLE algorithm */
-+#define NEXT_SUPPORT 1
-+
-+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-+/* #undef NO_MINUS_C_MINUS_O */
-+
-+/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation
-+ fails with unpatched IJG JPEG library) */
-+/* #undef OJPEG_SUPPORT */
-+
-+/* Name of package */
-+/* #undef PACKAGE */
-+
-+/* Define to the address where bug reports for this package should be sent. */
-+/* #undef PACKAGE_BUGREPORT */
-+
-+/* Define to the full name of this package. */
-+/* #undef PACKAGE_NAME */
-+
-+/* Define to the full name and version of this package. */
-+/* #undef PACKAGE_STRING */
-+
-+/* Define to the one symbol short name of this package. */
-+/* #undef PACKAGE_TARNAME */
-+
-+/* Define to the version of this package. */
-+/* #undef PACKAGE_VERSION */
-+
-+/* Support Macintosh PackBits algorithm */
-+#define PACKBITS_SUPPORT 1
-+
-+/* Support Pixar log-format algorithm (requires Zlib) */
-+#define PIXARLOG_SUPPORT 1
-+
-+/* Define to necessary symbol if this constant uses a non-standard name on
-+ your system. */
-+/* #undef PTHREAD_CREATE_JOINABLE */
-+
-+/* The size of a `int', as computed by sizeof. */
-+#define SIZEOF_INT 4
-+
-+/* The size of a `long', as computed by sizeof. */
-+#if (QT_POINTER_SIZE == 8) && !defined(Q_OS_WIN64)
-+#define SIZEOF_LONG 8
-+#else
-+#define SIZEOF_LONG 4
-+#endif
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+/* #undef STDC_HEADERS */
-+
-+/* Support strip chopping (whether or not to convert single-strip uncompressed
-+ images to mutiple strips of specified size to reduce memory usage) */
-+#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP
-+
-+/* Default size of the strip in bytes (when strip chopping enabled) */
-+/* #undef STRIP_SIZE_DEFAULT */
-+
-+/* Enable SubIFD tag (330) support */
-+#define SUBIFD_SUPPORT 1
-+
-+/* Support ThunderScan 4-bit RLE algorithm */
-+#define THUNDER_SUPPORT 1
-+
-+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-+/* #undef TIME_WITH_SYS_TIME */
-+
-+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-+/* #undef TM_IN_SYS_TIME */
-+
-+/* Version number of package */
-+/* #undef VERSION */
-+
-+/* Define to 1 if your processor stores words with the most significant byte
-+ first (like Motorola and SPARC, unlike Intel and VAX). */
-+#if (Q_BYTE_ORDER == Q_BIG_ENDIAN)
-+#define WORDS_BIGENDIAN 1
-+#else
-+/* #undef WORDS_BIGENDIAN */
-+#endif
-+
-+/* Define to 1 if the X Window System is missing or not being used. */
-+/* #undef X_DISPLAY_MISSING */
-+
-+/* Support Deflate compression */
-+#define ZIP_SUPPORT 1
-+
-+/* Number of bits in a file offset, on hosts where this is settable. */
-+/* #undef _FILE_OFFSET_BITS */
-+
-+/* Define for large files, on AIX-style hosts. */
-+/* #undef _LARGE_FILES */
-+
-+/* Define to empty if `const' does not conform to ANSI C. */
-+/* #undef const */
-+
-+/* Define to `__inline__' or `__inline' if that's what the C compiler
-+ calls it, or to nothing if 'inline' is not supported under any name. */
-+#ifndef __cplusplus
-+#undef inline
-+#define inline
-+#endif
-+
-+/* Define to `long' if <sys/types.h> does not define. */
-+/* #undef off_t */
-+
-+/* Define to `unsigned' if <sys/types.h> does not define. */
-+/* #undef size_t */
---- libtiff/tiffconf.h 2006-03-23 15:55:22.000000000 +0100
-+++ libtiff/tiffconf.h 2008-05-25 00:00:00.000000000 +0200
-@@ -1,6 +1,5 @@
--/* libtiff/tiffconf.h. Generated by configure. */
- /*
-- Configuration defines for installed libtiff.
-+ Configuration defines by Trolltech.
- This file maintained for backward compatibility. Do not use definitions
- from this file in your programs.
- */
-@@ -8,6 +7,8 @@
- #ifndef _TIFFCONF_
- #define _TIFFCONF_
-
-+#include <qglobal.h>
-+
- /* Define to 1 if the system has the type `int16'. */
- /* #undef HAVE_INT16 */
-
-@@ -21,7 +22,11 @@
- #define SIZEOF_INT 4
-
- /* The size of a `long', as computed by sizeof. */
-+#if (QT_POINTER_SIZE == 8) && !defined(Q_OS_WIN64)
-+#define SIZEOF_LONG 8
-+#else
- #define SIZEOF_LONG 4
-+#endif
-
- /* Compatibility stuff. */
-
-@@ -34,13 +39,17 @@
-
- /* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian
- (Intel) */
-+#if (Q_BYTE_ORDER == Q_BIG_ENDIAN)
-+#define HOST_BIGENDIAN 1
-+#else
- #define HOST_BIGENDIAN 0
-+#endif
-
- /* Support CCITT Group 3 & 4 algorithms */
- #define CCITT_SUPPORT 1
-
- /* Support JPEG compression (requires IJG JPEG library) */
--#define JPEG_SUPPORT 1
-+/* #undef JPEG_SUPPORT */
-
- /* Support LogLuv high dynamic range encoding */
- #define LOGLUV_SUPPORT 1
---- libtiff/tiffiop.h 2006-03-21 17:42:50.000000000 +0100
-+++ libtiff/tiffiop.h 2008-05-25 00:00:00.000000000 +0200
-@@ -37,7 +37,12 @@
- #endif
-
- #ifdef HAVE_SYS_TYPES_H
-+#if !defined(Q_OS_WINCE)
- # include <sys/types.h>
-+#else
-+# include <windows.h>
-+# include <types.h>
-+#endif
- #endif
-
- #ifdef HAVE_STRING_H
---- libtiff/tif_win32.c 2006-02-07 14:51:03.000000000 +0100
-+++ libtiff/tif_win32.c 2008-05-25 00:00:00.000000000 +0200
-@@ -29,6 +29,7 @@
- * Scott Wagner (wagner@itek.com), Itek Graphix, Rochester, NY USA
- */
- #include "tiffiop.h"
-+#include <windows.h>
-
- static tsize_t
- _tiffReadProc(thandle_t fd, tdata_t buf, tsize_t size)
diff --git a/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch b/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
deleted file mode 100644
index b1b725e26d..0000000000
--- a/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libtiff/tif_config.h.orig
-+++ libtiff/tif_config.h
-@@ -104,7 +104,7 @@
- /* #undef HAVE_PTHREAD */
-
- /* Define to 1 if you have the <search.h> header file. */
--#if !defined(Q_OS_WINCE)
-+#if !defined(Q_OS_WINCE) && !defined(Q_OS_VXWORKS)
- #define HAVE_SEARCH_H 1
- #endif
-
diff --git a/src/3rdparty/patches/sqlite-3.5.6-config.patch b/src/3rdparty/patches/sqlite-3.5.6-config.patch
deleted file mode 100644
index cf158ea46a..0000000000
--- a/src/3rdparty/patches/sqlite-3.5.6-config.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- sqlite3.c.orig 2008-02-06 16:03:28.000000000 +0100
-+++ sqlite3.c 2008-02-13 00:00:00.000000000 +0100
-@@ -16823,6 +16823,8 @@
- */
- #if OS_UNIX /* This file is used on unix only */
-
-+#include <qconfig.h>
-+
- /* #define SQLITE_ENABLE_LOCKING_STYLE 0 */
-
- /*
-@@ -16865,7 +16867,7 @@
- ** If we are to be thread-safe, include the pthreads header and define
- ** the SQLITE_UNIX_THREADS macro.
- */
--#if SQLITE_THREADSAFE
-+#ifndef QT_NO_THREAD
- # define SQLITE_UNIX_THREADS 1
- #endif
-
-@@ -19739,6 +19741,8 @@
- ** desktops but not so well in embedded systems.
- */
-
-+#include <qconfig.h>
-+
- #include <winbase.h>
-
- #ifdef __CYGWIN__
-@@ -19748,7 +19752,7 @@
- /*
- ** Macros used to determine whether or not to use threads.
- */
--#if defined(THREADSAFE) && THREADSAFE
-+#ifndef QT_NO_THREAD
- # define SQLITE_W32_THREADS 1
- #endif
-
diff --git a/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch b/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
deleted file mode 100644
index 6ae65fd569..0000000000
--- a/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- sqlite3.c.orig
-+++ sqlite3.c
-@@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
- **
- ** See also ticket #2741.
- */
--#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
-+#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
- # define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
- #endif
-
-@@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
- */
- #ifndef _SQLITE3_H_
- #define _SQLITE3_H_
-+
-+#ifdef VXWORKS
-+# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
-+# define NO_GETTOD
-+# include <ioLib.h>
-+#endif
-+
- #include <stdarg.h> /* Needed for the definition of va_list */
-
- /*
-@@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
--#include <sys/time.h>
-+#ifdef VXWORKS
-+# include <sys/times.h>
-+#else
-+# include <sys/time.h>
-+#endif
- #include <errno.h>
- #ifdef SQLITE_ENABLE_LOCKING_STYLE
- #include <sys/ioctl.h>
-@@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
- if( newOffset!=offset ){
- return -1;
- }
-+# ifndef VXWORKS
- got = write(id->h, pBuf, cnt);
-+# else
-+ got = write(id->h, (char *)pBuf, cnt);
-+# endif
- #endif
- TIMER_END;
- OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
-@@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
- #if !defined(SQLITE_TEST)
- {
- int pid, fd;
-- fd = open("/dev/urandom", O_RDONLY);
-+ fd = open("/dev/urandom", O_RDONLY, 0);
- if( fd<0 ){
- time_t t;
- time(&t);
- memcpy(zBuf, &t, sizeof(t));
-+#ifndef VXWORKS
- pid = getpid();
-+#else
-+ pid = (int)taskIdCurrent();
-+#endif
- memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
- }else{
- read(fd, zBuf, nBuf);
diff --git a/src/3rdparty/patches/sqlite-3.5.6-wince.patch b/src/3rdparty/patches/sqlite-3.5.6-wince.patch
deleted file mode 100644
index 02965f8718..0000000000
--- a/src/3rdparty/patches/sqlite-3.5.6-wince.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- sqlite3.c.orig 2008-02-06 16:03:28.000000000 +0100
-+++ sqlite3.c 2008-02-13 00:00:00.000000000 +0100
-@@ -8837,6 +8837,16 @@
- }
-
- /*
-+** Windows CE does not declare the localtime
-+** function as it is not defined anywhere.
-+** Anyway we need the forward-declaration to be
-+** able to define it later on.
-+*/
-+#if defined(_WIN32_WCE) && (_WIN32_WCE >= 0x600)
-+struct tm *__cdecl localtime(const time_t *t);
-+#endif
-+
-+/*
- ** Compute the difference (in days) between localtime and UTC (a.k.a. GMT)
- ** for the time value p where p is in UTC.
- */
diff --git a/src/3rdparty/phonon/ds9/backendnode.cpp b/src/3rdparty/phonon/ds9/backendnode.cpp
index 3afcafadfc..737ab7b72e 100644
--- a/src/3rdparty/phonon/ds9/backendnode.cpp
+++ b/src/3rdparty/phonon/ds9/backendnode.cpp
@@ -67,7 +67,7 @@ namespace Phonon
if (info.pGraph) {
HRESULT hr = info.pGraph->RemoveFilter(filter);
- if (hr == VFW_E_NOT_STOPPED && m_mediaObject) {
+ if (FAILED(hr) && m_mediaObject) {
m_mediaObject->ensureStopped();
hr = info.pGraph->RemoveFilter(filter);
diff --git a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
index f7d42cf1fe..9c7993c7f2 100644
--- a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
+++ b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
@@ -45,7 +45,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#endif
#ifndef QT_NO_OPENGL
-#include <gl/gl.h>
+#include <GL/gl.h>
#ifndef GL_FRAGMENT_PROGRAM_ARB
#define GL_FRAGMENT_PROGRAM_ARB 0x8804
#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index cc0e04f2b8..6a2e75fab6 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
- ffae5e11181a3961193fa21ea405851cad714d4b
+ f3110d2f94c825477afac054ed448e45d47f5670
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
index 714cac9fa2..d13c9a955a 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
@@ -39,7 +39,7 @@
#include <QGraphicsProxyWidget>
#include <QGraphicsScene>
#include <QGraphicsView>
-#include <QGraphicsWebView>
+#include <qgraphicswebview.h>
#include <QListWidget>
#include <QListWidgetItem>
#include <QMenu>
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
index 3833070b5f..13c341cd42 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
@@ -20,11 +20,11 @@
#ifndef QWEBELEMENT_H
#define QWEBELEMENT_H
-#include <QString>
-#include <QStringList>
-#include <QRect>
-#include <QVariant>
-#include <QExplicitlySharedDataPointer>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qrect.h>
+#include <QtCore/qvariant.h>
+#include <QtCore/qshareddata.h>
#include "qwebkitglobal.h"
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 1026ac521e..e54c17622c 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,16 @@
+2010-03-04 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] qwebelement.h does not include QtCore headers correctly
+ https://bugs.webkit.org/show_bug.cgi?id=35748
+
+ The header files of QtCore must be included as QtCore/foo.h.
+
+ See also http://bugreports.qt.nokia.com/browse/QTBUG-8661
+
+ * Api/qwebelement.h:
+
2010-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
diff --git a/src/activeqt/container/qaxwidget.cpp b/src/activeqt/container/qaxwidget.cpp
index 7d2dde7e21..7afce5bf2b 100644
--- a/src/activeqt/container/qaxwidget.cpp
+++ b/src/activeqt/container/qaxwidget.cpp
@@ -1434,9 +1434,6 @@ extern Q_GUI_EXPORT bool qt_win_ignoreNextMouseReleaseEvent;
HRESULT WINAPI QAxClientSite::EnableModeless(BOOL fEnable)
{
-#if !defined(Q_OS_WINCE)
- LockWindowUpdate(host->window()->winId());
-#endif
EnableWindow(host->window()->winId(), fEnable);
if (!fEnable) {
@@ -1447,9 +1444,6 @@ HRESULT WINAPI QAxClientSite::EnableModeless(BOOL fEnable)
QApplicationPrivate::leaveModal(host);
}
qt_win_ignoreNextMouseReleaseEvent = false;
-#if !defined(Q_OS_WINCE)
- LockWindowUpdate(0);
-#endif
return S_OK;
}
diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
index 17f4d91c77..c572e084d7 100644
--- a/src/corelib/codecs/codecs.pri
+++ b/src/corelib/codecs/codecs.pri
@@ -31,7 +31,7 @@ unix {
DEFINES += GNU_LIBICONV
!mac:LIBS_PRIVATE *= -liconv
- } else {
+ } else:!symbian {
# no iconv, so we put all plugins in the library
HEADERS += \
../plugins/codecs/cn/qgb18030codec.h \
@@ -52,3 +52,4 @@ unix {
../plugins/codecs/jp/qfontjpcodec.cpp
}
}
+symbian:LIBS += -lcharconv
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
index 0f73d9b33e..0fcdf969b6 100644
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -299,6 +299,32 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
Q_GLOBAL_STATIC(QThreadStorage<QIconvCodec::IconvState *>, fromUnicodeState)
+static bool setByteOrder(iconv_t cd)
+{
+#if !defined(NO_BOM)
+ // give iconv() a BOM
+ char buf[4];
+ ushort bom[] = { QChar::ByteOrderMark };
+
+ char *outBytes = buf;
+ char *inBytes = reinterpret_cast<char *>(bom);
+ size_t outBytesLeft = sizeof buf;
+ size_t inBytesLeft = sizeof bom;
+
+#if defined(GNU_LIBICONV)
+ const char **inBytesPtr = const_cast<const char **>(&inBytes);
+#else
+ char **inBytesPtr = &inBytes;
+#endif
+
+ if (iconv(cd, inBytesPtr, &inBytesLeft, &outBytes, &outBytesLeft) == (size_t) -1) {
+ return false;
+ }
+#endif // NO_BOM
+
+ return true;
+}
+
QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterState *convState) const
{
char *inBytes;
@@ -325,17 +351,8 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt
IconvState *&state = ts->localData();
if (!state) {
state = new IconvState(QIconvCodec::createIconv_t(0, UTF16));
- if (state->cd != reinterpret_cast<iconv_t>(-1)) {
- size_t outBytesLeft = len + 3; // +3 for the BOM
- QByteArray ba(outBytesLeft, Qt::Uninitialized);
- outBytes = ba.data();
-
-#if !defined(NO_BOM)
- // give iconv() a BOM
- QChar bom[] = { QChar(QChar::ByteOrderMark) };
- inBytes = reinterpret_cast<char *>(bom);
- inBytesLeft = sizeof(bom);
- if (iconv(state->cd, inBytesPtr, &inBytesLeft, &outBytes, &outBytesLeft) == (size_t) -1) {
+ if (state->cd == reinterpret_cast<iconv_t>(-1)) {
+ if (!setByteOrder(state->cd)) {
perror("QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv failed for BOM");
iconv_close(state->cd);
@@ -343,7 +360,6 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt
return QString(uc, len).toAscii();
}
-#endif // NO_BOM
}
}
if (state->cd == reinterpret_cast<iconv_t>(-1)) {
@@ -422,6 +438,7 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt
// reset to initial state
iconv(state->cd, 0, &inBytesLeft, 0, &outBytesLeft);
+ setByteOrder(state->cd);
ba.resize(ba.size() - outBytesLeft);
diff --git a/src/corelib/codecs/qsimplecodec.cpp b/src/corelib/codecs/qsimplecodec.cpp
index 4cc7912ea0..a6f5c9ef31 100644
--- a/src/corelib/codecs/qsimplecodec.cpp
+++ b/src/corelib/codecs/qsimplecodec.cpp
@@ -54,6 +54,7 @@ static const struct {
int mib;
quint16 values[128];
} unicodevalues[QSimpleTextCodec::numSimpleCodecs] = {
+#ifndef Q_OS_SYMBIAN
// from RFC 1489, ftp://ftp.isi.edu/in-notes/rfc1489.txt
{ "KOI8-R", { "csKOI8R", 0 }, 2084,
{ 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524,
@@ -288,6 +289,7 @@ static const struct {
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B,
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF} },
+#endif
{ "ISO-8859-16", { "iso-ir-226", "latin10", 0 }, 112,
{ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
@@ -309,7 +311,7 @@ static const struct {
// next bits generated again from tables on the Unicode 3.0 CD.
// $ for a in CP* ; do (awk '/^0x[89ABCDEF]/{ print $1, $2 }' < $a) | sort | sed -e 's/#UNDEF.*$/0xFFFD/' | cut -c6- | paste '-d ' - - - - - - - - | sed -e 's/ /, /g' -e 's/$/,/' -e '$ s/,$/} },/' -e '1 s/^/{ /' > ~/tmp/$a ; done
-
+#ifndef Q_OS_SYMBIAN
{ "IBM850", { "CP850", "csPC850Multilingual", 0 }, 2009,
{ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
@@ -344,6 +346,7 @@ static const struct {
0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F,
0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57,
0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD} },
+#endif //Q_OS_SYMBIAN
{ "IBM866", { "CP866", "csIBM866", 0 }, 2086,
{ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
@@ -362,6 +365,7 @@ static const struct {
0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E,
0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0} },
+#ifndef Q_OS_SYMBIAN
{ "windows-1250", { "CP1250", 0 }, 2250,
{ 0x20AC, 0xFFFD, 0x201A, 0xFFFD, 0x201E, 0x2026, 0x2020, 0x2021,
0xFFFD, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179,
@@ -516,6 +520,7 @@ static const struct {
0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7,
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF} },
+#endif
{ "Apple Roman", { "macintosh", "MacRoman", 0 }, -168,
{ 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1,
0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8,
@@ -534,8 +539,6 @@ static const struct {
0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC,
0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7} },
-
-
// This one is based on the charmap file
// /usr/share/i18n/charmaps/SAMI-WS2.gz, which is manually adapted
// to this format by Boerre Gaup <boerre@subdimension.com>
@@ -557,7 +560,7 @@ static const struct {
0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF} },
-
+#ifndef Q_OS_SYMBIAN
// this one is generated from the charmap file located in /usr/share/i18n/charmaps
// on most Linux distributions. The thai character set tis620 is byte by byte equivalent
// to iso8859-11, so we name it 8859-11 here, but recognise the name tis620 too.
@@ -581,6 +584,7 @@ static const struct {
0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57,
0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD } },
+#endif
/*
Name: hp-roman8 [HP-PCL5,RFC1345,KXS2]
MIBenum: 2004
diff --git a/src/corelib/codecs/qsimplecodec_p.h b/src/corelib/codecs/qsimplecodec_p.h
index b53eb95e78..57503b23cd 100644
--- a/src/corelib/codecs/qsimplecodec_p.h
+++ b/src/corelib/codecs/qsimplecodec_p.h
@@ -64,7 +64,11 @@ template <typename T> class QAtomicPointer;
class QSimpleTextCodec: public QTextCodec
{
public:
+#ifdef Q_OS_SYMBIAN
+ enum { numSimpleCodecs = 5 };
+#else
enum { numSimpleCodecs = 30 };
+#endif
explicit QSimpleTextCodec(int);
~QSimpleTextCodec();
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index ca5e658355..4034218490 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -64,6 +64,7 @@
#ifndef QT_NO_CODECS
# include "qtsciicodec_p.h"
# include "qisciicodec_p.h"
+#ifndef Q_OS_SYMBIAN
# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
// no iconv(3) support, must build all codecs into the library
# include "../../plugins/codecs/cn/qgb18030codec.h"
@@ -77,6 +78,7 @@
# include "qfontlaocodec_p.h"
# include "../../plugins/codecs/jp/qfontjpcodec.h"
# endif
+#endif // QT_NO_SYMBIAN
#endif // QT_NO_CODECS
#include "qlocale.h"
#include "qmutex.h"
@@ -93,6 +95,11 @@
# define QT_NO_SETLOCALE
#endif
+#ifdef Q_OS_SYMBIAN
+#include "qtextcodec_symbian.cpp"
+#endif
+
+
// enabling this is not exception safe!
// #define Q_DEBUG_TEXTCODEC
@@ -537,6 +544,12 @@ static QTextCodec *checkForCodec(const QByteArray &name) {
*/
static void setupLocaleMapper()
{
+#ifdef Q_OS_SYMBIAN
+ localeMapper = QSymbianTextCodec::localeMapper;
+ if (localeMapper)
+ return;
+#endif
+
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
localeMapper = QTextCodec::codecForName("System");
#else
@@ -680,6 +693,17 @@ static void setup()
(void) createQTextCodecCleanup();
#ifndef QT_NO_CODECS
+ (void)new QTsciiCodec;
+ for (int i = 0; i < 9; ++i)
+ (void)new QIsciiCodec(i);
+
+ for (int i = 0; i < QSimpleTextCodec::numSimpleCodecs; ++i)
+ (void)new QSimpleTextCodec(i);
+
+#ifdef Q_OS_SYMBIAN
+ localeMapper = QSymbianTextCodec::init();
+#endif
+
# if defined(Q_WS_X11) && !defined(QT_BOOTSTRAPPED)
// no font codecs when bootstrapping
(void)new QFontLaoCodec;
@@ -696,12 +720,8 @@ static void setup()
# endif // QT_NO_ICONV && !QT_BOOTSTRAPPED
# endif // Q_WS_X11
- (void)new QTsciiCodec;
-
- for (int i = 0; i < 9; ++i)
- (void)new QIsciiCodec(i);
-
+#ifndef Q_OS_SYMBIAN
# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
// no asian codecs when bootstrapping, sorry
(void)new QGb18030Codec;
@@ -715,6 +735,7 @@ static void setup()
(void)new QBig5Codec;
(void)new QBig5hkscsCodec;
# endif // QT_NO_ICONV && !QT_BOOTSTRAPPED
+#endif //Q_OS_SYMBIAN
#endif // QT_NO_CODECS
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
@@ -727,17 +748,18 @@ static void setup()
(void)new QUtf32Codec;
(void)new QUtf32BECodec;
(void)new QUtf32LECodec;
+#ifndef Q_OS_SYMBIAN
(void)new QLatin15Codec;
+#endif
(void)new QLatin1Codec;
(void)new QUtf8Codec;
- for (int i = 0; i < QSimpleTextCodec::numSimpleCodecs; ++i)
- (void)new QSimpleTextCodec(i);
-
+#ifndef Q_OS_SYMBIAN
#if defined(Q_OS_UNIX) && !defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
// QIconvCodec depends on the UTF-16 codec, so it needs to be created last
(void) new QIconvCodec();
#endif
+#endif
if (!localeMapper)
setupLocaleMapper();
@@ -1124,6 +1146,9 @@ QList<int> QTextCodec::availableMibs()
*/
void QTextCodec::setCodecForLocale(QTextCodec *c)
{
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
localeMapper = c;
if (!localeMapper)
setupLocaleMapper();
diff --git a/src/corelib/codecs/qtextcodec_symbian.cpp b/src/corelib/codecs/qtextcodec_symbian.cpp
new file mode 100644
index 0000000000..e4db9d73f6
--- /dev/null
+++ b/src/corelib/codecs/qtextcodec_symbian.cpp
@@ -0,0 +1,678 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore 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.
+**
+** 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 "qtextcodec_p.h"
+
+#include <private/qcore_symbian_p.h>
+#include <QThreadStorage>
+#include <QScopedPointer>
+
+#include <charconv.h>
+
+struct QSymbianCodecInitData {
+ uint charsetId;
+ int mib;
+ const char *aliases;
+};
+
+/* This table contains the known Symbian codecs aliases. It is ordered by charsetId.
+ It is required as symbian does not provide have aliases.
+ */
+static const QSymbianCodecInitData codecsData[] = {
+ { /*268439485*/ KCharacterSetIdentifierShiftJis, 17, "Shift_JIS\0MS_Kanji\0csShiftJIS\0MS_KANJI\0SJIS\0" },
+ { /*268439486*/ KCharacterSetIdentifierGb2312, 57, "GB2312\0csGB2312\0CN-GB\0EUC-CN\0" },
+ { /*268439487*/ KCharacterSetIdentifierBig5, 2026, "Big5\0csBig5\0Big5-ETen\0CP950\0BIG-FIVE\0CN-BIG5\0" },
+ { /*268440246*/ KCharacterSetIdentifierCodePage1252, 2252, "windows-1252\0Code Page 1252\0CP1252\0MS-ANSI\0" },
+// { /*268450576*/ KCharacterSetIdentifierIso88591, 4, "ISO-8859-1\0ISO_8859-1:1987\0iso-ir-100\0ISO_8859-1\0latin1\0l1\0IBM819\0CP819\0csISOLatin1\0ISO-IR-100\0ISO8859-1\0L1\0LATIN1\0CSISOLATIN1\0" },
+ { /*268451531*/ KCharacterSetIdentifierGbk, 113, "GBK\0MS936\0windows-936\0CP936\0" },
+ { /*268451866*/ KCharacterSetIdentifierGb12345, 0, "GB12345\0" },
+ { /*268455110*/ KCharacterSetIdentifierAscii, 3, "US-ASCII\0ANSI_X3.4-1968\0iso-ir-6\0ANSI_X3.4-1986\0ISO_646.irv:1991\0ASCII\0ISO646-US\0us\0IBM367\0cp367\0csASCII\0ISO-IR-6\0ISO_646.IRV:1991\0"},
+ { /*268456062*/ KCharacterSetIdentifierIso88592, 5, "ISO-8859-2\0ISO_8859-2:1987\0iso-ir-101\0latin2\0l2\0csISOLatin2\0" },
+ { /*268456063*/ KCharacterSetIdentifierIso88594, 7, "ISO-8859-4\0ISO_8859-4:1988\0iso-ir-110\0latin4\0l4\0csISOLatin4\0" },
+ { /*268456064*/ KCharacterSetIdentifierIso88595, 8, "ISO-8859-5\0ISO_8859-5:1988\0iso-ir-144\0cyrillic\0csISOLatinCyrillic\0" },
+ { /*268456065*/ KCharacterSetIdentifierIso88597, 10, "ISO-8859-7\0ISO_8859-7:1987\0iso-ir-126\0ELOT_928\0ECMA-118\0greek\0greek8\0csISOLatinGreek\0" },
+ { /*268456066*/ KCharacterSetIdentifierIso88599, 12, "ISO-8859-9\0ISO_8859-9:1989\0iso-ir-148\0latin5\0l5\0csISOLatin5\0" },
+ { /*268456875*/ KCharacterSetIdentifierSms7Bit, 0, "SMS 7-bit\0" },
+ { /*268458028*/ KCharacterSetIdentifierUtf7, 103, "UTF-7\0UNICODE-1-1-UTF-7\0CSUNICODE11UTF7\0" },
+// { /*268458029*/ KCharacterSetIdentifierUtf8, 106, "UTF-8\0" },
+ { /*268458030*/ KCharacterSetIdentifierImapUtf7, 0, "IMAP UTF-7\0" },
+ { /*268458031*/ KCharacterSetIdentifierJavaConformantUtf8, 0, "JAVA UTF-8\0" },
+ { /*268458454*/ 268458454, 2250, "Windows-1250\0CP1250\0MS-EE\0" },
+ { /*268458455*/ 268458455, 2251, "Windows-1251\0CP1251\0MS-CYRL\0" },
+ { /*268458456*/ 268458456, 2253, "Windows-1253\0CP1253\0MS-GREEK\0" },
+ { /*268458457*/ 268458457, 2254, "Windows-1254\0CP1254\0MS-TURK\0" },
+ { /*268458458*/ 268458458, 2257, "Windows-1257\0CP1257\0WINBALTRIM\0" },
+ { /*268460133*/ KCharacterSetIdentifierHz, 2085, "HZ-GB-2312\0HZ\0" },
+ { /*268460134*/ KCharacterSetIdentifierJis, 16, "JIS_Encoding\0JIS\0" },
+ { /*268460135*/ KCharacterSetIdentifierEucJpPacked, 18, "EUC-JP\0Extended_UNIX_Code_Packed_Format_for_Japanese\0csEUCPkdFmtJapanese\0EUCJP_PACKED\0" },
+ { /*268461728*/ KCharacterSetIdentifierIso2022Jp, 39, "ISO-2022-JP\0csISO2022JP\0JIS7\0" },
+ { /*268461731*/ KCharacterSetIdentifierIso2022Jp1, 0, "ISO2022JP1\0" },
+ { /*268470824*/ KCharacterSetIdentifierIso88593, 6, "ISO-8859-3\0ISO_8859-3:1988\0iso-ir-109\0latin3\0l3\0csISOLatin3\0" },
+ { /*268470825*/ KCharacterSetIdentifierIso88596, 9, "ISO-8859-6\0ISO_8859-6:1987\0iso-ir-127\0ECMA-114\0ASMO-708\0arabic\0ISO88596\0csISOLatinArabic\0ARABIC\0" },
+ { /*268470826*/ KCharacterSetIdentifierIso88598, 11, "ISO-8859-8\0ISO_8859-8:1988\0iso-ir-138\0hebrew\0csISOLatinHebrew\0" },
+ { /*268470827*/ KCharacterSetIdentifierIso885910, 13, "ISO-8859-10\0iso-ir-157\0l6\0ISO_8859-10:1992\0csISOLatin6\0latin6\0" },
+ { /*268470828*/ KCharacterSetIdentifierIso885913, 109, "ISO-8859-13\0ISO885913\0ISO-IR-179\0ISO8859-13\0L7\0LATIN7\0CSISOLATIN7\0" },
+ { /*268470829*/ KCharacterSetIdentifierIso885914, 110, "ISO-8859-14\0iso-ir-199\0ISO_8859-14:1998\0latin8\0iso-celtic\0l8\0" },
+ { /*268470830*/ KCharacterSetIdentifierIso885915, 111, "ISO-8859-15\0latin-9\0ISO-IR-203\0" },
+// { /*270483374*/ KCharacterSetIdentifierUnicodeLittle, 1014, "UTF-16LE\0Little-Endian UNICODE\0" },
+// { /*270483538*/ KCharacterSetIdentifierUnicodeBig, 1013, "UTF-16BE\0Big-Endian UNICODE\0" },
+ { /*270501191*/ 270501191, 2255, "Windows-1255\0CP1255\0MS-HEBR\0" },
+ { /*270501192*/ 270501192, 2256, "Windows-1256\0CP1256\0MS-ARAB\0" },
+ { /*270501193*/ 270501193, 2259, "TIS-620\0ISO-IR-166\0TIS620-0\0TIS620.2529-1\0TIS620.2533-0\0TIS620.2533-1\0" },
+ { /*270501194*/ 270501194, 0, "windows-874\0CP874\0IBM874\0" },
+ { /*270501325*/ 270501325, 0, "SmsStrict\0" },
+ { /*270501521*/ 270501521, 0, "ShiftJisDirectmap\0" },
+ { /*270501542*/ 270501542, 0, "EucJpDirectmap\0" },
+ /* 270501691 (duplicate) Windows-1252 | windows-1252 |Windows-1252 |Code Page 1252 |CP1252 |MS-ANSI |WINDOWS-1252 |2252 */
+ { /*270501729*/ 270501729, 2088, "KOI8-U\0" },
+ { /*270501752*/ 270501752, 2084, "KOI8-R\0csKOI8R\0" },
+ { /*270529682*/ 270529682, 1000, "ISO-10646-UCS-2\0UCS-2\0CSUNICODE\0" },
+ { /*270562232*/ 270562232, 2258, "Windows-1258\0CP1258\0WINDOWS-1258\0" },
+ { /*270586888*/ 270586888, 0, "J5\0" },
+ { /*271011982*/ 271011982, 0, "ISCII\0" },
+ { /*271066541*/ 271066541, 2009, "CP850\0IBM850\0""850\0csPC850Multilingual\0" },
+ { /*271082493*/ 271082493, 0, "EXTENDED_SMS_7BIT\0" },
+ { /*271082494*/ 271082494, 0, "gsm7_turkish_single\0" },
+ { /*271082495*/ 271082495, 0, "turkish_locking_gsm7ext\0" },
+ { /*271082496*/ 271082496, 0, "turkish_locking_single\0" },
+ { /*536929574*/ 536929574, 38, "EUC-KR\0" },
+ { /*536936703*/ 536936703, 0, "CP949\0" },
+ { /*536936705*/ 536936705, 37, "ISO-2022-KR\0" },
+ { /*536941517*/ 536941517, 36, "KS_C_5601-1987\0" }
+ };
+
+
+class QSymbianTextCodec : public QTextCodec
+{
+public:
+ QString convertToUnicode(const char*, int, ConverterState*) const;
+ QByteArray convertFromUnicode(const QChar*, int, ConverterState*) const;
+ QList<QByteArray> aliases() const;
+ QByteArray name() const;
+ int mibEnum() const;
+
+ explicit QSymbianTextCodec(uint charsetId, int staticIndex = -1) : m_charsetId(charsetId), m_staticIndex(staticIndex) { }
+
+ static QSymbianTextCodec *init();
+ static QSymbianTextCodec *localeMapper;
+private:
+ static CCnvCharacterSetConverter *converter();
+ static uint getLanguageDependentCharacterSet();
+ uint m_charsetId;
+ int m_staticIndex;
+};
+
+QSymbianTextCodec *QSymbianTextCodec::localeMapper = 0;
+
+class QSymbianTextCodecWithName : public QSymbianTextCodec
+{
+public:
+ QSymbianTextCodecWithName(uint charsetId, const QByteArray &name)
+ : QSymbianTextCodec(charsetId) , m_name(name) { }
+ QByteArray name() const { return m_name; }
+ QList<QByteArray> aliases() const { return QList<QByteArray>(); }
+private:
+ QByteArray m_name;
+};
+
+Q_GLOBAL_STATIC(QThreadStorage<CCnvCharacterSetConverter *>,gs_converterStore);
+
+CCnvCharacterSetConverter *QSymbianTextCodec::converter()
+{
+ CCnvCharacterSetConverter *&conv = gs_converterStore()->localData();
+ if (!conv)
+ QT_TRAP_THROWING(conv = CCnvCharacterSetConverter::NewL())
+ return conv;
+}
+
+
+QByteArray QSymbianTextCodec::name() const
+{
+ if (m_staticIndex >= 0)
+ return QByteArray(codecsData[m_staticIndex].aliases);
+ QScopedPointer<HBufC8> buf;
+ QT_TRAP_THROWING(buf.reset(converter()->ConvertCharacterSetIdentifierToStandardNameL(m_charsetId, qt_s60GetRFs())))
+ if (buf)
+ return QByteArray(reinterpret_cast<const char *>(buf->Ptr()), buf->Length());
+ return QByteArray();
+}
+
+int QSymbianTextCodec::mibEnum() const
+{
+ if (m_staticIndex >= 0)
+ return codecsData[m_staticIndex].mib;
+ int mib;
+ QT_TRAP_THROWING(mib = converter()->ConvertCharacterSetIdentifierToMibEnumL(m_charsetId, qt_s60GetRFs()))
+ return mib;
+}
+
+QList<QByteArray> QSymbianTextCodec::aliases() const
+{
+ QList<QByteArray> result;
+ if (m_staticIndex >= 0) {
+ const char *aliases = codecsData[m_staticIndex].aliases;
+ aliases += strlen(aliases) + 1;
+ while (*aliases) {
+ int len = strlen(aliases);
+ result += QByteArray(aliases, len);
+ aliases += len + 1;
+ }
+ }
+ return result;
+}
+
+
+QString QSymbianTextCodec::convertToUnicode(const char *str, int len, ConverterState *state) const
+{
+ uint charsetId = m_charsetId;
+
+ // no support for utf7 with state
+ if (state && (charsetId == KCharacterSetIdentifierUtf7 ||
+ charsetId == KCharacterSetIdentifierImapUtf7)) {
+ return QString();
+ }
+ CCnvCharacterSetConverter *converter = QSymbianTextCodec::converter();
+ if (!str) {
+ return QString();
+ }
+
+ //Search the character set array containing all of the character sets for which conversion is available
+ CCnvCharacterSetConverter::TAvailability av;
+ QT_TRAP_THROWING(av = converter->PrepareToConvertToOrFromL(charsetId, qt_s60GetRFs()))
+ if (av == CCnvCharacterSetConverter::ENotAvailable) {
+ return QString();
+ }
+
+ char *str2;
+ int len2;
+ QByteArray helperBA;
+ if (state && (state->remainingChars > 0)) {
+ // we should prepare the input string ourselves
+ // the real size
+ len2 = len + state->remainingChars;
+ helperBA.resize(len2);
+ str2 = helperBA.data();
+ if (state->remainingChars > 3) { // doesn't happen usually
+ memcpy(str2, state->d, state->remainingChars);
+ qFree(state->d);
+ state->d = 0;
+ } else {
+ char charTbl[3];
+ charTbl[0] = state->state_data[0];
+ charTbl[1] = state->state_data[1];
+ charTbl[2] = state->state_data[2];
+ memcpy(str2, charTbl, state->remainingChars);
+ }
+ memcpy(str2+state->remainingChars, str, len);
+ }
+ else {
+ len2 = len;
+ str2 = const_cast<char*>(str);
+ }
+
+ QString UnicodeText(len2, Qt::Uninitialized);
+ TPtrC8 remainderOfForeignText;
+ remainderOfForeignText.Set(reinterpret_cast<const unsigned char *>(str2), len2);
+
+ int numberOfUnconvertibleCharacters = 0;
+ int indexOfFirstUnconvertibleCharacter;
+
+ // Use null character as replacement, if it is asked
+ bool convertToNull = (state && (state->flags & QTextCodec::ConvertInvalidToNull));
+ if (convertToNull) {
+ _LIT8(KReplacement, "\x00");
+ QT_TRAP_THROWING(converter->SetReplacementForUnconvertibleUnicodeCharactersL(KReplacement))
+ }
+ // use state->invalidChars for keeping symbian state
+ int sState = CCnvCharacterSetConverter::KStateDefault;
+ if (state && (state->invalidChars != CCnvCharacterSetConverter::KStateDefault)) {
+ sState = state->invalidChars;
+ }
+ //Convert text encoded in a non-Unicode character set into the Unicode character set (UCS-2).
+ int remainingChars = -1;
+ int initial_size=0;
+ while (1) {
+ TPtr16 UnicodePtr(reinterpret_cast<unsigned short *>(UnicodeText.data()+initial_size), UnicodeText.size());
+ QT_TRAP_THROWING(remainingChars = converter->ConvertToUnicode(UnicodePtr,
+ remainderOfForeignText,
+ sState,
+ numberOfUnconvertibleCharacters,
+ indexOfFirstUnconvertibleCharacter))
+
+ initial_size += UnicodePtr.Length();
+ // replace 0xFFFD with 0x0000 and only if state set to convert to it
+ if (numberOfUnconvertibleCharacters>0 && convertToNull) {
+ int len2 = UnicodePtr.Length();
+ for (int i = indexOfFirstUnconvertibleCharacter; i < len2; i++) {
+ UnicodePtr[i] = 0x0000;
+ }
+ }
+ // success
+ if (remainingChars==KErrNone) {
+ break;
+ }
+ // if ConvertToUnicode could not consume the foreign text at all
+ // UTF-8: EErrorIllFormedInput = KErrCorrupt
+ // UCS-2: KErrNotFound
+ if (remainingChars == CCnvCharacterSetConverter::EErrorIllFormedInput ||
+ remainingChars == KErrNotFound) {
+ remainingChars = remainderOfForeignText.Size();
+ break;
+ }
+ else {
+ if (remainingChars < 0) {
+ return QString();
+ }
+ }
+ //
+ UnicodeText.resize(UnicodeText.size() + remainingChars*2);
+ remainderOfForeignText.Set(reinterpret_cast<const unsigned char *>(str2+len2-remainingChars), remainingChars);
+ }
+ // save symbian state
+ if (state) {
+ state->invalidChars = sState;
+ }
+
+ if (remainingChars > 0) {
+ if (!state) {
+ // No way to signal, if there is still remaining chars, for ex. UTF-8 still can have
+ // some characters hanging around.
+ return QString();
+ }
+ const unsigned char *charPtr = remainderOfForeignText.Right(remainingChars).Ptr();
+ if (remainingChars > 3) { // doesn't happen usually
+ state->d = (void*)qMalloc(remainingChars);
+ if (!state->d)
+ return QString();
+ // copy characters there
+ memcpy(state->d, charPtr, remainingChars);
+ }
+ else {
+ // fallthru is correct
+ switch (remainingChars) {
+ case 3:
+ state->state_data[2] = charPtr[2];
+ case 2:
+ state->state_data[1] = charPtr[1];
+ case 1:
+ state->state_data[0] = charPtr[0];
+ }
+ }
+ state->remainingChars = remainingChars;
+ }
+ else {
+ if (state) {
+ // If we continued from an earlier iteration
+ state->remainingChars = 0;
+ }
+ }
+ // check if any ORIGINAL headers should be left
+ if (initial_size > 0) {
+ if (!state || (state && !(state->flags & QTextCodec::IgnoreHeader))) {
+ // always skip headers on following state loops
+ if (state) {
+ state->flags |= QTextCodec::IgnoreHeader;
+ }
+ const TUint16 *ptr = reinterpret_cast<const TUint16 *>(UnicodeText.data());
+ if (ptr[0] == QChar::ByteOrderMark || ptr[0] == QChar::ByteOrderSwapped) {
+ return UnicodeText.mid(1, initial_size - 1);
+ }
+ }
+ }
+ if (initial_size >= 0) {
+ UnicodeText.resize(initial_size);
+ return UnicodeText;
+ }
+ else {
+ return QString();
+ }
+}
+
+
+QByteArray QSymbianTextCodec::convertFromUnicode(const QChar *str, int len, ConverterState *state) const
+{
+ uint charsetId = m_charsetId;
+ CCnvCharacterSetConverter *converter = QSymbianTextCodec::converter();
+ if (!str)
+ return QByteArray();
+
+ if (len == 0)
+ return QByteArray();
+
+ // no support for utf7 with state
+ if (state && (charsetId == KCharacterSetIdentifierUtf7 ||
+ charsetId == KCharacterSetIdentifierImapUtf7))
+ return QByteArray();
+
+ //Get reference file session from backend
+ RFs &fileSession = qt_s60GetRFs();
+
+ //Search the character set array containing all of the character sets for which conversion is available
+ CCnvCharacterSetConverter::TAvailability av = CCnvCharacterSetConverter::ENotAvailable;
+ QT_TRAP_THROWING(av = converter->PrepareToConvertToOrFromL(charsetId, fileSession))
+ if (av == CCnvCharacterSetConverter::ENotAvailable)
+ return QByteArray();
+
+ // Use null character as replacement, if it is asked
+ if (state && (state->flags & QTextCodec::ConvertInvalidToNull)) {
+ _LIT8(KReplacement, "\x00");
+ QT_TRAP_THROWING(converter->SetReplacementForUnconvertibleUnicodeCharactersL(KReplacement))
+ }
+ else {
+ _LIT8(KReplacement, "?");
+ QT_TRAP_THROWING(converter->SetReplacementForUnconvertibleUnicodeCharactersL(KReplacement))
+ }
+ QByteArray outputBuffer;
+
+ // add header if no state (one run), or if no ignoreheader (from first state)
+ int bomofs = 0;
+ if (!state || (state && !(state->flags & QTextCodec::IgnoreHeader))) {
+
+ QChar bom(QChar::ByteOrderMark);
+
+ if (state)
+ state->flags |= QTextCodec::IgnoreHeader; // bom handling only on first state
+
+ switch (charsetId) {
+ case KCharacterSetIdentifierUcs2:
+ outputBuffer.append(bom.row());
+ outputBuffer.append(bom.cell());
+ bomofs = 2;
+ break;
+
+ case KCharacterSetIdentifierUtf8: // we don't add bom for UTF-8
+ case KCharacterSetIdentifierJavaConformantUtf8:
+ /*outputBuffer.append("\xef\xbb\xbf");
+ bomofs = 3;
+ */
+ break;
+
+ case KCharacterSetIdentifierUnicodeLittle:
+ outputBuffer.append(bom.cell());
+ outputBuffer.append(bom.row());
+ bomofs = 2;
+ break;
+
+ case KCharacterSetIdentifierUnicodeBig:
+ outputBuffer.append(bom.row());
+ outputBuffer.append(bom.cell());
+ bomofs = 2;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ // len is 16bit chars, reserve 3 8bit chars for each input char
+ // jsz - it could be differentiated, to allocate less
+ outputBuffer.resize(len * 3 + bomofs);
+
+ // loop for too short output buffer
+ int unconverted;
+ int numberOfUnconvertibleCharacters = len;
+ int indexOfFirstUnconvertibleCharacter;
+ int convertedSize;
+ int lastUnconverted = 0;
+ int initial_size=0;
+ int remainderToConvert = len;
+ while (1) {
+ TPtr8 outputPtr(reinterpret_cast<unsigned char *>(outputBuffer.data() + bomofs + initial_size), outputBuffer.size() - bomofs);
+
+ TPtrC16 UnicodeText(reinterpret_cast<const unsigned short *>(str+len-remainderToConvert), remainderToConvert);
+
+ //Convert text encoded in the Unicode character set (UCS-2) into other character sets
+ unconverted = -1;
+ QT_TRAP_THROWING( unconverted = converter->ConvertFromUnicode(outputPtr,
+ UnicodeText,
+ numberOfUnconvertibleCharacters,
+ indexOfFirstUnconvertibleCharacter))
+ initial_size += outputPtr.Length();
+ if (unconverted < 0) {
+ return QByteArray();
+ }
+
+
+ if (unconverted == 0 ) {
+ convertedSize = initial_size;
+ break;
+ }
+
+ // check what means unconverted > 0
+ if (indexOfFirstUnconvertibleCharacter<0) {
+ // 8859-6 and 8859-8 break with certain input (string of \xc0 - \xd9 converted to unicode and back)
+ if (unconverted == lastUnconverted) {
+ return QByteArray();
+ }
+ lastUnconverted = unconverted;
+ }
+ else {
+ // were some character not possible to convert
+
+ }
+ remainderToConvert = unconverted; // len - indexOfFirstUnconvertibleCharacter;
+ // resize output buffer, use =op for the null check
+ outputBuffer.resize(outputBuffer.size() + remainderToConvert * 3 + bomofs);
+ };
+
+ // shorten output
+ outputBuffer.resize(convertedSize + bomofs);
+
+ if (state) {
+ state->invalidChars = numberOfUnconvertibleCharacters;
+
+ // check if any Symbian CONVERTED headers should be removed
+ if (state->flags & QTextCodec::IgnoreHeader && state->state_data[0] == 0) {
+
+ state->state_data[0] = 0xff; // bom handling only on first state
+
+ if (charsetId == KCharacterSetIdentifierUcs2 && outputBuffer.size() > 1) {
+
+ QChar bom(QChar::ByteOrderMark);
+ if (outputBuffer.at(0) == bom.row() && outputBuffer.at(1) == bom.cell()) {
+ outputBuffer.remove(0, 2);
+ } else if (outputBuffer.at(0) == bom.cell() && outputBuffer.at(1) == bom.row()) {
+ outputBuffer.remove(0, 2);
+ }
+
+ } else if ((charsetId == KCharacterSetIdentifierUtf8 ||
+ charsetId == KCharacterSetIdentifierJavaConformantUtf8) &&
+ outputBuffer.size() > 2) {
+ if (outputBuffer.at(0) == 0xef && outputBuffer.at(1) == 0xbb && outputBuffer.at(2) == 0xbf) {
+ outputBuffer.remove(0, 3);
+ }
+
+ } else if (charsetId == KCharacterSetIdentifierUnicodeLittle &&
+ outputBuffer.size() > 1) {
+
+ QChar bom(QChar::ByteOrderMark);
+ if (outputBuffer.at(0) == bom.row() && outputBuffer.at(1) == bom.cell()) {
+ outputBuffer.remove(0, 2);
+ }
+
+ } else if (charsetId == KCharacterSetIdentifierUnicodeBig &&
+ outputBuffer.size() > 1) {
+
+ QChar bom(QChar::ByteOrderSwapped);
+ if (outputBuffer.at(0) == bom.row() && outputBuffer.at(1) == bom.cell()) {
+ outputBuffer.remove(0, 2);
+ }
+ }
+
+ }
+ }
+
+ return outputBuffer;
+}
+
+
+uint QSymbianTextCodec::getLanguageDependentCharacterSet()
+{
+ TLanguage lang = User::Language();
+
+ uint langIndex = 0;
+
+ switch (lang) {
+ case 14: //ELangTurkish
+ langIndex = KCharacterSetIdentifierIso88599; break;
+ case 16: //ELangRussian
+ langIndex = KCharacterSetIdentifierIso88595; break;
+ case 17: //ELangHungarian
+ langIndex = KCharacterSetIdentifierIso88592; break;
+ case 25: //ELangCzec
+ case 26: //ELangSlovak
+ case 27: //ELangPolish
+ case 28: //ELangSlovenian
+ langIndex = KCharacterSetIdentifierIso88592; break;
+ case 29: //ELangTaiwanChinese
+ case 30: //ELangHongKongChinese
+ langIndex = KCharacterSetIdentifierBig5; break;
+ case 31: //ELangPrcChinese
+ langIndex = KCharacterSetIdentifierGbk; break;
+ case 32: //ELangJapanese
+ langIndex = KCharacterSetIdentifierShiftJis; break;
+ case 33: //ELangThai
+ langIndex = 270501193 /*KCharacterSetIdentifierTis620*/; break;
+ case 37: //ELangArabic
+ langIndex = KCharacterSetIdentifierIso88596; break;
+ case 40: //ELangBelarussian
+ case 42: //ELangBulgarian
+ langIndex = KCharacterSetIdentifierIso88595; break;
+ case 45: //ELangCroatian
+ langIndex = KCharacterSetIdentifierIso88592; break;
+ case 49: //ELangEstonian
+ langIndex = KCharacterSetIdentifierIso88594; break;
+ case 54: //ELangGreek
+ case 55: //ELangCyprusGreek
+ langIndex = KCharacterSetIdentifierIso88597; break;
+ case 57: //ELangHebrew
+ langIndex = KCharacterSetIdentifierIso88598; break;
+ case 58: //ELangHindi
+ langIndex = 271011982/*KCharacterSetIdentifierIscii*/; break;
+ case 67: //ELangLatvian
+ case 68: //ELangLithuanian
+ langIndex = KCharacterSetIdentifierIso88594; break;
+ case 69: //ELangMacedonian
+ langIndex = KCharacterSetIdentifierIso88595; break;
+ case 78: //ELangRomanian
+ langIndex = KCharacterSetIdentifierIso88592; break;
+ case 79: //ELangSerbian
+ langIndex = KCharacterSetIdentifierIso88592; break;
+ case 91: //ELangCyprusTurkish
+ langIndex = KCharacterSetIdentifierIso88599; break;
+ case 93: //ELangUkrainian
+ langIndex = KCharacterSetIdentifierIso88595; break;
+ case 94: //ELangUrdu
+ langIndex = KCharacterSetIdentifierIso88596; break;
+ case 157: //ELangEnglish_Taiwan
+ case 158: //ELangEnglish_HongKong
+ langIndex = KCharacterSetIdentifierBig5; break;
+ case 159: //ELangEnglish_Prc
+ langIndex = KCharacterSetIdentifierGbk; break;
+ case 160:
+ langIndex = KCharacterSetIdentifierShiftJis; break;
+ case 161: //ELangEnglish_Thailand
+ langIndex = 270501193/*KCharacterSetIdentifierTis620*/; break;
+ }
+
+ if (langIndex > 0) {
+ return langIndex;
+ }
+ return KCharacterSetIdentifierCodePage1252;
+}
+
+/* Create the codecs that have aliases and return the locale mapper*/
+QSymbianTextCodec *QSymbianTextCodec::init()
+{
+ const uint localeMapperId = getLanguageDependentCharacterSet();
+ QScopedPointer<CArrayFix<CCnvCharacterSetConverter::SCharacterSet> > array;
+ QT_TRAP_THROWING(array.reset(CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableL(qt_s60GetRFs())))
+ CCnvCharacterSetConverter *converter = QSymbianTextCodec::converter();
+ int count = array->Count();
+ for (int i = 0; i < count; i++) {
+ int charsetId = array->At(i).Identifier();
+
+ // skip builtin Qt codecs
+ if (charsetId == KCharacterSetIdentifierUtf8 || charsetId == KCharacterSetIdentifierUnicodeLittle
+ || charsetId == KCharacterSetIdentifierUnicodeLittle || charsetId == KCharacterSetIdentifierUnicodeBig
+ || charsetId == KCharacterSetIdentifierIso88591
+ || charsetId == 270501691 /* skip Windows-1252 duplicate*/) {
+ continue;
+ }
+
+ int begin = 0;
+ int n = sizeof(codecsData) / sizeof(codecsData[0]);
+ int half;
+
+ while (n > 0) {
+ half = n >> 1;
+ int middle = begin + half;
+ if (codecsData[middle].charsetId < charsetId) {
+ begin = middle + 1;
+ n -= half + 1;
+ } else {
+ n = half;
+ }
+ }
+ if (codecsData[begin].charsetId == charsetId) {
+ QSymbianTextCodec *c = new QSymbianTextCodec(charsetId, begin);
+ if (charsetId == localeMapperId)
+ localeMapper = c;
+ } else {
+ QScopedPointer<HBufC8> buf;
+ QT_TRAP_THROWING(buf.reset(converter->ConvertCharacterSetIdentifierToStandardNameL(charsetId, qt_s60GetRFs())))
+ QByteArray name;
+ if (buf && buf->Length()) {
+ name = QByteArray(reinterpret_cast<const char *>(buf->Ptr()), buf->Length());
+ } else {
+ TPtrC charSetName = array->At(i).NameIsFileName() ? TParsePtrC(array->At(i).Name()).Name() : array->At(i).Name();
+ int len = charSetName.Length();
+ QString str;
+ str.setUnicode(reinterpret_cast<const QChar*>(charSetName.Ptr()), len);
+ name = str.toLatin1();
+ }
+ if (!name.isEmpty())
+ new QSymbianTextCodecWithName(charsetId, name);
+ }
+
+ }
+ return localeMapper;
+}
diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp
index 7655c510ae..f747bf754f 100644
--- a/src/corelib/codecs/qutfcodec.cpp
+++ b/src/corelib/codecs/qutfcodec.cpp
@@ -48,6 +48,19 @@ QT_BEGIN_NAMESPACE
enum { Endian = 0, Data = 1 };
+static inline bool isUnicodeNonCharacter(uint ucs4)
+{
+ // Unicode has a couple of "non-characters" that one can use internally,
+ // but are not allowed to be used for text interchange.
+ //
+ // Those are the last two entries each Unicode Plane (U+FFFE, U+FFFF,
+ // U+1FFFE, U+1FFFF, etc.) as well as the entries between U+FDD0 and
+ // U+FDEF (inclusive)
+
+ return (ucs4 & 0xfffe) == 0xfffe
+ || (ucs4 - 0xfdd0U) < 16;
+}
+
QByteArray QUtf8::convertFromUnicode(const QChar *uc, int len, QTextCodec::ConverterState *state)
{
uchar replacement = '?';
@@ -106,16 +119,17 @@ QByteArray QUtf8::convertFromUnicode(const QChar *uc, int len, QTextCodec::Conve
if (u < 0x0800) {
*cursor++ = 0xc0 | ((uchar) (u >> 6));
} else {
+ // is it one of the Unicode non-characters?
+ if (isUnicodeNonCharacter(u)) {
+ *cursor++ = replacement;
+ ++ch;
+ ++invalid;
+ continue;
+ }
+
if (u > 0xffff) {
- // see QString::fromUtf8() and QString::utf8() for explanations
- if (u > 0x10fe00 && u < 0x10ff00) {
- *cursor++ = (u - 0x10fe00);
- ++ch;
- continue;
- } else {
- *cursor++ = 0xf0 | ((uchar) (u >> 18));
- *cursor++ = 0x80 | (((uchar) (u >> 12)) & 0x3f);
- }
+ *cursor++ = 0xf0 | ((uchar) (u >> 18));
+ *cursor++ = 0x80 | (((uchar) (u >> 12)) & 0x3f);
} else {
*cursor++ = 0xe0 | (((uchar) (u >> 12)) & 0x3f);
}
@@ -179,15 +193,16 @@ QString QUtf8::convertToUnicode(const char *chars, int len, QTextCodec::Converte
--need;
if (!need) {
// utf-8 bom composes into 0xfeff code point
+ bool nonCharacter;
if (!headerdone && uc == 0xfeff) {
// dont do anything, just skip the BOM
- } else if (uc > 0xffff && uc < 0x110000) {
+ } else if (!(nonCharacter = isUnicodeNonCharacter(uc)) && uc > 0xffff && uc < 0x110000) {
// surrogate pair
Q_ASSERT((qch - (ushort*)result.unicode()) + 2 < result.length());
*qch++ = QChar::highSurrogate(uc);
*qch++ = QChar::lowSurrogate(uc);
- } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
- // error: overlong sequence, UTF16 surrogate or BOM
+ } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || nonCharacter || uc >= 0x110000) {
+ // error: overlong sequence, UTF16 surrogate or non-character
*qch++ = replacement;
++invalid;
} else {
diff --git a/src/corelib/concurrent/qfuturewatcher.cpp b/src/corelib/concurrent/qfuturewatcher.cpp
index 3b808b84bf..d4573c6051 100644
--- a/src/corelib/concurrent/qfuturewatcher.cpp
+++ b/src/corelib/concurrent/qfuturewatcher.cpp
@@ -505,7 +505,7 @@ void QFutureWatcherBasePrivate::sendCallOutEvent(QFutureCallOutEvent *event)
finished signal will be emitted.
To avoid a race condition, it is important to call this function
- \i after doing the connections.
+ \e after doing the connections.
*/
/*! \fn QFuture<T> QFutureWatcher::future() const
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 6ee8ae93eb..89a0c0bead 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -299,7 +299,9 @@ public:
MacWindowToolBarButtonHint = 0x10000000,
BypassGraphicsProxyWidget = 0x20000000,
WindowOkButtonHint = 0x00080000,
- WindowCancelButtonHint = 0x00100000
+ WindowCancelButtonHint = 0x00100000,
+ WindowSoftkeysVisibleHint = 0x40000000,
+ WindowSoftkeysRespondHint = 0x80000000
#ifdef QT3_SUPPORT
,
@@ -500,6 +502,14 @@ public:
WA_MergeSoftkeys = 124,
WA_MergeSoftkeysRecursively = 125,
+#if 0 // these values are reserved for Maemo5 - do not re-use them
+ WA_Maemo5NonComposited = 126,
+ WA_Maemo5StackedWindow = 127,
+ WA_Maemo5PortraitOrientation = 128,
+ WA_Maemo5LandscapeOrientation = 129,
+ WA_Maemo5AutoOrientation = 130,
+ WA_Maemo5ShowProgressIndicator = 131,
+#endif
// Add new attributes before this line
WA_AttributeCount
};
@@ -1049,6 +1059,9 @@ public:
Key_Suspend = 0x0100010c,
Key_ContrastAdjust = 0x0100010d,
+ Key_LaunchG = 0x0100010e,
+ Key_LaunchH = 0x0100010f,
+
Key_MediaLast = 0x0100ffff,
// Keypad navigation keys
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index db910ceaa3..f8f3c4951d 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -1623,22 +1623,24 @@
\value Key_OpenUrl
\value Key_LaunchMail
\value Key_LaunchMedia
- \value Key_Launch0
- \value Key_Launch1
- \value Key_Launch2
- \value Key_Launch3
- \value Key_Launch4
- \value Key_Launch5
- \value Key_Launch6
- \value Key_Launch7
- \value Key_Launch8
- \value Key_Launch9
- \value Key_LaunchA
- \value Key_LaunchB
- \value Key_LaunchC
- \value Key_LaunchD
- \value Key_LaunchE
- \value Key_LaunchF
+ \value Key_Launch0 On X11 this key is mapped to "My Computer" (XF86XK_MyComputer) key for legacy reasons.
+ \value Key_Launch1 On X11 this key is mapped to "Calculator" (XF86XK_Calculator) key for legacy reasons.
+ \value Key_Launch2 On X11 this key is mapped to XF86XK_Launch0 key for legacy reasons.
+ \value Key_Launch3 On X11 this key is mapped to XF86XK_Launch1 key for legacy reasons.
+ \value Key_Launch4 On X11 this key is mapped to XF86XK_Launch2 key for legacy reasons.
+ \value Key_Launch5 On X11 this key is mapped to XF86XK_Launch3 key for legacy reasons.
+ \value Key_Launch6 On X11 this key is mapped to XF86XK_Launch4 key for legacy reasons.
+ \value Key_Launch7 On X11 this key is mapped to XF86XK_Launch5 key for legacy reasons.
+ \value Key_Launch8 On X11 this key is mapped to XF86XK_Launch6 key for legacy reasons.
+ \value Key_Launch9 On X11 this key is mapped to XF86XK_Launch7 key for legacy reasons.
+ \value Key_LaunchA On X11 this key is mapped to XF86XK_Launch8 key for legacy reasons.
+ \value Key_LaunchB On X11 this key is mapped to XF86XK_Launch9 key for legacy reasons.
+ \value Key_LaunchC On X11 this key is mapped to XF86XK_LaunchA key for legacy reasons.
+ \value Key_LaunchD On X11 this key is mapped to XF86XK_LaunchB key for legacy reasons.
+ \value Key_LaunchE On X11 this key is mapped to XF86XK_LaunchC key for legacy reasons.
+ \value Key_LaunchF On X11 this key is mapped to XF86XK_LaunchD key for legacy reasons.
+ \value Key_LaunchG On X11 this key is mapped to XF86XK_LaunchE key for legacy reasons.
+ \value Key_LaunchH On X11 this key is mapped to XF86XK_LaunchF key for legacy reasons.
\value Key_MonBrightnessUp
\value Key_MonBrightnessDown
\value Key_KeyboardLightOnOff
@@ -1664,7 +1666,7 @@
\value Key_ApplicationRight
\value Key_Book
\value Key_CD
- \value Key_Calculator
+ \value Key_Calculator On X11 this key is not mapped for legacy reasons. Use Qt::Key_Launch1 instead.
\value Key_ToDoList
\value Key_ClearGrab
\value Key_Close
@@ -2147,6 +2149,14 @@
\value WindowCancelButtonHint Adds a Cancel button to the window decoration of a dialog.
Only supported for Windows CE.
+ \value WindowSoftkeysVisibleHint Makes softkeys visible when widget is fullscreen.
+ Only supported for Symbian.
+
+ \value WindowSoftkeysRespondHint Makes softkeys to receive key events even
+ when invisible. With this hint the softkey actions are triggered
+ even the softkeys are invisible i.e. the window is displayed with
+ \c showFullscreen(). Only supported for Symbian.
+
\value WindowType_Mask A mask for extracting the window type
part of the window flags.
@@ -2978,6 +2988,11 @@
the Qt::GestureStarted state and ending with a gesture in the
Qt::GestureFinished or Qt::GestureCanceled states.
+ \value IgnoredGesturesPropagateToParent Since Qt 4.7, this flag allows you
+ to fine-tune gesture event propagation. By setting the flag when
+ \l{QGraphicsObject::grabGesture()}{grabbing} a gesture all ignored partial
+ gestures will propagate to their parent items.
+
\sa QWidget::grabGesture(), QGraphicsObject::grabGesture()
*/
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index ec4ba2ff31..222ba8f5e4 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -243,6 +243,7 @@ QDataStream& operator>>(QDataStream& s, QList<T>& l)
l.clear();
quint32 c;
s >> c;
+ l.reserve(c);
for(quint32 i = 0; i < c; ++i)
{
T t;
diff --git a/src/corelib/io/qfilesystemwatcher_fsevents.cpp b/src/corelib/io/qfilesystemwatcher_fsevents.cpp
index 54ae24e40b..d3276bdb19 100644
--- a/src/corelib/io/qfilesystemwatcher_fsevents.cpp
+++ b/src/corelib/io/qfilesystemwatcher_fsevents.cpp
@@ -171,6 +171,7 @@ QStringList QFSEventsFileSystemWatcherEngine::addPaths(const QStringList &paths,
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
stop();
+ wait();
QMutexLocker locker(&mutex);
QStringList failedToAdd;
// if we have a running FSStreamEvent, we have to kill it, we'll re-add the stream soon.
@@ -268,6 +269,7 @@ QStringList QFSEventsFileSystemWatcherEngine::removePaths(const QStringList &pat
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
stop();
+ wait();
QMutexLocker locker(&mutex);
// short circuit for smarties that call remove before add and we have nothing.
if (pathsToWatch == 0)
@@ -445,7 +447,16 @@ void QFSEventsFileSystemWatcherEngine::updateFiles()
updateHash(dirPathInfoHash);
if (filePathInfoHash.isEmpty() && dirPathInfoHash.isEmpty()) {
// Everything disappeared before we got to start, don't bother.
- stop();
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ // Code duplicated from stop(), with the exception that we
+ // don't wait on waitForStop here. Doing this will lead to
+ // a deadlock since this function is called from the worker
+ // thread. (waitForStop.wakeAll() is only called from the
+ // end of run()).
+ stopFSStream(fsStream);
+ if (threadsRunLoop)
+ CFRunLoopStop(threadsRunLoop);
+#endif
cleanupFSStream(fsStream);
}
waitCondition.wakeAll();
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index 1672dfc519..070edb4887 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -147,6 +147,8 @@ QString QFSFileEnginePrivate::canonicalized(const QString &path)
return path;
#endif
#if defined(Q_OS_LINUX) || defined(Q_OS_SYMBIAN) || defined(Q_OS_MAC)
+ // ... but Linux with uClibc does not have it
+#if !defined(__UCLIBC__)
char *ret = 0;
#if defined(Q_OS_MAC)
// Mac OS X 10.5.x doesn't support the realpath(X,0) extension we use here.
@@ -173,6 +175,7 @@ QString QFSFileEnginePrivate::canonicalized(const QString &path)
return canonicalPath;
}
#endif
+#endif
QFileInfo fi;
const QChar slash(QLatin1Char('/'));
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index dced3e7680..61a4af845f 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -668,6 +668,16 @@ bool QFSFileEnginePrivate::doStat() const
could_stat = (QT_FSTAT(QT_FILENO(fh), &st) == 0);
} else if (fd == -1) {
// ### actually covers two cases: d->fh and when the file is not open
+#if defined(Q_OS_SYMBIAN)
+ // Optimisation for Symbian where fileFlags() calls both doStat() and isSymlink(), but rarely on real links.
+ // When the filename is not a link, lstat will return the same info as stat, but this also removes
+ // any need for a further call to lstat to check if the file is a link.
+ need_lstat = false;
+ could_stat = (QT_LSTAT(nativeFilePath.constData(), &st) == 0);
+ is_link = could_stat ? S_ISLNK(st.st_mode) : false;
+ // if it turns out this was a link, we can call stat too.
+ if (is_link)
+#endif
could_stat = (QT_STAT(nativeFilePath.constData(), &st) == 0);
} else {
could_stat = (QT_FSTAT(fd, &st) == 0);
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index 34491d090d..8902f7d4c8 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -371,6 +371,7 @@ QProcessActive::QProcessActive()
// Called from ProcessManagerThread
QProcessActive::~QProcessActive()
{
+ Cancel();
process = NULL;
pproc = NULL;
}
@@ -477,6 +478,7 @@ QProcessManagerMediator::QProcessManagerMediator()
// Called from ProcessManagerThread
QProcessManagerMediator::~QProcessManagerMediator()
{
+ Cancel();
processManagerThread.Close();
currentCommand = ENoCommand;
currentObserver = NULL;
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 9e7989417c..b1c403fb5c 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -70,7 +70,7 @@ static const int QTEXTSTREAM_BUFFERSIZE = 16384;
have reached the end of the data stream, with stdin. The reason for this is
that as long as stdin doesn't give any input to the QTextStream, \c atEnd()
will return true even if the stdin is open and waiting for more characters.
-
+
Besides using QTextStream's constructors, you can also set the
device or string QTextStream operates on by calling setDevice() or
setString(). You can seek to a position by calling seek(), and
@@ -1196,6 +1196,7 @@ bool QTextStream::seek(qint64 pos)
resetCodecConverterStateHelper(&d->writeConverterState);
delete d->readConverterSavedState;
d->readConverterSavedState = 0;
+ d->writeConverterState.flags |= QTextCodec::IgnoreHeader;
#endif
return true;
}
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index acb73fdd36..a60f206189 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -167,6 +167,13 @@
regardless of the Qt::FormattingOptions used.
*/
+/*!
+ \fn uint qHash(const QUrl &url)
+ \since 4.7
+ \relates QUrl
+
+ Computes a hash key from the normalized version of \a url.
+ */
#include "qplatformdefs.h"
#include "qurl.h"
#include "private/qunicodetables_p.h"
@@ -3472,8 +3479,12 @@ QString QUrlPrivate::authority(QUrl::FormattingOptions options) const
void QUrlPrivate::setAuthority(const QString &auth)
{
- if (auth.isEmpty())
+ if (auth.isEmpty()) {
+ setUserInfo(QString());
+ host.clear();
+ port = -1;
return;
+ }
// find the port section of the authority by searching from the
// end towards the beginning for numbers until a ':' is reached.
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h
index 906979ce7e..6f8331a3f3 100644
--- a/src/corelib/io/qurl.h
+++ b/src/corelib/io/qurl.h
@@ -270,9 +270,9 @@ public:
inline DataPtr &data_ptr() { return d; }
};
-inline uint qHash(const QUrl &uri)
+inline uint qHash(const QUrl &url)
{
- return qHash(uri.toEncoded(QUrl::FormattingOption(0x100)));
+ return qHash(url.toEncoded(QUrl::FormattingOption(0x100)));
}
Q_DECLARE_TYPEINFO(QUrl, Q_MOVABLE_TYPE);
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index 1d7be791b8..191be6cfd7 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -733,7 +733,7 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla
}
TInt error;
- handledSymbianEvent = CActiveScheduler::RunIfReady(error, CActive::EPriorityIdle);
+ handledSymbianEvent = CActiveScheduler::RunIfReady(error, KMinTInt);
if (error) {
qWarning("CActiveScheduler::RunIfReady() returned error: %i\n", error);
CActiveScheduler::Current()->Error(error);
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index be1b2ae0fd..312c4b2dc9 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -974,7 +974,7 @@ QByteArray QMetaObject::normalizedType(const char *type)
if (!type || !*type)
return result;
- QVarLengthArray<char> stackbuf(int(strlen(type)) + 1);
+ QVarLengthArray<char> stackbuf(qstrlen(type) + 1);
qRemoveWhitespace(type, stackbuf.data());
int templdepth = 0;
qNormalizeType(stackbuf.data(), templdepth, result);
@@ -1137,8 +1137,11 @@ bool QMetaObject::invokeMethod(QObject *obj,
idx = obj->metaObject()->indexOfMethod(norm.constData());
}
- if (idx < 0 || idx >= obj->metaObject()->methodCount())
+ if (idx < 0 || idx >= obj->metaObject()->methodCount()) {
+ qWarning("QMetaObject::invokeMethod: No such method %s::%s",
+ obj->metaObject()->className(), sig.constData());
return false;
+ }
QMetaMethod method = obj->metaObject()->method(idx);
return method.invoke(obj, type, ret,
val0, val1, val2, val3, val4, val5, val6, val7, val8, val9);
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 9e187d4d18..30af6fadb5 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -133,6 +133,7 @@ QT_BEGIN_NAMESPACE
\value Float \c float
\value QObjectStar QObject *
\value QWidgetStar QWidget *
+ \value QVariant QVariant
\value QColorGroup QColorGroup
\value QCursor QCursor
@@ -225,101 +226,105 @@ QT_BEGIN_NAMESPACE
\sa Q_DECLARE_METATYPE(), QVariant::setValue(), QVariant::value(), QVariant::fromValue()
*/
+#define QT_ADD_STATIC_METATYPE(STR, TP) \
+ { STR, sizeof(STR) - 1, TP }
+
/* Note: these MUST be in the order of the enums */
-static const struct { const char * typeName; int type; } types[] = {
+static const struct { const char * typeName; int typeNameLength; int type; } types[] = {
/* All Core types */
- {"void", QMetaType::Void},
- {"bool", QMetaType::Bool},
- {"int", QMetaType::Int},
- {"uint", QMetaType::UInt},
- {"qlonglong", QMetaType::LongLong},
- {"qulonglong", QMetaType::ULongLong},
- {"double", QMetaType::Double},
- {"QChar", QMetaType::QChar},
- {"QVariantMap", QMetaType::QVariantMap},
- {"QVariantList", QMetaType::QVariantList},
- {"QString", QMetaType::QString},
- {"QStringList", QMetaType::QStringList},
- {"QByteArray", QMetaType::QByteArray},
- {"QBitArray", QMetaType::QBitArray},
- {"QDate", QMetaType::QDate},
- {"QTime", QMetaType::QTime},
- {"QDateTime", QMetaType::QDateTime},
- {"QUrl", QMetaType::QUrl},
- {"QLocale", QMetaType::QLocale},
- {"QRect", QMetaType::QRect},
- {"QRectF", QMetaType::QRectF},
- {"QSize", QMetaType::QSize},
- {"QSizeF", QMetaType::QSizeF},
- {"QLine", QMetaType::QLine},
- {"QLineF", QMetaType::QLineF},
- {"QPoint", QMetaType::QPoint},
- {"QPointF", QMetaType::QPointF},
- {"QRegExp", QMetaType::QRegExp},
- {"QVariantHash", QMetaType::QVariantHash},
- {"QEasingCurve", QMetaType::QEasingCurve},
+ QT_ADD_STATIC_METATYPE("void", QMetaType::Void),
+ QT_ADD_STATIC_METATYPE("bool", QMetaType::Bool),
+ QT_ADD_STATIC_METATYPE("int", QMetaType::Int),
+ QT_ADD_STATIC_METATYPE("uint", QMetaType::UInt),
+ QT_ADD_STATIC_METATYPE("qlonglong", QMetaType::LongLong),
+ QT_ADD_STATIC_METATYPE("qulonglong", QMetaType::ULongLong),
+ QT_ADD_STATIC_METATYPE("double", QMetaType::Double),
+ QT_ADD_STATIC_METATYPE("QChar", QMetaType::QChar),
+ QT_ADD_STATIC_METATYPE("QVariantMap", QMetaType::QVariantMap),
+ QT_ADD_STATIC_METATYPE("QVariantList", QMetaType::QVariantList),
+ QT_ADD_STATIC_METATYPE("QString", QMetaType::QString),
+ QT_ADD_STATIC_METATYPE("QStringList", QMetaType::QStringList),
+ QT_ADD_STATIC_METATYPE("QByteArray", QMetaType::QByteArray),
+ QT_ADD_STATIC_METATYPE("QBitArray", QMetaType::QBitArray),
+ QT_ADD_STATIC_METATYPE("QDate", QMetaType::QDate),
+ QT_ADD_STATIC_METATYPE("QTime", QMetaType::QTime),
+ QT_ADD_STATIC_METATYPE("QDateTime", QMetaType::QDateTime),
+ QT_ADD_STATIC_METATYPE("QUrl", QMetaType::QUrl),
+ QT_ADD_STATIC_METATYPE("QLocale", QMetaType::QLocale),
+ QT_ADD_STATIC_METATYPE("QRect", QMetaType::QRect),
+ QT_ADD_STATIC_METATYPE("QRectF", QMetaType::QRectF),
+ QT_ADD_STATIC_METATYPE("QSize", QMetaType::QSize),
+ QT_ADD_STATIC_METATYPE("QSizeF", QMetaType::QSizeF),
+ QT_ADD_STATIC_METATYPE("QLine", QMetaType::QLine),
+ QT_ADD_STATIC_METATYPE("QLineF", QMetaType::QLineF),
+ QT_ADD_STATIC_METATYPE("QPoint", QMetaType::QPoint),
+ QT_ADD_STATIC_METATYPE("QPointF", QMetaType::QPointF),
+ QT_ADD_STATIC_METATYPE("QRegExp", QMetaType::QRegExp),
+ QT_ADD_STATIC_METATYPE("QVariantHash", QMetaType::QVariantHash),
+ QT_ADD_STATIC_METATYPE("QEasingCurve", QMetaType::QEasingCurve),
/* All GUI types */
- {"QColorGroup", 63},
- {"QFont", QMetaType::QFont},
- {"QPixmap", QMetaType::QPixmap},
- {"QBrush", QMetaType::QBrush},
- {"QColor", QMetaType::QColor},
- {"QPalette", QMetaType::QPalette},
- {"QIcon", QMetaType::QIcon},
- {"QImage", QMetaType::QImage},
- {"QPolygon", QMetaType::QPolygon},
- {"QRegion", QMetaType::QRegion},
- {"QBitmap", QMetaType::QBitmap},
- {"QCursor", QMetaType::QCursor},
- {"QSizePolicy", QMetaType::QSizePolicy},
- {"QKeySequence", QMetaType::QKeySequence},
- {"QPen", QMetaType::QPen},
- {"QTextLength", QMetaType::QTextLength},
- {"QTextFormat", QMetaType::QTextFormat},
- {"QMatrix", QMetaType::QMatrix},
- {"QTransform", QMetaType::QTransform},
- {"QMatrix4x4", QMetaType::QMatrix4x4},
- {"QVector2D", QMetaType::QVector2D},
- {"QVector3D", QMetaType::QVector3D},
- {"QVector4D", QMetaType::QVector4D},
- {"QQuaternion", QMetaType::QQuaternion},
+ QT_ADD_STATIC_METATYPE("QColorGroup", 63),
+ QT_ADD_STATIC_METATYPE("QFont", QMetaType::QFont),
+ QT_ADD_STATIC_METATYPE("QPixmap", QMetaType::QPixmap),
+ QT_ADD_STATIC_METATYPE("QBrush", QMetaType::QBrush),
+ QT_ADD_STATIC_METATYPE("QColor", QMetaType::QColor),
+ QT_ADD_STATIC_METATYPE("QPalette", QMetaType::QPalette),
+ QT_ADD_STATIC_METATYPE("QIcon", QMetaType::QIcon),
+ QT_ADD_STATIC_METATYPE("QImage", QMetaType::QImage),
+ QT_ADD_STATIC_METATYPE("QPolygon", QMetaType::QPolygon),
+ QT_ADD_STATIC_METATYPE("QRegion", QMetaType::QRegion),
+ QT_ADD_STATIC_METATYPE("QBitmap", QMetaType::QBitmap),
+ QT_ADD_STATIC_METATYPE("QCursor", QMetaType::QCursor),
+ QT_ADD_STATIC_METATYPE("QSizePolicy", QMetaType::QSizePolicy),
+ QT_ADD_STATIC_METATYPE("QKeySequence", QMetaType::QKeySequence),
+ QT_ADD_STATIC_METATYPE("QPen", QMetaType::QPen),
+ QT_ADD_STATIC_METATYPE("QTextLength", QMetaType::QTextLength),
+ QT_ADD_STATIC_METATYPE("QTextFormat", QMetaType::QTextFormat),
+ QT_ADD_STATIC_METATYPE("QMatrix", QMetaType::QMatrix),
+ QT_ADD_STATIC_METATYPE("QTransform", QMetaType::QTransform),
+ QT_ADD_STATIC_METATYPE("QMatrix4x4", QMetaType::QMatrix4x4),
+ QT_ADD_STATIC_METATYPE("QVector2D", QMetaType::QVector2D),
+ QT_ADD_STATIC_METATYPE("QVector3D", QMetaType::QVector3D),
+ QT_ADD_STATIC_METATYPE("QVector4D", QMetaType::QVector4D),
+ QT_ADD_STATIC_METATYPE("QQuaternion", QMetaType::QQuaternion),
/* All Metatype builtins */
- {"void*", QMetaType::VoidStar},
- {"long", QMetaType::Long},
- {"short", QMetaType::Short},
- {"char", QMetaType::Char},
- {"ulong", QMetaType::ULong},
- {"ushort", QMetaType::UShort},
- {"uchar", QMetaType::UChar},
- {"float", QMetaType::Float},
- {"QObject*", QMetaType::QObjectStar},
- {"QWidget*", QMetaType::QWidgetStar},
+ QT_ADD_STATIC_METATYPE("void*", QMetaType::VoidStar),
+ QT_ADD_STATIC_METATYPE("long", QMetaType::Long),
+ QT_ADD_STATIC_METATYPE("short", QMetaType::Short),
+ QT_ADD_STATIC_METATYPE("char", QMetaType::Char),
+ QT_ADD_STATIC_METATYPE("ulong", QMetaType::ULong),
+ QT_ADD_STATIC_METATYPE("ushort", QMetaType::UShort),
+ QT_ADD_STATIC_METATYPE("uchar", QMetaType::UChar),
+ QT_ADD_STATIC_METATYPE("float", QMetaType::Float),
+ QT_ADD_STATIC_METATYPE("QObject*", QMetaType::QObjectStar),
+ QT_ADD_STATIC_METATYPE("QWidget*", QMetaType::QWidgetStar),
+ QT_ADD_STATIC_METATYPE("QVariant", QMetaType::QVariant),
/* Type aliases - order doesn't matter */
- {"unsigned long", QMetaType::ULong},
- {"unsigned int", QMetaType::UInt},
- {"unsigned short", QMetaType::UShort},
- {"unsigned char", QMetaType::UChar},
- {"long long", QMetaType::LongLong},
- {"unsigned long long", QMetaType::ULongLong},
- {"qint8", QMetaType::Char},
- {"quint8", QMetaType::UChar},
- {"qint16", QMetaType::Short},
- {"quint16", QMetaType::UShort},
- {"qint32", QMetaType::Int},
- {"quint32", QMetaType::UInt},
- {"qint64", QMetaType::LongLong},
- {"quint64", QMetaType::ULongLong},
- {"QList<QVariant>", QMetaType::QVariantList},
- {"QMap<QString,QVariant>", QMetaType::QVariantMap},
- {"QHash<QString,QVariant>", QMetaType::QVariantHash},
+ QT_ADD_STATIC_METATYPE("unsigned long", QMetaType::ULong),
+ QT_ADD_STATIC_METATYPE("unsigned int", QMetaType::UInt),
+ QT_ADD_STATIC_METATYPE("unsigned short", QMetaType::UShort),
+ QT_ADD_STATIC_METATYPE("unsigned char", QMetaType::UChar),
+ QT_ADD_STATIC_METATYPE("long long", QMetaType::LongLong),
+ QT_ADD_STATIC_METATYPE("unsigned long long", QMetaType::ULongLong),
+ QT_ADD_STATIC_METATYPE("qint8", QMetaType::Char),
+ QT_ADD_STATIC_METATYPE("quint8", QMetaType::UChar),
+ QT_ADD_STATIC_METATYPE("qint16", QMetaType::Short),
+ QT_ADD_STATIC_METATYPE("quint16", QMetaType::UShort),
+ QT_ADD_STATIC_METATYPE("qint32", QMetaType::Int),
+ QT_ADD_STATIC_METATYPE("quint32", QMetaType::UInt),
+ QT_ADD_STATIC_METATYPE("qint64", QMetaType::LongLong),
+ QT_ADD_STATIC_METATYPE("quint64", QMetaType::ULongLong),
+ QT_ADD_STATIC_METATYPE("QList<QVariant>", QMetaType::QVariantList),
+ QT_ADD_STATIC_METATYPE("QMap<QString,QVariant>", QMetaType::QVariantMap),
+ QT_ADD_STATIC_METATYPE("QHash<QString,QVariant>", QMetaType::QVariantHash),
// let QMetaTypeId2 figure out the type at compile time
- {"qreal", QMetaTypeId2<qreal>::MetaType},
+ QT_ADD_STATIC_METATYPE("qreal", QMetaTypeId2<qreal>::MetaType),
- {0, QMetaType::Void}
+ {0, 0, QMetaType::Void}
};
struct QMetaTypeGuiHelper
@@ -349,6 +354,7 @@ public:
QMetaType::SaveOperator saveOp;
QMetaType::LoadOperator loadOp;
#endif
+ int alias;
};
Q_DECLARE_TYPEINFO(QCustomTypeInfo, Q_MOVABLE_TYPE);
@@ -410,24 +416,38 @@ const char *QMetaType::typeName(int type)
}
/*! \internal
- Same as QMetaType::type(), but doesn't lock the mutex.
+ Similar to QMetaType::type(), but only looks in the static set of types.
*/
-static int qMetaTypeType_unlocked(const QByteArray &typeName)
+static inline int qMetaTypeStaticType(const char *typeName, int length)
{
int i = 0;
- while (types[i].typeName && strcmp(typeName.constData(), types[i].typeName))
+ while (types[i].typeName && ((length != types[i].typeNameLength)
+ || strcmp(typeName, types[i].typeName))) {
++i;
- if (!types[i].type) {
- const QVector<QCustomTypeInfo> * const ct = customTypes();
- if (!ct)
- return 0;
+ }
+ return types[i].type;
+}
- for (int v = 0; v < ct->count(); ++v) {
- if (ct->at(v).typeName == typeName)
- return v + QMetaType::User;
+/*! \internal
+ Similar to QMetaType::type(), but only looks in the custom set of
+ types, and doesn't lock the mutex.
+*/
+static int qMetaTypeCustomType_unlocked(const char *typeName, int length)
+{
+ const QVector<QCustomTypeInfo> * const ct = customTypes();
+ if (!ct)
+ return 0;
+
+ for (int v = 0; v < ct->count(); ++v) {
+ const QCustomTypeInfo &customInfo = ct->at(v);
+ if ((length == customInfo.typeName.size())
+ && !strcmp(typeName, customInfo.typeName.constData())) {
+ if (customInfo.alias >= 0)
+ return customInfo.alias;
+ return v + QMetaType::User;
}
}
- return types[i].type;
+ return 0;
}
/*! \internal
@@ -449,18 +469,69 @@ int QMetaType::registerType(const char *typeName, Destructor destructor,
NS(QByteArray) normalizedTypeName = QMetaObject::normalizedType(typeName);
#endif
+ int idx = qMetaTypeStaticType(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+
+ if (!idx) {
+ QWriteLocker locker(customTypesLock());
+ idx = qMetaTypeCustomType_unlocked(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+ if (!idx) {
+ QCustomTypeInfo inf;
+ inf.typeName = normalizedTypeName;
+ inf.constr = constructor;
+ inf.destr = destructor;
+ inf.alias = -1;
+ idx = ct->size() + User;
+ ct->append(inf);
+ }
+ }
+ return idx;
+}
+
+/*! \internal
+ \since 4.7
+
+ Registers a user type for marshalling, as an alias of another type (typedef)
+*/
+int QMetaType::registerTypedef(const char* typeName, int aliasId)
+{
+ QVector<QCustomTypeInfo> *ct = customTypes();
+ if (!ct || !typeName)
+ return -1;
+
+#ifdef QT_NO_QOBJECT
+ NS(QByteArray) normalizedTypeName = typeName;
+#else
+ NS(QByteArray) normalizedTypeName = QMetaObject::normalizedType(typeName);
+#endif
+
+ int idx = qMetaTypeStaticType(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+
+ if (idx) {
+ Q_ASSERT(idx == aliasId);
+ return idx;
+ }
+
QWriteLocker locker(customTypesLock());
- int idx = qMetaTypeType_unlocked(normalizedTypeName);
+ idx = qMetaTypeCustomType_unlocked(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+
+ if (idx) {
+ Q_ASSERT(idx == aliasId);
+ return idx;
+ }
if (!idx) {
QCustomTypeInfo inf;
inf.typeName = normalizedTypeName;
- inf.constr = constructor;
- inf.destr = destructor;
- idx = ct->size() + User;
+ inf.alias = aliasId;
+ inf.constr = 0;
+ inf.destr = 0;
ct->append(inf);
}
- return idx;
+ return aliasId;
}
/*!
@@ -488,6 +559,7 @@ void QMetaType::unregisterType(const char *typeName)
inf.typeName.clear();
inf.constr = 0;
inf.destr = 0;
+ inf.alias = -1;
}
}
}
@@ -517,14 +589,26 @@ bool QMetaType::isRegistered(int type)
*/
int QMetaType::type(const char *typeName)
{
-#ifdef QT_NO_QOBJECT
- const NS(QByteArray) normalizedTypeName = typeName;
-#else
- const NS(QByteArray) normalizedTypeName = QMetaObject::normalizedType(typeName);
+ int length = qstrlen(typeName);
+ if (!length)
+ return 0;
+ int type = qMetaTypeStaticType(typeName, length);
+ if (!type) {
+ QReadLocker locker(customTypesLock());
+ type = qMetaTypeCustomType_unlocked(typeName, length);
+#ifndef QT_NO_QOBJECT
+ if (!type) {
+ const NS(QByteArray) normalizedTypeName = QMetaObject::normalizedType(typeName);
+ type = qMetaTypeStaticType(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+ if (!type) {
+ type = qMetaTypeCustomType_unlocked(normalizedTypeName.constData(),
+ normalizedTypeName.size());
+ }
+ }
#endif
-
- QReadLocker locker(customTypesLock());
- return qMetaTypeType_unlocked(normalizedTypeName);
+ }
+ return type;
}
#ifndef QT_NO_DATASTREAM
@@ -606,6 +690,9 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data)
case QMetaType::QVariantList:
stream << *static_cast<const NS(QVariantList)*>(data);
break;
+ case QMetaType::QVariant:
+ stream << *static_cast<const NS(QVariant)*>(data);
+ break;
#endif
case QMetaType::QByteArray:
stream << *static_cast<const NS(QByteArray)*>(data);
@@ -808,6 +895,9 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
case QMetaType::QVariantList:
stream >> *static_cast< NS(QVariantList)*>(data);
break;
+ case QMetaType::QVariant:
+ stream >> *static_cast< NS(QVariant)*>(data);
+ break;
#endif
case QMetaType::QByteArray:
stream >> *static_cast< NS(QByteArray)*>(data);
@@ -975,6 +1065,8 @@ void *QMetaType::construct(int type, const void *copy)
return new NS(QVariantHash)(*static_cast<const NS(QVariantHash)*>(copy));
case QMetaType::QVariantList:
return new NS(QVariantList)(*static_cast<const NS(QVariantList)*>(copy));
+ case QMetaType::QVariant:
+ return new NS(QVariant)(*static_cast<const NS(QVariant)*>(copy));
#endif
case QMetaType::QByteArray:
return new NS(QByteArray)(*static_cast<const NS(QByteArray)*>(copy));
@@ -1070,6 +1162,8 @@ void *QMetaType::construct(int type, const void *copy)
return new NS(QVariantHash);
case QMetaType::QVariantList:
return new NS(QVariantList);
+ case QMetaType::QVariant:
+ return new NS(QVariant);
#endif
case QMetaType::QByteArray:
return new NS(QByteArray);
@@ -1211,6 +1305,9 @@ void QMetaType::destroy(int type, void *data)
case QMetaType::QVariantList:
delete static_cast< NS(QVariantList)* >(data);
break;
+ case QMetaType::QVariant:
+ delete static_cast< NS(QVariant)* >(data);
+ break;
#endif
case QMetaType::QByteArray:
delete static_cast< NS(QByteArray)* >(data);
@@ -1320,6 +1417,11 @@ void QMetaType::destroy(int type, void *data)
\snippet doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp 4
+ This function is usefull to register typedefs so they can be used
+ by QMetaProperty, or in QueuedConnections
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp 9
+
\sa qRegisterMetaTypeStreamOperators(), QMetaType::isRegistered(),
Q_DECLARE_METATYPE()
*/
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 33126e8ed4..2108b92b99 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -86,7 +86,8 @@ public:
FirstCoreExtType = 128 /* VoidStar */,
VoidStar = 128, Long = 129, Short = 130, Char = 131, ULong = 132,
UShort = 133, UChar = 134, Float = 135, QObjectStar = 136, QWidgetStar = 137,
- LastCoreExtType = QWidgetStar,
+ QVariant = 138,
+ LastCoreExtType = QVariant,
// This logic must match the one in qglobal.h
#if defined(QT_COORD_TYPE)
@@ -113,6 +114,7 @@ public:
#endif
static int registerType(const char *typeName, Destructor destructor,
Constructor constructor);
+ static int registerTypedef(const char *typeName, int aliasId);
static int type(const char *typeName);
static const char *typeName(int type);
static bool isRegistered(int type);
@@ -154,13 +156,31 @@ void qMetaTypeLoadHelper(QDataStream &stream, T *t)
}
#endif // QT_NO_DATASTREAM
+template <typename T> struct QMetaTypeId2;
+
+namespace QtPrivate {
+ template <typename T, bool Defined = QMetaTypeId2<T>::Defined>
+ struct QMetaTypeIdHelper {
+ static inline int qt_metatype_id()
+ { return QMetaTypeId2<T>::qt_metatype_id(); }
+ };
+ template <typename T> struct QMetaTypeIdHelper<T, false> {
+ static inline int qt_metatype_id()
+ { return -1; }
+ };
+}
+
template <typename T>
int qRegisterMetaType(const char *typeName
#ifndef qdoc
- , T * /* dummy */ = 0
+ , T * dummy = 0
#endif
)
{
+ const int typedefOf = dummy ? -1 : QtPrivate::QMetaTypeIdHelper<T>::qt_metatype_id();
+ if (typedefOf != -1)
+ return QMetaType::registerTypedef(typeName, typedefOf);
+
typedef void*(*ConstructPtr)(const T*);
ConstructPtr cptr = qMetaTypeConstructHelper<T>;
typedef void(*DeletePtr)(T*);
@@ -254,7 +274,8 @@ inline int qRegisterMetaTypeStreamOperators()
{ \
static QBasicAtomicInt metatype_id = Q_BASIC_ATOMIC_INITIALIZER(0); \
if (!metatype_id) \
- metatype_id = qRegisterMetaType< TYPE >(#TYPE); \
+ metatype_id = qRegisterMetaType< TYPE >(#TYPE, \
+ reinterpret_cast< TYPE *>(quintptr(-1))); \
return metatype_id; \
} \
}; \
@@ -320,6 +341,7 @@ class QVector2D;
class QVector3D;
class QVector4D;
class QQuaternion;
+class QVariant;
QT_END_NAMESPACE
@@ -388,6 +410,7 @@ Q_DECLARE_BUILTIN_METATYPE(QVector2D, QVector2D)
Q_DECLARE_BUILTIN_METATYPE(QVector3D, QVector3D)
Q_DECLARE_BUILTIN_METATYPE(QVector4D, QVector4D)
Q_DECLARE_BUILTIN_METATYPE(QQuaternion, QQuaternion)
+Q_DECLARE_BUILTIN_METATYPE(QVariant, QVariant)
QT_END_HEADER
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 761b31f07a..389e6e77dc 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -132,7 +132,8 @@ QObjectPrivate::QObjectPrivate(int version)
: threadData(0), connectionLists(0), senders(0), currentSender(0), currentChildBeingDeleted(0)
{
if (version != QObjectPrivateVersion)
- qFatal("Cannot mix incompatible Qt libraries");
+ qFatal("Cannot mix incompatible Qt library (version 0x%x) with this library (version 0x%x)",
+ version, QObjectPrivateVersion);
// QObjectData initialization
q_ptr = 0;
@@ -3278,12 +3279,14 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
const int method = c->method;
QObjectPrivate::Sender currentSender;
- currentSender.sender = sender;
- currentSender.signal = signal_absolute_index;
- currentSender.ref = 1;
+ const bool receiverInSameThread = currentThreadData == receiver->d_func()->threadData;
QObjectPrivate::Sender *previousSender = 0;
- if (currentThreadData == receiver->d_func()->threadData)
+ if (receiverInSameThread) {
+ currentSender.sender = sender;
+ currentSender.signal = signal_absolute_index;
+ currentSender.ref = 1;
previousSender = QObjectPrivate::setCurrentSender(receiver, &currentSender);
+ }
locker.unlock();
if (qt_signal_spy_callback_set.slot_begin_callback != 0) {
@@ -3299,8 +3302,8 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
metacall(receiver, QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
} QT_CATCH(...) {
locker.relock();
-
- QObjectPrivate::resetCurrentSender(receiver, &currentSender, previousSender);
+ if (receiverInSameThread)
+ QObjectPrivate::resetCurrentSender(receiver, &currentSender, previousSender);
--connectionLists->inUse;
Q_ASSERT(connectionLists->inUse >= 0);
@@ -3315,7 +3318,8 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
locker.relock();
- QObjectPrivate::resetCurrentSender(receiver, &currentSender, previousSender);
+ if (receiverInSameThread)
+ QObjectPrivate::resetCurrentSender(receiver, &currentSender, previousSender);
if (connectionLists->orphaned)
break;
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index 8ed7f3f30e..b045c42096 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -271,6 +271,14 @@ public:
: QGenericArgument(aName, static_cast<const void *>(&aData))
{}
};
+template <class T>
+class QArgument<T &>: public QGenericArgument
+{
+public:
+ inline QArgument(const char *aName, T &aData)
+ : QGenericArgument(aName, static_cast<const void *>(&aData))
+ {}
+};
template <typename T>
diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp
index e17c995aee..7650f6a5e0 100644
--- a/src/corelib/kernel/qtimer.cpp
+++ b/src/corelib/kernel/qtimer.cpp
@@ -339,8 +339,20 @@ QT_END_INCLUDE_NAMESPACE
void QTimer::singleShot(int msec, QObject *receiver, const char *member)
{
- if (receiver && member)
+ if (receiver && member) {
+ if (msec == 0) {
+ // special code shortpath for 0-timers
+ const char* bracketPosition = strchr(member, '(');
+ if (!bracketPosition || !(member[0] >= '0' && member[0] <= '3')) {
+ qWarning("QTimer::singleShot: Invalid slot specification");
+ return;
+ }
+ QByteArray methodName(member+1, bracketPosition - 1 - member); // extract method name
+ QMetaObject::invokeMethod(receiver, methodName.constData(), Qt::QueuedConnection);
+ return;
+ }
(void) new QSingleShotTimer(msec, receiver, member);
+ }
}
/*!
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 227a60deaa..f5d7c0def1 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -484,9 +484,13 @@ static bool compare(const QVariant::Private *a, const QVariant::Private *b)
* QMetaType::VoidStar, QMetaType::QObjectStar and so forth, is that it wouldn't include
* user defined pointer types. */
const char *const typeName = QMetaType::typeName(a->type);
- if (typeName[qstrlen(typeName) - 1] == '*')
+ uint typeNameLen = qstrlen(typeName);
+ if (typeNameLen > 0 && typeName[typeNameLen - 1] == '*')
return *static_cast<void *const *>(a_ptr) == *static_cast<void *const *>(b_ptr);
+ if (a->is_null && b->is_null)
+ return true;
+
return a_ptr == b_ptr;
}
@@ -1507,6 +1511,7 @@ QVariant::QVariant(const char *val)
*/
/*!
+ \since 4.7
\fn QVariant::QVariant(const QEasingCurve &val)
Constructs a new variant with an easing curve value, \a val.
@@ -2200,6 +2205,7 @@ QDateTime QVariant::toDateTime() const
}
/*!
+ \since 4.7
\fn QEasingCurve QVariant::toEasingCurve() const
Returns the variant as a QEasingCurve if the variant has type() \l
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index 9628dbfa2d..cb2825c90a 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -589,8 +589,7 @@ template<typename T> inline T qvariant_cast(const QVariant &v)
template<> inline QVariant qvariant_cast<QVariant>(const QVariant &v)
{
- static const int vid = qRegisterMetaType<QVariant>("QVariant");
- if (vid == v.userType())
+ if (v.userType() == QMetaType::QVariant)
return *reinterpret_cast<const QVariant *>(v.constData());
return v;
}
diff --git a/src/corelib/thread/qmutex.h b/src/corelib/thread/qmutex.h
index 80b50fcff8..677412e91b 100644
--- a/src/corelib/thread/qmutex.h
+++ b/src/corelib/thread/qmutex.h
@@ -95,7 +95,7 @@ class Q_CORE_EXPORT QMutexLocker
{
public:
inline explicit QMutexLocker(QMutex *m)
- : mtx(m)
+ : val(reinterpret_cast<quintptr>(m))
{
Q_ASSERT_X((val & quintptr(1u)) == quintptr(0),
"QMutexLocker", "QMutex pointer is misaligned");
@@ -105,19 +105,19 @@ public:
inline void unlock()
{
- if (mtx) {
+ if (val) {
if ((val & quintptr(1u)) == quintptr(1u)) {
val &= ~quintptr(1u);
- mtx->unlock();
+ mutex()->unlock();
}
}
}
inline void relock()
{
- if (mtx) {
+ if (val) {
if ((val & quintptr(1u)) == quintptr(0u)) {
- mtx->lock();
+ mutex()->lock();
val |= quintptr(1u);
}
}
@@ -140,10 +140,7 @@ public:
private:
Q_DISABLE_COPY(QMutexLocker)
- union {
- QMutex *mtx;
- quintptr val;
- };
+ quintptr val;
};
#else // QT_NO_THREAD
diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h
index 278b8d4f02..9521ac3cbc 100644
--- a/src/corelib/thread/qreadwritelock.h
+++ b/src/corelib/thread/qreadwritelock.h
@@ -96,19 +96,19 @@ public:
inline void unlock()
{
- if (q_lock) {
+ if (q_val) {
if ((q_val & quintptr(1u)) == quintptr(1u)) {
q_val &= ~quintptr(1u);
- q_lock->unlock();
+ readWriteLock()->unlock();
}
}
}
inline void relock()
{
- if (q_lock) {
+ if (q_val) {
if ((q_val & quintptr(1u)) == quintptr(0u)) {
- q_lock->lockForRead();
+ readWriteLock()->lockForRead();
q_val |= quintptr(1u);
}
}
@@ -119,14 +119,11 @@ public:
private:
Q_DISABLE_COPY(QReadLocker)
- union {
- QReadWriteLock *q_lock;
- quintptr q_val;
- };
+ quintptr q_val;
};
inline QReadLocker::QReadLocker(QReadWriteLock *areadWriteLock)
- : q_lock(areadWriteLock)
+ : q_val(reinterpret_cast<quintptr>(areadWriteLock))
{
Q_ASSERT_X((q_val & quintptr(1u)) == quintptr(0),
"QReadLocker", "QReadWriteLock pointer is misaligned");
@@ -143,19 +140,19 @@ public:
inline void unlock()
{
- if (q_lock) {
+ if (q_val) {
if ((q_val & quintptr(1u)) == quintptr(1u)) {
q_val &= ~quintptr(1u);
- q_lock->unlock();
+ readWriteLock()->unlock();
}
}
}
inline void relock()
{
- if (q_lock) {
+ if (q_val) {
if ((q_val & quintptr(1u)) == quintptr(0u)) {
- q_lock->lockForWrite();
+ readWriteLock()->lockForWrite();
q_val |= quintptr(1u);
}
}
@@ -167,14 +164,11 @@ public:
private:
Q_DISABLE_COPY(QWriteLocker)
- union{
- QReadWriteLock *q_lock;
- quintptr q_val;
- };
+ quintptr q_val;
};
inline QWriteLocker::QWriteLocker(QReadWriteLock *areadWriteLock)
- : q_lock(areadWriteLock)
+ : q_val(reinterpret_cast<quintptr>(areadWriteLock))
{
Q_ASSERT_X((q_val & quintptr(1u)) == quintptr(0),
"QWriteLocker", "QReadWriteLock pointer is misaligned");
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index 332479657d..c5f70b0124 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -154,6 +154,10 @@ char *qstrcpy(char *dst, const char *src)
This function assumes that \a dst is at least \a len characters
long.
+ \note When compiling with Visual C++ compiler version 14.00
+ (Visual C++ 2005) or later, internally the function strncpy_s
+ will be used.
+
\sa qstrcpy()
*/
diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
index 08cb8631c3..2bc53479d2 100644
--- a/src/corelib/tools/qchar.cpp
+++ b/src/corelib/tools/qchar.cpp
@@ -42,10 +42,10 @@
// Don't define it while compiling this module, or USERS of Qt will
// not be able to link.
#ifdef QT_NO_CAST_FROM_ASCII
-#undef QT_NO_CAST_FROM_ASCII
+# undef QT_NO_CAST_FROM_ASCII
#endif
#ifdef QT_NO_CAST_TO_ASCII
-#undef QT_NO_CAST_TO_ASCII
+# undef QT_NO_CAST_TO_ASCII
#endif
#include "qchar.h"
#include "qdatastream.h"
@@ -57,17 +57,16 @@
QT_BEGIN_NAMESPACE
-#define LAST_UNICODE_CHAR 0x10ffff
-
#ifndef QT_NO_CODEC_FOR_C_STRINGS
-#ifdef QT_NO_TEXTCODEC
-#define QT_NO_CODEC_FOR_C_STRINGS
-#endif
+# ifdef QT_NO_TEXTCODEC
+# define QT_NO_CODEC_FOR_C_STRINGS
+# endif
#endif
#define FLAG(x) (1 << (x))
-/*! \class QLatin1Char
+/*!
+ \class QLatin1Char
\brief The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
\ingroup string-processing
@@ -550,7 +549,7 @@ bool QChar::isSpace() const
/*!
Returns true if the character is a mark (Mark_* categories);
otherwise returns false.
-
+
See QChar::Category for more information regarding marks.
*/
bool QChar::isMark() const
@@ -647,45 +646,44 @@ bool QChar::isSymbol() const
}
/*!
- \fn bool QChar::isHighSurrogate() const
+ \fn bool QChar::isHighSurrogate() const
- Returns true if the QChar is the high part of a utf16 surrogate
- (ie. if its code point is between 0xd800 and 0xdbff).
+ Returns true if the QChar is the high part of a utf16 surrogate
+ (ie. if its code point is between 0xd800 and 0xdbff).
*/
/*!
- \fn bool QChar::isLowSurrogate() const
+ \fn bool QChar::isLowSurrogate() const
- Returns true if the QChar is the low part of a utf16 surrogate
- (ie. if its code point is between 0xdc00 and 0xdfff).
+ Returns true if the QChar is the low part of a utf16 surrogate
+ (ie. if its code point is between 0xdc00 and 0xdfff).
*/
/*!
- \fn static uint QChar::surrogateToUcs4(ushort high, ushort low)
+ \fn static uint QChar::surrogateToUcs4(ushort high, ushort low)
- Converts a UTF16 surrogate pair with the given \a high and \a low values
- to its UCS-4 code point.
+ Converts a UTF16 surrogate pair with the given \a high and \a low values
+ to its UCS-4 code point.
*/
/*!
- \fn static uint QChar::surrogateToUcs4(QChar high, QChar low)
+ \fn static uint QChar::surrogateToUcs4(QChar high, QChar low)
- Converts a utf16 surrogate pair (\a high, \a low) to its ucs4 code
- point.
+ Converts a utf16 surrogate pair (\a high, \a low) to its ucs4 code point.
*/
/*!
- \fn static ushort QChar::highSurrogate(uint ucs4)
+ \fn static ushort QChar::highSurrogate(uint ucs4)
- Returns the high surrogate value of a ucs4 code point.
- The returned result is undefined if \a ucs4 is smaller than 0x10000.
+ Returns the high surrogate value of a ucs4 code point.
+ The returned result is undefined if \a ucs4 is smaller than 0x10000.
*/
/*!
- \fn static ushort QChar::lowSurrogate(uint ucs4)
+ \fn static ushort QChar::lowSurrogate(uint ucs4)
- Returns the low surrogate value of a ucs4 code point.
- The returned result is undefined if \a ucs4 is smaller than 0x10000.
+ Returns the low surrogate value of a ucs4 code point.
+ The returned result is undefined if \a ucs4 is smaller than 0x10000.
*/
/*!
@@ -714,7 +712,7 @@ int QChar::digitValue(ushort ucs2)
*/
int QChar::digitValue(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return 0;
return qGetProp(ucs4)->digitValue;
}
@@ -727,22 +725,22 @@ QChar::Category QChar::category() const
return (QChar::Category) qGetProp(ucs)->category;
}
-/*!
+/*!
\overload
\since 4.3
Returns the category of the UCS-4-encoded character specified by \a ucs4.
- */
+*/
QChar::Category QChar::category(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return QChar::NoCategory;
return (QChar::Category) qGetProp(ucs4)->category;
}
-/*!
+/*!
\overload
Returns the category of the UCS-2-encoded character specified by \a ucs2.
- */
+*/
QChar::Category QChar::category(ushort ucs2)
{
return (QChar::Category) qGetProp(ucs2)->category;
@@ -757,21 +755,21 @@ QChar::Direction QChar::direction() const
return (QChar::Direction) qGetProp(ucs)->direction;
}
-/*!
-\overload
-Returns the direction of the UCS-4-encoded character specified by \a ucs4.
- */
+/*!
+ \overload
+ Returns the direction of the UCS-4-encoded character specified by \a ucs4.
+*/
QChar::Direction QChar::direction(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return QChar::DirL;
return (QChar::Direction) qGetProp(ucs4)->direction;
}
-/*!
-\overload
-Returns the direction of the UCS-2-encoded character specified by \a ucs2.
- */
+/*!
+ \overload
+ Returns the direction of the UCS-2-encoded character specified by \a ucs2.
+*/
QChar::Direction QChar::direction(ushort ucs2)
{
return (QChar::Direction) qGetProp(ucs2)->direction;
@@ -786,25 +784,25 @@ QChar::Joining QChar::joining() const
return (QChar::Joining) qGetProp(ucs)->joining;
}
-/*!
-\overload
-Returns information about the joining properties of the UCS-4-encoded
-character specified by \a ucs4 (needed for certain languages such as
-Arabic).
- */
+/*!
+ \overload
+ Returns information about the joining properties of the UCS-4-encoded
+ character specified by \a ucs4 (needed for certain languages such as
+ Arabic).
+*/
QChar::Joining QChar::joining(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return QChar::OtherJoining;
return (QChar::Joining) qGetProp(ucs4)->joining;
}
-/*!
-\overload
-Returns information about the joining properties of the UCS-2-encoded
-character specified by \a ucs2 (needed for certain languages such as
-Arabic).
- */
+/*!
+ \overload
+ Returns information about the joining properties of the UCS-2-encoded
+ character specified by \a ucs2 (needed for certain languages such as
+ Arabic).
+*/
QChar::Joining QChar::joining(ushort ucs2)
{
return (QChar::Joining) qGetProp(ucs2)->joining;
@@ -863,26 +861,27 @@ QChar QChar::mirroredChar() const
return ucs + qGetProp(ucs)->mirrorDiff;
}
-/*! \overload
-Returns the mirrored character if the UCS-4-encoded character specified
-by \a ucs4 is a mirrored character; otherwise returns the character itself.
+/*!
+ \overload
+ Returns the mirrored character if the UCS-4-encoded character specified
+ by \a ucs4 is a mirrored character; otherwise returns the character itself.
-\sa hasMirrored()
- */
+ \sa hasMirrored()
+*/
uint QChar::mirroredChar(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return ucs4;
return ucs4 + qGetProp(ucs4)->mirrorDiff;
}
-/*!
-\overload
-Returns the mirrored character if the UCS-2-encoded character specified
-by \a ucs2 is a mirrored character; otherwise returns the character itself.
+/*!
+ \overload
+ Returns the mirrored character if the UCS-2-encoded character specified
+ by \a ucs2 is a mirrored character; otherwise returns the character itself.
-\sa hasMirrored()
- */
+ \sa hasMirrored()
+*/
ushort QChar::mirroredChar(ushort ucs2)
{
return ucs2 + qGetProp(ucs2)->mirrorDiff;
@@ -906,7 +905,7 @@ static const unsigned short * QT_FASTCALL decompositionHelper
(uint ucs4, int *length, int *tag, unsigned short *buffer)
{
*length = 0;
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return 0;
if (ucs4 >= Hangul_SBase && ucs4 < Hangul_SBase + Hangul_SCount) {
int SIndex = ucs4 - Hangul_SBase;
@@ -936,11 +935,11 @@ QString QChar::decomposition() const
return decomposition(ucs);
}
-/*!
-\overload
-Decomposes the UCS-4-encoded character specified by \a ucs4 into its
-constituent parts. Returns an empty string if no decomposition exists.
- */
+/*!
+ \overload
+ Decomposes the UCS-4-encoded character specified by \a ucs4 into its
+ constituent parts. Returns an empty string if no decomposition exists.
+*/
QString QChar::decomposition(uint ucs4)
{
unsigned short buffer[3];
@@ -959,14 +958,14 @@ QChar::Decomposition QChar::decompositionTag() const
return decompositionTag(ucs);
}
-/*!
-\overload
-Returns the tag defining the composition of the UCS-4-encoded character
-specified by \a ucs4. Returns QChar::Single if no decomposition exists.
- */
+/*!
+ \overload
+ Returns the tag defining the composition of the UCS-4-encoded character
+ specified by \a ucs4. Returns QChar::Single if no decomposition exists.
+*/
QChar::Decomposition QChar::decompositionTag(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return QChar::NoDecomposition;
const unsigned short index = GET_DECOMPOSITION_INDEX(ucs4);
if (index == 0xffff)
@@ -987,27 +986,28 @@ unsigned char QChar::combiningClass() const
return (unsigned char) qGetProp(ucs)->combiningClass;
}
-/*! \overload
-Returns the combining class for the UCS-4-encoded character specified by
-\a ucs4, as defined in the Unicode standard.
- */
+/*!
+ \overload
+ Returns the combining class for the UCS-4-encoded character specified by
+ \a ucs4, as defined in the Unicode standard.
+*/
unsigned char QChar::combiningClass(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return 0;
return (unsigned char) qGetProp(ucs4)->combiningClass;
}
-/*! \overload
-Returns the combining class for the UCS-2-encoded character specified by
-\a ucs2, as defined in the Unicode standard.
- */
+/*!
+ \overload
+ Returns the combining class for the UCS-2-encoded character specified by
+ \a ucs2, as defined in the Unicode standard.
+*/
unsigned char QChar::combiningClass(ushort ucs2)
{
return (unsigned char) qGetProp(ucs2)->combiningClass;
}
-
/*!
Returns the Unicode version that introduced this character.
*/
@@ -1016,21 +1016,23 @@ QChar::UnicodeVersion QChar::unicodeVersion() const
return (QChar::UnicodeVersion) qGetProp(ucs)->unicodeVersion;
}
-/*! \overload
-Returns the Unicode version that introduced the character specified in
-its UCS-4-encoded form as \a ucs4.
- */
+/*!
+ \overload
+ Returns the Unicode version that introduced the character specified in
+ its UCS-4-encoded form as \a ucs4.
+*/
QChar::UnicodeVersion QChar::unicodeVersion(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return QChar::Unicode_Unassigned;
return (QChar::UnicodeVersion) qGetProp(ucs4)->unicodeVersion;
}
-/*! \overload
-Returns the Unicode version that introduced the character specified in
-its UCS-2-encoded form as \a ucs2.
- */
+/*!
+ \overload
+ Returns the Unicode version that introduced the character specified in
+ its UCS-2-encoded form as \a ucs2.
+*/
QChar::UnicodeVersion QChar::unicodeVersion(ushort ucs2)
{
return (QChar::UnicodeVersion) qGetProp(ucs2)->unicodeVersion;
@@ -1049,14 +1051,15 @@ QChar QChar::toLower() const
return ucs;
}
-/*! \overload
-Returns the lowercase equivalent of the UCS-4-encoded character specified
-by \a ucs4 if the character is uppercase or titlecase; otherwise returns
-the character itself.
- */
+/*!
+ \overload
+ Returns the lowercase equivalent of the UCS-4-encoded character specified
+ by \a ucs4 if the character is uppercase or titlecase; otherwise returns
+ the character itself.
+*/
uint QChar::toLower(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return ucs4;
const QUnicodeTables::Properties *p = qGetProp(ucs4);
if (!p->lowerCaseSpecial)
@@ -1064,11 +1067,12 @@ uint QChar::toLower(uint ucs4)
return ucs4;
}
-/*! \overload
-Returns the lowercase equivalent of the UCS-2-encoded character specified
-by \a ucs2 if the character is uppercase or titlecase; otherwise returns
-the character itself.
- */
+/*!
+ \overload
+ Returns the lowercase equivalent of the UCS-2-encoded character specified
+ by \a ucs2 if the character is uppercase or titlecase; otherwise returns
+ the character itself.
+*/
ushort QChar::toLower(ushort ucs2)
{
const QUnicodeTables::Properties *p = qGetProp(ucs2);
@@ -1089,14 +1093,15 @@ QChar QChar::toUpper() const
return ucs;
}
-/*! \overload
-Returns the uppercase equivalent of the UCS-4-encoded character specified
-by \a ucs4 if the character is lowercase or titlecase; otherwise returns
-the character itself.
- */
+/*!
+ \overload
+ Returns the uppercase equivalent of the UCS-4-encoded character specified
+ by \a ucs4 if the character is lowercase or titlecase; otherwise returns
+ the character itself.
+*/
uint QChar::toUpper(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return ucs4;
const QUnicodeTables::Properties *p = qGetProp(ucs4);
if (!p->upperCaseSpecial)
@@ -1104,11 +1109,12 @@ uint QChar::toUpper(uint ucs4)
return ucs4;
}
-/*! \overload
-Returns the uppercase equivalent of the UCS-2-encoded character specified
-by \a ucs2 if the character is lowercase or titlecase; otherwise returns
-the character itself.
- */
+/*!
+ \overload
+ Returns the uppercase equivalent of the UCS-2-encoded character specified
+ by \a ucs2 if the character is lowercase or titlecase; otherwise returns
+ the character itself.
+*/
ushort QChar::toUpper(ushort ucs2)
{
const QUnicodeTables::Properties *p = qGetProp(ucs2);
@@ -1137,7 +1143,7 @@ QChar QChar::toTitleCase() const
*/
uint QChar::toTitleCase(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return ucs4;
const QUnicodeTables::Properties *p = qGetProp(ucs4);
if (!p->titleCaseSpecial)
@@ -1198,7 +1204,7 @@ QChar QChar::toCaseFolded() const
*/
uint QChar::toCaseFolded(uint ucs4)
{
- if (ucs4 > LAST_UNICODE_CHAR)
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
return ucs4;
return ucs4 + qGetProp(ucs4)->caseFoldDiff;
}
@@ -1292,28 +1298,25 @@ QChar QChar::fromAscii(char c)
#ifndef QT_NO_DATASTREAM
/*!
- \relates QChar
-
- Writes the char \a chr to the stream \a out.
+ \relates QChar
- \sa {Format of the QDataStream operators}
- */
+ Writes the char \a chr to the stream \a out.
+ \sa {Format of the QDataStream operators}
+*/
QDataStream &operator<<(QDataStream &out, const QChar &chr)
{
out << quint16(chr.unicode());
return out;
}
-
/*!
- \relates QChar
-
- Reads a char from the stream \a in into char \a chr.
+ \relates QChar
- \sa {Format of the QDataStream operators}
- */
+ Reads a char from the stream \a in into char \a chr.
+ \sa {Format of the QDataStream operators}
+*/
QDataStream &operator>>(QDataStream &in, QChar &chr)
{
quint16 u;
@@ -1602,11 +1605,9 @@ int QT_FASTCALL QUnicodeTables::script(unsigned int uc)
return script;
}
-
Q_CORE_EXPORT QUnicodeTables::LineBreakClass QT_FASTCALL QUnicodeTables::lineBreakClass(uint ucs4)
{
return (QUnicodeTables::LineBreakClass) qGetProp(ucs4)->line_break_class;
}
-
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index d4b2c27254..9c65d5dd1b 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -877,8 +877,8 @@ QDataStream &operator<<(QDataStream &stream, const QEasingCurve &easing)
\fn QDataStream &operator>>(QDataStream &stream, QEasingCurve &easing)
\relates QQuaternion
- Reads an easing curve from the given \a stream into the given \a quaternion
- and returns a reference to the stream.
+ Reads an easing curve from the given \a stream into the given \a
+ easing curve and returns a reference to the stream.
\sa {Format of the QDataStream Operators}
*/
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index f1030ae0ec..3374c80bd6 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -625,6 +625,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<Key> QHash<Key, T>::uniqueKeys() const
{
QList<Key> res;
+ res.reserve(size()); // May be too much, but assume short lifetime
const_iterator i = begin();
if (i != end()) {
for (;;) {
@@ -644,6 +645,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<Key> QHash<Key, T>::keys() const
{
QList<Key> res;
+ res.reserve(size());
const_iterator i = begin();
while (i != end()) {
res.append(i.key());
@@ -688,6 +690,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<T> QHash<Key, T>::values() const
{
QList<T> res;
+ res.reserve(size());
const_iterator i = begin();
while (i != end()) {
res.append(i.value());
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h
index 3a29e13ff4..c6dd106163 100644
--- a/src/corelib/tools/qlist.h
+++ b/src/corelib/tools/qlist.h
@@ -525,7 +525,8 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::append(const T &t)
PodNode cpy = *reinterpret_cast<const PodNode *>(&t);
Node *n = reinterpret_cast<Node *>(p.append());
QT_TRY {
- node_construct(n, *reinterpret_cast<const T *>(&cpy));
+ void *ptr = &cpy;
+ node_construct(n, *reinterpret_cast<T *>(ptr));
} QT_CATCH(...) {
--d->end;
QT_RETHROW;
@@ -559,7 +560,8 @@ inline void QList<T>::prepend(const T &t)
PodNode cpy = *reinterpret_cast<const PodNode *>(&t);
Node *n = reinterpret_cast<Node *>(p.prepend());
QT_TRY {
- node_construct(n, *reinterpret_cast<const T *>(&cpy));
+ void *ptr = &cpy;
+ node_construct(n, *reinterpret_cast<T *>(ptr));
} QT_CATCH(...) {
++d->begin;
QT_RETHROW;
@@ -593,7 +595,8 @@ inline void QList<T>::insert(int i, const T &t)
PodNode cpy = *reinterpret_cast<const PodNode *>(&t);
Node *n = reinterpret_cast<Node *>(p.insert(i));
QT_TRY {
- node_construct(n, *reinterpret_cast<const T *>(&cpy));
+ void *ptr = &cpy;
+ node_construct(n, *reinterpret_cast<T *>(ptr));
} QT_CATCH(...) {
p.remove(i);
QT_RETHROW;
@@ -808,15 +811,22 @@ Q_OUTOFLINE_TEMPLATE typename QList<T>::iterator QList<T>::erase(typename QList<
template <typename T>
Q_OUTOFLINE_TEMPLATE QList<T> &QList<T>::operator+=(const QList<T> &l)
{
- Node *n = (d->ref != 1)
- ? detach_helper_grow(INT_MAX, l.size())
- : reinterpret_cast<Node *>(p.append2(l.p));
- QT_TRY{
- node_copy(n, reinterpret_cast<Node *>(p.end()), reinterpret_cast<Node *>(l.p.begin()));
- } QT_CATCH(...) {
- // restore the old end
- d->end -= int(reinterpret_cast<Node *>(p.end()) - n);
- QT_RETHROW;
+ if (!l.isEmpty()) {
+ if (isEmpty()) {
+ *this = l;
+ } else {
+ Node *n = (d->ref != 1)
+ ? detach_helper_grow(INT_MAX, l.size())
+ : reinterpret_cast<Node *>(p.append2(l.p));
+ QT_TRY {
+ node_copy(n, reinterpret_cast<Node *>(p.end()),
+ reinterpret_cast<Node *>(l.p.begin()));
+ } QT_CATCH(...) {
+ // restore the old end
+ d->end -= int(reinterpret_cast<Node *>(p.end()) - n);
+ QT_RETHROW;
+ }
+ }
}
return *this;
}
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index 2e215471a0..df0ae460c3 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -773,6 +773,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<Key> QMap<Key, T>::uniqueKeys() const
{
QList<Key> res;
+ res.reserve(size()); // May be too much, but assume short lifetime
const_iterator i = begin();
if (i != end()) {
for (;;) {
@@ -792,6 +793,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<Key> QMap<Key, T>::keys() const
{
QList<Key> res;
+ res.reserve(size());
const_iterator i = begin();
while (i != end()) {
res.append(i.key());
@@ -836,6 +838,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QList<T> QMap<Key, T>::values() const
{
QList<T> res;
+ res.reserve(size());
const_iterator i = begin();
while (i != end()) {
res.append(i.value());
diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp
index 20ad44474a..eb104a87b0 100644
--- a/src/corelib/tools/qregexp.cpp
+++ b/src/corelib/tools/qregexp.cpp
@@ -523,7 +523,7 @@ int qFindString(const QChar *haystack, int haystackLen, int from,
\endtable
In the mode Wildcard, the wildcard characters cannot be
- escaped. In the mode WildcardUnix, the character '\' escapes the
+ escaped. In the mode WildcardUnix, the character '\\' escapes the
wildcard.
For example if we are in wildcard mode and have strings which
@@ -3779,7 +3779,7 @@ static void invalidateEngine(QRegExpPrivate *priv)
\value WildcardUnix This is similar to Wildcard but with the
behavior of a Unix shell. The wildcard characters can be escaped
- with the character "\".
+ with the character "\\".
\value FixedString The pattern is a fixed string. This is
equivalent to using the RegExp pattern on a string in
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index bfc65bc924..550ff58008 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -158,7 +158,7 @@ namespace QtSharedPointer {
#if defined(Q_NO_TEMPLATE_FRIENDS)
public:
#else
- template <class X> friend class QWeakPointer;
+ template <class X> friend class QT_PREPEND_NAMESPACE(QWeakPointer);
#endif
Type *value;
@@ -402,7 +402,7 @@ namespace QtSharedPointer {
public:
#else
template <class X> friend class ExternalRefCount;
- template <class X> friend class QWeakPointer;
+ template <class X> friend class QT_PREPEND_NAMESPACE(QWeakPointer);
template <class X, class Y> friend QSharedPointer<X> copyAndSetPointer(X * ptr, const QSharedPointer<Y> &src);
#endif
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index 556db14204..c69dd09948 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -47,9 +47,6 @@
QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Core)
#if defined(QT_NO_MAC_XARCH) || (defined(Q_OS_DARWIN) && (defined(__ppc__) || defined(__ppc64__)))
// Disable MMX and SSE on Mac/PPC builds, or if the compiler
@@ -61,7 +58,7 @@ QT_MODULE(Core)
#endif
// SSE intrinsics
-#if defined(__SSE2__)
+#if defined(__SSE2__) && defined(QT_HAVE_SSE2) && !defined(QT_BOOTSTRAPPED)
#if defined(QT_LINUXBASE)
/// this is an evil hack - the posix_memalign declaration in LSB
/// is wrong - see http://bugs.linuxbase.org/show_bug.cgi?id=2431
@@ -103,6 +100,10 @@ QT_MODULE(Core)
#include <mm3dnow.h>
#endif
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Core)
+
enum CPUFeatures {
None = 0,
MMX = 0x1,
@@ -116,11 +117,12 @@ enum CPUFeatures {
NEON = 0x100
};
+Q_CORE_EXPORT uint qDetectCPUFeatures();
+
+Q_CORE_EXPORT uint qDetectCPUFeatures();
QT_END_NAMESPACE
QT_END_HEADER
-Q_CORE_EXPORT uint qDetectCPUFeatures();
-
#endif // QSIMD_P_H
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index e9b7b9a33b..b54315c438 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -335,7 +335,7 @@ const QString::Null QString::null = { };
\macro QT_NO_CAST_TO_ASCII
\relates QString
- disables automatic conversion from QString to ASCII 8-bit strings (char *)
+ disables automatic conversion from QString to 8-bit strings (char *)
\sa QT_NO_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY
*/
@@ -391,10 +391,10 @@ const QString::Null QString::null = { };
with code values above 65535 are stored using surrogate pairs,
i.e., two consecutive \l{QChar}s.)
- \l{Unicode} is an international standard that supports most of
- the writing systems in use today. It is a superset of ASCII and
- Latin-1 (ISO 8859-1), and all the ASCII/Latin-1 characters are
- available at the same code positions.
+ \l{Unicode} is an international standard that supports most of the
+ writing systems in use today. It is a superset of US-ASCII (ANSI
+ X3.4-1986) and Latin-1 (ISO 8859-1), and all the US-ASCII/Latin-1
+ characters are available at the same code positions.
Behind the scenes, QString uses \l{implicit sharing}
(copy-on-write) to reduce memory usage and to avoid the needless
@@ -562,11 +562,13 @@ const QString::Null QString::null = { };
toLatin1(), toUtf8(), and toLocal8Bit().
\list
- \o toAscii() returns an ASCII encoded 8-bit string.
+ \o toAscii() returns an 8-bit string encoded using the codec
+ specified by QTextCodec::codecForCStrings (by default, that is
+ Latin 1).
\o toLatin1() returns a Latin-1 (ISO 8859-1) encoded 8-bit string.
\o toUtf8() returns a UTF-8 encoded 8-bit string. UTF-8 is a
- superset of ASCII that supports the entire Unicode character
- set through multibyte sequences.
+ superset of US-ASCII (ANSI X3.4-1986) that supports the entire
+ Unicode character set through multibyte sequences.
\o toLocal8Bit() returns an 8-bit string using the system's local
encoding.
\endlist
@@ -578,7 +580,7 @@ const QString::Null QString::null = { };
As mentioned above, QString provides a lot of functions and
operators that make it easy to interoperate with \c{const char *}
strings. But this functionality is a double-edged sword: It makes
- QString more convenient to use if all strings are ASCII or
+ QString more convenient to use if all strings are US-ASCII or
Latin-1, but there is always the risk that an implicit conversion
from or to \c{const char *} is done using the wrong 8-bit
encoding. To minimize these risks, you can turn off these implicit
@@ -586,9 +588,9 @@ const QString::Null QString::null = { };
\list
\o \c QT_NO_CAST_FROM_ASCII disables automatic conversions from
- ASCII to Unicode.
+ C string literals and pointers to Unicode.
\o \c QT_NO_CAST_TO_ASCII disables automatic conversion from QString
- to ASCII.
+ to C strings.
\endlist
One way to define these preprocessor symbols globally for your
@@ -837,7 +839,7 @@ int QString::grow(int size)
/*! \fn QString::QString(const char *str)
- Constructs a string initialized with the ASCII string \a str. The
+ Constructs a string initialized with the 8-bit string \a str. The
given const char pointer is converted to Unicode using the
fromAscii() function.
@@ -1337,8 +1339,9 @@ QString &QString::operator=(const QString &other)
\overload operator=()
- Assigns \a ba to this string. The byte array is converted to
- Unicode using the fromAscii() function.
+ Assigns \a ba to this string. The byte array is converted to Unicode
+ using the fromAscii() function. This function stops conversion at the
+ first NUL character found, or the end of the \a ba byte array.
You can disable this operator by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -2131,7 +2134,8 @@ bool QString::operator==(const QLatin1String &other) const
\overload operator==()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. This function stops conversion at the
+ first NUL character found, or the end of the byte array.
You can disable this operator by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -2192,7 +2196,8 @@ bool QString::operator<(const QLatin1String &other) const
\overload operator<()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. If any NUL characters ('\0') are embedded
+ in the byte array, they will be included in the transformation.
You can disable this operator by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -2234,7 +2239,8 @@ bool QString::operator<(const QLatin1String &other) const
\overload operator<=()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. If any NUL characters ('\0') are embedded
+ in the byte array, they will be included in the transformation.
You can disable this operator by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -2292,7 +2298,8 @@ bool QString::operator>(const QLatin1String &other) const
\overload operator>()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. If any NUL characters ('\0') are embedded
+ in the byte array, they will be included in the transformation.
You can disable this operator by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -2334,7 +2341,8 @@ bool QString::operator>(const QLatin1String &other) const
\overload operator>=()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. If any NUL characters ('\0') are embedded in
+ the byte array, they will be included in the transformation.
You can disable this operator by defining \c QT_NO_CAST_FROM_ASCII
when you compile your applications. This can be useful if you want
@@ -2349,10 +2357,10 @@ bool QString::operator>(const QLatin1String &other) const
The \a other const char pointer is converted to a QString using
the fromAscii() function.
- You can disable this operator by defining \c
- QT_NO_CAST_FROM_ASCII when you compile your applications. This
- can be useful if you want to ensure that all user-visible strings
- go through QObject::tr(), for example.
+ You can disable this operator by defining \c QT_NO_CAST_FROM_ASCII
+ when you compile your applications. This can be useful if you want
+ to ensure that all user-visible strings go through QObject::tr(),
+ for example.
*/
/*! \fn bool QString::operator!=(const QString &other) const
@@ -2376,7 +2384,8 @@ bool QString::operator>(const QLatin1String &other) const
\overload operator!=()
The \a other byte array is converted to a QString using the
- fromAscii() function.
+ fromAscii() function. If any NUL characters ('\0') are embedded
+ in the byte array, they will be included in the transformation.
You can disable this operator by defining \c QT_NO_CAST_FROM_ASCII
when you compile your applications. This can be useful if you want
@@ -3227,7 +3236,7 @@ QString QString::section(const QRegExp &reg, int start, int end, SectionFlags fl
if (!empty || !(flags & SectionSkipEmpty))
x++;
}
- if((flags & SectionIncludeLeadingSep)) {
+ if((flags & SectionIncludeLeadingSep) && first_i < sections.size()) {
const qt_section_chunk &section = sections.at(first_i);
ret.prepend(section.string.left(section.length));
}
@@ -3563,8 +3572,10 @@ static QByteArray toLatin1_helper(const QChar *data, int length)
/*!
Returns a Latin-1 representation of the string as a QByteArray.
- The returned byte array is undefined if the string contains
- non-Latin1 characters.
+
+ The returned byte array is undefined if the string contains non-Latin1
+ characters. Those characters may be suppressed or replaced with a
+ question mark.
\sa fromLatin1(), toAscii(), toUtf8(), toLocal8Bit(), QTextCodec
*/
@@ -3578,12 +3589,15 @@ QByteArray QString::toLatin1() const
// isn't necessary in the header. See task 177402.
/*!
- Returns an 8-bit ASCII representation of the string as a QByteArray.
+ Returns an 8-bit representation of the string as a QByteArray.
If a codec has been set using QTextCodec::setCodecForCStrings(),
it is used to convert Unicode to 8-bit char; otherwise this
function does the same as toLatin1().
+ Note that, despite the name, this function does not necessarily return an US-ASCII
+ (ANSI X3.4-1986) string and its result may not be US-ASCII compatible.
+
\sa fromAscii(), toLatin1(), toUtf8(), toLocal8Bit(), QTextCodec
*/
QByteArray QString::toAscii() const
@@ -3611,8 +3625,13 @@ static QByteArray toLocal8Bit_helper(const QChar *data, int length)
QByteArray. The returned byte array is undefined if the string
contains characters not supported by the local 8-bit encoding.
- QTextCodec::codecForLocale() is used to perform the conversion
- from Unicode.
+ QTextCodec::codecForLocale() is used to perform the conversion from
+ Unicode. If the locale encoding could not be determined, this function
+ does the same as toLatin1().
+
+ If this string contains any characters that cannot be encoded in the
+ locale, the returned byte array is undefined. Those characters may be
+ suppressed or replaced by another.
\sa fromLocal8Bit(), toAscii(), toLatin1(), toUtf8(), QTextCodec
*/
@@ -3628,54 +3647,34 @@ QByteArray QString::toLocal8Bit() const
/*!
Returns a UTF-8 representation of the string as a QByteArray.
+ UTF-8 is a Unicode codec and can represent all characters in a Unicode
+ string like QString.
+
+ However, in the Unicode range, there are certain codepoints that are not
+ considered characters. The Unicode standard reserves the last two
+ codepoints in each Unicode Plane (U+FFFE, U+FFFF, U+1FFFE, U+1FFFF,
+ U+2FFFE, etc.), as well as 16 codepoints in the range U+FDD0..U+FDDF,
+ inclusive, as non-characters. If any of those appear in the string, they
+ may be discarded and will not appear in the UTF-8 representation, or they
+ may be replaced by one or more replacement characters.
+
\sa fromUtf8(), toAscii(), toLatin1(), toLocal8Bit(), QTextCodec
*/
QByteArray QString::toUtf8() const
{
- QByteArray ba;
- if (d->size) {
- int l = d->size;
- int rlen = l*3+1;
- ba.resize(rlen);
- uchar *cursor = (uchar*)ba.data();
- const ushort *ch =d->data;
- for (int i=0; i < l; i++) {
- uint u = *ch;
- if (u < 0x80) {
- *cursor++ = (uchar)u;
- } else {
- if (u < 0x0800) {
- *cursor++ = 0xc0 | ((uchar) (u >> 6));
- } else {
- if (QChar(u).isHighSurrogate() && i < l-1) {
- ushort low = ch[1];
- if (QChar(low).isLowSurrogate()) {
- ++ch;
- ++i;
- u = QChar::surrogateToUcs4(u,low);
- }
- }
- if (u > 0xffff) {
- *cursor++ = 0xf0 | ((uchar) (u >> 18));
- *cursor++ = 0x80 | (((uchar) (u >> 12)) & 0x3f);
- } else {
- *cursor++ = 0xe0 | ((uchar) (u >> 12));
- }
- *cursor++ = 0x80 | (((uchar) (u >> 6)) & 0x3f);
- }
- *cursor++ = 0x80 | ((uchar) (u&0x3f));
- }
- ++ch;
- }
- ba.resize(cursor - (uchar*)ba.constData());
- }
- return ba;
+ if (isNull())
+ return QByteArray();
+
+ return QUtf8::convertFromUnicode(constData(), length(), 0);
}
/*!
\since 4.2
- Returns a UCS-4 representation of the string as a QVector<uint>.
+ Returns a UCS-4/UTF-32 representation of the string as a QVector<uint>.
+
+ UCS-4 is a Unicode codec and is lossless. All characters from this string
+ can be encoded in UCS-4.
\sa fromUtf8(), toAscii(), toLatin1(), toLocal8Bit(), QTextCodec, fromUcs4(), toWCharArray()
*/
@@ -3952,14 +3951,16 @@ QString QString::fromLocal8Bit(const char *str, int size)
/*!
Returns a QString initialized with the first \a size characters
- of the 8-bit ASCII string \a str.
+ of the 8-bit string \a str.
If \a size is -1 (default), it is taken to be qstrlen(\a
str).
- If a codec has been set using QTextCodec::setCodecForCStrings(),
- it is used to convert \a str to Unicode; otherwise this function
- does the same as fromLatin1().
+ Note that, despite the name, this function actually uses the codec
+ defined by QTextCodec::setCodecForCStrings() to convert \a str to
+ Unicode. Depending on the codec, it may not accept valid US-ASCII (ANSI
+ X3.4-1986) input. If no codec has been set, this function does the same
+ as fromLatin1().
\sa toAscii(), fromLatin1(), fromUtf8(), fromLocal8Bit()
*/
@@ -3975,6 +3976,18 @@ QString QString::fromAscii(const char *str, int size)
If \a size is -1 (default), it is taken to be qstrlen(\a
str).
+ UTF-8 is a Unicode codec and can represent all characters in a Unicode
+ string like QString. However, invalid sequences are possible with UTF-8
+ and, if any such are found, they will be replaced with one or more
+ "replacement characters", or suppressed. These include non-Unicode
+ sequences, non-characters, overlong sequences or surrogate codepoints
+ encoded into UTF-8.
+
+ Non-characters are codepoints that the Unicode standard reserves and must
+ not be used in text interchange. They are the last two codepoints in each
+ Unicode Plane (U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, etc.), as well
+ as 16 codepoints in the range U+FDD0..U+FDDF, inclusive.
+
\sa toUtf8(), fromAscii(), fromLatin1(), fromLocal8Bit()
*/
QString QString::fromUtf8(const char *str, int size)
@@ -4399,8 +4412,10 @@ QString& QString::fill(QChar ch, int size)
\overload operator+=()
- Appends the byte array \a ba to this string. The byte array is
- converted to Unicode using the fromAscii() function.
+ Appends the byte array \a ba to this string. The byte array is converted
+ to Unicode using the fromAscii() function. If any NUL characters ('\0')
+ are embedded in the \a ba byte array, they will be included in the
+ transformation.
You can disable this function by defining \c
QT_NO_CAST_FROM_ASCII when you compile your applications. This
@@ -6176,7 +6191,7 @@ QStringList QString::split(const QRegExp &rx, SplitBehavior behavior) const
*/
QString QString::normalized(QString::NormalizationForm mode) const
{
- return normalized(mode, CURRENT_VERSION);
+ return normalized(mode, UNICODE_DATA_VERSION);
}
/*!
@@ -6258,7 +6273,7 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::
return;
QString &s = *data;
- if (version != CURRENT_VERSION) {
+ if (version != UNICODE_DATA_VERSION) {
for (int i = 0; i < NumNormalizationCorrections; ++i) {
const NormalizationCorrection &n = uc_normalization_corrections[i];
if (n.version > version) {
@@ -7085,9 +7100,9 @@ void QString::updateProperties() const
This operator is mostly useful to pass a QString to a function
that accepts a std::string object.
- If the QString contains non-ASCII Unicode characters, using this
- operator can lead to loss of information, since the implementation
- calls toAscii().
+ If the QString contains Unicode characters that the
+ QTextCodec::codecForCStrings() codec cannot handle, using this operator
+ can lead to loss of information.
This operator is only available if Qt is configured with STL
compatibility enabled.
@@ -7138,7 +7153,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
}
/*! \class QLatin1String
- \brief The QLatin1String class provides a thin wrapper around an ASCII/Latin-1 encoded string literal.
+ \brief The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
\ingroup string-processing
\reentrant
@@ -7225,7 +7240,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
\since 4.3
\overload
- The \a other const char pointer is converted to a QLatin1String using
+ The \a other const char pointer is converted to a QString using
the QString::fromAscii() function.
You can disable this operator by defining \c
@@ -7250,7 +7265,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
\since 4.3
\overload operator!=()
- The \a other const char pointer is converted to a QLatin1String using
+ The \a other const char pointer is converted to a QString using
the QString::fromAscii() function.
You can disable this operator by defining \c
@@ -7276,7 +7291,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
\since 4.3
\overload
- The \a other const char pointer is converted to a QLatin1String using
+ The \a other const char pointer is converted to a QString using
the QString::fromAscii() function.
You can disable this operator by defining \c QT_NO_CAST_FROM_ASCII
@@ -7302,7 +7317,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
\since 4.3
\overload
- The \a other const char pointer is converted to a QLatin1String using
+ The \a other const char pointer is converted to a QString using
the QString::fromAscii() function.
You can disable this operator by defining \c
@@ -7328,7 +7343,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
\since 4.3
\overload
- The \a other const char pointer is converted to a QLatin1String using
+ The \a other const char pointer is converted to a QString using
the QString::fromAscii() function.
You can disable this operator by defining \c
diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp
index 7c40e3593e..92052973f9 100644
--- a/src/corelib/tools/qtextboundaryfinder.cpp
+++ b/src/corelib/tools/qtextboundaryfinder.cpp
@@ -100,7 +100,8 @@ static void init(QTextBoundaryFinder::BoundaryType type, const QChar *chars, int
HB_GetSentenceBoundaries(string, length, scriptItems.data(), scriptItems.count(), attributes);
}
-/*! \class QTextBoundaryFinder
+/*!
+ \class QTextBoundaryFinder
\brief The QTextBoundaryFinder class provides a way of finding Unicode text boundaries in a string.
@@ -331,7 +332,7 @@ QString QTextBoundaryFinder::string() const
/*!
Moves the QTextBoundaryFinder to the next boundary position and returns that position.
- Returns -1 is there is no next boundary.
+ Returns -1 if there is no next boundary.
*/
int QTextBoundaryFinder::toNextBoundary()
{
@@ -373,7 +374,7 @@ int QTextBoundaryFinder::toNextBoundary()
/*!
Moves the QTextBoundaryFinder to the previous boundary position and returns that position.
- Returns -1 is there is no previous boundary.
+ Returns -1 if there is no previous boundary.
*/
int QTextBoundaryFinder::toPreviousBoundary()
{
diff --git a/src/corelib/tools/qunicodetables.cpp b/src/corelib/tools/qunicodetables.cpp
index 97afdf5f74..9df31e5dd1 100644
--- a/src/corelib/tools/qunicodetables.cpp
+++ b/src/corelib/tools/qunicodetables.cpp
@@ -44,7 +44,7 @@
QT_BEGIN_NAMESPACE
static const unsigned short uc_property_trie[] = {
- // 0x11000
+ // 0 - 0x11000
6256, 6288, 6320, 6352, 6384, 6416, 6448, 6480,
6512, 6544, 6576, 6608, 6640, 6672, 6704, 6736,
@@ -1777,42 +1777,42 @@ static const unsigned short uc_property_trie[] = {
42, 42, 560, 561, 562, 160, 563, 564,
565, 565, 565, 565, 566, 42, 42, 42,
- 492, 492, 567, 568, 160, 160, 569, 570,
- 493, 493, 571, 571, 160, 42, 42, 42,
-
- 492, 492, 572, 573, 574, 182, 575, 576,
- 493, 493, 577, 577, 578, 42, 42, 42,
- 160, 160, 579, 580, 581, 160, 582, 583,
- 584, 584, 585, 585, 586, 42, 42, 160,
-
- 587, 587, 587, 587, 587, 587, 587, 588,
- 587, 587, 587, 589, 590, 591, 592, 593,
- 594, 595, 594, 594, 596, 597, 14, 14,
- 598, 599, 600, 601, 598, 602, 600, 601,
-
- 14, 14, 14, 14, 603, 603, 603, 604,
- 605, 606, 607, 608, 609, 610, 611, 612,
- 13, 13, 13, 13, 13, 613, 613, 613,
- 14, 598, 602, 14, 614, 614, 14, 43,
-
- 43, 14, 14, 14, 615, 16, 17, 616,
- 617, 617, 432, 432, 432, 432, 618, 618,
- 618, 618, 185, 619, 620, 621, 622, 618,
- 622, 622, 622, 622, 621, 622, 622, 623,
-
- 624, 625, 625, 625, 160, 160, 160, 160,
- 160, 160, 626, 626, 626, 626, 626, 626,
- 627, 628, 160, 160, 629, 630, 631, 632,
- 633, 634, 635, 635, 36, 16, 17, 50,
-
- 627, 60, 55, 56, 629, 630, 631, 632,
- 633, 634, 635, 635, 36, 16, 17, 160,
+ 492, 492, 567, 166, 160, 160, 568, 569,
+ 493, 493, 570, 570, 160, 42, 42, 42,
+
+ 492, 492, 571, 169, 572, 182, 573, 574,
+ 493, 493, 575, 575, 576, 42, 42, 42,
+ 160, 160, 577, 578, 579, 160, 580, 581,
+ 582, 582, 583, 583, 584, 42, 42, 160,
+
+ 585, 585, 585, 585, 585, 585, 585, 586,
+ 585, 585, 585, 587, 588, 589, 590, 591,
+ 592, 593, 592, 592, 594, 595, 14, 14,
+ 596, 597, 598, 599, 596, 600, 598, 599,
+
+ 14, 14, 14, 14, 601, 601, 601, 602,
+ 603, 604, 605, 606, 607, 608, 609, 610,
+ 13, 13, 13, 13, 13, 611, 611, 611,
+ 14, 596, 600, 14, 612, 612, 14, 43,
+
+ 43, 14, 14, 14, 613, 16, 17, 614,
+ 615, 615, 432, 432, 432, 432, 616, 616,
+ 616, 616, 185, 617, 618, 619, 620, 616,
+ 620, 620, 620, 620, 619, 620, 620, 621,
+
+ 622, 623, 623, 623, 160, 160, 160, 160,
+ 160, 160, 624, 624, 624, 624, 624, 624,
+ 625, 626, 160, 160, 627, 628, 629, 630,
+ 631, 632, 633, 633, 36, 16, 17, 50,
+
+ 625, 60, 55, 56, 627, 628, 629, 630,
+ 631, 632, 633, 633, 36, 16, 17, 160,
484, 484, 484, 484, 484, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
12, 12, 12, 12, 12, 12, 12, 48,
- 12, 12, 12, 636, 637, 429, 429, 429,
- 638, 638, 639, 639, 639, 639, 160, 160,
+ 12, 12, 12, 634, 635, 429, 429, 429,
+ 636, 636, 637, 637, 637, 637, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -1820,32 +1820,32 @@ static const unsigned short uc_property_trie[] = {
139, 139, 144, 144, 139, 139, 139, 139,
144, 144, 144, 139, 139, 273, 273, 273,
- 273, 139, 195, 195, 640, 641, 641, 159,
- 642, 159, 641, 643, 299, 299, 299, 299,
+ 273, 139, 195, 195, 638, 639, 639, 159,
+ 640, 159, 639, 641, 299, 299, 299, 299,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 49, 49, 175, 644, 49, 49, 49, 175,
- 49, 644, 50, 175, 175, 175, 50, 50,
- 175, 175, 175, 50, 49, 175, 645, 49,
+ 49, 49, 175, 642, 49, 49, 49, 175,
+ 49, 642, 50, 175, 175, 175, 50, 50,
+ 175, 175, 175, 50, 49, 175, 643, 49,
49, 175, 175, 175, 175, 175, 49, 49,
- 49, 49, 49, 49, 175, 49, 646, 49,
- 175, 49, 647, 648, 175, 175, 649, 50,
- 175, 175, 650, 175, 50, 90, 90, 90,
- 90, 131, 651, 239, 103, 628, 652, 652,
+ 49, 49, 49, 49, 175, 49, 644, 49,
+ 175, 49, 645, 646, 175, 175, 647, 50,
+ 175, 175, 648, 175, 50, 90, 90, 90,
+ 90, 131, 649, 239, 103, 626, 650, 650,
- 185, 185, 185, 185, 185, 652, 628, 628,
- 628, 628, 653, 185, 418, 301, 654, 160,
+ 185, 185, 185, 185, 185, 650, 626, 626,
+ 626, 626, 651, 185, 418, 301, 652, 160,
160, 160, 160, 62, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62,
- 655, 655, 655, 655, 655, 655, 655, 655,
- 655, 655, 655, 655, 655, 655, 655, 655,
- 656, 656, 656, 656, 656, 656, 656, 656,
- 656, 656, 656, 656, 656, 656, 656, 656,
+ 653, 653, 653, 653, 653, 653, 653, 653,
+ 653, 653, 653, 653, 653, 653, 653, 653,
+ 654, 654, 654, 654, 654, 654, 654, 654,
+ 654, 654, 654, 654, 654, 654, 654, 654,
- 657, 657, 657, 99, 109, 160, 160, 160,
+ 655, 655, 655, 99, 109, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
36, 36, 36, 36, 36, 49, 49, 49,
49, 49, 36, 36, 49, 49, 49, 49,
@@ -1861,52 +1861,52 @@ static const unsigned short uc_property_trie[] = {
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 651, 651, 651, 651, 651,
- 651, 651, 651, 651, 185, 185, 185, 185,
+ 49, 49, 49, 649, 649, 649, 649, 649,
+ 649, 649, 649, 649, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
36, 36, 36, 36, 36, 36, 36, 36,
- 658, 658, 658, 659, 659, 659, 36, 36,
- 36, 36, 18, 54, 36, 660, 36, 36,
+ 656, 656, 656, 657, 657, 657, 36, 36,
+ 36, 36, 18, 54, 36, 658, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 661, 662, 36, 36,
+ 36, 36, 36, 36, 659, 660, 36, 36,
- 36, 36, 36, 663, 36, 36, 36, 36,
+ 36, 36, 36, 661, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 661, 662, 661, 662, 36, 36,
+ 36, 36, 659, 660, 659, 660, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 661, 662, 661, 662,
- 661, 662, 661, 662, 36, 36, 661, 662,
- 661, 662, 661, 662, 661, 662, 661, 662,
- 661, 662, 661, 662, 661, 662, 661, 662,
+ 36, 36, 36, 36, 659, 660, 659, 660,
+ 659, 660, 659, 660, 36, 36, 659, 660,
+ 659, 660, 659, 660, 659, 660, 659, 660,
+ 659, 660, 659, 660, 659, 660, 659, 660,
- 661, 662, 661, 662, 661, 662, 661, 662,
- 661, 662, 661, 662, 36, 36, 36, 661,
- 662, 661, 662, 36, 36, 36, 36, 36,
- 664, 36, 36, 36, 36, 36, 36, 36,
+ 659, 660, 659, 660, 659, 660, 659, 660,
+ 659, 660, 659, 660, 36, 36, 36, 659,
+ 660, 659, 660, 36, 36, 36, 36, 36,
+ 662, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 661, 662, 36, 36, 665, 36,
- 666, 667, 36, 667, 36, 36, 36, 36,
- 661, 662, 661, 662, 661, 662, 661, 662,
+ 36, 36, 659, 660, 36, 36, 663, 36,
+ 664, 665, 36, 665, 36, 36, 36, 36,
+ 659, 660, 659, 660, 659, 660, 659, 660,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 661, 662, 661, 662, 668, 36, 36,
- 661, 662, 36, 36, 36, 36, 661, 662,
- 661, 662, 661, 662, 661, 662, 661, 662,
+ 36, 659, 660, 659, 660, 666, 36, 36,
+ 659, 660, 36, 36, 36, 36, 659, 660,
+ 659, 660, 659, 660, 659, 660, 659, 660,
- 661, 662, 661, 662, 661, 662, 661, 662,
- 661, 662, 661, 662, 661, 662, 36, 36,
- 661, 662, 669, 669, 669, 185, 670, 670,
- 185, 185, 671, 671, 671, 672, 672, 185,
+ 659, 660, 659, 660, 659, 660, 659, 660,
+ 659, 660, 659, 660, 659, 660, 36, 36,
+ 659, 660, 667, 667, 667, 185, 668, 668,
+ 185, 185, 669, 669, 669, 670, 670, 185,
- 49, 651, 49, 49, 49, 49, 49, 49,
- 661, 662, 661, 662, 49, 49, 49, 49,
+ 49, 649, 49, 49, 49, 49, 49, 49,
+ 659, 660, 659, 660, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
@@ -1923,24 +1923,24 @@ static const unsigned short uc_property_trie[] = {
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
- 194, 194, 194, 651, 185, 651, 651, 651,
+ 194, 194, 194, 649, 185, 649, 649, 649,
- 651, 651, 651, 651, 651, 651, 651, 651,
- 651, 651, 651, 651, 651, 651, 651, 651,
- 651, 651, 651, 651, 651, 381, 651, 651,
- 651, 651, 651, 185, 185, 185, 185, 185,
+ 649, 649, 649, 649, 649, 649, 649, 649,
+ 649, 649, 649, 649, 649, 649, 649, 649,
+ 649, 649, 649, 649, 649, 381, 649, 649,
+ 649, 649, 649, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 653, 653, 653, 653,
- 653, 653, 653, 653, 653, 653, 653, 653,
+ 185, 185, 185, 185, 651, 651, 651, 651,
+ 651, 651, 651, 651, 651, 651, 651, 651,
- 653, 653, 653, 653, 653, 653, 653, 653,
- 653, 653, 653, 653, 653, 653, 653, 239,
+ 651, 651, 651, 651, 651, 651, 651, 651,
+ 651, 651, 651, 651, 651, 651, 651, 239,
239, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 418, 673, 673, 673, 673,
+ 418, 418, 418, 418, 671, 671, 671, 671,
- 673, 673, 301, 301, 301, 301, 301, 301,
+ 671, 671, 301, 301, 301, 301, 301, 301,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -1950,7 +1950,7 @@ static const unsigned short uc_property_trie[] = {
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 651, 651, 160,
+ 49, 49, 49, 49, 49, 649, 649, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -1960,35 +1960,35 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 674, 675, 676, 677, 678, 679, 680, 681,
- 682, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 674, 675, 676, 677,
- 678, 679, 680, 681, 682, 62, 62, 62,
+ 672, 673, 674, 675, 676, 677, 678, 679,
+ 680, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 672, 673, 674, 675,
+ 676, 677, 678, 679, 680, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62,
- 60, 55, 56, 629, 630, 631, 632, 633,
- 634, 683, 683, 683, 683, 683, 683, 683,
- 683, 683, 683, 683, 194, 194, 194, 194,
+ 60, 55, 56, 627, 628, 629, 630, 631,
+ 632, 681, 681, 681, 681, 681, 681, 681,
+ 681, 681, 681, 681, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
- 194, 194, 194, 194, 194, 194, 684, 684,
- 684, 684, 684, 684, 684, 684, 684, 684,
+ 194, 194, 194, 194, 194, 194, 682, 682,
+ 682, 682, 682, 682, 682, 682, 682, 682,
- 684, 684, 684, 684, 684, 684, 684, 684,
- 684, 684, 684, 684, 684, 684, 684, 684,
- 685, 685, 685, 685, 685, 685, 685, 685,
- 685, 685, 685, 685, 685, 685, 685, 685,
+ 682, 682, 682, 682, 682, 682, 682, 682,
+ 682, 682, 682, 682, 682, 682, 682, 682,
+ 683, 683, 683, 683, 683, 683, 683, 683,
+ 683, 683, 683, 683, 683, 683, 683, 683,
- 685, 685, 685, 685, 685, 685, 685, 685,
- 685, 685, 686, 687, 687, 687, 687, 687,
- 687, 687, 687, 687, 687, 688, 689, 690,
- 691, 692, 693, 694, 695, 696, 687, 697,
+ 683, 683, 683, 683, 683, 683, 683, 683,
+ 683, 683, 684, 685, 685, 685, 685, 685,
+ 685, 685, 685, 685, 685, 686, 687, 688,
+ 689, 690, 691, 692, 693, 694, 685, 695,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 653, 653,
- 653, 653, 653, 653, 653, 653, 653, 653,
+ 49, 49, 49, 49, 49, 49, 651, 651,
+ 651, 651, 651, 651, 651, 651, 651, 651,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
@@ -2002,21 +2002,21 @@ static const unsigned short uc_property_trie[] = {
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
- 651, 651, 651, 651, 651, 651, 651, 651,
+ 649, 649, 649, 649, 649, 649, 649, 649,
185, 185, 185, 185, 185, 185, 185, 185,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 239, 239, 653, 653,
- 418, 651, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 239, 239, 651, 651,
+ 418, 649, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 36,
- 651, 651, 653, 653, 653, 653, 653, 653,
- 653, 653, 653, 653, 653, 653, 418, 418,
+ 649, 649, 651, 651, 651, 651, 651, 651,
+ 651, 651, 651, 651, 651, 651, 418, 418,
- 653, 653, 653, 653, 653, 653, 653, 653,
- 653, 653, 239, 239, 239, 239, 239, 239,
+ 651, 651, 651, 651, 651, 651, 651, 651,
+ 651, 651, 239, 239, 239, 239, 239, 239,
239, 239, 418, 418, 418, 418, 418, 418,
418, 418, 418, 418, 418, 160, 160, 160,
@@ -2038,16 +2038,16 @@ static const unsigned short uc_property_trie[] = {
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 160, 49, 160, 49,
49, 49, 49, 160, 160, 160, 49, 160,
- 49, 49, 49, 698, 698, 698, 698, 160,
+ 49, 49, 49, 696, 696, 696, 696, 160,
- 160, 49, 699, 699, 49, 49, 49, 49,
- 700, 701, 700, 701, 700, 701, 700, 701,
- 700, 701, 700, 701, 700, 701, 674, 675,
- 676, 677, 678, 679, 680, 681, 682, 62,
+ 160, 49, 697, 697, 49, 49, 49, 49,
+ 698, 699, 698, 699, 698, 699, 698, 699,
+ 698, 699, 698, 699, 698, 699, 672, 673,
+ 674, 675, 676, 677, 678, 679, 680, 62,
- 674, 675, 676, 677, 678, 679, 680, 681,
- 682, 62, 674, 675, 676, 677, 678, 679,
- 680, 681, 682, 62, 49, 160, 160, 160,
+ 672, 673, 674, 675, 676, 677, 678, 679,
+ 680, 62, 672, 673, 674, 675, 676, 677,
+ 678, 679, 680, 62, 49, 160, 160, 160,
49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49,
@@ -2055,13 +2055,13 @@ static const unsigned short uc_property_trie[] = {
160, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 160,
- 702, 702, 702, 703, 704, 705, 706, 673,
- 673, 673, 673, 160, 160, 160, 160, 160,
- 185, 185, 185, 185, 185, 707, 708, 185,
- 185, 185, 185, 185, 185, 707, 708, 185,
+ 700, 700, 700, 701, 702, 703, 704, 671,
+ 671, 671, 671, 160, 160, 160, 160, 160,
+ 185, 185, 185, 185, 185, 705, 706, 185,
+ 185, 185, 185, 185, 185, 705, 706, 185,
- 185, 185, 707, 708, 707, 708, 700, 701,
- 700, 701, 700, 701, 160, 160, 160, 160,
+ 185, 185, 705, 706, 705, 706, 698, 699,
+ 698, 699, 698, 699, 160, 160, 160, 160,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
@@ -2075,55 +2075,55 @@ static const unsigned short uc_property_trie[] = {
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 700, 701, 700, 701, 700,
- 701, 700, 701, 700, 701, 709, 710, 711,
- 712, 700, 701, 700, 701, 700, 701, 700,
- 701, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 698, 699, 698, 699, 698,
+ 699, 698, 699, 698, 699, 707, 708, 709,
+ 710, 698, 699, 698, 699, 698, 699, 698,
+ 699, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 713, 185, 185, 185, 185, 185, 185, 185,
+ 711, 185, 185, 185, 185, 185, 185, 185,
- 707, 708, 185, 185, 707, 708, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 707,
- 708, 707, 708, 185, 707, 708, 185, 185,
- 700, 701, 700, 701, 185, 185, 185, 185,
+ 705, 706, 185, 185, 705, 706, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 705,
+ 706, 705, 706, 185, 705, 706, 185, 185,
+ 698, 699, 698, 699, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 714, 185, 185,
- 707, 708, 185, 185, 700, 701, 185, 185,
+ 185, 185, 185, 185, 185, 712, 185, 185,
+ 705, 706, 185, 185, 698, 699, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 707, 708, 707, 708, 185,
- 185, 185, 185, 185, 707, 708, 185, 185,
- 185, 185, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 705, 706, 705, 706, 185,
+ 185, 185, 185, 185, 705, 706, 185, 185,
+ 185, 185, 185, 185, 705, 706, 185, 185,
- 185, 185, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 185, 705, 706, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
- 185, 707, 708, 185, 185, 707, 708, 707,
+ 185, 705, 706, 185, 185, 705, 706, 705,
- 708, 707, 708, 707, 708, 185, 185, 185,
- 185, 185, 185, 707, 708, 185, 185, 185,
- 185, 707, 708, 707, 708, 707, 708, 707,
- 708, 707, 708, 707, 708, 185, 185, 185,
+ 706, 705, 706, 705, 706, 185, 185, 185,
+ 185, 185, 185, 705, 706, 185, 185, 185,
+ 185, 705, 706, 705, 706, 705, 706, 705,
+ 706, 705, 706, 705, 706, 185, 185, 185,
- 185, 707, 708, 185, 185, 185, 707, 708,
- 707, 708, 707, 708, 707, 708, 185, 707,
- 708, 185, 185, 707, 708, 185, 185, 185,
- 185, 185, 185, 707, 708, 707, 708, 707,
+ 185, 705, 706, 185, 185, 185, 705, 706,
+ 705, 706, 705, 706, 705, 706, 185, 705,
+ 706, 185, 185, 705, 706, 185, 185, 185,
+ 185, 185, 185, 705, 706, 705, 706, 705,
- 708, 707, 708, 707, 708, 707, 708, 185,
- 185, 185, 185, 185, 185, 707, 708, 707,
- 708, 707, 708, 707, 708, 707, 708, 185,
- 185, 185, 185, 185, 185, 185, 715, 185,
+ 706, 705, 706, 705, 706, 705, 706, 185,
+ 185, 185, 185, 185, 185, 705, 706, 705,
+ 706, 705, 706, 705, 706, 705, 706, 185,
+ 185, 185, 185, 185, 185, 185, 713, 185,
- 185, 185, 185, 716, 717, 716, 185, 185,
- 185, 185, 185, 185, 707, 708, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 707,
- 708, 707, 708, 185, 185, 185, 185, 185,
+ 185, 185, 185, 714, 715, 714, 185, 185,
+ 185, 185, 185, 185, 705, 706, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 705,
+ 706, 705, 706, 185, 185, 185, 185, 185,
239, 239, 239, 239, 239, 239, 239, 239,
239, 239, 239, 239, 239, 239, 418, 418,
@@ -2135,24 +2135,24 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
+ 716, 716, 716, 716, 716, 716, 716, 716,
+ 716, 716, 716, 716, 716, 716, 716, 716,
+ 716, 716, 716, 716, 716, 716, 716, 716,
+ 716, 716, 716, 716, 716, 716, 716, 716,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 160,
- 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719,
+ 716, 716, 716, 716, 716, 716, 716, 716,
+ 716, 716, 716, 716, 716, 716, 716, 160,
+ 717, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717,
- 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 160,
+ 717, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 160,
- 113, 109, 720, 721, 722, 723, 724, 113,
+ 113, 109, 718, 719, 720, 721, 722, 113,
109, 113, 109, 113, 109, 160, 160, 160,
- 160, 160, 160, 160, 725, 113, 109, 725,
+ 160, 160, 160, 160, 723, 113, 109, 723,
160, 160, 160, 160, 160, 160, 160, 160,
105, 106, 105, 106, 105, 106, 105, 106,
@@ -2163,14 +2163,14 @@ static const unsigned short uc_property_trie[] = {
105, 106, 105, 106, 103, 418, 418, 418,
418, 418, 418, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 160, 622, 622, 622, 622, 726, 622, 622,
+ 160, 620, 620, 620, 620, 724, 620, 620,
- 727, 727, 727, 727, 727, 727, 727, 727,
- 727, 727, 727, 727, 727, 727, 727, 727,
- 727, 727, 727, 727, 727, 727, 727, 727,
- 727, 727, 727, 727, 727, 727, 727, 727,
+ 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 725, 725, 725, 725, 725, 725,
- 727, 727, 727, 727, 727, 727, 160, 160,
+ 725, 725, 725, 725, 725, 725, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
323, 323, 323, 323, 323, 323, 323, 323,
323, 323, 323, 323, 323, 323, 323, 323,
@@ -2195,227 +2195,227 @@ static const unsigned short uc_property_trie[] = {
323, 323, 323, 323, 323, 323, 323, 160,
323, 323, 323, 323, 323, 323, 323, 160,
- 728, 728, 729, 730, 729, 730, 728, 728,
- 728, 729, 730, 728, 729, 730, 622, 622,
- 622, 622, 622, 622, 622, 622, 621, 731,
- 160, 160, 160, 160, 729, 730, 160, 160,
+ 726, 726, 727, 728, 727, 728, 726, 726,
+ 726, 727, 728, 726, 727, 728, 620, 620,
+ 620, 620, 620, 620, 620, 620, 619, 729,
+ 160, 160, 160, 160, 727, 728, 160, 160,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 160, 732, 732, 732, 732, 732,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 160, 730, 730, 730, 730, 730,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 160, 160, 160, 160,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 160, 160,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 160, 160, 160, 160,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 160, 160, 160, 160,
- 733, 734, 735, 736, 737, 738, 739, 740,
+ 731, 732, 733, 734, 735, 736, 737, 738,
16, 17, 16, 17, 16, 17, 16, 17,
- 16, 17, 737, 737, 16, 17, 16, 17,
- 16, 17, 16, 17, 741, 16, 17, 742,
-
- 737, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 743, 744, 140, 745, 746, 746,
- 747, 748, 748, 748, 748, 748, 737, 737,
- 749, 749, 749, 750, 751, 752, 732, 737,
-
- 160, 753, 739, 753, 739, 753, 739, 753,
- 739, 753, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
-
- 739, 739, 739, 753, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
-
- 739, 739, 739, 753, 739, 753, 739, 753,
- 739, 739, 739, 739, 739, 739, 753, 739,
- 739, 739, 739, 739, 739, 754, 754, 160,
- 160, 755, 755, 756, 756, 757, 757, 758,
-
- 759, 760, 761, 760, 761, 760, 761, 760,
- 761, 760, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
-
- 761, 761, 761, 760, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
-
- 761, 761, 761, 760, 761, 760, 761, 760,
- 761, 761, 761, 761, 761, 761, 760, 761,
- 761, 761, 761, 761, 761, 760, 760, 761,
- 761, 761, 761, 762, 763, 763, 763, 764,
-
- 160, 160, 160, 160, 160, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 160, 160, 160,
- 160, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
+ 16, 17, 735, 735, 16, 17, 16, 17,
+ 16, 17, 16, 17, 739, 16, 17, 740,
+
+ 735, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 741, 742, 140, 743, 744, 744,
+ 745, 746, 746, 746, 746, 746, 735, 735,
+ 747, 747, 747, 748, 749, 750, 730, 735,
+
+ 160, 751, 737, 751, 737, 751, 737, 751,
+ 737, 751, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+
+ 737, 737, 737, 751, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+
+ 737, 737, 737, 751, 737, 751, 737, 751,
+ 737, 737, 737, 737, 737, 737, 751, 737,
+ 737, 737, 737, 737, 737, 752, 752, 160,
+ 160, 753, 753, 754, 754, 755, 755, 756,
+
+ 757, 758, 759, 758, 759, 758, 759, 758,
+ 759, 758, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+
+ 759, 759, 759, 758, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+
+ 759, 759, 759, 758, 759, 758, 759, 758,
+ 759, 759, 759, 759, 759, 759, 758, 759,
+ 759, 759, 759, 759, 759, 758, 758, 759,
+ 759, 759, 759, 760, 761, 761, 761, 762,
+
+ 160, 160, 160, 160, 160, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 160, 160, 160,
+ 160, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 763,
+
+ 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 763, 763, 763, 763, 763, 160,
+ 764, 764, 765, 765, 765, 765, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 160,
- 766, 766, 767, 767, 767, 767, 766, 766,
766, 766, 766, 766, 766, 766, 766, 766,
-
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
160, 160, 160, 160, 160, 160, 160, 160,
- 769, 769, 769, 769, 769, 769, 769, 769,
- 769, 769, 769, 769, 769, 769, 769, 769,
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 767, 767, 767, 767,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 770, 770, 770, 770, 770, 770, 770, 770,
- 770, 770, 770, 770, 770, 770, 770, 770,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 771, 771, 160,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 769, 769, 160,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
- 766, 766, 766, 766, 160, 160, 160, 160,
+ 764, 764, 764, 764, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 771, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
+ 769, 770, 770, 770, 770, 770, 770, 770,
+ 770, 770, 770, 770, 770, 770, 770, 770,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 771, 771, 769, 766,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 769, 769, 767, 764,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 770, 770, 770, 770, 770, 770, 770,
+ 770, 770, 770, 770, 770, 770, 770, 770,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 771, 771, 771, 771,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 769, 769, 769, 769,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 160,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 160,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 771,
- 771, 771, 771, 766, 766, 766, 766, 766,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 769,
+ 769, 769, 769, 764, 764, 764, 764, 764,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 771, 771,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 769, 769,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 771,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 769,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
+ 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 160, 160,
+ 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 739,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
- 739, 739, 739, 739, 739, 739, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 160, 160, 160, 160,
+ 737, 737, 737, 737, 737, 737, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 160, 160, 160, 160,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 775, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 773, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 160, 160, 160,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 160, 160, 160,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
- 732, 732, 776, 776, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 776, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
+ 730, 730, 774, 774, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 774, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730,
- 732, 776, 732, 732, 732, 776, 732, 160,
+ 730, 774, 730, 730, 730, 774, 730, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 777, 777, 777, 777, 777, 777, 777, 777,
- 777, 777, 777, 777, 777, 777, 777, 777,
- 777, 777, 777, 777, 777, 777, 777, 778,
- 778, 778, 778, 160, 160, 160, 160, 160,
+ 775, 775, 775, 775, 775, 775, 775, 775,
+ 775, 775, 775, 775, 775, 775, 775, 775,
+ 775, 775, 775, 775, 775, 775, 775, 776,
+ 776, 776, 776, 160, 160, 160, 160, 160,
- 779, 779, 160, 160, 160, 160, 160, 160,
+ 777, 777, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 323, 323, 780, 323, 323, 323, 781, 323,
- 323, 323, 323, 782, 323, 323, 323, 323,
+ 323, 323, 778, 323, 323, 323, 779, 323,
+ 323, 323, 323, 780, 323, 323, 323, 323,
323, 323, 323, 323, 323, 323, 323, 323,
323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 464, 464, 782, 782, 464,
+ 323, 323, 323, 464, 464, 780, 780, 464,
418, 418, 418, 418, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -2427,91 +2427,91 @@ static const unsigned short uc_property_trie[] = {
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 783, 783, 304, 304,
+ 322, 322, 322, 322, 781, 781, 304, 304,
160, 160, 160, 160, 160, 160, 160, 160,
- 784, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 784, 785, 785, 785,
+ 782, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 782, 783, 783, 783,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 784, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 782, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 784, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 782, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 784, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 782, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 784, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 782, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 784, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 782, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 784, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
+ 783, 783, 783, 783, 782, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783,
- 785, 785, 785, 785, 160, 160, 160, 160,
+ 783, 783, 783, 783, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
+ 784, 784, 784, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 784, 784, 784, 784,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 160, 160,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+
786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
-
- 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 160, 160,
- 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788,
-
- 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788,
-
- 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 160, 160, 160, 160, 160,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+ 786, 786, 786, 160, 160, 160, 160, 160,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 160, 160, 160, 160, 160, 160,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 160, 160, 160, 160, 160, 160,
- 789, 790, 791, 792, 793, 794, 795, 160,
+ 787, 788, 789, 790, 791, 792, 792, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 796, 797, 798, 799, 800,
- 160, 160, 160, 160, 160, 801, 802, 231,
+ 160, 160, 160, 793, 794, 795, 796, 797,
+ 160, 160, 160, 160, 160, 798, 799, 231,
231, 231, 231, 231, 231, 231, 231, 231,
- 231, 635, 231, 231, 231, 231, 231, 231,
+ 231, 633, 231, 231, 231, 231, 231, 231,
231, 231, 231, 231, 231, 231, 231, 205,
231, 231, 231, 231, 231, 205, 231, 205,
@@ -2538,7 +2538,7 @@ static const unsigned short uc_property_trie[] = {
243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 600, 742,
+ 243, 243, 243, 243, 243, 243, 598, 740,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
@@ -2552,63 +2552,63 @@ static const unsigned short uc_property_trie[] = {
243, 243, 243, 243, 243, 243, 243, 243,
235, 235, 235, 235, 235, 235, 235, 235,
- 803, 803, 803, 803, 803, 803, 803, 803,
- 803, 803, 803, 803, 803, 803, 803, 803,
+ 800, 800, 800, 800, 800, 800, 800, 800,
+ 800, 800, 800, 800, 800, 800, 800, 800,
- 803, 803, 803, 803, 803, 803, 803, 803,
- 803, 803, 803, 803, 803, 803, 803, 803,
+ 800, 800, 800, 800, 800, 800, 800, 800,
+ 800, 800, 800, 800, 800, 800, 800, 800,
243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 804, 239, 235, 235,
+ 243, 243, 243, 243, 801, 239, 235, 235,
423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423,
- 805, 806, 806, 805, 805, 807, 807, 808,
- 809, 810, 160, 160, 160, 160, 160, 160,
+ 802, 803, 803, 802, 802, 804, 804, 805,
+ 806, 807, 160, 160, 160, 160, 160, 160,
139, 139, 139, 139, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 736, 747, 747, 811, 811, 600, 742, 600,
- 742, 600, 742, 600, 742, 600, 742, 600,
+ 734, 745, 745, 808, 808, 598, 740, 598,
+ 740, 598, 740, 598, 740, 598, 740, 598,
- 742, 600, 742, 600, 742, 752, 752, 812,
- 813, 736, 736, 736, 736, 811, 811, 811,
- 814, 736, 815, 160, 762, 816, 9, 9,
- 747, 16, 17, 16, 17, 16, 17, 817,
+ 740, 598, 740, 598, 740, 750, 750, 809,
+ 810, 734, 734, 734, 734, 808, 808, 808,
+ 811, 734, 812, 160, 760, 813, 9, 9,
+ 745, 16, 17, 16, 17, 16, 17, 814,
- 736, 736, 818, 819, 820, 821, 822, 160,
- 736, 12, 13, 736, 160, 160, 160, 160,
+ 734, 734, 815, 816, 817, 818, 819, 160,
+ 734, 12, 13, 734, 160, 160, 160, 160,
243, 243, 243, 286, 243, 235, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 235, 235, 823,
-
- 160, 9, 736, 817, 12, 13, 736, 736,
- 16, 17, 736, 818, 814, 819, 815, 824,
- 825, 826, 827, 828, 829, 830, 831, 832,
- 833, 834, 816, 762, 835, 822, 836, 9,
+ 243, 243, 243, 243, 243, 235, 235, 820,
+
+ 160, 9, 734, 814, 12, 13, 734, 734,
+ 16, 17, 734, 815, 811, 816, 812, 821,
+ 822, 823, 824, 825, 826, 827, 828, 829,
+ 830, 831, 813, 760, 832, 819, 833, 9,
+
+ 734, 834, 834, 834, 834, 834, 834, 834,
+ 834, 834, 834, 834, 834, 834, 834, 834,
+ 834, 834, 834, 834, 834, 834, 834, 834,
+ 834, 834, 834, 39, 734, 41, 835, 808,
+
+ 835, 836, 836, 836, 836, 836, 836, 836,
+ 836, 836, 836, 836, 836, 836, 836, 836,
+ 836, 836, 836, 836, 836, 836, 836, 836,
+ 836, 836, 836, 39, 819, 41, 819, 698,
+
+ 699, 733, 16, 17, 732, 760, 837, 758,
+ 758, 758, 758, 758, 758, 758, 758, 758,
+ 761, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 837, 837, 837, 837, 837,
- 736, 837, 837, 837, 837, 837, 837, 837,
837, 837, 837, 837, 837, 837, 837, 837,
837, 837, 837, 837, 837, 837, 837, 837,
- 837, 837, 837, 39, 736, 41, 838, 811,
-
- 838, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 39, 822, 41, 822, 700,
-
- 701, 735, 16, 17, 734, 762, 840, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
- 763, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
-
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 763, 763,
+ 837, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 837, 837, 837, 761, 761,
90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90,
@@ -2620,10 +2620,10 @@ static const unsigned short uc_property_trie[] = {
160, 160, 90, 90, 90, 90, 90, 90,
160, 160, 90, 90, 90, 160, 160, 160,
- 48, 12, 822, 838, 737, 12, 12, 160,
+ 48, 12, 819, 835, 735, 12, 12, 160,
49, 36, 36, 36, 36, 49, 49, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 160, 841, 841, 841, 842, 49, 843, 843,
+ 160, 838, 838, 838, 839, 49, 840, 840,
308, 308, 308, 308, 308, 308, 308, 308,
308, 308, 308, 308, 160, 308, 308, 308,
@@ -2650,68 +2650,68 @@ static const unsigned short uc_property_trie[] = {
308, 308, 308, 308, 308, 308, 308, 308,
308, 308, 308, 160, 160, 160, 160, 160,
- 844, 845, 846, 160, 160, 160, 160, 847,
- 847, 847, 847, 847, 847, 847, 847, 847,
- 847, 847, 847, 847, 847, 847, 847, 847,
- 847, 847, 847, 847, 847, 847, 847, 847,
+ 841, 842, 843, 160, 160, 160, 160, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844,
- 847, 847, 847, 847, 847, 847, 847, 847,
- 847, 847, 847, 847, 847, 847, 847, 847,
- 847, 847, 847, 847, 160, 160, 160, 848,
- 848, 848, 848, 848, 848, 848, 848, 848,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 160, 160, 160, 845,
+ 845, 845, 845, 845, 845, 845, 845, 845,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
+ 846, 846, 846, 846, 846, 846, 846, 846,
+ 846, 846, 846, 846, 846, 846, 846, 846,
+ 846, 846, 846, 846, 846, 846, 846, 846,
+ 846, 846, 846, 846, 846, 846, 846, 846,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 726, 726, 726,
- 726, 418, 418, 418, 418, 418, 418, 418,
+ 846, 846, 846, 846, 846, 846, 846, 846,
+ 846, 846, 846, 846, 846, 846, 846, 846,
+ 846, 846, 846, 846, 846, 724, 724, 724,
+ 724, 418, 418, 418, 418, 418, 418, 418,
418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 726, 160, 160, 160, 160, 160,
+ 418, 418, 724, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 850, 850, 850, 850, 850, 850, 850, 850,
- 850, 850, 850, 850, 850, 850, 850, 850,
- 850, 850, 850, 850, 850, 850, 850, 850,
- 850, 850, 850, 850, 850, 850, 850, 160,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 160,
- 851, 851, 851, 851, 160, 160, 160, 160,
+ 848, 848, 848, 848, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 850, 850, 850, 850, 850, 850, 850, 850,
- 850, 850, 850, 850, 850, 850, 850, 850,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
- 850, 852, 850, 850, 850, 850, 850, 850,
- 850, 850, 852, 160, 160, 160, 160, 160,
+ 847, 849, 847, 847, 847, 847, 847, 847,
+ 847, 847, 849, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
308, 308, 308, 308, 308, 308, 308, 308,
308, 308, 308, 308, 308, 308, 308, 308,
308, 308, 308, 308, 308, 308, 308, 308,
- 308, 308, 308, 308, 308, 308, 160, 844,
+ 308, 308, 308, 308, 308, 308, 160, 841,
323, 323, 323, 323, 160, 160, 160, 160,
323, 323, 323, 323, 323, 323, 323, 323,
- 465, 853, 853, 853, 853, 853, 160, 160,
+ 465, 850, 850, 850, 850, 850, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 854, 854, 854, 854, 854, 854, 854, 854,
- 854, 854, 854, 854, 854, 854, 854, 854,
- 854, 854, 854, 854, 854, 854, 854, 854,
- 854, 854, 854, 854, 854, 854, 854, 854,
+ 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851,
- 854, 854, 854, 854, 854, 854, 855, 855,
- 856, 856, 856, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 856, 856, 856,
+ 851, 851, 851, 851, 851, 851, 852, 852,
+ 853, 853, 853, 853, 853, 853, 853, 853,
+ 853, 853, 853, 853, 853, 853, 853, 853,
+ 853, 853, 853, 853, 853, 853, 853, 853,
- 856, 856, 856, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 856, 857, 857,
+ 853, 853, 853, 853, 853, 853, 853, 853,
+ 853, 853, 853, 853, 853, 853, 854, 854,
308, 308, 308, 308, 308, 308, 308, 308,
308, 308, 308, 308, 308, 308, 308, 308,
@@ -2725,35 +2725,35 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 858, 858, 858, 858, 858, 858, 205, 205,
- 858, 205, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858,
+ 855, 855, 855, 855, 855, 855, 205, 205,
+ 855, 205, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855,
- 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 205, 858,
- 858, 205, 205, 205, 858, 205, 205, 858,
+ 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 205, 855,
+ 855, 205, 205, 205, 855, 205, 205, 855,
- 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 860, 860,
- 860, 860, 205, 205, 205, 205, 205, 861,
+ 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 857, 857,
+ 857, 857, 205, 205, 205, 205, 205, 858,
- 862, 782, 782, 782, 205, 782, 782, 205,
- 205, 205, 205, 205, 782, 152, 782, 153,
- 862, 862, 862, 862, 205, 862, 862, 862,
- 205, 862, 862, 862, 862, 862, 862, 862,
+ 859, 780, 780, 780, 205, 780, 780, 205,
+ 205, 205, 205, 205, 780, 152, 780, 153,
+ 859, 859, 859, 859, 205, 859, 859, 859,
+ 205, 859, 859, 859, 859, 859, 859, 859,
- 862, 862, 862, 862, 862, 862, 862, 862,
- 862, 862, 862, 862, 862, 862, 862, 862,
- 862, 862, 862, 862, 205, 205, 205, 205,
- 153, 643, 152, 205, 205, 205, 205, 781,
+ 859, 859, 859, 859, 859, 859, 859, 859,
+ 859, 859, 859, 859, 859, 859, 859, 859,
+ 859, 859, 859, 859, 205, 205, 205, 205,
+ 153, 641, 152, 205, 205, 205, 205, 779,
- 863, 864, 865, 866, 867, 867, 867, 867,
+ 860, 861, 862, 863, 864, 864, 864, 864,
205, 205, 205, 205, 205, 205, 205, 205,
- 868, 868, 868, 868, 868, 868, 868, 868,
- 869, 205, 205, 205, 205, 205, 205, 205,
+ 865, 865, 865, 865, 865, 865, 865, 865,
+ 866, 205, 205, 205, 205, 205, 205, 205,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -2854,19 +2854,19 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 160, 160, 160, 160, 160,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
481, 481, 481, 481, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -2887,67 +2887,67 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 160, 160,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 160,
- 160, 160, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 872, 873, 874,
- 874, 874, 871, 871, 871, 875, 872, 872,
- 872, 872, 872, 876, 876, 876, 876, 876,
- 876, 876, 876, 877, 877, 877, 877, 877,
- 877, 877, 877, 871, 871, 878, 878, 878,
- 878, 878, 877, 877, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 878, 878, 878, 878, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871,
- 871, 871, 871, 871, 871, 871, 160, 160,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 160,
+ 160, 160, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 869, 870, 871,
+ 871, 871, 868, 868, 868, 872, 869, 869,
+ 869, 869, 869, 873, 873, 873, 873, 873,
+ 873, 873, 873, 874, 874, 874, 874, 874,
+ 874, 874, 874, 868, 868, 875, 875, 875,
+ 875, 875, 874, 874, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 875, 875, 875, 875, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 868, 868, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -2998,169 +2998,169 @@ static const unsigned short uc_property_trie[] = {
239, 239, 239, 239, 239, 239, 239, 239,
239, 239, 239, 239, 239, 239, 239, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 881, 881,
- 881, 881, 881, 881, 881, 160, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 880, 160, 880, 880,
- 160, 160, 880, 160, 160, 880, 880, 160,
- 160, 880, 880, 880, 880, 160, 880, 880,
- 880, 880, 880, 880, 880, 880, 881, 881,
- 881, 881, 160, 881, 160, 881, 881, 881,
- 881, 102, 881, 881, 160, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
-
- 881, 881, 881, 881, 880, 880, 160, 880,
- 880, 880, 880, 160, 160, 880, 880, 880,
- 880, 880, 880, 880, 880, 160, 880, 880,
- 880, 880, 880, 880, 880, 160, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 160, 880, 880, 880, 880, 160,
- 880, 880, 880, 880, 880, 160, 880, 160,
- 160, 160, 880, 880, 880, 880, 880, 880,
- 880, 160, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 878, 878,
+ 878, 878, 878, 878, 878, 160, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 877, 160, 877, 877,
+ 160, 160, 877, 160, 160, 877, 877, 160,
+ 160, 877, 877, 877, 877, 160, 877, 877,
+ 877, 877, 877, 877, 877, 877, 878, 878,
+ 878, 878, 160, 878, 160, 878, 878, 878,
+ 878, 102, 878, 878, 160, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+
+ 878, 878, 878, 878, 877, 877, 160, 877,
+ 877, 877, 877, 160, 160, 877, 877, 877,
+ 877, 877, 877, 877, 877, 160, 877, 877,
+ 877, 877, 877, 877, 877, 160, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 160, 877, 877, 877, 877, 160,
+ 877, 877, 877, 877, 877, 160, 877, 160,
+ 160, 160, 877, 877, 877, 877, 877, 877,
+ 877, 160, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 103, 103, 160, 160,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 882, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 882, 881, 881, 881, 881,
- 881, 881, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 882, 881, 881, 881, 881,
-
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 882, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 882, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 882,
- 881, 881, 881, 881, 881, 881, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 882,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 882, 881, 881, 881, 881, 881, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 882, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 882, 881, 881, 881, 881,
- 881, 881, 883, 725, 160, 160, 884, 885,
- 886, 887, 888, 889, 890, 891, 892, 893,
- 884, 885, 886, 887, 888, 889, 890, 891,
- 892, 893, 884, 885, 886, 887, 888, 889,
- 890, 891, 892, 893, 884, 885, 886, 887,
- 888, 889, 890, 891, 892, 893, 884, 885,
- 886, 887, 888, 889, 890, 891, 892, 893,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 103, 103, 160, 160,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 879, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 879, 878, 878, 878, 878,
+ 878, 878, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 879, 878, 878, 878, 878,
+
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 879, 878, 878,
+ 878, 878, 878, 878, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 879, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 879,
+ 878, 878, 878, 878, 878, 878, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 879,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 879, 878, 878, 878, 878, 878, 878,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 877, 877, 877, 877, 877, 877, 877,
+ 877, 879, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878,
+ 878, 878, 878, 879, 878, 878, 878, 878,
+ 878, 878, 880, 723, 160, 160, 881, 882,
+ 883, 884, 885, 886, 887, 888, 889, 890,
+ 881, 882, 883, 884, 885, 886, 887, 888,
+ 889, 890, 881, 882, 883, 884, 885, 886,
+ 887, 888, 889, 890, 881, 882, 883, 884,
+ 885, 886, 887, 888, 889, 890, 881, 882,
+ 883, 884, 885, 886, 887, 888, 889, 890,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -3182,78 +3182,78 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 894, 894,
+ 160, 160, 160, 160, 160, 160, 891, 891,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 160,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 160, 160,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 892, 892,
+ 892, 892, 892, 892, 892, 892, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -3283,22 +3283,22 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 160, 876, 160, 160, 160, 160, 160, 160,
+ 160, 873, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 876, 876, 876, 876, 876,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
@@ -3349,71 +3349,71 @@ static const unsigned short uc_property_trie[] = {
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
-
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 896, 896, 894, 894,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 891, 891,
};
#define GET_PROP_INDEX(ucs4) \
@@ -3424,904 +3424,901 @@ static const unsigned short uc_property_trie[] = {
#define GET_PROP_INDEX_UCS2(ucs2) \
(uc_property_trie[uc_property_trie[ucs2>>5] + (ucs2 & 0x1f)])
-static const QUnicodeTables::Properties uc_properties [] = {
- { 10, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0},
- { 10, 15, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3},
- { 10, 30, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1},
- { 10, 31, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3},
- { 10, 31, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3},
- { 10, 29, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
- { 10, 19, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0},
- { 10, 19, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0},
- { 7, 28, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 26, 5, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 26, 11, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 8, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10},
- { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 27, 8, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 21, 14, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8},
- { 26, 6, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 10, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0},
- { 26, 7, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 3, 5},
- { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 10},
- { 26, 8, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 10},
- { 29, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 20, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -32, -32, 0, 0, 3, 4},
- { 27, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 10, 11, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1},
- { 7, 3, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 28, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 10},
- { 11, 15, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 30, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 8, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 29, 16, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 743, 743, 775, 0, 3, 4},
- { 26, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0},
- { 6, 11, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 10},
- { 6, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 121, 121, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -232, -232, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 91, 88, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -121, 0, 0, -121, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -300, -300, -268, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 195, 195, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 210, 0, 0, 210, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 206, 0, 0, 206, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 205, 0, 0, 205, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 79, 0, 0, 79, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 202, 0, 0, 202, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 203, 0, 0, 203, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 207, 0, 0, 207, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 97, 97, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 211, 0, 0, 211, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 209, 0, 0, 209, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 163, 163, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 213, 0, 0, 213, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 130, 130, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 214, 0, 0, 214, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 218, 0, 0, 218, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 217, 0, 0, 217, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 219, 0, 0, 219, 0, 3, 5},
- { 19, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 2, 0, 1, 2, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -79, -79, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 113, 110, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, -97, 0, 0, -97, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, -56, 0, 0, -56, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, -130, 0, 0, -130, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 10795, 0, 0, 10795, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, -163, 0, 0, -163, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 10792, 0, 0, 10792, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -195, 0, 0, -195, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 69, 0, 0, 69, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 71, 0, 0, 71, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -210, -210, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -206, -206, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -205, -205, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -202, -202, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -203, -203, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -207, -207, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -209, -209, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -211, -211, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 10743, 10743, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -213, -213, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -214, -214, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 10727, 10727, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -218, -218, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -69, -69, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -217, -217, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -71, -71, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -219, -219, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 18, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 18, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 18, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 18, 16, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 29, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 29, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 230, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 232, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 216, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 202, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 240, 0, -1, 1, 0, 0, 0, 0, 0, 0, 84, 84, 116, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 232, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 233, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 234, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 233, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 234, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 3, 17, 233, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 0, 11, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 130, 130, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 38, 0, 0, 38, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 37, 0, 0, 37, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 64, 0, 0, 64, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 63, 0, 0, 63, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 98, 94, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -38, -38, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -37, -37, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 106, 102, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -31, -31, 1, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -64, -64, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -63, -63, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -62, -62, -30, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -57, -57, -25, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -47, -47, -15, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -54, -54, -22, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -86, -86, -54, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -80, -80, -48, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, -60, 0, 0, -60, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, -96, -96, -64, 0, 3, 4},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, -7, 0, 0, -7, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, -130, 0, 0, -130, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4},
- { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 19, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 15, 0, 0, 15, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -15, -15, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 48, 0, 0, 48, 0, 3, 5},
- { 26, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -48, -48, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 55, 52, 0, 0, 3, 4},
- { 26, 7, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9},
- { 21, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 0, 11, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 220, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 222, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 228, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 10, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 11, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 12, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 13, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 14, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 15, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 16, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 17, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 18, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 19, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 19, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 20, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 21, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 22, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 15, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 23, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 24, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 25, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 5, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 18, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 19, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0},
- { 11, 11, 13, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 0, 11, 13, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 9, 13, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 7, 13, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 30, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 13, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 19, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 18, 11, 13, 0, 3, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 27, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 28, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 29, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 30, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 31, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 32, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 33, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 34, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 4, 10, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 5, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 5, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 10, 5, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 11, 13, 0, 1, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 35, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 19, 11, 13, 0, 1, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 2, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 11, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 3, 19, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 18, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 2, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 11, 13, 0, 1, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 26, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 11, 11, 18, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 1, 19, 17, 36, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 19, 11, 13, 0, 1, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 2, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 19, 11, 13, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 4, 10, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 3, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 5, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 1, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 19, 11, 1, 0, 1, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 230, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 18, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 7, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 26, 5, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 18, 11, 1, 0, 3, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 7, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 9, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 15, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 4, 10, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 19, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 2, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 6, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 28, 8, 4, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 10, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 1, 19, 17, 84, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 91, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 7, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 9, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 26, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 1, 26, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 26, 17, 103, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 26, 17, 9, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 18, 26, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 1, 26, 17, 107, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 15, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 26, 17, 118, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 26, 17, 122, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 19, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 16, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 16, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 3, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 5, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 10, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 6, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 216, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 22, 0, 10, 0, 0, -1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 2, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 2, 19, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 129, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 130, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 132, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 9, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 30, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 16, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 2, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 1, 26, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 26, 17, 7, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 26, 17, 9, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 4, 10, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 7264, 0, 0, 7264, 0, 3, 5},
- { 19, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 18, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 23, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 6},
- { 19, 24, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 6},
- { 19, 25, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 6},
- { 30, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 6, 11, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 7, 15, 9, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 22, 0, 10, 0, 0, -1, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 4, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 5, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 9, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 15, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 11, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 26, 4, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 28, 8, 4, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 26, 17, 230, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 6, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 21, 16, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 7, 3, 9, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 1, 19, 17, 228, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 17, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 222, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 5, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 4, 10, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 19, 26, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 19, 26, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 2, 26, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 4, 10, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 26, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 2, 19, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 26, 15, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 2, 19, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 7, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 9, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 10, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 3, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 5, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 26, 15, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 15, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 18, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 3814, 3814, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 119, 116, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 125, 122, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 131, 128, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 137, 134, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 143, 140, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, -59, -59, -58, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8, 0, 0, -8, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 149, 146, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 156, 152, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 164, 160, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 172, 168, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 74, 74, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 100, 100, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 112, 112, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 126, 126, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 244, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 247, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 250, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 253, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 256, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 259, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 262, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 265, 8, 0, 0, 3, 4},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 244, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 247, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 250, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 253, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 256, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 259, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 262, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 268, 0, -8, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 271, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 274, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 277, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 280, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 283, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 286, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 289, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 292, 8, 0, 0, 3, 4},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 271, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 274, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 277, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 280, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 283, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 286, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 289, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 295, 0, -8, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 298, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 301, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 304, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 307, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 310, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 313, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 316, 8, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 319, 8, 0, 0, 3, 4},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 298, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 301, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 304, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 307, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 310, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 313, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 316, 0, -8, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 322, 0, -8, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 346, 343, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 325, 9, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 352, 349, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 179, 176, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 383, 379, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -74, 0, 0, -74, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 328, 0, -9, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -7205, -7205, -7173, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 358, 355, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 331, 9, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 364, 361, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 185, 182, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 391, 387, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -86, 0, 0, -86, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 334, 0, -9, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 192, 188, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 94, 94, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 199, 196, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 206, 202, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -100, 0, 0, -100, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 214, 210, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 102, 102, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 221, 218, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 227, 224, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 234, 230, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -112, 0, 0, -112, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -7, 0, 0, -7, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 370, 367, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 337, 9, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 376, 373, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 241, 238, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 399, 395, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -128, 0, 0, -128, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -126, 0, 0, -126, 0, 3, 5},
- { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 340, 0, -9, 0, 3, 5},
- { 7, 15, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 7, 3, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 11, 18, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 11, 19, 18, 0, 3, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 11, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 21, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 21, 3, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 21, 17, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 21, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 4, 10},
- { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 26, 13, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0},
- { 8, 31, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1},
- { 9, 31, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1},
- { 11, 19, 11, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 14, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 16, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 12, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 15, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 7, 3, 6, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 26, 9, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 27, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 26, 4, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 4, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 20, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0},
- { 26, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 7, 15, 9, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 11, 20, 18, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 11, 18, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 11, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 6, 11, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 6, 11, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 8, 4, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 8, 4, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 8, 4, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 8, 4, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 19, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 1, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 220, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 1, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 30, 9, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 8, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -7517, 0, 0, -7517, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8383, 0, 0, -8383, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8262, 0, 0, -8262, 0, 3, 5},
- { 30, 11, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 28, 0, 0, 28, 0, 3, 5},
- { 30, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5},
- { 30, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -28, -28, 0, 0, 3, 4},
- { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 16, 0, 0, 16, 0, 3, 5},
- { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -16, -16, 0, 0, 3, 4},
- { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2016, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1824, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2104, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2108, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 26, 0, 0, 26, 0, 3, 5},
- { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -26, -26, 0, 0, 3, 4},
- { 6, 11, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 10, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 30, 5, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0},
- { 22, 0, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0},
- { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 10},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1824, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2016, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2104, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2106, 0, 0, 0, 0, 0, 0, 0},
- { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2108, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 48, 0, 0, 48, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -48, -48, 0, 0, 3, 4},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -10743, 0, 0, -10743, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -3814, 0, 0, -3814, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -10727, 0, 0, -10727, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -10795, -10795, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -10792, -10792, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 6, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -7264, -7264, 0, 0, 3, 4},
- { 26, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 24, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10},
- { 25, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10},
- { 21, 15, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 12, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 7, 12, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3},
- { 26, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 5, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 21, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 1, 19, 17, 218, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 228, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 222, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 224, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 21, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 5, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 18, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 26, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 1, 19, 17, 8, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 29, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0},
- { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 21, 4, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0},
- { 19, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 26, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 12, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 30, 12, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 19, 12, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 18, 4, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 29, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 18, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 29, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 2, 19, 17, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 9, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 26, 16, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 21, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 3, 6},
- { 19, 22, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 3, 6},
- { 12, 27, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 13, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 12, 9, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 18, 15, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 24, 21, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 31, 27, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 39, 35, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 46, 43, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 49, 43, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 61, 58, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 67, 64, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 73, 70, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 79, 76, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 85, 82, 0, 0, 3, 4},
- { 19, 11, 1, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 1, 19, 17, 26, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 0, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 28, 9, 13, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 7, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0},
- { 26, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 5, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 22, 0, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 26, 13, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 20, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0},
- { 22, 0, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 23, 1, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
- { 26, 1, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 1, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
- { 26, 4, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 12, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 21, 12, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 11, 20, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 26, 12, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 12, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},
- { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0},
- { 15, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 3, 5},
- { 29, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 16, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -32, -32, 0, 0, 3, 4},
- { 19, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6},
- { 11, 19, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 30, 11, 10, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 0, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 15, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 30, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 5, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 6, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 5, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 5, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 40, 0, 0, 40, 0, 3, 5},
- { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 40, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, -40, -40, 0, 0, 3, 4},
- { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, -40, -40, 0, 0, 3, 4},
- { 19, 11, 1, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 19, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 6, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 6, 11, 1, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 1, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 1, 0, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 1, 0, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 6, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 15, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 26, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 5, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6},
- { 30, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 2, 19, 0, 216, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 216, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 1, 19, 17, 1, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 2, 19, 0, 226, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 11, 19, 18, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2},
- { 1, 19, 17, 220, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 1, 19, 17, 230, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
- { 6, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5},
- { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4},
- { 27, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5},
- { 4, 10, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 7, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 4, 10, 2, 0, 0, 9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7},
- { 0, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 19, 12, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6},
- { 13, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+static const QUnicodeTables::Properties uc_properties[] = {
+ { 10, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 },
+ { 10, 15, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3 },
+ { 10, 30, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1 },
+ { 10, 31, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3 },
+ { 10, 31, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3 },
+ { 10, 29, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
+ { 10, 19, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 },
+ { 10, 19, 8, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 },
+ { 7, 28, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 26, 5, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 26, 11, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 8, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10 },
+ { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 27, 8, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 21, 14, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8 },
+ { 26, 6, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 10, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0 },
+ { 26, 7, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 3, 5 },
+ { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 10 },
+ { 26, 8, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 10 },
+ { 29, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 20, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -32, -32, 0, 0, 3, 4 },
+ { 27, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 10, 11, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1 },
+ { 7, 3, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 28, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 10 },
+ { 11, 15, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 30, 9, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 8, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 29, 16, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 743, 743, 775, 0, 3, 4 },
+ { 26, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0 },
+ { 6, 11, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 10 },
+ { 6, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 121, 121, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -232, -232, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 85, 85, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -121, 0, 0, -121, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -300, -300, -268, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 195, 195, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 210, 0, 0, 210, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 206, 0, 0, 206, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 205, 0, 0, 205, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 79, 0, 0, 79, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 202, 0, 0, 202, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 203, 0, 0, 203, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 207, 0, 0, 207, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 97, 97, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 211, 0, 0, 211, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 209, 0, 0, 209, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 163, 163, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 213, 0, 0, 213, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 130, 130, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 214, 0, 0, 214, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 218, 0, 0, 218, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 217, 0, 0, 217, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 219, 0, 0, 219, 0, 3, 5 },
+ { 19, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 2, 0, 1, 2, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -79, -79, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 96, 96, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, -97, 0, 0, -97, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, -56, 0, 0, -56, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, -130, 0, 0, -130, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 10795, 0, 0, 10795, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, -163, 0, 0, -163, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 10792, 0, 0, 10792, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -195, 0, 0, -195, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 69, 0, 0, 69, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 71, 0, 0, 71, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -210, -210, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -206, -206, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -205, -205, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -202, -202, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -203, -203, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -207, -207, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -209, -209, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -211, -211, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 10743, 10743, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -213, -213, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -214, -214, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 10727, 10727, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -218, -218, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -69, -69, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -217, -217, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -71, -71, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -219, -219, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 18, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 18, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 18, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 18, 16, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 29, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 29, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 230, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 232, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 216, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 202, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 240, 0, -1, 1, 0, 0, 0, 0, 0, 0, 84, 84, 116, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 232, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 233, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 234, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 233, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 234, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 3, 17, 233, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 14, 11, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 130, 130, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 38, 0, 0, 38, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 37, 0, 0, 37, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 64, 0, 0, 64, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 63, 0, 0, 63, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 88, 88, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -38, -38, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -37, -37, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 92, 92, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -31, -31, 1, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -64, -64, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -63, -63, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -62, -62, -30, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -57, -57, -25, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -47, -47, -15, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -54, -54, -22, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -86, -86, -54, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -80, -80, -48, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, -60, 0, 0, -60, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, -96, -96, -64, 0, 3, 4 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, -7, 0, 0, -7, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, -130, 0, 0, -130, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4 },
+ { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 3, 19, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 15, 0, 0, 15, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -15, -15, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 48, 0, 0, 48, 0, 3, 5 },
+ { 26, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -48, -48, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 52, 49, 0, 0, 3, 4 },
+ { 26, 7, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9 },
+ { 21, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 14, 11, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 220, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 222, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 228, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 10, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 11, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 12, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 13, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 14, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 15, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 16, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 17, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 18, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 19, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 19, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 20, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 21, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 22, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 15, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 23, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 24, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 25, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 5, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 18, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 19, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 26, 11, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0 },
+ { 11, 11, 13, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 14, 11, 13, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 9, 13, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 7, 13, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 30, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 13, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 19, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 18, 11, 13, 0, 3, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 27, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 28, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 29, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 30, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 31, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 32, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 33, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 34, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 4, 10, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 5, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 5, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 10, 5, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 11, 13, 0, 1, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 35, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 19, 11, 13, 0, 1, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 2, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 11, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 3, 19, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 18, 11, 13, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 2, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 11, 13, 0, 1, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 26, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 11, 11, 18, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 1, 19, 17, 36, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 19, 11, 13, 0, 1, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 2, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 13, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 19, 11, 13, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 4, 10, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 3, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 5, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 1, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 19, 11, 1, 0, 1, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 230, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 18, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 7, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 26, 5, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 18, 11, 1, 0, 3, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 7, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 9, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 15, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 4, 10, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 19, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 2, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 6, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 28, 8, 4, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 10, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 1, 19, 17, 84, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 91, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 7, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 9, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 26, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 1, 26, 17, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 26, 17, 103, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 26, 17, 9, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 18, 26, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 1, 26, 17, 107, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 15, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 26, 17, 118, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 26, 17, 122, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 19, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 16, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 16, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 3, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 5, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 10, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 6, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 216, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 22, 0, 10, 0, 0, -1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 2, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 2, 19, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 129, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 130, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 132, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 15, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 9, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 30, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 16, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 2, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 1, 26, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 26, 17, 7, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 26, 17, 9, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 4, 10, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 7264, 0, 0, 7264, 0, 3, 5 },
+ { 19, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 18, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 23, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 6 },
+ { 19, 24, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 6 },
+ { 19, 25, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 6 },
+ { 30, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 6, 11, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 7, 15, 9, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 22, 0, 10, 0, 0, -1, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 4, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 5, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 9, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 15, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 11, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 26, 4, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 26, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 28, 8, 4, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 26, 17, 230, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 6, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 21, 16, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 7, 3, 9, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 1, 19, 17, 228, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 17, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 222, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 5, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 4, 10, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 19, 26, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 19, 26, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 2, 26, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 4, 10, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 26, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 2, 19, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 26, 15, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 2, 19, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 7, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 9, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 10, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 3, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 5, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 26, 15, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 15, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 18, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 3814, 3814, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 99, 99, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 102, 102, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 105, 105, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 108, 108, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 111, 111, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, -59, -59, -58, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8, 0, 0, -8, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 114, 114, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 117, 117, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 121, 121, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 125, 125, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 74, 74, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 100, 100, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 112, 112, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 126, 126, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 163, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 166, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 169, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 172, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 175, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 178, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 181, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 184, 8, 0, 0, 3, 4 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 163, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 166, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 169, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 172, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 175, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 178, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 181, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 184, 0, -8, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 187, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 190, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 193, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 196, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 199, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 202, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 205, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 208, 8, 0, 0, 3, 4 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 187, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 190, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 193, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 196, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 199, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 202, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 205, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 208, 0, -8, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 211, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 214, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 217, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 220, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 223, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 226, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 229, 8, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 232, 8, 0, 0, 3, 4 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 211, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 214, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 217, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 220, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 223, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 226, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 229, 0, -8, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -8, 232, 0, -8, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 247, 244, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 235, 9, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 253, 250, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 129, 129, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 284, 280, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -74, 0, 0, -74, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 235, 0, -9, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -7205, -7205, -7173, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 259, 256, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 238, 9, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 265, 262, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 132, 132, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 292, 288, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -86, 0, 0, -86, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 238, 0, -9, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 135, 135, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 139, 139, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 142, 142, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -100, 0, 0, -100, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 146, 146, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 150, 150, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 153, 153, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 156, 156, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -112, 0, 0, -112, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -7, 0, 0, -7, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 271, 268, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 0, 241, 9, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 277, 274, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 160, 160, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 300, 296, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -128, 0, 0, -128, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -126, 0, 0, -126, 0, 3, 5 },
+ { 17, 11, 0, 0, 0, -1, 1, 0, 1, 0, 0, 0, -9, 241, 0, -9, 0, 3, 5 },
+ { 7, 15, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 7, 3, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 11, 18, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 11, 19, 18, 0, 3, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 11, 19, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 21, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 21, 3, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 21, 17, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 21, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 4, 10 },
+ { 22, 0, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 24, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 25, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 26, 13, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0 },
+ { 8, 31, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1 },
+ { 9, 31, 7, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1 },
+ { 11, 19, 11, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 14, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 16, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 12, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 15, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 7, 3, 6, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 26, 9, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 27, 7, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 26, 4, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 4, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 20, 11, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0 },
+ { 26, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 7, 15, 9, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 11, 20, 18, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 11, 18, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 11, 19, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 6, 11, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 6, 11, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 8, 4, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 8, 4, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 8, 4, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 8, 4, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 3, 19, 17, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 1, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 220, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 1, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 30, 9, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 8, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -7517, 0, 0, -7517, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8383, 0, 0, -8383, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, -8262, 0, 0, -8262, 0, 3, 5 },
+ { 30, 11, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 28, 0, 0, 28, 0, 3, 5 },
+ { 30, 11, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5 },
+ { 30, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -28, -28, 0, 0, 3, 4 },
+ { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 16, 0, 0, 16, 0, 3, 5 },
+ { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -16, -16, 0, 0, 3, 4 },
+ { 5, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2016, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1824, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2104, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2108, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 1, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 26, 0, 0, 26, 0, 3, 5 },
+ { 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -26, -26, 0, 0, 3, 4 },
+ { 6, 11, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 10, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 2, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 30, 5, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
+ { 22, 0, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
+ { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 22, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 6, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 10 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -1824, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2016, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2104, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2106, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 11, 10, 0, 0, -1, 6, 0, 0, 0, 0, -2108, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 48, 0, 0, 48, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -48, -48, 0, 0, 3, 4 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -10743, 0, 0, -10743, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -3814, 0, 0, -3814, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, -10727, 0, 0, -10727, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -10795, -10795, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, -10792, -10792, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 6, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, -7264, -7264, 0, 0, 3, 4 },
+ { 26, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 24, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10 },
+ { 25, 2, 10, 0, 0, -1, 8, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 10 },
+ { 21, 15, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 12, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 7, 12, 9, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 },
+ { 26, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 5, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 21, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 23, 1, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 1, 19, 17, 218, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 228, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 222, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 224, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 21, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 5, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 18, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 26, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 1, 19, 17, 8, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 29, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0 },
+ { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 21, 4, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0 },
+ { 19, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 26, 4, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 4, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 19, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 12, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 4, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 30, 12, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 12, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 19, 12, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 18, 4, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 12, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 29, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 18, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 29, 11, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 2, 19, 17, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 9, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 26, 16, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 21, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 3, 6 },
+ { 19, 22, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 3, 6 },
+ { 12, 27, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 13, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 12, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 12, 9, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 18, 15, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 24, 21, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 31, 27, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 39, 35, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 46, 43, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 58, 55, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 64, 61, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 70, 67, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 76, 73, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 1, 0, 1, 1, 0, 0, 0, 82, 79, 0, 0, 3, 4 },
+ { 19, 11, 1, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 1, 19, 17, 26, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 14, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 28, 9, 13, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 7, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0 },
+ { 26, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 5, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 22, 0, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 26, 13, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 20, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0 },
+ { 22, 0, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 23, 1, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 },
+ { 26, 1, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 1, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 },
+ { 26, 4, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 12, 4, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 21, 12, 3, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 11, 20, 18, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 26, 12, 6, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 4, 12, 2, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 },
+ { 27, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 3, 5 },
+ { 29, 12, 10, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 16, 12, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -32, -32, 0, 0, 3, 4 },
+ { 19, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 },
+ { 11, 19, 10, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 30, 11, 10, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 14, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 15, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 30, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 5, 11, 10, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 6, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 5, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 5, 11, 0, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 40, 0, 0, 40, 0, 3, 5 },
+ { 15, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 40, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, -40, -40, 0, 0, 3, 4 },
+ { 16, 11, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, -40, -40, 0, 0, 3, 4 },
+ { 19, 11, 1, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 19, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 6, 11, 1, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 10, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 6, 11, 1, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 1, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 1, 0, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 1, 0, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 6, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 15, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 26, 11, 1, 0, 0, -1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 5, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6 },
+ { 30, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 2, 19, 0, 216, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 216, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 1, 19, 17, 1, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 2, 19, 0, 226, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 11, 19, 18, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2 },
+ { 1, 19, 17, 220, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 1, 19, 17, 230, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0 },
+ { 6, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5 },
+ { 16, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4 },
+ { 27, 11, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 15, 11, 0, 0, 0, -1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5 },
+ { 4, 10, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 7, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 4, 10, 2, 0, 0, 9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7 },
+ { 14, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 19, 12, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
+ { 13, 11, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};
static inline const QUnicodeTables::Properties *qGetProp(uint ucs4)
@@ -4348,35 +4345,103 @@ Q_CORE_EXPORT const QUnicodeTables::Properties * QT_FASTCALL QUnicodeTables::pro
return uc_properties + index;
}
-#define CURRENT_VERSION QChar::Unicode_5_0
-
-static const ushort specialCaseMap [] = {
- 0x53, 0x73, 0x0, 0x53, 0x53, 0x0, 0x69, 0x307, 0x0, 0x46, 0x66, 0x0, 0x46, 0x46, 0x0, 0x46,
- 0x69, 0x0, 0x46, 0x49, 0x0, 0x46, 0x6c, 0x0, 0x46, 0x4c, 0x0, 0x46, 0x66, 0x69, 0x0, 0x46,
- 0x46, 0x49, 0x0, 0x46, 0x66, 0x6c, 0x0, 0x46, 0x46, 0x4c, 0x0, 0x53, 0x74, 0x0, 0x53, 0x54,
- 0x0, 0x53, 0x54, 0x0, 0x535, 0x582, 0x0, 0x535, 0x552, 0x0, 0x544, 0x576, 0x0, 0x544, 0x546, 0x0,
- 0x544, 0x565, 0x0, 0x544, 0x535, 0x0, 0x544, 0x56b, 0x0, 0x544, 0x53b, 0x0, 0x54e, 0x576, 0x0, 0x54e,
- 0x546, 0x0, 0x544, 0x56d, 0x0, 0x544, 0x53d, 0x0, 0x2bc, 0x4e, 0x0, 0x2bc, 0x4e, 0x0, 0x399, 0x308,
- 0x301, 0x0, 0x399, 0x308, 0x301, 0x0, 0x3a5, 0x308, 0x301, 0x0, 0x3a5, 0x308, 0x301, 0x0, 0x4a, 0x30c,
- 0x0, 0x4a, 0x30c, 0x0, 0x48, 0x331, 0x0, 0x48, 0x331, 0x0, 0x54, 0x308, 0x0, 0x54, 0x308, 0x0,
- 0x57, 0x30a, 0x0, 0x57, 0x30a, 0x0, 0x59, 0x30a, 0x0, 0x59, 0x30a, 0x0, 0x41, 0x2be, 0x0, 0x41,
- 0x2be, 0x0, 0x3a5, 0x313, 0x0, 0x3a5, 0x313, 0x0, 0x3a5, 0x313, 0x300, 0x0, 0x3a5, 0x313, 0x300, 0x0,
- 0x3a5, 0x313, 0x301, 0x0, 0x3a5, 0x313, 0x301, 0x0, 0x3a5, 0x313, 0x342, 0x0, 0x3a5, 0x313, 0x342, 0x0,
- 0x391, 0x342, 0x0, 0x391, 0x342, 0x0, 0x397, 0x342, 0x0, 0x397, 0x342, 0x0, 0x399, 0x308, 0x300, 0x0,
- 0x399, 0x308, 0x300, 0x0, 0x399, 0x342, 0x0, 0x399, 0x342, 0x0, 0x399, 0x308, 0x342, 0x0, 0x399, 0x308,
- 0x342, 0x0, 0x3a5, 0x308, 0x300, 0x0, 0x3a5, 0x308, 0x300, 0x0, 0x3a1, 0x313, 0x0, 0x3a1, 0x313, 0x0,
- 0x3a5, 0x342, 0x0, 0x3a5, 0x342, 0x0, 0x3a5, 0x308, 0x342, 0x0, 0x3a5, 0x308, 0x342, 0x0, 0x3a9, 0x342,
- 0x0, 0x3a9, 0x342, 0x0, 0x1f08, 0x399, 0x0, 0x1f09, 0x399, 0x0, 0x1f0a, 0x399, 0x0, 0x1f0b, 0x399, 0x0,
- 0x1f0c, 0x399, 0x0, 0x1f0d, 0x399, 0x0, 0x1f0e, 0x399, 0x0, 0x1f0f, 0x399, 0x0, 0x1f0f, 0x399, 0x0, 0x1f28,
- 0x399, 0x0, 0x1f29, 0x399, 0x0, 0x1f2a, 0x399, 0x0, 0x1f2b, 0x399, 0x0, 0x1f2c, 0x399, 0x0, 0x1f2d, 0x399,
- 0x0, 0x1f2e, 0x399, 0x0, 0x1f2f, 0x399, 0x0, 0x1f2f, 0x399, 0x0, 0x1f68, 0x399, 0x0, 0x1f69, 0x399, 0x0,
- 0x1f6a, 0x399, 0x0, 0x1f6b, 0x399, 0x0, 0x1f6c, 0x399, 0x0, 0x1f6d, 0x399, 0x0, 0x1f6e, 0x399, 0x0, 0x1f6f,
- 0x399, 0x0, 0x1f6f, 0x399, 0x0, 0x391, 0x399, 0x0, 0x391, 0x399, 0x0, 0x397, 0x399, 0x0, 0x397, 0x399,
- 0x0, 0x3a9, 0x399, 0x0, 0x3a9, 0x399, 0x0, 0x1fba, 0x345, 0x0, 0x1fba, 0x399, 0x0, 0x386, 0x345, 0x0,
- 0x386, 0x399, 0x0, 0x1fca, 0x345, 0x0, 0x1fca, 0x399, 0x0, 0x389, 0x345, 0x0, 0x389, 0x399, 0x0, 0x1ffa,
- 0x345, 0x0, 0x1ffa, 0x399, 0x0, 0x38f, 0x345, 0x0, 0x38f, 0x399, 0x0, 0x391, 0x342, 0x345, 0x0, 0x391,
- 0x342, 0x399, 0x0, 0x397, 0x342, 0x345, 0x0, 0x397, 0x342, 0x399, 0x0, 0x3a9, 0x342, 0x345, 0x0, 0x3a9,
- 0x342, 0x399, 0x0
+static const ushort specialCaseMap[] = {
+ 0x53, 0x73, 0x0,
+ 0x53, 0x53, 0x0,
+ 0x69, 0x307, 0x0,
+ 0x46, 0x66, 0x0,
+ 0x46, 0x46, 0x0,
+ 0x46, 0x69, 0x0,
+ 0x46, 0x49, 0x0,
+ 0x46, 0x6c, 0x0,
+ 0x46, 0x4c, 0x0,
+ 0x46, 0x66, 0x69, 0x0,
+ 0x46, 0x46, 0x49, 0x0,
+ 0x46, 0x66, 0x6c, 0x0,
+ 0x46, 0x46, 0x4c, 0x0,
+ 0x53, 0x74, 0x0,
+ 0x53, 0x54, 0x0,
+ 0x535, 0x582, 0x0,
+ 0x535, 0x552, 0x0,
+ 0x544, 0x576, 0x0,
+ 0x544, 0x546, 0x0,
+ 0x544, 0x565, 0x0,
+ 0x544, 0x535, 0x0,
+ 0x544, 0x56b, 0x0,
+ 0x544, 0x53b, 0x0,
+ 0x54e, 0x576, 0x0,
+ 0x54e, 0x546, 0x0,
+ 0x544, 0x56d, 0x0,
+ 0x544, 0x53d, 0x0,
+ 0x2bc, 0x4e, 0x0,
+ 0x399, 0x308, 0x301, 0x0,
+ 0x3a5, 0x308, 0x301, 0x0,
+ 0x4a, 0x30c, 0x0,
+ 0x48, 0x331, 0x0,
+ 0x54, 0x308, 0x0,
+ 0x57, 0x30a, 0x0,
+ 0x59, 0x30a, 0x0,
+ 0x41, 0x2be, 0x0,
+ 0x3a5, 0x313, 0x0,
+ 0x3a5, 0x313, 0x300, 0x0,
+ 0x3a5, 0x313, 0x301, 0x0,
+ 0x3a5, 0x313, 0x342, 0x0,
+ 0x391, 0x342, 0x0,
+ 0x397, 0x342, 0x0,
+ 0x399, 0x308, 0x300, 0x0,
+ 0x399, 0x342, 0x0,
+ 0x399, 0x308, 0x342, 0x0,
+ 0x3a5, 0x308, 0x300, 0x0,
+ 0x3a1, 0x313, 0x0,
+ 0x3a5, 0x342, 0x0,
+ 0x3a5, 0x308, 0x342, 0x0,
+ 0x3a9, 0x342, 0x0,
+ 0x1f08, 0x399, 0x0,
+ 0x1f09, 0x399, 0x0,
+ 0x1f0a, 0x399, 0x0,
+ 0x1f0b, 0x399, 0x0,
+ 0x1f0c, 0x399, 0x0,
+ 0x1f0d, 0x399, 0x0,
+ 0x1f0e, 0x399, 0x0,
+ 0x1f0f, 0x399, 0x0,
+ 0x1f28, 0x399, 0x0,
+ 0x1f29, 0x399, 0x0,
+ 0x1f2a, 0x399, 0x0,
+ 0x1f2b, 0x399, 0x0,
+ 0x1f2c, 0x399, 0x0,
+ 0x1f2d, 0x399, 0x0,
+ 0x1f2e, 0x399, 0x0,
+ 0x1f2f, 0x399, 0x0,
+ 0x1f68, 0x399, 0x0,
+ 0x1f69, 0x399, 0x0,
+ 0x1f6a, 0x399, 0x0,
+ 0x1f6b, 0x399, 0x0,
+ 0x1f6c, 0x399, 0x0,
+ 0x1f6d, 0x399, 0x0,
+ 0x1f6e, 0x399, 0x0,
+ 0x1f6f, 0x399, 0x0,
+ 0x391, 0x399, 0x0,
+ 0x397, 0x399, 0x0,
+ 0x3a9, 0x399, 0x0,
+ 0x1fba, 0x345, 0x0,
+ 0x1fba, 0x399, 0x0,
+ 0x386, 0x345, 0x0,
+ 0x386, 0x399, 0x0,
+ 0x1fca, 0x345, 0x0,
+ 0x1fca, 0x399, 0x0,
+ 0x389, 0x345, 0x0,
+ 0x389, 0x399, 0x0,
+ 0x1ffa, 0x345, 0x0,
+ 0x1ffa, 0x399, 0x0,
+ 0x38f, 0x345, 0x0,
+ 0x38f, 0x399, 0x0,
+ 0x391, 0x342, 0x345, 0x0,
+ 0x391, 0x342, 0x399, 0x0,
+ 0x397, 0x342, 0x345, 0x0,
+ 0x397, 0x342, 0x399, 0x0,
+ 0x3a9, 0x342, 0x345, 0x0,
+ 0x3a9, 0x342, 0x399, 0x0
+
};
#define SPECIAL_CASE_MAX_LEN 3
@@ -7700,7 +7765,7 @@ static const unsigned short uc_ligature_trie[] = {
#define GET_LIGATURE_INDEX(u2) (u2 < 0x3100 ? uc_ligature_trie[uc_ligature_trie[u2>>5] + (u2 & 0x1f)] : 0xffff);
-static const unsigned short uc_ligature_map [] = {
+static const unsigned short uc_ligature_map[] = {
0x54, 0x41, 0xc0, 0x45, 0xc8, 0x49, 0xcc, 0x4e,
0x1f8, 0x4f, 0xd2, 0x55, 0xd9, 0x57, 0x1e80, 0x59,
@@ -9401,5 +9466,4 @@ static const unsigned char uc_scripts[] = {
} // namespace QUnicodeTables
-
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qunicodetables_p.h b/src/corelib/tools/qunicodetables_p.h
index 9b0b7cfa99..5c7cc08e1f 100644
--- a/src/corelib/tools/qunicodetables_p.h
+++ b/src/corelib/tools/qunicodetables_p.h
@@ -59,33 +59,37 @@
QT_BEGIN_NAMESPACE
+#define UNICODE_DATA_VERSION QChar::Unicode_5_0
+
+#define UNICODE_LAST_CODEPOINT 0x10ffff
+
namespace QUnicodeTables {
+
struct Properties {
- ushort category : 8;
- ushort line_break_class : 8;
- ushort direction : 8;
- ushort combiningClass :8;
- ushort joining : 2;
+ ushort category : 8; /* 5 needed */
+ ushort line_break_class : 8; /* 6 needed */
+ ushort direction : 8; /* 5 needed */
+ ushort combiningClass : 8;
+ ushort joining : 2;
signed short digitValue : 6; /* 5 needed */
- ushort unicodeVersion : 4;
+ ushort unicodeVersion : 4;
ushort lowerCaseSpecial : 1;
ushort upperCaseSpecial : 1;
ushort titleCaseSpecial : 1;
- ushort caseFoldSpecial : 1; /* currently unused */
- signed short mirrorDiff : 16;
+ ushort caseFoldSpecial : 1; /* currently unused */
+ signed short mirrorDiff : 16;
signed short lowerCaseDiff : 16;
signed short upperCaseDiff : 16;
signed short titleCaseDiff : 16;
- signed short caseFoldDiff : 16;
- ushort graphemeBreak : 8;
- ushort wordBreak : 8;
- ushort sentenceBreak : 8;
+ signed short caseFoldDiff : 16;
+ ushort graphemeBreak : 8; /* 4 needed */
+ ushort wordBreak : 8; /* 4 needed */
+ ushort sentenceBreak : 8; /* 4 needed */
};
Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);
Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);
// See http://www.unicode.org/reports/tr24/tr24-5.html
-
enum Script {
Common,
Greek,
@@ -172,19 +176,8 @@ namespace QUnicodeTables {
};
- Q_CORE_EXPORT QUnicodeTables::LineBreakClass QT_FASTCALL lineBreakClass(uint ucs4);
- inline int lineBreakClass(const QChar &ch) {
- return QUnicodeTables::lineBreakClass(ch.unicode());
- }
-
- Q_CORE_EXPORT int QT_FASTCALL script(uint ucs4);
- inline int script(const QChar &ch) {
- return script(ch.unicode());
- }
-
-
enum GraphemeBreak {
- GraphemeBreakOther,
+ GraphemeBreakOther,
GraphemeBreakCR,
GraphemeBreakLF,
GraphemeBreakControl,
@@ -224,8 +217,16 @@ namespace QUnicodeTables {
};
-}
+ Q_CORE_EXPORT QUnicodeTables::LineBreakClass QT_FASTCALL lineBreakClass(uint ucs4);
+ inline int lineBreakClass(const QChar &ch)
+ { return lineBreakClass(ch.unicode()); }
+
+ Q_CORE_EXPORT int QT_FASTCALL script(uint ucs4);
+ inline int script(const QChar &ch)
+ { return script(ch.unicode()); }
+
+} // namespace QUnicodeTables
QT_END_NAMESPACE
-#endif
+#endif // QUNICODETABLES_P_H
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index ce3e1a027a..abaa486dac 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -491,6 +491,12 @@ bool QDBusConnection::callWithCallback(const QDBusMessage &message, QObject *rec
its return value, which will be either of type
QDBusMessage::ReplyMessage or QDBusMessage::ErrorMessage.
+ If no reply is received within \a timeout milliseconds, an automatic
+ error will be delivered indicating the expiration of the call.
+ The default \a timeout is -1, which will be replaced with an
+ implementation-defined value that is suitable for inter-process
+ communications (generally, 25 seconds).
+
See the QDBusInterface::call() function for a more friendly way
of placing calls.
@@ -526,9 +532,14 @@ QDBusMessage QDBusConnection::call(const QDBusMessage &message, QDBus::CallMode
Sends the \a message over this connection and returns
immediately. This function is suitable for method calls only. It
returns an object of type QDBusPendingCall which can be used to
- track the status of the reply. The \a timeout parameter is used to
- determine when an auto-generated error reply may be emitted and is
- also the upper limit for waiting in QDBusPendingCall::waitForFinished().
+ track the status of the reply.
+
+ If no reply is received within \a timeout milliseconds, an automatic
+ error will be delivered indicating the expiration of the call. The
+ default \a timeout is -1, which will be replaced with an
+ implementation-defined value that is suitable for inter-process
+ communications (generally, 25 seconds). This timeout is also the
+ upper limit for waiting in QDBusPendingCall::waitForFinished().
See the QDBusInterface::asyncCall() function for a more friendly way
of placing calls.
diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt
index 34e48340e1..591fb3da0e 100644
--- a/src/declarative/QmlChanges.txt
+++ b/src/declarative/QmlChanges.txt
@@ -6,12 +6,16 @@ Flickable: renamed viewportHeight -> contentHeight
Flickable: renamed viewportX -> contentX
Flickable: renamed viewportY -> contentY
Removed Flickable.reportedVelocitySmoothing
+Removed Qt.playSound (replaced by SoundEffect element)
+Removed NumberFormatter
+Removed DateTimeFormatter (use Qt.formatDateTime() instead)
Renamed MouseRegion -> MouseArea
Connection: syntax and rename:
Connection { sender: a; signal: foo(); script: xxx }
Connection { sender: a; signal: bar(); script: yyy }
becomes:
Connections { target: a; onFoo: xxx; onBar: yyy }
+Using WebView now requires "import org.webkit 1.0"
QmlView
-------
@@ -52,6 +56,16 @@ matchProperties and matchTargets have been renamed back to properties and target
The semantics are explained in the PropertyAnimation::properties documentation
and the animation overview documentation.
+Behavior and Animation syntax
+-----------------------------
+
+Previously animations and behaviors could be "assigned" to properties like this:
+ Item { x: Behavior {}; y: NumberAnimation {} }
+To make it more obvious that these are not regular value assignments a new "on"
+syntax has been introduced:
+ Item { Behavior on x {}; NumberAnimation on y {} }
+Only the syntax has changed, the behavior is identical.
+
=============================================================================
The changes below are pre-4.6.0 release.
diff --git a/src/declarative/graphicsitems/graphicsitems.pri b/src/declarative/graphicsitems/graphicsitems.pri
index 7a85f00309..3ff92b1ac2 100644
--- a/src/declarative/graphicsitems/graphicsitems.pri
+++ b/src/declarative/graphicsitems/graphicsitems.pri
@@ -84,10 +84,3 @@ SOURCES += \
$$PWD/qdeclarativegraphicsobjectcontainer.cpp \
$$PWD/qdeclarativeparticles.cpp \
$$PWD/qdeclarativelayoutitem.cpp \
-
-contains(QT_CONFIG, webkit) {
- QT+=webkit
- SOURCES += $$PWD/qdeclarativewebview.cpp
- HEADERS += $$PWD/qdeclarativewebview_p.h
- HEADERS += $$PWD/qdeclarativewebview_p_p.h
-}
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
index 274d7788c3..dc1f09db29 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
@@ -168,8 +168,7 @@ void QDeclarativeAnchorsPrivate::fillChanged()
} else if (fill->parentItem() == item->parentItem()) { //siblings
setItemPos(QPointF(fill->x()+leftMargin, fill->y()+topMargin));
}
- setItemWidth(fill->width()-leftMargin-rightMargin);
- setItemHeight(fill->height()-topMargin-bottomMargin);
+ setItemSize(QSizeF(fill->width()-leftMargin-rightMargin, fill->height()-topMargin-bottomMargin));
--updatingFill;
} else {
@@ -314,6 +313,13 @@ void QDeclarativeAnchorsPrivate::setItemPos(const QPointF &v)
updatingMe = false;
}
+void QDeclarativeAnchorsPrivate::setItemSize(const QSizeF &v)
+{
+ updatingMe = true;
+ item->setSize(v);
+ updatingMe = false;
+}
+
void QDeclarativeAnchorsPrivate::updateMe()
{
if (updatingMe) {
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h b/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
index d9d7ffa569..5840868bd9 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
@@ -59,12 +59,9 @@
QT_BEGIN_NAMESPACE
-class QDeclarativeAnchorLine
+struct QDeclarativeAnchorLine
{
-public:
- QDeclarativeAnchorLine() : item(0), anchorLine(Invalid)
- {
- }
+ QDeclarativeAnchorLine() : item(0), anchorLine(Invalid) {}
enum AnchorLine {
Invalid = 0x0,
@@ -81,27 +78,22 @@ public:
QDeclarativeItem *item;
AnchorLine anchorLine;
-
- bool operator==(const QDeclarativeAnchorLine& other) const
- {
- return item == other.item && anchorLine == other.anchorLine;
- }
};
+inline bool operator==(const QDeclarativeAnchorLine& a, const QDeclarativeAnchorLine& b)
+{
+ return a.item == b.item && a.anchorLine == b.anchorLine;
+}
+
class QDeclarativeAnchorsPrivate : public QObjectPrivate, public QDeclarativeItemChangeListener
{
Q_DECLARE_PUBLIC(QDeclarativeAnchors)
public:
QDeclarativeAnchorsPrivate(QDeclarativeItem *i)
- : updatingMe(false), updatingHorizontalAnchor(0),
+ : componentComplete(true), updatingMe(false), updatingHorizontalAnchor(0),
updatingVerticalAnchor(0), updatingFill(0), updatingCenterIn(0), item(i), usedAnchors(0), fill(0),
centerIn(0), leftMargin(0), rightMargin(0), topMargin(0), bottomMargin(0),
- margins(0), vCenterOffset(0), hCenterOffset(0), baselineOffset(0),
- componentComplete(true)
- {
- }
-
- void init()
+ margins(0), vCenterOffset(0), hCenterOffset(0), baselineOffset(0)
{
}
@@ -111,17 +103,19 @@ public:
void remDepend(QDeclarativeItem *);
bool isItemComplete() const;
- bool updatingMe;
- int updatingHorizontalAnchor;
- int updatingVerticalAnchor;
- int updatingFill;
- int updatingCenterIn;
+ bool componentComplete:1;
+ bool updatingMe:1;
+ uint updatingHorizontalAnchor:2;
+ uint updatingVerticalAnchor:2;
+ uint updatingFill:2;
+ uint updatingCenterIn:2;
void setItemHeight(qreal);
void setItemWidth(qreal);
void setItemX(qreal);
void setItemY(qreal);
void setItemPos(const QPointF &);
+ void setItemSize(const QSizeF &);
void updateOnComplete();
void updateMe();
@@ -163,8 +157,6 @@ public:
qreal vCenterOffset;
qreal hCenterOffset;
qreal baselineOffset;
-
- bool componentComplete;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativeeffects.cpp b/src/declarative/graphicsitems/qdeclarativeeffects.cpp
index efab24e2aa..ea1f9cc3db 100644
--- a/src/declarative/graphicsitems/qdeclarativeeffects.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeeffects.cpp
@@ -45,6 +45,7 @@
/*!
\qmlclass Blur QGraphicsBlurEffect
+ \since 4.7
\brief The Blur object provides a blur effect.
A blur effect blurs the source item. This effect is useful for reducing details;
@@ -80,6 +81,7 @@
/*!
\qmlclass Colorize QGraphicsColorizeEffect
+ \since 4.7
\brief The Colorize object provides a colorize effect.
A colorize effect renders the source item with a tint of its color.
@@ -106,6 +108,7 @@
/*!
\qmlclass DropShadow QGraphicsDropShadowEffect
+ \since 4.7
\brief The DropShadow object provides a drop shadow effect.
A drop shadow effect renders the source item with a drop shadow. The color of
@@ -147,6 +150,7 @@
/*!
\qmlclass Opacity QGraphicsOpacityEffect
+ \since 4.7
\brief The Opacity object provides an opacity effect.
An opacity effect renders the source with an opacity. This effect is useful
diff --git a/src/declarative/graphicsitems/qdeclarativeevents.cpp b/src/declarative/graphicsitems/qdeclarativeevents.cpp
index d2cbb549ff..8be2f409f8 100644
--- a/src/declarative/graphicsitems/qdeclarativeevents.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeevents.cpp
@@ -114,6 +114,7 @@ Item {
/*!
\qmlclass MouseEvent QDeclarativeMouseEvent
+ \since 4.7
\brief The MouseEvent object provides information about a mouse event.
The position of the mouse can be found via the x and y properties.
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index 3f4a9ce7d4..67068a0a2a 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -90,7 +90,7 @@ void QDeclarativeFlickableVisibleArea::updateVisible()
// Vertical
const qreal viewheight = flickable->height();
const qreal maxyextent = -flickable->maxYExtent() + flickable->minYExtent();
- qreal pagePos = (-p->_moveY.value() + flickable->minYExtent()) / (maxyextent + viewheight);
+ qreal pagePos = (-p->vData.move.value() + flickable->minYExtent()) / (maxyextent + viewheight);
qreal pageSize = viewheight / (maxyextent + viewheight);
if (pageSize != m_heightRatio) {
@@ -105,7 +105,7 @@ void QDeclarativeFlickableVisibleArea::updateVisible()
// Horizontal
const qreal viewwidth = flickable->width();
const qreal maxxextent = -flickable->maxXExtent() + flickable->minXExtent();
- pagePos = (-p->_moveX.value() + flickable->minXExtent()) / (maxxextent + viewwidth);
+ pagePos = (-p->hData.move.value() + flickable->minXExtent()) / (maxxextent + viewwidth);
pageSize = viewwidth / (maxxextent + viewwidth);
if (pageSize != m_widthRatio) {
@@ -123,13 +123,13 @@ void QDeclarativeFlickableVisibleArea::updateVisible()
QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate()
: viewport(new QDeclarativeItem)
- , _moveX(this, &QDeclarativeFlickablePrivate::setRoundedViewportX)
- , _moveY(this, &QDeclarativeFlickablePrivate::setRoundedViewportY)
- , vWidth(-1), vHeight(-1), overShoot(true), flicked(false), moving(false), stealMouse(false)
- , pressed(false), atXEnd(false), atXBeginning(true), atYEnd(false), atYBeginning(true)
+ , hData(this, &QDeclarativeFlickablePrivate::setRoundedViewportX)
+ , vData(this, &QDeclarativeFlickablePrivate::setRoundedViewportY)
+ , overShoot(true), flicked(false), moving(false), stealMouse(false)
+ , pressed(false)
, interactive(true), deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100)
, delayedPressEvent(0), delayedPressTarget(0), pressDelay(0), fixupDuration(600)
- , horizontalVelocity(this), verticalVelocity(this), vTime(0), visibleArea(0)
+ , vTime(0), visibleArea(0)
, flickDirection(QDeclarativeFlickable::AutoFlickDirection)
{
}
@@ -138,14 +138,24 @@ void QDeclarativeFlickablePrivate::init()
{
Q_Q(QDeclarativeFlickable);
viewport->setParent(q);
- QObject::connect(&timeline, SIGNAL(updated()), q, SLOT(ticked()));
- QObject::connect(&timeline, SIGNAL(completed()), q, SLOT(movementEnding()));
+ static int timelineUpdatedIdx = -1;
+ static int timelineCompletedIdx = -1;
+ static int flickableTickedIdx = -1;
+ static int flickableMovementEndingIdx = -1;
+ if (timelineUpdatedIdx == -1) {
+ timelineUpdatedIdx = QDeclarativeTimeLine::staticMetaObject.indexOfSignal("updated()");
+ timelineCompletedIdx = QDeclarativeTimeLine::staticMetaObject.indexOfSignal("completed()");
+ flickableTickedIdx = QDeclarativeFlickable::staticMetaObject.indexOfSlot("ticked()");
+ flickableMovementEndingIdx = QDeclarativeFlickable::staticMetaObject.indexOfSlot("movementEnding()");
+ }
+ QMetaObject::connect(&timeline, timelineUpdatedIdx,
+ q, flickableTickedIdx, Qt::DirectConnection);
+ QMetaObject::connect(&timeline, timelineCompletedIdx,
+ q, flickableMovementEndingIdx, Qt::DirectConnection);
q->setAcceptedMouseButtons(Qt::LeftButton);
q->setFiltersChildEvents(true);
- QObject::connect(viewport, SIGNAL(xChanged()), q, SIGNAL(contentXChanged()));
- QObject::connect(viewport, SIGNAL(yChanged()), q, SIGNAL(contentYChanged()));
- QObject::connect(q, SIGNAL(heightChanged()), q, SLOT(heightChange()));
- QObject::connect(q, SIGNAL(widthChanged()), q, SLOT(widthChange()));
+ QDeclarativeItemPrivate *viewportPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(viewport));
+ viewportPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
}
/*
@@ -154,7 +164,6 @@ void QDeclarativeFlickablePrivate::init()
*/
qreal QDeclarativeFlickablePrivate::overShootDistance(qreal velocity, qreal size)
{
- Q_Q(QDeclarativeFlickable);
if (maxVelocity <= 0)
return 0.0;
@@ -165,59 +174,43 @@ qreal QDeclarativeFlickablePrivate::overShootDistance(qreal velocity, qreal size
return dist;
}
-void QDeclarativeFlickablePrivate::flickX(qreal velocity)
+void QDeclarativeFlickablePrivate::itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeom, const QRectF &oldGeom)
{
Q_Q(QDeclarativeFlickable);
- qreal maxDistance = -1;
- // -ve velocity means list is moving up
- if (velocity > 0) {
- const qreal minX = q->minXExtent();
- if (_moveX.value() < minX)
- maxDistance = qAbs(minX -_moveX.value() + (overShoot?overShootDistance(velocity,q->width()):0));
- flickTargetX = minX;
- } else {
- const qreal maxX = q->maxXExtent();
- if (_moveX.value() > maxX)
- maxDistance = qAbs(maxX - _moveX.value()) + (overShoot?overShootDistance(velocity,q->width()):0);
- flickTargetX = maxX;
- }
- if (maxDistance > 0) {
- qreal v = velocity;
- if (maxVelocity != -1 && maxVelocity < qAbs(v)) {
- if (v < 0)
- v = -maxVelocity;
- else
- v = maxVelocity;
- }
- timeline.reset(_moveX);
- timeline.accel(_moveX, v, deceleration, maxDistance);
- timeline.callback(QDeclarativeTimeLineCallback(&_moveX, fixupX_callback, this));
- if (!flicked) {
- flicked = true;
- emit q->flickingChanged();
- emit q->flickStarted();
- }
- } else {
- timeline.reset(_moveX);
- fixupX();
+ if (item == viewport) {
+ if (newGeom.x() != oldGeom.x())
+ emit q->contentXChanged();
+ if (newGeom.y() != oldGeom.y())
+ emit q->contentYChanged();
}
}
+void QDeclarativeFlickablePrivate::flickX(qreal velocity)
+{
+ Q_Q(QDeclarativeFlickable);
+ flick(hData, q->minXExtent(), q->maxXExtent(), q->width(), fixupX_callback, velocity);
+}
+
void QDeclarativeFlickablePrivate::flickY(qreal velocity)
{
Q_Q(QDeclarativeFlickable);
+ flick(vData, q->minYExtent(), q->maxYExtent(), q->height(), fixupY_callback, velocity);
+}
+
+void QDeclarativeFlickablePrivate::flick(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity)
+{
+ Q_Q(QDeclarativeFlickable);
qreal maxDistance = -1;
// -ve velocity means list is moving up
if (velocity > 0) {
- const qreal minY = q->minYExtent();
- if (_moveY.value() < minY)
- maxDistance = qAbs(minY -_moveY.value() + (overShoot?overShootDistance(velocity,q->height()):0));
- flickTargetY = minY;
+ if (data.move.value() < minExtent)
+ maxDistance = qAbs(minExtent - data.move.value() + (overShoot?overShootDistance(velocity,vSize):0));
+ data.flickTarget = minExtent;
} else {
- const qreal maxY = q->maxYExtent();
- if (_moveY.value() > maxY)
- maxDistance = qAbs(maxY - _moveY.value()) + (overShoot?overShootDistance(velocity,q->height()):0);
- flickTargetY = maxY;
+ if (data.move.value() > maxExtent)
+ maxDistance = qAbs(maxExtent - data.move.value()) + (overShoot?overShootDistance(velocity,vSize):0);
+ data.flickTarget = maxExtent;
}
if (maxDistance > 0) {
qreal v = velocity;
@@ -227,55 +220,20 @@ void QDeclarativeFlickablePrivate::flickY(qreal velocity)
else
v = maxVelocity;
}
- timeline.reset(_moveY);
- timeline.accel(_moveY, v, deceleration, maxDistance);
- timeline.callback(QDeclarativeTimeLineCallback(&_moveY, fixupY_callback, this));
+ timeline.reset(data.move);
+ timeline.accel(data.move, v, deceleration, maxDistance);
+ timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
if (!flicked) {
flicked = true;
emit q->flickingChanged();
emit q->flickStarted();
}
} else {
- timeline.reset(_moveY);
- fixupY();
+ timeline.reset(data.move);
+ fixup(data, minExtent, maxExtent);
}
}
-void QDeclarativeFlickablePrivate::fixupX()
-{
- Q_Q(QDeclarativeFlickable);
- if (!q->xflick() || _moveX.timeLine())
- return;
-
- if (_moveX.value() > q->minXExtent() || (q->maxXExtent() > q->minXExtent())) {
- timeline.reset(_moveX);
- if (_moveX.value() != q->minXExtent()) {
- if (fixupDuration) {
- qreal dist = q->minXExtent() - _moveX;
- timeline.move(_moveX, q->minXExtent() - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
- timeline.move(_moveX, q->minXExtent(), QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
- } else {
- _moveX.setValue(q->minXExtent());
- }
- }
- //emit flickingChanged();
- } else if (_moveX.value() < q->maxXExtent()) {
- timeline.reset(_moveX);
- if (fixupDuration) {
- qreal dist = q->maxXExtent() - _moveX;
- timeline.move(_moveX, q->maxXExtent() - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
- timeline.move(_moveX, q->maxXExtent(), QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
- } else {
- _moveX.setValue(q->maxXExtent());
- }
- //emit flickingChanged();
- } else {
- flicked = false;
- }
-
- vTime = timeline.time();
-}
-
void QDeclarativeFlickablePrivate::fixupY_callback(void *data)
{
((QDeclarativeFlickablePrivate *)data)->fixupY();
@@ -286,32 +244,46 @@ void QDeclarativeFlickablePrivate::fixupX_callback(void *data)
((QDeclarativeFlickablePrivate *)data)->fixupX();
}
+void QDeclarativeFlickablePrivate::fixupX()
+{
+ Q_Q(QDeclarativeFlickable);
+ if (!q->xflick() || hData.move.timeLine())
+ return;
+
+ fixup(hData, q->minXExtent(), q->maxXExtent());
+}
+
void QDeclarativeFlickablePrivate::fixupY()
{
Q_Q(QDeclarativeFlickable);
- if (!q->yflick() || _moveY.timeLine())
+ if (!q->yflick() || vData.move.timeLine())
return;
- if (_moveY.value() > q->minYExtent() || (q->maxYExtent() > q->minYExtent())) {
- timeline.reset(_moveY);
- if (_moveY.value() != q->minYExtent()) {
+ fixup(vData, q->minYExtent(), q->maxYExtent());
+}
+
+void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
+{
+ if (data.move.value() > minExtent || maxExtent > minExtent) {
+ timeline.reset(data.move);
+ if (data.move.value() != minExtent) {
if (fixupDuration) {
- qreal dist = q->minYExtent() - _moveY;
- timeline.move(_moveY, q->minYExtent() - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
- timeline.move(_moveY, q->minYExtent(), QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
+ qreal dist = minExtent - data.move;
+ timeline.move(data.move, minExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
+ timeline.move(data.move, minExtent, QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
} else {
- _moveY.setValue(q->minYExtent());
+ data.move.setValue(minExtent);
}
}
//emit flickingChanged();
- } else if (_moveY.value() < q->maxYExtent()) {
- timeline.reset(_moveY);
+ } else if (data.move.value() < maxExtent) {
+ timeline.reset(data.move);
if (fixupDuration) {
- qreal dist = q->maxYExtent() - _moveY;
- timeline.move(_moveY, q->maxYExtent() - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
- timeline.move(_moveY, q->maxYExtent(), QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
+ qreal dist = maxExtent - data.move;
+ timeline.move(data.move, maxExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
+ timeline.move(data.move, maxExtent, QEasingCurve(QEasingCurve::OutQuint), 3*fixupDuration/4);
} else {
- _moveY.setValue(q->maxYExtent());
+ data.move.setValue(maxExtent);
}
//emit flickingChanged();
} else {
@@ -328,31 +300,31 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
// Vertical
const int maxyextent = int(-q->maxYExtent());
- const qreal ypos = -_moveY.value();
+ const qreal ypos = -vData.move.value();
bool atBeginning = (ypos <= -q->minYExtent());
bool atEnd = (maxyextent <= ypos);
- if (atBeginning != atYBeginning) {
- atYBeginning = atBeginning;
+ if (atBeginning != vData.atBeginning) {
+ vData.atBeginning = atBeginning;
atBoundaryChange = true;
}
- if (atEnd != atYEnd) {
- atYEnd = atEnd;
+ if (atEnd != vData.atEnd) {
+ vData.atEnd = atEnd;
atBoundaryChange = true;
}
// Horizontal
const int maxxextent = int(-q->maxXExtent());
- const qreal xpos = -_moveX.value();
+ const qreal xpos = -hData.move.value();
atBeginning = (xpos <= -q->minXExtent());
atEnd = (maxxextent <= xpos);
- if (atBeginning != atXBeginning) {
- atXBeginning = atBeginning;
+ if (atBeginning != hData.atBeginning) {
+ hData.atBeginning = atBeginning;
atBoundaryChange = true;
}
- if (atEnd != atXEnd) {
- atXEnd = atEnd;
+ if (atEnd != hData.atEnd) {
+ hData.atEnd = atEnd;
atBoundaryChange = true;
}
@@ -365,6 +337,7 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
/*!
\qmlclass Flickable QDeclarativeFlickable
+ \since 4.7
\brief The Flickable item provides a surface that can be "flicked".
\inherits Item
@@ -468,17 +441,17 @@ QDeclarativeFlickable::~QDeclarativeFlickable()
qreal QDeclarativeFlickable::contentX() const
{
Q_D(const QDeclarativeFlickable);
- return -d->_moveX.value();
+ return -d->hData.move.value();
}
void QDeclarativeFlickable::setContentX(qreal pos)
{
Q_D(QDeclarativeFlickable);
pos = qRound(pos);
- d->timeline.reset(d->_moveX);
+ d->timeline.reset(d->hData.move);
d->vTime = d->timeline.time();
- if (-pos != d->_moveX.value()) {
- d->_moveX.setValue(-pos);
+ if (-pos != d->hData.move.value()) {
+ d->hData.move.setValue(-pos);
viewportMoved();
}
}
@@ -486,17 +459,17 @@ void QDeclarativeFlickable::setContentX(qreal pos)
qreal QDeclarativeFlickable::contentY() const
{
Q_D(const QDeclarativeFlickable);
- return -d->_moveY.value();
+ return -d->vData.move.value();
}
void QDeclarativeFlickable::setContentY(qreal pos)
{
Q_D(QDeclarativeFlickable);
pos = qRound(pos);
- d->timeline.reset(d->_moveY);
+ d->timeline.reset(d->vData.move);
d->vTime = d->timeline.time();
- if (-pos != d->_moveY.value()) {
- d->_moveY.setValue(-pos);
+ if (-pos != d->vData.move.value()) {
+ d->vData.move.setValue(-pos);
viewportMoved();
}
}
@@ -543,13 +516,13 @@ void QDeclarativeFlickable::setInteractive(bool interactive)
qreal QDeclarativeFlickable::horizontalVelocity() const
{
Q_D(const QDeclarativeFlickable);
- return d->horizontalVelocity.value();
+ return d->hData.smoothVelocity.value();
}
qreal QDeclarativeFlickable::verticalVelocity() const
{
Q_D(const QDeclarativeFlickable);
- return d->verticalVelocity.value();
+ return d->vData.smoothVelocity.value();
}
/*!
@@ -564,25 +537,25 @@ qreal QDeclarativeFlickable::verticalVelocity() const
bool QDeclarativeFlickable::isAtXEnd() const
{
Q_D(const QDeclarativeFlickable);
- return d->atXEnd;
+ return d->hData.atEnd;
}
bool QDeclarativeFlickable::isAtXBeginning() const
{
Q_D(const QDeclarativeFlickable);
- return d->atXBeginning;
+ return d->hData.atBeginning;
}
bool QDeclarativeFlickable::isAtYEnd() const
{
Q_D(const QDeclarativeFlickable);
- return d->atYEnd;
+ return d->vData.atEnd;
}
bool QDeclarativeFlickable::isAtYBeginning() const
{
Q_D(const QDeclarativeFlickable);
- return d->atYBeginning;
+ return d->vData.atBeginning;
}
void QDeclarativeFlickable::ticked()
@@ -636,19 +609,19 @@ void QDeclarativeFlickable::setFlickDirection(FlickDirection direction)
void QDeclarativeFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event)
{
- if (interactive && timeline.isActive() && (qAbs(velocityX) > 10 || qAbs(velocityY) > 10))
+ if (interactive && timeline.isActive() && (qAbs(hData.velocity) > 10 || qAbs(vData.velocity) > 10))
stealMouse = true; // If we've been flicked then steal the click.
else
stealMouse = false;
pressed = true;
timeline.clear();
- velocityX = 0;
- velocityY = 0;
+ hData.velocity = 0;
+ vData.velocity = 0;
lastPos = QPoint();
QDeclarativeItemPrivate::start(lastPosTime);
pressPos = event->pos();
- pressX = _moveX.value();
- pressY = _moveY.value();
+ hData.pressPos = hData.move.value();
+ vData.pressPos = vData.move.value();
flicked = false;
QDeclarativeItemPrivate::start(pressTime);
QDeclarativeItemPrivate::start(velocityTime);
@@ -666,7 +639,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
if (q->yflick()) {
int dy = int(event->pos().y() - pressPos.y());
if (qAbs(dy) > QApplication::startDragDistance() || QDeclarativeItemPrivate::elapsed(pressTime) > 200) {
- qreal newY = dy + pressY;
+ qreal newY = dy + vData.pressPos;
const qreal minY = q->minYExtent();
const qreal maxY = q->maxYExtent();
if (newY > minY)
@@ -681,8 +654,8 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
else
rejectY = true;
}
- if (!rejectY) {
- _moveY.setValue(newY);
+ if (!rejectY && stealMouse) {
+ vData.move.setValue(newY);
moved = true;
}
if (qAbs(dy) > QApplication::startDragDistance())
@@ -693,7 +666,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
if (q->xflick()) {
int dx = int(event->pos().x() - pressPos.x());
if (qAbs(dx) > QApplication::startDragDistance() || QDeclarativeItemPrivate::elapsed(pressTime) > 200) {
- qreal newX = dx + pressX;
+ qreal newX = dx + hData.pressPos;
const qreal minX = q->minXExtent();
const qreal maxX = q->maxXExtent();
if (newX > minX)
@@ -708,8 +681,8 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
else
rejectX = true;
}
- if (!rejectX) {
- _moveX.setValue(newX);
+ if (!rejectX && stealMouse) {
+ hData.move.setValue(newX);
moved = true;
}
@@ -725,20 +698,20 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
if (q->yflick()) {
qreal diff = event->pos().y() - lastPos.y();
// average to reduce the effect of spurious moves
- velocityY += diff / elapsed;
- velocityY /= 2;
+ vData.velocity += diff / elapsed;
+ vData.velocity /= 2;
}
if (q->xflick()) {
qreal diff = event->pos().x() - lastPos.x();
// average to reduce the effect of spurious moves
- velocityX += diff / elapsed;
- velocityX /= 2;
+ hData.velocity += diff / elapsed;
+ hData.velocity /= 2;
}
}
- if (rejectY) velocityY = 0;
- if (rejectX) velocityX = 0;
+ if (rejectY) vData.velocity = 0;
+ if (rejectX) hData.velocity = 0;
if (moved) {
q->movementStarting();
@@ -751,19 +724,21 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
void QDeclarativeFlickablePrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
Q_Q(QDeclarativeFlickable);
+ stealMouse = false;
+ q->setKeepMouseGrab(false);
pressed = false;
if (lastPosTime.isNull())
return;
if (QDeclarativeItemPrivate::elapsed(lastPosTime) > 100) {
// if we drag then pause before release we should not cause a flick.
- velocityX = 0.0;
- velocityY = 0.0;
+ hData.velocity = 0.0;
+ vData.velocity = 0.0;
}
vTime = timeline.time();
- if (qAbs(velocityY) > 10 && qAbs(event->pos().y() - pressPos.y()) > FlickThreshold) {
- qreal velocity = velocityY;
+ if (qAbs(vData.velocity) > 10 && qAbs(event->pos().y() - pressPos.y()) > FlickThreshold) {
+ qreal velocity = vData.velocity;
if (qAbs(velocity) < minimumFlickVelocity) // Minimum velocity to avoid annoyingly slow flicks.
velocity = velocity < 0 ? -minimumFlickVelocity : minimumFlickVelocity;
flickY(velocity);
@@ -771,8 +746,8 @@ void QDeclarativeFlickablePrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEv
fixupY();
}
- if (qAbs(velocityX) > 10 && qAbs(event->pos().x() - pressPos.x()) > FlickThreshold) {
- qreal velocity = velocityX;
+ if (qAbs(hData.velocity) > 10 && qAbs(event->pos().x() - pressPos.x()) > FlickThreshold) {
+ qreal velocity = hData.velocity;
if (qAbs(velocity) < minimumFlickVelocity) // Minimum velocity to avoid annoyingly slow flicks.
velocity = velocity < 0 ? -minimumFlickVelocity : minimumFlickVelocity;
flickX(velocity);
@@ -780,7 +755,6 @@ void QDeclarativeFlickablePrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEv
fixupX();
}
- stealMouse = false;
lastPosTime = QTime();
if (!timeline.isActive())
@@ -803,6 +777,8 @@ void QDeclarativeFlickable::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
Q_D(QDeclarativeFlickable);
if (d->interactive) {
d->handleMouseMoveEvent(event);
+ if (d->stealMouse)
+ setKeepMouseGrab(true);
event->accept();
} else {
QDeclarativeItem::mouseMoveEvent(event);
@@ -829,19 +805,19 @@ void QDeclarativeFlickable::wheelEvent(QGraphicsSceneWheelEvent *event)
QDeclarativeItem::wheelEvent(event);
} else if (yflick()) {
if (event->delta() > 0)
- d->velocityY = qMax(event->delta() - d->verticalVelocity.value(), qreal(250.0));
+ d->vData.velocity = qMax(event->delta() - d->vData.smoothVelocity.value(), qreal(250.0));
else
- d->velocityY = qMin(event->delta() - d->verticalVelocity.value(), qreal(-250.0));
+ d->vData.velocity = qMin(event->delta() - d->vData.smoothVelocity.value(), qreal(-250.0));
d->flicked = false;
- d->flickY(d->velocityY);
+ d->flickY(d->vData.velocity);
event->accept();
} else if (xflick()) {
if (event->delta() > 0)
- d->velocityX = qMax(event->delta() - d->horizontalVelocity.value(), qreal(250.0));
+ d->hData.velocity = qMax(event->delta() - d->hData.smoothVelocity.value(), qreal(250.0));
else
- d->velocityX = qMin(event->delta() - d->horizontalVelocity.value(), qreal(-250.0));
+ d->hData.velocity = qMin(event->delta() - d->hData.smoothVelocity.value(), qreal(-250.0));
d->flicked = false;
- d->flickX(d->velocityX);
+ d->flickX(d->hData.velocity);
event->accept();
} else {
QDeclarativeItem::wheelEvent(event);
@@ -943,32 +919,56 @@ void QDeclarativeFlickable::viewportMoved()
qreal prevX = d->lastFlickablePosition.y();
d->velocityTimeline.clear();
if (d->pressed) {
- qreal horizontalVelocity = (prevX - d->_moveX.value()) * 1000 / elapsed;
- qreal verticalVelocity = (prevY - d->_moveY.value()) * 1000 / elapsed;
- d->velocityTimeline.move(d->horizontalVelocity, horizontalVelocity, d->reportedVelocitySmoothing);
- d->velocityTimeline.move(d->horizontalVelocity, 0, d->reportedVelocitySmoothing);
- d->velocityTimeline.move(d->verticalVelocity, verticalVelocity, d->reportedVelocitySmoothing);
- d->velocityTimeline.move(d->verticalVelocity, 0, d->reportedVelocitySmoothing);
+ qreal horizontalVelocity = (prevX - d->hData.move.value()) * 1000 / elapsed;
+ qreal verticalVelocity = (prevY - d->vData.move.value()) * 1000 / elapsed;
+ d->velocityTimeline.move(d->hData.smoothVelocity, horizontalVelocity, d->reportedVelocitySmoothing);
+ d->velocityTimeline.move(d->hData.smoothVelocity, 0, d->reportedVelocitySmoothing);
+ d->velocityTimeline.move(d->vData.smoothVelocity, verticalVelocity, d->reportedVelocitySmoothing);
+ d->velocityTimeline.move(d->vData.smoothVelocity, 0, d->reportedVelocitySmoothing);
} else {
if (d->timeline.time() > d->vTime) {
- qreal horizontalVelocity = (prevX - d->_moveX.value()) * 1000 / (d->timeline.time() - d->vTime);
- qreal verticalVelocity = (prevY - d->_moveY.value()) * 1000 / (d->timeline.time() - d->vTime);
- d->horizontalVelocity.setValue(horizontalVelocity);
- d->verticalVelocity.setValue(verticalVelocity);
+ qreal horizontalVelocity = (prevX - d->hData.move.value()) * 1000 / (d->timeline.time() - d->vTime);
+ qreal verticalVelocity = (prevY - d->vData.move.value()) * 1000 / (d->timeline.time() - d->vTime);
+ d->hData.smoothVelocity.setValue(horizontalVelocity);
+ d->vData.smoothVelocity.setValue(verticalVelocity);
}
}
- d->lastFlickablePosition = QPointF(d->_moveY.value(), d->_moveX.value());
+ d->lastFlickablePosition = QPointF(d->vData.move.value(), d->hData.move.value());
d->vTime = d->timeline.time();
d->updateBeginningEnd();
}
+void QDeclarativeFlickable::geometryChanged(const QRectF &newGeometry,
+ const QRectF &oldGeometry)
+{
+ Q_D(QDeclarativeFlickable);
+ QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
+
+ bool changed = false;
+ if (newGeometry.width() != oldGeometry.width()) {
+ if (d->hData.viewSize < 0) {
+ d->viewport->setWidth(width());
+ emit contentWidthChanged();
+ }
+ }
+ if (newGeometry.height() != oldGeometry.height()) {
+ if (d->vData.viewSize < 0) {
+ d->viewport->setHeight(height());
+ emit contentHeightChanged();
+ }
+ }
+
+ if (changed)
+ d->updateBeginningEnd();
+}
+
void QDeclarativeFlickable::cancelFlick()
{
Q_D(QDeclarativeFlickable);
- d->timeline.reset(d->_moveX);
- d->timeline.reset(d->_moveY);
+ d->timeline.reset(d->hData.move);
+ d->timeline.reset(d->vData.move);
movementEnding();
}
@@ -1035,15 +1035,15 @@ void QDeclarativeFlickable::setOverShoot(bool o)
qreal QDeclarativeFlickable::contentWidth() const
{
Q_D(const QDeclarativeFlickable);
- return d->vWidth;
+ return d->hData.viewSize;
}
void QDeclarativeFlickable::setContentWidth(qreal w)
{
Q_D(QDeclarativeFlickable);
- if (d->vWidth == w)
+ if (d->hData.viewSize == w)
return;
- d->vWidth = w;
+ d->hData.viewSize = w;
if (w < 0)
d->viewport->setWidth(width());
else
@@ -1055,38 +1055,18 @@ void QDeclarativeFlickable::setContentWidth(qreal w)
d->updateBeginningEnd();
}
-void QDeclarativeFlickable::widthChange()
-{
- Q_D(QDeclarativeFlickable);
- if (d->vWidth < 0) {
- d->viewport->setWidth(width());
- emit contentWidthChanged();
- }
- d->updateBeginningEnd();
-}
-
-void QDeclarativeFlickable::heightChange()
-{
- Q_D(QDeclarativeFlickable);
- if (d->vHeight < 0) {
- d->viewport->setHeight(height());
- emit contentHeightChanged();
- }
- d->updateBeginningEnd();
-}
-
qreal QDeclarativeFlickable::contentHeight() const
{
Q_D(const QDeclarativeFlickable);
- return d->vHeight;
+ return d->vData.viewSize;
}
void QDeclarativeFlickable::setContentHeight(qreal h)
{
Q_D(QDeclarativeFlickable);
- if (d->vHeight == h)
+ if (d->vData.viewSize == h)
return;
- d->vHeight = h;
+ d->vData.viewSize = h;
if (h < 0)
d->viewport->setHeight(height());
else
@@ -1101,19 +1081,19 @@ void QDeclarativeFlickable::setContentHeight(qreal h)
qreal QDeclarativeFlickable::vWidth() const
{
Q_D(const QDeclarativeFlickable);
- if (d->vWidth < 0)
+ if (d->hData.viewSize < 0)
return width();
else
- return d->vWidth;
+ return d->hData.viewSize;
}
qreal QDeclarativeFlickable::vHeight() const
{
Q_D(const QDeclarativeFlickable);
- if (d->vHeight < 0)
+ if (d->vData.viewSize < 0)
return height();
else
- return d->vHeight;
+ return d->vData.viewSize;
}
bool QDeclarativeFlickable::xflick() const
@@ -1140,7 +1120,8 @@ bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event)
QGraphicsScene *s = scene();
QDeclarativeItem *grabber = s ? qobject_cast<QDeclarativeItem*>(s->mouseGrabberItem()) : 0;
- if ((d->stealMouse || myRect.contains(event->scenePos().toPoint())) && (!grabber || !grabber->keepMouseGrab())) {
+ bool stealThisEvent = d->stealMouse;
+ if ((stealThisEvent || myRect.contains(event->scenePos().toPoint())) && (!grabber || !grabber->keepMouseGrab())) {
mouseEvent.setAccepted(false);
for (int i = 0x1; i <= 0x10; i <<= 1) {
if (event->buttons() & i) {
@@ -1175,17 +1156,19 @@ bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event)
break;
}
grabber = qobject_cast<QDeclarativeItem*>(s->mouseGrabberItem());
- if (grabber && d->stealMouse && !grabber->keepMouseGrab() && grabber != this) {
+ if (grabber && stealThisEvent && !grabber->keepMouseGrab() && grabber != this) {
d->clearDelayedPress();
grabMouse();
}
- return d->stealMouse || d->delayedPressEvent;
+ return stealThisEvent || d->delayedPressEvent;
} else if (!d->lastPosTime.isNull()) {
d->lastPosTime = QTime();
}
- if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease)
+ if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease) {
d->clearDelayedPress();
+ d->stealMouse = false;
+ }
return false;
}
@@ -1321,8 +1304,8 @@ void QDeclarativeFlickable::movementEnding()
emit flickingChanged();
emit flickEnded();
}
- d->horizontalVelocity.setValue(0);
- d->verticalVelocity.setValue(0);
+ d->hData.smoothVelocity.setValue(0);
+ d->vData.smoothVelocity.setValue(0);
}
void QDeclarativeFlickablePrivate::updateVelocity()
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
index 46176884f7..7dcab98285 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
@@ -174,8 +174,6 @@ protected Q_SLOTS:
virtual void ticked();
void movementStarting();
void movementEnding();
- void heightChange();
- void widthChange();
protected:
virtual qreal minXExtent() const;
@@ -185,6 +183,8 @@ protected:
qreal vWidth() const;
qreal vHeight() const;
virtual void viewportMoved();
+ virtual void geometryChanged(const QRectF &newGeometry,
+ const QRectF &oldGeometry);
bool sendMouseEvent(QGraphicsSceneMouseEvent *event);
bool xflick() const;
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
index 1ff4f927c6..c963c2bd9e 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
@@ -56,6 +56,7 @@
#include "qdeclarativeflickable_p.h"
#include "qdeclarativeitem_p.h"
+#include "qdeclarativeitemchangelistener_p.h"
#include <qdeclarative.h>
#include <qdeclarativetimeline_p_p.h>
@@ -66,17 +67,51 @@
QT_BEGIN_NAMESPACE
class QDeclarativeFlickableVisibleArea;
-class QDeclarativeFlickablePrivate : public QDeclarativeItemPrivate
+class QDeclarativeFlickablePrivate : public QDeclarativeItemPrivate, public QDeclarativeItemChangeListener
{
Q_DECLARE_PUBLIC(QDeclarativeFlickable)
public:
QDeclarativeFlickablePrivate();
void init();
- virtual void flickX(qreal velocity);
- virtual void flickY(qreal velocity);
- virtual void fixupX();
- virtual void fixupY();
+
+ struct Velocity : public QDeclarativeTimeLineValue
+ {
+ Velocity(QDeclarativeFlickablePrivate *p)
+ : parent(p) {}
+ virtual void setValue(qreal v) {
+ if (v != value()) {
+ QDeclarativeTimeLineValue::setValue(v);
+ parent->updateVelocity();
+ }
+ }
+ QDeclarativeFlickablePrivate *parent;
+ };
+
+ struct AxisData {
+ AxisData(QDeclarativeFlickablePrivate *fp, void (QDeclarativeFlickablePrivate::*func)(qreal))
+ : move(fp, func), viewSize(-1), smoothVelocity(fp), atEnd(false), atBeginning(true)
+ {}
+
+ QDeclarativeTimeLineValueProxy<QDeclarativeFlickablePrivate> move;
+ qreal viewSize;
+ qreal pressPos;
+ qreal velocity;
+ qreal flickTarget;
+ QDeclarativeFlickablePrivate::Velocity smoothVelocity;
+ bool atEnd : 1;
+ bool atBeginning : 1;
+ };
+
+ void flickX(qreal velocity);
+ void flickY(qreal velocity);
+ virtual void flick(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity);
+
+ void fixupX();
+ void fixupY();
+ virtual void fixup(AxisData &data, qreal minExtent, qreal maxExtent);
+
void updateBeginningEnd();
void captureDelayedPress(QGraphicsSceneMouseEvent *event);
@@ -87,38 +122,30 @@ public:
qreal overShootDistance(qreal velocity, qreal size);
+ void itemGeometryChanged(QDeclarativeItem *, const QRectF &, const QRectF &);
+
public:
QDeclarativeItem *viewport;
- QDeclarativeTimeLineValueProxy<QDeclarativeFlickablePrivate> _moveX;
- QDeclarativeTimeLineValueProxy<QDeclarativeFlickablePrivate> _moveY;
+
+ AxisData hData;
+ AxisData vData;
+
QDeclarativeTimeLine timeline;
- qreal vWidth;
- qreal vHeight;
bool overShoot : 1;
bool flicked : 1;
bool moving : 1;
bool stealMouse : 1;
bool pressed : 1;
- bool atXEnd : 1;
- bool atXBeginning : 1;
- bool atYEnd : 1;
- bool atYBeginning : 1;
bool interactive : 1;
QTime lastPosTime;
QPointF lastPos;
QPointF pressPos;
- qreal pressX;
- qreal pressY;
- qreal velocityX;
- qreal velocityY;
QTime pressTime;
qreal deceleration;
qreal maxVelocity;
QTime velocityTime;
QPointF lastFlickablePosition;
qreal reportedVelocitySmoothing;
- qreal flickTargetX;
- qreal flickTargetY;
QGraphicsSceneMouseEvent *delayedPressEvent;
QGraphicsItem *delayedPressTarget;
QBasicTimer delayedPressTimer;
@@ -129,18 +156,6 @@ public:
static void fixupX_callback(void *);
void updateVelocity();
- struct Velocity : public QDeclarativeTimeLineValue
- {
- Velocity(QDeclarativeFlickablePrivate *p)
- : parent(p) {}
- virtual void setValue(qreal v) {
- QDeclarativeTimeLineValue::setValue(v);
- parent->updateVelocity();
- }
- QDeclarativeFlickablePrivate *parent;
- };
- Velocity horizontalVelocity;
- Velocity verticalVelocity;
int vTime;
QDeclarativeTimeLine velocityTimeline;
QDeclarativeFlickableVisibleArea *visibleArea;
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index b36127fa39..1ebbaee29e 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -68,56 +68,31 @@ public:
\brief The Flipable item provides a surface that can be flipped.
\inherits Item
- Flipable allows you to specify a front and a back and then flip between those sides.
+ Flipable is an item that can be visibly "flipped" between its front and
+ back sides. It is used together with Rotation and State/Transition to
+ produce a flipping effect.
- Here's an example that flips between the front and back sides when clicked:
+ Here is a Flipable that flips whenever it is clicked:
- \qml
-
- Flipable {
- id: flipable
- width: 250; height: 250
- property int angle: 0
-
- transform: Rotation {
- id: rotation
- origin.x: flipable.width/2; origin.y: flipable.height/2
- axis.x: 0; axis.y: 1; axis.z: 0 // rotate around y-axis
- angle: flipable.angle
- }
-
- front: Image { source: "front.png" }
- back: Image { source: "back.png" }
-
- states: State {
- name: "back"
- PropertyChanges { target: flipable; angle: 180 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "angle"; duration: 2000 }
- }
-
- MouseArea {
- // change between default and 'back' states
- onClicked: flipable.state = (flipable.state == 'back' ? '' : 'back')
- anchors.fill: parent
- }
- }
- \endqml
+ \snippet examples/declarative/flipable/flipable.qml 0
\image flipable.gif
+
+ The Rotation element is used to specify the angle and axis of the flip,
+ and the State defines the changes in angle which produce the flipping
+ effect. Finally, the Transition creates the animation that changes the
+ angle over one second.
*/
/*!
\internal
\class QDeclarativeFlipable
- \brief The QDeclarativeFlipable class provides a flipable surface.
+ \brief The Flipable item provides a surface that can be flipped.
\ingroup group_widgets
- QDeclarativeFlipable allows you to specify a front and a back, as well as an
- axis for the flip.
+ Flipable is an item that can be visibly "flipped" between its front and
+ back sides.
*/
QDeclarativeFlipable::QDeclarativeFlipable(QDeclarativeItem *parent)
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index 0a103f37c5..60ffbe249f 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -45,13 +45,14 @@
#include "qdeclarativeflickable_p_p.h"
#include <qdeclarativeeasefollow_p.h>
+#include <qdeclarativeguard_p.h>
#include <qlistmodelinterface_p.h>
#include <QKeyEvent>
-QT_BEGIN_NAMESPACE
+#include <math.h>
-QHash<QObject*, QDeclarativeGridViewAttached*> QDeclarativeGridViewAttached::attachedProperties;
+QT_BEGIN_NAMESPACE
//----------------------------------------------------------------------------
@@ -60,8 +61,9 @@ class FxGridItem
{
public:
FxGridItem(QDeclarativeItem *i, QDeclarativeGridView *v) : item(i), view(v) {
- attached = QDeclarativeGridViewAttached::properties(item);
- attached->m_view = view;
+ attached = static_cast<QDeclarativeGridViewAttached*>(qmlAttachedPropertiesObject<QDeclarativeGridView>(item));
+ if (attached)
+ attached->m_view = view;
}
~FxGridItem() {}
@@ -97,12 +99,13 @@ public:
: currentItem(0), flow(QDeclarativeGridView::LeftToRight)
, visiblePos(0), visibleIndex(0) , currentIndex(-1)
, cellWidth(100), cellHeight(100), columns(1), requestedIndex(-1)
+ , highlightRangeStart(0), highlightRangeEnd(0), highlightRange(QDeclarativeGridView::NoHighlightRange)
, highlightComponent(0), highlight(0), trackedItem(0)
, moveReason(Other), buffer(0), highlightXAnimator(0), highlightYAnimator(0)
- , bufferMode(NoBuffer)
+ , bufferMode(NoBuffer), snapMode(QDeclarativeGridView::NoSnap)
, ownModel(false), wrap(false), autoHighlight(true)
, fixCurrentVisibility(false), lazyRelease(false), layoutScheduled(false)
- , deferredRelease(false) {}
+ , deferredRelease(false), haveHighlightRange(false) {}
void init();
void clear();
@@ -119,6 +122,7 @@ public:
void createHighlight();
void updateHighlight();
void updateCurrent(int modelIndex);
+ void fixupPosition();
FxGridItem *visibleItem(int modelIndex) const {
if (modelIndex >= visibleIndex && modelIndex < visibleIndex + visibleItems.count()) {
@@ -236,6 +240,50 @@ public:
return -1; // Not in visibleList
}
+ qreal snapPosAt(qreal pos) {
+ qreal snapPos = 0;
+ if (!visibleItems.isEmpty()) {
+ pos += rowSize()/2;
+ snapPos = visibleItems.first()->rowPos() - visibleIndex / columns * rowSize();
+ snapPos = pos - fmodf(pos - snapPos, qreal(rowSize()));
+ }
+ return snapPos;
+ }
+
+ int snapIndex() {
+ int index = currentIndex;
+ for (int i = 0; i < visibleItems.count(); ++i) {
+ FxGridItem *item = visibleItems[i];
+ if (item->index == -1)
+ continue;
+ qreal itemTop = item->rowPos();
+ if (itemTop >= highlight->rowPos()-rowSize()/2 && itemTop < highlight->rowPos()+rowSize()/2) {
+ index = item->index;
+ if (item->colPos() >= highlight->colPos()-colSize()/2 && item->colPos() < highlight->colPos()+colSize()/2)
+ return item->index;
+ }
+ }
+ return index;
+ }
+
+ virtual void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) {
+ Q_Q(const QDeclarativeGridView);
+ QDeclarativeFlickablePrivate::itemGeometryChanged(item, newGeometry, oldGeometry);
+ if (item == q) {
+ if (newGeometry.height() != oldGeometry.height()
+ || newGeometry.width() != oldGeometry.width()) {
+ if (q->isComponentComplete()) {
+ updateGrid();
+ layout();
+ }
+ }
+ }
+ }
+
+ virtual void fixup(AxisData &data, qreal minExtent, qreal maxExtent);
+ virtual void flick(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity);
+
// for debugging only
void checkVisible() const {
int skip = 0;
@@ -251,7 +299,7 @@ public:
}
}
- QGuard<QDeclarativeVisualModel> model;
+ QDeclarativeGuard<QDeclarativeVisualModel> model;
QVariant modelVariant;
QList<FxGridItem*> visibleItems;
QHash<QDeclarativeItem*,int> unrequestedItems;
@@ -264,6 +312,9 @@ public:
int cellHeight;
int columns;
int requestedIndex;
+ qreal highlightRangeStart;
+ qreal highlightRangeEnd;
+ QDeclarativeGridView::HighlightRangeMode highlightRange;
QDeclarativeComponent *highlightComponent;
FxGridItem *highlight;
FxGridItem *trackedItem;
@@ -274,6 +325,7 @@ public:
QDeclarativeEaseFollow *highlightYAnimator;
enum BufferMode { NoBuffer = 0x00, BufferBefore = 0x01, BufferAfter = 0x02 };
BufferMode bufferMode;
+ QDeclarativeGridView::SnapMode snapMode;
bool ownModel : 1;
bool wrap : 1;
@@ -282,15 +334,15 @@ public:
bool lazyRelease : 1;
bool layoutScheduled : 1;
bool deferredRelease : 1;
+ bool haveHighlightRange : 1;
};
void QDeclarativeGridViewPrivate::init()
{
Q_Q(QDeclarativeGridView);
q->setFlag(QGraphicsItem::ItemIsFocusScope);
- QObject::connect(q, SIGNAL(widthChanged()), q, SLOT(sizeChange()));
- QObject::connect(q, SIGNAL(heightChanged()), q, SLOT(sizeChange()));
q->setFlickDirection(QDeclarativeFlickable::VerticalFlick);
+ addItemChangeListener(this, Geometry);
}
void QDeclarativeGridViewPrivate::clear()
@@ -315,9 +367,9 @@ FxGridItem *QDeclarativeGridViewPrivate::createItem(int modelIndex)
if (QDeclarativeItem *item = model->item(modelIndex, false)) {
listItem = new FxGridItem(item, q);
listItem->index = modelIndex;
+ listItem->item->setZValue(1);
// complete
model->completeItem();
- listItem->item->setZValue(1);
listItem->item->setParent(q->viewport());
unrequestedItems.remove(listItem->item);
}
@@ -618,7 +670,7 @@ void QDeclarativeGridViewPrivate::createHighlight()
}
}
if (changed)
- emit q->highlightChanged();
+ emit q->highlightItemChanged();
}
void QDeclarativeGridViewPrivate::updateHighlight()
@@ -671,10 +723,127 @@ void QDeclarativeGridViewPrivate::updateCurrent(int modelIndex)
releaseItem(oldCurrentItem);
}
+void QDeclarativeGridViewPrivate::fixupPosition()
+{
+ moveReason = Other;
+ if (flow == QDeclarativeGridView::LeftToRight)
+ fixupY();
+ else
+ fixupX();
+}
+
+void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
+{
+ Q_Q(QDeclarativeGridView);
+
+ if ((&data == &vData && !q->yflick())
+ || (&data == &hData && !q->xflick())
+ || data.move.timeLine())
+ return;
+
+ int oldDuration = fixupDuration;
+ fixupDuration = moveReason == Mouse ? fixupDuration : 0;
+
+ if (haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) {
+ if (currentItem && currentItem->rowPos() - position() != highlightRangeStart) {
+ qreal pos = currentItem->rowPos() - highlightRangeStart;
+ timeline.reset(data.move);
+ if (fixupDuration)
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
+ else
+ data.move.setValue(-pos);
+ vTime = timeline.time();
+ }
+ } else if (snapMode != QDeclarativeGridView::NoSnap) {
+ qreal pos = qMax(qMin(snapPosAt(position()) - highlightRangeStart, -maxExtent), -minExtent);
+ qreal dist = qAbs(data.move + pos);
+ if (dist > 0) {
+ timeline.reset(data.move);
+ if (fixupDuration)
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
+ else
+ data.move.setValue(-pos);
+ vTime = timeline.time();
+ }
+ } else {
+ QDeclarativeFlickablePrivate::fixup(data, minExtent, maxExtent);
+ }
+ fixupDuration = oldDuration;
+}
+
+void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity)
+{
+ Q_Q(QDeclarativeGridView);
+
+ moveReason = Mouse;
+ if ((!haveHighlightRange || highlightRange != QDeclarativeGridView::StrictlyEnforceRange) && snapMode == QDeclarativeGridView::NoSnap) {
+ QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity);
+ return;
+ }
+ qreal maxDistance = -1;
+ // -ve velocity means list is moving up
+ if (velocity > 0) {
+ if (snapMode == QDeclarativeGridView::SnapOneRow) {
+ if (FxGridItem *item = firstVisibleItem())
+ maxDistance = qAbs(item->rowPos() + data.move.value());
+ } else if (data.move.value() < minExtent) {
+ maxDistance = qAbs(minExtent - data.move.value() + (overShoot?overShootDistance(velocity, vSize):0));
+ }
+ if (snapMode != QDeclarativeGridView::SnapToRow && highlightRange != QDeclarativeGridView::StrictlyEnforceRange)
+ data.flickTarget = minExtent;
+ } else {
+ if (snapMode == QDeclarativeGridView::SnapOneRow) {
+ qreal pos = snapPosAt(-data.move.value()) + rowSize();
+ maxDistance = qAbs(pos + data.move.value());
+ } else if (data.move.value() > maxExtent) {
+ maxDistance = qAbs(maxExtent - data.move.value()) + (overShoot?overShootDistance(velocity, vSize):0);
+ }
+ if (snapMode != QDeclarativeGridView::SnapToRow && highlightRange != QDeclarativeGridView::StrictlyEnforceRange)
+ data.flickTarget = maxExtent;
+ }
+ if (maxDistance > 0 && (snapMode != QDeclarativeGridView::NoSnap || highlightRange == QDeclarativeGridView::StrictlyEnforceRange)) {
+ // This mode requires the grid to stop exactly on a row boundary.
+ qreal v = velocity;
+ if (maxVelocity != -1 && maxVelocity < qAbs(v)) {
+ if (v < 0)
+ v = -maxVelocity;
+ else
+ v = maxVelocity;
+ }
+ qreal accel = deceleration;
+ qreal v2 = v * v;
+ qreal maxAccel = v2 / (2.0f * maxDistance);
+ qreal overshootDist = 0.0;
+ if (maxAccel < accel) {
+ qreal dist = v2 / (accel * 2.0);
+ if (v > 0)
+ dist = -dist;
+ data.flickTarget = -snapPosAt(-(data.move.value() - highlightRangeStart) + dist) + highlightRangeStart;
+ dist = -data.flickTarget + data.move.value();
+ accel = v2 / (2.0f * qAbs(dist));
+ } else {
+ data.flickTarget = velocity > 0 ? minExtent : maxExtent;
+ overshootDist = overShoot ? overShootDistance(v, vSize) : 0;
+ }
+ timeline.reset(data.move);
+ timeline.accel(data.move, v, accel, maxDistance + overshootDist);
+ timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
+ flicked = true;
+ emit q->flickingChanged();
+ emit q->flickStarted();
+ } else {
+ timeline.reset(data.move);
+ fixup(data, minExtent, maxExtent);
+ }
+}
+
+
//----------------------------------------------------------------------------
/*!
\qmlclass GridView QDeclarativeGridView
+ \since 4.7
\inherits Flickable
\brief The GridView item provides a grid view of items provided by a model.
@@ -695,6 +864,11 @@ void QDeclarativeGridViewPrivate::updateCurrent(int modelIndex)
In this case ListModel is a handy way for us to test our UI. In practice
the model would be implemented in C++, or perhaps via a SQL data source.
+
+ Note that views do not enable \e clip automatically. If the view
+ is not clipped by another item or the screen, it will be necessary
+ to set \e {clip: true} in order to have the out of view items clipped
+ nicely.
*/
QDeclarativeGridView::QDeclarativeGridView(QDeclarativeItem *parent)
: QDeclarativeFlickable(*(new QDeclarativeGridViewPrivate), parent)
@@ -742,7 +916,7 @@ QDeclarativeGridView::~QDeclarativeGridView()
id: myDelegate
Item {
id: wrapper
- GridView.onRemove: SequentialAnimation {
+ SequentialAnimation on GridView.onRemove {
PropertyAction { target: wrapper.GridView; property: "delayRemove"; value: true }
NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing: "easeInOutQuad" }
PropertyAction { target: wrapper.GridView; property: "delayRemove"; value: false }
@@ -783,6 +957,8 @@ QVariant QDeclarativeGridView::model() const
void QDeclarativeGridView::setModel(const QVariant &model)
{
Q_D(QDeclarativeGridView);
+ if (d->modelVariant == model)
+ return;
if (d->model) {
disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int)));
disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
@@ -827,6 +1003,7 @@ void QDeclarativeGridView::setModel(const QVariant &model)
connect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
emit countChanged();
}
+ emit modelChanged();
}
/*!
@@ -870,6 +1047,7 @@ void QDeclarativeGridView::setDelegate(QDeclarativeComponent *delegate)
d->moveReason = QDeclarativeGridViewPrivate::SetIndex;
d->updateCurrent(d->currentIndex);
}
+ emit delegateChanged();
}
}
@@ -965,6 +1143,7 @@ void QDeclarativeGridView::setHighlight(QDeclarativeComponent *highlight)
if (highlight != d->highlightComponent) {
d->highlightComponent = highlight;
d->updateCurrent(d->currentIndex);
+ emit highlightChanged();
}
}
@@ -982,8 +1161,8 @@ void QDeclarativeGridView::setHighlight(QDeclarativeComponent *highlight)
id: myHighlight
Rectangle {
id: wrapper; color: "lightsteelblue"; radius: 4; width: 320; height: 60
- y: SpringFollow { source: Wrapper.GridView.view.currentItem.y; spring: 3; damping: 0.2 }
- x: SpringFollow { source: Wrapper.GridView.view.currentItem.x; spring: 3; damping: 0.2 }
+ SpringFollow on y { source: Wrapper.GridView.view.currentItem.y; spring: 3; damping: 0.2 }
+ SpringFollow on x { source: Wrapper.GridView.view.currentItem.x; spring: 3; damping: 0.2 }
}
}
\endcode
@@ -1008,6 +1187,87 @@ void QDeclarativeGridView::setHighlightFollowsCurrentItem(bool autoHighlight)
}
/*!
+ \qmlproperty real GridView::preferredHighlightBegin
+ \qmlproperty real GridView::preferredHighlightEnd
+ \qmlproperty enumeration GridView::highlightRangeMode
+
+ These properties set the preferred range of the highlight (current item)
+ within the view.
+
+ Note that this is the correct way to influence where the
+ current item ends up when the view scrolls. For example, if you want the
+ currently selected item to be in the middle of the list, then set the
+ highlight range to be where the middle item would go. Then, when the view scrolls,
+ the currently selected item will be the item at that spot. This also applies to
+ when the currently selected item changes - it will scroll to within the preferred
+ highlight range. Furthermore, the behaviour of the current item index will occur
+ whether or not a highlight exists.
+
+ If highlightRangeMode is set to \e ApplyRange the view will
+ attempt to maintain the highlight within the range, however
+ the highlight can move outside of the range at the ends of the list
+ or due to a mouse interaction.
+
+ If highlightRangeMode is set to \e StrictlyEnforceRange the highlight will never
+ move outside of the range. This means that the current item will change
+ if a keyboard or mouse action would cause the highlight to move
+ outside of the range.
+
+ The default value is \e NoHighlightRange.
+
+ Note that a valid range requires preferredHighlightEnd to be greater
+ than or equal to preferredHighlightBegin.
+*/
+qreal QDeclarativeGridView::preferredHighlightBegin() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->highlightRangeStart;
+}
+
+void QDeclarativeGridView::setPreferredHighlightBegin(qreal start)
+{
+ Q_D(QDeclarativeGridView);
+ if (d->highlightRangeStart == start)
+ return;
+ d->highlightRangeStart = start;
+ d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit preferredHighlightBeginChanged();
+}
+
+qreal QDeclarativeGridView::preferredHighlightEnd() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->highlightRangeEnd;
+}
+
+void QDeclarativeGridView::setPreferredHighlightEnd(qreal end)
+{
+ Q_D(QDeclarativeGridView);
+ if (d->highlightRangeEnd == end)
+ return;
+ d->highlightRangeEnd = end;
+ d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit preferredHighlightEndChanged();
+}
+
+QDeclarativeGridView::HighlightRangeMode QDeclarativeGridView::highlightRangeMode() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->highlightRange;
+}
+
+void QDeclarativeGridView::setHighlightRangeMode(HighlightRangeMode mode)
+{
+ Q_D(QDeclarativeGridView);
+ if (d->highlightRange == mode)
+ return;
+ d->highlightRange = mode;
+ d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit highlightRangeModeChanged();
+}
+
+
+/*!
\qmlproperty enumeration GridView::flow
This property holds the flow of the grid.
@@ -1038,6 +1298,7 @@ void QDeclarativeGridView::setFlow(Flow flow)
d->updateGrid();
refill();
d->updateCurrent(d->currentIndex);
+ emit flowChanged();
}
}
@@ -1057,7 +1318,10 @@ bool QDeclarativeGridView::isWrapEnabled() const
void QDeclarativeGridView::setWrapEnabled(bool wrap)
{
Q_D(QDeclarativeGridView);
+ if (d->wrap == wrap)
+ return;
d->wrap = wrap;
+ emit keyNavigationWrapsChanged();
}
/*!
@@ -1081,6 +1345,7 @@ void QDeclarativeGridView::setCacheBuffer(int buffer)
d->buffer = buffer;
if (isComponentComplete())
refill();
+ emit cacheBufferChanged();
}
}
@@ -1125,13 +1390,34 @@ void QDeclarativeGridView::setCellHeight(int cellHeight)
d->layout();
}
}
+/*!
+ \qmlproperty enumeration GridView::snapMode
+
+ This property determines where the view will settle following a drag or flick.
+ The allowed values are:
+
+ \list
+ \o NoSnap (default) - the view will stop anywhere within the visible area.
+ \o SnapToRow - the view will settle with a row (or column for TopToBottom flow)
+ aligned with the start of the view.
+ \o SnapOneRow - the view will settle no more than one row (or column for TopToBottom flow)
+ away from the first visible row at the time the mouse button is released.
+ This mode is particularly useful for moving one page at a time.
+ \endlist
+
+*/
+QDeclarativeGridView::SnapMode QDeclarativeGridView::snapMode() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->snapMode;
+}
-void QDeclarativeGridView::sizeChange()
+void QDeclarativeGridView::setSnapMode(SnapMode mode)
{
Q_D(QDeclarativeGridView);
- if (isComponentComplete()) {
- d->updateGrid();
- d->layout();
+ if (d->snapMode != mode) {
+ d->snapMode = mode;
+ emit snapModeChanged();
}
}
@@ -1142,20 +1428,46 @@ void QDeclarativeGridView::viewportMoved()
d->lazyRelease = true;
if (d->flicked) {
if (yflick()) {
- if (d->velocityY > 0)
+ if (d->vData.velocity > 0)
d->bufferMode = QDeclarativeGridViewPrivate::BufferBefore;
- else if (d->velocityY < 0)
+ else if (d->vData.velocity < 0)
d->bufferMode = QDeclarativeGridViewPrivate::BufferAfter;
}
if (xflick()) {
- if (d->velocityX > 0)
+ if (d->hData.velocity > 0)
d->bufferMode = QDeclarativeGridViewPrivate::BufferBefore;
- else if (d->velocityX < 0)
+ else if (d->hData.velocity < 0)
d->bufferMode = QDeclarativeGridViewPrivate::BufferAfter;
}
}
refill();
+ if (isFlicking() || d->moving)
+ d->moveReason = QDeclarativeGridViewPrivate::Mouse;
+ if (d->moveReason != QDeclarativeGridViewPrivate::SetIndex) {
+ if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange && d->highlight) {
+ // reposition highlight
+ qreal pos = d->highlight->rowPos();
+ qreal viewPos = qRound(d->position());
+ if (pos > viewPos + d->highlightRangeEnd - 1 - d->rowSize())
+ pos = viewPos + d->highlightRangeEnd - 1 - d->rowSize();
+ if (pos < viewPos + d->highlightRangeStart)
+ pos = viewPos + d->highlightRangeStart;
+ d->highlight->setPosition(d->highlight->colPos(), pos);
+
+ // update current index
+ int idx = d->snapIndex();
+ if (idx >= 0 && idx != d->currentIndex) {
+ d->updateCurrent(idx);
+ if (d->currentItem && d->currentItem->colPos() != d->highlight->colPos() && d->autoHighlight) {
+ if (d->flow == LeftToRight)
+ d->highlightXAnimator->setSourceValue(d->currentItem->item->x());
+ else
+ d->highlightYAnimator->setSourceValue(d->currentItem->item->y());
+ }
+ }
+ }
+ }
}
qreal QDeclarativeGridView::minYExtent() const
@@ -1163,7 +1475,10 @@ qreal QDeclarativeGridView::minYExtent() const
Q_D(const QDeclarativeGridView);
if (d->flow == QDeclarativeGridView::TopToBottom)
return QDeclarativeFlickable::minYExtent();
- return -d->startPosition();
+ qreal extent = -d->startPosition();
+ if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange)
+ extent += d->highlightRangeStart;
+ return extent;
}
qreal QDeclarativeGridView::maxYExtent() const
@@ -1171,7 +1486,11 @@ qreal QDeclarativeGridView::maxYExtent() const
Q_D(const QDeclarativeGridView);
if (d->flow == QDeclarativeGridView::TopToBottom)
return QDeclarativeFlickable::maxYExtent();
- qreal extent = -(d->endPosition() - height());
+ qreal extent;
+ if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange)
+ extent = -(d->rowPosAt(count()-1) - d->highlightRangeEnd);
+ else
+ extent = -(d->endPosition() - height());
const qreal minY = minYExtent();
if (extent > minY)
extent = minY;
@@ -1183,7 +1502,10 @@ qreal QDeclarativeGridView::minXExtent() const
Q_D(const QDeclarativeGridView);
if (d->flow == QDeclarativeGridView::LeftToRight)
return QDeclarativeFlickable::minXExtent();
- return -d->startPosition();
+ qreal extent = -d->startPosition();
+ if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange)
+ extent += d->highlightRangeStart;
+ return extent;
}
qreal QDeclarativeGridView::maxXExtent() const
@@ -1191,7 +1513,11 @@ qreal QDeclarativeGridView::maxXExtent() const
Q_D(const QDeclarativeGridView);
if (d->flow == QDeclarativeGridView::LeftToRight)
return QDeclarativeFlickable::maxXExtent();
- qreal extent = -(d->endPosition() - width());
+ qreal extent;
+ if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange)
+ extent = -(d->rowPosAt(count()-1) - d->highlightRangeEnd);
+ else
+ extent = -(d->endPosition() - height());
const qreal minX = minXExtent();
if (extent > minX)
extent = minX;
@@ -1324,6 +1650,18 @@ void QDeclarativeGridView::moveCurrentIndexRight()
}
}
+/*!
+ \qmlmethod GridView::positionViewAtIndex(int index)
+
+ Positions the view such that the \a index is at the top (or left for horizontal orientation) of the view.
+ If positioning the view at the index would cause empty space to be displayed at
+ the end of the view, the view will be positioned at the end.
+
+ It is not recommended to use contentX or contentY to position the view
+ at a particular index. This is unreliable since removing items from the start
+ of the list does not cause all other items to be repositioned.
+ The correct way to bring an item into view is with positionViewAtIndex.
+*/
void QDeclarativeGridView::positionViewAtIndex(int index)
{
Q_D(QDeclarativeGridView);
@@ -1350,6 +1688,7 @@ void QDeclarativeGridView::positionViewAtIndex(int index)
for (int i = 0; i < oldVisible.count(); ++i)
d->releaseItem(oldVisible.at(i));
}
+ d->fixupPosition();
}
@@ -1363,6 +1702,7 @@ void QDeclarativeGridView::componentComplete()
d->updateCurrent(0);
else
d->updateCurrent(d->currentIndex);
+ d->fixupPosition();
}
void QDeclarativeGridView::trackedPositionChanged()
@@ -1371,22 +1711,50 @@ void QDeclarativeGridView::trackedPositionChanged()
if (!d->trackedItem || !d->currentItem)
return;
if (!isFlicking() && !d->moving && d->moveReason == QDeclarativeGridViewPrivate::SetIndex) {
+ const qreal trackedPos = d->trackedItem->rowPos();
const qreal viewPos = d->position();
- if (d->trackedItem->rowPos() < viewPos && d->currentItem->rowPos() < viewPos) {
- d->setPosition(d->currentItem->rowPos() < d->trackedItem->rowPos() ? d->trackedItem->rowPos() : d->currentItem->rowPos());
- } else if (d->trackedItem->endRowPos() > viewPos + d->size()
- && d->currentItem->endRowPos() > viewPos + d->size()) {
- qreal pos;
- if (d->trackedItem->endRowPos() < d->currentItem->endRowPos()) {
- pos = d->trackedItem->endRowPos() - d->size();
- if (d->rowSize() > d->size())
- pos = d->trackedItem->rowPos();
+ if (d->haveHighlightRange) {
+ if (d->highlightRange == StrictlyEnforceRange) {
+ qreal pos = viewPos;
+ if (trackedPos > pos + d->highlightRangeEnd - d->rowSize())
+ pos = trackedPos - d->highlightRangeEnd + d->rowSize();
+ if (trackedPos < pos + d->highlightRangeStart)
+ pos = trackedPos - d->highlightRangeStart;
+ d->setPosition(pos);
} else {
- pos = d->currentItem->endRowPos() - d->size();
- if (d->rowSize() > d->size())
- pos = d->currentItem->rowPos();
+ qreal pos = viewPos;
+ if (trackedPos < d->startPosition() + d->highlightRangeStart) {
+ pos = d->startPosition();
+ } else if (d->trackedItem->endRowPos() > d->endPosition() - d->size() + d->highlightRangeEnd) {
+ pos = d->endPosition() - d->size();
+ if (pos < d->startPosition())
+ pos = d->startPosition();
+ } else {
+ if (trackedPos < viewPos + d->highlightRangeStart) {
+ pos = trackedPos - d->highlightRangeStart;
+ } else if (trackedPos > viewPos + d->highlightRangeEnd - d->rowSize()) {
+ pos = trackedPos - d->highlightRangeEnd + d->rowSize();
+ }
+ }
+ d->setPosition(pos);
+ }
+ } else {
+ if (trackedPos < viewPos && d->currentItem->rowPos() < viewPos) {
+ d->setPosition(d->currentItem->rowPos() < trackedPos ? trackedPos : d->currentItem->rowPos());
+ } else if (d->trackedItem->endRowPos() > viewPos + d->size()
+ && d->currentItem->endRowPos() > viewPos + d->size()) {
+ qreal pos;
+ if (d->trackedItem->endRowPos() < d->currentItem->endRowPos()) {
+ pos = d->trackedItem->endRowPos() - d->size();
+ if (d->rowSize() > d->size())
+ pos = trackedPos;
+ } else {
+ pos = d->currentItem->endRowPos() - d->size();
+ if (d->rowSize() > d->size())
+ pos = d->currentItem->rowPos();
+ }
+ d->setPosition(pos);
}
- d->setPosition(pos);
}
}
}
@@ -1731,7 +2099,7 @@ void QDeclarativeGridView::refill()
QDeclarativeGridViewAttached *QDeclarativeGridView::qmlAttachedProperties(QObject *obj)
{
- return QDeclarativeGridViewAttached::properties(obj);
+ return new QDeclarativeGridViewAttached(obj);
}
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativegridview_p.h b/src/declarative/graphicsitems/qdeclarativegridview_p.h
index b488475d3f..787c04cc24 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativegridview_p.h
@@ -57,21 +57,30 @@ class Q_DECLARATIVE_EXPORT QDeclarativeGridView : public QDeclarativeFlickable
Q_OBJECT
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeGridView)
- Q_PROPERTY(QVariant model READ model WRITE setModel)
- Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate)
+ Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(QDeclarativeItem *currentItem READ currentItem NOTIFY currentIndexChanged)
Q_PROPERTY(int count READ count NOTIFY countChanged)
- Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight)
- Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightChanged)
+ Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged)
+ Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightItemChanged)
Q_PROPERTY(bool highlightFollowsCurrentItem READ highlightFollowsCurrentItem WRITE setHighlightFollowsCurrentItem)
- Q_PROPERTY(Flow flow READ flow WRITE setFlow)
- Q_PROPERTY(bool keyNavigationWraps READ isWrapEnabled WRITE setWrapEnabled)
- Q_PROPERTY(int cacheBuffer READ cacheBuffer WRITE setCacheBuffer)
+ Q_PROPERTY(qreal preferredHighlightBegin READ preferredHighlightBegin WRITE setPreferredHighlightBegin NOTIFY preferredHighlightBeginChanged)
+ Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd NOTIFY preferredHighlightEndChanged)
+ Q_PROPERTY(HighlightRangeMode highlightRangeMode READ highlightRangeMode WRITE setHighlightRangeMode NOTIFY highlightRangeModeChanged)
+
+ Q_PROPERTY(Flow flow READ flow WRITE setFlow NOTIFY flowChanged)
+ Q_PROPERTY(bool keyNavigationWraps READ isWrapEnabled WRITE setWrapEnabled NOTIFY keyNavigationWrapsChanged)
+ Q_PROPERTY(int cacheBuffer READ cacheBuffer WRITE setCacheBuffer NOTIFY cacheBufferChanged)
Q_PROPERTY(int cellWidth READ cellWidth WRITE setCellWidth NOTIFY cellWidthChanged)
Q_PROPERTY(int cellHeight READ cellHeight WRITE setCellHeight NOTIFY cellHeightChanged)
+
+ Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged)
+
+ Q_ENUMS(HighlightRangeMode)
+ Q_ENUMS(SnapMode)
Q_CLASSINFO("DefaultProperty", "data")
public:
@@ -97,6 +106,16 @@ public:
bool highlightFollowsCurrentItem() const;
void setHighlightFollowsCurrentItem(bool);
+ enum HighlightRangeMode { NoHighlightRange, ApplyRange, StrictlyEnforceRange };
+ HighlightRangeMode highlightRangeMode() const;
+ void setHighlightRangeMode(HighlightRangeMode mode);
+
+ qreal preferredHighlightBegin() const;
+ void setPreferredHighlightBegin(qreal);
+
+ qreal preferredHighlightEnd() const;
+ void setPreferredHighlightEnd(qreal);
+
Q_ENUMS(Flow)
enum Flow { LeftToRight, TopToBottom };
Flow flow() const;
@@ -114,6 +133,10 @@ public:
int cellHeight() const;
void setCellHeight(int);
+ enum SnapMode { NoSnap, SnapToRow, SnapOneRow };
+ SnapMode snapMode() const;
+ void setSnapMode(SnapMode mode);
+
static QDeclarativeGridViewAttached *qmlAttachedProperties(QObject *);
public Q_SLOTS:
@@ -129,6 +152,16 @@ Q_SIGNALS:
void cellWidthChanged();
void cellHeightChanged();
void highlightChanged();
+ void highlightItemChanged();
+ void preferredHighlightBeginChanged();
+ void preferredHighlightEndChanged();
+ void highlightRangeModeChanged();
+ void modelChanged();
+ void delegateChanged();
+ void flowChanged();
+ void keyNavigationWrapsChanged();
+ void cacheBufferChanged();
+ void snapModeChanged();
protected:
virtual void viewportMoved();
@@ -148,7 +181,6 @@ private Q_SLOTS:
void destroyRemoved();
void createdItem(int index, QDeclarativeItem *item);
void destroyingItem(QDeclarativeItem *item);
- void sizeChange();
void layout();
private:
@@ -161,9 +193,7 @@ class QDeclarativeGridViewAttached : public QObject
public:
QDeclarativeGridViewAttached(QObject *parent)
: QObject(parent), m_isCurrent(false), m_delayRemove(false) {}
- ~QDeclarativeGridViewAttached() {
- attachedProperties.remove(parent());
- }
+ ~QDeclarativeGridViewAttached() {}
Q_PROPERTY(QDeclarativeGridView *view READ view CONSTANT)
QDeclarativeGridView *view() { return m_view; }
@@ -186,15 +216,6 @@ public:
}
}
- static QDeclarativeGridViewAttached *properties(QObject *obj) {
- QDeclarativeGridViewAttached *rv = attachedProperties.value(obj);
- if (!rv) {
- rv = new QDeclarativeGridViewAttached(obj);
- attachedProperties.insert(obj, rv);
- }
- return rv;
- }
-
void emitAdd() { emit add(); }
void emitRemove() { emit remove(); }
@@ -206,10 +227,8 @@ Q_SIGNALS:
public:
QDeclarativeGridView *m_view;
- bool m_isCurrent;
- bool m_delayRemove;
-
- static QHash<QObject*, QDeclarativeGridViewAttached*> attachedProperties;
+ bool m_isCurrent : 1;
+ bool m_delayRemove : 1;
};
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 99ab053470..425976fc8c 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -127,7 +127,6 @@ QT_BEGIN_NAMESPACE
QDeclarativeImage::QDeclarativeImage(QDeclarativeItem *parent)
: QDeclarativeImageBase(*(new QDeclarativeImagePrivate), parent)
{
- connect(this, SIGNAL(pixmapChanged()), this, SLOT(updatePaintedGeometry()));
}
QDeclarativeImage::QDeclarativeImage(QDeclarativeImagePrivate &dd, QDeclarativeItem *parent)
@@ -172,7 +171,7 @@ void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap)
status = pix.isNull() ? QDeclarativeImageBase::Null : QDeclarativeImageBase::Ready;
q->update();
- emit q->pixmapChanged();
+ q->pixmapChange();
}
/*!
@@ -232,6 +231,16 @@ qreal QDeclarativeImage::paintedHeight() const
\o Error - an error occurred while loading the image
\endlist
+ Note that a change in the status property does not cause anything to happen
+ (although it reflects what has happened with the image internally). If you wish
+ to react to the change in status you need to do it yourself, for example in one
+ of the following ways:
+ \list
+ \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: image.status = Image.Ready;}
+ \o Do something inside the onStatusChanged signal handler, e.g. Image{id: image; onStatusChanged: if(image.status == Image.Ready) console.log('Loaded');}
+ \o Bind to the status variable somewhere, e.g. Text{text: if(image.status!=Image.Ready){'Not Loaded';}else{'Loaded';}}
+ \endlist
+
\sa progress
*/
@@ -374,4 +383,10 @@ void QDeclarativeImage::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWi
}
}
+void QDeclarativeImage::pixmapChange()
+{
+ updatePaintedGeometry();
+ emit pixmapChanged();
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativeimage_p.h b/src/declarative/graphicsitems/qdeclarativeimage_p.h
index fb77ac9fa5..da6cbd5a9d 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimage_p.h
@@ -79,12 +79,14 @@ public:
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
Q_SIGNALS:
+ void pixmapChanged();
void fillModeChanged();
void paintedGeometryChanged();
protected:
QDeclarativeImage(QDeclarativeImagePrivate &dd, QDeclarativeItem *parent);
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
+ void pixmapChange();
protected Q_SLOTS:
void updatePaintedGeometry();
diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
index a8cce3f79f..e65c9d1da6 100644
--- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
@@ -52,7 +52,6 @@ QT_BEGIN_NAMESPACE
QDeclarativeImageBase::QDeclarativeImageBase(QDeclarativeImageBasePrivate &dd, QDeclarativeItem *parent)
: QDeclarativeItem(dd, parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QDeclarativeImageBase::~QDeclarativeImageBase()
@@ -131,7 +130,7 @@ void QDeclarativeImageBase::load()
setImplicitWidth(0);
setImplicitHeight(0);
emit statusChanged(d->status);
- emit pixmapChanged();
+ pixmapChange();
update();
} else {
d->status = Loading;
@@ -145,19 +144,19 @@ void QDeclarativeImageBase::load()
static int thisRequestProgress = -1;
static int thisRequestFinished = -1;
if (replyDownloadProgress == -1) {
- replyDownloadProgress =
+ replyDownloadProgress =
QDeclarativePixmapReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)");
- replyFinished =
+ replyFinished =
QDeclarativePixmapReply::staticMetaObject.indexOfSignal("finished()");
- thisRequestProgress =
+ thisRequestProgress =
QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)");
thisRequestFinished =
QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestFinished()");
}
- QMetaObject::connect(reply, replyFinished, this,
+ QMetaObject::connect(reply, replyFinished, this,
thisRequestFinished, Qt::DirectConnection);
- QMetaObject::connect(reply, replyDownloadProgress, this,
+ QMetaObject::connect(reply, replyDownloadProgress, this,
thisRequestProgress, Qt::DirectConnection);
} else {
//### should be unified with requestFinished
@@ -173,7 +172,7 @@ void QDeclarativeImageBase::load()
d->progress = 1.0;
emit statusChanged(d->status);
emit progressChanged(d->progress);
- emit pixmapChanged();
+ pixmapChange();
update();
}
}
@@ -197,7 +196,7 @@ void QDeclarativeImageBase::requestFinished()
d->progress = 1.0;
emit statusChanged(d->status);
emit progressChanged(1.0);
- emit pixmapChanged();
+ pixmapChange();
update();
}
@@ -218,4 +217,8 @@ void QDeclarativeImageBase::componentComplete()
load();
}
+void QDeclarativeImageBase::pixmapChange()
+{
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
index c8c50acb61..b215193674 100644
--- a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
@@ -75,12 +75,12 @@ Q_SIGNALS:
void sourceChanged(const QUrl &);
void statusChanged(Status);
void progressChanged(qreal progress);
- void pixmapChanged();
void asynchronousChanged();
protected:
virtual void load();
virtual void componentComplete();
+ virtual void pixmapChange();
QDeclarativeImageBase(QDeclarativeImageBasePrivate &dd, QDeclarativeItem *parent);
private Q_SLOTS:
diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h
index 2e062a8e69..c4a61f34cc 100644
--- a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h
@@ -71,6 +71,7 @@ public:
pendingPixmapCache(false),
async(false)
{
+ QGraphicsItemPrivate::flags = QGraphicsItemPrivate::flags & ~QGraphicsItem::ItemHasNoContents;
}
QPixmap pix;
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index c28280831a..c7d7a4c251 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -43,6 +43,7 @@
#include "qdeclarativeitem.h"
#include "qdeclarativeevents_p_p.h"
+#include <private/qdeclarativeengine_p.h>
#include <qfxperf_p_p.h>
#include <qdeclarativeengine.h>
@@ -51,6 +52,7 @@
#include <qdeclarativeview.h>
#include <qdeclarativestategroup_p.h>
#include <qdeclarativecomponent.h>
+#include <qdeclarativeinfo.h>
#include <QDebug>
#include <QPen>
@@ -498,6 +500,32 @@ void QDeclarativeKeyNavigationAttached::setDown(QDeclarativeItem *i)
emit changed();
}
+QDeclarativeItem *QDeclarativeKeyNavigationAttached::tab() const
+{
+ Q_D(const QDeclarativeKeyNavigationAttached);
+ return d->tab;
+}
+
+void QDeclarativeKeyNavigationAttached::setTab(QDeclarativeItem *i)
+{
+ Q_D(QDeclarativeKeyNavigationAttached);
+ d->tab = i;
+ emit changed();
+}
+
+QDeclarativeItem *QDeclarativeKeyNavigationAttached::backtab() const
+{
+ Q_D(const QDeclarativeKeyNavigationAttached);
+ return d->backtab;
+}
+
+void QDeclarativeKeyNavigationAttached::setBacktab(QDeclarativeItem *i)
+{
+ Q_D(QDeclarativeKeyNavigationAttached);
+ d->backtab = i;
+ emit changed();
+}
+
void QDeclarativeKeyNavigationAttached::keyPressed(QKeyEvent *event)
{
Q_D(QDeclarativeKeyNavigationAttached);
@@ -529,6 +557,18 @@ void QDeclarativeKeyNavigationAttached::keyPressed(QKeyEvent *event)
event->accept();
}
break;
+ case Qt::Key_Tab:
+ if (d->tab) {
+ d->tab->setFocus(true);
+ event->accept();
+ }
+ break;
+ case Qt::Key_Backtab:
+ if (d->backtab) {
+ d->backtab->setFocus(true);
+ event->accept();
+ }
+ break;
default:
break;
}
@@ -563,6 +603,16 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
event->accept();
}
break;
+ case Qt::Key_Tab:
+ if (d->tab) {
+ event->accept();
+ }
+ break;
+ case Qt::Key_Backtab:
+ if (d->backtab) {
+ event->accept();
+ }
+ break;
default:
break;
}
@@ -902,6 +952,8 @@ const QDeclarativeKeysAttached::SigMap QDeclarativeKeysAttached::sigMap[] = {
{ Qt::Key_Right, "rightPressed" },
{ Qt::Key_Up, "upPressed" },
{ Qt::Key_Down, "downPressed" },
+ { Qt::Key_Tab, "tabPressed" },
+ { Qt::Key_Backtab, "backtabPressed" },
{ Qt::Key_Asterisk, "asteriskPressed" },
{ Qt::Key_NumberSign, "numberSignPressed" },
{ Qt::Key_Escape, "escapePressed" },
@@ -1172,7 +1224,7 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec
See the \l {Keys}{Keys} attached property for detailed documentation.
- \section 1 Property Change Signals
+ \section1 Property Change Signals
Most properties on Item and Item derivatives have a signal
emitted when they change. By convention, the signals are
@@ -1241,6 +1293,16 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec
\internal
*/
+/*!
+ \fn void QDeclarativeItem::smoothChanged()
+ \internal
+*/
+
+/*!
+ \fn void QDeclarativeItem::clipChanged()
+ \internal
+*/
+
/*! \fn void QDeclarativeItem::transformOriginChanged(TransformOrigin)
\internal
*/
@@ -1440,7 +1502,7 @@ QDeclarativeAnchors *QDeclarativeItem::anchors()
void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty<QObject> *prop, QObject *o)
{
QDeclarativeItem *i = qobject_cast<QDeclarativeItem *>(o);
- if (i)
+ if (i)
i->setParentItem(static_cast<QDeclarativeItem *>(prop->object));
else
o->setParent(static_cast<QDeclarativeItem *>(prop->object));
@@ -1568,7 +1630,7 @@ void QDeclarativeItemPrivate::transform_clear(QDeclarativeListProperty<QGraphics
*/
/*! \internal */
-QDeclarativeListProperty<QObject> QDeclarativeItem::data()
+QDeclarativeListProperty<QObject> QDeclarativeItem::data()
{
return QDeclarativeListProperty<QObject>(this, 0, QDeclarativeItemPrivate::data_append);
}
@@ -1730,8 +1792,12 @@ void QDeclarativeItem::geometryChanged(const QRectF &newGeometry,
if (d->_anchors)
d->_anchors->d_func()->updateMe();
- if (transformOrigin() != QDeclarativeItem::TopLeft)
- setTransformOriginPoint(d->computeTransformOrigin());
+ if (transformOrigin() != QDeclarativeItem::TopLeft
+ && (newGeometry.width() != oldGeometry.width() || newGeometry.height() != oldGeometry.height())) {
+ QPointF origin = d->computeTransformOrigin();
+ if (transformOriginPoint() != origin)
+ setTransformOriginPoint(origin);
+ }
if (newGeometry.x() != oldGeometry.x())
emit xChanged();
@@ -2158,6 +2224,58 @@ void QDeclarativeItem::setKeepMouseGrab(bool keep)
}
/*!
+ \qmlmethod object Item::mapFromItem(Item item, int x, int y)
+
+ Maps the point (\a x, \a y), which is in \a item's coordinate system, to
+ this item's coordinate system, and returns an object with \c x and \c y
+ properties matching the mapped cooordinate.
+
+ If \a item is a \c null value, this maps the point from the coordinate
+ system of the root QML view.
+*/
+QScriptValue QDeclarativeItem::mapFromItem(const QScriptValue &item, int x, int y) const
+{
+ QScriptValue sv = QDeclarativeEnginePrivate::getScriptEngine(qmlEngine(this))->newObject();
+ QDeclarativeItem *itemObj = qobject_cast<QDeclarativeItem*>(item.toQObject());
+ if (!itemObj && !item.isNull()) {
+ qWarning().nospace() << "mapFromItem() given argument " << item.toString() << " which is neither null nor an Item";
+ return 0;
+ }
+
+ // If QGraphicsItem::mapFromItem() is called with 0, behaves the same as mapFromScene()
+ QPointF p = qobject_cast<QGraphicsItem*>(this)->mapFromItem(itemObj, x, y);
+ sv.setProperty("x", p.x());
+ sv.setProperty("y", p.y());
+ return sv;
+}
+
+/*!
+ \qmlmethod object Item::mapToItem(Item item, int x, int y)
+
+ Maps the point (\a x, \a y), which is in this item's coordinate system, to
+ \a item's coordinate system, and returns an object with \c x and \c y
+ properties matching the mapped cooordinate.
+
+ If \a item is a \c null value, this maps \a x and \a y to the coordinate
+ system of the root QML view.
+*/
+QScriptValue QDeclarativeItem::mapToItem(const QScriptValue &item, int x, int y) const
+{
+ QScriptValue sv = QDeclarativeEnginePrivate::getScriptEngine(qmlEngine(this))->newObject();
+ QDeclarativeItem *itemObj = qobject_cast<QDeclarativeItem*>(item.toQObject());
+ if (!itemObj && !item.isNull()) {
+ qWarning().nospace() << "mapToItem() given argument " << item.toString() << " which is neither null nor an Item";
+ return 0;
+ }
+
+ // If QGraphicsItem::mapToItem() is called with 0, behaves the same as mapToScene()
+ QPointF p = qobject_cast<QGraphicsItem*>(this)->mapToItem(itemObj, x, y);
+ sv.setProperty("x", p.x());
+ sv.setProperty("y", p.y());
+ return sv;
+}
+
+/*!
\internal
This function emits the \e focusChanged signal.
@@ -2175,16 +2293,16 @@ void QDeclarativeItem::focusChanged(bool flag)
QDeclarativeListProperty<QDeclarativeItem> QDeclarativeItem::fxChildren()
{
return QDeclarativeListProperty<QDeclarativeItem>(this, 0, QDeclarativeItemPrivate::children_append,
- QDeclarativeItemPrivate::children_count,
- QDeclarativeItemPrivate::children_at);
+ QDeclarativeItemPrivate::children_count,
+ QDeclarativeItemPrivate::children_at);
}
/*! \internal */
QDeclarativeListProperty<QObject> QDeclarativeItem::resources()
{
- return QDeclarativeListProperty<QObject>(this, 0, QDeclarativeItemPrivate::resources_append,
- QDeclarativeItemPrivate::resources_count,
- QDeclarativeItemPrivate::resources_at);
+ return QDeclarativeListProperty<QObject>(this, 0, QDeclarativeItemPrivate::resources_append,
+ QDeclarativeItemPrivate::resources_count,
+ QDeclarativeItemPrivate::resources_at);
}
/*!
@@ -2461,14 +2579,26 @@ QPointF QDeclarativeItemPrivate::computeTransformOrigin() const
/*! \internal */
bool QDeclarativeItem::sceneEvent(QEvent *event)
{
- bool rv = QGraphicsItem::sceneEvent(event);
+ if (event->type() == QEvent::KeyPress) {
+ QKeyEvent *k = static_cast<QKeyEvent *>(event);
- if (event->type() == QEvent::FocusIn ||
- event->type() == QEvent::FocusOut) {
- focusChanged(hasFocus());
- }
+ if ((k->key() == Qt::Key_Tab || k->key() == Qt::Key_Backtab) &&
+ !(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) {
+ keyPressEvent(static_cast<QKeyEvent *>(event));
+ if (!event->isAccepted())
+ return QGraphicsItem::sceneEvent(event);
+ } else {
+ return QGraphicsItem::sceneEvent(event);
+ }
+ } else {
+ bool rv = QGraphicsItem::sceneEvent(event);
- return rv;
+ if (event->type() == QEvent::FocusIn ||
+ event->type() == QEvent::FocusOut) {
+ focusChanged(hasFocus());
+ }
+ return rv;
+ }
}
/*! \internal */
@@ -2735,6 +2865,27 @@ bool QDeclarativeItem::heightValid() const
return d->heightValid;
}
+/*! \internal */
+void QDeclarativeItem::setSize(const QSizeF &size)
+{
+ Q_D(QDeclarativeItem);
+ d->heightValid = true;
+ d->widthValid = true;
+
+ if (d->height == size.height() && d->width == size.width())
+ return;
+
+ qreal oldHeight = d->height;
+ qreal oldWidth = d->width;
+
+ prepareGeometryChange();
+ d->height = size.height();
+ d->width = size.width();
+
+ geometryChanged(QRectF(x(), y(), width(), height()),
+ QRectF(x(), y(), oldWidth, oldHeight));
+}
+
/*!
\qmlproperty bool Item::wantsFocus
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.h b/src/declarative/graphicsitems/qdeclarativeitem.h
index 3ae404d70a..2053eba135 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.h
+++ b/src/declarative/graphicsitems/qdeclarativeitem.h
@@ -143,6 +143,8 @@ public:
void resetHeight();
qreal implicitHeight() const;
+ void setSize(const QSizeF &size);
+
TransformOrigin transformOrigin() const;
void setTransformOrigin(TransformOrigin);
@@ -159,6 +161,9 @@ public:
bool keepMouseGrab() const;
void setKeepMouseGrab(bool);
+ Q_INVOKABLE QScriptValue mapFromItem(const QScriptValue &item, int x, int y) const;
+ Q_INVOKABLE QScriptValue mapToItem(const QScriptValue &item, int x, int y) const;
+
QDeclarativeAnchorLine left() const;
QDeclarativeAnchorLine right() const;
QDeclarativeAnchorLine horizontalCenter() const;
@@ -206,8 +211,6 @@ protected:
QDeclarativeItem(QDeclarativeItemPrivate &dd, QDeclarativeItem *parent = 0);
private:
- friend class QDeclarativeStatePrivate;
- friend class QDeclarativeAnchors;
Q_DISABLE_COPY(QDeclarativeItem)
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeItem)
};
diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h
index 81c568856f..e4249709a4 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h
@@ -60,8 +60,8 @@
#include "qdeclarativeitemchangelistener_p.h"
#include <private/qpodvector_p.h>
-#include "../util/qdeclarativestate_p.h"
-#include "../util/qdeclarativenullablevalue_p_p.h"
+#include <private/qdeclarativestate_p.h>
+#include <private/qdeclarativenullablevalue_p_p.h>
#include <qdeclarative.h>
#include <qdeclarativecontext.h>
@@ -289,12 +289,14 @@ class QDeclarativeKeyNavigationAttachedPrivate : public QObjectPrivate
{
public:
QDeclarativeKeyNavigationAttachedPrivate()
- : QObjectPrivate(), left(0), right(0), up(0), down(0) {}
+ : QObjectPrivate(), left(0), right(0), up(0), down(0), tab(0), backtab(0) {}
QDeclarativeItem *left;
QDeclarativeItem *right;
QDeclarativeItem *up;
QDeclarativeItem *down;
+ QDeclarativeItem *tab;
+ QDeclarativeItem *backtab;
};
class QDeclarativeKeyNavigationAttached : public QObject, public QDeclarativeItemKeyFilter
@@ -306,6 +308,9 @@ class QDeclarativeKeyNavigationAttached : public QObject, public QDeclarativeIte
Q_PROPERTY(QDeclarativeItem *right READ right WRITE setRight NOTIFY changed)
Q_PROPERTY(QDeclarativeItem *up READ up WRITE setUp NOTIFY changed)
Q_PROPERTY(QDeclarativeItem *down READ down WRITE setDown NOTIFY changed)
+ Q_PROPERTY(QDeclarativeItem *tab READ tab WRITE setTab NOTIFY changed)
+ Q_PROPERTY(QDeclarativeItem *backtab READ backtab WRITE setBacktab NOTIFY changed)
+
public:
QDeclarativeKeyNavigationAttached(QObject * = 0);
@@ -317,6 +322,10 @@ public:
void setUp(QDeclarativeItem *);
QDeclarativeItem *down() const;
void setDown(QDeclarativeItem *);
+ QDeclarativeItem *tab() const;
+ void setTab(QDeclarativeItem *);
+ QDeclarativeItem *backtab() const;
+ void setBacktab(QDeclarativeItem *);
static QDeclarativeKeyNavigationAttached *qmlAttachedProperties(QObject *);
@@ -407,6 +416,8 @@ Q_SIGNALS:
void rightPressed(QDeclarativeKeyEvent *event);
void upPressed(QDeclarativeKeyEvent *event);
void downPressed(QDeclarativeKeyEvent *event);
+ void tabPressed(QDeclarativeKeyEvent *event);
+ void backtabPressed(QDeclarativeKeyEvent *event);
void asteriskPressed(QDeclarativeKeyEvent *event);
void numberSignPressed(QDeclarativeKeyEvent *event);
diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
index f3b9385b07..25660f8450 100644
--- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
@@ -106,7 +106,6 @@ void QDeclarativeItemModule::defineModule()
QML_REGISTER_TYPE(Qt,4,6,LayoutItem,QDeclarativeLayoutItem);
QML_REGISTER_TYPE(Qt,4,6,ListView,QDeclarativeListView);
QML_REGISTER_TYPE(Qt,4,6,Loader,QDeclarativeLoader);
- QML_REGISTER_TYPE(Qt,4,6,MouseRegion,QDeclarativeMouseArea);
QML_REGISTER_TYPE(Qt,4,6,MouseArea,QDeclarativeMouseArea);
QML_REGISTER_TYPE(Qt,4,6,Opacity,QGraphicsOpacityEffect);
QML_REGISTER_TYPE(Qt,4,6,ParticleMotion,QDeclarativeParticleMotion);
@@ -139,9 +138,6 @@ void QDeclarativeItemModule::defineModule()
QML_REGISTER_TYPE(Qt,4,6,VisibleArea,QDeclarativeFlickableVisibleArea);
QML_REGISTER_TYPE(Qt,4,6,VisualDataModel,QDeclarativeVisualDataModel);
QML_REGISTER_TYPE(Qt,4,6,VisualItemModel,QDeclarativeVisualItemModel);
-#ifdef QT_WEBKIT_LIB
- QML_REGISTER_TYPE(Qt,4,6,WebView,QDeclarativeWebView);
-#endif
QML_REGISTER_NOCREATE_TYPE(QDeclarativeAnchors);
QML_REGISTER_NOCREATE_TYPE(QGraphicsEffect);
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index c496c97795..d54bb70339 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -47,6 +47,7 @@
#include <qdeclarativeeasefollow_p.h>
#include <qdeclarativeexpression.h>
#include <qdeclarativeengine.h>
+#include <qdeclarativeguard_p.h>
#include <qlistmodelinterface_p.h>
#include <QKeyEvent>
@@ -138,7 +139,7 @@ public:
//----------------------------------------------------------------------------
-class QDeclarativeListViewPrivate : public QDeclarativeFlickablePrivate, private QDeclarativeItemChangeListener
+class QDeclarativeListViewPrivate : public QDeclarativeFlickablePrivate
{
Q_DECLARE_PUBLIC(QDeclarativeListView)
@@ -222,7 +223,7 @@ public:
if (!visibleItems.isEmpty()) {
pos = (*visibleItems.constBegin())->position();
if (visibleIndex > 0)
- pos -= visibleIndex * (averageSize + spacing) - spacing;
+ pos -= visibleIndex * (averageSize + spacing);
}
return pos;
}
@@ -388,11 +389,14 @@ public:
}
}
- void itemGeometryChanged(QDeclarativeItem *, const QRectF &newGeometry, const QRectF &oldGeometry) {
- if ((orient == QDeclarativeListView::Vertical && newGeometry.height() != oldGeometry.height())
- || newGeometry.width() != oldGeometry.width()) {
- layout();
- fixupPosition();
+ void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) {
+ QDeclarativeFlickablePrivate::itemGeometryChanged(item, newGeometry, oldGeometry);
+ if (item != viewport) {
+ if ((orient == QDeclarativeListView::Vertical && newGeometry.height() != oldGeometry.height())
+ || newGeometry.width() != oldGeometry.width()) {
+ layout();
+ fixupPosition();
+ }
}
}
@@ -424,12 +428,11 @@ public:
void updateHeader();
void updateFooter();
void fixupPosition();
- virtual void fixupY();
- virtual void fixupX();
- virtual void flickX(qreal velocity);
- virtual void flickY(qreal velocity);
+ virtual void fixup(AxisData &data, qreal minExtent, qreal maxExtent);
+ virtual void flick(QDeclarativeFlickablePrivate::AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity);
- QGuard<QDeclarativeVisualModel> model;
+ QDeclarativeGuard<QDeclarativeVisualModel> model;
QVariant modelVariant;
QList<FxListItem*> visibleItems;
QHash<QDeclarativeItem*,int> unrequestedItems;
@@ -530,9 +533,9 @@ FxListItem *QDeclarativeListViewPrivate::createItem(int modelIndex)
listItem->attached->m_prevSection = sectionAt(modelIndex-1);
}
}
+ listItem->item->setZValue(1);
// complete
model->completeItem();
- listItem->item->setZValue(1);
listItem->item->setParent(q->viewport());
QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
@@ -798,10 +801,13 @@ void QDeclarativeListViewPrivate::createHighlight()
if (item) {
item->setParent(q->viewport());
highlight = new FxListItem(item, q);
- if (orient == QDeclarativeListView::Vertical)
- highlight->item->setHeight(currentItem->item->height());
- else
- highlight->item->setWidth(currentItem->item->width());
+ if (currentItem && autoHighlight) {
+ if (orient == QDeclarativeListView::Vertical) {
+ highlight->item->setHeight(currentItem->item->height());
+ } else {
+ highlight->item->setWidth(currentItem->item->width());
+ }
+ }
const QLatin1String posProp(orient == QDeclarativeListView::Vertical ? "y" : "x");
highlightPosAnimator = new QDeclarativeEaseFollow(q);
highlightPosAnimator->setTarget(QDeclarativeProperty(highlight->item, posProp));
@@ -816,7 +822,7 @@ void QDeclarativeListViewPrivate::createHighlight()
}
}
if (changed)
- emit q->highlightChanged();
+ emit q->highlightItemChanged();
}
void QDeclarativeListViewPrivate::updateHighlight()
@@ -1057,52 +1063,16 @@ void QDeclarativeListViewPrivate::fixupPosition()
fixupX();
}
-void QDeclarativeListViewPrivate::fixupY()
+void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
{
Q_Q(QDeclarativeListView);
- if (orient == QDeclarativeListView::Horizontal)
+ if ((orient == QDeclarativeListView::Horizontal && &data == &vData)
+ || (orient == QDeclarativeListView::Vertical && &data == &hData))
return;
- if (!q->yflick() || _moveY.timeLine())
- return;
-
- int oldDuration = fixupDuration;
- fixupDuration = moveReason == Mouse ? fixupDuration : 0;
-
- if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
- if (currentItem && currentItem->position() - position() != highlightRangeStart) {
- qreal pos = currentItem->position() - highlightRangeStart;
- timeline.reset(_moveY);
- if (fixupDuration)
- timeline.move(_moveY, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- else
- _moveY.setValue(-pos);
- vTime = timeline.time();
- }
- } else if (snapMode != QDeclarativeListView::NoSnap) {
- if (FxListItem *item = snapItemAt(position())) {
- qreal pos = qMin(item->position() - highlightRangeStart, -q->maxYExtent());
- qreal dist = qAbs(_moveY + pos);
- if (dist > 0) {
- timeline.reset(_moveY);
- if (fixupDuration)
- timeline.move(_moveY, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- else
- _moveY.setValue(-pos);
- vTime = timeline.time();
- }
- }
- } else {
- QDeclarativeFlickablePrivate::fixupY();
- }
- fixupDuration = oldDuration;
-}
-void QDeclarativeListViewPrivate::fixupX()
-{
- Q_Q(QDeclarativeListView);
- if (orient == QDeclarativeListView::Vertical)
- return;
- if (!q->xflick() || _moveX.timeLine())
+ if ((&data == &vData && !q->yflick())
+ || (&data == &hData && !q->xflick())
+ || data.move.timeLine())
return;
int oldDuration = fixupDuration;
@@ -1111,63 +1081,62 @@ void QDeclarativeListViewPrivate::fixupX()
if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
if (currentItem && currentItem->position() - position() != highlightRangeStart) {
qreal pos = currentItem->position() - highlightRangeStart;
- timeline.reset(_moveX);
+ timeline.reset(data.move);
if (fixupDuration)
- timeline.move(_moveX, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration);
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
else
- _moveX.setValue(-pos);
+ data.move.setValue(-pos);
vTime = timeline.time();
}
} else if (snapMode != QDeclarativeListView::NoSnap) {
if (FxListItem *item = snapItemAt(position())) {
- qreal pos = qMin(item->position() - highlightRangeStart, -q->maxXExtent());
- qreal dist = qAbs(_moveX + pos);
+ qreal pos = qMin(item->position() - highlightRangeStart, -maxExtent);
+ qreal dist = qAbs(data.move + pos);
if (dist > 0) {
- timeline.reset(_moveX);
+ timeline.reset(data.move);
if (fixupDuration)
- timeline.move(_moveX, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration);
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
else
- _moveX.setValue(-pos);
+ data.move.setValue(-pos);
vTime = timeline.time();
}
}
} else {
- QDeclarativeFlickablePrivate::fixupX();
+ QDeclarativeFlickablePrivate::fixup(data, minExtent, maxExtent);
}
fixupDuration = oldDuration;
}
-void QDeclarativeListViewPrivate::flickX(qreal velocity)
+void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
+ QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity)
{
Q_Q(QDeclarativeListView);
moveReason = Mouse;
if ((!haveHighlightRange || highlightRange != QDeclarativeListView::StrictlyEnforceRange) && snapMode == QDeclarativeListView::NoSnap) {
- QDeclarativeFlickablePrivate::flickX(velocity);
+ QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity);
return;
}
qreal maxDistance = -1;
- const qreal maxX = q->maxXExtent();
- const qreal minX = q->minXExtent();
// -ve velocity means list is moving up
if (velocity > 0) {
if (snapMode == QDeclarativeListView::SnapOneItem) {
if (FxListItem *item = firstVisibleItem())
- maxDistance = qAbs(item->position() + _moveX.value());
- } else if (_moveX.value() < minX) {
- maxDistance = qAbs(minX -_moveX.value() + (overShoot?overShootDistance(velocity, q->width()):0));
+ maxDistance = qAbs(item->position() + data.move.value());
+ } else if (data.move.value() < minExtent) {
+ maxDistance = qAbs(minExtent - data.move.value() + (overShoot?overShootDistance(velocity, vSize):0));
}
if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange)
- flickTargetX = minX;
+ data.flickTarget = minExtent;
} else {
if (snapMode == QDeclarativeListView::SnapOneItem) {
if (FxListItem *item = nextVisibleItem())
- maxDistance = qAbs(item->position() + _moveX.value());
- } else if (_moveX.value() > maxX) {
- maxDistance = qAbs(maxX - _moveX.value()) + (overShoot?overShootDistance(velocity, q->width()):0);
+ maxDistance = qAbs(item->position() + data.move.value());
+ } else if (data.move.value() > maxExtent) {
+ maxDistance = qAbs(maxExtent - data.move.value()) + (overShoot?overShootDistance(velocity, vSize):0);
}
if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange)
- flickTargetX = maxX;
+ data.flickTarget = maxExtent;
}
if (maxDistance > 0 && (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)) {
// These modes require the list to stop exactly on an item boundary.
@@ -1190,146 +1159,48 @@ void QDeclarativeListViewPrivate::flickX(qreal velocity)
qreal dist = v2 / (accel * 2.0);
if (v > 0)
dist = -dist;
- flickTargetX = -snapPosAt(-(_moveX.value() - highlightRangeStart) + dist) + highlightRangeStart;
- dist = -flickTargetX + _moveX.value();
+ data.flickTarget = -snapPosAt(-(data.move.value() - highlightRangeStart) + dist) + highlightRangeStart;
+ dist = -data.flickTarget + data.move.value();
accel = v2 / (2.0f * qAbs(dist));
overshootDist = 0.0;
} else {
- flickTargetX = velocity > 0 ? minX : maxX;
- overshootDist = overShoot ? overShootDistance(v, q->width()) : 0;
+ data.flickTarget = velocity > 0 ? minExtent : maxExtent;
+ overshootDist = overShoot ? overShootDistance(v, vSize) : 0;
}
- timeline.reset(_moveX);
- timeline.accel(_moveX, v, accel, maxDistance + overshootDist);
- timeline.callback(QDeclarativeTimeLineCallback(&_moveX, fixupX_callback, this));
+ timeline.reset(data.move);
+ timeline.accel(data.move, v, accel, maxDistance + overshootDist);
+ timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
flicked = true;
emit q->flickingChanged();
emit q->flickStarted();
correctFlick = true;
} else {
// reevaluate the target boundary.
- qreal newtarget = flickTargetX;
+ qreal newtarget = data.flickTarget;
if (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)
- newtarget = -snapPosAt(-(flickTargetX - highlightRangeStart)) + highlightRangeStart;
- if (velocity < 0 && newtarget < maxX)
- newtarget = maxX;
- else if (velocity > 0 && newtarget > minX)
- newtarget = minX;
- if (newtarget == flickTargetX) // boundary unchanged - nothing to do
+ newtarget = -snapPosAt(-(data.flickTarget - highlightRangeStart)) + highlightRangeStart;
+ if (velocity < 0 && newtarget < maxExtent)
+ newtarget = maxExtent;
+ else if (velocity > 0 && newtarget > minExtent)
+ newtarget = minExtent;
+ if (newtarget == data.flickTarget) // boundary unchanged - nothing to do
return;
- flickTargetX = newtarget;
- qreal dist = -newtarget + _moveX.value();
+ data.flickTarget = newtarget;
+ qreal dist = -newtarget + data.move.value();
if ((v < 0 && dist < 0) || (v > 0 && dist > 0)) {
correctFlick = false;
- timeline.reset(_moveX);
- fixupX();
+ timeline.reset(data.move);
+ fixup(data, minExtent, maxExtent);
return;
}
- timeline.reset(_moveX);
- timeline.accelDistance(_moveX, v, -dist + (v < 0 ? -overshootDist : overshootDist));
- timeline.callback(QDeclarativeTimeLineCallback(&_moveX, fixupX_callback, this));
+ timeline.reset(data.move);
+ timeline.accelDistance(data.move, v, -dist + (v < 0 ? -overshootDist : overshootDist));
+ timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
}
} else {
correctFlick = false;
- timeline.reset(_moveX);
- fixupX();
- }
-}
-
-void QDeclarativeListViewPrivate::flickY(qreal velocity)
-{
- Q_Q(QDeclarativeListView);
-
- moveReason = Mouse;
- if ((!haveHighlightRange || highlightRange != QDeclarativeListView::StrictlyEnforceRange) && snapMode == QDeclarativeListView::NoSnap) {
- QDeclarativeFlickablePrivate::flickY(velocity);
- return;
- }
- qreal maxDistance = -1;
- const qreal maxY = q->maxYExtent();
- const qreal minY = q->minYExtent();
- // -ve velocity means list is moving up
- if (velocity > 0) {
- if (snapMode == QDeclarativeListView::SnapOneItem) {
- if (FxListItem *item = firstVisibleItem())
- maxDistance = qAbs(item->position() + _moveY.value());
- } else if (_moveY.value() < minY) {
- maxDistance = qAbs(minY -_moveY.value() + (overShoot?overShootDistance(velocity, q->height()):0));
- }
- if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange)
- flickTargetY = minY;
- } else {
- if (snapMode == QDeclarativeListView::SnapOneItem) {
- if (FxListItem *item = nextVisibleItem())
- maxDistance = qAbs(item->position() + _moveY.value());
- } else if (_moveY.value() > maxY) {
- maxDistance = qAbs(maxY - _moveY.value()) + (overShoot?overShootDistance(velocity, q->height()):0);
- }
- if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange)
- flickTargetY = maxY;
- }
- if (maxDistance > 0 && (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)) {
- // These modes require the list to stop exactly on an item boundary.
- // The initial flick will estimate the boundary to stop on.
- // Since list items can have variable sizes, the boundary will be
- // reevaluated and adjusted as we approach the boundary.
- qreal v = velocity;
- if (maxVelocity != -1 && maxVelocity < qAbs(v)) {
- if (v < 0)
- v = -maxVelocity;
- else
- v = maxVelocity;
- }
- if (!flicked) {
- // the initial flick - estimate boundary
- qreal accel = deceleration;
- qreal v2 = v * v;
- qreal maxAccel = v2 / (2.0f * maxDistance);
- if (maxAccel < accel) {
- qreal dist = v2 / (accel * 2.0);
- if (v > 0)
- dist = -dist;
- flickTargetY = -snapPosAt(-(_moveY.value() - highlightRangeStart) + dist) + highlightRangeStart;
- dist = -flickTargetY + _moveY.value();
- accel = v2 / (2.0f * qAbs(dist));
- overshootDist = 0.0;
- } else {
- flickTargetY = velocity > 0 ? minY : maxY;
- overshootDist = overShoot ? overShootDistance(v, q->height()) : 0;
- }
- timeline.reset(_moveY);
- timeline.accel(_moveY, v, accel, maxDistance + overshootDist);
- timeline.callback(QDeclarativeTimeLineCallback(&_moveY, fixupY_callback, this));
- flicked = true;
- emit q->flickingChanged();
- emit q->flickStarted();
- correctFlick = true;
- } else {
- // reevaluate the target boundary.
- qreal newtarget = flickTargetY;
- if (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)
- newtarget = -snapPosAt(-(flickTargetY - highlightRangeStart)) + highlightRangeStart;
- if (velocity < 0 && newtarget < maxY)
- newtarget = maxY;
- else if (velocity > 0 && newtarget > minY)
- newtarget = minY;
- if (newtarget == flickTargetY) // boundary unchanged - nothing to do
- return;
- flickTargetY = newtarget;
- qreal dist = -newtarget + _moveY.value();
- if ((v < 0 && dist < 0) || (v > 0 && dist > 0)) {
- correctFlick = false;
- timeline.reset(_moveY);
- fixupY();
- return;
- }
- timeline.reset(_moveY);
- timeline.accelDistance(_moveY, v, -dist + (v < 0 ? -overshootDist : overshootDist));
- timeline.callback(QDeclarativeTimeLineCallback(&_moveY, fixupY_callback, this));
- }
- } else {
- correctFlick = false;
- timeline.reset(_moveY);
- fixupY();
+ timeline.reset(data.move);
+ fixup(data, minExtent, maxExtent);
}
}
@@ -1358,6 +1229,11 @@ void QDeclarativeListViewPrivate::flickY(qreal velocity)
In this case ListModel is a handy way for us to test our UI. In practice
the model would be implemented in C++, or perhaps via a SQL data source.
+
+ Note that views do not enable \e clip automatically. If the view
+ is not clipped by another item or the screen, it will be necessary
+ to set \e {clip: true} in order to have the out of view items clipped
+ nicely.
*/
QDeclarativeListView::QDeclarativeListView(QDeclarativeItem *parent)
@@ -1430,7 +1306,7 @@ QDeclarativeListView::~QDeclarativeListView()
id: myDelegate
Item {
id: wrapper
- ListView.onRemove: SequentialAnimation {
+ SequentialAnimation on ListView.onRemove {
PropertyAction { target: wrapper.ListView; property: "delayRemove"; value: true }
NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing: "easeInOutQuad" }
PropertyAction { target: wrapper.ListView; property: "delayRemove"; value: false }
@@ -1473,6 +1349,8 @@ QVariant QDeclarativeListView::model() const
void QDeclarativeListView::setModel(const QVariant &model)
{
Q_D(QDeclarativeListView);
+ if (d->modelVariant == model)
+ return;
if (d->model) {
disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int)));
disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
@@ -1517,6 +1395,7 @@ void QDeclarativeListView::setModel(const QVariant &model)
connect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
emit countChanged();
}
+ emit modelChanged();
}
/*!
@@ -1563,6 +1442,7 @@ void QDeclarativeListView::setDelegate(QDeclarativeComponent *delegate)
d->updateCurrent(d->currentIndex);
}
}
+ emit delegateChanged();
}
/*!
@@ -1663,6 +1543,7 @@ void QDeclarativeListView::setHighlight(QDeclarativeComponent *highlight)
d->createHighlight();
if (d->currentItem)
d->updateHighlight();
+ emit highlightChanged();
}
}
@@ -1700,6 +1581,7 @@ void QDeclarativeListView::setHighlightFollowsCurrentItem(bool autoHighlight)
d->highlightSizeAnimator->setEnabled(d->autoHighlight);
}
d->updateHighlight();
+ emit highlightFollowsCurrentItemChanged();
}
}
@@ -1745,8 +1627,11 @@ qreal QDeclarativeListView::preferredHighlightBegin() const
void QDeclarativeListView::setPreferredHighlightBegin(qreal start)
{
Q_D(QDeclarativeListView);
+ if (d->highlightRangeStart == start)
+ return;
d->highlightRangeStart = start;
d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit preferredHighlightBeginChanged();
}
qreal QDeclarativeListView::preferredHighlightEnd() const
@@ -1758,8 +1643,11 @@ qreal QDeclarativeListView::preferredHighlightEnd() const
void QDeclarativeListView::setPreferredHighlightEnd(qreal end)
{
Q_D(QDeclarativeListView);
+ if (d->highlightRangeEnd == end)
+ return;
d->highlightRangeEnd = end;
d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit preferredHighlightEndChanged();
}
QDeclarativeListView::HighlightRangeMode QDeclarativeListView::highlightRangeMode() const
@@ -1771,8 +1659,11 @@ QDeclarativeListView::HighlightRangeMode QDeclarativeListView::highlightRangeMod
void QDeclarativeListView::setHighlightRangeMode(HighlightRangeMode mode)
{
Q_D(QDeclarativeListView);
+ if (d->highlightRange == mode)
+ return;
d->highlightRange = mode;
d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd;
+ emit highlightRangeModeChanged();
}
/*!
@@ -1848,7 +1739,10 @@ bool QDeclarativeListView::isWrapEnabled() const
void QDeclarativeListView::setWrapEnabled(bool wrap)
{
Q_D(QDeclarativeListView);
+ if (d->wrap == wrap)
+ return;
d->wrap = wrap;
+ emit keyNavigationWrapsChanged();
}
/*!
@@ -1874,6 +1768,7 @@ void QDeclarativeListView::setCacheBuffer(int b)
d->bufferMode = QDeclarativeListViewPrivate::BufferBefore | QDeclarativeListViewPrivate::BufferAfter;
refill();
}
+ emit cacheBufferChanged();
}
}
@@ -1980,6 +1875,12 @@ void QDeclarativeListView::setHighlightResizeSpeed(qreal speed)
visible item at the time the mouse button is released. This mode is particularly
useful for moving one page at a time.
\endlist
+
+ snapMode does not affect the currentIndex. To update the
+ currentIndex as the list is moved set \e highlightRangeMode
+ to \e StrictlyEnforceRange.
+
+ \sa highlightRangeMode
*/
QDeclarativeListView::SnapMode QDeclarativeListView::snapMode() const
{
@@ -1992,6 +1893,7 @@ void QDeclarativeListView::setSnapMode(SnapMode mode)
Q_D(QDeclarativeListView);
if (d->snapMode != mode) {
d->snapMode = mode;
+ emit snapModeChanged();
}
}
@@ -2014,6 +1916,7 @@ void QDeclarativeListView::setFooter(QDeclarativeComponent *footer)
d->maxExtentDirty = true;
d->updateFooter();
d->updateViewport();
+ emit footerChanged();
}
}
@@ -2037,6 +1940,7 @@ void QDeclarativeListView::setHeader(QDeclarativeComponent *header)
d->updateHeader();
d->updateFooter();
d->updateViewport();
+ emit headerChanged();
}
}
@@ -2070,33 +1974,33 @@ void QDeclarativeListView::viewportMoved()
// Near an end and it seems that the extent has changed?
// Recalculate the flick so that we don't end up in an odd position.
if (yflick()) {
- if (d->velocityY > 0) {
+ if (d->vData.velocity > 0) {
const qreal minY = minYExtent();
- if ((minY - d->_moveY.value() < height()/2 || d->flickTargetY - d->_moveY.value() < height()/2)
- && minY != d->flickTargetY)
- d->flickY(-d->verticalVelocity.value());
+ if ((minY - d->vData.move.value() < height()/2 || d->vData.flickTarget - d->vData.move.value() < height()/2)
+ && minY != d->vData.flickTarget)
+ d->flickY(-d->vData.smoothVelocity.value());
d->bufferMode = QDeclarativeListViewPrivate::BufferBefore;
- } else if (d->velocityY < 0) {
+ } else if (d->vData.velocity < 0) {
const qreal maxY = maxYExtent();
- if ((d->_moveY.value() - maxY < height()/2 || d->_moveY.value() - d->flickTargetY < height()/2)
- && maxY != d->flickTargetY)
- d->flickY(-d->verticalVelocity.value());
+ if ((d->vData.move.value() - maxY < height()/2 || d->vData.move.value() - d->vData.flickTarget < height()/2)
+ && maxY != d->vData.flickTarget)
+ d->flickY(-d->vData.smoothVelocity.value());
d->bufferMode = QDeclarativeListViewPrivate::BufferAfter;
}
}
if (xflick()) {
- if (d->velocityX > 0) {
+ if (d->hData.velocity > 0) {
const qreal minX = minXExtent();
- if ((minX - d->_moveX.value() < height()/2 || d->flickTargetX - d->_moveX.value() < height()/2)
- && minX != d->flickTargetX)
- d->flickX(-d->horizontalVelocity.value());
+ if ((minX - d->hData.move.value() < width()/2 || d->hData.flickTarget - d->hData.move.value() < width()/2)
+ && minX != d->hData.flickTarget)
+ d->flickX(-d->hData.smoothVelocity.value());
d->bufferMode = QDeclarativeListViewPrivate::BufferBefore;
- } else if (d->velocityX < 0) {
+ } else if (d->hData.velocity < 0) {
const qreal maxX = maxXExtent();
- if ((d->_moveX.value() - maxX < height()/2 || d->_moveX.value() - d->flickTargetX < height()/2)
- && maxX != d->flickTargetX)
- d->flickX(-d->horizontalVelocity.value());
+ if ((d->hData.move.value() - maxX < width()/2 || d->hData.move.value() - d->hData.flickTarget < width()/2)
+ && maxX != d->hData.flickTarget)
+ d->flickX(-d->hData.smoothVelocity.value());
d->bufferMode = QDeclarativeListViewPrivate::BufferAfter;
}
}
@@ -2252,6 +2156,12 @@ void QDeclarativeListView::decrementCurrentIndex()
Positions the view such that the \a index is at the top (or left for horizontal orientation) of the view.
If positioning the view at the index would cause empty space to be displayed at
the end of the view, the view will be positioned at the end.
+
+ It is not recommended to use contentX or contentY to position the view
+ at a particular index. This is unreliable since removing items from the start
+ of the list does not cause all other items to be repositioned, and because
+ the actual start of the view can vary based on the size of the delegates.
+ The correct way to bring an item into view is with positionViewAtIndex.
*/
void QDeclarativeListView::positionViewAtIndex(int index)
{
@@ -2374,7 +2284,8 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count)
int i = d->visibleItems.count() - 1;
while (i > 0 && d->visibleItems.at(i)->index == -1)
--i;
- if (d->visibleItems.at(i)->index + 1 == modelIndex) {
+ if (d->visibleItems.at(i)->index + 1 == modelIndex
+ && d->visibleItems.at(i)->endPosition() < d->buffer+d->position()+d->size()-1) {
// Special case of appending an item to the model.
modelIndex = d->visibleIndex + d->visibleItems.count();
} else {
diff --git a/src/declarative/graphicsitems/qdeclarativelistview_p.h b/src/declarative/graphicsitems/qdeclarativelistview_p.h
index 5e3edb024c..d66ac2b6c1 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativelistview_p.h
@@ -91,33 +91,33 @@ class Q_DECLARATIVE_EXPORT QDeclarativeListView : public QDeclarativeFlickable
Q_OBJECT
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeListView)
- Q_PROPERTY(QVariant model READ model WRITE setModel)
- Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate)
+ Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(QDeclarativeItem *currentItem READ currentItem NOTIFY currentIndexChanged)
Q_PROPERTY(int count READ count NOTIFY countChanged)
- Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight)
- Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightChanged)
- Q_PROPERTY(bool highlightFollowsCurrentItem READ highlightFollowsCurrentItem WRITE setHighlightFollowsCurrentItem)
+ Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged)
+ Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightItemChanged)
+ Q_PROPERTY(bool highlightFollowsCurrentItem READ highlightFollowsCurrentItem WRITE setHighlightFollowsCurrentItem NOTIFY highlightFollowsCurrentItemChanged)
Q_PROPERTY(qreal highlightMoveSpeed READ highlightMoveSpeed WRITE setHighlightMoveSpeed NOTIFY highlightMoveSpeedChanged)
Q_PROPERTY(qreal highlightResizeSpeed READ highlightResizeSpeed WRITE setHighlightResizeSpeed NOTIFY highlightResizeSpeedChanged)
- Q_PROPERTY(qreal preferredHighlightBegin READ preferredHighlightBegin WRITE setPreferredHighlightBegin)
- Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd)
- Q_PROPERTY(HighlightRangeMode highlightRangeMode READ highlightRangeMode WRITE setHighlightRangeMode)
+ Q_PROPERTY(qreal preferredHighlightBegin READ preferredHighlightBegin WRITE setPreferredHighlightBegin NOTIFY preferredHighlightBeginChanged)
+ Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd NOTIFY preferredHighlightEndChanged)
+ Q_PROPERTY(HighlightRangeMode highlightRangeMode READ highlightRangeMode WRITE setHighlightRangeMode NOTIFY highlightRangeModeChanged)
Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing NOTIFY spacingChanged)
Q_PROPERTY(Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged)
- Q_PROPERTY(bool keyNavigationWraps READ isWrapEnabled WRITE setWrapEnabled)
- Q_PROPERTY(int cacheBuffer READ cacheBuffer WRITE setCacheBuffer)
+ Q_PROPERTY(bool keyNavigationWraps READ isWrapEnabled WRITE setWrapEnabled NOTIFY keyNavigationWrapsChanged)
+ Q_PROPERTY(int cacheBuffer READ cacheBuffer WRITE setCacheBuffer NOTIFY cacheBufferChanged)
Q_PROPERTY(QDeclarativeViewSection *section READ sectionCriteria CONSTANT)
Q_PROPERTY(QString currentSection READ currentSection NOTIFY currentSectionChanged)
- Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode)
+ Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged)
- Q_PROPERTY(QDeclarativeComponent *header READ header WRITE setHeader)
- Q_PROPERTY(QDeclarativeComponent *footer READ footer WRITE setFooter)
+ Q_PROPERTY(QDeclarativeComponent *header READ header WRITE setHeader NOTIFY headerChanged)
+ Q_PROPERTY(QDeclarativeComponent *footer READ footer WRITE setFooter NOTIFY footerChanged)
Q_ENUMS(HighlightRangeMode)
Q_ENUMS(Orientation)
@@ -205,6 +205,18 @@ Q_SIGNALS:
void highlightMoveSpeedChanged();
void highlightResizeSpeedChanged();
void highlightChanged();
+ void highlightItemChanged();
+ void modelChanged();
+ void delegateChanged();
+ void highlightFollowsCurrentItemChanged();
+ void preferredHighlightBeginChanged();
+ void preferredHighlightEndChanged();
+ void highlightRangeModeChanged();
+ void keyNavigationWrapsChanged();
+ void cacheBufferChanged();
+ void snapModeChanged();
+ void headerChanged();
+ void footerChanged();
protected:
virtual void viewportMoved();
@@ -288,10 +300,10 @@ Q_SIGNALS:
public:
QDeclarativeListView *m_view;
- bool m_isCurrent;
mutable QString m_section;
QString m_prevSection;
- bool m_delayRemove;
+ bool m_isCurrent : 1;
+ bool m_delayRemove : 1;
};
diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp
index bd89321702..b0499d73ce 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp
@@ -320,6 +320,15 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
\o Error - an error occurred while loading the QML source
\endlist
+ Note that a change in the status property does not cause anything to happen
+ (although it reflects what has happened to the loader internally). If you wish
+ to react to the change in status you need to do it yourself, for example in one
+ of the following ways:
+ \list
+ \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = Loader.Ready;}
+ \o Do something inside the onStatusChanged signal handler, e.g. Loader{id: loader; onStatusChanged: if(loader.status == Loader.Ready) console.log('Loaded');}
+ \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=Loader.Ready){'Not Loaded';}else{'Loaded';}}
+ \endlist
\sa progress
*/
diff --git a/src/declarative/graphicsitems/qdeclarativeparticles.cpp b/src/declarative/graphicsitems/qdeclarativeparticles.cpp
index 1a58d3fb1d..593c80a086 100644
--- a/src/declarative/graphicsitems/qdeclarativeparticles.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeparticles.cpp
@@ -758,11 +758,13 @@ void QDeclarativeParticles::setSource(const QUrl &name)
The particles element emits particles until it has count active
particles. When this number is reached, new particles are not emitted until
- some of the current particles reach theend of their lifespan.
+ some of the current particles reach the end of their lifespan.
If count is -1 then there is no maximum number of active particles, and
particles will be constantly emitted at the rate specified by emissionRate.
+ The default value for count is 1.
+
If both count and emissionRate are set to -1, nothing will be emitted.
*/
@@ -1219,7 +1221,7 @@ void QDeclarativeParticles::burst(int count, int emissionRate)
void QDeclarativeParticlesPainter::updateSize()
{
- if (!isComponentComplete())
+ if (!d->_componentComplete)
return;
const int parentX = parentItem()->x();
@@ -1260,7 +1262,11 @@ void QDeclarativeParticlesPainter::paint(QPainter *p, const QStyleOptionGraphics
const int myX = x() + parentItem()->x();
const int myY = y() + parentItem()->y();
- QVarLengthArray<QPainter::Fragment, 256> pixmapData;
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
+ QVarLengthArray<QPainter::PixmapFragment, 256> pixmapData;
+#else
+ QVarLengthArray<QDrawPixmaps::Data, 256> pixmapData;
+#endif
pixmapData.resize(d->particles.count());
const QRectF sourceRect = d->image.rect();
@@ -1268,27 +1274,39 @@ void QDeclarativeParticlesPainter::paint(QPainter *p, const QStyleOptionGraphics
qreal halfPHeight = sourceRect.height()/2.;
for (int i = 0; i < d->particles.count(); ++i) {
const QDeclarativeParticle &particle = d->particles.at(i);
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
pixmapData[i].x = particle.x - myX + halfPWidth;
pixmapData[i].y = particle.y - myY + halfPHeight;
+#else
+ pixmapData[i].point = QPointF(particle.x - myX + halfPWidth, particle.y - myY + halfPHeight);
+#endif
pixmapData[i].opacity = particle.opacity;
//these never change
pixmapData[i].rotation = 0;
pixmapData[i].scaleX = 1;
pixmapData[i].scaleY = 1;
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
pixmapData[i].sourceLeft = sourceRect.left();
pixmapData[i].sourceTop = sourceRect.top();
pixmapData[i].width = sourceRect.width();
pixmapData[i].height = sourceRect.height();
+#else
+ pixmapData[i].source = sourceRect;
+#endif
}
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
p->drawPixmapFragments(pixmapData.data(), d->particles.count(), d->image);
+#else
+ qDrawPixmaps(p, pixmapData.data(), d->particles.count(), d->image);
+#endif
}
void QDeclarativeParticles::componentComplete()
{
Q_D(QDeclarativeParticles);
QDeclarativeItem::componentComplete();
- if (d->count) {
+ if (d->count && d->emissionRate) {
d->paintItem->updateSize();
d->clock.start();
}
diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp
index 48f112a7ca..80586b8619 100644
--- a/src/declarative/graphicsitems/qdeclarativepath.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepath.cpp
@@ -114,7 +114,10 @@ qreal QDeclarativePath::startX() const
void QDeclarativePath::setStartX(qreal x)
{
Q_D(QDeclarativePath);
+ if (qFuzzyCompare(x, d->startX))
+ return;
d->startX = x;
+ emit startXChanged();
}
qreal QDeclarativePath::startY() const
@@ -126,7 +129,10 @@ qreal QDeclarativePath::startY() const
void QDeclarativePath::setStartY(qreal y)
{
Q_D(QDeclarativePath);
+ if (qFuzzyCompare(y, d->startY))
+ return;
d->startY = y;
+ emit startYChanged();
}
/*!
@@ -522,7 +528,10 @@ QString QDeclarativePathAttribute::name() const
void QDeclarativePathAttribute::setName(const QString &name)
{
- _name = name;
+ if (_name == name)
+ return;
+ _name = name;
+ emit nameChanged();
}
/*!
diff --git a/src/declarative/graphicsitems/qdeclarativepath_p.h b/src/declarative/graphicsitems/qdeclarativepath_p.h
index b3139f8d31..d7cfca14ac 100644
--- a/src/declarative/graphicsitems/qdeclarativepath_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepath_p.h
@@ -67,7 +67,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativePathAttribute : public QDeclarativePathEl
{
Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY changed)
public:
QDeclarativePathAttribute(QObject *parent=0) : QDeclarativePathElement(parent), _value(0) {}
@@ -79,6 +79,9 @@ public:
qreal value() const;
void setValue(qreal value);
+Q_SIGNALS:
+ void nameChanged();
+
private:
QString _name;
qreal _value;
@@ -190,8 +193,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativePath : public QObject, public QDeclarativ
Q_INTERFACES(QDeclarativeParserStatus)
Q_PROPERTY(QDeclarativeListProperty<QDeclarativePathElement> pathElements READ pathElements)
- Q_PROPERTY(qreal startX READ startX WRITE setStartX)
- Q_PROPERTY(qreal startY READ startY WRITE setStartY)
+ Q_PROPERTY(qreal startX READ startX WRITE setStartX NOTIFY startXChanged)
+ Q_PROPERTY(qreal startY READ startY WRITE setStartY NOTIFY startYChanged)
Q_PROPERTY(bool closed READ isClosed NOTIFY changed)
Q_CLASSINFO("DefaultProperty", "pathElements")
Q_INTERFACES(QDeclarativeParserStatus)
@@ -216,6 +219,8 @@ public:
Q_SIGNALS:
void changed();
+ void startXChanged();
+ void startYChanged();
protected:
virtual void componentComplete();
diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp
index c131f4c95d..cc171572ed 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp
@@ -44,7 +44,6 @@
#include <qdeclarativestate_p.h>
#include <qdeclarativeopenmetaobject_p.h>
-
#include <QDebug>
#include <QEvent>
#include <qlistmodelinterface_p.h>
@@ -64,57 +63,52 @@ inline qreal qmlMod(qreal x, qreal y)
return fmod(x, y);
}
+static QDeclarativeOpenMetaObjectType *qPathViewAttachedType = 0;
-class QDeclarativePathViewAttached : public QObject
+QDeclarativePathViewAttached::QDeclarativePathViewAttached(QObject *parent)
+: QObject(parent), m_view(0), m_onPath(false), m_isCurrent(false)
{
- Q_OBJECT
-
- Q_PROPERTY(bool onPath READ isOnPath NOTIFY onPathChanged)
-public:
- QDeclarativePathViewAttached(QObject *parent)
- : QObject(parent), mo(new QDeclarativeOpenMetaObject(this)), onPath(false)
- {
- }
-
- ~QDeclarativePathViewAttached()
- {
- QDeclarativePathView::attachedProperties.remove(parent());
- }
-
- QVariant value(const QByteArray &name) const
- {
- return mo->value(name);
- }
- void setValue(const QByteArray &name, const QVariant &val)
- {
- mo->setValue(name, val);
- }
-
- bool isOnPath() const { return onPath; }
- void setOnPath(bool on) {
- if (on != onPath) {
- onPath = on;
- emit onPathChanged();
- }
+ if (qPathViewAttachedType) {
+ m_metaobject = new QDeclarativeOpenMetaObject(this, qPathViewAttachedType);
+ m_metaobject->setCached(true);
+ } else {
+ m_metaobject = new QDeclarativeOpenMetaObject(this);
}
+}
-Q_SIGNALS:
- void onPathChanged();
-
-private:
- QDeclarativeOpenMetaObject *mo;
- bool onPath;
-};
+QDeclarativePathViewAttached::~QDeclarativePathViewAttached()
+{
+}
+QVariant QDeclarativePathViewAttached::value(const QByteArray &name) const
+{
+ return m_metaobject->value(name);
+}
+void QDeclarativePathViewAttached::setValue(const QByteArray &name, const QVariant &val)
+{
+ m_metaobject->setValue(name, val);
+}
QDeclarativeItem *QDeclarativePathViewPrivate::getItem(int modelIndex)
{
Q_Q(QDeclarativePathView);
requestedIndex = modelIndex;
- QDeclarativeItem *item = model->item(modelIndex);
+ QDeclarativeItem *item = model->item(modelIndex, false);
if (item) {
- if (QObject *obj = QDeclarativePathView::qmlAttachedProperties(item))
- static_cast<QDeclarativePathViewAttached *>(obj)->setOnPath(true);
+ if (!attType) {
+ // pre-create one metatype to share with all attached objects
+ attType = new QDeclarativeOpenMetaObjectType(&QDeclarativePathViewAttached::staticMetaObject, qmlEngine(q));
+ foreach(const QString &attr, path->attributes()) {
+ attType->createProperty(attr.toUtf8());
+ }
+ }
+ qPathViewAttachedType = attType;
+ QDeclarativePathViewAttached *att = static_cast<QDeclarativePathViewAttached *>(qmlAttachedPropertiesObject<QDeclarativePathView>(item));
+ qPathViewAttachedType = 0;
+ if (att) {
+ att->m_view = q;
+ att->setOnPath(true);
+ }
item->setParentItem(q);
}
requestedIndex = -1;
@@ -125,14 +119,26 @@ void QDeclarativePathViewPrivate::releaseItem(QDeclarativeItem *item)
{
if (!item || !model)
return;
- if (QObject *obj = QDeclarativePathView::qmlAttachedProperties(item))
- static_cast<QDeclarativePathViewAttached *>(obj)->setOnPath(false);
- if (model->release(item) == 0) {
- if (QObject *obj = QDeclarativePathView::qmlAttachedProperties(item))
- static_cast<QDeclarativePathViewAttached *>(obj)->setOnPath(false);
+ if (QDeclarativePathViewAttached *att = attached(item))
+ att->setOnPath(false);
+ model->release(item);
+}
+
+QDeclarativePathViewAttached *QDeclarativePathViewPrivate::attached(QDeclarativeItem *item)
+{
+ return static_cast<QDeclarativePathViewAttached *>(qmlAttachedPropertiesObject<QDeclarativePathView>(item, false));
+}
+
+void QDeclarativePathViewPrivate::clear()
+{
+ for (int i=0; i<items.count(); i++){
+ QDeclarativeItem *p = items[i];
+ releaseItem(p);
}
+ items.clear();
}
+
/*!
\qmlclass PathView QDeclarativePathView
\since 4.7
@@ -147,6 +153,11 @@ void QDeclarativePathViewPrivate::releaseItem(QDeclarativeItem *item)
\image pathview.gif
+ Note that views do not enable \e clip automatically. If the view
+ is not clipped by another item or the screen, it will be necessary
+ to set \e {clip: true} in order to have the out of view items clipped
+ nicely.
+
\sa Path
*/
@@ -160,6 +171,9 @@ QDeclarativePathView::QDeclarativePathView(QDeclarativeItem *parent)
QDeclarativePathView::~QDeclarativePathView()
{
Q_D(QDeclarativePathView);
+ d->clear();
+ if (d->attType)
+ d->attType->release();
if (d->ownModel)
delete d->model;
}
@@ -185,6 +199,15 @@ QDeclarativePathView::~QDeclarativePathView()
*/
/*!
+ \qmlattachedproperty bool PathView::isCurrentItem
+ This attached property is true if this delegate is the current item; otherwise false.
+
+ It is attached to each instance of the delegate.
+
+ This property may be used to adjust the appearance of the current item.
+*/
+
+/*!
\qmlproperty model PathView::model
This property holds the model providing data for the view.
@@ -203,6 +226,9 @@ QVariant QDeclarativePathView::model() const
void QDeclarativePathView::setModel(const QVariant &model)
{
Q_D(QDeclarativePathView);
+ if (d->modelVariant == model)
+ return;
+
if (d->model) {
disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int)));
disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
@@ -242,6 +268,7 @@ void QDeclarativePathView::setModel(const QVariant &model)
d->pathOffset = 0;
d->regenerate();
d->fixOffset();
+ emit modelChanged();
}
/*!
@@ -269,9 +296,19 @@ QDeclarativePath *QDeclarativePathView::path() const
void QDeclarativePathView::setPath(QDeclarativePath *path)
{
Q_D(QDeclarativePathView);
+ if (d->path == path)
+ return;
+ if (d->path)
+ disconnect(d->path, SIGNAL(changed()), this, SLOT(refill()));
d->path = path;
connect(d->path, SIGNAL(changed()), this, SLOT(refill()));
+ d->clear();
+ if (d->attType) {
+ d->attType->release();
+ d->attType = 0;
+ }
d->regenerate();
+ emit pathChanged();
}
/*!
@@ -290,12 +327,25 @@ void QDeclarativePathView::setCurrentIndex(int idx)
if (d->model && d->model->count())
idx = qAbs(idx % d->model->count());
if (d->model && idx != d->currentIndex) {
+ if (d->model->count()) {
+ int itemIndex = (d->currentIndex - d->firstIndex + d->model->count()) % d->model->count();
+ if (itemIndex < d->items.count()) {
+ if (QDeclarativeItem *item = d->items.at(d->currentIndex)) {
+ if (QDeclarativePathViewAttached *att = d->attached(item))
+ att->setIsCurrentItem(false);
+ }
+ }
+ }
d->currentIndex = idx;
if (d->model->count()) {
d->snapToCurrent();
int itemIndex = (idx - d->firstIndex + d->model->count()) % d->model->count();
- if (itemIndex < d->items.count())
- d->items.at(itemIndex)->setFocus(true);
+ if (itemIndex < d->items.count()) {
+ QDeclarativeItem *item = d->items.at(itemIndex);
+ item->setFocus(true);
+ if (QDeclarativePathViewAttached *att = d->attached(item))
+ att->setIsCurrentItem(true);
+ }
}
emit currentIndexChanged();
}
@@ -333,7 +383,7 @@ void QDeclarativePathViewPrivate::setOffset(qreal o)
/*!
\qmlproperty real PathView::snapPosition
- This property determines the position (0-100) the nearest item will snap to.
+ This property determines the position (0.0-1.0) the nearest item will snap to.
*/
qreal QDeclarativePathView::snapPosition() const
{
@@ -344,8 +394,12 @@ qreal QDeclarativePathView::snapPosition() const
void QDeclarativePathView::setSnapPosition(qreal pos)
{
Q_D(QDeclarativePathView);
- d->snapPos = pos/100;
+ qreal normalizedPos = pos - int(pos);
+ if (qFuzzyCompare(normalizedPos, d->snapPos))
+ return;
+ d->snapPos = normalizedPos;
d->fixOffset();
+ emit snapPositionChanged();
}
/*!
@@ -365,7 +419,10 @@ qreal QDeclarativePathView::dragMargin() const
void QDeclarativePathView::setDragMargin(qreal dragMargin)
{
Q_D(QDeclarativePathView);
+ if (d->dragMargin == dragMargin)
+ return;
d->dragMargin = dragMargin;
+ emit dragMarginChanged();
}
/*!
@@ -392,16 +449,19 @@ QDeclarativeComponent *QDeclarativePathView::delegate() const
return 0;
}
-void QDeclarativePathView::setDelegate(QDeclarativeComponent *c)
+void QDeclarativePathView::setDelegate(QDeclarativeComponent *delegate)
{
Q_D(QDeclarativePathView);
+ if (delegate == this->delegate())
+ return;
if (!d->ownModel) {
d->model = new QDeclarativeVisualDataModel(qmlContext(this));
d->ownModel = true;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model)) {
- dataModel->setDelegate(c);
+ dataModel->setDelegate(delegate);
d->regenerate();
+ emit delegateChanged();
}
}
@@ -422,6 +482,7 @@ void QDeclarativePathView::setPathItemCount(int i)
return;
d->pathItems = i;
d->regenerate();
+ pathItemCountChanged();
}
QPointF QDeclarativePathViewPrivate::pointNear(const QPointF &point, qreal *nearPercent) const
@@ -631,11 +692,7 @@ void QDeclarativePathViewPrivate::regenerate()
if (!q->isComponentComplete())
return;
- for (int i=0; i<items.count(); i++){
- QDeclarativeItem *p = items[i];
- releaseItem(p);
- }
- items.clear();
+ clear();
if (!isValid())
return;
@@ -655,17 +712,25 @@ void QDeclarativePathViewPrivate::regenerate()
}
items.append(item);
item->setZValue(i);
- if (currentIndex == index)
+ qreal percent = i * (100. / numItems) + _offset;
+ percent = qAbs(qmlMod(percent, qreal(100.0))/100.0);
+ updateItem(item, percent);
+ model->completeItem();
+ if (currentIndex == index) {
item->setFocus(true);
+ if (QDeclarativePathViewAttached *att = attached(item))
+ att->setIsCurrentItem(true);
+ }
}
- q->refill();
+ if (pathItems != -1)
+ q->refill();
}
void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent)
{
- if (QObject *obj = QDeclarativePathView::qmlAttachedProperties(item)) {
+ if (QDeclarativePathViewAttached *att = attached(item)) {
foreach(const QString &attr, path->attributes())
- static_cast<QDeclarativePathViewAttached *>(obj)->setValue(attr.toUtf8(), path->attributeAt(attr, percent));
+ att->setValue(attr.toUtf8(), path->attributeAt(attr, percent));
}
QPointF pf = path->pointAt(percent);
item->setX(pf.x() - item->width()*item->scale()/2);
@@ -715,8 +780,12 @@ void QDeclarativePathView::refill()
int index = (d->firstIndex + d->items.count())%d->model->count();
QDeclarativeItem *item = d->getItem(index);
item->setZValue(wrapIndex);
- if (d->currentIndex == index)
+ d->model->completeItem();
+ if (d->currentIndex == index) {
item->setFocus(true);
+ if (QDeclarativePathViewAttached *att = d->attached(item))
+ att->setIsCurrentItem(true);
+ }
d->items << item;
d->pathOffset++;
d->pathOffset=d->pathOffset % d->items.count();
@@ -731,8 +800,12 @@ void QDeclarativePathView::refill()
d->firstIndex = d->model->count() - 1;
QDeclarativeItem *item = d->getItem(d->firstIndex);
item->setZValue(d->firstIndex);
- if (d->currentIndex == d->firstIndex)
+ d->model->completeItem();
+ if (d->currentIndex == d->firstIndex) {
item->setFocus(true);
+ if (QDeclarativePathViewAttached *att = d->attached(item))
+ att->setIsCurrentItem(true);
+ }
d->items.prepend(item);
d->pathOffset--;
if (d->pathOffset < 0)
@@ -757,6 +830,7 @@ void QDeclarativePathView::itemsInserted(int modelIndex, int count)
for (int i = 0; i < count; ++i) {
QDeclarativeItem *item = d->getItem(modelIndex + i);
item->setZValue(modelIndex + i);
+ d->model->completeItem();
d->items.insert(modelIndex + i, item);
}
refill();
@@ -887,10 +961,21 @@ void QDeclarativePathViewPrivate::updateCurrent()
return;
int idx = calcCurrentIndex();
if (model && idx != currentIndex) {
+ int itemIndex = (currentIndex - firstIndex + model->count()) % model->count();
+ if (itemIndex < items.count()) {
+ if (QDeclarativeItem *item = items.at(itemIndex)) {
+ if (QDeclarativePathViewAttached *att = attached(item))
+ att->setIsCurrentItem(false);
+ }
+ }
currentIndex = idx;
- int itemIndex = (idx - firstIndex + model->count()) % model->count();
- if (itemIndex < items.count())
- items.at(itemIndex)->setFocus(true);
+ itemIndex = (idx - firstIndex + model->count()) % model->count();
+ if (itemIndex < items.count()) {
+ QDeclarativeItem *item = items.at(itemIndex);
+ item->setFocus(true);
+ if (QDeclarativePathViewAttached *att = attached(item))
+ att->setIsCurrentItem(true);
+ }
emit q->currentIndexChanged();
}
}
@@ -971,17 +1056,10 @@ void QDeclarativePathViewPrivate::snapToCurrent()
}
}
-QHash<QObject*, QObject*> QDeclarativePathView::attachedProperties;
-QObject *QDeclarativePathView::qmlAttachedProperties(QObject *obj)
+QDeclarativePathViewAttached *QDeclarativePathView::qmlAttachedProperties(QObject *obj)
{
- QObject *rv = attachedProperties.value(obj);
- if (!rv) {
- rv = new QDeclarativePathViewAttached(obj);
- attachedProperties.insert(obj, rv);
- }
- return rv;
+ return new QDeclarativePathViewAttached(obj);
}
QT_END_NAMESPACE
-#include <qdeclarativepathview.moc>
diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h
index 709a4fc2ef..6dbd044579 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h
@@ -52,19 +52,20 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativePathViewPrivate;
+class QDeclarativePathViewAttached;
class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem
{
Q_OBJECT
- Q_PROPERTY(QVariant model READ model WRITE setModel)
- Q_PROPERTY(QDeclarativePath *path READ path WRITE setPath)
+ Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QDeclarativePath *path READ path WRITE setPath NOTIFY pathChanged)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(qreal offset READ offset WRITE setOffset NOTIFY offsetChanged)
- Q_PROPERTY(qreal snapPosition READ snapPosition WRITE setSnapPosition)
- Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin)
+ Q_PROPERTY(qreal snapPosition READ snapPosition WRITE setSnapPosition NOTIFY snapPositionChanged)
+ Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin NOTIFY dragMarginChanged)
Q_PROPERTY(int count READ count)
- Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate)
- Q_PROPERTY(int pathItemCount READ pathItemCount WRITE setPathItemCount)
+ Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
+ Q_PROPERTY(int pathItemCount READ pathItemCount WRITE setPathItemCount NOTIFY pathItemCountChanged)
public:
QDeclarativePathView(QDeclarativeItem *parent=0);
@@ -96,11 +97,17 @@ public:
int pathItemCount() const;
void setPathItemCount(int);
- static QObject *qmlAttachedProperties(QObject *);
+ static QDeclarativePathViewAttached *qmlAttachedProperties(QObject *);
Q_SIGNALS:
void currentIndexChanged();
void offsetChanged();
+ void modelChanged();
+ void pathChanged();
+ void dragMarginChanged();
+ void snapPositionChanged();
+ void delegateChanged();
+ void pathItemCountChanged();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
@@ -121,11 +128,57 @@ private Q_SLOTS:
private:
friend class QDeclarativePathViewAttached;
- static QHash<QObject*, QObject*> attachedProperties;
Q_DISABLE_COPY(QDeclarativePathView)
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativePathView)
};
+class QDeclarativeOpenMetaObject;
+class QDeclarativePathViewAttached : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QDeclarativePathView *view READ view CONSTANT)
+ Q_PROPERTY(bool isCurrentItem READ isCurrentItem NOTIFY currentItemChanged)
+ Q_PROPERTY(bool onPath READ isOnPath NOTIFY pathChanged)
+
+public:
+ QDeclarativePathViewAttached(QObject *parent);
+ ~QDeclarativePathViewAttached();
+
+ QDeclarativePathView *view() { return m_view; }
+
+ bool isCurrentItem() const { return m_isCurrent; }
+ void setIsCurrentItem(bool c) {
+ if (m_isCurrent != c) {
+ m_isCurrent = c;
+ emit currentItemChanged();
+ }
+ }
+
+ QVariant value(const QByteArray &name) const;
+ void setValue(const QByteArray &name, const QVariant &val);
+
+ bool isOnPath() const { return m_onPath; }
+ void setOnPath(bool on) {
+ if (on != m_onPath) {
+ m_onPath = on;
+ emit pathChanged();
+ }
+ }
+
+Q_SIGNALS:
+ void currentItemChanged();
+ void pathChanged();
+
+private:
+ friend class QDeclarativePathViewPrivate;
+ QDeclarativePathView *m_view;
+ QDeclarativeOpenMetaObject *m_metaobject;
+ bool m_onPath : 1;
+ bool m_isCurrent : 1;
+};
+
+
QT_END_NAMESPACE
QML_DECLARE_TYPE(QDeclarativePathView)
diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
index ca50910696..4083ab58f5 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
@@ -60,6 +60,7 @@
#include <qdeclarative.h>
#include <qdeclarativeanimation_p_p.h>
+#include <qdeclarativeguard_p.h>
#include <qdatetime.h>
@@ -70,6 +71,8 @@ typedef struct PathViewItem{
QDeclarativeItem* item;
}PathViewItem;
+class QDeclarativeOpenMetaObjectType;
+class QDeclarativePathViewAttached;
class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate
{
Q_DECLARE_PUBLIC(QDeclarativePathView)
@@ -80,7 +83,7 @@ public:
, lastElapsed(0), stealMouse(false), ownModel(false), activeItem(0)
, snapPos(0), dragMargin(0), moveOffset(this, &QDeclarativePathViewPrivate::setOffset)
, firstIndex(0), pathItems(-1), pathOffset(0), requestedIndex(-1)
- , moveReason(Other)
+ , moveReason(Other), attType(0)
{
}
@@ -96,6 +99,8 @@ public:
QDeclarativeItem *getItem(int modelIndex);
void releaseItem(QDeclarativeItem *item);
+ QDeclarativePathViewAttached *attached(QDeclarativeItem *item);
+ void clear();
bool isValid() const {
return model && model->count() > 0 && model->isValid() && path;
@@ -132,10 +137,11 @@ public:
int pathOffset;
int requestedIndex;
QList<QDeclarativeItem *> items;
- QGuard<QDeclarativeVisualModel> model;
+ QDeclarativeGuard<QDeclarativeVisualModel> model;
QVariant modelVariant;
enum MovementReason { Other, Key, Mouse };
MovementReason moveReason;
+ QDeclarativeOpenMetaObjectType *attType;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners_p.h b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
index ff6fc4bfb2..f38847c0d8 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
@@ -44,7 +44,7 @@
#include "qdeclarativeitem.h"
-#include "../util/qdeclarativestate_p.h"
+#include <private/qdeclarativestate_p.h>
#include <private/qpodvector_p.h>
#include <QtCore/QObject>
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
index d534f2117a..207d05e6c4 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
@@ -180,9 +180,6 @@ void QDeclarativeGradient::doUpdate()
QDeclarativeRectangle::QDeclarativeRectangle(QDeclarativeItem *parent)
: QDeclarativeItem(*(new QDeclarativeRectanglePrivate), parent)
{
- Q_D(QDeclarativeRectangle);
- d->init();
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
void QDeclarativeRectangle::doUpdate()
@@ -393,9 +390,10 @@ void QDeclarativeRectangle::paint(QPainter *p, const QStyleOptionGraphicsItem *,
void QDeclarativeRectangle::drawRect(QPainter &p)
{
Q_D(QDeclarativeRectangle);
- if (d->gradient && d->gradient->gradient()) {
+ if ((d->gradient && d->gradient->gradient())
+ || d->radius > width()/2 || d->radius > height()/2) {
// XXX This path is still slower than the image path
- // Image path won't work for gradients though
+ // Image path won't work for gradients or invalid radius though
bool oldAA = p.testRenderHint(QPainter::Antialiasing);
if (d->smooth)
p.setRenderHint(QPainter::Antialiasing);
@@ -405,11 +403,23 @@ void QDeclarativeRectangle::drawRect(QPainter &p)
} else {
p.setPen(Qt::NoPen);
}
- p.setBrush(*d->gradient->gradient());
- if (d->radius > 0.)
- p.drawRoundedRect(0, 0, width(), height(), d->radius, d->radius);
+ if (d->gradient && d->gradient->gradient())
+ p.setBrush(*d->gradient->gradient());
+ else
+ p.setBrush(d->color);
+ const int pw = d->pen && d->pen->isValid() ? d->pen->width() : 0;
+ QRectF rect;
+ if (pw%2)
+ rect = QRectF(0.5, 0.5, width()-1, height()-1);
+ else
+ rect = QRectF(0, 0, width(), height());
+ qreal radius = d->radius;
+ if (radius > width()/2 || radius > height()/2)
+ radius = qMin(width()/2, height()/2);
+ if (radius > 0.)
+ p.drawRoundedRect(rect, radius, radius);
else
- p.drawRect(0, 0, width(), height());
+ p.drawRect(rect);
if (d->smooth)
p.setRenderHint(QPainter::Antialiasing, oldAA);
} else {
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h b/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
index b87c57fca6..6bae219072 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
@@ -67,6 +67,7 @@ public:
QDeclarativeRectanglePrivate() :
color(Qt::white), gradient(0), pen(0), radius(0), paintmargin(0)
{
+ QGraphicsItemPrivate::flags = QGraphicsItemPrivate::flags & ~QGraphicsItem::ItemHasNoContents;
}
~QDeclarativeRectanglePrivate()
@@ -74,13 +75,13 @@ public:
delete pen;
}
- void init()
- {
- }
-
- QColor getColor();
QColor color;
QDeclarativeGradient *gradient;
+ QDeclarativePen *pen;
+ qreal radius;
+ qreal paintmargin;
+ QPixmap rectImage;
+
QDeclarativePen *getPen() {
if (!pen) {
Q_Q(QDeclarativeRectangle);
@@ -89,10 +90,6 @@ public:
}
return pen;
}
- QDeclarativePen *pen;
- qreal radius;
- qreal paintmargin;
- QPixmap rectImage;
void setPaintMargin(qreal margin)
{
diff --git a/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h b/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
index 92b3f91da4..fbf90403b6 100644
--- a/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
@@ -44,7 +44,7 @@
#include "qdeclarativeborderimage_p.h"
-#include "../util/qdeclarativepixmapcache_p.h"
+#include <private/qdeclarativepixmapcache_p.h>
#include <qdeclarative.h>
#include <QtCore/QString>
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index ca253df32c..05139f6c21 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -110,8 +110,6 @@ QT_BEGIN_NAMESPACE
QDeclarativeText::QDeclarativeText(QDeclarativeItem *parent)
: QDeclarativeItem(*(new QDeclarativeTextPrivate), parent)
{
- setAcceptedMouseButtons(Qt::LeftButton);
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QDeclarativeText::~QDeclarativeText()
diff --git a/src/declarative/graphicsitems/qdeclarativetext_p_p.h b/src/declarative/graphicsitems/qdeclarativetext_p_p.h
index a0c8abeef6..0d9a0a6d25 100644
--- a/src/declarative/graphicsitems/qdeclarativetext_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetext_p_p.h
@@ -70,14 +70,16 @@ class QDeclarativeTextPrivate : public QDeclarativeItemPrivate
Q_DECLARE_PUBLIC(QDeclarativeText)
public:
QDeclarativeTextPrivate()
- : color((QRgb)0), style(QDeclarativeText::Normal), imgDirty(true),
+ : color((QRgb)0), style(QDeclarativeText::Normal),
hAlign(QDeclarativeText::AlignLeft), vAlign(QDeclarativeText::AlignTop), elideMode(QDeclarativeText::ElideNone),
- dirty(true), wrap(false), richText(false), singleline(false), cache(true), doc(0),
+ imgDirty(true), dirty(true), wrap(false), richText(false), singleline(false), cache(true), doc(0),
format(QDeclarativeText::AutoText)
{
#if defined(QML_NO_TEXT_CACHE)
cache = false;
#endif
+ QGraphicsItemPrivate::acceptedMouseButtons = Qt::LeftButton;
+ QGraphicsItemPrivate::flags = QGraphicsItemPrivate::flags & ~QGraphicsItem::ItemHasNoContents;
}
~QDeclarativeTextPrivate();
@@ -106,12 +108,12 @@ public:
QDeclarativeText::TextStyle style;
QColor styleColor;
QString activeLink;
- bool imgDirty;
QPixmap imgCache;
QPixmap imgStyleCache;
QDeclarativeText::HAlignment hAlign;
QDeclarativeText::VAlignment vAlign;
- QDeclarativeText::TextElideMode elideMode;
+ QDeclarativeText::TextElideMode elideMode;
+ bool imgDirty:1;
bool dirty:1;
bool wrap:1;
bool richText:1;
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index 8e44b26b72..be73b39e06 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -613,6 +613,11 @@ void QDeclarativeTextEdit::setPersistentSelection(bool on)
emit persistentSelectionChanged(d->persistentSelection);
}
+/*
+ \qmlproperty number TextEdit::textMargin
+
+ The margin, in pixels, around the text in the TextEdit.
+*/
qreal QDeclarativeTextEdit::textMargin() const
{
Q_D(const QDeclarativeTextEdit);
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
index 9919904326..3382628685 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
@@ -704,6 +704,8 @@ bool QDeclarativeTextInput::event(QEvent* ev)
break;
default:
handled = d->control->processEvent(ev);
+ if (ev->type() == QEvent::InputMethod)
+ updateSize();
}
if(!handled)
return QDeclarativePaintedItem::event(ev);
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
index 24026487f1..6bad4daa01 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
@@ -53,6 +53,7 @@
#include <qdeclarativedeclarativedata_p.h>
#include <qdeclarativepropertycache_p.h>
#include <qdeclarativeguard_p.h>
+#include <qdeclarativeglobal_p.h>
#include <qlistmodelinterface_p.h>
#include <qhash.h>
@@ -80,6 +81,14 @@ public:
static_cast<QDeclarativeVisualItemModelPrivate *>(prop->data)->emitChildrenChanged();
}
+ static int children_count(QDeclarativeListProperty<QDeclarativeItem> *prop) {
+ return static_cast<QDeclarativeVisualItemModelPrivate *>(prop->data)->children.count();
+ }
+
+ static QDeclarativeItem *children_at(QDeclarativeListProperty<QDeclarativeItem> *prop, int index) {
+ return static_cast<QDeclarativeVisualItemModelPrivate *>(prop->data)->children.at(index);
+ }
+
void itemAppended() {
Q_Q(QDeclarativeVisualItemModel);
QDeclarativeVisualItemModelAttached *attached = QDeclarativeVisualItemModelAttached::properties(children.last());
@@ -135,7 +144,8 @@ QDeclarativeVisualItemModel::QDeclarativeVisualItemModel()
QDeclarativeListProperty<QDeclarativeItem> QDeclarativeVisualItemModel::children()
{
Q_D(QDeclarativeVisualItemModel);
- return QDeclarativeListProperty<QDeclarativeItem>(this, d, QDeclarativeVisualItemModelPrivate::children_append);
+ return QDeclarativeListProperty<QDeclarativeItem>(this, d, d->children_append,
+ d->children_count, d->children_at);
}
/*!
@@ -473,7 +483,7 @@ QVariant QDeclarativeVisualDataModelDataMetaObject::initialValue(int propId)
QDeclarativeVisualDataModelData::QDeclarativeVisualDataModelData(int index,
QDeclarativeVisualDataModel *model)
-: m_index(index), m_model(model),
+: m_index(index), m_model(model),
m_meta(new QDeclarativeVisualDataModelDataMetaObject(this, QDeclarativeVisualDataModelPrivate::get(model)->m_delegateDataType))
{
QDeclarativeVisualDataModelPrivate *modelPriv = QDeclarativeVisualDataModelPrivate::get(model);
@@ -540,7 +550,7 @@ QVariant QDeclarativeVisualDataModelPartsMetaObject::initialValue(int id)
}
QDeclarativeVisualDataModelParts::QDeclarativeVisualDataModelParts(QDeclarativeVisualDataModel *parent)
-: QObject(parent), model(parent)
+: QObject(parent), model(parent)
{
new QDeclarativeVisualDataModelPartsMetaObject(this);
}
@@ -830,7 +840,7 @@ void QDeclarativeVisualDataModel::setDelegate(QDeclarativeComponent *delegate)
Rectangle {
height: 25; width: 100
Text { text: path }
- MouseRegion {
+ MouseArea {
anchors.fill: parent;
onClicked: myModel.setRoot(path)
}
@@ -917,7 +927,9 @@ QDeclarativeVisualDataModel::ReleaseFlags QDeclarativeVisualDataModel::release(Q
if (inPackage) {
emit destroyingPackage(qobject_cast<QDeclarativePackage*>(obj));
} else {
- item->setVisible(false);
+ if (item->hasFocus())
+ item->clearFocus();
+ item->setOpacity(0.0);
static_cast<QGraphicsItem*>(item)->setParentItem(0);
}
stat |= Destroyed;
@@ -959,7 +971,7 @@ QDeclarativeVisualDataModel::ReleaseFlags QDeclarativeVisualDataModel::release(Q
QObject *QDeclarativeVisualDataModel::parts()
{
Q_D(QDeclarativeVisualDataModel);
- if (!d->m_parts)
+ if (!d->m_parts)
d->m_parts = new QDeclarativeVisualDataModelParts(this);
return d->m_parts;
}
@@ -984,8 +996,8 @@ QDeclarativeItem *QDeclarativeVisualDataModel::item(int index, const QByteArray
if (complete)
d->m_delegate->completeCreate();
if (nobj) {
- ctxt->setParent(nobj);
- data->setParent(nobj);
+ QDeclarative_setParent_noEvent(ctxt, nobj);
+ QDeclarative_setParent_noEvent(data, nobj);
d->m_cache.insertItem(index, nobj);
if (QDeclarativePackage *package = qobject_cast<QDeclarativePackage *>(nobj))
emit createdPackage(index, package);
@@ -1268,7 +1280,6 @@ void QDeclarativeVisualDataModel::_q_dataChanged(const QModelIndex &begin, const
void QDeclarativeVisualDataModel::_q_modelReset()
{
- Q_D(QDeclarativeVisualDataModel);
emit modelReset();
}
diff --git a/src/declarative/qml/parser/qdeclarativejs.g b/src/declarative/qml/parser/qdeclarativejs.g
index 7cf81b2572..493ad25ab4 100644
--- a/src/declarative/qml/parser/qdeclarativejs.g
+++ b/src/declarative/qml/parser/qdeclarativejs.g
@@ -1020,7 +1020,7 @@ case $rule_number: {
JsIdentifier: T_ON ;
/.
case $rule_number: {
- QString s = QLatin1String(QDeclarativeJSGrammar::spell[T_READONLY]);
+ QString s = QLatin1String(QDeclarativeJSGrammar::spell[T_ON]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
diff --git a/src/declarative/qml/parser/qdeclarativejsgrammar.cpp b/src/declarative/qml/parser/qdeclarativejsgrammar.cpp
index 0677bc5917..89493ff7a1 100644
--- a/src/declarative/qml/parser/qdeclarativejsgrammar.cpp
+++ b/src/declarative/qml/parser/qdeclarativejsgrammar.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
diff --git a/src/declarative/qml/parser/qdeclarativejsgrammar_p.h b/src/declarative/qml/parser/qdeclarativejsgrammar_p.h
index 2b2e3d109a..32bb12b3f2 100644
--- a/src/declarative/qml/parser/qdeclarativejsgrammar_p.h
+++ b/src/declarative/qml/parser/qdeclarativejsgrammar_p.h
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeJSGrammar
{
public:
- enum {
+ enum VariousConstants {
EOF_SYMBOL = 0,
REDUCE_HERE = 100,
SHIFT_THERE = 99,
diff --git a/src/declarative/qml/parser/qdeclarativejsparser.cpp b/src/declarative/qml/parser/qdeclarativejsparser.cpp
index fd9e690c33..c86e047afa 100644
--- a/src/declarative/qml/parser/qdeclarativejsparser.cpp
+++ b/src/declarative/qml/parser/qdeclarativejsparser.cpp
@@ -516,7 +516,7 @@ case 66: {
}
case 67: {
- QString s = QLatin1String(QDeclarativeJSGrammar::spell[T_READONLY]);
+ QString s = QLatin1String(QDeclarativeJSGrammar::spell[T_ON]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h
index f66b9c7d62..1a714f00a0 100644
--- a/src/declarative/qml/qdeclarativebinding_p.h
+++ b/src/declarative/qml/qdeclarativebinding_p.h
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
-class Q_AUTOTEST_EXPORT QDeclarativeAbstractBinding
+class Q_DECLARATIVE_EXPORT QDeclarativeAbstractBinding
{
public:
QDeclarativeAbstractBinding();
@@ -101,7 +101,7 @@ private:
class QDeclarativeContext;
class QDeclarativeBindingPrivate;
-class Q_AUTOTEST_EXPORT QDeclarativeBinding : public QDeclarativeExpression, public QDeclarativeAbstractBinding
+class Q_DECLARATIVE_EXPORT QDeclarativeBinding : public QDeclarativeExpression, public QDeclarativeAbstractBinding
{
Q_OBJECT
public:
@@ -130,8 +130,9 @@ protected:
private:
Q_DECLARE_PRIVATE(QDeclarativeBinding)
};
-Q_DECLARE_METATYPE(QDeclarativeBinding*);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QDeclarativeBinding*);
+
#endif // QDECLARATIVEBINDING_P_H
diff --git a/src/declarative/qml/qdeclarativeboundsignal.cpp b/src/declarative/qml/qdeclarativeboundsignal.cpp
index ce396fd356..6a5a102f75 100644
--- a/src/declarative/qml/qdeclarativeboundsignal.cpp
+++ b/src/declarative/qml/qdeclarativeboundsignal.cpp
@@ -104,7 +104,7 @@ QDeclarativeBoundSignal::QDeclarativeBoundSignal(QObject *scope, const QMetaMeth
// is that they both do the work to figure it out. Boo hoo.
if (evaluateIdx == -1) evaluateIdx = metaObject()->methodCount();
- QDeclarativeGraphics_setParent_noEvent(this, parent);
+ QDeclarative_setParent_noEvent(this, parent);
QMetaObject::connect(scope, m_signal.methodIndex(), this, evaluateIdx);
}
@@ -120,7 +120,7 @@ QDeclarativeBoundSignal::QDeclarativeBoundSignal(QDeclarativeContext *ctxt, cons
// is that they both do the work to figure it out. Boo hoo.
if (evaluateIdx == -1) evaluateIdx = metaObject()->methodCount();
- QDeclarativeGraphics_setParent_noEvent(this, parent);
+ QDeclarative_setParent_noEvent(this, parent);
QMetaObject::connect(scope, m_signal.methodIndex(), this, evaluateIdx);
m_expression = new QDeclarativeExpression(ctxt, val, scope);
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 5da207d915..ef1032b2cc 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -65,6 +65,7 @@
#include "qdeclarativescriptparser_p.h"
#include "qdeclarativebinding_p.h"
#include "qdeclarativecompiledbindings_p.h"
+#include "qdeclarativeglobalscriptclass_p.h"
#include <qfxperf_p_p.h>
@@ -113,32 +114,6 @@ QList<QDeclarativeError> QDeclarativeCompiler::errors() const
}
/*!
- Returns true if \a val is a legal object id, false otherwise.
-
- Legal ids must start with a lower-case letter or underscore, and contain only
- letters, numbers and underscores.
-*/
-bool QDeclarativeCompiler::isValidId(const QString &val)
-{
- if (val.isEmpty())
- return false;
-
- if (val.at(0).isLetter() && !val.at(0).isLower()) {
- qWarning().nospace() << "id " << val << " is invalid: ids cannot start with uppercase letters";
- return false;
- }
-
- QChar u(QLatin1Char('_'));
- for (int ii = 0; ii < val.count(); ++ii)
- if (val.at(ii) != u &&
- ((ii == 0 && !val.at(ii).isLetter()) ||
- (ii != 0 && !val.at(ii).isLetterOrNumber())) )
- return false;
-
- return true;
-}
-
-/*!
Returns true if \a name refers to an attached property, false otherwise.
Attached property names are those that start with a capital letter.
@@ -586,9 +561,11 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine,
QDeclarativeCompositeTypeData::TypeReference &tref = unit->types[ii];
QDeclarativeCompiledData::TypeReference ref;
QDeclarativeScriptParser::TypeReference *parserRef = unit->data.referencedTypes().at(ii);
- if (tref.type)
+ if (tref.type) {
ref.type = tref.type;
- else if (tref.unit) {
+ if (!ref.type->isCreatable())
+ COMPILE_EXCEPTION(parserRef->refObjects.first(), QCoreApplication::translate("QDeclarativeCompiler", "Element is not creatable."));
+ } else if (tref.unit) {
ref.component = tref.unit->toComponent(engine);
if (ref.component->isError()) {
@@ -718,6 +695,7 @@ bool QDeclarativeCompiler::buildObject(Object *obj, const BindingContext &ctxt)
BindingContext objCtxt(obj);
// Create the synthesized meta object, ignoring aliases
+ COMPILE_CHECK(checkDynamicMeta(obj));
COMPILE_CHECK(mergeDynamicMetaProperties(obj));
COMPILE_CHECK(buildDynamicMeta(obj, IgnoreAliases));
@@ -1007,12 +985,15 @@ void QDeclarativeCompiler::genObjectBody(QDeclarativeParser::Object *obj)
} else if (v->type == Value::SignalExpression) {
+ BindingContext ctxt = compileState.signalExpressions.value(v);
+
QDeclarativeInstruction store;
store.type = QDeclarativeInstruction::StoreSignal;
store.line = v->location.start.line;
store.storeSignal.signalIndex = prop->index;
store.storeSignal.value =
output->indexForString(v->value.asScript().trimmed());
+ store.storeSignal.context = ctxt.stack;
output->bytecode << store;
}
@@ -1139,10 +1120,11 @@ bool QDeclarativeCompiler::buildComponent(QDeclarativeParser::Object *obj,
if (obj->properties.count())
idProp = *obj->properties.begin();
- if (idProp && (idProp->value || idProp->values.count() > 1 || !isValidId(idProp->values.first()->primitive())))
- COMPILE_EXCEPTION(idProp, QCoreApplication::translate("QDeclarativeCompiler","Invalid component id specification"));
-
if (idProp) {
+ if (idProp->value || idProp->values.count() > 1 || idProp->values.at(0)->object)
+ COMPILE_EXCEPTION(idProp, QCoreApplication::translate("QDeclarativeCompiler","Invalid component id specification"));
+ COMPILE_CHECK(checkValidId(idProp->values.first(), idProp->values.first()->primitive()));
+
QString idVal = idProp->values.first()->primitive();
if (compileState.ids.contains(idVal))
@@ -1344,7 +1326,7 @@ QMetaMethod QDeclarativeCompiler::findSignalByName(const QMetaObject *mo, const
}
bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDeclarativeParser::Object *obj,
- const BindingContext &ctxt)
+ const BindingContext &ctxt)
{
Q_ASSERT(obj->metaObject());
Q_ASSERT(!prop->isEmpty());
@@ -1365,7 +1347,7 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl
} else {
- if (prop->value || prop->values.count() > 1)
+ if (prop->value || prop->values.count() != 1)
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Incorrectly specified signal"));
prop->index = sigIdx;
@@ -1380,6 +1362,8 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl
QString script = prop->values.at(0)->value.asScript().trimmed();
if (script.isEmpty())
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Empty signal assignment"));
+
+ compileState.signalExpressions.insert(prop->values.at(0), ctxt);
}
}
@@ -1623,6 +1607,10 @@ void QDeclarativeCompiler::genPropertyAssignment(QDeclarativeParser::Property *p
for (int ii = 0; ii < prop->values.count(); ++ii) {
QDeclarativeParser::Value *v = prop->values.at(ii);
+ Q_ASSERT(v->type == Value::CreatedObject ||
+ v->type == Value::PropertyBinding ||
+ v->type == Value::Literal);
+
if (v->type == Value::CreatedObject) {
genObject(v->object);
@@ -1652,7 +1640,27 @@ void QDeclarativeCompiler::genPropertyAssignment(QDeclarativeParser::Property *p
output->bytecode << store;
}
- } else if (v->type == Value::ValueSource) {
+ } else if (v->type == Value::PropertyBinding) {
+
+ genBindingAssignment(v, prop, obj, valueTypeProperty);
+
+ } else if (v->type == Value::Literal) {
+
+ QMetaProperty mp = obj->metaObject()->property(prop->index);
+ genLiteralAssignment(mp, v);
+
+ }
+
+ }
+
+ for (int ii = 0; ii < prop->onValues.count(); ++ii) {
+
+ QDeclarativeParser::Value *v = prop->onValues.at(ii);
+
+ Q_ASSERT(v->type == Value::ValueSource ||
+ v->type == Value::ValueInterceptor);
+
+ if (v->type == Value::ValueSource) {
genObject(v->object);
QDeclarativeInstruction store;
@@ -1685,16 +1693,6 @@ void QDeclarativeCompiler::genPropertyAssignment(QDeclarativeParser::Property *p
QDeclarativeType *valueType = toQmlType(v->object);
store.assignValueInterceptor.castValue = valueType->propertyValueInterceptorCast();
output->bytecode << store;
-
- } else if (v->type == Value::PropertyBinding) {
-
- genBindingAssignment(v, prop, obj, valueTypeProperty);
-
- } else if (v->type == Value::Literal) {
-
- QMetaProperty mp = obj->metaObject()->property(prop->index);
- genLiteralAssignment(mp, v);
-
}
}
@@ -1711,8 +1709,7 @@ bool QDeclarativeCompiler::buildIdProperty(QDeclarativeParser::Property *prop,
QDeclarativeParser::Value *idValue = prop->values.at(0);
QString val = idValue->primitive();
- if (!isValidId(val))
- COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" is not a valid object id").arg(val));
+ COMPILE_CHECK(checkValidId(idValue, val));
// We disallow id's that conflict with import prefixes and types
QDeclarativeEnginePrivate::ImportedNamespace *ns = 0;
@@ -1793,19 +1790,25 @@ bool QDeclarativeCompiler::buildAttachedProperty(QDeclarativeParser::Property *p
// }
// font is a nested property. pointSize and family are not.
bool QDeclarativeCompiler::buildGroupedProperty(QDeclarativeParser::Property *prop,
- QDeclarativeParser::Object *obj,
- const BindingContext &ctxt)
+ QDeclarativeParser::Object *obj,
+ const BindingContext &ctxt)
{
Q_ASSERT(prop->type != 0);
Q_ASSERT(prop->index != -1);
- if (prop->values.count())
- COMPILE_EXCEPTION(prop->values.first(), QCoreApplication::translate("QDeclarativeCompiler", "Invalid value in grouped property"));
-
- if (prop->type < (int)QVariant::UserType) {
+ if (QDeclarativeValueTypeFactory::isValueType(prop->type)) {
QDeclarativeEnginePrivate *ep =
static_cast<QDeclarativeEnginePrivate *>(QObjectPrivate::get(engine));
if (prop->type >= 0 /* QVariant == -1 */ && ep->valueTypes[prop->type]) {
+
+ if (prop->values.count()) {
+ if (prop->values.at(0)->location < prop->value->location) {
+ COMPILE_EXCEPTION(prop->value, QCoreApplication::translate("QDeclarativeCompiler", "Property has already been assigned a value"));
+ } else {
+ COMPILE_EXCEPTION(prop->values.at(0), QCoreApplication::translate("QDeclarativeCompiler", "Property has already been assigned a value"));
+ }
+ }
+
COMPILE_CHECK(buildValueTypeProperty(ep->valueTypes[prop->type],
prop->value, obj, ctxt.incr()));
obj->addValueTypeProperty(prop);
@@ -1820,6 +1823,9 @@ bool QDeclarativeCompiler::buildGroupedProperty(QDeclarativeParser::Property *pr
if (!prop->value->metatype)
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Invalid grouped property access"));
+ if (prop->values.count())
+ COMPILE_EXCEPTION(prop->values.at(0), QCoreApplication::translate("QDeclarativeCompiler", "Cannot assign a value directly to a grouped property"));
+
obj->addGroupedProperty(prop);
COMPILE_CHECK(buildSubObject(prop->value, ctxt.incr()));
@@ -1829,9 +1835,9 @@ bool QDeclarativeCompiler::buildGroupedProperty(QDeclarativeParser::Property *pr
}
bool QDeclarativeCompiler::buildValueTypeProperty(QObject *type,
- QDeclarativeParser::Object *obj,
- QDeclarativeParser::Object *baseObj,
- const BindingContext &ctxt)
+ QDeclarativeParser::Object *obj,
+ QDeclarativeParser::Object *baseObj,
+ const BindingContext &ctxt)
{
if (obj->defaultProperty)
COMPILE_EXCEPTION(obj, QCoreApplication::translate("QDeclarativeCompiler","Invalid property use"));
@@ -1848,37 +1854,36 @@ bool QDeclarativeCompiler::buildValueTypeProperty(QObject *type,
if (prop->value)
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Property assignment expected"));
- if (prop->values.count() != 1)
+ if (prop->values.count() > 1) {
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Single property assignment expected"));
+ } else if (prop->values.count()) {
+ Value *value = prop->values.at(0);
- Value *value = prop->values.at(0);
-
- if (value->object) {
- bool isPropertyValue = output->types.at(value->object->type).type->propertyValueSourceCast() != -1;
- bool isPropertyInterceptor = output->types.at(value->object->type).type->propertyValueInterceptorCast() != -1;
- if (!isPropertyValue && !isPropertyInterceptor) {
+ if (value->object) {
COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Unexpected object assignment"));
- } else {
- COMPILE_CHECK(buildObject(value->object, ctxt));
-
- if (isPropertyInterceptor && baseObj->synthdata.isEmpty())
- buildDynamicMeta(baseObj, ForceCreation);
- value->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor;
+ } else if (value->value.isScript()) {
+ // ### Check for writability
+ BindingReference reference;
+ reference.expression = value->value;
+ reference.property = prop;
+ reference.value = value;
+ reference.bindingContext = ctxt;
+ reference.bindingContext.owner++;
+ addBindingReference(reference);
+ value->type = Value::PropertyBinding;
+ } else {
+ COMPILE_CHECK(testLiteralAssignment(p, value));
+ value->type = Value::Literal;
}
- } else if (value->value.isScript()) {
- // ### Check for writability
- BindingReference reference;
- reference.expression = value->value;
- reference.property = prop;
- reference.value = value;
- reference.bindingContext = ctxt;
- reference.bindingContext.owner++;
- addBindingReference(reference);
- value->type = Value::PropertyBinding;
- } else {
- COMPILE_CHECK(testLiteralAssignment(p, value));
- value->type = Value::Literal;
}
+
+ for (int ii = 0; ii < prop->onValues.count(); ++ii) {
+ Value *v = prop->onValues.at(ii);
+ Q_ASSERT(v->object);
+
+ COMPILE_CHECK(buildPropertyOnAssignment(prop, obj, baseObj, v, ctxt));
+ }
+
obj->addValueProperty(prop);
}
@@ -1886,13 +1891,11 @@ bool QDeclarativeCompiler::buildValueTypeProperty(QObject *type,
}
// Build assignments to QML lists. QML lists are properties of type
-// QList<T *> * and QDeclarativeList<T *> *.
-//
-// QList<T *> * types can accept a list of objects, or a single binding
-// QDeclarativeList<T *> * types can accept a list of objects
+// QDeclarativeListProperty<T>. List properties can accept a list of
+// objects, or a single binding.
bool QDeclarativeCompiler::buildListProperty(QDeclarativeParser::Property *prop,
- QDeclarativeParser::Object *obj,
- const BindingContext &ctxt)
+ QDeclarativeParser::Object *obj,
+ const BindingContext &ctxt)
{
Q_ASSERT(QDeclarativeEnginePrivate::get(engine)->isList(prop->type));
@@ -1950,20 +1953,6 @@ bool QDeclarativeCompiler::buildScriptStringProperty(QDeclarativeParser::Propert
}
// Compile regular property assignments of the form "property: <value>"
-//
-// ### The following problems exist
-//
-// There is no distinction between how "lists" of values are specified. This
-// Item {
-// children: Item {}
-// children: Item {}
-// }
-// is identical to
-// Item {
-// children: [ Item {}, Item {} ]
-// }
-//
-// We allow assignming multiple values to single value properties
bool QDeclarativeCompiler::buildPropertyAssignment(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj,
const BindingContext &ctxt)
@@ -1983,14 +1972,21 @@ bool QDeclarativeCompiler::buildPropertyAssignment(QDeclarativeParser::Property
}
}
+ for (int ii = 0; ii < prop->onValues.count(); ++ii) {
+ Value *v = prop->onValues.at(ii);
+
+ Q_ASSERT(v->object);
+ COMPILE_CHECK(buildPropertyOnAssignment(prop, obj, obj, v, ctxt));
+ }
+
return true;
}
// Compile assigning a single object instance to a regular property
bool QDeclarativeCompiler::buildPropertyObjectAssignment(QDeclarativeParser::Property *prop,
- QDeclarativeParser::Object *obj,
- QDeclarativeParser::Value *v,
- const BindingContext &ctxt)
+ QDeclarativeParser::Object *obj,
+ QDeclarativeParser::Value *v,
+ const BindingContext &ctxt)
{
Q_ASSERT(prop->index != -1);
Q_ASSERT(v->object->type != -1);
@@ -2019,15 +2015,6 @@ bool QDeclarativeCompiler::buildPropertyObjectAssignment(QDeclarativeParser::Pro
v->object->metatype = output->types.at(v->object->type).metaObject();
Q_ASSERT(v->object->metaObject());
- // Will be true if the assigned type inherits QDeclarativePropertyValueSource
- bool isPropertyValue = false;
- // Will be true if the assigned type inherits QDeclarativePropertyValueInterceptor
- bool isPropertyInterceptor = false;
- if (QDeclarativeType *valueType = toQmlType(v->object)) {
- isPropertyValue = valueType->propertyValueSourceCast() != -1;
- isPropertyInterceptor = valueType->propertyValueInterceptorCast() != -1;
- }
-
// We want to raw metaObject here as the raw metaobject is the
// actual property type before we applied any extensions that might
// effect the properties on the type, but don't effect assignability
@@ -2063,13 +2050,6 @@ bool QDeclarativeCompiler::buildPropertyObjectAssignment(QDeclarativeParser::Pro
component->getDefaultProperty()->addValue(componentValue);
v->object = component;
COMPILE_CHECK(buildPropertyObjectAssignment(prop, obj, v, ctxt));
- } else if (isPropertyValue || isPropertyInterceptor) {
- // Assign as a property value source
- COMPILE_CHECK(buildObject(v->object, ctxt));
-
- if (isPropertyInterceptor && prop->parent->synthdata.isEmpty())
- buildDynamicMeta(prop->parent, ForceCreation);
- v->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor;
} else {
COMPILE_EXCEPTION(v->object, QCoreApplication::translate("QDeclarativeCompiler","Cannot assign object to property"));
}
@@ -2078,6 +2058,55 @@ bool QDeclarativeCompiler::buildPropertyObjectAssignment(QDeclarativeParser::Pro
return true;
}
+// Compile assigning a single object instance to a regular property using the "on" syntax.
+//
+// For example:
+// Item {
+// NumberAnimation on x { }
+// }
+bool QDeclarativeCompiler::buildPropertyOnAssignment(QDeclarativeParser::Property *prop,
+ QDeclarativeParser::Object *obj,
+ QDeclarativeParser::Object *baseObj,
+ QDeclarativeParser::Value *v,
+ const BindingContext &ctxt)
+{
+ Q_ASSERT(prop->index != -1);
+ Q_ASSERT(v->object->type != -1);
+
+ if (!obj->metaObject()->property(prop->index).isWritable())
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","Invalid property assignment: \"%1\" is a read-only property").arg(QString::fromUtf8(prop->name)));
+
+
+ // Normally buildObject() will set this up, but we need the static
+ // meta object earlier to test for assignability. It doesn't matter
+ // that there may still be outstanding synthesized meta object changes
+ // on this type, as they are not relevant for assignability testing
+ v->object->metatype = output->types.at(v->object->type).metaObject();
+ Q_ASSERT(v->object->metaObject());
+
+ // Will be true if the assigned type inherits QDeclarativePropertyValueSource
+ bool isPropertyValue = false;
+ // Will be true if the assigned type inherits QDeclarativePropertyValueInterceptor
+ bool isPropertyInterceptor = false;
+ if (QDeclarativeType *valueType = toQmlType(v->object)) {
+ isPropertyValue = valueType->propertyValueSourceCast() != -1;
+ isPropertyInterceptor = valueType->propertyValueInterceptorCast() != -1;
+ }
+
+ if (isPropertyValue || isPropertyInterceptor) {
+ // Assign as a property value source
+ COMPILE_CHECK(buildObject(v->object, ctxt));
+
+ if (isPropertyInterceptor && prop->parent->synthdata.isEmpty())
+ buildDynamicMeta(baseObj, ForceCreation);
+ v->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor;
+ } else {
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(v->object->typeName.constData()).arg(prop->name.constData()));
+ }
+
+ return true;
+}
+
// Compile assigning a literal or binding to a regular property
bool QDeclarativeCompiler::buildPropertyLiteralAssignment(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj,
@@ -2175,6 +2204,8 @@ bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj)
if (propNames.contains(prop.name))
COMPILE_EXCEPTION(&prop, QCoreApplication::translate("QDeclarativeCompiler","Duplicate property name"));
+ if (QString::fromUtf8(prop.name).at(0).isUpper())
+ COMPILE_EXCEPTION(&prop, QCoreApplication::translate("QDeclarativeCompiler","Property names cannot begin with an upper case letter"));
propNames.insert(prop.name);
}
@@ -2182,12 +2213,16 @@ bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj)
QByteArray name = obj->dynamicSignals.at(ii).name;
if (methodNames.contains(name))
COMPILE_EXCEPTION(obj, QCoreApplication::translate("QDeclarativeCompiler","Duplicate signal name"));
+ if (QString::fromUtf8(name).at(0).isUpper())
+ COMPILE_EXCEPTION(obj, QCoreApplication::translate("QDeclarativeCompiler","Signal names cannot begin with an upper case letter"));
methodNames.insert(name);
}
for (int ii = 0; ii < obj->dynamicSlots.count(); ++ii) {
QByteArray name = obj->dynamicSlots.at(ii).name;
if (methodNames.contains(name))
COMPILE_EXCEPTION(obj, QCoreApplication::translate("QDeclarativeCompiler","Duplicate method name"));
+ if (QString::fromUtf8(name).at(0).isUpper())
+ COMPILE_EXCEPTION(obj, QCoreApplication::translate("QDeclarativeCompiler","Method names cannot begin with an upper case letter"));
methodNames.insert(name);
}
@@ -2203,10 +2238,13 @@ bool QDeclarativeCompiler::mergeDynamicMetaProperties(QDeclarativeParser::Object
continue;
Property *property = 0;
- if (p.isDefaultProperty)
+ if (p.isDefaultProperty) {
property = obj->getDefaultProperty();
- else
+ } else {
property = obj->getProperty(p.name);
+ if (!property->values.isEmpty())
+ COMPILE_EXCEPTION(property, QCoreApplication::translate("QDeclarativeCompiler","Property value set multiple times"));
+ }
if (property->value)
COMPILE_EXCEPTION(property, QCoreApplication::translate("QDeclarativeCompiler","Invalid property nesting"));
@@ -2233,8 +2271,6 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn
obj->dynamicSlots.isEmpty())
return true;
- COMPILE_CHECK(checkDynamicMeta(obj));
-
QByteArray dynamicData(sizeof(QDeclarativeVMEMetaData), (char)0);
QByteArray newClassName = obj->metatype->className();
@@ -2437,6 +2473,31 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn
return true;
}
+bool QDeclarativeCompiler::checkValidId(QDeclarativeParser::Value *v, const QString &val)
+{
+ if (val.isEmpty())
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler", "Invalid empty ID"));
+
+ if (val.at(0).isLetter() && !val.at(0).isLower())
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler", "IDs cannot start with an uppercase letter"));
+
+ QChar u(QLatin1Char('_'));
+ for (int ii = 0; ii < val.count(); ++ii) {
+
+ if (ii == 0 && !val.at(ii).isLetter() && val.at(ii) != u) {
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler", "IDs must start with a letter or underscore"));
+ } else if (ii != 0 && !val.at(ii).isLetterOrNumber() && val.at(ii) != u) {
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler", "IDs must contain only letters, numbers, and underscores"));
+ }
+
+ }
+
+ if (QDeclarativeEnginePrivate::get(engine)->globalClass->illegalNames().contains(val))
+ COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler", "ID illegally masks global JavaScript property"));
+
+ return true;
+}
+
#include <qdeclarativejsparser_p.h>
static QStringList astNodeToStringList(QDeclarativeJS::AST::Node *node)
@@ -2560,9 +2621,9 @@ bool QDeclarativeCompiler::buildBinding(QDeclarativeParser::Value *value,
}
void QDeclarativeCompiler::genBindingAssignment(QDeclarativeParser::Value *binding,
- QDeclarativeParser::Property *prop,
- QDeclarativeParser::Object *obj,
- QDeclarativeParser::Property *valueTypeProperty)
+ QDeclarativeParser::Property *prop,
+ QDeclarativeParser::Object *obj,
+ QDeclarativeParser::Property *valueTypeProperty)
{
Q_UNUSED(obj);
Q_ASSERT(compileState.bindings.contains(binding));
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h
index 2ea3366961..cca42e21de 100644
--- a/src/declarative/qml/qdeclarativecompiler_p.h
+++ b/src/declarative/qml/qdeclarativecompiler_p.h
@@ -155,7 +155,6 @@ public:
bool isError() const;
QList<QDeclarativeError> errors() const;
- static bool isValidId(const QString &);
static bool isAttachedPropertyName(const QByteArray &);
static bool isSignalPropertyName(const QByteArray &);
@@ -219,6 +218,11 @@ private:
QDeclarativeParser::Object *obj,
QDeclarativeParser::Value *value,
const BindingContext &ctxt);
+ bool buildPropertyOnAssignment(QDeclarativeParser::Property *prop,
+ QDeclarativeParser::Object *obj,
+ QDeclarativeParser::Object *baseObj,
+ QDeclarativeParser::Value *value,
+ const BindingContext &ctxt);
bool buildPropertyLiteralAssignment(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj,
QDeclarativeParser::Value *value,
@@ -242,6 +246,7 @@ private:
QDeclarativeParser::Object *obj,
const QDeclarativeParser::Object::DynamicProperty &);
bool completeComponentBuild();
+ bool checkValidId(QDeclarativeParser::Value *, const QString &);
void genObject(QDeclarativeParser::Object *obj);
@@ -302,6 +307,7 @@ private:
QByteArray compiledBindingData;
QHash<QDeclarativeParser::Value *, BindingReference> bindings;
+ QHash<QDeclarativeParser::Value *, BindingContext> signalExpressions;
QList<QDeclarativeParser::Object *> aliasingObjects;
QDeclarativeParser::Object *root;
};
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index fe63ad2169..d6bb216c8c 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -437,6 +437,13 @@ void QDeclarativeComponent::loadUrl(const QUrl &url)
else
d->url = url;
+ if (url.isEmpty()) {
+ QDeclarativeError error;
+ error.setDescription(tr("Invalid empty URL"));
+ d->state.errors << error;
+ return;
+ }
+
QDeclarativeCompositeTypeData *data =
QDeclarativeEnginePrivate::get(d->engine)->typeManager.get(d->url);
@@ -618,7 +625,7 @@ QDeclarativeComponentPrivate::beginCreate(QDeclarativeContext *context, const QB
QObject *rv = begin(ctxt, ep, cc, start, count, &state, bindings);
if (rv) {
- QDeclarativeGraphics_setParent_noEvent(ctxt, rv);
+ QDeclarative_setParent_noEvent(ctxt, rv);
} else {
delete ctxt;
}
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp
index b244cd880d..f70e143c18 100644
--- a/src/declarative/qml/qdeclarativecontext.cpp
+++ b/src/declarative/qml/qdeclarativecontext.cpp
@@ -47,6 +47,7 @@
#include "qdeclarativeengine.h"
#include "qdeclarativecompiledbindings_p.h"
#include "qdeclarativeinfo.h"
+#include "qdeclarativeglobalscriptclass_p.h"
#include <qscriptengine.h>
#include <QtCore/qvarlengtharray.h>
@@ -74,10 +75,13 @@ void QDeclarativeContextPrivate::addScript(const QDeclarativeParser::Object::Scr
QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
+
scriptContext->pushScope(enginePriv->contextClass->newContext(q, scopeObject));
+ scriptContext->pushScope(enginePriv->globalClass->globalObject());
QScriptValue scope = scriptEngine->newObject();
scriptContext->setActivationObject(scope);
+ scriptContext->pushScope(scope);
for (int ii = 0; ii < script.codes.count(); ++ii) {
scriptEngine->evaluate(script.codes.at(ii), script.files.at(ii), script.lineNumbers.at(ii));
@@ -480,7 +484,10 @@ QVariant QDeclarativeContext::contextProperty(const QString &name) const
if (!value.isValid() && parentContext())
value = parentContext()->contextProperty(name);
} else {
- value = d->propertyValues[idx];
+ if (idx >= d->propertyValues.count())
+ value = QVariant::fromValue(d->idValues[idx - d->propertyValues.count()].data());
+ else
+ value = d->propertyValues[idx];
}
return value;
diff --git a/src/declarative/qml/qdeclarativecontextscriptclass.cpp b/src/declarative/qml/qdeclarativecontextscriptclass.cpp
index 7deed0b9e0..5fcf4e2adc 100644
--- a/src/declarative/qml/qdeclarativecontextscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativecontextscriptclass.cpp
@@ -50,10 +50,11 @@
QT_BEGIN_NAMESPACE
struct ContextData : public QScriptDeclarativeClass::Object {
- ContextData() : isSharedContext(true) {}
- ContextData(QDeclarativeContext *c, QObject *o) : context(c), scopeObject(o), isSharedContext(false) {}
+ ContextData() : overrideObject(0), isSharedContext(true) {}
+ ContextData(QDeclarativeContext *c, QObject *o) : context(c), scopeObject(o), overrideObject(0), isSharedContext(false) {}
QDeclarativeGuard<QDeclarativeContext> context;
QDeclarativeGuard<QObject> scopeObject;
+ QObject *overrideObject;
bool isSharedContext;
QDeclarativeContext *getContext(QDeclarativeEngine *engine) {
@@ -110,6 +111,17 @@ QDeclarativeContext *QDeclarativeContextScriptClass::contextFromValue(const QScr
return data->getContext(engine);
}
+QObject *QDeclarativeContextScriptClass::setOverrideObject(QScriptValue &v, QObject *override)
+{
+ if (scriptClass(v) != this)
+ return 0;
+
+ ContextData *data = (ContextData *)object(v);
+ QObject *rv = data->overrideObject;
+ data->overrideObject = override;
+ return rv;
+}
+
QScriptClass::QueryFlags
QDeclarativeContextScriptClass::queryProperty(Object *object, const Identifier &name,
QScriptClass::QueryFlags flags)
@@ -127,6 +139,20 @@ QDeclarativeContextScriptClass::queryProperty(Object *object, const Identifier &
if (!bindContext)
return 0;
+ QObject *overrideObject = ((ContextData *)object)->overrideObject;
+ if (overrideObject) {
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+ QScriptClass::QueryFlags rv =
+ ep->objectClass->queryProperty(overrideObject, name, flags, bindContext,
+ QDeclarativeObjectScriptClass::ImplicitObject |
+ QDeclarativeObjectScriptClass::SkipAttachedProperties);
+ if (rv) {
+ lastScopeObject = overrideObject;
+ lastContext = bindContext;
+ return rv;
+ }
+ }
+
bool includeTypes = true;
while (bindContext) {
QScriptClass::QueryFlags rv =
@@ -236,8 +262,9 @@ QDeclarativeContextScriptClass::property(Object *object, const Identifier &name)
}
}
- ep->capturedProperties <<
- QDeclarativeEnginePrivate::CapturedProperty(bindContext, -1, lastPropertyIndex + cp->notifyIndex);
+ if (ep->captureProperties)
+ ep->capturedProperties << QDeclarativeEnginePrivate::CapturedProperty(bindContext, -1, lastPropertyIndex + cp->notifyIndex);
+
return Value(scriptEngine, rv);
} else if(lastDefaultObject != -1) {
diff --git a/src/declarative/qml/qdeclarativecontextscriptclass_p.h b/src/declarative/qml/qdeclarativecontextscriptclass_p.h
index 26086ecdbf..4b0dca0492 100644
--- a/src/declarative/qml/qdeclarativecontextscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativecontextscriptclass_p.h
@@ -70,6 +70,7 @@ public:
QScriptValue newSharedContext();
QDeclarativeContext *contextFromValue(const QScriptValue &);
+ QObject *setOverrideObject(QScriptValue &, QObject *);
protected:
virtual QScriptClass::QueryFlags queryProperty(Object *, const Identifier &,
diff --git a/src/declarative/qml/qdeclarativedeclarativedata_p.h b/src/declarative/qml/qdeclarativedeclarativedata_p.h
index 2c92419cc7..ae40130deb 100644
--- a/src/declarative/qml/qdeclarativedeclarativedata_p.h
+++ b/src/declarative/qml/qdeclarativedeclarativedata_p.h
@@ -103,7 +103,10 @@ public:
static QDeclarativeDeclarativeData *get(const QObject *object, bool create = false) {
QObjectPrivate *priv = QObjectPrivate::get(const_cast<QObject *>(object));
- if (priv->declarativeData) {
+ if (priv->wasDeleted) {
+ Q_ASSERT(!create);
+ return 0;
+ } else if (priv->declarativeData) {
return static_cast<QDeclarativeDeclarativeData *>(priv->declarativeData);
} else if (create) {
priv->declarativeData = new QDeclarativeDeclarativeData;
@@ -117,6 +120,11 @@ public:
template<class T>
void QDeclarativeGuard<T>::addGuard()
{
+ if (QObjectPrivate::get(o)->wasDeleted) {
+ if (prev) remGuard();
+ return;
+ }
+
QDeclarativeDeclarativeData *data = QDeclarativeDeclarativeData::get(o, true);
next = data->guards;
if (next) reinterpret_cast<QDeclarativeGuard<T> *>(next)->prev = &next;
diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp
index 6c81f3441b..cb56ead43f 100644
--- a/src/declarative/qml/qdeclarativedom.cpp
+++ b/src/declarative/qml/qdeclarativedom.cpp
@@ -374,7 +374,10 @@ QDeclarativeDomValue QDeclarativeDomProperty::value() const
QDeclarativeDomValue rv;
if (d->property) {
rv.d->property = d->property;
- rv.d->value = d->property->values.at(0);
+ if (d->property->values.count())
+ rv.d->value = d->property->values.at(0);
+ else
+ rv.d->value = d->property->onValues.at(0);
rv.d->property->addref();
rv.d->value->addref();
}
@@ -505,7 +508,7 @@ int QDeclarativeDomDynamicProperty::propertyType() const
QByteArray QDeclarativeDomDynamicProperty::propertyTypeName() const
{
- if (isValid())
+ if (isValid())
return d->property.customType;
return QByteArray();
@@ -1181,7 +1184,7 @@ QDeclarativeDomObject QDeclarativeDomValueValueSource::object() const
\qml
Rectangle {
- x: Behavior { NumberAnimation { duration: 500 } }
+ Behavior on x { NumberAnimation { duration: 500 } }
}
\endqml
*/
@@ -1225,7 +1228,7 @@ QDeclarativeDomValueValueInterceptor &QDeclarativeDomValueValueInterceptor::oper
returned.
\qml
Rectangle {
- x: Behavior { NumberAnimation { duration: 500 } }
+ Behavior on x { NumberAnimation { duration: 500 } }
}
\endqml
*/
@@ -1346,7 +1349,7 @@ QDeclarativeDomValue::Type QDeclarativeDomValue::type() const
{
if (d->property)
if (QDeclarativeMetaType::isList(d->property->type) ||
- (d->property && d->property->values.count() > 1))
+ (d->property && (d->property->values.count() + d->property->onValues.count()) > 1))
return List;
QDeclarativeParser::Value *value = d->value;
@@ -1628,6 +1631,13 @@ QList<QDeclarativeDomValue> QDeclarativeDomList::values() const
rv << v;
}
+ for (int ii = 0; ii < d->property->onValues.count(); ++ii) {
+ QDeclarativeDomValue v;
+ v.d->value = d->property->onValues.at(ii);
+ v.d->value->addref();
+ rv << v;
+ }
+
return rv;
}
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index af75e98fe9..c23b17c33c 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -167,6 +167,7 @@ QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e)
QDeclarativeItemModule::defineModule();
QDeclarativeUtilModule::defineModule();
QDeclarativeEnginePrivate::defineModule();
+ QDeclarativeValueTypeFactory::registerValueTypes();
}
globalClass = new QDeclarativeGlobalScriptClass(&scriptEngine);
@@ -236,9 +237,13 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr
qtObject.setProperty(QLatin1String("tint"), newFunction(QDeclarativeEnginePrivate::tint, 2));
}
+ //date/time formatting
+ qtObject.setProperty(QLatin1String("formatDate"),newFunction(QDeclarativeEnginePrivate::formatDate, 2));
+ qtObject.setProperty(QLatin1String("formatTime"),newFunction(QDeclarativeEnginePrivate::formatTime, 2));
+ qtObject.setProperty(QLatin1String("formatDateTime"),newFunction(QDeclarativeEnginePrivate::formatDateTime, 2));
+
//misc methods
qtObject.setProperty(QLatin1String("closestAngle"), newFunction(QDeclarativeEnginePrivate::closestAngle, 2));
- qtObject.setProperty(QLatin1String("playSound"), newFunction(QDeclarativeEnginePrivate::playSound, 1));
qtObject.setProperty(QLatin1String("openUrlExternally"),newFunction(QDeclarativeEnginePrivate::desktopOpenUrl, 1));
qtObject.setProperty(QLatin1String("md5"),newFunction(QDeclarativeEnginePrivate::md5, 1));
qtObject.setProperty(QLatin1String("btoa"),newFunction(QDeclarativeEnginePrivate::btoa, 1));
@@ -537,9 +542,9 @@ QNetworkAccessManager *QDeclarativeEngine::networkAccessManager() const
This example creates a provider with id \e colors:
- \snippet examples/declarative/imageprovider/main.cpp 0
+ \snippet examples/declarative/imageprovider/imageprovider.cpp 0
- \snippet examples/declarative/imageprovider/view.qml 0
+ \snippet examples/declarative/imageprovider/imageprovider.qml 0
\sa removeImageProvider()
*/
@@ -936,6 +941,66 @@ QScriptValue QDeclarativeEnginePrivate::vector(QScriptContext *ctxt, QScriptEngi
return engine->newVariant(qVariantFromValue(QVector3D(x, y, z)));
}
+QScriptValue QDeclarativeEnginePrivate::formatDate(QScriptContext*ctxt, QScriptEngine*engine)
+{
+ int argCount = ctxt->argumentCount();
+ if(argCount == 0 || argCount > 2)
+ return engine->nullValue();
+
+ QDate date = ctxt->argument(0).toDateTime().date();
+ Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
+ if (argCount == 2) {
+ if (ctxt->argument(1).isString()) {
+ QString format = ctxt->argument(1).toString();
+ return engine->newVariant(qVariantFromValue(date.toString(format)));
+ } else if (ctxt->argument(1).isNumber()) {
+ enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
+ } else
+ return engine->nullValue();
+ }
+ return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
+}
+
+QScriptValue QDeclarativeEnginePrivate::formatTime(QScriptContext*ctxt, QScriptEngine*engine)
+{
+ int argCount = ctxt->argumentCount();
+ if(argCount == 0 || argCount > 2)
+ return engine->nullValue();
+
+ QTime date = ctxt->argument(0).toDateTime().time();
+ Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
+ if (argCount == 2) {
+ if (ctxt->argument(1).isString()) {
+ QString format = ctxt->argument(1).toString();
+ return engine->newVariant(qVariantFromValue(date.toString(format)));
+ } else if (ctxt->argument(1).isNumber()) {
+ enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
+ } else
+ return engine->nullValue();
+ }
+ return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
+}
+
+QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScriptEngine*engine)
+{
+ int argCount = ctxt->argumentCount();
+ if(argCount == 0 || argCount > 2)
+ return engine->nullValue();
+
+ QDateTime date = ctxt->argument(0).toDateTime();
+ Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
+ if (argCount == 2) {
+ if (ctxt->argument(1).isString()) {
+ QString format = ctxt->argument(1).toString();
+ return engine->newVariant(qVariantFromValue(date.toString(format)));
+ } else if (ctxt->argument(1).isNumber()) {
+ enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
+ } else
+ return engine->nullValue();
+ }
+ return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
+}
+
QScriptValue QDeclarativeEnginePrivate::rgba(QScriptContext *ctxt, QScriptEngine *engine)
{
int argCount = ctxt->argumentCount();
@@ -1040,30 +1105,6 @@ QScriptValue QDeclarativeEnginePrivate::darker(QScriptContext *ctxt, QScriptEngi
return qScriptValueFromValue(engine, qVariantFromValue(color));
}
-QScriptValue QDeclarativeEnginePrivate::playSound(QScriptContext *ctxt, QScriptEngine *engine)
-{
- if (ctxt->argumentCount() != 1)
- return engine->undefinedValue();
-
- QUrl url(ctxt->argument(0).toString());
-
- QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine);
- if (url.isRelative()) {
- QDeclarativeContext *context = enginePriv->getContext(ctxt);
- if (!context)
- return engine->undefinedValue();
-
- url = context->resolvedUrl(url);
- }
-
- if (url.scheme() == QLatin1String("file")) {
-
- QSound::play(url.toLocalFile());
-
- }
- return engine->undefinedValue();
-}
-
QScriptValue QDeclarativeEnginePrivate::desktopOpenUrl(QScriptContext *ctxt, QScriptEngine *e)
{
if(ctxt->argumentCount() < 1)
@@ -1193,17 +1234,13 @@ QScriptValue QDeclarativeEnginePrivate::tint(QScriptContext *ctxt, QScriptEngine
else if (a == 0x00)
finalColor = color;
else {
- uint src = tintColor.rgba();
- uint dest = color.rgba();
+ qreal a = tintColor.alphaF();
+ qreal inv_a = 1.0 - a;
- uint res = (((a * (src & 0xFF00FF)) +
- ((0xFF - a) * (dest & 0xFF00FF))) >> 8) & 0xFF00FF;
- res |= (((a * ((src >> 8) & 0xFF00FF)) +
- ((0xFF - a) * ((dest >> 8) & 0xFF00FF)))) & 0xFF00FF00;
- if ((src & 0xFF000000) == 0xFF000000)
- res |= 0xFF000000;
-
- finalColor = QColor::fromRgba(res);
+ finalColor.setRgbF(tintColor.redF() * a + color.redF() * inv_a,
+ tintColor.greenF() * a + color.greenF() * inv_a,
+ tintColor.blueF() * a + color.blueF() * inv_a,
+ a + inv_a * color.alphaF());
}
return qScriptValueFromValue(engine, qVariantFromValue(finalColor));
@@ -1383,7 +1420,11 @@ public:
paths += QFileInfo(base.toLocalFile()).path();
paths += importPath;
paths += QDeclarativeEnginePrivate::get(engine)->environmentImportPath;
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath);
+#else
+ QString builtinPath;
+#endif
if (!builtinPath.isEmpty())
paths += builtinPath;
@@ -1615,10 +1656,8 @@ void QDeclarativeEngine::addImportPath(const QString& path)
}
/*!
- Imports the given \a extension into this QDeclarativeEngine. Returns
- true if the extension was successfully imported.
-
- \sa QDeclarativeExtensionInterface
+ Imports the extension named \a fileName from the \a uri provided.
+ Returns true if the extension was successfully imported.
*/
bool QDeclarativeEngine::importExtension(const QString &fileName, const QString &uri)
{
@@ -1687,6 +1726,7 @@ QString QDeclarativeEngine::offlineStoragePath() const
\internal
Returns the result of the merge of \a baseName with \a dir, \a suffixes, and \a prefix.
+ The \a prefix must contain the dot.
*/
QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString &baseName,
const QStringList &suffixes,
@@ -1696,7 +1736,6 @@ QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString
QString pluginFileName = prefix;
pluginFileName += baseName;
- pluginFileName += QLatin1Char('.');
pluginFileName += suffix;
QFileInfo fileInfo(dir, pluginFileName);
@@ -1728,14 +1767,26 @@ QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString
QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString &baseName)
{
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
- return resolvePlugin(dir, baseName, QStringList(QLatin1String("dll")));
+ return resolvePlugin(dir, baseName,
+ QStringList()
+# ifdef QT_DEBUG
+ << QLatin1String("d.dll") // try a qmake-style debug build first
+# endif
+ << QLatin1String(".dll"));
#elif defined(Q_OS_SYMBIAN)
- return resolvePlugin(dir, baseName, QStringList() << QLatin1String("dll") << QLatin1String("qtplugin"));
+ return resolvePlugin(dir, baseName,
+ QStringList()
+ << QLatin1String(".dll")
+ << QLatin1String(".qtplugin"));
#else
# if defined(Q_OS_DARWIN)
- return resolvePlugin(dir, baseName, QStringList() << QLatin1String("dylib") << QLatin1String("so") << QLatin1String("bundle"),
+ return resolvePlugin(dir, baseName,
+ QStringList()
+ << QLatin1String(".dylib")
+ << QLatin1String(".so")
+ << QLatin1String(".bundle"),
QLatin1String("lib"));
# else // Generic Unix
QStringList validSuffixList;
@@ -1746,14 +1797,14 @@ QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString
"In PA-RISC (PA-32 and PA-64) shared libraries are suffixed with .sl. In IPF (32-bit and 64-bit),
the shared libraries are suffixed with .so. For compatibility, the IPF linker also supports the .sl suffix."
*/
- validSuffixList << QLatin1String("sl");
+ validSuffixList << QLatin1String(".sl");
# if defined __ia64
- validSuffixList << QLatin1String("so");
+ validSuffixList << QLatin1String(".so");
# endif
# elif defined(Q_OS_AIX)
- validSuffixList << QLatin1String("a") << QLatin1String("so");
+ validSuffixList << QLatin1String(".a") << QLatin1String(".so");
# elif defined(Q_OS_UNIX)
- validSuffixList << QLatin1String("so");
+ validSuffixList << QLatin1String(".so");
# endif
// Examples of valid library names:
diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h
index 0359f98b58..459a325344 100644
--- a/src/declarative/qml/qdeclarativeengine_p.h
+++ b/src/declarative/qml/qdeclarativeengine_p.h
@@ -238,7 +238,8 @@ public:
QHash<const QMetaObject *, QDeclarativePropertyCache *> propertyCache;
QDeclarativePropertyCache *cache(QObject *obj) {
Q_Q(QDeclarativeEngine);
- if (!obj || QObjectPrivate::get(obj)->metaObject) return 0;
+ if (!obj || QObjectPrivate::get(obj)->metaObject ||
+ QObjectPrivate::get(obj)->wasDeleted) return 0;
const QMetaObject *mo = obj->metaObject();
QDeclarativePropertyCache *rv = propertyCache.value(mo);
if (!rv) {
@@ -318,7 +319,6 @@ public:
static QScriptValue tint(QScriptContext*, QScriptEngine*);
static QScriptValue closestAngle(QScriptContext*, QScriptEngine*);
- static QScriptValue playSound(QScriptContext*, QScriptEngine*);
static QScriptValue desktopOpenUrl(QScriptContext*, QScriptEngine*);
static QScriptValue md5(QScriptContext*, QScriptEngine*);
static QScriptValue btoa(QScriptContext*, QScriptEngine*);
@@ -326,6 +326,10 @@ public:
static QScriptValue consoleLog(QScriptContext*, QScriptEngine*);
static QScriptValue quit(QScriptContext*, QScriptEngine*);
+ static QScriptValue formatDate(QScriptContext*, QScriptEngine*);
+ static QScriptValue formatTime(QScriptContext*, QScriptEngine*);
+ static QScriptValue formatDateTime(QScriptContext*, QScriptEngine*);
+
static QScriptEngine *getScriptEngine(QDeclarativeEngine *e) { return &e->d_func()->scriptEngine; }
static QDeclarativeEngine *getEngine(QScriptEngine *e) { return static_cast<QDeclarativeScriptEngine*>(e)->p->q_func(); }
static QDeclarativeEnginePrivate *get(QDeclarativeEngine *e) { return e->d_func(); }
diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp
index 09882cbddc..3e4acbe839 100644
--- a/src/declarative/qml/qdeclarativeenginedebug.cpp
+++ b/src/declarative/qml/qdeclarativeenginedebug.cpp
@@ -117,7 +117,7 @@ QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx)
QVariant value = prop.read(obj);
rv.value = valueContents(value);
- if (QVariant::Type(prop.userType()) < QVariant::UserType) {
+ if (QDeclarativeValueTypeFactory::isValueType(prop.userType())) {
rv.type = QDeclarativeObjectProperty::Basic;
} else if (QDeclarativeMetaType::isQObject(prop.userType())) {
rv.type = QDeclarativeObjectProperty::Object;
@@ -131,7 +131,7 @@ QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx)
QVariant QDeclarativeEngineDebugServer::valueContents(const QVariant &value) const
{
int userType = value.userType();
- if (QVariant::Type(userType) < QVariant::UserType)
+ if (QDeclarativeValueTypeFactory::isValueType(userType))
return value;
/*
diff --git a/src/declarative/qml/qdeclarativeenginedebug_p.h b/src/declarative/qml/qdeclarativeenginedebug_p.h
index 89da399aaf..a95449b3ab 100644
--- a/src/declarative/qml/qdeclarativeenginedebug_p.h
+++ b/src/declarative/qml/qdeclarativeenginedebug_p.h
@@ -53,7 +53,7 @@
// We mean it.
//
-#include "../debugger/qdeclarativedebugservice_p.h"
+#include <private/qdeclarativedebugservice_p.h>
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp
index ae1e7905d0..899f4027bb 100644
--- a/src/declarative/qml/qdeclarativeexpression.cpp
+++ b/src/declarative/qml/qdeclarativeexpression.cpp
@@ -46,6 +46,7 @@
#include "qdeclarativecontext_p.h"
#include "qdeclarativerewrite_p.h"
#include "qdeclarativecompiler_p.h"
+#include "qdeclarativeglobalscriptclass_p.h"
#include <QtCore/qdebug.h>
#include <QtScript/qscriptprogram.h>
@@ -135,6 +136,7 @@ void QDeclarativeExpressionPrivate::init(QDeclarativeContext *ctxt, void *expr,
if (!dd->cachedClosures.at(progIdx)) {
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
scriptContext->pushScope(ep->contextClass->newSharedContext());
+ scriptContext->pushScope(ep->globalClass->globalObject());
dd->cachedClosures[progIdx] = new QScriptValue(scriptEngine->evaluate(data->expression, data->url, data->line));
scriptEngine->popContext();
}
@@ -151,9 +153,11 @@ void QDeclarativeExpressionPrivate::init(QDeclarativeContext *ctxt, void *expr,
new QScriptProgram(data->expression, data->url, data->line);
}
- data->expressionFunction = evalInObjectScope(ctxt, me, *dd->cachedPrograms.at(progIdx));
+ data->expressionFunction = evalInObjectScope(ctxt, me, *dd->cachedPrograms.at(progIdx),
+ &data->expressionContext);
#else
- data->expressionFunction = evalInObjectScope(ctxt, me, data->expression);
+ data->expressionFunction = evalInObjectScope(ctxt, me, data->expression,
+ &data->expressionContext);
#endif
data->expressionFunctionValid = true;
@@ -164,22 +168,34 @@ void QDeclarativeExpressionPrivate::init(QDeclarativeContext *ctxt, void *expr,
}
QScriptValue QDeclarativeExpressionPrivate::evalInObjectScope(QDeclarativeContext *context, QObject *object,
- const QString &program)
+ const QString &program, QScriptValue *contextObject)
{
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context->engine());
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(&ep->scriptEngine);
- scriptContext->pushScope(ep->contextClass->newContext(context, object));
+ if (contextObject) {
+ *contextObject = ep->contextClass->newContext(context, object);
+ scriptContext->pushScope(*contextObject);
+ } else {
+ scriptContext->pushScope(ep->contextClass->newContext(context, object));
+ }
+ scriptContext->pushScope(ep->globalClass->globalObject());
QScriptValue rv = ep->scriptEngine.evaluate(program);
ep->scriptEngine.popContext();
return rv;
}
QScriptValue QDeclarativeExpressionPrivate::evalInObjectScope(QDeclarativeContext *context, QObject *object,
- const QScriptProgram &program)
+ const QScriptProgram &program, QScriptValue *contextObject)
{
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context->engine());
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(&ep->scriptEngine);
- scriptContext->pushScope(ep->contextClass->newContext(context, object));
+ if (contextObject) {
+ *contextObject = ep->contextClass->newContext(context, object);
+ scriptContext->pushScope(*contextObject);
+ } else {
+ scriptContext->pushScope(ep->contextClass->newContext(context, object));
+ }
+ scriptContext->pushScope(ep->globalClass->globalObject());
QScriptValue rv = ep->scriptEngine.evaluate(program);
ep->scriptEngine.popContext();
return rv;
@@ -326,15 +342,14 @@ QVariant QDeclarativeExpressionPrivate::evalQtScript(QObject *secondaryScope, bo
QDeclarativeEngine *engine = data->context()->engine();
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
- if (secondaryScope)
- ctxtPriv->defaultObjects.append(secondaryScope);
-
QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
if (!data->expressionFunctionValid) {
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
- scriptContext->pushScope(ep->contextClass->newContext(data->context(), data->me));
+ data->expressionContext = ep->contextClass->newContext(data->context(), data->me);
+ scriptContext->pushScope(data->expressionContext);
+ scriptContext->pushScope(ep->globalClass->globalObject());
if (data->expressionRewritten) {
data->expressionFunction = scriptEngine->evaluate(data->expression,
@@ -357,11 +372,14 @@ QVariant QDeclarativeExpressionPrivate::evalQtScript(QObject *secondaryScope, bo
QDeclarativeContext *oldSharedContext = 0;
QObject *oldSharedScope = 0;
+ QObject *oldOverride = 0;
if (data->isShared) {
oldSharedContext = ep->sharedContext;
oldSharedScope = ep->sharedScope;
ep->sharedContext = data->context();
ep->sharedScope = data->me;
+ } else {
+ oldOverride = ep->contextClass->setOverrideObject(data->expressionContext, secondaryScope);
}
QScriptValue svalue = data->expressionFunction.call();
@@ -369,6 +387,8 @@ QVariant QDeclarativeExpressionPrivate::evalQtScript(QObject *secondaryScope, bo
if (data->isShared) {
ep->sharedContext = oldSharedContext;
ep->sharedScope = oldSharedScope;
+ } else {
+ ep->contextClass->setOverrideObject(data->expressionContext, oldOverride);
}
if (isUndefined)
@@ -383,12 +403,6 @@ QVariant QDeclarativeExpressionPrivate::evalQtScript(QObject *secondaryScope, bo
data->error = QDeclarativeError();
}
- if (secondaryScope) {
- QObject *last = ctxtPriv->defaultObjects.takeLast();
- Q_ASSERT(last == secondaryScope);
- Q_UNUSED(last);
- }
-
QVariant rv;
if (svalue.isArray()) {
@@ -498,19 +512,20 @@ bool QDeclarativeExpression::notifyOnValueChanged() const
}
/*!
-Sets whether the valueChanged() signal is emitted when the expression's evaluated
-value changes.
-
-If true, the QDeclarativeExpression will monitor properties involved in the expression's
-evaluation, and emit QDeclarativeExpression::valueChanged() if they have changed. This allows
-an application to ensure that any value associated with the result of the expression
-remains up to date.
-
-If false, the QDeclarativeExpression will not montitor properties involved in the expression's
-evaluation, and QDeclarativeExpression::valueChanged() will never be emitted. This is more efficient
-if an application wants a "one off" evaluation of the expression.
-
-By default, notifyOnChange is false.
+ Sets whether the valueChanged() signal is emitted when the
+ expression's evaluated value changes.
+
+ If \a notifyOnChange is true, the QDeclarativeExpression will
+ monitor properties involved in the expression's evaluation, and emit
+ QDeclarativeExpression::valueChanged() if they have changed. This
+ allows an application to ensure that any value associated with the
+ result of the expression remains up to date.
+
+ If \a notifyOnChange is false (default), the QDeclarativeExpression
+ will not montitor properties involved in the expression's
+ evaluation, and QDeclarativeExpression::valueChanged() will never be
+ emitted. This is more efficient if an application wants a "one off"
+ evaluation of the expression.
*/
void QDeclarativeExpression::setNotifyOnValueChanged(bool notifyOnChange)
{
diff --git a/src/declarative/qml/qdeclarativeexpression_p.h b/src/declarative/qml/qdeclarativeexpression_p.h
index 91ac4c07da..cd1729d6ba 100644
--- a/src/declarative/qml/qdeclarativeexpression_p.h
+++ b/src/declarative/qml/qdeclarativeexpression_p.h
@@ -119,6 +119,7 @@ public:
bool expressionFunctionValid:1;
bool expressionRewritten:1;
QScriptValue expressionFunction;
+ QScriptValue expressionContext;
QObject *me;
bool trackChange;
@@ -180,8 +181,8 @@ public:
virtual void emitValueChanged();
static void exceptionToError(QScriptEngine *, QDeclarativeError &);
- static QScriptValue evalInObjectScope(QDeclarativeContext *, QObject *, const QString &);
- static QScriptValue evalInObjectScope(QDeclarativeContext *, QObject *, const QScriptProgram &);
+ static QScriptValue evalInObjectScope(QDeclarativeContext *, QObject *, const QString &, QScriptValue * = 0);
+ static QScriptValue evalInObjectScope(QDeclarativeContext *, QObject *, const QScriptProgram &, QScriptValue * = 0);
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeextensionplugin.cpp b/src/declarative/qml/qdeclarativeextensionplugin.cpp
index 3d44d63384..7617977b70 100644
--- a/src/declarative/qml/qdeclarativeextensionplugin.cpp
+++ b/src/declarative/qml/qdeclarativeextensionplugin.cpp
@@ -87,7 +87,7 @@ QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin()
/*!
\fn void QDeclarativeExtensionPlugin::initializeEngine(QDeclarativeEngine *engine, const char *uri)
- Initializes the extension specified in the given \a engine.
+ Initializes the extension from the \a uri using the \a engine.
*/
void QDeclarativeExtensionPlugin::initializeEngine(QDeclarativeEngine *engine, const char *uri)
diff --git a/src/declarative/qml/qdeclarativeglobal_p.h b/src/declarative/qml/qdeclarativeglobal_p.h
index bbdc91c8cb..104199227f 100644
--- a/src/declarative/qml/qdeclarativeglobal_p.h
+++ b/src/declarative/qml/qdeclarativeglobal_p.h
@@ -79,7 +79,7 @@ struct QDeclarativeGraphics_DerivedObject : public QObject
neither \a parent nor the object's previous parent (if it had one) will
receive ChildRemoved or ChildAdded events.
*/
-inline void QDeclarativeGraphics_setParent_noEvent(QObject *object, QObject *parent)
+inline void QDeclarative_setParent_noEvent(QObject *object, QObject *parent)
{
static_cast<QDeclarativeGraphics_DerivedObject *>(object)->setParent_noEvent(parent);
}
diff --git a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
index 5b06b42a2b..9ee2fe5bb6 100644
--- a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
@@ -53,15 +53,17 @@ QT_BEGIN_NAMESPACE
QDeclarativeGlobalScriptClass::QDeclarativeGlobalScriptClass(QScriptEngine *engine)
: QScriptClass(engine)
{
- QScriptValue v = engine->newObject();
- globalObject = engine->globalObject();
+ QScriptValue globalObject = engine->globalObject();
+ m_globalObject = engine->newObject();
QScriptValueIterator iter(globalObject);
while (iter.hasNext()) {
iter.next();
- v.setProperty(iter.scriptName(), iter.value());
+ m_globalObject.setProperty(iter.scriptName(), iter.value());
+ m_illegalNames.insert(iter.name());
}
+ QScriptValue v = engine->newObject();
v.setScriptClass(this);
engine->setGlobalObject(v);
}
@@ -101,12 +103,14 @@ void QDeclarativeGlobalScriptClass::setProperty(QScriptValue &object,
engine()->currentContext()->throwError(error);
}
+/* This method is for the use of tst_qdeclarativeecmascript::callQtInvokables() only */
void QDeclarativeGlobalScriptClass::explicitSetProperty(const QString &name, const QScriptValue &value)
{
+ QScriptValue globalObject = engine()->globalObject();
+
QScriptValue v = engine()->newObject();
- globalObject = engine()->globalObject();
- QScriptValueIterator iter(globalObject);
+ QScriptValueIterator iter(v);
while (iter.hasNext()) {
iter.next();
v.setProperty(iter.scriptName(), iter.value());
@@ -114,6 +118,7 @@ void QDeclarativeGlobalScriptClass::explicitSetProperty(const QString &name, con
v.setProperty(name, value);
v.setScriptClass(this);
+
engine()->setGlobalObject(v);
}
diff --git a/src/declarative/qml/qdeclarativeglobalscriptclass_p.h b/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
index a33cf5e9a8..1b34aee203 100644
--- a/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
@@ -54,6 +54,7 @@
//
#include <QtScript/qscriptclass.h>
+#include <QtCore/qset.h>
QT_BEGIN_NAMESPACE
@@ -74,8 +75,12 @@ public:
void explicitSetProperty(const QString &, const QScriptValue &);
+ const QScriptValue &globalObject() const { return m_globalObject; }
+ const QSet<QString> &illegalNames() const { return m_illegalNames; }
+
private:
- QScriptValue globalObject;
+ QSet<QString> m_illegalNames;
+ QScriptValue m_globalObject;
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeimageprovider.cpp b/src/declarative/qml/qdeclarativeimageprovider.cpp
index daa2e87b1d..9ef8545db6 100644
--- a/src/declarative/qml/qdeclarativeimageprovider.cpp
+++ b/src/declarative/qml/qdeclarativeimageprovider.cpp
@@ -52,6 +52,10 @@ QT_BEGIN_NAMESPACE
\sa QDeclarativeEngine::addImageProvider()
*/
+
+/*!
+ The destructor is virtual.
+ */
QDeclarativeImageProvider::~QDeclarativeImageProvider()
{
}
diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h
index d8af6a7155..ec32b35a56 100644
--- a/src/declarative/qml/qdeclarativeinstruction_p.h
+++ b/src/declarative/qml/qdeclarativeinstruction_p.h
@@ -161,154 +161,180 @@ public:
Type type;
unsigned short line;
+
+ struct InitInstruction {
+ int bindingsSize;
+ int parserStatusSize;
+ int contextCache;
+ int compiledBinding;
+ };
+ struct CreateInstruction {
+ int type;
+ int data;
+ int bindingBits;
+ ushort column;
+ };
+ struct StoreMetaInstruction {
+ int data;
+ int aliasData;
+ int propertyCache;
+ };
+ struct SetIdInstruction {
+ int value;
+ int index;
+ };
+ struct AssignValueSourceInstruction {
+ int property;
+ int owner;
+ int castValue;
+ };
+ struct AssignValueInterceptorInstruction {
+ int property;
+ int owner;
+ int castValue;
+ };
+ struct AssignBindingInstruction {
+ unsigned int property;
+ int value;
+ short context;
+ short owner;
+ };
+ struct FetchInstruction {
+ int property;
+ };
+ struct FetchValueInstruction {
+ int property;
+ int type;
+ };
+ struct FetchQmlListInstruction {
+ int property;
+ int type;
+ };
+ struct BeginInstruction {
+ int castValue;
+ };
+ struct StoreFloatInstruction {
+ int propertyIndex;
+ float value;
+ };
+ struct StoreDoubleInstruction {
+ int propertyIndex;
+ double value;
+ };
+ struct StoreIntegerInstruction {
+ int propertyIndex;
+ int value;
+ };
+ struct StoreBoolInstruction {
+ int propertyIndex;
+ bool value;
+ };
+ struct StoreStringInstruction {
+ int propertyIndex;
+ int value;
+ };
+ struct StoreScriptStringInstruction {
+ int propertyIndex;
+ int value;
+ int scope;
+ };
+ struct StoreScriptInstruction {
+ int value;
+ };
+ struct StoreUrlInstruction {
+ int propertyIndex;
+ int value;
+ };
+ struct StoreColorInstruction {
+ int propertyIndex;
+ unsigned int value;
+ };
+ struct StoreDateInstruction {
+ int propertyIndex;
+ int value;
+ };
+ struct StoreTimeInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreDateTimeInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreRealPairInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreRectInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreVector3DInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreObjectInstruction {
+ int propertyIndex;
+ };
+ struct AssignCustomTypeInstruction {
+ int propertyIndex;
+ int valueIndex;
+ };
+ struct StoreSignalInstruction {
+ int signalIndex;
+ int value;
+ int context;
+ };
+ struct AssignSignalObjectInstruction {
+ int signal;
+ };
+ struct CreateComponentInstruction {
+ int count;
+ ushort column;
+ int endLine;
+ int metaObject;
+ };
+ struct FetchAttachedInstruction {
+ int id;
+ };
+ struct DeferInstruction {
+ int deferCount;
+ };
+
union {
- struct {
- int bindingsSize;
- int parserStatusSize;
- int contextCache;
- int compiledBinding;
- } init;
- struct {
- int type;
- int data;
- int bindingBits;
- ushort column;
- } create;
- struct {
- int data;
- int aliasData;
- int propertyCache;
- } storeMeta;
- struct {
- int value;
- int index;
- } setId;
- struct {
- int property;
- int owner;
- int castValue;
- } assignValueSource;
- struct {
- int property;
- int owner;
- int castValue;
- } assignValueInterceptor;
- struct {
- unsigned int property;
- int value;
- short context;
- short owner;
- } assignBinding;
- struct {
- int property;
- int id;
- } assignIdOptBinding;
- struct {
- int property;
- int contextIdx;
- short context;
- short notifyIdx;
- } assignObjPropBinding;
- struct {
- int property;
- } fetch;
- struct {
- int property;
- int type;
- } fetchValue;
- struct {
- int property;
- int type;
- } fetchQmlList;
- struct {
- int castValue;
- } begin;
- struct {
- int propertyIndex;
- float value;
- } storeFloat;
- struct {
- int propertyIndex;
- double value;
- } storeDouble;
- struct {
- int propertyIndex;
- int value;
- } storeInteger;
- struct {
- int propertyIndex;
- bool value;
- } storeBool;
- struct {
- int propertyIndex;
- int value;
- } storeString;
- struct {
- int propertyIndex;
- int value;
- int scope;
- } storeScriptString;
- struct {
- int value;
- } storeScript;
- struct {
- int propertyIndex;
- int value;
- } storeUrl;
- struct {
- int propertyIndex;
- unsigned int value;
- } storeColor;
- struct {
- int propertyIndex;
- int value;
- } storeDate;
- struct {
- int propertyIndex;
- int valueIndex;
- } storeTime;
- struct {
- int propertyIndex;
- int valueIndex;
- } storeDateTime;
- struct {
- int propertyIndex;
- int valueIndex;
- } storeRealPair;
- struct {
- int propertyIndex;
- int valueIndex;
- } storeRect;
- struct {
- int propertyIndex;
- int valueIndex;
- } storeVector3D;
- struct {
- int propertyIndex;
- } storeObject;
- struct {
- int propertyIndex;
- int valueIndex;
- } assignCustomType;
- struct {
- int signalIndex;
- int value;
- } storeSignal;
- struct {
- int signal;
- } assignSignalObject;
- struct {
- int count;
- ushort column;
- int endLine;
- int metaObject;
- } createComponent;
- struct {
- int id;
- } fetchAttached;
- struct {
- int deferCount;
- } defer;
+ InitInstruction init;
+ CreateInstruction create;
+ StoreMetaInstruction storeMeta;
+ SetIdInstruction setId;
+ AssignValueSourceInstruction assignValueSource;
+ AssignValueInterceptorInstruction assignValueInterceptor;
+ AssignBindingInstruction assignBinding;
+ FetchInstruction fetch;
+ FetchValueInstruction fetchValue;
+ FetchQmlListInstruction fetchQmlList;
+ BeginInstruction begin;
+ StoreFloatInstruction storeFloat;
+ StoreDoubleInstruction storeDouble;
+ StoreIntegerInstruction storeInteger;
+ StoreBoolInstruction storeBool;
+ StoreStringInstruction storeString;
+ StoreScriptStringInstruction storeScriptString;
+ StoreScriptInstruction storeScript;
+ StoreUrlInstruction storeUrl;
+ StoreColorInstruction storeColor;
+ StoreDateInstruction storeDate;
+ StoreTimeInstruction storeTime;
+ StoreDateTimeInstruction storeDateTime;
+ StoreRealPairInstruction storeRealPair;
+ StoreRectInstruction storeRect;
+ StoreVector3DInstruction storeVector3D;
+ StoreObjectInstruction storeObject;
+ AssignCustomTypeInstruction assignCustomType;
+ StoreSignalInstruction storeSignal;
+ AssignSignalObjectInstruction assignSignalObject;
+ CreateComponentInstruction createComponent;
+ FetchAttachedInstruction fetchAttached;
+ DeferInstruction defer;
};
void dump(QDeclarativeCompiledData *);
diff --git a/src/declarative/qml/qdeclarativelist.h b/src/declarative/qml/qdeclarativelist.h
index 8d59384a64..eac49674d8 100644
--- a/src/declarative/qml/qdeclarativelist.h
+++ b/src/declarative/qml/qdeclarativelist.h
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QObject;
-class QMetaObject;
+struct QMetaObject;
template<typename T>
struct QDeclarativeListProperty {
typedef void (*AppendFunction)(QDeclarativeListProperty<T> *, T*);
diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp
index abbb9d6225..50ab56bcd5 100644
--- a/src/declarative/qml/qdeclarativemetatype.cpp
+++ b/src/declarative/qml/qdeclarativemetatype.cpp
@@ -286,6 +286,11 @@ QDeclarativeCustomParser *QDeclarativeType::customParser() const
return d->m_customParser;
}
+bool QDeclarativeType::isCreatable() const
+{
+ return d->m_newFunc != 0;
+}
+
bool QDeclarativeType::isInterface() const
{
return d->m_isInterface;
@@ -402,7 +407,7 @@ int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterType &t
data->types.append(dtype);
data->idToType.insert(dtype->typeId(), dtype);
- data->idToType.insert(dtype->qListTypeId(), dtype);
+ if (dtype->qListTypeId()) data->idToType.insert(dtype->qListTypeId(), dtype);
if (!dtype->qmlTypeName().isEmpty())
data->nameToType.insertMulti(dtype->qmlTypeName(), dtype);
@@ -414,7 +419,7 @@ int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterType &t
if (data->lists.size() <= type.listId)
data->lists.resize(type.listId + 16);
data->objects.setBit(type.typeId, true);
- data->lists.setBit(type.listId, true);
+ if (type.listId) data->lists.setBit(type.listId, true);
return index;
}
diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h
index ec5c045305..cf8946d4e1 100644
--- a/src/declarative/qml/qdeclarativemetatype_p.h
+++ b/src/declarative/qml/qdeclarativemetatype_p.h
@@ -114,6 +114,8 @@ public:
QDeclarativeCustomParser *customParser() const;
+ bool isCreatable() const;
+
bool isInterface() const;
int typeId() const;
int qListTypeId() const;
diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
index 542f4170c0..e6f6e5f132 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
@@ -232,7 +232,7 @@ QDeclarativeObjectScriptClass::property(QObject *obj, const Identifier &name)
QDeclarativeEnginePrivate::CapturedProperty(obj, lastData->coreIndex, lastData->notifyIndex);
}
- if ((uint)lastData->propType < QVariant::UserType) {
+ if (QDeclarativeValueTypeFactory::isValueType((uint)lastData->propType)) {
QDeclarativeValueType *valueType = enginePriv->valueTypes[lastData->propType];
if (valueType)
return Value(scriptEngine, enginePriv->valueTypeClass->newObject(obj, lastData->coreIndex, valueType));
@@ -442,6 +442,13 @@ QDeclarativeObjectMethodScriptClass::QDeclarativeObjectMethodScriptClass(QDeclar
engine(bindEngine)
{
setSupportsCall(true);
+
+ QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
+
+ m_connect = scriptEngine->newFunction(connect);
+ m_connectId = createPersistentIdentifier(QLatin1String("connect"));
+ m_disconnect = scriptEngine->newFunction(disconnect);
+ m_disconnectId = createPersistentIdentifier(QLatin1String("disconnect"));
}
QDeclarativeObjectMethodScriptClass::~QDeclarativeObjectMethodScriptClass()
@@ -455,6 +462,80 @@ QScriptValue QDeclarativeObjectMethodScriptClass::newMethod(QObject *object, con
return newObject(scriptEngine, this, new MethodData(object, *method));
}
+QScriptValue QDeclarativeObjectMethodScriptClass::connect(QScriptContext *context, QScriptEngine *engine)
+{
+ QDeclarativeEnginePrivate *p = QDeclarativeEnginePrivate::get(engine);
+
+ QScriptValue that = context->thisObject();
+ if (&p->objectClass->methods != scriptClass(that))
+ return engine->undefinedValue();
+
+ MethodData *data = (MethodData *)object(that);
+
+ if (!data->object || context->argumentCount() == 0)
+ return engine->undefinedValue();
+
+ QByteArray signal("2");
+ signal.append(data->object->metaObject()->method(data->data.coreIndex).signature());
+
+ if (context->argumentCount() == 1) {
+ qScriptConnect(data->object, signal.constData(), QScriptValue(), context->argument(0));
+ } else {
+ qScriptConnect(data->object, signal.constData(), context->argument(0), context->argument(1));
+ }
+
+ return engine->undefinedValue();
+}
+
+QScriptValue QDeclarativeObjectMethodScriptClass::disconnect(QScriptContext *context, QScriptEngine *engine)
+{
+ QDeclarativeEnginePrivate *p = QDeclarativeEnginePrivate::get(engine);
+
+ QScriptValue that = context->thisObject();
+ if (&p->objectClass->methods != scriptClass(that))
+ return engine->undefinedValue();
+
+ MethodData *data = (MethodData *)object(that);
+
+ if (!data->object || context->argumentCount() == 0)
+ return engine->undefinedValue();
+
+ QByteArray signal("2");
+ signal.append(data->object->metaObject()->method(data->data.coreIndex).signature());
+
+ if (context->argumentCount() == 1) {
+ qScriptDisconnect(data->object, signal.constData(), QScriptValue(), context->argument(0));
+ } else {
+ qScriptDisconnect(data->object, signal.constData(), context->argument(0), context->argument(1));
+ }
+
+ return engine->undefinedValue();
+}
+
+QScriptClass::QueryFlags
+QDeclarativeObjectMethodScriptClass::queryProperty(Object *, const Identifier &name,
+ QScriptClass::QueryFlags flags)
+{
+ if (name == m_connectId.identifier || name == m_disconnectId.identifier)
+ return QScriptClass::HandlesReadAccess;
+ else
+ return 0;
+
+}
+
+QDeclarativeObjectScriptClass::ScriptValue
+QDeclarativeObjectMethodScriptClass::property(Object *, const Identifier &name)
+{
+ QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
+
+ if (name == m_connectId.identifier)
+ return Value(scriptEngine, m_connect);
+ else if (name == m_disconnectId.identifier)
+ return Value(scriptEngine, m_disconnect);
+ else
+ return Value();
+}
+
namespace {
struct MetaCallArgument {
inline MetaCallArgument();
diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
index 8023756cdf..04e760f21b 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
@@ -73,10 +73,21 @@ public:
~QDeclarativeObjectMethodScriptClass();
QScriptValue newMethod(QObject *, const QDeclarativePropertyCache::Data *);
+
protected:
virtual Value call(Object *, QScriptContext *);
+ virtual QScriptClass::QueryFlags queryProperty(Object *, const Identifier &, QScriptClass::QueryFlags flags);
+ virtual Value property(Object *, const Identifier &);
private:
+ PersistentIdentifier m_connectId;
+ PersistentIdentifier m_disconnectId;
+ QScriptValue m_connect;
+ QScriptValue m_disconnect;
+
+ static QScriptValue connect(QScriptContext *context, QScriptEngine *engine);
+ static QScriptValue disconnect(QScriptContext *context, QScriptEngine *engine);
+
QDeclarativeEngine *engine;
};
#endif
@@ -119,6 +130,7 @@ protected:
private:
#if (QT_VERSION > QT_VERSION_CHECK(4, 6, 2)) || defined(QT_HAVE_QSCRIPTDECLARATIVECLASS_VALUE)
+ friend class QDeclarativeObjectMethodScriptClass;
QDeclarativeObjectMethodScriptClass methods;
#endif
diff --git a/src/declarative/qml/qdeclarativeparser.cpp b/src/declarative/qml/qdeclarativeparser.cpp
index 5ac49d5314..b0599ad9f0 100644
--- a/src/declarative/qml/qdeclarativeparser.cpp
+++ b/src/declarative/qml/qdeclarativeparser.cpp
@@ -221,12 +221,14 @@ QDeclarativeParser::Property::~Property()
{
foreach(Value *value, values)
value->release();
+ foreach(Value *value, onValues)
+ value->release();
if (value) value->release();
}
-Object *QDeclarativeParser::Property::getValue()
+Object *QDeclarativeParser::Property::getValue(const LocationSpan &l)
{
- if (!value) value = new Object;
+ if (!value) { value = new Object; value->location = l; }
return value;
}
@@ -235,9 +237,14 @@ void QDeclarativeParser::Property::addValue(Value *v)
values << v;
}
+void QDeclarativeParser::Property::addOnValue(Value *v)
+{
+ onValues << v;
+}
+
bool QDeclarativeParser::Property::isEmpty() const
{
- return !value && values.isEmpty();
+ return !value && values.isEmpty() && onValues.isEmpty();
}
QDeclarativeParser::Value::Value()
diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h
index aae507e0ca..5bf4b68516 100644
--- a/src/declarative/qml/qdeclarativeparser_p.h
+++ b/src/declarative/qml/qdeclarativeparser_p.h
@@ -104,6 +104,11 @@ namespace QDeclarativeParser
Location start;
Location end;
LocationRange range;
+
+ bool operator<(LocationSpan &o) const {
+ return (start.line < o.start.line) ||
+ (start.line == o.start.line && start.column < o.start.column);
+ }
};
class Property;
@@ -318,8 +323,9 @@ namespace QDeclarativeParser
// The Object to which this property is attached
Object *parent;
- Object *getValue();
+ Object *getValue(const LocationSpan &);
void addValue(Value *v);
+ void addOnValue(Value *v);
// The QVariant::Type of the property, or 0 (QVariant::Invalid) if
// unknown.
@@ -333,6 +339,8 @@ namespace QDeclarativeParser
// The list of values assigned to this property. Content in values
// and value are mutually exclusive
QList<Value *> values;
+ // The list of values assigned to this property using the "on" syntax
+ QList<Value *> onValues;
// The accessed property. This is used to represent dot properties.
// Content in value and values are mutually exclusive.
Object *value;
diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp
index e1ec2cde2e..945d098a9e 100644
--- a/src/declarative/qml/qdeclarativeproperty.cpp
+++ b/src/declarative/qml/qdeclarativeproperty.cpp
@@ -115,8 +115,10 @@ QDeclarativeProperty::QDeclarativeProperty(QObject *obj)
}
/*!
- Creates a QDeclarativeProperty for the default property of \a obj. If there is no
- default property, an invalid QDeclarativeProperty will be created.
+ Creates a QDeclarativeProperty for the default property of \a obj
+ using the \l{QDeclarativeContext} {context} \a ctxt. If there is
+ no default property, an invalid QDeclarativeProperty will be
+ created.
*/
QDeclarativeProperty::QDeclarativeProperty(QObject *obj, QDeclarativeContext *ctxt)
: d(new QDeclarativePropertyPrivate)
@@ -128,11 +130,13 @@ QDeclarativeProperty::QDeclarativeProperty(QObject *obj, QDeclarativeContext *ct
}
/*!
- Creates a QDeclarativeProperty for the default property of \a obj. If there is no
- default property, an invalid QDeclarativeProperty will be created.
+ Creates a QDeclarativeProperty for the default property of \a obj
+ using the environment for instantiating QML components that is
+ provided by \a engine. If there is no default property, an
+ invalid QDeclarativeProperty will be created.
*/
QDeclarativeProperty::QDeclarativeProperty(QObject *obj, QDeclarativeEngine *engine)
-: d(new QDeclarativePropertyPrivate)
+ : d(new QDeclarativePropertyPrivate)
{
d->q = this;
d->context = 0;
@@ -166,8 +170,9 @@ QDeclarativeProperty::QDeclarativeProperty(QObject *obj, const QString &name)
}
/*!
- Creates a QDeclarativeProperty for the property \a name of \a obj.
- */
+ Creates a QDeclarativeProperty for the property \a name of \a obj
+ using the \l{QDeclarativeContext} {context} \a ctxt.
+*/
QDeclarativeProperty::QDeclarativeProperty(QObject *obj, const QString &name, QDeclarativeContext *ctxt)
: d(new QDeclarativePropertyPrivate)
{
@@ -179,7 +184,9 @@ QDeclarativeProperty::QDeclarativeProperty(QObject *obj, const QString &name, QD
}
/*!
- Creates a QDeclarativeProperty for the property \a name of \a obj.
+ Creates a QDeclarativeProperty for the property \a name of \a obj
+ using the environment for instantiating QML components that is
+ provided by \a engine.
*/
QDeclarativeProperty::QDeclarativeProperty(QObject *obj, const QString &name, QDeclarativeEngine *engine)
: d(new QDeclarativePropertyPrivate)
@@ -238,10 +245,10 @@ void QDeclarativePropertyPrivate::initProperty(QObject *obj, const QString &name
if (property->flags & QDeclarativePropertyCache::Data::IsFunction)
return; // Not an object property
- if (ii == (path.count() - 2) && property->propType < (int)QVariant::UserType) {
+ if (ii == (path.count() - 2) && QDeclarativeValueTypeFactory::isValueType(property->propType)) {
// We're now at a value type property. We can use a global valuetypes array as we
// never actually use the objects, just look up their properties.
- QObject *typeObject = qmlValueTypes()->valueTypes[property->propType];
+ QObject *typeObject = (*qmlValueTypes())[property->propType];
if (!typeObject) return; // Not a value type
int idx = typeObject->metaObject()->indexOfProperty(path.last().toUtf8().constData());
@@ -346,7 +353,7 @@ QDeclarativePropertyPrivate::propertyTypeCategory() const
int type = propertyType();
if (type == QVariant::Invalid)
return QDeclarativeProperty::InvalidCategory;
- else if ((uint)type < QVariant::UserType)
+ else if (QDeclarativeValueTypeFactory::isValueType((uint)type))
return QDeclarativeProperty::Normal;
else if (core.flags & QDeclarativePropertyCache::Data::IsQObjectDerived)
return QDeclarativeProperty::Object;
@@ -766,11 +773,14 @@ QVariant QDeclarativeProperty::read(QObject *object, const QString &name)
}
/*!
-Return the \a name property value of \a object. This method is equivalent to:
-\code
+ Return the \a name property value of \a object using the
+ \l{QDeclarativeContext} {context} \a ctxt. This method is
+ equivalent to:
+
+ \code
QDeclarativeProperty p(object, name, context);
p.read();
-\endcode
+ \endcode
*/
QVariant QDeclarativeProperty::read(QObject *object, const QString &name, QDeclarativeContext *ctxt)
{
@@ -779,11 +789,15 @@ QVariant QDeclarativeProperty::read(QObject *object, const QString &name, QDecla
}
/*!
-Return the \a name property value of \a object. This method is equivalent to:
-\code
+
+ Return the \a name property value of \a object using the environment
+ for instantiating QML components that is provided by \a engine. .
+ This method is equivalent to:
+
+ \code
QDeclarativeProperty p(object, name, engine);
p.read();
-\endcode
+ \endcode
*/
QVariant QDeclarativeProperty::read(QObject *object, const QString &name, QDeclarativeEngine *engine)
{
@@ -793,7 +807,7 @@ QVariant QDeclarativeProperty::read(QObject *object, const QString &name, QDecla
QVariant QDeclarativePropertyPrivate::readValueProperty()
{
- if(isValueType()) {
+ if (isValueType()) {
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context);
QDeclarativeValueType *valueType = 0;
@@ -809,13 +823,20 @@ QVariant QDeclarativePropertyPrivate::readValueProperty()
if (!ep) delete valueType;
return rv;
- } else if(core.flags & QDeclarativePropertyCache::Data::IsQList) {
+ } else if (core.flags & QDeclarativePropertyCache::Data::IsQList) {
QDeclarativeListProperty<QObject> prop;
void *args[] = { &prop, 0 };
QMetaObject::metacall(object, QMetaObject::ReadProperty, core.coreIndex, args);
return QVariant::fromValue(QDeclarativeListReferencePrivate::init(prop, core.propType, engine));
+ } else if (core.flags & QDeclarativePropertyCache::Data::IsQObjectDerived) {
+
+ QObject *rv = 0;
+ void *args[] = { &rv, 0 };
+ QMetaObject::metacall(object, QMetaObject::ReadProperty, core.coreIndex, args);
+ return QVariant::fromValue(rv);
+
} else {
return object->metaObject()->property(core.coreIndex).read(object.data());
@@ -1066,19 +1087,23 @@ const QMetaObject *QDeclarativePropertyPrivate::rawMetaObjectForType(QDeclarativ
}
/*!
- Set the property value to \a value.
-*/
+ Sets the property value to \a value and returns true.
+ Returns false if the property can't be set because the
+ \a value is the wrong type, for example.
+ */
bool QDeclarativeProperty::write(const QVariant &value) const
{
return QDeclarativePropertyPrivate::write(*this, value, 0);
}
/*!
-Writes \a value to the \a name property of \a object. This method is equivalent to:
-\code
+ Writes \a value to the \a name property of \a object. This method
+ is equivalent to:
+
+ \code
QDeclarativeProperty p(object, name);
p.write(value);
-\endcode
+ \endcode
*/
bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVariant &value)
{
@@ -1087,13 +1112,18 @@ bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVa
}
/*!
-Writes \a value to the \a name property of \a object. This method is equivalent to:
-\code
+ Writes \a value to the \a name property of \a object using the
+ \l{QDeclarativeContext} {context} \a ctxt. This method is
+ equivalent to:
+
+ \code
QDeclarativeProperty p(object, name, ctxt);
p.write(value);
-\endcode
+ \endcode
*/
-bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVariant &value,
+bool QDeclarativeProperty::write(QObject *object,
+ const QString &name,
+ const QVariant &value,
QDeclarativeContext *ctxt)
{
QDeclarativeProperty p(object, name, ctxt);
@@ -1101,11 +1131,15 @@ bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVa
}
/*!
-Writes \a value to the \a name property of \a object. This method is equivalent to:
-\code
+
+ Writes \a value to the \a name property of \a object using the
+ environment for instantiating QML components that is provided by
+ \a engine. This method is equivalent to:
+
+ \code
QDeclarativeProperty p(object, name, engine);
p.write(value);
-\endcode
+ \endcode
*/
bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVariant &value,
QDeclarativeEngine *engine)
@@ -1115,7 +1149,9 @@ bool QDeclarativeProperty::write(QObject *object, const QString &name, const QVa
}
/*!
- Resets the property value.
+ Resets the property and returns true if the property is
+ resettable. If the property is not resettable, nothing happens
+ and false is returned.
*/
bool QDeclarativeProperty::reset() const
{
diff --git a/src/declarative/qml/qdeclarativeproperty_p.h b/src/declarative/qml/qdeclarativeproperty_p.h
index 1fda7f4348..c31e2d376a 100644
--- a/src/declarative/qml/qdeclarativeproperty_p.h
+++ b/src/declarative/qml/qdeclarativeproperty_p.h
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeContext;
class QDeclarativeEnginePrivate;
class QDeclarativeExpression;
-class Q_AUTOTEST_EXPORT QDeclarativePropertyPrivate
+class Q_DECLARATIVE_EXPORT QDeclarativePropertyPrivate
{
public:
enum WriteFlag { BypassInterceptor = 0x01, DontRemoveBinding = 0x02 };
diff --git a/src/declarative/qml/qdeclarativepropertycache.cpp b/src/declarative/qml/qdeclarativepropertycache.cpp
index 08b47b7dbc..fea59e55c8 100644
--- a/src/declarative/qml/qdeclarativepropertycache.cpp
+++ b/src/declarative/qml/qdeclarativepropertycache.cpp
@@ -155,9 +155,9 @@ QDeclarativePropertyCache::Data QDeclarativePropertyCache::create(const QMetaObj
int parenIdx = methodName.indexOf(QLatin1Char('('));
Q_ASSERT(parenIdx != -1);
- methodName = methodName.left(parenIdx);
+ QStringRef methodNameRef = methodName.leftRef(parenIdx);
- if (methodName == property) {
+ if (methodNameRef == property) {
rv.load(m);
return rv;
}
diff --git a/src/declarative/qml/qdeclarativescript.cpp b/src/declarative/qml/qdeclarativescript.cpp
index acfb9e1204..ac4b2c1ca3 100644
--- a/src/declarative/qml/qdeclarativescript.cpp
+++ b/src/declarative/qml/qdeclarativescript.cpp
@@ -43,6 +43,7 @@
/*!
\qmlclass Script QDeclarativeScript
+ \since 4.7
\brief The Script element provides a way to add JavaScript code snippets in QML.
\ingroup group_utility
diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp
index f4c9cdd052..fe516c5aa4 100644
--- a/src/declarative/qml/qdeclarativescriptparser.cpp
+++ b/src/declarative/qml/qdeclarativescriptparser.cpp
@@ -85,8 +85,8 @@ class ProcessAST: protected AST::Visitor
{
const State &state = top();
if (state.property) {
- State s(state.property->getValue(),
- state.property->getValue()->getProperty(name.toUtf8()));
+ State s(state.property->getValue(location),
+ state.property->getValue(location)->getProperty(name.toUtf8()));
s.property->location = location;
push(s);
} else {
@@ -106,12 +106,12 @@ public:
void operator()(const QString &code, AST::Node *node);
protected:
- Object *defineObjectBinding(AST::UiQualifiedId *propertyName,
+ Object *defineObjectBinding(AST::UiQualifiedId *propertyName, bool onAssignment,
AST::UiQualifiedId *objectTypeName,
LocationSpan location,
AST::UiObjectInitializer *initializer = 0);
- Object *defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
+ Object *defineObjectBinding_helper(AST::UiQualifiedId *propertyName, bool onAssignment,
const QString &objectType,
AST::SourceLocation typeLocation,
LocationSpan location,
@@ -243,6 +243,7 @@ QString ProcessAST::asString(AST::UiQualifiedId *node) const
Object *
ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
+ bool onAssignment,
const QString &objectType,
AST::SourceLocation typeLocation,
LocationSpan location,
@@ -254,10 +255,19 @@ ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
(lastTypeDot >= 0 && objectType.at(lastTypeDot+1).isUpper()));
int propertyCount = 0;
- for (; propertyName; propertyName = propertyName->next){
+ for (AST::UiQualifiedId *name = propertyName; name; name = name->next){
++propertyCount;
- _stateStack.pushProperty(propertyName->name->asString(),
- this->location(propertyName));
+ _stateStack.pushProperty(name->name->asString(),
+ this->location(name));
+ }
+
+ if (!onAssignment && propertyCount && currentProperty() && currentProperty()->values.count()) {
+ QDeclarativeError error;
+ error.setDescription(QCoreApplication::translate("QDeclarativeParser","Property value set multiple times"));
+ error.setLine(this->location(propertyName).start.line);
+ error.setColumn(this->location(propertyName).start.column);
+ _parser->_errors << error;
+ return 0;
}
if (!isType) {
@@ -327,7 +337,10 @@ ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
Value *v = new Value;
v->object = obj;
v->location = obj->location;
- prop->addValue(v);
+ if (onAssignment)
+ prop->addOnValue(v);
+ else
+ prop->addValue(v);
while (propertyCount--)
_stateStack.pop();
@@ -363,7 +376,7 @@ ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
}
}
-Object *ProcessAST::defineObjectBinding(AST::UiQualifiedId *qualifiedId,
+Object *ProcessAST::defineObjectBinding(AST::UiQualifiedId *qualifiedId, bool onAssignment,
AST::UiQualifiedId *objectTypeName,
LocationSpan location,
AST::UiObjectInitializer *initializer)
@@ -395,7 +408,7 @@ Object *ProcessAST::defineObjectBinding(AST::UiQualifiedId *qualifiedId,
}
- return defineObjectBinding_helper(qualifiedId, objectType, typeLocation, location, initializer);
+ return defineObjectBinding_helper(qualifiedId, onAssignment, objectType, typeLocation, location, initializer);
}
LocationSpan ProcessAST::location(AST::UiQualifiedId *id)
@@ -623,7 +636,7 @@ bool ProcessAST::visit(AST::UiObjectDefinition *node)
LocationSpan l = location(node->firstSourceLocation(),
node->lastSourceLocation());
- defineObjectBinding(/*propertyName = */ 0,
+ defineObjectBinding(/*propertyName = */ 0, false,
node->qualifiedTypeNameId,
l,
node->initializer);
@@ -638,7 +651,7 @@ bool ProcessAST::visit(AST::UiObjectBinding *node)
LocationSpan l = location(node->qualifiedTypeNameId->identifierToken,
node->initializer->rbraceToken);
- defineObjectBinding(node->qualifiedId,
+ defineObjectBinding(node->qualifiedId, node->hasOnToken,
node->qualifiedTypeNameId,
l,
node->initializer);
@@ -674,14 +687,23 @@ bool ProcessAST::visit(AST::UiScriptBinding *node)
{
int propertyCount = 0;
AST::UiQualifiedId *propertyName = node->qualifiedId;
- for (; propertyName; propertyName = propertyName->next){
+ for (AST::UiQualifiedId *name = propertyName; name; name = name->next){
++propertyCount;
- _stateStack.pushProperty(propertyName->name->asString(),
- location(propertyName));
+ _stateStack.pushProperty(name->name->asString(),
+ location(name));
}
Property *prop = currentProperty();
+ if (prop->values.count()) {
+ QDeclarativeError error;
+ error.setDescription(QCoreApplication::translate("QDeclarativeParser","Property value set multiple times"));
+ error.setLine(this->location(propertyName).start.line);
+ error.setColumn(this->location(propertyName).start.column);
+ _parser->_errors << error;
+ return 0;
+ }
+
QDeclarativeParser::Variant primitive;
if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement *>(node->statement)) {
@@ -724,16 +746,26 @@ bool ProcessAST::visit(AST::UiArrayBinding *node)
{
int propertyCount = 0;
AST::UiQualifiedId *propertyName = node->qualifiedId;
- for (; propertyName; propertyName = propertyName->next){
+ for (AST::UiQualifiedId *name = propertyName; name; name = name->next){
++propertyCount;
- _stateStack.pushProperty(propertyName->name->asString(),
- location(propertyName));
+ _stateStack.pushProperty(name->name->asString(),
+ location(name));
+ }
+
+ Property* prop = currentProperty();
+
+ if (prop->values.count()) {
+ QDeclarativeError error;
+ error.setDescription(QCoreApplication::translate("QDeclarativeParser","Property value set multiple times"));
+ error.setLine(this->location(propertyName).start.line);
+ error.setColumn(this->location(propertyName).start.column);
+ _parser->_errors << error;
+ return 0;
}
accept(node->members);
// For the DOM, store the position of the T_LBRACKET upto the T_RBRACKET as the range:
- Property* prop = currentProperty();
prop->listValueRange.offset = node->lbracketToken.offset;
prop->listValueRange.length = node->rbracketToken.offset + node->rbracketToken.length - node->lbracketToken.offset;
diff --git a/src/declarative/qml/qdeclarativevaluetype.cpp b/src/declarative/qml/qdeclarativevaluetype.cpp
index 01fa2141e7..c070123e47 100644
--- a/src/declarative/qml/qdeclarativevaluetype.cpp
+++ b/src/declarative/qml/qdeclarativevaluetype.cpp
@@ -41,23 +41,88 @@
#include "qdeclarativevaluetype_p.h"
+#include "qdeclarativemetatype_p.h"
+
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+Q_DECLARE_METATYPE(QEasingCurve);
+#endif
+
+template<typename T>
+int qmlRegisterValueTypeEnums(const char *qmlName)
+{
+ QByteArray name(T::staticMetaObject.className());
+
+ QByteArray pointerName(name + '*');
+
+ QDeclarativePrivate::RegisterType type = {
+ 0,
+
+ qRegisterMetaType<T *>(pointerName.constData()), 0, 0,
+
+ "Qt", 4, 6, qmlName, &T::staticMetaObject,
+
+ 0, 0,
+
+ 0, 0, 0,
+
+ 0, 0,
+
+ 0
+ };
+
+ return QDeclarativePrivate::registerType(type);
+}
+
QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory()
{
// ### Optimize
for (unsigned int ii = 0; ii < (QVariant::UserType - 1); ++ii)
valueTypes[ii] = valueType(ii);
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ easingType = qMetaTypeId<QEasingCurve>();
+ easingValueType = valueType(easingType);
+#endif
}
QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory()
{
for (unsigned int ii = 0; ii < (QVariant::UserType - 1); ++ii)
delete valueTypes[ii];
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ delete easingValueType;
+#endif
+}
+
+bool QDeclarativeValueTypeFactory::isValueType(int idx)
+{
+ if ((uint)idx < QVariant::UserType)
+ return true;
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ if (idx == qMetaTypeId<QEasingCurve>())
+ return true;
+#endif
+ return false;
+}
+
+void QDeclarativeValueTypeFactory::registerValueTypes()
+{
+ qmlRegisterValueTypeEnums<QDeclarativeEasingValueType>("Easing");
+ qmlRegisterValueTypeEnums<QDeclarativeFontValueType>("Font");
+}
+
+QDeclarativeValueType *QDeclarativeValueTypeFactory::operator[](int idx) const
+{
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ if (idx == easingType) return easingValueType;
+#endif
+ return valueTypes[idx];
}
+
QDeclarativeValueType *QDeclarativeValueTypeFactory::valueType(int t)
{
switch (t) {
@@ -75,11 +140,17 @@ QDeclarativeValueType *QDeclarativeValueTypeFactory::valueType(int t)
return new QDeclarativeRectFValueType;
case QVariant::Vector3D:
return new QDeclarativeVector3DValueType;
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
case QVariant::EasingCurve:
return new QDeclarativeEasingValueType;
+#endif
case QVariant::Font:
return new QDeclarativeFontValueType;
default:
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ if (t == qMetaTypeId<QEasingCurve>())
+ return new QDeclarativeEasingValueType;
+#endif
return 0;
}
}
@@ -495,7 +566,11 @@ void QDeclarativeEasingValueType::write(QObject *obj, int idx, QDeclarativePrope
QVariant QDeclarativeEasingValueType::value()
{
+#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
return QVariant(easing);
+#else
+ return QVariant::fromValue<QEasingCurve>(easing);
+#endif
}
void QDeclarativeEasingValueType::setValue(QVariant value)
diff --git a/src/declarative/qml/qdeclarativevaluetype_p.h b/src/declarative/qml/qdeclarativevaluetype_p.h
index cb153be5da..ad2f6c4200 100644
--- a/src/declarative/qml/qdeclarativevaluetype_p.h
+++ b/src/declarative/qml/qdeclarativevaluetype_p.h
@@ -81,10 +81,19 @@ class Q_DECLARATIVE_EXPORT QDeclarativeValueTypeFactory
public:
QDeclarativeValueTypeFactory();
~QDeclarativeValueTypeFactory();
+ static bool isValueType(int);
static QDeclarativeValueType *valueType(int);
+ static void registerValueTypes();
+
+ QDeclarativeValueType *operator[](int idx) const;
+
+private:
QDeclarativeValueType *valueTypes[QVariant::UserType - 1];
- QDeclarativeValueType *operator[](int idx) const { return valueTypes[idx]; }
+#if (QT_VERSION < QT_VERSION_CHECK(4,7,0))
+ int easingType;
+ QDeclarativeValueType *easingValueType;
+#endif
};
class Q_AUTOTEST_EXPORT QDeclarativePointFValueType : public QDeclarativeValueType
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp
index 720b496a44..6a08674f60 100644
--- a/src/declarative/qml/qdeclarativevme.cpp
+++ b/src/declarative/qml/qdeclarativevme.cpp
@@ -217,7 +217,7 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack, QDeclarati
// TODO: parent might be a layout
}
} else {
- QDeclarativeGraphics_setParent_noEvent(o, parent);
+ QDeclarative_setParent_noEvent(o, parent);
// o->setParent(parent);
}
}
@@ -538,13 +538,13 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack, QDeclarati
case QDeclarativeInstruction::StoreSignal:
{
QObject *target = stack.top();
- // XXX scope
- QMetaMethod signal =
- target->metaObject()->method(instr.storeSignal.signalIndex);
+ QObject *context = stack.at(stack.count() - 1 - instr.assignBinding.context);
+
+ QMetaMethod signal = target->metaObject()->method(instr.storeSignal.signalIndex);
QDeclarativeBoundSignal *bs = new QDeclarativeBoundSignal(target, signal, target);
QDeclarativeExpression *expr =
- new QDeclarativeExpression(ctxt, primitives.at(instr.storeSignal.value), target);
+ new QDeclarativeExpression(ctxt, primitives.at(instr.storeSignal.value), context);
expr->setSourceLocation(comp->name, instr.line);
bs->setExpression(expr);
}
diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp
index 03151e4217..784353af2d 100644
--- a/src/declarative/qml/qdeclarativeworkerscript.cpp
+++ b/src/declarative/qml/qdeclarativeworkerscript.cpp
@@ -365,6 +365,8 @@ void QDeclarativeWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url)
workerEngine->evaluate(script);
workerEngine->popContext();
+ } else {
+ qWarning().nospace() << "WorkerScript: Cannot find source file " << url.toString();
}
}
@@ -382,7 +384,7 @@ QVariant QDeclarativeWorkerScriptEnginePrivate::scriptValueToVariant(const QScri
quint32 length = (quint32)value.property(QLatin1String("length")).toNumber();
for (quint32 ii = 0; ii < length; ++ii) {
- QVariant v = scriptValueToVariant(ii);
+ QVariant v = scriptValueToVariant(value.property(ii));
list << v;
}
@@ -561,6 +563,65 @@ void QDeclarativeWorkerScriptEngine::run()
delete d->workerEngine; d->workerEngine = 0;
}
+
+/*!
+ \qmlclass WorkerScript QDeclarativeWorkerScript
+ \brief The WorkerScript element enables the use of threads in QML.
+
+ Use WorkerScript to run operations in a new thread.
+ This is useful for running operations in the background so
+ that the main GUI thread is not blocked.
+
+ Messages can be passed between the new thread and the parent thread
+ using sendMessage() and the onMessage() handler.
+
+ Here is an example:
+
+ \qml
+ import Qt 4.6
+
+ Rectangle {
+ width: 300
+ height: 300
+
+ Text {
+ id: myText
+ text: 'Click anywhere'
+ }
+
+ WorkerScript {
+ id: myWorker
+ source: "script.js"
+
+ onMessage: {
+ myText.text = messageObject.reply
+ }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: myWorker.sendMessage( {'x': mouse.x, 'y': mouse.y} );
+ }
+ }
+ \endqml
+
+ The above worker script specifies a javascript file, "script.js", that handles
+ the operations to be performed in the new thread:
+
+ \qml
+ WorkerScript.onMessage = function(message) {
+ // ... long-running operations and calculations are done here
+ WorkerScript.sendMessage( {'reply': 'Mouse is at ' + message.x + ',' + message.y} );
+ }
+ \endqml
+
+ When the user clicks anywhere within the rectangle, \c sendMessage() is
+ called, triggering the \tt WorkerScript.onMessage() handler in
+ \tt source.js. This in turn sends a reply message that is then received
+ by the \tt onMessage() handler of \tt myWorker.
+
+ \sa WorkerListModel
+*/
QDeclarativeWorkerScript::QDeclarativeWorkerScript(QObject *parent)
: QObject(parent), m_engine(0), m_scriptId(-1)
{
@@ -571,6 +632,12 @@ QDeclarativeWorkerScript::~QDeclarativeWorkerScript()
if (m_scriptId != -1) m_engine->removeWorkerScript(m_scriptId);
}
+/*!
+ \qmlproperty url WorkerScript::source
+
+ This holds the url of the javascript file that implements the
+ \tt WorkerScript.onMessage() handler for threaded operations.
+*/
QUrl QDeclarativeWorkerScript::source() const
{
return m_source;
@@ -589,6 +656,13 @@ void QDeclarativeWorkerScript::setSource(const QUrl &source)
emit sourceChanged();
}
+/*
+ \qmlmethod WorkerScript::sendMessage(jsobject message)
+
+ Sends the given \a message to a worker script handler in another
+ thread. The other worker script handler can receive this message
+ through the onMessage() handler.
+*/
void QDeclarativeWorkerScript::sendMessage(const QScriptValue &message)
{
if (!m_engine) {
@@ -616,6 +690,13 @@ void QDeclarativeWorkerScript::componentComplete()
}
}
+/*!
+ \qmlsignal WorkerScript::onMessage(jsobject msg)
+
+ This handler is called when a message \a msg is received from a worker
+ script in another thread through a call to sendMessage().
+*/
+
bool QDeclarativeWorkerScript::event(QEvent *event)
{
if (event->type() == (QEvent::Type)WorkerDataEvent::WorkerData) {
@@ -841,6 +922,41 @@ bool QDeclarativeWorkerListModelAgent::event(QEvent *e)
return QObject::event(e);
}
+/*!
+ \qmlclass WorkerListModel QDeclarativeWorkerListModel
+ \brief The WorkerListModel element provides a threaded list model.
+
+ Use WorkerListModel together with WorkerScript to define a list model
+ that is controlled by a separate thread. This is useful if list modification
+ operations are synchronous and take some time: using WorkerListModel
+ moves these operations to a different thread and avoids blocking of the
+ main GUI thread.
+
+ The thread that creates the WorkerListModel can modify the model for any
+ initial set-up requirements. However, once the model has been modified by
+ the associated WorkerScript, the model can only be modified by that worker
+ script and becomes read-only to all other threads.
+
+ Here is an example application that uses WorkerScript to append the
+ current time to a WorkerListModel:
+
+ \snippet examples/declarative/workerlistmodel/timedisplay.qml 0
+
+ The included file, \tt dataloader.js, looks like this:
+
+ \snippet examples/declarative/workerlistmodel/dataloader.js 0
+
+ The application's \tt Timer object periodically sends a message to the
+ worker script by calling \tt WorkerScript::sendMessage(). When this message
+ is received, \tt WorkerScript.onMessage() is invoked in
+ \tt dataloader.js, which appends the current time to the worker list
+ model.
+
+ Note that unlike ListModel, WorkerListModel does not have \tt move() and
+ \tt setProperty() methods.
+
+ \sa WorkerScript, ListModel
+*/
QDeclarativeWorkerListModel::QDeclarativeWorkerListModel(QObject *parent)
: QListModelInterface(parent), m_agent(0)
{
@@ -854,6 +970,14 @@ QDeclarativeWorkerListModel::~QDeclarativeWorkerListModel()
}
}
+/*!
+ \qmlmethod WorkerListModel::clear()
+
+ Deletes all content from the model. The properties are cleared such that
+ different properties may be set on subsequent additions.
+
+ \sa append() remove()
+*/
void QDeclarativeWorkerListModel::clear()
{
if (m_agent) {
@@ -869,6 +993,13 @@ void QDeclarativeWorkerListModel::clear()
}
}
+/*!
+ \qmlmethod WorkerListModel::remove(int index)
+
+ Deletes the content at \a index from the model.
+
+ \sa clear()
+*/
void QDeclarativeWorkerListModel::remove(int index)
{
if (m_agent) {
@@ -884,6 +1015,18 @@ void QDeclarativeWorkerListModel::remove(int index)
emit countChanged();
}
+/*!
+ \qmlmethod WorkerListModel::append(jsobject dict)
+
+ Adds a new item to the end of the list model, with the
+ values in \a dict.
+
+ \code
+ FruitModel.append({"cost": 5.95, "name":"Pizza"})
+ \endcode
+
+ \sa set() remove()
+*/
void QDeclarativeWorkerListModel::append(const QScriptValue &value)
{
if (m_agent) {
@@ -914,6 +1057,21 @@ void QDeclarativeWorkerListModel::append(const QScriptValue &value)
emit countChanged();
}
+/*!
+ \qmlmethod WorkerListModel::insert(int index, jsobject dict)
+
+ Adds a new item to the list model at position \a index, with the
+ values in \a dict.
+
+ \code
+ FruitModel.insert(2, {"cost": 5.95, "name":"Pizza"})
+ \endcode
+
+ The \a index must be to an existing item in the list, or one past
+ the end of the list (equivalent to append).
+
+ \sa set() append()
+*/
void QDeclarativeWorkerListModel::insert(int index, const QScriptValue &value)
{
if (m_agent) {
@@ -946,6 +1104,30 @@ void QDeclarativeWorkerListModel::insert(int index, const QScriptValue &value)
emit countChanged();
}
+/*!
+ \qmlmethod object ListModel::get(int index)
+
+ Returns the item at \a index in the list model.
+
+ \code
+ FruitModel.append({"cost": 5.95, "name":"Jackfruit"})
+ FruitModel.get(0).cost
+ \endcode
+
+ The \a index must be an element in the list.
+
+ Note that properties of the returned object that are themselves objects
+ will also be models, and this get() method is used to access elements:
+
+ \code
+ FruitModel.append(..., "attributes":
+ [{"name":"spikes","value":"7mm"},
+ {"name":"color","value":"green"}]);
+ FruitModel.get(0).attributes.get(1).value; // == "green"
+ \endcode
+
+ \sa append()
+*/
QScriptValue QDeclarativeWorkerListModel::get(int index) const
{
QDeclarativeEngine *engine = qmlEngine(this);
@@ -962,6 +1144,21 @@ QScriptValue QDeclarativeWorkerListModel::get(int index) const
return rv;
}
+/*!
+ \qmlmethod WorkerListModel::set(int index, jsobject dict)
+
+ Changes the item at \a index in the list model with the
+ values in \a dict. Properties not appearing in \a valuemap
+ are left unchanged.
+
+ \code
+ FruitModel.set(3, {"cost": 5.95, "name":"Pizza"})
+ \endcode
+
+ The \a index must be an element in the list.
+
+ \sa append()
+*/
void QDeclarativeWorkerListModel::set(int index, const QScriptValue &value)
{
if (m_agent) {
@@ -995,6 +1192,22 @@ void QDeclarativeWorkerListModel::set(int index, const QScriptValue &value)
}
}
+/*!
+ \qmlmethod WorkerListModel::sync()
+
+ Writes any unsaved changes to the list model. This must be called after
+ changes have been made to the list model in the worker script.
+
+ Note that this method can only be called from the associated worker script.
+*/
+void QDeclarativeWorkerListModel::sync()
+{
+ // This is really a dummy method to make it look like sync() exists in
+ // WorkerListModel (and not QDeclarativeWorkerListModelAgent) and to let
+ // us document sync().
+ qmlInfo(this) << "sync() can only be called from a WorkerScript";
+}
+
QDeclarativeWorkerListModelAgent *QDeclarativeWorkerListModel::agent()
{
if (!m_agent)
@@ -1013,6 +1226,10 @@ QString QDeclarativeWorkerListModel::toString(int role) const
return m_roles.value(role);
}
+/*!
+ \qmlproperty int ListModel::count
+ The number of data entries in the model.
+*/
int QDeclarativeWorkerListModel::count() const
{
return m_values.count();
@@ -1038,4 +1255,3 @@ QT_END_NAMESPACE
#include "qdeclarativeworkerscript.moc"
-
diff --git a/src/declarative/qml/qdeclarativeworkerscript_p.h b/src/declarative/qml/qdeclarativeworkerscript_p.h
index 8ebd2c1d3d..912eac9957 100644
--- a/src/declarative/qml/qdeclarativeworkerscript_p.h
+++ b/src/declarative/qml/qdeclarativeworkerscript_p.h
@@ -61,8 +61,12 @@
#include <QtScript/qscriptvalue.h>
#include <QtCore/qurl.h>
+QT_BEGIN_HEADER
+
QT_BEGIN_NAMESPACE
+QT_MODULE(Declarative)
+
class QDeclarativeWorkerScript;
class QDeclarativeWorkerScriptEnginePrivate;
class QDeclarativeWorkerScriptEngine : public QThread
@@ -84,7 +88,7 @@ private:
QDeclarativeWorkerScriptEnginePrivate *d;
};
-class QDeclarativeWorkerScript : public QObject, public QDeclarativeParserStatus
+class Q_DECLARATIVE_EXPORT QDeclarativeWorkerScript : public QObject, public QDeclarativeParserStatus
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
@@ -115,7 +119,7 @@ private:
};
class QDeclarativeWorkerListModelAgent;
-class QDeclarativeWorkerListModel : public QListModelInterface
+class Q_DECLARATIVE_EXPORT QDeclarativeWorkerListModel : public QListModelInterface
{
Q_OBJECT
Q_PROPERTY(int count READ count NOTIFY countChanged)
@@ -130,6 +134,7 @@ public:
Q_INVOKABLE void insert(int index, const QScriptValue&);
Q_INVOKABLE QScriptValue get(int index) const;
Q_INVOKABLE void set(int index, const QScriptValue &);
+ Q_INVOKABLE void sync();
QDeclarativeWorkerListModelAgent *agent();
@@ -157,4 +162,6 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QDeclarativeWorkerScript);
QML_DECLARE_TYPE(QDeclarativeWorkerListModel);
+QT_END_HEADER
+
#endif // QDECLARATIVEWORKERSCRIPT_P_H
diff --git a/src/declarative/qml/qdeclarativexmlhttprequest.cpp b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
index 3ba53f0f15..87cab85fae 100644
--- a/src/declarative/qml/qdeclarativexmlhttprequest.cpp
+++ b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
@@ -52,6 +52,7 @@
#include <QtScript/qscriptcontext.h>
#include <QtScript/qscriptengine.h>
#include <QtNetwork/qnetworkreply.h>
+#include <QtCore/qtextcodec.h>
#include <QtCore/qxmlstream.h>
#include <QtCore/qstack.h>
#include <QtCore/qdebug.h>
@@ -312,7 +313,7 @@ public:
// C++ API
static QScriptValue prototype(QScriptEngine *);
- static QScriptValue load(QScriptEngine *engine, const QString &data);
+ static QScriptValue load(QScriptEngine *engine, const QByteArray &data);
};
QT_END_NAMESPACE
@@ -619,7 +620,7 @@ QScriptValue Document::prototype(QScriptEngine *engine)
return proto;
}
-QScriptValue Document::load(QScriptEngine *engine, const QString &data)
+QScriptValue Document::load(QScriptEngine *engine, const QByteArray &data)
{
Q_ASSERT(engine);
@@ -960,6 +961,7 @@ public:
QScriptValue abort(QScriptValue *me);
QString responseBody() const;
+ const QByteArray & rawResponseBody() const;
private slots:
void downloadProgress(qint64);
void error(QNetworkReply::NetworkError);
@@ -1279,9 +1281,20 @@ void QDeclarativeXMLHttpRequest::finished()
QString QDeclarativeXMLHttpRequest::responseBody() const
{
+ QXmlStreamReader reader(m_responseEntityBody);
+ reader.readNext();
+ QTextCodec *codec = QTextCodec::codecForName(reader.documentEncoding().toString().toUtf8());
+ if (codec)
+ return codec->toUnicode(m_responseEntityBody);
+
return QString::fromUtf8(m_responseEntityBody);
}
+const QByteArray &QDeclarativeXMLHttpRequest::rawResponseBody() const
+{
+ return m_responseEntityBody;
+}
+
QScriptValue QDeclarativeXMLHttpRequest::dispatchCallback(QScriptValue *me)
{
QScriptValue v = me->property(QLatin1String("callback"));
@@ -1538,7 +1551,7 @@ static QScriptValue qmlxmlhttprequest_responseXML(QScriptContext *context, QScri
request->readyState() != QDeclarativeXMLHttpRequest::Done)
return engine->nullValue();
else
- return Document::load(engine, request->responseBody());
+ return Document::load(engine, request->rawResponseBody());
}
static QScriptValue qmlxmlhttprequest_onreadystatechange(QScriptContext *context, QScriptEngine *engine)
diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp
index 181ef0aeae..20449d719a 100644
--- a/src/declarative/util/qdeclarativeanimation.cpp
+++ b/src/declarative/util/qdeclarativeanimation.cpp
@@ -52,6 +52,7 @@
#include <qdeclarativestringconverters_p.h>
#include <qdeclarativeglobal_p.h>
#include <qdeclarativemetatype_p.h>
+#include <qdeclarativevaluetype_p.h>
#include <qdeclarativeproperty_p.h>
#include <qvariant.h>
@@ -71,7 +72,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass Animation QDeclarativeAbstractAnimation
- \since 4.7
+ \since 4.7
\brief The Animation element is the base of all QML animations.
The Animation element cannot be used directly in a QML file. It exists
@@ -110,7 +111,7 @@ QDeclarativeAbstractAnimation::QDeclarativeAbstractAnimation(QDeclarativeAbstrac
\code
Rectangle {
width: 100; height: 100
- x: NumberAnimation {
+ NumberAnimation on x {
running: myMouse.pressed
from: 0; to: 100
}
@@ -310,7 +311,7 @@ void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool f)
\code
Rectangle {
- rotation: NumberAnimation { running: true; repeat: true; from: 0 to: 360 }
+ NumberAnimation on rotation { running: true; repeat: true; from: 0 to: 360 }
}
\endcode
*/
@@ -412,7 +413,7 @@ void QDeclarativeAbstractAnimation::resume()
no further influence on property values. In this example animation
\code
Rectangle {
- x: NumberAnimation { from: 0; to: 100; duration: 500 }
+ NumberAnimation on x { from: 0; to: 100; duration: 500 }
}
\endcode
was stopped at time 250ms, the \c x property will have a value of 50.
@@ -450,7 +451,7 @@ void QDeclarativeAbstractAnimation::restart()
its end. In the following example,
\code
Rectangle {
- x: NumberAnimation { from: 0; to: 100; duration: 500 }
+ NumberAnimation on x { from: 0; to: 100; duration: 500 }
}
\endcode
calling \c stop() at time 250ms will result in the \c x property having
@@ -515,7 +516,7 @@ void QDeclarativeAbstractAnimation::timelineComplete()
/*!
\qmlclass PauseAnimation QDeclarativePauseAnimation
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The PauseAnimation element provides a pause for an animation.
@@ -552,7 +553,7 @@ void QDeclarativePauseAnimationPrivate::init()
{
Q_Q(QDeclarativePauseAnimation);
pa = new QPauseAnimation;
- QDeclarativeGraphics_setParent_noEvent(pa, q);
+ QDeclarative_setParent_noEvent(pa, q);
}
/*!
@@ -589,7 +590,7 @@ QAbstractAnimation *QDeclarativePauseAnimation::qtAnimation()
/*!
\qmlclass ColorAnimation QDeclarativeColorAnimation
- \since 4.7
+ \since 4.7
\inherits PropertyAnimation
\brief The ColorAnimation element allows you to animate color changes.
@@ -653,7 +654,7 @@ void QDeclarativeColorAnimation::setTo(const QColor &t)
/*!
\qmlclass ScriptAction QDeclarativeScriptAction
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The ScriptAction element allows scripts to be run during an animation.
@@ -677,7 +678,7 @@ void QDeclarativeScriptActionPrivate::init()
{
Q_Q(QDeclarativeScriptAction);
rsa = new QActionAnimation(&proxy);
- QDeclarativeGraphics_setParent_noEvent(rsa, q);
+ QDeclarative_setParent_noEvent(rsa, q);
}
/*!
@@ -759,7 +760,7 @@ QAbstractAnimation *QDeclarativeScriptAction::qtAnimation()
/*!
\qmlclass PropertyAction QDeclarativePropertyAction
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The PropertyAction element allows immediate property changes during animation.
@@ -795,7 +796,7 @@ void QDeclarativePropertyActionPrivate::init()
{
Q_Q(QDeclarativePropertyAction);
spa = new QActionAnimation;
- QDeclarativeGraphics_setParent_noEvent(spa, q);
+ QDeclarative_setParent_noEvent(spa, q);
}
/*!
@@ -837,10 +838,10 @@ void QDeclarativePropertyAction::setProperty(const QString &n)
}
/*!
+ \qmlproperty list<Object> PropertyAction::targets
\qmlproperty string PropertyAction::property
\qmlproperty string PropertyAction::properties
\qmlproperty Object PropertyAction::target
- \qmlproperty list<Object> PropertyAction::targets
These properties are used as a set to determine which properties should be
affected by this action.
@@ -875,6 +876,7 @@ QDeclarativeListProperty<QObject> QDeclarativePropertyAction::targets()
/*!
\qmlproperty list<Object> PropertyAction::exclude
This property holds the objects not to be affected by this animation.
+
\sa targets
*/
QDeclarativeListProperty<QObject> QDeclarativePropertyAction::exclude()
@@ -1008,7 +1010,7 @@ void QDeclarativePropertyAction::transition(QDeclarativeStateActions &actions,
/*!
\qmlclass ParentAction QDeclarativeParentAction
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The ParentAction element allows parent changes during animation.
@@ -1056,7 +1058,7 @@ void QDeclarativeParentActionPrivate::init()
{
Q_Q(QDeclarativeParentAction);
cpa = new QActionAnimation;
- QDeclarativeGraphics_setParent_noEvent(cpa, q);
+ QDeclarative_setParent_noEvent(cpa, q);
}
/*!
@@ -1212,7 +1214,7 @@ void QDeclarativeParentAction::transition(QDeclarativeStateActions &actions,
/*!
\qmlclass NumberAnimation QDeclarativeNumberAnimation
- \since 4.7
+ \since 4.7
\inherits PropertyAnimation
\brief The NumberAnimation element allows you to animate changes in properties of type qreal.
@@ -1276,7 +1278,7 @@ void QDeclarativeNumberAnimation::setTo(qreal t)
/*!
\qmlclass Vector3dAnimation QDeclarativeVector3dAnimation
- \since 4.7
+ \since 4.7
\inherits PropertyAnimation
\brief The Vector3dAnimation element allows you to animate changes in properties of type QVector3d.
*/
@@ -1292,7 +1294,7 @@ QDeclarativeVector3dAnimation::QDeclarativeVector3dAnimation(QObject *parent)
Q_D(QDeclarativePropertyAnimation);
d->interpolatorType = QMetaType::QVector3D;
d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType);
- d->defaultToInterpolatorType = true;
+ d->defaultToInterpolatorType = true;
}
QDeclarativeVector3dAnimation::~QDeclarativeVector3dAnimation()
@@ -1335,28 +1337,31 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t)
/*!
\qmlclass RotationAnimation QDeclarativeRotationAnimation
+ \since 4.7
\inherits PropertyAnimation
\brief The RotationAnimation element allows you to animate rotations.
RotationAnimation is a specialized PropertyAnimation that gives control
- over the direction of rotation.
+ over the direction of rotation. By default, it will rotate
+ via the shortest path; for example, a rotation from 20 to 340 degrees will
+ rotation 40 degrees counterclockwise.
- The RotationAnimation in the following example ensures that we always take
- the shortest rotation path when switching between our states.
+ When used in a transition RotationAnimation will rotate all
+ properties named "rotation" or "angle". You can override this by providing
+ your own properties via \c properties or \c property.
+
+ In the following example we use RotationAnimation to animate the rotation
+ between states via the shortest path.
\qml
states: {
State { name: "180"; PropertyChanges { target: myItem; rotation: 180 } }
- State { name: "-180"; PropertyChanges { target: myItem; rotation: -180 } }
- State { name: "180"; PropertyChanges { target: myItem; rotation: 270 } }
+ State { name: "90"; PropertyChanges { target: myItem; rotation: 90 } }
+ State { name: "-90"; PropertyChanges { target: myItem; rotation: -90 } }
}
transition: Transition {
- RotationAnimation { direction: RotationAnimation.Shortest }
+ RotationAnimation { }
}
\endqml
-
- By default, when used in a transition RotationAnimation will rotate all
- properties named "rotation" or "angle". You can override this by providing
- your own properties via \c properties or \c property.
*/
/*!
@@ -1549,7 +1554,7 @@ QDeclarativeListProperty<QDeclarativeAbstractAnimation> QDeclarativeAnimationGro
/*!
\qmlclass SequentialAnimation QDeclarativeSequentialAnimation
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The SequentialAnimation element allows you to run animations sequentially.
@@ -1572,7 +1577,8 @@ QDeclarativeSequentialAnimation::QDeclarativeSequentialAnimation(QObject *parent
QDeclarativeAnimationGroup(parent)
{
Q_D(QDeclarativeAnimationGroup);
- d->ag = new QSequentialAnimationGroup(this);
+ d->ag = new QSequentialAnimationGroup;
+ QDeclarative_setParent_noEvent(d->ag, this);
}
QDeclarativeSequentialAnimation::~QDeclarativeSequentialAnimation()
@@ -1610,7 +1616,7 @@ void QDeclarativeSequentialAnimation::transition(QDeclarativeStateActions &actio
/*!
\qmlclass ParallelAnimation QDeclarativeParallelAnimation
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The ParallelAnimation element allows you to run animations in parallel.
@@ -1637,7 +1643,8 @@ QDeclarativeParallelAnimation::QDeclarativeParallelAnimation(QObject *parent) :
QDeclarativeAnimationGroup(parent)
{
Q_D(QDeclarativeAnimationGroup);
- d->ag = new QParallelAnimationGroup(this);
+ d->ag = new QParallelAnimationGroup;
+ QDeclarative_setParent_noEvent(d->ag, this);
}
QDeclarativeParallelAnimation::~QDeclarativeParallelAnimation()
@@ -1707,19 +1714,20 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
break;
}
default:
- if ((uint)type >= QVariant::UserType) {
+ if (QDeclarativeValueTypeFactory::isValueType((uint)type)) {
+ variant.convert((QVariant::Type)type);
+ } else {
QDeclarativeMetaType::StringConverter converter = QDeclarativeMetaType::customStringConverter(type);
if (converter)
variant = converter(variant.toString());
- } else
- variant.convert((QVariant::Type)type);
+ }
break;
}
}
/*!
\qmlclass PropertyAnimation QDeclarativePropertyAnimation
- \since 4.7
+ \since 4.7
\inherits Animation
\brief The PropertyAnimation element allows you to animate property changes.
@@ -1731,14 +1739,14 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
Animate any objects that have changed their x or y properties in the target state using
an InOutQuad easing curve:
\qml
- Transition { PropertyAnimation { properties: "x,y"; easing: "InOutQuad" } }
+ Transition { PropertyAnimation { properties: "x,y"; easing.type: "InOutQuad" } }
\endqml
\o In a Behavior
Animate all changes to a rectangle's x property.
\qml
Rectangle {
- x: Behavior { PropertyAnimation {} }
+ Behavior on x { PropertyAnimation {} }
}
\endqml
\o As a property value source
@@ -1746,7 +1754,7 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
Repeatedly animate the rectangle's x property.
\qml
Rectangle {
- x: SequentialAnimation {
+ SequentialAnimation on x {
repeat: true
PropertyAnimation { to: 50 }
PropertyAnimation { to: 0 }
@@ -1796,8 +1804,8 @@ QDeclarativePropertyAnimation::~QDeclarativePropertyAnimation()
void QDeclarativePropertyAnimationPrivate::init()
{
Q_Q(QDeclarativePropertyAnimation);
- va = new QDeclarativeTimeLineValueAnimator;
- QDeclarativeGraphics_setParent_noEvent(va, q);
+ va = new QDeclarativeBulkValueAnimator;
+ QDeclarative_setParent_noEvent(va, q);
}
/*!
@@ -1872,7 +1880,13 @@ void QDeclarativePropertyAnimation::setTo(const QVariant &t)
\qmlproperty QEasingCurve PropertyAnimation::easing
\brief the easing curve used for the transition.
- Available values are:
+ For the easing you can specify the following parameters: type, amplitude, period and overshoot.
+
+ \qml
+ PropertyAnimation { properties: "y"; easing.type: "InOutElastc"; easing.amplitude: 2.0; easing.period: 1.5 }
+ \endqml
+
+ Available types are:
\table
\row
@@ -2043,6 +2057,15 @@ void QDeclarativePropertyAnimation::setTo(const QVariant &t)
\o \inlineimage qeasingcurve-outinbounce.png
\endtable
+ easing.amplitude is not applicable for all curve types. It is only applicable for bounce and elastic curves (curves of type
+ QEasingCurve::InBounce, QEasingCurve::OutBounce, QEasingCurve::InOutBounce, QEasingCurve::OutInBounce, QEasingCurve::InElastic,
+ QEasingCurve::OutElastic, QEasingCurve::InOutElastic or QEasingCurve::OutInElastic).
+
+ easing.overshoot is not applicable for all curve types. It is only applicable if type is: QEasingCurve::InBack, QEasingCurve::OutBack,
+ QEasingCurve::InOutBack or QEasingCurve::OutInBack.
+
+ easing.period is not applicable for all curve types. It is only applicable if type is: QEasingCurve::InElastic, QEasingCurve::OutElastic,
+ QEasingCurve::InOutElastic or QEasingCurve::OutInElastic.
*/
QEasingCurve QDeclarativePropertyAnimation::easing() const
{
@@ -2137,8 +2160,8 @@ void QDeclarativePropertyAnimation::setProperties(const QString &prop)
id: theRect
width: 100; height: 100
color: Qt.rgba(0,0,1)
- x: NumberAnimation { to: 500; repeat: true } //animate theRect's x property
- y: Behavior { NumberAnimation {} } //animate theRect's y property
+ NumberAnimation on x { to: 500; repeat: true } //animate theRect's x property
+ Behavior on y { NumberAnimation {} } //animate theRect's y property
}
\endqml
\row
@@ -2198,7 +2221,7 @@ QDeclarativeListProperty<QObject> QDeclarativePropertyAnimation::targets()
/*!
\qmlproperty list<Object> PropertyAnimation::exclude
This property holds the items not to be affected by this animation.
- \sa targets
+ \sa PropertyAnimation::targets
*/
QDeclarativeListProperty<QObject> QDeclarativePropertyAnimation::exclude()
{
@@ -2212,7 +2235,7 @@ QAbstractAnimation *QDeclarativePropertyAnimation::qtAnimation()
return d->va;
}
-struct PropertyUpdater : public QDeclarativeTimeLineValue
+struct PropertyUpdater : public QDeclarativeBulkValueUpdater
{
QDeclarativeStateActions actions;
int interpolatorType; //for Number/ColorAnimation
@@ -2222,7 +2245,7 @@ struct PropertyUpdater : public QDeclarativeTimeLineValue
bool fromSourced;
bool fromDefined;
bool *wasDeleted;
- PropertyUpdater() : wasDeleted(0) {}
+ PropertyUpdater() : prevInterpolatorType(0), wasDeleted(0) {}
~PropertyUpdater() { if (wasDeleted) *wasDeleted = true; }
void setValue(qreal v)
{
@@ -2230,7 +2253,6 @@ struct PropertyUpdater : public QDeclarativeTimeLineValue
wasDeleted = &deleted;
if (reverse) //QVariantAnimation sends us 1->0 when reversed, but we are expecting 0->1
v = 1 - v;
- QDeclarativeTimeLineValue::setValue(v);
for (int ii = 0; ii < actions.count(); ++ii) {
QDeclarativeAction &action = actions[ii];
@@ -2370,12 +2392,59 @@ void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions
}
}
+/*!
+ \qmlclass ParentAnimation QDeclarativeParentAnimation
+ \since 4.7
+ \inherits Animation
+ \brief The ParentAnimation element allows you to animate parent changes.
+
+ ParentAnimation is used in conjunction with NumberAnimation to smoothly
+ animate changing an item's parent. In the following example,
+ ParentAnimation wraps a NumberAnimation which animates from the
+ current position in the old parent to the new position in the new
+ parent.
+
+ \qml
+ ...
+ State {
+ //reparent myItem to newParent. myItem's final location
+ //should be 10,10 in newParent.
+ ParentChange {
+ target: myItem
+ parent: newParent
+ x: 10; y: 10
+ }
+ }
+ ...
+ Transition {
+ //smoothly reparent myItem and move into new position
+ ParentAnimation {
+ target: theItem
+ NumberAnimation { properties: "x,y" }
+ }
+ }
+ \endqml
+
+ ParentAnimation can wrap any number of animations -- those animations will
+ be run in parallel (like those in a ParallelAnimation group).
+
+ In some cases, such as reparenting between items with clipping, it's useful
+ to animate the parent change via another item with no clipping.
+
+ When used in a transition, ParentAnimation will by default animate
+ all ParentChanges.
+*/
+
+/*!
+ \internal
+ \class QDeclarativeParentAnimation
+*/
QDeclarativeParentAnimation::QDeclarativeParentAnimation(QObject *parent)
: QDeclarativeAnimationGroup(*(new QDeclarativeParentAnimationPrivate), parent)
{
Q_D(QDeclarativeParentAnimation);
d->topLevelGroup = new QSequentialAnimationGroup;
- QDeclarativeGraphics_setParent_noEvent(d->topLevelGroup, this);
+ QDeclarative_setParent_noEvent(d->topLevelGroup, this);
d->startAction = new QActionAnimation;
d->topLevelGroup->addAnimation(d->startAction);
@@ -2391,6 +2460,13 @@ QDeclarativeParentAnimation::~QDeclarativeParentAnimation()
{
}
+/*!
+ \qmlproperty item ParentAnimation::target
+ The item to reparent.
+
+ When used in a transition, if no target is specified all
+ ParentChanges will be animated by the ParentAnimation.
+*/
QDeclarativeItem *QDeclarativeParentAnimation::target() const
{
Q_D(const QDeclarativeParentAnimation);
@@ -2403,6 +2479,12 @@ void QDeclarativeParentAnimation::setTarget(QDeclarativeItem *target)
d->target = target;
}
+/*!
+ \qmlproperty item ParentAnimation::newParent
+ The new parent to animate to.
+
+ If not set, then the parent defined in the end state of the transition.
+*/
QDeclarativeItem *QDeclarativeParentAnimation::newParent() const
{
Q_D(const QDeclarativeParentAnimation);
@@ -2415,6 +2497,19 @@ void QDeclarativeParentAnimation::setNewParent(QDeclarativeItem *newParent)
d->newParent = newParent;
}
+/*!
+ \qmlproperty item ParentAnimation::via
+ The item to reparent via. This provides a way to do an unclipped animation
+ when both the old parent and new parent are clipped
+
+ \qml
+ ParentAnimation {
+ target: myItem
+ via: topLevelItem
+ ...
+ }
+ \endqml
+*/
QDeclarativeItem *QDeclarativeParentAnimation::via() const
{
Q_D(const QDeclarativeParentAnimation);
@@ -2461,12 +2556,13 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
struct QDeclarativeParentActionData : public QAbstractAnimationAction
{
- QDeclarativeParentActionData(): pc(0) {}
- ~QDeclarativeParentActionData() { delete pc; }
+ QDeclarativeParentActionData() {}
+ ~QDeclarativeParentActionData() { qDeleteAll(pc); }
QDeclarativeStateActions actions;
+ //### reverse should probably apply on a per-action basis
bool reverse;
- QDeclarativeParentChange *pc;
+ QList<QDeclarativeParentChange *> pc;
virtual void doAction()
{
for (int ii = 0; ii < actions.count(); ++ii) {
@@ -2481,6 +2577,33 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
QDeclarativeParentActionData *data = new QDeclarativeParentActionData;
QDeclarativeParentActionData *viaData = new QDeclarativeParentActionData;
+
+ bool hasExplicit = false;
+ if (d->target && d->newParent) {
+ data->reverse = false;
+ QDeclarativeAction myAction;
+ QDeclarativeParentChange *pc = new QDeclarativeParentChange;
+ pc->setObject(d->target);
+ pc->setParent(d->newParent);
+ myAction.event = pc;
+ data->pc << pc;
+ data->actions << myAction;
+ hasExplicit = true;
+ if (d->via) {
+ viaData->reverse = false;
+ QDeclarativeAction myVAction;
+ QDeclarativeParentChange *vpc = new QDeclarativeParentChange;
+ vpc->setObject(d->target);
+ vpc->setParent(d->via);
+ myVAction.event = vpc;
+ viaData->pc << vpc;
+ viaData->actions << myVAction;
+ }
+ //### once actions have concept of modified,
+ // loop to match appropriate ParentChanges and mark as modified
+ }
+
+ if (!hasExplicit)
for (int i = 0; i < actions.size(); ++i) {
QDeclarativeAction &action = actions[i];
if (action.event && action.event->typeName() == QLatin1String("ParentChange")
@@ -2489,8 +2612,21 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
QDeclarativeParentChange *pc = static_cast<QDeclarativeParentChange*>(action.event);
QDeclarativeAction myAction = action;
data->reverse = action.reverseEvent;
- action.actionDone = true;
- data->actions << myAction;
+
+ //### this logic differs from PropertyAnimation
+ // (probably a result of modified vs. done)
+ if (d->newParent) {
+ QDeclarativeParentChange *epc = new QDeclarativeParentChange;
+ epc->setObject(static_cast<QDeclarativeParentChange*>(action.event)->object());
+ epc->setParent(d->newParent);
+ myAction.event = epc;
+ data->pc << epc;
+ data->actions << myAction;
+ pc = epc;
+ } else {
+ action.actionDone = true;
+ data->actions << myAction;
+ }
if (d->via) {
viaData->reverse = false;
@@ -2499,7 +2635,7 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
vpc->setObject(pc->object());
vpc->setParent(d->via);
myAction.event = vpc;
- viaData->pc = vpc;
+ viaData->pc << vpc;
viaData->actions << myAction;
QDeclarativeAction dummyAction;
QDeclarativeAction &xAction = pc->xIsSet() ? actions[++i] : dummyAction;
diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h
index 0f23f5ca49..af48309abf 100644
--- a/src/declarative/util/qdeclarativeanimation_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p.h
@@ -457,7 +457,7 @@ class QDeclarativeParentAnimation : public QDeclarativeAnimationGroup
Q_DECLARE_PRIVATE(QDeclarativeParentAnimation)
Q_PROPERTY(QDeclarativeItem *target READ target WRITE setTarget)
- //Q_PROPERTY(QDeclarativeItem *newParent READ newParent WRITE setNewParent)
+ Q_PROPERTY(QDeclarativeItem *newParent READ newParent WRITE setNewParent)
Q_PROPERTY(QDeclarativeItem *via READ via WRITE setVia)
public:
diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h
index e5820664f2..ae82a908f3 100644
--- a/src/declarative/util/qdeclarativeanimation_p_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p_p.h
@@ -149,14 +149,21 @@ private:
bool running;
};
-//animates QDeclarativeTimeLineValue (assumes start and end values will be reals or compatible)
-class QDeclarativeTimeLineValueAnimator : public QVariantAnimation
+class QDeclarativeBulkValueUpdater
+{
+public:
+ virtual ~QDeclarativeBulkValueUpdater() {}
+ virtual void setValue(qreal value) = 0;
+};
+
+//animates QDeclarativeBulkValueUpdater (assumes start and end values will be reals or compatible)
+class QDeclarativeBulkValueAnimator : public QVariantAnimation
{
Q_OBJECT
public:
- QDeclarativeTimeLineValueAnimator(QObject *parent = 0) : QVariantAnimation(parent), animValue(0), fromSourced(0), policy(KeepWhenStopped) {}
- ~QDeclarativeTimeLineValueAnimator() { if (policy == DeleteWhenStopped) { delete animValue; animValue = 0; } }
- void setAnimValue(QDeclarativeTimeLineValue *value, DeletionPolicy p)
+ QDeclarativeBulkValueAnimator(QObject *parent = 0) : QVariantAnimation(parent), animValue(0), fromSourced(0), policy(KeepWhenStopped) {}
+ ~QDeclarativeBulkValueAnimator() { if (policy == DeleteWhenStopped) { delete animValue; animValue = 0; } }
+ void setAnimValue(QDeclarativeBulkValueUpdater *value, DeletionPolicy p)
{
if (state() == Running)
stop();
@@ -193,7 +200,7 @@ protected:
}
private:
- QDeclarativeTimeLineValue *animValue;
+ QDeclarativeBulkValueUpdater *animValue;
bool *fromSourced;
DeletionPolicy policy;
};
@@ -352,7 +359,7 @@ public:
int interpolatorType;
QVariantAnimation::Interpolator interpolator;
- QDeclarativeTimeLineValueAnimator *va;
+ QDeclarativeBulkValueAnimator *va;
static QVariant interpolateVariant(const QVariant &from, const QVariant &to, qreal progress);
static void convertVariant(QVariant &variant, int type);
diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp
index e0189dc2f1..d90ca33450 100644
--- a/src/declarative/util/qdeclarativebehavior.cpp
+++ b/src/declarative/util/qdeclarativebehavior.cpp
@@ -70,17 +70,18 @@ public:
/*!
\qmlclass Behavior QDeclarativeBehavior
+ \since 4.7
\brief The Behavior element allows you to specify a default animation for a property change.
Behaviors provide one way to specify \l{qdeclarativeanimation.html}{animations} in QML.
- In the example below, the rect will use a bounce easing curve over 200 millisecond for any changes to its y property:
+ In the example below, the rectangle will use a bounce easing curve over 200 millisecond for any changes to its y property:
\code
Rectangle {
width: 20; height: 20
color: "#00ff00"
- y: 200 //initial value
- y: Behavior {
+ y: 200 // initial value
+ Behavior on y {
NumberAnimation {
easing: "easeOutBounce(amplitude:100)"
duration: 200
@@ -156,6 +157,7 @@ void QDeclarativeBehavior::setEnabled(bool enabled)
void QDeclarativeBehavior::write(const QVariant &value)
{
Q_D(QDeclarativeBehavior);
+ qmlExecuteDeferred(this);
if (!d->animation || !d->enabled) {
QDeclarativePropertyPrivate::write(d->property, value, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
return;
diff --git a/src/declarative/util/qdeclarativebehavior_p.h b/src/declarative/util/qdeclarativebehavior_p.h
index a633b55690..ff5821028e 100644
--- a/src/declarative/util/qdeclarativebehavior_p.h
+++ b/src/declarative/util/qdeclarativebehavior_p.h
@@ -65,6 +65,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeBehavior : public QObject, public QDeclar
Q_CLASSINFO("DefaultProperty", "animation")
Q_PROPERTY(QDeclarativeAbstractAnimation *animation READ animation WRITE setAnimation)
Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
+ Q_CLASSINFO("DeferredPropertyNames", "animation")
public:
QDeclarativeBehavior(QObject *parent=0);
diff --git a/src/declarative/util/qdeclarativebind.cpp b/src/declarative/util/qdeclarativebind.cpp
index e95a03ea1d..26baa3858a 100644
--- a/src/declarative/util/qdeclarativebind.cpp
+++ b/src/declarative/util/qdeclarativebind.cpp
@@ -72,7 +72,7 @@ public:
/*!
\qmlclass Binding QDeclarativeBind
- \since 4.7
+ \since 4.7
\brief The Binding element allows arbitrary property bindings to be created.
Sometimes it is necessary to bind to a property of an object that wasn't
@@ -114,6 +114,19 @@ QDeclarativeBind::~QDeclarativeBind()
{
}
+/*!
+ \qmlproperty bool Binding::when
+
+ This property holds when the binding is active.
+ This should be set to an expression that evaluates to true when you want the binding to be active.
+
+ \code
+ Binding {
+ target: contactName; property: 'text'
+ value: name; when: list.ListView.isCurrentItem
+ }
+ \endcode
+*/
bool QDeclarativeBind::when() const
{
Q_D(const QDeclarativeBind);
diff --git a/src/declarative/util/qdeclarativedatetimeformatter.cpp b/src/declarative/util/qdeclarativedatetimeformatter.cpp
deleted file mode 100644
index 4087091185..0000000000
--- a/src/declarative/util/qdeclarativedatetimeformatter.cpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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.
-**
-** 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 "qdeclarativedatetimeformatter_p.h"
-
-#include <QtCore/qlocale.h>
-
-#include <private/qobject_p.h>
-
-QT_BEGIN_NAMESPACE
-
-//TODO: may need optimisation as the QDateTime member may not be needed?
-// be able to set a locale?
-
-class QDeclarativeDateTimeFormatterPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QDeclarativeDateTimeFormatter)
-public:
- QDeclarativeDateTimeFormatterPrivate() : locale(QLocale::system()), longStyle(false), componentComplete(true) {}
-
- void updateText();
-
- QDateTime dateTime;
- QDate date;
- QTime time;
- QLocale locale;
- QString dateTimeText;
- QString dateText;
- QString timeText;
- QString dateTimeFormat; //set for convienience?
- QString dateFormat;
- QString timeFormat;
- bool longStyle;
- bool componentComplete;
-};
-
-/*!
- \qmlclass DateTimeFormatter QDeclarativeDateTimeFormatter
- \since 4.7
- \brief The DateTimeFormatter allows you to control the format of a date string.
-
- \code
- DateTimeFormatter { id: formatter; date: System.date }
- Text { text: formatter.dateText }
- \endcode
-
- By default, the text properties (dateText, timeText, and dateTimeText) will return the
- date and time using the current system locale's format.
-*/
-
-/*!
- \internal
- \class QDeclarativeDateTimeFormatter
- \ingroup group_utility
- \brief The QDeclarativeDateTimeFormatter class allows you to format a date string.
-*/
-
-QDeclarativeDateTimeFormatter::QDeclarativeDateTimeFormatter(QObject *parent)
-: QObject(*(new QDeclarativeDateTimeFormatterPrivate), parent)
-{
-}
-
-QDeclarativeDateTimeFormatter::~QDeclarativeDateTimeFormatter()
-{
-}
-
-/*!
- \qmlproperty string DateTimeFormatter::dateText
- \qmlproperty string DateTimeFormatter::timeText
- \qmlproperty string DateTimeFormatter::dateTimeText
-
- Formatted text representations of the \c date, \c time,
- and \c {date and time}, respectively.
-
- If there is no explictly specified format the DateTimeFormatter
- will use the system locale's default 'short' setting.
-
- \code
- // specify source date (assuming today is February 19, 2009)
- DateTimeFormatter { id: formatter; dateTime: Today.date }
-
- // display the full date and time
- Text { text: formatter.dateText }
- \endcode
-
- Would be equivalent to the following for a US English locale:
-
- \code
- // display the date
- Text { text: "2/19/09" }
- \endcode
-*/
-QString QDeclarativeDateTimeFormatter::dateTimeText() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->dateTimeText;
-}
-
-QString QDeclarativeDateTimeFormatter::dateText() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->dateText;
-}
-
-QString QDeclarativeDateTimeFormatter::timeText() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->timeText;
-}
-
-/*!
- \qmlproperty date DateTimeFormatter::date
- \qmlproperty time DateTimeFormatter::time
- \qmlproperty datetime DateTimeFormatter::dateTime
-
- The source date and time to be used by the formatter.
-
- \code
- // setting the date and time
- DateTimeFormatter { date: System.date; time: System.time }
- \endcode
-
- For convienience it is possible to set the datetime property to set both the date and the time.
- \code
- // setting the datetime
- DateTimeFormatter { dateTime: System.dateTime }
- \endcode
-
- There can only be one instance of date and time per formatter; if date, time, and dateTime are all
- set the actual date and time used is not guaranteed.
-
- \note If no date is set, dateTimeText will be just the date;
- If no time is set, the dateTimeText will be just the time.
-
-*/
-QDate QDeclarativeDateTimeFormatter::date() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->date;
-}
-
-QTime QDeclarativeDateTimeFormatter::time() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->time;
-}
-
-QDateTime QDeclarativeDateTimeFormatter::dateTime() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->dateTime;
-}
-
-/*!
- \qmlproperty string DateTimeFormatter::dateFormat
- \qmlproperty string DateTimeFormatter::timeFormat
- \qmlproperty string DateTimeFormatter::dateTimeFormat
-
- Specifies a custom format which the DateTime Formatter can use.
-
- If there is no explictly specified format the DateTimeFormatter
- will use the system locale's default 'short' setting.
-
- The text's format may be modified by setting:
- \list
- \i \c dateFormat
- \i \c timeFormat
- \i \c dateTimeFormat
- \endlist
-
- If only the format for date is defined, the time and dateTime formats will be defined
- as the system locale default and likewise for the others.
-
- Syntax for the format is based on the QDateTime::toString() formatting options.
-
- \code
- // Format the date such that the dateText is: '1997-12-12'
- DateTimeFormatter { id: formatter; dateTime: Today.dateTime; formatDate: "yyyy-MM-d" }
- \endcode
-
- Assigning an empty string to a particular format will reset it.
-*/
-QString QDeclarativeDateTimeFormatter::dateTimeFormat() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->dateTimeFormat;
-}
-
-QString QDeclarativeDateTimeFormatter::dateFormat() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->dateFormat;
-}
-
-QString QDeclarativeDateTimeFormatter::timeFormat() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->timeFormat;
-}
-
-/*!
- \qmlproperty bool DateTimeFormatter::longStyle
-
- This property causes the formatter to use the system locale's long format rather than short format
- by default.
-
- This setting is off by default.
-*/
-bool QDeclarativeDateTimeFormatter::longStyle() const
-{
- Q_D(const QDeclarativeDateTimeFormatter);
- return d->longStyle;
-}
-
-void QDeclarativeDateTimeFormatter::setDateTime(const QDateTime &dateTime)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- if (d->dateTime == dateTime)
- return;
- d->dateTime = dateTime;
- d->date = d->dateTime.date();
- d->time = d->dateTime.time();
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatter::setTime(const QTime &time)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- if (d->dateTime.time() == time)
- return;
- d->time = time;
- d->dateTime.setTime(time);
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatter::setDate(const QDate &date)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- if (d->dateTime.date() == date)
- return;
- d->date = date;
- bool clearTime = d->dateTime.time().isValid() ? false : true; //because setting date generates default time
- d->dateTime.setDate(date);
- if (clearTime)
- d->dateTime.setTime(QTime());
- d->updateText();
-}
-
-//DateTime formatting may be a combination of date and time?
-void QDeclarativeDateTimeFormatter::setDateTimeFormat(const QString &format)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- //no format checking
- d->dateTimeFormat = format;
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatter::setDateFormat(const QString &format)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- //no format checking
- d->dateFormat = format;
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatter::setTimeFormat(const QString &format)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- //no format checking
- d->timeFormat = format;
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatter::setLongStyle(bool longStyle)
-{
- Q_D(QDeclarativeDateTimeFormatter);
- d->longStyle = longStyle;
- d->updateText();
-}
-
-void QDeclarativeDateTimeFormatterPrivate::updateText()
-{
- Q_Q(QDeclarativeDateTimeFormatter);
- if (!componentComplete)
- return;
-
- QString str;
- QString str1;
- QString str2;
-
- Qt::DateFormat defaultFormat = longStyle ? Qt::SystemLocaleLongDate : Qt::SystemLocaleShortDate;
-
- if (dateFormat.isEmpty())
- str1 = date.toString(defaultFormat);
- else
- str1 = date.toString(dateFormat);
-
- if (timeFormat.isEmpty())
- str2 = time.toString(defaultFormat);
- else
- str2 = time.toString(timeFormat);
-
- if (dateTimeFormat.isEmpty())
- str = dateTime.toString(defaultFormat);
- //else if (!formatTime.isEmpty() && !formatDate.isEmpty())
- // str = str1 + QLatin1Char(' ') + str2;
- else
- str = dateTime.toString(dateTimeFormat);
-
- if (dateTimeText == str && dateText == str1 && timeText == str2)
- return;
-
- dateTimeText = str;
- dateText = str1;
- timeText = str2;
-
- emit q->textChanged();
-}
-
-void QDeclarativeDateTimeFormatter::classBegin()
-{
- Q_D(QDeclarativeDateTimeFormatter);
- d->componentComplete = false;
-}
-
-void QDeclarativeDateTimeFormatter::componentComplete()
-{
- Q_D(QDeclarativeDateTimeFormatter);
- d->componentComplete = true;
- d->updateText();
-}
-
-
-
-QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativedatetimeformatter_p.h b/src/declarative/util/qdeclarativedatetimeformatter_p.h
deleted file mode 100644
index da900be4e8..0000000000
--- a/src/declarative/util/qdeclarativedatetimeformatter_p.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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.
-**
-** 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 QDECLARATIVEDATETIMEFORMATTER_H
-#define QDECLARATIVEDATETIMEFORMATTER_H
-
-#include <qdeclarative.h>
-
-#include <QtCore/qdatetime.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QDeclarativeDateTimeFormatterPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDateTimeFormatter : public QObject, public QDeclarativeParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QDeclarativeParserStatus)
-
- Q_PROPERTY(QString dateText READ dateText NOTIFY textChanged)
- Q_PROPERTY(QString timeText READ timeText NOTIFY textChanged)
- Q_PROPERTY(QString dateTimeText READ dateTimeText NOTIFY textChanged)
- Q_PROPERTY(QDate date READ date WRITE setDate)
- Q_PROPERTY(QTime time READ time WRITE setTime)
- Q_PROPERTY(QDateTime dateTime READ dateTime WRITE setDateTime)
- Q_PROPERTY(QString dateFormat READ dateFormat WRITE setDateFormat)
- Q_PROPERTY(QString timeFormat READ timeFormat WRITE setTimeFormat)
- Q_PROPERTY(QString dateTimeFormat READ dateTimeFormat WRITE setDateTimeFormat)
- Q_PROPERTY(bool longStyle READ longStyle WRITE setLongStyle)
-public:
- QDeclarativeDateTimeFormatter(QObject *parent=0);
- ~QDeclarativeDateTimeFormatter();
-
- QString dateTimeText() const;
- QString dateText() const;
- QString timeText() const;
-
- QDate date() const;
- void setDate(const QDate &);
-
- QTime time() const;
- void setTime(const QTime &);
-
- QDateTime dateTime() const;
- void setDateTime(const QDateTime &);
-
- QString dateTimeFormat() const;
- void setDateTimeFormat(const QString &);
-
- QString dateFormat() const;
- void setDateFormat(const QString &);
-
- QString timeFormat() const;
- void setTimeFormat(const QString &);
-
- bool longStyle() const;
- void setLongStyle(bool);
-
- virtual void classBegin();
- virtual void componentComplete();
-
-Q_SIGNALS:
- void textChanged();
-
-private:
- Q_DISABLE_COPY(QDeclarativeDateTimeFormatter)
- Q_DECLARE_PRIVATE(QDeclarativeDateTimeFormatter)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeDateTimeFormatter)
-
-QT_END_HEADER
-
-#endif
diff --git a/src/declarative/util/qdeclarativeeasefollow.cpp b/src/declarative/util/qdeclarativeeasefollow.cpp
index 232dc9079c..ee181ddcd9 100644
--- a/src/declarative/util/qdeclarativeeasefollow.cpp
+++ b/src/declarative/util/qdeclarativeeasefollow.cpp
@@ -59,10 +59,10 @@ class QDeclarativeEaseFollowPrivate : public QObjectPrivate
public:
QDeclarativeEaseFollowPrivate()
: source(0), velocity(200), duration(-1), maximumEasingTime(-1),
- reversingMode(QDeclarativeEaseFollow::Eased), initialVelocity(0),
+ reversingMode(QDeclarativeEaseFollow::Eased), initialVelocity(0),
initialValue(0), invert(false), enabled(true), trackVelocity(0), clockOffset(0),
lastTick(0), clock(this)
- {}
+ {}
qreal source;
qreal velocity;
@@ -173,7 +173,7 @@ bool QDeclarativeEaseFollowPrivate::recalc()
}
/*
- qWarning() << "a:" << a << "tf:" << tf << "tp:" << tp << "vp:"
+ qWarning() << "a:" << a << "tf:" << tf << "tp:" << tp << "vp:"
<< vp << "sp:" << sp << "vi:" << vi << "invert:" << invert;
*/
return true;
@@ -251,21 +251,22 @@ void QDeclarativeEaseFollowPrivate::tick(int t)
/*!
\qmlclass EaseFollow QDeclarativeEaseFollow
+ \since 4.7
\brief The EaseFollow element allows a property to smoothly track a value.
- The EaseFollow smoothly animates a property's value to a set target value
+ The EaseFollow smoothly animates a property's value to a set target value
using an ease in/out quad easing curve. If the target value changes while
- the animation is in progress, the easing curves used to animate to the old
+ the animation is in progress, the easing curves used to animate to the old
and the new target values are spliced together to avoid any obvious visual
glitches.
The property animation is configured by setting the velocity at which the
- animation should occur, or the duration that the animation should take.
+ animation should occur, or the duration that the animation should take.
If both a velocity and a duration are specified, the one that results in
the quickest animation is chosen for each change in the target value.
For example, animating from 0 to 800 will take 4 seconds if a velocity
- of 200 is set, will take 8 seconds with a duration of 8000 set, and will
+ of 200 is set, will take 8 seconds with a duration of 8000 set, and will
take 4 seconds with both a velocity of 200 and a duration of 8000 set.
Animating from 0 to 20000 will take 10 seconds if a velocity of 200 is set,
will take 8 seconds with a duration of 8000 set, and will take 8 seconds
@@ -282,8 +283,8 @@ Rectangle {
color: "green"
width: 60; height: 60;
x: -5; y: -5;
- x: EaseFollow { source: rect1.x - 5; velocity: 200 }
- y: EaseFollow { source: rect1.y - 5; velocity: 200 }
+ EaseFollow on x { source: rect1.x - 5; velocity: 200 }
+ EaseFollow on y { source: rect1.y - 5; velocity: 200 }
}
Rectangle {
@@ -337,8 +338,8 @@ qreal QDeclarativeEaseFollow::sourceValue() const
Sets how the EaseFollow behaves if an animation direction is reversed.
If reversing mode is \c Eased, the animation will smoothly decelerate, and
- then reverse direction. If the reversing mode is \c Immediate, the
- animation will immediately begin accelerating in the reverse direction,
+ then reverse direction. If the reversing mode is \c Immediate, the
+ animation will immediately begin accelerating in the reverse direction,
begining with a velocity of 0. If the reversing mode is \c Sync, the
property is immediately set to the target value.
*/
@@ -372,7 +373,7 @@ void QDeclarativeEaseFollowPrivate::restart()
return;
}
- bool hasReversed = trackVelocity != 0. &&
+ bool hasReversed = trackVelocity != 0. &&
((trackVelocity > 0) == ((initialValue - source) > 0));
if (hasReversed) {
@@ -439,7 +440,7 @@ void QDeclarativeEaseFollow::setDuration(qreal v)
d->duration = v;
d->trackVelocity = 0;
- if (d->clock.state() == QAbstractAnimation::Running)
+ if (d->clock.state() == QAbstractAnimation::Running)
d->restart();
emit durationChanged();
@@ -469,7 +470,7 @@ void QDeclarativeEaseFollow::setVelocity(qreal v)
d->velocity = v;
d->trackVelocity = 0;
- if (d->clock.state() == QAbstractAnimation::Running)
+ if (d->clock.state() == QAbstractAnimation::Running)
d->restart();
emit velocityChanged();
@@ -510,8 +511,8 @@ void QDeclarativeEaseFollow::setTarget(const QDeclarativeProperty &t)
\qmlproperty qreal EaseFollow::maximumEasingTime
This property specifies the maximum time an "eases" during the follow should take.
-Setting this property causes the velocity to "level out" after at a time. Setting
-a negative value reverts to the normal mode of easing over the entire animation
+Setting this property causes the velocity to "level out" after at a time. Setting
+a negative value reverts to the normal mode of easing over the entire animation
duration.
The default value is -1.
@@ -527,7 +528,7 @@ void QDeclarativeEaseFollow::setMaximumEasingTime(qreal v)
Q_D(QDeclarativeEaseFollow);
d->maximumEasingTime = v;
- if (d->clock.state() == QAbstractAnimation::Running)
+ if (d->clock.state() == QAbstractAnimation::Running)
d->restart();
emit maximumEasingTimeChanged();
diff --git a/src/declarative/util/qdeclarativefontloader.cpp b/src/declarative/util/qdeclarativefontloader.cpp
index ac303841e4..8f5f53758a 100644
--- a/src/declarative/util/qdeclarativefontloader.cpp
+++ b/src/declarative/util/qdeclarativefontloader.cpp
@@ -75,6 +75,7 @@ public:
/*!
\qmlclass FontLoader QDeclarativeFontLoader
+ \since 4.7
\ingroup group_utility
\brief This item allows using fonts by name or url.
@@ -188,6 +189,16 @@ void QDeclarativeFontLoader::setName(const QString &name)
\o Loading - the font is currently being loaded
\o Error - an error occurred while loading the font
\endlist
+
+ Note that a change in the status property does not cause anything to happen
+ (although it reflects what has happened to the font loader internally). If you wish
+ to react to the change in status you need to do it yourself, for example in one
+ of the following ways:
+ \list
+ \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = FontLoader.Ready;}
+ \o Do something inside the onStatusChanged signal handler, e.g. FontLoader{id: loader; onStatusChanged: if(loader.status == FontLoader.Ready) console.log('Loaded');}
+ \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=FontLoader.Ready){'Not Loaded';}else{'Loaded';}}
+ \endlist
*/
QDeclarativeFontLoader::Status QDeclarativeFontLoader::status() const
{
diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp
index e78e0e1bd3..e3f26d79fa 100644
--- a/src/declarative/util/qdeclarativelistmodel.cpp
+++ b/src/declarative/util/qdeclarativelistmodel.cpp
@@ -70,6 +70,7 @@ static void dump(ModelNode *node, int ind);
/*!
\qmlclass ListModel QDeclarativeListModel
+ \since 4.7
\brief The ListModel element defines a free-form list data source.
The ListModel is a simple hierarchy of elements containing data roles. The contents can
@@ -936,6 +937,7 @@ bool QDeclarativeListModelParser::definesEmptyList(const QString &s)
/*!
\qmlclass ListElement
+ \since 4.7
\brief The ListElement element defines a data item in a ListModel.
\sa ListModel
diff --git a/src/declarative/util/qdeclarativelistmodel_p.h b/src/declarative/util/qdeclarativelistmodel_p.h
index 251a31fa66..8eb658395a 100644
--- a/src/declarative/util/qdeclarativelistmodel_p.h
+++ b/src/declarative/util/qdeclarativelistmodel_p.h
@@ -50,7 +50,7 @@
#include <QtCore/QHash>
#include <QtCore/QList>
#include <QtCore/QVariant>
-#include "../3rdparty/qlistmodelinterface_p.h"
+#include <private/qlistmodelinterface_p.h>
#include <QtScript/qscriptvalue.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qdeclarativenumberformatter.cpp b/src/declarative/util/qdeclarativenumberformatter.cpp
deleted file mode 100644
index 5d81958dfe..0000000000
--- a/src/declarative/util/qdeclarativenumberformatter.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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.
-**
-** 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 "qdeclarativenumberformatter_p.h"
-
-#include <private/qobject_p.h>
-
-QT_BEGIN_NAMESPACE
-
-//TODO: set locale
-// docs
-// this is a wrapper around qnumberformat (test integration)
-// if number or format haven't been explictly set, text should be an empty string
-
-class QDeclarativeNumberFormatterPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QDeclarativeNumberFormatter)
-public:
- QDeclarativeNumberFormatterPrivate() : locale(QLocale::system()), number(0), componentComplete(true) {}
-
- void updateText();
-
- QLocale locale;
- QString format;
- QNumberFormat numberFormat;
- QString text;
- qreal number;
- bool componentComplete;
-};
-/*!
- \qmlclass NumberFormatter
- \since 4.7
- \brief The NumberFormatter allows you to control the format of a number string.
-
- The format property documentation has more details on how the format can be manipulated.
-
- In the following example, the text element will display the text "1,234.57".
- \code
- NumberFormatter { id: formatter; number: 1234.5678; format: "##,##0.##" }
- Text { text: formatter.text }
- \endcode
-
- */
-/*!
- \internal
- \class QDeclarativeNumberFormatter
- \ingroup group_utility
- \brief The QDeclarativeNumberFormatter class allows you to format a number to a particular string format/locale specific number format.
-*/
-
-QDeclarativeNumberFormatter::QDeclarativeNumberFormatter(QObject *parent)
-: QObject(*(new QDeclarativeNumberFormatterPrivate), parent)
-{
-}
-
-QDeclarativeNumberFormatter::~QDeclarativeNumberFormatter()
-{
-}
-
-/*!
- \qmlproperty string NumberFormatter::text
-
- The number in the specified format.
-
- If no format is specified the text will be empty.
-*/
-
-QString QDeclarativeNumberFormatter::text() const
-{
- Q_D(const QDeclarativeNumberFormatter);
- return d->text;
-}
-
-/*!
- \qmlproperty real NumberFormatter::number
-
- A single point precision number. (Doubles are not yet supported)
-
-*/
-qreal QDeclarativeNumberFormatter::number() const
-{
- Q_D(const QDeclarativeNumberFormatter);
- return d->number;
-}
-
-/*!
- \qmlproperty string NumberFormatter::format
-
- The particular format the number will adhere to during the conversion to text.
-
- The format syntax follows a style similar to the Unicode Standard (UTS35).
-
- The table below shows the characters, patterns that can be used in the format.
-
- \table
- \header
- \o Character
- \o Meaning
- \row
- \o #
- \o Any digit(s), zero shows as absent (for leading/trailing zeroes).
- \row
- \o 0
- \o Implicit digit. Zero will show in the case that the input number is too small.
- \row
- \o .
- \o Decimal separator. Output decimal seperator will be dependant on system locale.
- \row
- \o ,
- \o Grouping separator. The number of digits (either #, or 0) between the grouping separator and the decimal (or the rightmost digit) will determine the groupingSize).
- \row
- \o other
- \o Any other character will be taken as a string literal and placed directly into the output string.
- \endtable
-
- Invalid formats will not guarantee a meaningful text output.
-
- \note Input numbers that are too long for the given format will be rounded dependent on precison based on the position of the decimal point.
-
- The following table illustrates the output text created by applying some examples of numeric formats to the formatter.
-
- \table
- \header
- \o Format
- \o Number
- \o Output
- \row
- \o ###
- \o 123456
- \o 123456
- \row
- \o 000
- \o 123456
- \o 123456
- \row
- \o ######
- \o 1234
- \o 1234
- \row
- \o 000000
- \o 1234
- \o 001234
- \row
- \o ##,##0.##
- \o 1234.456
- \o 1,234.46 (for US locale)
- \codeline 1 234,46 (for FR locale)
- \row
- \o 000000,000.#
- \o 123456
- \o 000,123,456 (for US locale)
- \codeline 000 123 456 (for FR locale)
- \row
- \o 0.0###
- \o 0.999997
- \o 1.0
- \row
- \o (000) 000 - 000
- \o 12345678
- \o (012) 345 - 678
- \row
- \o #A
- \o 12
- \o 12A
- \endtable
-
-*/
-QString QDeclarativeNumberFormatter::format() const
-{
- Q_D(const QDeclarativeNumberFormatter);
- return d->format;
-}
-
-void QDeclarativeNumberFormatter::setNumber(const qreal &number)
-{
- Q_D(QDeclarativeNumberFormatter);
- if (d->number == number)
- return;
- d->number = number;
- d->updateText();
-}
-
-void QDeclarativeNumberFormatter::setFormat(const QString &format)
-{
- Q_D(QDeclarativeNumberFormatter);
- //no format checking
- if (format.isEmpty())
- d->format = QString::null;
- else
- d->format = format;
- d->updateText();
-}
-
-void QDeclarativeNumberFormatterPrivate::updateText()
-{
- Q_Q(QDeclarativeNumberFormatter);
- if (!componentComplete)
- return;
-
- QNumberFormat tempFormat;
- tempFormat.setFormat(format);
- tempFormat.setNumber(number);
-
- text = tempFormat.text();
-
- emit q->textChanged();
-}
-
-void QDeclarativeNumberFormatter::classBegin()
-{
- Q_D(QDeclarativeNumberFormatter);
- d->componentComplete = false;
-}
-
-void QDeclarativeNumberFormatter::componentComplete()
-{
- Q_D(QDeclarativeNumberFormatter);
- d->componentComplete = true;
- d->updateText();
-}
-
-
-QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativepackage.cpp b/src/declarative/util/qdeclarativepackage.cpp
index 34ae466cb1..d144777a97 100644
--- a/src/declarative/util/qdeclarativepackage.cpp
+++ b/src/declarative/util/qdeclarativepackage.cpp
@@ -42,7 +42,7 @@
#include "qdeclarativepackage_p.h"
#include <private/qobject_p.h>
-#include "private/qdeclarativeguard_p.h"
+#include <private/qdeclarativeguard_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringfollow.cpp
index 012e6a0122..1d69dd3232 100644
--- a/src/declarative/util/qdeclarativespringfollow.cpp
+++ b/src/declarative/util/qdeclarativespringfollow.cpp
@@ -213,6 +213,7 @@ void QDeclarativeSpringFollowPrivate::stop()
/*!
\qmlclass SpringFollow QDeclarativeSpringFollow
+ \since 4.7
\brief The SpringFollow element allows a property to track a value.
In example below, \e rect2 will follow \e rect1 moving with a velocity of up to 200:
@@ -221,8 +222,8 @@ void QDeclarativeSpringFollowPrivate::stop()
id: rect1
width: 20; height: 20
color: "#00ff00"
- y: 200 //initial value
- y: SequentialAnimation {
+ y: 200 // initial value
+ SequentialAnimation on y {
running: true
repeat: true
NumberAnimation {
@@ -238,7 +239,7 @@ void QDeclarativeSpringFollowPrivate::stop()
x: rect1.width
width: 20; height: 20
color: "#ff0000"
- y: SpringFollow { source: rect1.y; velocity: 200 }
+ SpringFollow on y { source: rect1.y; velocity: 200 }
}
\endcode
diff --git a/src/declarative/util/qdeclarativestategroup.cpp b/src/declarative/util/qdeclarativestategroup.cpp
index 1a7c256177..083e87d724 100644
--- a/src/declarative/util/qdeclarativestategroup.cpp
+++ b/src/declarative/util/qdeclarativestategroup.cpp
@@ -84,6 +84,7 @@ public:
/*!
\qmlclass StateGroup QDeclarativeStateGroup
+ \since 4.7
\brief The StateGroup element provides state support for non-Item elements.
Item (and all dervied elements) provides built in support for states and transitions
@@ -406,7 +407,7 @@ void QDeclarativeStateGroupPrivate::setCurrentStateInternal(const QString &state
}
if (oldState == 0 || newState == 0) {
- if (!nullState) { nullState = new QDeclarativeState; QDeclarativeGraphics_setParent_noEvent(nullState, q); }
+ if (!nullState) { nullState = new QDeclarativeState; QDeclarative_setParent_noEvent(nullState, q); }
if (!oldState) oldState = nullState;
if (!newState) newState = nullState;
}
diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp
index cea9ad7beb..766d1bc15c 100644
--- a/src/declarative/util/qdeclarativestateoperations.cpp
+++ b/src/declarative/util/qdeclarativestateoperations.cpp
@@ -158,17 +158,17 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q
\qmlclass ParentChange QDeclarativeParentChange
\brief The ParentChange element allows you to reparent an Item in a state change.
- ParentChange reparents an Item while preserving its visual appearance (position, rotation,
- and scale) on screen. You can then specify a transition to move/rotate/scale the Item to
- its final intended appearance.
+ ParentChange reparents an item while preserving its visual appearance (position, size,
+ rotation, and scale) on screen. You can then specify a transition to move/resize/rotate/scale
+ the item to its final intended appearance.
ParentChange can only preserve visual appearance if no complex transforms are involved.
More specifically, it will not work if the transform property has been set for any
- Items involved in the reparenting (defined as any Items in the common ancestor tree
+ items involved in the reparenting (i.e. items in the common ancestor tree
for the original and new parent).
You can specify at which point in a transition you want a ParentChange to occur by
- using a ParentAction.
+ using a ParentAnimation or ParentAction.
*/
@@ -181,6 +181,16 @@ QDeclarativeParentChange::~QDeclarativeParentChange()
{
}
+/*!
+ \qmlproperty real ParentChange::x
+ \qmlproperty real ParentChange::y
+ \qmlproperty real ParentChange::width
+ \qmlproperty real ParentChange::height
+ \qmlproperty real ParentChange::scale
+ \qmlproperty real ParentChange::rotation
+ These properties hold the new position, size, scale, and rotation
+ for the item in this state.
+*/
qreal QDeclarativeParentChange::x() const
{
Q_D(const QDeclarativeParentChange);
@@ -314,7 +324,7 @@ void QDeclarativeParentChange::setObject(QDeclarativeItem *target)
/*!
\qmlproperty Item ParentChange::parent
- This property holds the parent for the item in this state
+ This property holds the new parent for the item in this state.
*/
QDeclarativeItem *QDeclarativeParentChange::parent() const
@@ -551,9 +561,6 @@ QString QDeclarativeStateChangeScript::typeName() const
\qmlclass AnchorChanges QDeclarativeAnchorChanges
\brief The AnchorChanges element allows you to change the anchors of an item in a state.
- In the following example we change the top and bottom anchors of an item:
- \snippet examples/declarative/anchors/anchor-changes.qml 0
-
AnchorChanges will 'inject' \c x, \c y, \c width, and \c height changes into the transition,
so you can animate them as you would normally changes to these properties:
\qml
diff --git a/src/declarative/util/qdeclarativestateoperations_p.h b/src/declarative/util/qdeclarativestateoperations_p.h
index 026a64da62..dd42480231 100644
--- a/src/declarative/util/qdeclarativestateoperations_p.h
+++ b/src/declarative/util/qdeclarativestateoperations_p.h
@@ -45,7 +45,7 @@
#include "qdeclarativestate_p.h"
#include <qdeclarativeitem.h>
-#include "private/qdeclarativeanchors_p.h"
+#include <private/qdeclarativeanchors_p.h>
#include <qdeclarativescriptstring.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qdeclarativesystempalette.cpp b/src/declarative/util/qdeclarativesystempalette.cpp
index 1e00f22b51..d819c27d6b 100644
--- a/src/declarative/util/qdeclarativesystempalette.cpp
+++ b/src/declarative/util/qdeclarativesystempalette.cpp
@@ -58,6 +58,7 @@ public:
/*!
\qmlclass SystemPalette QDeclarativeSystemPalette
+ \since 4.7
\ingroup group_utility
\brief The SystemPalette item gives access to the Qt palettes.
\sa QPalette
diff --git a/src/declarative/util/qdeclarativetimeline_p_p.h b/src/declarative/util/qdeclarativetimeline_p_p.h
index c08c07cb5e..598c897f9f 100644
--- a/src/declarative/util/qdeclarativetimeline_p_p.h
+++ b/src/declarative/util/qdeclarativetimeline_p_p.h
@@ -160,7 +160,7 @@ public:
QDeclarativeTimeLineObject *callbackObject() const;
private:
- friend class QDeclarativeTimeLinePrivate;
+ friend struct QDeclarativeTimeLinePrivate;
Callback d0;
void *d1;
QDeclarativeTimeLineObject *d2;
diff --git a/src/declarative/util/qdeclarativetimer.cpp b/src/declarative/util/qdeclarativetimer.cpp
index 89c461b8c1..104e3aeebb 100644
--- a/src/declarative/util/qdeclarativetimer.cpp
+++ b/src/declarative/util/qdeclarativetimer.cpp
@@ -70,6 +70,7 @@ public:
/*!
\qmlclass Timer QDeclarativeTimer
+ \since 4.7
\brief The Timer item triggers a handler at a specified interval.
A timer can be used to trigger an action either once, or repeatedly
@@ -122,6 +123,7 @@ void QDeclarativeTimer::setInterval(int interval)
if (interval != d->interval) {
d->interval = interval;
update();
+ emit intervalChanged();
}
}
@@ -182,6 +184,7 @@ void QDeclarativeTimer::setRepeating(bool repeating)
if (repeating != d->repeating) {
d->repeating = repeating;
update();
+ emit repeatChanged();
}
}
@@ -214,6 +217,7 @@ void QDeclarativeTimer::setTriggeredOnStart(bool triggeredOnStart)
if (d->triggeredOnStart != triggeredOnStart) {
d->triggeredOnStart = triggeredOnStart;
update();
+ emit triggeredOnStartChanged();
}
}
diff --git a/src/declarative/util/qdeclarativetimer_p.h b/src/declarative/util/qdeclarativetimer_p.h
index e063657011..d1e6630680 100644
--- a/src/declarative/util/qdeclarativetimer_p.h
+++ b/src/declarative/util/qdeclarativetimer_p.h
@@ -59,10 +59,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTimer : public QObject, public QDeclarati
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeTimer)
Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(int interval READ interval WRITE setInterval)
+ Q_PROPERTY(int interval READ interval WRITE setInterval NOTIFY intervalChanged)
Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged)
- Q_PROPERTY(bool repeat READ isRepeating WRITE setRepeating)
- Q_PROPERTY(bool triggeredOnStart READ triggeredOnStart WRITE setTriggeredOnStart)
+ Q_PROPERTY(bool repeat READ isRepeating WRITE setRepeating NOTIFY repeatChanged)
+ Q_PROPERTY(bool triggeredOnStart READ triggeredOnStart WRITE setTriggeredOnStart NOTIFY triggeredOnStartChanged)
public:
QDeclarativeTimer(QObject *parent=0);
@@ -91,6 +91,9 @@ public Q_SLOTS:
Q_SIGNALS:
void triggered();
void runningChanged();
+ void intervalChanged();
+ void repeatChanged();
+ void triggeredOnStartChanged();
private:
void update();
diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp
index 2b8c7def14..65bfdc1cc6 100644
--- a/src/declarative/util/qdeclarativeutilmodule.cpp
+++ b/src/declarative/util/qdeclarativeutilmodule.cpp
@@ -46,13 +46,11 @@
#include "qdeclarativebehavior_p.h"
#include "qdeclarativebind_p.h"
#include "qdeclarativeconnections_p.h"
-#include "qdeclarativedatetimeformatter_p.h"
#include "qdeclarativeeasefollow_p.h"
#include "qdeclarativefontloader_p.h"
#include "qdeclarativelistaccessor_p.h"
#include "qdeclarativelistmodel_p.h"
#include "qdeclarativenullablevalue_p_p.h"
-#include "qdeclarativenumberformatter_p.h"
#include "qdeclarativeopenmetaobject_p.h"
#include "qdeclarativepackage_p.h"
#include "qdeclarativepixmapcache_p.h"
@@ -70,8 +68,9 @@
#include "qdeclarativetransitionmanager_p_p.h"
#include "qdeclarativetransition_p.h"
#include "qdeclarativeview.h"
+#ifndef QT_NO_XMLPATTERNS
#include "qdeclarativexmllistmodel_p.h"
-#include "qnumberformat_p.h"
+#endif
#include "qperformancelog_p_p.h"
void QDeclarativeUtilModule::defineModule()
@@ -81,12 +80,10 @@ void QDeclarativeUtilModule::defineModule()
QML_REGISTER_TYPE(Qt,4,6,Binding,QDeclarativeBind);
QML_REGISTER_TYPE(Qt,4,6,ColorAnimation,QDeclarativeColorAnimation);
QML_REGISTER_TYPE(Qt,4,6,Connections,QDeclarativeConnections);
- QML_REGISTER_TYPE(Qt,4,6,DateTimeFormatter,QDeclarativeDateTimeFormatter);
QML_REGISTER_TYPE(Qt,4,6,EaseFollow,QDeclarativeEaseFollow);;
QML_REGISTER_TYPE(Qt,4,6,FontLoader,QDeclarativeFontLoader);
QML_REGISTER_TYPE(Qt,4,6,ListElement,QDeclarativeListElement);
QML_REGISTER_TYPE(Qt,4,6,NumberAnimation,QDeclarativeNumberAnimation);
- QML_REGISTER_TYPE(Qt,4,6,NumberFormatter,QDeclarativeNumberFormatter);;
QML_REGISTER_TYPE(Qt,4,6,Package,QDeclarativePackage);
QML_REGISTER_TYPE(Qt,4,6,ParallelAnimation,QDeclarativeParallelAnimation);
QML_REGISTER_TYPE(Qt,4,6,ParentAction,QDeclarativeParentAction);
@@ -114,7 +111,6 @@ void QDeclarativeUtilModule::defineModule()
QML_REGISTER_NOCREATE_TYPE(QDeclarativeAnchors);
QML_REGISTER_NOCREATE_TYPE(QDeclarativeAbstractAnimation);
QML_REGISTER_NOCREATE_TYPE(QDeclarativeStateOperation);
- QML_REGISTER_NOCREATE_TYPE(QNumberFormat);
QML_REGISTER_CUSTOM_TYPE(Qt, 4,6, ListModel, QDeclarativeListModel, QDeclarativeListModelParser);
QML_REGISTER_CUSTOM_TYPE(Qt, 4,6, PropertyChanges, QDeclarativePropertyChanges, QDeclarativePropertyChangesParser);
diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp
index 6fe5bf3545..735a0091b7 100644
--- a/src/declarative/util/qdeclarativeview.cpp
+++ b/src/declarative/util/qdeclarativeview.cpp
@@ -51,6 +51,7 @@
#include <qdeclarativedebug_p.h>
#include <qdeclarativedebugservice_p.h>
#include <qdeclarativeglobal_p.h>
+#include <qdeclarativeguard_p.h>
#include <qscriptvalueiterator.h>
#include <qdebug.h>
@@ -136,8 +137,8 @@ public:
QDeclarativeView *q;
- QGuard<QGraphicsObject> root;
- QGuard<QDeclarativeItem> qmlRoot;
+ QDeclarativeGuard<QGraphicsObject> root;
+ QDeclarativeGuard<QDeclarativeItem> qmlRoot;
QUrl source;
@@ -193,6 +194,7 @@ void QDeclarativeViewPrivate::execute()
\o Initializes QGraphicsView for QML key handling:
\list
\o QGraphicsView::viewport()->setFocusPolicy(Qt::NoFocus);
+ \o QGraphicsView::setFocusPolicy(Qt::StrongFocus);
\o QGraphicsScene::setStickyFocus(true);
\endlist
\endlist
@@ -219,7 +221,7 @@ void QDeclarativeViewPrivate::execute()
*/
/*! \fn void QDeclarativeView::statusChanged(QDeclarativeView::Status status)
- This signal is emitted when the component's current \l{QDeclarativeView::Status} {status} changes.
+ This signal is emitted when the component's current \a status changes.
*/
/*!
@@ -267,6 +269,7 @@ void QDeclarativeViewPrivate::init()
q->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
q->viewport()->setFocusPolicy(Qt::NoFocus);
+ q->setFocusPolicy(Qt::StrongFocus);
scene.setStickyFocus(true); //### needed for correct focus handling
}
@@ -280,15 +283,22 @@ QDeclarativeView::~QDeclarativeView()
delete d->root;
}
+/*! \property QDeclarativeView::source
+ \brief The URL of the source of the QML component.
+
+ Changing this property causes the QML component to be reloaded.
+ */
+
/*!
Sets the source to the \a url, loads the QML component and instantiates it.
+
+ Calling this methods multiple times with the same url will result
+ in the QML being reloaded.
*/
void QDeclarativeView::setSource(const QUrl& url)
{
- if (url != d->source) {
- d->source = url;
- d->execute();
- }
+ d->source = url;
+ d->execute();
}
/*!
@@ -322,7 +332,6 @@ QDeclarativeContext* QDeclarativeView::rootContext()
return d->engine.rootContext();
}
-
/*!
\enum QDeclarativeView::Status
@@ -334,6 +343,14 @@ QDeclarativeContext* QDeclarativeView::rootContext()
\value Error An error has occured. Calling errorDescription() to retrieve a description.
*/
+/*! \enum QDeclarativeView::ResizeMode
+
+ This enum specifies how to resize the view.
+
+ \value SizeViewToRootObject
+ \value SizeRootObjectToView
+*/
+
/*!
\property QDeclarativeView::status
The component's current \l{QDeclarativeView::Status} {status}.
@@ -372,8 +389,6 @@ QList<QDeclarativeError> QDeclarativeView::errors() const
Regardless of this property, the sizeHint of the view
is the initial size of the root item. Note though that
since QML may load dynamically, that size may change.
-
- \sa initialSize()
*/
void QDeclarativeView::setResizeMode(ResizeMode mode)
diff --git a/src/declarative/util/qdeclarativeview.h b/src/declarative/util/qdeclarativeview.h
index 03d8db3e57..107f3f916c 100644
--- a/src/declarative/util/qdeclarativeview.h
+++ b/src/declarative/util/qdeclarativeview.h
@@ -43,6 +43,7 @@
#define QDECLARATIVEVIEW_H
#include <QtCore/qdatetime.h>
+#include <QtCore/qurl.h>
#include <QtGui/qgraphicssceneevent.h>
#include <QtGui/qgraphicsview.h>
#include <QtGui/qwidget.h>
@@ -64,7 +65,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativeView : public QGraphicsView
Q_OBJECT
Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
-
+ Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true)
+ Q_ENUMS(ResizeMode Status)
public:
explicit QDeclarativeView(QWidget *parent = 0);
QDeclarativeView(const QUrl &source, QWidget *parent = 0);
diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp
index 386df46ca8..49dbb27792 100644
--- a/src/declarative/util/qdeclarativexmllistmodel.cpp
+++ b/src/declarative/util/qdeclarativexmllistmodel.cpp
@@ -61,9 +61,6 @@
QT_BEGIN_NAMESPACE
-
-
-
typedef QPair<int, int> QDeclarativeXmlListRange;
/*!
@@ -114,9 +111,6 @@ class QDeclarativeXmlQuery : public QThread
{
Q_OBJECT
public:
- QDeclarativeXmlQuery(QObject *parent=0)
- : QThread(parent), m_quit(false), m_restart(false), m_abort(false), m_queryId(0) {
- }
~QDeclarativeXmlQuery() {
m_mutex.lock();
m_quit = true;
@@ -126,6 +120,11 @@ public:
wait();
}
+ static QDeclarativeXmlQuery *instance() {
+ static QDeclarativeXmlQuery *query = new QDeclarativeXmlQuery;
+ return query;
+ }
+
void abort() {
QMutexLocker locker(&m_mutex);
m_abort = true;
@@ -164,6 +163,11 @@ public:
return m_removedItemRanges;
}
+private:
+ QDeclarativeXmlQuery(QObject *parent=0)
+ : QThread(parent), m_quit(false), m_restart(false), m_abort(false), m_queryId(0) {
+ }
+
Q_SIGNALS:
void queryCompleted(int queryId, int size);
@@ -213,6 +217,8 @@ private:
QList<QDeclarativeXmlListRange> m_removedItemRanges;
};
+//Q_GLOBAL_STATIC(QDeclarativeXmlQuery, QDeclarativeXmlQuery::instance());
+
void QDeclarativeXmlQuery::doQueryJob()
{
QString r;
@@ -404,7 +410,6 @@ public:
QNetworkReply *reply;
QDeclarativeXmlListModel::Status status;
qreal progress;
- QDeclarativeXmlQuery qmlXmlQuery;
int queryId;
QList<QDeclarativeXmlListModelRole *> roleObjects;
static void append_role(QDeclarativeListProperty<QDeclarativeXmlListModelRole> *list, QDeclarativeXmlListModelRole *role);
@@ -488,8 +493,7 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla
QDeclarativeXmlListModel::QDeclarativeXmlListModel(QObject *parent)
: QListModelInterface(*(new QDeclarativeXmlListModelPrivate), parent)
{
- Q_D(QDeclarativeXmlListModel);
- connect(&d->qmlXmlQuery, SIGNAL(queryCompleted(int,int)),
+ connect(QDeclarativeXmlQuery::instance(), SIGNAL(queryCompleted(int,int)),
this, SLOT(queryCompleted(int,int)));
}
@@ -571,9 +575,10 @@ void QDeclarativeXmlListModel::setSource(const QUrl &src)
{
Q_D(QDeclarativeXmlListModel);
if (d->src != src) {
- d->src = src;
reload();
- }
+ d->src = src;
+ emit sourceChanged();
+ }
}
/*!
@@ -593,8 +598,11 @@ QString QDeclarativeXmlListModel::xml() const
void QDeclarativeXmlListModel::setXml(const QString &xml)
{
Q_D(QDeclarativeXmlListModel);
- d->xml = xml;
- reload();
+ if (d->xml != xml) {
+ d->xml = xml;
+ reload();
+ emit xmlChanged();
+ }
}
/*!
@@ -619,6 +627,7 @@ void QDeclarativeXmlListModel::setQuery(const QString &query)
if (d->query != query) {
d->query = query;
reload();
+ emit queryChanged();
}
}
@@ -638,6 +647,7 @@ void QDeclarativeXmlListModel::setNamespaceDeclarations(const QString &declarati
if (d->namespaces != declarations) {
d->namespaces = declarations;
reload();
+ emit namespaceDeclarationsChanged();
}
}
@@ -647,11 +657,21 @@ void QDeclarativeXmlListModel::setNamespaceDeclarations(const QString &declarati
This property holds the status of data source loading. It can be one of:
\list
\o Null - no data source has been set
- \o Ready - nthe data source has been loaded
+ \o Ready - the data source has been loaded
\o Loading - the data source is currently being loaded
\o Error - an error occurred while loading the data source
\endlist
+ Note that a change in the status property does not cause anything to happen
+ (although it reflects what has happened to the XmlListModel internally). If you wish
+ to react to the change in status you need to do it yourself, for example in one
+ of the following ways:
+ \list
+ \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: xmlListModel.status = XmlListModel.Ready;}
+ \o Do something inside the onStatusChanged signal handler, e.g. XmlListModel{id: xmlListModel; onStatusChanged: if(xmlListModel.status == XmlListModel.Ready) console.log('Loaded');}
+ \o Bind to the status variable somewhere, e.g. Text{text: if(xmlListModel.status!=XmlListModel.Ready){'Not Loaded';}else{'Loaded';}}
+ \endlist
+
\sa progress
*/
@@ -706,11 +726,27 @@ void QDeclarativeXmlListModel::reload()
if (!d->isComponentComplete)
return;
- d->qmlXmlQuery.abort();
+ QDeclarativeXmlQuery::instance()->abort();
d->queryId = -1;
- if (d->size < 0)
+ int count = d->size;
+ if (count < 0)
+ d->size = 0;
+ bool hasKeys = false;
+ for (int i=0; i<d->roleObjects.count(); i++) {
+ if (d->roleObjects[i]->isKey()) {
+ hasKeys = true;
+ break;
+ }
+ }
+ if (!hasKeys) {
+ d->data.clear();
d->size = 0;
+ if (count > 0) {
+ emit itemsRemoved(0, count);
+ emit countChanged();
+ }
+ }
if (d->src.isEmpty() && d->xml.isEmpty())
return;
@@ -722,7 +758,7 @@ void QDeclarativeXmlListModel::reload()
}
if (!d->xml.isEmpty()) {
- d->queryId = d->qmlXmlQuery.doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects);
+ d->queryId = QDeclarativeXmlQuery::instance()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects);
d->progress = 1.0;
d->status = Ready;
emit progressChanged(d->progress);
@@ -753,7 +789,7 @@ void QDeclarativeXmlListModel::requestFinished()
} else {
d->status = Ready;
QByteArray data = d->reply->readAll();
- d->queryId = d->qmlXmlQuery.doQuery(d->query, d->namespaces, data, &d->roleObjects);
+ d->queryId = QDeclarativeXmlQuery::instance()->doQuery(d->query, d->namespaces, data, &d->roleObjects);
disconnect(d->reply, 0, this, 0);
d->reply->deleteLater();
d->reply = 0;
@@ -779,12 +815,13 @@ void QDeclarativeXmlListModel::queryCompleted(int id, int size)
return;
bool sizeChanged = size != d->size;
d->size = size;
- d->data = d->qmlXmlQuery.modelData();
+ d->data = QDeclarativeXmlQuery::instance()->modelData();
+
+ QList<QDeclarativeXmlListRange> removed = QDeclarativeXmlQuery::instance()->removedItemRanges();
+ QList<QDeclarativeXmlListRange> inserted = QDeclarativeXmlQuery::instance()->insertedItemRanges();
- QList<QDeclarativeXmlListRange> removed = d->qmlXmlQuery.removedItemRanges();
for (int i=0; i<removed.count(); i++)
emit itemsRemoved(removed[i].first, removed[i].second);
- QList<QDeclarativeXmlListRange> inserted = d->qmlXmlQuery.insertedItemRanges();
for (int i=0; i<inserted.count(); i++)
emit itemsInserted(inserted[i].first, inserted[i].second);
diff --git a/src/declarative/util/qdeclarativexmllistmodel_p.h b/src/declarative/util/qdeclarativexmllistmodel_p.h
index 132a53cdf5..23ff7ce081 100644
--- a/src/declarative/util/qdeclarativexmllistmodel_p.h
+++ b/src/declarative/util/qdeclarativexmllistmodel_p.h
@@ -47,7 +47,7 @@
#include <QtCore/qurl.h>
-#include "../3rdparty/qlistmodelinterface_p.h"
+#include <private/qlistmodelinterface_p.h>
QT_BEGIN_HEADER
@@ -68,10 +68,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeXmlListModel : public QListModelInterface
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
- Q_PROPERTY(QUrl source READ source WRITE setSource)
- Q_PROPERTY(QString xml READ xml WRITE setXml)
- Q_PROPERTY(QString query READ query WRITE setQuery)
- Q_PROPERTY(QString namespaceDeclarations READ namespaceDeclarations WRITE setNamespaceDeclarations)
+ Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(QString xml READ xml WRITE setXml NOTIFY xmlChanged)
+ Q_PROPERTY(QString query READ query WRITE setQuery NOTIFY queryChanged)
+ Q_PROPERTY(QString namespaceDeclarations READ namespaceDeclarations WRITE setNamespaceDeclarations NOTIFY namespaceDeclarationsChanged)
Q_PROPERTY(QDeclarativeListProperty<QDeclarativeXmlListModelRole> roles READ roleObjects)
Q_PROPERTY(int count READ count NOTIFY countChanged)
Q_CLASSINFO("DefaultProperty", "roles")
@@ -111,6 +111,10 @@ Q_SIGNALS:
void statusChanged(Status);
void progressChanged(qreal progress);
void countChanged();
+ void sourceChanged();
+ void xmlChanged();
+ void queryChanged();
+ void namespaceDeclarationsChanged();
public Q_SLOTS:
// ### need to use/expose Expiry to guess when to call this?
@@ -132,16 +136,20 @@ private:
class Q_DECLARATIVE_EXPORT QDeclarativeXmlListModelRole : public QObject
{
Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(QString query READ query WRITE setQuery)
- Q_PROPERTY(bool isKey READ isKey WRITE setIsKey)
-
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(QString query READ query WRITE setQuery NOTIFY queryChanged)
+ Q_PROPERTY(bool isKey READ isKey WRITE setIsKey NOTIFY isKeyChanged)
public:
QDeclarativeXmlListModelRole() : m_isKey(false) {}
~QDeclarativeXmlListModelRole() {}
QString name() const { return m_name; }
- void setName(const QString &name) { m_name = name; }
+ void setName(const QString &name) {
+ if (name == m_name)
+ return;
+ m_name = name;
+ emit nameChanged();
+ }
QString query() const { return m_query; }
void setQuery(const QString &query)
@@ -150,16 +158,29 @@ public:
qmlInfo(this) << tr("An XmlRole query must not start with '/'");
return;
}
+ if (m_query == query)
+ return;
m_query = query;
+ emit queryChanged();
}
bool isKey() const { return m_isKey; }
- void setIsKey(bool b) { m_isKey = b; }
+ void setIsKey(bool b) {
+ if (m_isKey == b)
+ return;
+ m_isKey = b;
+ emit isKeyChanged();
+ }
bool isValid() {
return !m_name.isEmpty() && !m_query.isEmpty();
}
+Q_SIGNALS:
+ void nameChanged();
+ void queryChanged();
+ void isKeyChanged();
+
private:
QString m_name;
QString m_query;
diff --git a/src/declarative/util/qnumberformat.cpp b/src/declarative/util/qnumberformat.cpp
deleted file mode 100644
index 81d0b9036a..0000000000
--- a/src/declarative/util/qnumberformat.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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.
-**
-** 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 "qnumberformat_p.h"
-#include <QtCore/qstringlist.h>
-
-QT_BEGIN_NAMESPACE
-
-QNumberFormat::QNumberFormat(QObject *parent) : QObject(parent), _number(0), _type(Decimal),
- _groupingSize(0)
-{
- _locale = QLocale::system();
- _groupingSeparator = _locale.groupSeparator();
- _decimalSeparator = _locale.decimalPoint();
- _currencySymbol = QLatin1Char('$');
-}
-
-QNumberFormat::~QNumberFormat()
-{
-
-}
-
-void QNumberFormat::updateText()
-{
- QTime t;
- t.start();
- static int totalTime;
-
- handleFormat();
-
- totalTime += t.elapsed();
- emit textChanged();
-}
-
-void QNumberFormat::handleFormat()
-{
- // ### is extremely messy
- if (_format.isEmpty()) {
- _text = QString::number(_number, 'f', -1);
- return;
- }
-
- QString inputString;
-
- // ### possible to use the following parsed data in the future
-
- int remainingLength = _format.size();
- int currentIndex = _format.size()-1;
-
- int maxDigits = 0;
- int minDigits = 0;
- int decimalLength = 0;
-
- while (remainingLength > 0) {
- switch(_format.at(currentIndex).unicode()) {
- case ',':
- if (decimalLength && !_groupingSize)
- setGroupingSize(maxDigits - decimalLength);
- else if (!_groupingSize)
- setGroupingSize(maxDigits);
- break;
- case '.':
- if (!decimalLength)
- decimalLength = maxDigits;
- break;
- case '0':
- minDigits++;
- case '#':
- maxDigits++;
- break;
- default:
- break;
- }
- currentIndex--;
- remainingLength--;
- }
-
- // round given the decimal length/precision
- inputString = QString::number(_number, 'f', decimalLength);
-
- QStringList parts = inputString.split(QLatin1Char('.'));
- QStringList formatParts = _format.split(QLatin1Char('.'));
-
- if (formatParts.size() > 2 || parts.size() > 2 )
- return;
-
- QString formatInt = formatParts.at(0);
-
- QString formatDec;
- if (formatParts.size() == 2)
- formatDec = formatParts.at(1);
-
- QString integer = parts.at(0);
-
- QString decimal;
- if (parts.size() == 2)
- decimal = parts.at(1);
-
- QString outputDecimal = formatDecimal(formatDec, decimal);
- QString outputInteger = formatInteger(formatInt, integer);
-
- // insert separators
- if (_groupingSize) {
- unsigned int count = 0;
- for (int i = outputInteger.size()-1; i > 0; i--) {
- if (outputInteger.at(i).digitValue() >= 0) {
- if (count == _groupingSize - 1) {
- count = 0;
- outputInteger.insert(i, _groupingSeparator);
- }
- else
- count++;
- }
- }
- }
- if (!outputDecimal.isEmpty())
- _text = outputInteger + _decimalSeparator + outputDecimal;
- else
- _text = outputInteger;
-}
-
-QString QNumberFormat::formatInteger(const QString &formatInt, const QString &integer)
-{
- if (formatInt.isEmpty() || integer.isEmpty())
- return QString();
-
- QString outputInteger;
- int formatIndex = formatInt.size()-1;
-
- //easier for carry?
- for (int index= integer.size()-1; index >= 0; index--) {
- if (formatIndex < 0) {
- outputInteger.push_front(integer.at(index));
- }
- else {
- switch(formatInt.at(formatIndex).unicode()) {
- case '0':
- if (index > integer.size()-1) {
- outputInteger.push_front(QLatin1Char('0'));
- break;
- }
- case '#':
- outputInteger.push_front(integer.at(index));
- break;
- case ',':
- index++;
- break;
- default:
- outputInteger.push_front(formatInt.at(formatIndex));
- index++;
- break;
- }
- formatIndex--;
- }
- }
- while (formatIndex >= 0) {
- if (formatInt.at(formatIndex).unicode() != '#' && formatInt.at(formatIndex).unicode() != ',')
- outputInteger.push_front(formatInt.at(formatIndex));
- formatIndex--;
- }
- return outputInteger;
-}
-
-QString QNumberFormat::formatDecimal(const QString &formatDec, const QString &decimal)
-{
- QString outputDecimal;
-
- // up to max 6 decimal places
- for (int index=formatDec.size()-1; index >= 0; index--) {
- switch(formatDec.at(index).unicode()) {
- case '0':
- outputDecimal.push_front(decimal.at(index));
- break;
- case '#':
- if (decimal.at(index) != QLatin1Char('0') || outputDecimal.size() > 0)
- outputDecimal.push_front(decimal.at(index));
- break;
- default:
- outputDecimal.push_front(formatDec.at(index));
- break;
- }
- }
- return outputDecimal;
-}
-
-QT_END_NAMESPACE
diff --git a/src/declarative/util/qnumberformat_p.h b/src/declarative/util/qnumberformat_p.h
deleted file mode 100644
index ced4442bad..0000000000
--- a/src/declarative/util/qnumberformat_p.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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.
-**
-** 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 NUMBERFORMAT_H
-#define NUMBERFORMAT_H
-
-#include <qdeclarative.h>
-
-#include <QtCore/QLocale>
-#include <QtCore/QTime>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-// TODO
-// be able to set Locale, instead of default system for dynamic formatting
-// add currency support
-// add additional syntax, extend to format scientific, percentiles, significant digits etc
-
-
-class QNumberFormat : public QObject
-{
- Q_OBJECT
- Q_ENUMS(NumberType)
-public:
- QNumberFormat(QObject *parent=0);
- ~QNumberFormat();
-
- enum NumberType {
- Percent,
- Scientific,
- Currency,
- Decimal
- };
-
- //external property, only visible
- Q_PROPERTY(QString text READ text NOTIFY textChanged)
-
- //mutatable properties to modify the output (text)
- Q_PROPERTY(qreal number READ number WRITE setNumber)
- Q_PROPERTY(QString format READ format WRITE setFormat)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale)
-
- //Format specific settings
- Q_PROPERTY(unsigned short groupingSeparator READ groupingSeparator WRITE setGroupingSeparator)
- Q_PROPERTY(unsigned short decimalSeperator READ decimalSeparator WRITE setDecimalSeparator)
- Q_PROPERTY(unsigned int groupingSize READ groupingSize WRITE setGroupingSize)
- Q_PROPERTY(unsigned short currencySymbol READ currencySymbol WRITE setCurrencySymbol)
-
-
- QString text() const { return _text; }
-
- qreal number() const { return _number; }
- void setNumber(qreal n) {
- if (_number == n)
- return;
- _number = n;
- updateText();
- }
-
- QString format() const { return _format; }
- void setFormat(const QString &format) {
- if (format.isEmpty())
- _format = QString::null;
- else if (_format == format)
- return;
-
- _format = format;
- updateText();
- }
-
- QLocale locale() const { return _locale; }
- void setLocale(const QLocale &locale) { _locale = locale; updateText(); }
-
- //Do we deal with unicode standard? or create our own
- // ### since this is the backend for the number conversions, we will use the unicode
- // the front-end will handle the QChar/QString -> short int
-
- unsigned short groupingSeparator() { return _groupingSeparator.unicode(); }
- void setGroupingSeparator(unsigned short unicodeSymbol)
- {
- _groupingSeparator = QChar(unicodeSymbol);
- }
-
- unsigned short decimalSeparator() { return _decimalSeparator.unicode(); }
- void setDecimalSeparator(unsigned short unicodeSymbol)
- {
- _decimalSeparator = QChar(unicodeSymbol);
- }
-
- unsigned short currencySymbol() { return _currencySymbol.unicode(); }
- void setCurrencySymbol(unsigned short unicodeSymbol)
- {
- _currencySymbol = QChar(unicodeSymbol);
- }
-
- unsigned int groupingSize() { return _groupingSize; }
- void setGroupingSize(unsigned int size)
- {
- _groupingSize = size;
- }
-
-Q_SIGNALS:
- void textChanged();
-
-private:
- void updateText();
- void handleFormat();
- QString formatInteger(const QString &formatInt, const QString &integer);
- QString formatDecimal(const QString &formatDec, const QString &decimal);
-
- qreal _number;
- NumberType _type;
- QChar _groupingSeparator;
- QChar _decimalSeparator;
- QChar _currencySymbol;
- unsigned int _groupingSize;
-
- QLocale _locale;
- QString _format;
-
- // only hooked member at the moment
- QString _text;
-
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QNumberFormat)
-
-QT_END_HEADER
-
-#endif
diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri
index 198e9e5e43..26edecc4f7 100644
--- a/src/declarative/util/util.pri
+++ b/src/declarative/util/util.pri
@@ -25,9 +25,6 @@ SOURCES += \
$$PWD/qdeclarativebind.cpp \
$$PWD/qdeclarativepropertymap.cpp \
$$PWD/qdeclarativepixmapcache.cpp \
- $$PWD/qnumberformat.cpp \
- $$PWD/qdeclarativenumberformatter.cpp \
- $$PWD/qdeclarativedatetimeformatter.cpp \
$$PWD/qdeclarativebehavior.cpp \
$$PWD/qdeclarativefontloader.cpp \
$$PWD/qdeclarativestyledtext.cpp
@@ -60,9 +57,6 @@ HEADERS += \
$$PWD/qdeclarativebind_p.h \
$$PWD/qdeclarativepropertymap.h \
$$PWD/qdeclarativepixmapcache_p.h \
- $$PWD/qnumberformat_p.h \
- $$PWD/qdeclarativenumberformatter_p.h \
- $$PWD/qdeclarativedatetimeformatter_p.h \
$$PWD/qdeclarativebehavior_p.h \
$$PWD/qdeclarativefontloader_p.h \
$$PWD/qdeclarativestyledtext_p.h
diff --git a/src/gui/dialogs/qabstractprintdialog.cpp b/src/gui/dialogs/qabstractprintdialog.cpp
index 4523433857..25d9ebbdb3 100644
--- a/src/gui/dialogs/qabstractprintdialog.cpp
+++ b/src/gui/dialogs/qabstractprintdialog.cpp
@@ -76,6 +76,7 @@ class QPrintDialogPrivate : public QAbstractPrintDialogPrivate
\value AllPages All pages should be printed.
\value Selection Only the selection should be printed.
\value PageRange The specified page range should be printed.
+ \value CurrentPage Only the currently visible page should be printed.
\sa QPrinter::PrintRange
*/
@@ -89,7 +90,9 @@ class QPrintDialogPrivate : public QAbstractPrintDialogPrivate
\value PrintToFile The print to file option is enabled.
\value PrintSelection The print selection option is enabled.
\value PrintPageRange The page range selection option is enabled.
- \value PrintCollateCopies
+ \value PrintShowPageSize Show the page size + margins page only if this is enabled.
+ \value PrintCollateCopies The collate copies option is enabled
+ \value PrintCurrentPage The print current page option is enabled
This value is obsolete and does nothing since Qt 4.5:
@@ -97,8 +100,6 @@ class QPrintDialogPrivate : public QAbstractPrintDialogPrivate
would create a sheet by default the dialog was given a parent.
This is no longer supported in Qt 4.5. If you want to use sheets, use
QPrintDialog::open() instead.
-
- \value PrintShowPageSize Show the page size + margins page only if this is enabled.
*/
/*!
diff --git a/src/gui/dialogs/qabstractprintdialog.h b/src/gui/dialogs/qabstractprintdialog.h
index 4d867f6809..82e3df8103 100644
--- a/src/gui/dialogs/qabstractprintdialog.h
+++ b/src/gui/dialogs/qabstractprintdialog.h
@@ -65,7 +65,8 @@ public:
enum PrintRange {
AllPages,
Selection,
- PageRange
+ PageRange,
+ CurrentPage
};
enum PrintDialogOption {
@@ -75,7 +76,8 @@ public:
PrintPageRange = 0x0004,
PrintShowPageSize = 0x0008,
PrintCollateCopies = 0x0010,
- DontUseSheet = 0x0020
+ DontUseSheet = 0x0020,
+ PrintCurrentPage = 0x0040
};
Q_DECLARE_FLAGS(PrintDialogOptions, PrintDialogOption)
diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp
index fb0dba4e61..2d75913458 100644
--- a/src/gui/dialogs/qdialog.cpp
+++ b/src/gui/dialogs/qdialog.cpp
@@ -808,11 +808,11 @@ void QDialog::setVisible(bool visible)
void QDialog::showEvent(QShowEvent *event)
{
if (!event->spontaneous() && !testAttribute(Qt::WA_Moved)) {
- Qt::WindowStates state = windowState();
+ Qt::WindowStates state = windowState();
adjustPosition(parentWidget());
setAttribute(Qt::WA_Moved, false); // not really an explicit position
- if (state != windowState())
- setWindowState(state);
+ if (state != windowState())
+ setWindowState(state);
}
}
diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm
index 67daced524..14a5f15709 100644
--- a/src/gui/dialogs/qfiledialog_mac.mm
+++ b/src/gui/dialogs/qfiledialog_mac.mm
@@ -295,10 +295,14 @@ QT_USE_NAMESPACE
if (!mQDirFilterEntryList->contains(info.fileName()))
return NO;
- // Always accept directories regardless of their names:
+ // Always accept directories regardless of their names (unless it is a bundle):
BOOL isDir;
- if ([[NSFileManager defaultManager] fileExistsAtPath:filename isDirectory:&isDir] && isDir)
- return YES;
+ if ([[NSFileManager defaultManager] fileExistsAtPath:filename isDirectory:&isDir] && isDir) {
+ if ([mSavePanel treatsFilePackagesAsDirectories] == NO) {
+ if ([[NSWorkspace sharedWorkspace] isFilePackageAtPath:filename] == NO)
+ return YES;
+ }
+ }
// No filter means accept everything
if (mSelectedNameFilter->isEmpty())
@@ -725,6 +729,7 @@ Boolean QFileDialogPrivate::qt_mac_filedialog_filter_proc(AEDesc *theItem, void
NavFileOrFolderInfo *theInfo = static_cast<NavFileOrFolderInfo *>(info);
QString file;
+ QString path;
const QtMacFilterName &fn
= fileDialogPrivate->filterInfo.filters.at(fileDialogPrivate->filterInfo.currentSelection);
if (theItem->descriptorType == typeFSRef) {
@@ -732,10 +737,12 @@ Boolean QFileDialogPrivate::qt_mac_filedialog_filter_proc(AEDesc *theItem, void
AEGetDescData(theItem, &ref, sizeof(ref));
UInt8 str_buffer[1024];
FSRefMakePath(&ref, str_buffer, 1024);
- file = QString::fromUtf8(reinterpret_cast<const char *>(str_buffer));
- int slsh = file.lastIndexOf(QLatin1Char('/'));
+ path = QString::fromUtf8(reinterpret_cast<const char *>(str_buffer));
+ int slsh = path.lastIndexOf(QLatin1Char('/'));
if (slsh != -1)
- file = file.right(file.length() - slsh - 1);
+ file = path.right(path.length() - slsh - 1);
+ else
+ file = path;
}
QStringList reg = fn.regexp.split(QLatin1String(";"));
for (QStringList::const_iterator it = reg.constBegin(); it != reg.constEnd(); ++it) {
@@ -747,7 +754,13 @@ Boolean QFileDialogPrivate::qt_mac_filedialog_filter_proc(AEDesc *theItem, void
if (rg.exactMatch(file))
return true;
}
- return (theInfo->isFolder && !file.endsWith(QLatin1String(".app")));
+
+ if (theInfo->isFolder) {
+ if ([[NSWorkspace sharedWorkspace] isFilePackageAtPath:qt_mac_QStringToNSString(path)])
+ return false;
+ return true;
+ }
+ return false;
}
void QFileDialogPrivate::qt_mac_filedialog_event_proc(const NavEventCallbackMessage msg,
diff --git a/src/gui/dialogs/qfontdialog.cpp b/src/gui/dialogs/qfontdialog.cpp
index a4bf15dff2..b159fa79a3 100644
--- a/src/gui/dialogs/qfontdialog.cpp
+++ b/src/gui/dialogs/qfontdialog.cpp
@@ -174,6 +174,11 @@ void QFontDialogPrivate::init()
{
Q_Q(QFontDialog);
+#ifdef Q_WS_MAC
+ nativeDialogInUse = false;
+ delegate = 0;
+#endif
+
q->setSizeGripEnabled(true);
q->setWindowTitle(QFontDialog::tr("Select Font"));
@@ -329,10 +334,6 @@ void QFontDialogPrivate::init()
familyList->setFocus();
retranslateStrings();
-
-#ifdef Q_WS_MAC
- delegate = 0;
-#endif
}
/*!
@@ -345,8 +346,7 @@ QFontDialog::~QFontDialog()
#ifdef Q_WS_MAC
Q_D(QFontDialog);
if (d->delegate) {
- QFontDialogPrivate::closeCocoaFontPanel(d->delegate);
- QFontDialogPrivate::sharedFontPanelAvailable = true;
+ d->closeCocoaFontPanel();
return;
}
#endif
@@ -428,14 +428,6 @@ QFont QFontDialog::getFont(bool *ok, QWidget *parent)
QFont QFontDialogPrivate::getFont(bool *ok, const QFont &initial, QWidget *parent,
const QString &title, QFontDialog::FontDialogOptions options)
{
-#ifdef Q_WS_MAC
- if (!(options & QFontDialog::DontUseNativeDialog)
- && QFontDialogPrivate::sharedFontPanelAvailable) {
- return QFontDialogPrivate::execCocoaFontPanel(ok, initial, parent,
- title.isEmpty() ? QFontDialog::tr("Select Font") : title, options);
- }
-#endif
-
QFontDialog dlg(parent);
dlg.setOptions(options);
dlg.setCurrentFont(initial);
@@ -988,13 +980,10 @@ void QFontDialog::open(QObject *receiver, const char *member)
*/
void QFontDialog::setVisible(bool visible)
{
- Q_D(QFontDialog);
- if (visible) {
- if (testAttribute(Qt::WA_WState_ExplicitShowHide) && !testAttribute(Qt::WA_WState_Hidden))
- return;
- } else if (testAttribute(Qt::WA_WState_ExplicitShowHide) && testAttribute(Qt::WA_WState_Hidden))
+ if (testAttribute(Qt::WA_WState_ExplicitShowHide) && testAttribute(Qt::WA_WState_Hidden) != visible)
return;
#ifdef Q_WS_MAC
+ Q_D(QFontDialog);
if (d->canBeNativeDialog()){
if (d->setVisible_sys(visible)){
d->nativeDialogInUse = true;
diff --git a/src/gui/dialogs/qfontdialog_mac.mm b/src/gui/dialogs/qfontdialog_mac.mm
index 67d32b8daf..919790b733 100644
--- a/src/gui/dialogs/qfontdialog_mac.mm
+++ b/src/gui/dialogs/qfontdialog_mac.mm
@@ -58,6 +58,14 @@
typedef float CGFloat; // Should only not be defined on 32-bit platforms
#endif
+QT_BEGIN_NAMESPACE
+
+extern void macStartInterceptNSPanelCtor();
+extern void macStopInterceptNSPanelCtor();
+extern NSButton *macCreateButton(const char *text, NSView *superview);
+extern bool qt_mac_is_macsheet(const QWidget *w); // qwidget_mac.mm
+
+QT_END_NAMESPACE
QT_USE_NAMESPACE
// should a priori be kept in sync with qcolordialog_mac.mm
@@ -95,7 +103,8 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
BOOL mPanelHackedWithButtons;
CGFloat mDialogExtraWidth;
CGFloat mDialogExtraHeight;
- NSModalSession mModalSession;
+ int mReturnCode;
+ BOOL mAppModal;
}
- (id)initWithFontPanel:(NSFontPanel *)panel
stolenContentView:(NSView *)stolenContentView
@@ -104,9 +113,11 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
priv:(QFontDialogPrivate *)priv
extraWidth:(CGFloat)extraWidth
extraHeight:(CGFloat)extraHeight;
+- (void)showModelessPanel;
+- (void)showWindowModalSheet:(QWidget *)docWidget;
+- (void)runApplicationModalPanel;
- (void)changeFont:(id)sender;
- (void)changeAttributes:(id)sender;
-- (void)setModalSession:(NSModalSession)session;
- (BOOL)windowShouldClose:(id)window;
- (NSSize)windowWillResize:(NSWindow *)window toSize:(NSSize)proposedFrameSize;
- (void)relayout;
@@ -163,7 +174,8 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
mPanelHackedWithButtons = (okButton != 0);
mDialogExtraWidth = extraWidth;
mDialogExtraHeight = extraHeight;
- mModalSession = 0;
+ mReturnCode = -1;
+ mAppModal = false;
if (mPanelHackedWithButtons) {
[self relayout];
@@ -174,6 +186,20 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
[cancelButton setAction:@selector(onCancelClicked)];
[cancelButton setTarget:self];
}
+
+#ifdef QT_MAC_USE_COCOA
+ // Stack the native dialog in front of its parent, if any:
+ QFontDialog *q = mPriv->fontDialog();
+ if (!qt_mac_is_macsheet(q)) {
+ if (QWidget *parent = q->parentWidget()) {
+ if (parent->isWindow()) {
+ [qt_mac_window_for(parent)
+ addChildWindow:[mStolenContentView window] ordered:NSWindowAbove];
+ }
+ }
+ }
+#endif
+
mQtFont = new QFont();
return self;
}
@@ -184,6 +210,50 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
[super dealloc];
}
+- (void)showModelessPanel
+{
+ mAppModal = false;
+ NSWindow *ourPanel = [mStolenContentView window];
+ [ourPanel makeKeyAndOrderFront:self];
+}
+
+- (void)runApplicationModalPanel
+{
+ QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active);
+ mAppModal = true;
+ NSWindow *ourPanel = [mStolenContentView window];
+ [NSApp runModalForWindow:ourPanel];
+ QAbstractEventDispatcher::instance()->interrupt();
+
+ if (mReturnCode == NSOKButton)
+ mPriv->fontDialog()->accept();
+ else
+ mPriv->fontDialog()->reject();
+}
+
+- (void)showWindowModalSheet:(QWidget *)docWidget
+{
+#ifdef QT_MAC_USE_COCOA
+ NSWindow *window = qt_mac_window_for(docWidget);
+#else
+ WindowRef hiwindowRef = qt_mac_window_for(docWidget);
+ NSWindow *window = [[NSWindow alloc] initWithWindowRef:hiwindowRef];
+ CFRetain(hiwindowRef);
+#endif
+
+ mAppModal = false;
+ NSWindow *ourPanel = [mStolenContentView window];
+ [NSApp beginSheet:ourPanel
+ modalForWindow:window
+ modalDelegate:0
+ didEndSelector:0
+ contextInfo:0 ];
+
+#ifndef QT_MAC_USE_COCOA
+ CFRelease(hiwindowRef);
+#endif
+}
+
- (void)changeFont:(id)sender
{
NSFont *dummyFont = [NSFont userFontOfSize:12.0];
@@ -216,12 +286,6 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
mPriv->updateSampleFont(*mQtFont);
}
-- (void)setModalSession:(NSModalSession)session
-{
- Q_ASSERT(!mModalSession);
- mModalSession = session;
-}
-
- (BOOL)windowShouldClose:(id)window
{
Q_UNUSED(window);
@@ -282,9 +346,8 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
NSSize cancelSizeHint = [mCancelButton frame].size;
const CGFloat ButtonWidth = qMin(qMax(ButtonMinWidth,
- qMax(okSizeHint.width, cancelSizeHint.width)),
- CGFloat((frameSize.width - 2.0 * ButtonSideMargin
- - ButtonSpacing) * 0.5));
+ qMax(okSizeHint.width, cancelSizeHint.width)),
+ CGFloat((frameSize.width - 2.0 * ButtonSideMargin - ButtonSpacing) * 0.5));
const CGFloat ButtonHeight = qMax(ButtonMinHeight,
qMax(okSizeHint.height, cancelSizeHint.height));
@@ -317,14 +380,12 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[self setQtFont:qfontForCocoaFont([fontManager convertFont:[fontManager selectedFont]],
*mQtFont)];
- [[mStolenContentView window] close];
[self finishOffWithCode:NSOKButton];
}
- (void)onCancelClicked
{
Q_ASSERT(mPanelHackedWithButtons);
- [[mStolenContentView window] close];
[self finishOffWithCode:NSCancelButton];
}
@@ -368,20 +429,26 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
- (void)finishOffWithCode:(NSInteger)code
{
- if (mPriv) {
- if (mModalSession) {
- [NSApp endModalSession:mModalSession];
- mModalSession = 0;
+#ifdef QT_MAC_USE_COCOA
+ QFontDialog *q = mPriv->fontDialog();
+ if (QWidget *parent = q->parentWidget()) {
+ if (parent->isWindow()) {
+ [qt_mac_window_for(parent) removeChildWindow:[mStolenContentView window]];
}
- // Hack alert!
- // Since this code path was never intended to be followed when starting from exec
- // we need to force the dialog to communicate the new font, otherwise the signal
- // won't get emitted.
- if(code == NSOKButton)
- mPriv->sampleEdit->setFont([self qtFont]);
- mPriv->done((code == NSOKButton) ? QDialog::Accepted : QDialog::Rejected);
- } else {
+ }
+#endif
+
+ if(code == NSOKButton)
+ mPriv->sampleEdit->setFont([self qtFont]);
+
+ if (mAppModal) {
+ mReturnCode = code;
[NSApp stopModalWithCode:code];
+ } else {
+ if (code == NSOKButton)
+ mPriv->fontDialog()->accept();
+ else
+ mPriv->fontDialog()->reject();
}
}
@@ -408,206 +475,16 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
QT_BEGIN_NAMESPACE
-extern void macStartInterceptNSPanelCtor();
-extern void macStopInterceptNSPanelCtor();
-extern NSButton *macCreateButton(const char *text, NSView *superview);
-
-void *QFontDialogPrivate::openCocoaFontPanel(const QFont &initial,
- QWidget *parent, const QString &title, QFontDialog::FontDialogOptions options,
- QFontDialogPrivate *priv)
-{
- Q_UNUSED(parent); // we would use the parent if only NSFontPanel could be a sheet
- QMacCocoaAutoReleasePool pool;
-
- /*
- The standard Cocoa font panel has no OK or Cancel button and
- is created as a utility window. For strange reasons (which seem
- to stem from the fact that the font panel is based on a NIB
- file), the approach we use for the color panel doesn't work for
- the font panel (and, inversely, the approach we use here doesn't
- quite work for color panel, and crashed last time I tried). So
- instead, we take the following steps:
-
- 1. Constructs a plain NSPanel that looks the way we want it
- to look. Specifically, if the NoButtons option is off, we
- construct a panel without the NSUtilityWindowMask flag
- and with buttons (OK and Cancel).
-
- 2. Steal the content view from the shared NSFontPanel and
- put it inside our new NSPanel's content view, together
- with the OK and Cancel buttons.
-
- 3. Lay out the original content view and the buttons when
- the font panel is shown and whenever it is resized.
-
- 4. Clean up after ourselves.
-
- PS. Some customization is also done in QCocoaApplication
- validModesForFontPanel:.
- */
-
- Qt::WindowModality modality = Qt::ApplicationModal;
- if (priv)
- modality = priv->fontDialog()->windowModality();
-
- bool needButtons = !(options & QFontDialog::NoButtons);
- // don't need our own panel if the title bar isn't visible anyway (in a sheet)
- bool needOwnPanel = (needButtons && modality != Qt::WindowModal);
-
- bool sharedFontPanelExisted = [NSFontPanel sharedFontPanelExists];
- NSFontPanel *sharedFontPanel = [NSFontPanel sharedFontPanel];
- [sharedFontPanel setHidesOnDeactivate:false];
-
- // hack to ensure that QCocoaApplication's validModesForFontPanel:
- // implementation is honored
- if (!sharedFontPanelExisted && needOwnPanel) {
- [sharedFontPanel makeKeyAndOrderFront:sharedFontPanel];
- [sharedFontPanel close];
- }
-
- NSPanel *ourPanel = 0;
- NSView *stolenContentView = 0;
- NSButton *okButton = 0;
- NSButton *cancelButton = 0;
-
- CGFloat dialogExtraWidth = 0.0;
- CGFloat dialogExtraHeight = 0.0;
-
- if (!needOwnPanel) {
- // we can reuse the NSFontPanel unchanged
- ourPanel = sharedFontPanel;
- } else {
- // compute dialogExtra{Width,Height}
- dialogExtraWidth = 2.0 * DialogSideMargin;
- dialogExtraHeight = DialogTopMargin + ButtonTopMargin + ButtonMinHeight
- + ButtonBottomMargin;
-
- // compute initial contents rectangle
- NSRect contentRect = [sharedFontPanel contentRectForFrameRect:[sharedFontPanel frame]];
- contentRect.size.width += dialogExtraWidth;
- contentRect.size.height += dialogExtraHeight;
-
- // create the new panel
- ourPanel = [[NSPanel alloc] initWithContentRect:contentRect
- styleMask:StyleMask
- backing:NSBackingStoreBuffered
- defer:YES];
- [ourPanel setReleasedWhenClosed:YES];
- }
-
- stolenContentView = [sharedFontPanel contentView];
-
- if (needButtons) {
- // steal the font panel's contents view
- [stolenContentView retain];
- [sharedFontPanel setContentView:0];
-
- // create a new content view and add the stolen one as a subview
- NSRect frameRect = { { 0.0, 0.0 }, { 0.0, 0.0 } };
- NSView *ourContentView = [[NSView alloc] initWithFrame:frameRect];
- [ourContentView addSubview:stolenContentView];
-
- // create OK and Cancel buttons and add these as subviews
- okButton = macCreateButton("&OK", ourContentView);
- cancelButton = macCreateButton("Cancel", ourContentView);
-
- [ourPanel setContentView:ourContentView];
- [ourPanel setDefaultButtonCell:[okButton cell]];
- }
-
- // create a delegate and set it
- QCocoaFontPanelDelegate *delegate =
- [[QCocoaFontPanelDelegate alloc] initWithFontPanel:sharedFontPanel
- stolenContentView:stolenContentView
- okButton:okButton
- cancelButton:cancelButton
- priv:priv
- extraWidth:dialogExtraWidth
- extraHeight:dialogExtraHeight];
- [ourPanel setDelegate:delegate];
- [[NSFontManager sharedFontManager] setDelegate:delegate];
-#ifdef QT_MAC_USE_COCOA
- [[NSFontManager sharedFontManager] setTarget:delegate];
-#endif
- setFont(delegate, initial);
-
- // hack to get correct initial layout
- NSRect frameRect = [ourPanel frame];
- frameRect.size.width += 1.0;
- [ourPanel setFrame:frameRect display:NO];
- frameRect.size.width -= 1.0;
- frameRect.size = [delegate windowWillResize:ourPanel toSize:frameRect.size];
- [ourPanel setFrame:frameRect display:NO];
- [ourPanel center];
-
- [ourPanel setTitle:(NSString*)(CFStringRef)QCFString(title)];
-
- if (priv) {
- switch (modality) {
- case Qt::WindowModal:
- if (parent) {
-#ifndef QT_MAC_USE_COCOA
- WindowRef hiwindowRef = qt_mac_window_for(parent);
- NSWindow *window =
- [[NSWindow alloc] initWithWindowRef:hiwindowRef];
- // Cocoa docs say I should retain the Carbon ref.
- CFRetain(hiwindowRef);
-#else
- NSWindow *window = qt_mac_window_for(parent);
-#endif
- [NSApp beginSheet:ourPanel
- modalForWindow:window
- modalDelegate:0
- didEndSelector:0
- contextInfo:0];
-#ifndef QT_MAC_USE_COCOA
- [window release];
-#endif
- break;
- }
- // fallthrough
- case Qt::ApplicationModal:
- [delegate setModalSession:[NSApp beginModalSessionForWindow:ourPanel]];
- break;
- default:
- [ourPanel makeKeyAndOrderFront:ourPanel];
- }
- }
- return delegate;
-}
-
-void QFontDialogPrivate::closeCocoaFontPanel(void *delegate)
+void QFontDialogPrivate::closeCocoaFontPanel()
{
QMacCocoaAutoReleasePool pool;
QCocoaFontPanelDelegate *theDelegate = static_cast<QCocoaFontPanelDelegate *>(delegate);
NSWindow *ourPanel = [theDelegate actualPanel];
[ourPanel close];
[theDelegate cleanUpAfterMyself];
- [theDelegate autorelease];
-}
-
-QFont QFontDialogPrivate::execCocoaFontPanel(bool *ok, const QFont &initial,
- QWidget *parent, const QString &title, QFontDialog::FontDialogOptions options)
-{
- QMacCocoaAutoReleasePool pool;
- QCocoaFontPanelDelegate *delegate =
- static_cast<QCocoaFontPanelDelegate *>(
- openCocoaFontPanel(initial, parent, title, options));
- NSWindow *ourPanel = [delegate actualPanel];
- [ourPanel retain];
- int rval = [NSApp runModalForWindow:ourPanel];
- QFont font([delegate qtFont]);
- [ourPanel release];
- [delegate cleanUpAfterMyself];
- [delegate release];
- bool isOk = ((options & QFontDialog::NoButtons) || rval == NSOKButton);
- if (ok)
- *ok = isOk;
- if (isOk) {
- return font;
- } else {
- return initial;
- }
+ [theDelegate release];
+ this->delegate = 0;
+ sharedFontPanelAvailable = true;
}
void QFontDialogPrivate::setFont(void *delegate, const QFont &font)
@@ -645,10 +522,13 @@ void QFontDialogPrivate::setFont(void *delegate, const QFont &font)
[static_cast<QCocoaFontPanelDelegate *>(delegate) setQtFont:font];
}
-void *QFontDialogPrivate::_q_constructNativePanel()
+void QFontDialogPrivate::createNSFontPanelDelegate()
{
- QMacCocoaAutoReleasePool pool;
+ if (delegate)
+ return;
+ sharedFontPanelAvailable = false;
+ QMacCocoaAutoReleasePool pool;
bool sharedFontPanelExisted = [NSFontPanel sharedFontPanelExists];
NSFontPanel *sharedFontPanel = [NSFontPanel sharedFontPanel];
[sharedFontPanel setHidesOnDeactivate:false];
@@ -670,8 +550,7 @@ void *QFontDialogPrivate::_q_constructNativePanel()
// compute dialogExtra{Width,Height}
dialogExtraWidth = 2.0 * DialogSideMargin;
- dialogExtraHeight = DialogTopMargin + ButtonTopMargin + ButtonMinHeight
- + ButtonBottomMargin;
+ dialogExtraHeight = DialogTopMargin + ButtonTopMargin + ButtonMinHeight + ButtonBottomMargin;
// compute initial contents rectangle
NSRect contentRect = [sharedFontPanel contentRectForFrameRect:[sharedFontPanel frame]];
@@ -684,7 +563,6 @@ void *QFontDialogPrivate::_q_constructNativePanel()
backing:NSBackingStoreBuffered
defer:YES];
[ourPanel setReleasedWhenClosed:YES];
-
stolenContentView = [sharedFontPanel contentView];
// steal the font panel's contents view
@@ -704,21 +582,23 @@ void *QFontDialogPrivate::_q_constructNativePanel()
[ourPanel setContentView:ourContentView];
[ourPanel setDefaultButtonCell:[okButton cell]];
}
- // create a delegate and set it
- QCocoaFontPanelDelegate *delegate =
- [[QCocoaFontPanelDelegate alloc] initWithFontPanel:sharedFontPanel
+
+ // create the delegate and set it
+ QCocoaFontPanelDelegate *del = [[QCocoaFontPanelDelegate alloc] initWithFontPanel:sharedFontPanel
stolenContentView:stolenContentView
okButton:okButton
cancelButton:cancelButton
priv:this
extraWidth:dialogExtraWidth
extraHeight:dialogExtraHeight];
- [ourPanel setDelegate:delegate];
- [[NSFontManager sharedFontManager] setDelegate:delegate];
+ delegate = del;
+ [ourPanel setDelegate:del];
+
+ [[NSFontManager sharedFontManager] setDelegate:del];
#ifdef QT_MAC_USE_COCOA
- [[NSFontManager sharedFontManager] setTarget:delegate];
+ [[NSFontManager sharedFontManager] setTarget:del];
#endif
- setFont(delegate, QApplication::font());
+ setFont(del, q_func()->currentFont());
{
// hack to get correct initial layout
@@ -726,15 +606,12 @@ void *QFontDialogPrivate::_q_constructNativePanel()
frameRect.size.width += 1.0;
[ourPanel setFrame:frameRect display:NO];
frameRect.size.width -= 1.0;
- frameRect.size = [delegate windowWillResize:ourPanel toSize:frameRect.size];
+ frameRect.size = [del windowWillResize:ourPanel toSize:frameRect.size];
[ourPanel setFrame:frameRect display:NO];
[ourPanel center];
}
NSString *title = @"Select font";
[ourPanel setTitle:title];
-
- [delegate setModalSession:[NSApp beginModalSessionForWindow:ourPanel]];
- return delegate;
}
void QFontDialogPrivate::mac_nativeDialogModalHelp()
@@ -759,29 +636,47 @@ void QFontDialogPrivate::mac_nativeDialogModalHelp()
// and "adding" the buttons.
void QFontDialogPrivate::_q_macRunNativeAppModalPanel()
{
- QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active);
+ createNSFontPanelDelegate();
+ QCocoaFontPanelDelegate *del = static_cast<QCocoaFontPanelDelegate *>(delegate);
+ [del runApplicationModalPanel];
+}
+
+bool QFontDialogPrivate::showCocoaFontPanel()
+{
+ if (!sharedFontPanelAvailable)
+ return false;
+
Q_Q(QFontDialog);
- QCocoaFontPanelDelegate *delegate = (QCocoaFontPanelDelegate *)_q_constructNativePanel();
- NSWindow *ourPanel = [delegate actualPanel];
- [ourPanel retain];
- int rval = [NSApp runModalForWindow:ourPanel];
- QAbstractEventDispatcher::instance()->interrupt();
- [ourPanel release];
- [delegate cleanUpAfterMyself];
- [delegate release];
- bool isOk = (rval == NSOKButton);
- if(isOk)
- rescode = QDialog::Accepted;
+ QMacCocoaAutoReleasePool pool;
+ createNSFontPanelDelegate();
+ QCocoaFontPanelDelegate *del = static_cast<QCocoaFontPanelDelegate *>(delegate);
+ if (qt_mac_is_macsheet(q))
+ [del showWindowModalSheet:q->parentWidget()];
else
- rescode = QDialog::Rejected;
+ [del showModelessPanel];
+ return true;
}
+bool QFontDialogPrivate::hideCocoaFontPanel()
+{
+ if (!delegate){
+ // Nothing to do. We return false to leave the question
+ // open regarding whether or not to go native:
+ return false;
+ } else {
+ closeCocoaFontPanel();
+ // Even when we hide it, we are still using a
+ // native dialog, so return true:
+ return true;
+ }
+}
bool QFontDialogPrivate::setVisible_sys(bool visible)
{
Q_Q(QFontDialog);
if (!visible == q->isHidden())
return false;
- return visible;
+
+ return visible ? showCocoaFontPanel() : hideCocoaFontPanel();
}
QT_END_NAMESPACE
diff --git a/src/gui/dialogs/qfontdialog_p.h b/src/gui/dialogs/qfontdialog_p.h
index 7654a80f7c..8676be360f 100644
--- a/src/gui/dialogs/qfontdialog_p.h
+++ b/src/gui/dialogs/qfontdialog_p.h
@@ -139,25 +139,21 @@ public:
QByteArray memberToDisconnectOnClose;
#ifdef Q_WS_MAC
- static void *openCocoaFontPanel(const QFont &initial,
- QWidget *parent, const QString &title,
- QFontDialog::FontDialogOptions options,
- QFontDialogPrivate *priv = 0);
- static void closeCocoaFontPanel(void *delegate);
- static QFont execCocoaFontPanel(bool *ok, const QFont &initial, QWidget *parent,
- const QString &title, QFontDialog::FontDialogOptions options);
static void setFont(void *delegate, const QFont &font);
inline void done(int result) { q_func()->done(result); }
inline QFontDialog *fontDialog() { return q_func(); }
void *delegate;
+ void closeCocoaFontPanel();
bool nativeDialogInUse;
bool canBeNativeDialog();
bool setVisible_sys(bool visible);
- void *_q_constructNativePanel();
+ void createNSFontPanelDelegate();
void _q_macRunNativeAppModalPanel();
void mac_nativeDialogModalHelp();
+ bool showCocoaFontPanel();
+ bool hideCocoaFontPanel();
static bool sharedFontPanelAvailable;
#endif
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index ed437ff162..121ba62d47 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -314,6 +314,7 @@ void QMessageBoxPrivate::updateSize()
}
width = hardLimit;
}
+ }
#ifdef Q_WS_S60
// in S60 portait messageBoxes should always occupy maximum width
if (QApplication::desktop()->size().height() > QApplication::desktop()->size().width()){
@@ -323,7 +324,6 @@ void QMessageBoxPrivate::updateSize()
width = qMin(QApplication::desktop()->size().height(), hardLimit);
}
#endif
- }
if (informativeLabel) {
label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
diff --git a/src/gui/dialogs/qprintdialog_qws.cpp b/src/gui/dialogs/qprintdialog_qws.cpp
index 1336c04b25..b071427b4e 100644
--- a/src/gui/dialogs/qprintdialog_qws.cpp
+++ b/src/gui/dialogs/qprintdialog_qws.cpp
@@ -178,6 +178,10 @@ void QPrintDialogPrivate::_q_okClicked()
q->setPrintRange(QPrintDialog::PageRange);
q->setFromTo(firstPage->value(), lastPage->value());
break;
+ case (int)QPrintDialog::CurrentPage:
+ q->setPrintRange(QPrintDialog::CurrentPage);
+ q->setFromTo(0, 0);
+ break;
}
q->accept();
}
@@ -375,6 +379,7 @@ void QPrintDialogPrivate::setupOptions()
rangeCombo->addItem(QPrintDialog::tr("Print all"), QPrintDialog::AllPages);
rangeCombo->addItem(QPrintDialog::tr("Print selection"), QPrintDialog::Selection);
rangeCombo->addItem(QPrintDialog::tr("Print range"), QPrintDialog::PageRange);
+ rangeCombo->addItem(QPrintDialog::tr("Print current page"), QPrintDialog::CurrentPage);
QObject::connect(rangeCombo, SIGNAL(activated(int)),
q, SLOT(_q_printRangeSelected(int)));
@@ -490,6 +495,9 @@ void QPrintDialogPrivate::setPrinter(QPrinter *p, bool pickUpSettings)
if (!q->isOptionEnabled(QPrintDialog::PrintPageRange)
&& rangeCombo->findData(QPrintDialog::PageRange) > 0)
rangeCombo->removeItem(rangeCombo->findData(QPrintDialog::PageRange));
+ if (!q->isOptionEnabled(QPrintDialog::PrintCurrentPage)
+ && rangeCombo->findData(QPrintDialog::CurrentPage) > 0)
+ rangeCombo->removeItem(rangeCombo->findData(QPrintDialog::CurrentPage));
switch (q->printRange()) {
case QPrintDialog::AllPages:
@@ -501,6 +509,9 @@ void QPrintDialogPrivate::setPrinter(QPrinter *p, bool pickUpSettings)
case QPrintDialog::PageRange:
rangeCombo->setCurrentIndex((int)(QPrintDialog::PageRange));
break;
+ case QPrintDialog::CurrentPage:
+ rangeCombo->setCurrentIndex((int)(QPrintDialog::CurrentPage));
+ break;
}
}
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index 2d169cf2ae..0487f237f8 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -502,6 +502,9 @@ void QPrintDialogPrivate::setupPrinter()
} else if (options.printSelection->isChecked()) {
p->setPrintRange(QPrinter::Selection);
p->setFromTo(0,0);
+ } else if (options.printCurrentPage->isChecked()) {
+ p->setPrintRange(QPrinter::CurrentPage);
+ p->setFromTo(0,0);
} else if (options.printRange->isChecked()) {
p->setPrintRange(QPrinter::PageRange);
p->setFromTo(options.from->value(), qMax(options.from->value(), options.to->value()));
@@ -518,10 +521,12 @@ void QPrintDialogPrivate::updateWidgets()
{
Q_Q(QPrintDialog);
options.gbPrintRange->setVisible(q->isOptionEnabled(QPrintDialog::PrintPageRange) ||
- q->isOptionEnabled(QPrintDialog::PrintSelection));
+ q->isOptionEnabled(QPrintDialog::PrintSelection) ||
+ q->isOptionEnabled(QPrintDialog::PrintCurrentPage));
options.printRange->setEnabled(q->isOptionEnabled(QPrintDialog::PrintPageRange));
options.printSelection->setVisible(q->isOptionEnabled(QPrintDialog::PrintSelection));
+ options.printCurrentPage->setVisible(q->isOptionEnabled(QPrintDialog::PrintCurrentPage));
options.collate->setVisible(q->isOptionEnabled(QPrintDialog::PrintCollateCopies));
switch (q->printRange()) {
@@ -534,6 +539,10 @@ void QPrintDialogPrivate::updateWidgets()
case QPrintDialog::PageRange:
options.printRange->setChecked(true);
break;
+ case QPrintDialog::CurrentPage:
+ if (q->isOptionEnabled(QPrintDialog::PrintCurrentPage))
+ options.printCurrentPage->setChecked(true);
+ break;
default:
break;
}
diff --git a/src/gui/dialogs/qprintdialog_win.cpp b/src/gui/dialogs/qprintdialog_win.cpp
index fa0c99fda9..10616605ac 100644
--- a/src/gui/dialogs/qprintdialog_win.cpp
+++ b/src/gui/dialogs/qprintdialog_win.cpp
@@ -128,11 +128,14 @@ static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWidget *parent,
if (pd->nMinPage==0 && pd->nMaxPage==0)
pd->Flags |= PD_NOPAGENUMS;
- // we don't have a 'current page' notion in the QPrinter API yet.
- // Neither do we support more than one page range, so limit those
- // options
- pd->Flags |= PD_NOCURRENTPAGE;
+ // Disable Current Page option if not required as default is Enabled
+ if (!pdlg->isOptionEnabled(QPrintDialog::PrintCurrentPage))
+ pd->Flags |= PD_NOCURRENTPAGE;
+
+ // Default to showing the General tab first
pd->nStartPage = START_PAGE_GENERAL;
+
+ // We don't support more than one page range in the QPrinter API yet.
pd->nPageRanges = 1;
pd->nMaxPageRanges = 1;
@@ -153,7 +156,10 @@ static void qt_win_read_back_PRINTDLGEX(PRINTDLGEX *pd, QPrintDialog *pdlg, QPri
} else if (pd->Flags & PD_PAGENUMS) {
pdlg->setPrintRange(QPrintDialog::PageRange);
pdlg->setFromTo(pd->lpPageRanges[0].nFromPage, pd->lpPageRanges[0].nToPage);
- } else {
+ } else if (pd->Flags & PD_CURRENTPAGE) {
+ pdlg->setPrintRange(QPrintDialog::CurrentPage);
+ pdlg->setFromTo(0, 0);
+ } else { // PD_ALLPAGES
pdlg->setPrintRange(QPrintDialog::AllPages);
pdlg->setFromTo(0, 0);
}
diff --git a/src/gui/dialogs/qprintpreviewdialog.cpp b/src/gui/dialogs/qprintpreviewdialog.cpp
index 6723b533b1..f21343e2dc 100644
--- a/src/gui/dialogs/qprintpreviewdialog.cpp
+++ b/src/gui/dialogs/qprintpreviewdialog.cpp
@@ -273,7 +273,20 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer)
QWidget *pageEdit = new QWidget(toolbar);
QVBoxLayout *vboxLayout = new QVBoxLayout;
vboxLayout->setContentsMargins(0, 0, 0, 0);
+#ifdef Q_WS_MAC
+ // We query the widgets about their size and then we fix the size.
+ // This should do the trick for the laying out part...
+ QSize pageNumEditSize, pageNumLabelSize;
+ pageNumEditSize = pageNumEdit->minimumSizeHint();
+ pageNumLabelSize = pageNumLabel->minimumSizeHint();
+ pageNumEdit->resize(pageNumEditSize);
+ pageNumLabel->resize(pageNumLabelSize);
+#endif
QFormLayout *formLayout = new QFormLayout;
+#ifdef Q_WS_MAC
+ // We have to change the growth policy in Mac.
+ formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
+#endif
formLayout->setWidget(0, QFormLayout::LabelRole, pageNumEdit);
formLayout->setWidget(0, QFormLayout::FieldRole, pageNumLabel);
vboxLayout->addLayout(formLayout);
diff --git a/src/gui/dialogs/qprintsettingsoutput.ui b/src/gui/dialogs/qprintsettingsoutput.ui
index fc57e863f9..be916790fb 100644
--- a/src/gui/dialogs/qprintsettingsoutput.ui
+++ b/src/gui/dialogs/qprintsettingsoutput.ui
@@ -1,121 +1,114 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>QPrintSettingsOutput</class>
- <widget class="QWidget" name="QPrintSettingsOutput" >
- <property name="geometry" >
+ <widget class="QWidget" name="QPrintSettingsOutput">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>416</width>
- <height>166</height>
+ <width>426</width>
+ <height>171</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Form</string>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout_2" >
- <property name="margin" >
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="margin">
<number>0</number>
</property>
<item>
- <widget class="QTabWidget" name="tabs" >
- <property name="currentIndex" >
+ <widget class="QTabWidget" name="tabs">
+ <property name="currentIndex">
<number>0</number>
</property>
- <widget class="QWidget" name="copiesTab" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>412</width>
- <height>139</height>
- </rect>
- </property>
- <attribute name="title" >
+ <widget class="QWidget" name="copiesTab">
+ <attribute name="title">
<string>Copies</string>
</attribute>
- <layout class="QHBoxLayout" name="horizontalLayout" >
+ <layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="QGroupBox" name="gbPrintRange" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
+ <widget class="QGroupBox" name="gbPrintRange">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="title" >
+ <property name="title">
<string>Print range</string>
</property>
- <layout class="QVBoxLayout" name="_3" >
- <property name="spacing" >
+ <layout class="QVBoxLayout" name="_3">
+ <property name="spacing">
<number>4</number>
</property>
- <property name="margin" >
+ <property name="margin">
<number>6</number>
</property>
<item>
- <widget class="QRadioButton" name="printAll" >
- <property name="text" >
+ <widget class="QRadioButton" name="printAll">
+ <property name="text">
<string>Print all</string>
</property>
- <property name="checked" >
+ <property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
- <layout class="QHBoxLayout" name="_4" >
- <property name="spacing" >
+ <layout class="QHBoxLayout" name="_4">
+ <property name="spacing">
<number>6</number>
</property>
- <property name="margin" >
+ <property name="margin">
<number>0</number>
</property>
<item>
- <widget class="QRadioButton" name="printRange" >
- <property name="text" >
+ <widget class="QRadioButton" name="printRange">
+ <property name="text">
<string>Pages from</string>
</property>
</widget>
</item>
<item>
- <widget class="QSpinBox" name="from" >
- <property name="enabled" >
+ <widget class="QSpinBox" name="from">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="minimum" >
+ <property name="minimum">
<number>1</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<number>999</number>
</property>
</widget>
</item>
<item>
- <widget class="QLabel" name="label_3" >
- <property name="text" >
+ <widget class="QLabel" name="label_3">
+ <property name="text">
<string>to</string>
</property>
</widget>
</item>
<item>
- <widget class="QSpinBox" name="to" >
- <property name="enabled" >
+ <widget class="QSpinBox" name="to">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="minimum" >
+ <property name="minimum">
<number>1</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<number>999</number>
</property>
</widget>
</item>
<item>
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
@@ -126,18 +119,25 @@
</layout>
</item>
<item>
- <widget class="QRadioButton" name="printSelection" >
- <property name="text" >
+ <widget class="QRadioButton" name="printCurrentPage">
+ <property name="text">
+ <string>Current Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="printSelection">
+ <property name="text">
<string>Selection</string>
</property>
</widget>
</item>
<item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
+ <spacer name="verticalSpacer">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>1</height>
@@ -149,37 +149,37 @@
</widget>
</item>
<item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
<string>Output Settings</string>
</property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
<string>Copies:</string>
</property>
- <property name="buddy" >
+ <property name="buddy">
<cstring>copies</cstring>
</property>
</widget>
</item>
- <item row="0" column="1" colspan="2" >
- <widget class="QSpinBox" name="copies" >
- <property name="minimum" >
+ <item row="0" column="1" colspan="2">
+ <widget class="QSpinBox" name="copies">
+ <property name="minimum">
<number>1</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<number>999</number>
</property>
</widget>
</item>
- <item row="0" column="3" >
- <spacer name="horizontalSpacer" >
- <property name="orientation" >
+ <item row="0" column="3">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>91</width>
<height>20</height>
@@ -187,36 +187,36 @@
</property>
</spacer>
</item>
- <item row="1" column="0" colspan="2" >
- <widget class="QCheckBox" name="collate" >
- <property name="text" >
+ <item row="1" column="0" colspan="2">
+ <widget class="QCheckBox" name="collate">
+ <property name="text">
<string>Collate</string>
</property>
</widget>
</item>
- <item rowspan="2" row="1" column="2" colspan="2" >
- <widget class="QLabel" name="outputIcon" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Ignored" hsizetype="Ignored" >
+ <item row="1" column="2" rowspan="2" colspan="2">
+ <widget class="QLabel" name="outputIcon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Ignored" vsizetype="Ignored">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
- <item row="2" column="0" colspan="2" >
- <widget class="QCheckBox" name="reverse" >
- <property name="text" >
+ <item row="2" column="0" colspan="2">
+ <widget class="QCheckBox" name="reverse">
+ <property name="text">
<string>Reverse</string>
</property>
</widget>
</item>
- <item row="3" column="0" colspan="4" >
- <spacer name="verticalSpacer_2" >
- <property name="orientation" >
+ <item row="3" column="0" colspan="4">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>1</height>
@@ -229,31 +229,23 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="optionsTab" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>412</width>
- <height>139</height>
- </rect>
- </property>
- <attribute name="title" >
+ <widget class="QWidget" name="optionsTab">
+ <attribute name="title">
<string>Options</string>
</attribute>
- <layout class="QGridLayout" name="gridLayout_2" >
- <item row="0" column="1" >
- <widget class="QGroupBox" name="colorMode" >
- <property name="title" >
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="colorMode">
+ <property name="title">
<string>Color Mode</string>
</property>
- <layout class="QGridLayout" name="gridLayout_4" >
- <item row="2" column="0" >
- <spacer name="verticalSpacer_6" >
- <property name="orientation" >
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="2" column="0">
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>0</height>
@@ -261,19 +253,19 @@
</property>
</spacer>
</item>
- <item row="0" column="0" >
- <widget class="QRadioButton" name="color" >
- <property name="text" >
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="color">
+ <property name="text">
<string>Color</string>
</property>
</widget>
</item>
- <item rowspan="3" row="0" column="1" >
- <widget class="QLabel" name="colorIcon" />
+ <item row="0" column="1" rowspan="3">
+ <widget class="QLabel" name="colorIcon"/>
</item>
- <item row="1" column="0" >
- <widget class="QRadioButton" name="grayscale" >
- <property name="text" >
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="grayscale">
+ <property name="text">
<string>Grayscale</string>
</property>
</widget>
@@ -281,42 +273,42 @@
</layout>
</widget>
</item>
- <item row="0" column="0" >
- <widget class="QGroupBox" name="duplex" >
- <property name="title" >
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="duplex">
+ <property name="title">
<string>Duplex Printing</string>
</property>
- <layout class="QVBoxLayout" name="verticalLayout" >
+ <layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QRadioButton" name="noDuplex" >
- <property name="text" >
+ <widget class="QRadioButton" name="noDuplex">
+ <property name="text">
<string>None</string>
</property>
- <property name="checked" >
+ <property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="duplexLong" >
- <property name="text" >
+ <widget class="QRadioButton" name="duplexLong">
+ <property name="text">
<string>Long side</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="duplexShort" >
- <property name="text" >
+ <widget class="QRadioButton" name="duplexShort">
+ <property name="text">
<string>Short side</string>
</property>
</widget>
</item>
<item>
- <spacer name="verticalSpacer_42" >
- <property name="orientation" >
+ <spacer name="verticalSpacer_42">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>0</height>
@@ -341,11 +333,11 @@
<receiver>from</receiver>
<slot>setEnabled(bool)</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>76</x>
<y>59</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>122</x>
<y>57</y>
</hint>
@@ -357,11 +349,11 @@
<receiver>to</receiver>
<slot>setEnabled(bool)</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>69</x>
<y>67</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>215</x>
<y>67</y>
</hint>
diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
index 669d311d97..b90b9b0f69 100644
--- a/src/gui/egl/egl.pri
+++ b/src/gui/egl/egl.pri
@@ -2,6 +2,7 @@ CONFIG += egl
HEADERS += \
egl/qegl_p.h \
+ egl/qeglcontext_p.h \
egl/qeglproperties_p.h
SOURCES += \
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index 0ed95ea32d..6e0331f507 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -43,7 +43,10 @@
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
#include <QtCore/qdebug.h>
+
#include "qegl_p.h"
+#include "qeglcontext_p.h"
+
QT_BEGIN_NAMESPACE
@@ -54,8 +57,6 @@ QT_BEGIN_NAMESPACE
static QEglContext * volatile currentGLContext = 0;
static QEglContext * volatile currentVGContext = 0;
-EGLDisplay QEglContext::dpy = EGL_NO_DISPLAY;
-
QEglContext::QEglContext()
: apiType(QEgl::OpenGL)
, ctx(EGL_NO_CONTEXT)
@@ -87,15 +88,177 @@ bool QEglContext::isCurrent() const
return current;
}
+EGLConfig QEgl::defaultConfig(int devType, API api, ConfigOptions options)
+{
+ if ( (devType != QInternal::Pixmap) && ((options & Renderable) == 0))
+ qWarning("QEgl::defaultConfig() - Only configs for pixmaps make sense to be read-only!");
+
+ EGLConfig* targetConfig = 0;
+
+ static EGLConfig defaultVGConfigs[] = {
+ QEGL_NO_CONFIG, // 0 Window Renderable Translucent
+ QEGL_NO_CONFIG, // 1 Window Renderable Opaque
+ QEGL_NO_CONFIG, // 2 Pixmap Renderable Translucent
+ QEGL_NO_CONFIG, // 3 Pixmap Renderable Opaque
+ QEGL_NO_CONFIG, // 4 Pixmap ReadOnly Translucent
+ QEGL_NO_CONFIG // 5 Pixmap ReadOnly Opaque
+ };
+ if (api == OpenVG) {
+ if (devType == QInternal::Widget) {
+ if (options & Translucent)
+ targetConfig = &(defaultVGConfigs[0]);
+ else
+ targetConfig = &(defaultVGConfigs[1]);
+ } else if (devType == QInternal::Pixmap) {
+ if (options & Renderable) {
+ if (options & Translucent)
+ targetConfig = &(defaultVGConfigs[2]);
+ else // Opaque
+ targetConfig = &(defaultVGConfigs[3]);
+ } else { // Read-only
+ if (options & Translucent)
+ targetConfig = &(defaultVGConfigs[4]);
+ else // Opaque
+ targetConfig = &(defaultVGConfigs[5]);
+ }
+ }
+ }
+
+
+ static EGLConfig defaultGLConfigs[] = {
+ QEGL_NO_CONFIG, // 0 Window Renderable Translucent
+ QEGL_NO_CONFIG, // 1 Window Renderable Opaque
+ QEGL_NO_CONFIG, // 2 PBuffer Renderable Translucent
+ QEGL_NO_CONFIG, // 3 PBuffer Renderable Opaque
+ QEGL_NO_CONFIG, // 4 Pixmap Renderable Translucent
+ QEGL_NO_CONFIG, // 5 Pixmap Renderable Opaque
+ QEGL_NO_CONFIG, // 6 Pixmap ReadOnly Translucent
+ QEGL_NO_CONFIG // 7 Pixmap ReadOnly Opaque
+ };
+ if (api == OpenGL) {
+ if (devType == QInternal::Widget) {
+ if (options & Translucent)
+ targetConfig = &(defaultGLConfigs[0]);
+ else // Opaque
+ targetConfig = &(defaultGLConfigs[1]);
+ } else if (devType == QInternal::Pbuffer) {
+ if (options & Translucent)
+ targetConfig = &(defaultGLConfigs[2]);
+ else // Opaque
+ targetConfig = &(defaultGLConfigs[3]);
+ } else if (devType == QInternal::Pixmap) {
+ if (options & Renderable) {
+ if (options & Translucent)
+ targetConfig = &(defaultGLConfigs[4]);
+ else // Opaque
+ targetConfig = &(defaultGLConfigs[5]);
+ } else { // ReadOnly
+ if (options & Translucent)
+ targetConfig = &(defaultGLConfigs[6]);
+ else // Opaque
+ targetConfig = &(defaultGLConfigs[7]);
+ }
+ }
+ }
+
+ if (!targetConfig) {
+ qWarning("QEgl::defaultConfig() - No default config for device/api/options combo");
+ return QEGL_NO_CONFIG;
+ }
+ if (*targetConfig != QEGL_NO_CONFIG)
+ return *targetConfig;
+
+
+ // We haven't found an EGL config for the target config yet, so do it now:
+
+
+ // Allow overriding from an environment variable:
+ QByteArray configId;
+ if (api == OpenVG)
+ configId = qgetenv("QT_VG_EGL_CONFIG");
+ else
+ configId = qgetenv("QT_GL_EGL_CONFIG");
+ if (!configId.isEmpty()) {
+ // Overriden, so get the EGLConfig for the specified config ID:
+ EGLint properties[] = {
+ EGL_CONFIG_ID, (EGLint)configId.toInt(),
+ EGL_NONE
+ };
+ EGLint configCount = 0;
+ eglChooseConfig(display(), properties, targetConfig, 1, &configCount);
+ if (configCount > 0)
+ return *targetConfig;
+ qWarning() << "QEgl::defaultConfig() -" << configId << "appears to be invalid";
+ }
+
+ QEglProperties configAttribs;
+ configAttribs.setRenderableType(api);
+
+ EGLint surfaceType;
+ switch (devType) {
+ case QInternal::Widget:
+ surfaceType = EGL_WINDOW_BIT;
+ break;
+ case QInternal::Pixmap:
+ surfaceType = EGL_PIXMAP_BIT;
+ break;
+ case QInternal::Pbuffer:
+ surfaceType = EGL_PBUFFER_BIT;
+ break;
+ default:
+ qWarning("QEgl::defaultConfig() - Can't create EGL surface for %d device type", devType);
+ return QEGL_NO_CONFIG;
+ };
+#ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT
+ // For OpenVG, we try to create a surface using a pre-multiplied format if
+ // the surface needs to have an alpha channel:
+ if (api == OpenVG && (options & Translucent))
+ surfaceType |= EGL_VG_ALPHA_FORMAT_PRE_BIT;
+#endif
+ configAttribs.setValue(EGL_SURFACE_TYPE, surfaceType);
+
+#ifdef EGL_BIND_TO_TEXTURE_RGBA
+ if (devType == QInternal::Pixmap || devType == QInternal::Pbuffer) {
+ if (options & Translucent)
+ configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE);
+ else
+ configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE);
+ }
+#endif
+
+ // Add paint engine requirements
+ if (api == OpenVG) {
+#ifndef QVG_SCISSOR_CLIP
+ configAttribs.setValue(EGL_ALPHA_MASK_SIZE, 1);
+#endif
+ } else {
+ // Both OpenGL paint engines need to have stencil and sample buffers
+ configAttribs.setValue(EGL_STENCIL_SIZE, 1);
+ configAttribs.setValue(EGL_SAMPLE_BUFFERS, 1);
+#ifndef QT_OPENGL_ES_2
+ // Aditionally, the GL1 engine likes to have a depth buffer for clipping
+ configAttribs.setValue(EGL_DEPTH_SIZE, 1);
+#endif
+ }
+
+ if (options & Translucent)
+ configAttribs.setValue(EGL_ALPHA_SIZE, 1);
+
+ *targetConfig = chooseConfig(&configAttribs, QEgl::BestPixelFormat);
+ return *targetConfig;
+}
+
+
// Choose a configuration that matches "properties".
-bool QEglContext::chooseConfig
- (const QEglProperties& properties, QEgl::PixelFormatMatch match)
+EGLConfig QEgl::chooseConfig(const QEglProperties* properties, QEgl::PixelFormatMatch match)
{
- QEglProperties props(properties);
+ QEglProperties props(*properties);
+ EGLConfig cfg = QEGL_NO_CONFIG;
do {
// Get the number of matching configurations for this set of properties.
EGLint matching = 0;
- if (!eglChooseConfig(display(), props.properties(), 0, 0, &matching) || !matching)
+ EGLDisplay dpy = QEgl::display();
+ if (!eglChooseConfig(dpy, props.properties(), 0, 0, &matching) || !matching)
continue;
// If we want the best pixel format, then return the first
@@ -104,7 +267,7 @@ bool QEglContext::chooseConfig
eglChooseConfig(display(), props.properties(), &cfg, 1, &matching);
if (matching < 1)
continue;
- return true;
+ return cfg;
}
// Fetch all of the matching configurations and find the
@@ -125,7 +288,7 @@ bool QEglContext::chooseConfig
alpha == props.value(EGL_ALPHA_SIZE))) {
cfg = configs[index];
delete [] configs;
- return true;
+ return cfg;
}
}
delete [] configs;
@@ -142,11 +305,23 @@ bool QEglContext::chooseConfig
qWarning() << "QEglContext::chooseConfig(): Could not find a suitable EGL configuration";
qWarning() << "Requested:" << props.toString();
qWarning() << "Available:";
- dumpAllConfigs();
+ QEgl::dumpAllConfigs();
}
- return false;
+ return QEGL_NO_CONFIG;
+}
+
+bool QEglContext::chooseConfig(const QEglProperties& properties, QEgl::PixelFormatMatch match)
+{
+ cfg = QEgl::chooseConfig(&properties, match);
+ return cfg != QEGL_NO_CONFIG;
}
+EGLSurface QEglContext::createSurface(QPaintDevice* device, const QEglProperties *properties)
+{
+ return QEgl::createSurface(device, cfg, properties);
+}
+
+
// Create the EGLContext.
bool QEglContext::createContext(QEglContext *shareContext, const QEglProperties *properties)
{
@@ -172,9 +347,9 @@ bool QEglContext::createContext(QEglContext *shareContext, const QEglProperties
if (shareContext && shareContext->ctx == EGL_NO_CONTEXT)
shareContext = 0;
if (shareContext) {
- ctx = eglCreateContext(display(), cfg, shareContext->ctx, contextProps.properties());
+ ctx = eglCreateContext(QEgl::display(), cfg, shareContext->ctx, contextProps.properties());
if (ctx == EGL_NO_CONTEXT) {
- qWarning() << "QEglContext::createContext(): Could not share context:" << errorString(eglGetError());
+ qWarning() << "QEglContext::createContext(): Could not share context:" << QEgl::errorString();
shareContext = 0;
} else {
sharing = true;
@@ -183,7 +358,7 @@ bool QEglContext::createContext(QEglContext *shareContext, const QEglProperties
if (ctx == EGL_NO_CONTEXT) {
ctx = eglCreateContext(display(), cfg, 0, contextProps.properties());
if (ctx == EGL_NO_CONTEXT) {
- qWarning() << "QEglContext::createContext(): Unable to create EGL context:" << errorString(eglGetError());
+ qWarning() << "QEglContext::createContext(): Unable to create EGL context:" << QEgl::errorString();
return false;
}
}
@@ -217,6 +392,11 @@ bool QEglContext::makeCurrent(EGLSurface surface)
return false;
}
+ if (surface == EGL_NO_SURFACE) {
+ qWarning() << "QEglContext::makeCurrent(): Cannot make invalid surface current";
+ return false;
+ }
+
// If lazyDoneCurrent() was called on the surface, then we may be able
// to assume that it is still current within the thread.
if (surface == currentSurface && currentContext(apiType) == this) {
@@ -240,9 +420,9 @@ bool QEglContext::makeCurrent(EGLSurface surface)
eglBindAPI(EGL_OPENVG_API);
#endif
- bool ok = eglMakeCurrent(display(), surface, surface, ctx);
+ bool ok = eglMakeCurrent(QEgl::display(), surface, surface, ctx);
if (!ok)
- qWarning() << "QEglContext::makeCurrent():" << errorString(eglGetError());
+ qWarning() << "QEglContext::makeCurrent(" << surface << "):" << QEgl::errorString();
return ok;
}
@@ -269,9 +449,9 @@ bool QEglContext::doneCurrent()
eglBindAPI(EGL_OPENVG_API);
#endif
- bool ok = eglMakeCurrent(display(), EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ bool ok = eglMakeCurrent(QEgl::display(), EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
if (!ok)
- qWarning() << "QEglContext::doneCurrent():" << errorString(eglGetError());
+ qWarning() << "QEglContext::doneCurrent():" << QEgl::errorString();
return ok;
}
@@ -291,9 +471,9 @@ bool QEglContext::swapBuffers(EGLSurface surface)
if(ctx == EGL_NO_CONTEXT)
return false;
- bool ok = eglSwapBuffers(display(), surface);
+ bool ok = eglSwapBuffers(QEgl::display(), surface);
if (!ok)
- qWarning() << "QEglContext::swapBuffers():" << errorString(eglGetError());
+ qWarning() << "QEglContext::swapBuffers():" << QEgl::errorString();
return ok;
}
@@ -330,43 +510,43 @@ void QEglContext::waitClient()
// Query the value of a configuration attribute.
bool QEglContext::configAttrib(int name, EGLint *value) const
{
- return eglGetConfigAttrib(display(), cfg, name, value);
+ return eglGetConfigAttrib(QEgl::display(), cfg, name, value);
}
-// Retrieve all of the properties on "cfg". If zero, return
-// the context's configuration.
-QEglProperties QEglContext::configProperties(EGLConfig cfg) const
+int QEglContext::configAttrib(int name) const
{
- if (!cfg)
- cfg = config();
- QEglProperties props;
- for (int name = 0x3020; name <= 0x304F; ++name) {
- EGLint value;
- if (name != EGL_NONE && eglGetConfigAttrib(display(), cfg, name, &value))
- props.setValue(name, value);
- }
- eglGetError(); // Clear the error state.
- return props;
+ EGLint value;
+ EGLBoolean success = eglGetConfigAttrib(QEgl::display(), cfg, name, &value);
+ if (success)
+ return value;
+ else
+ return EGL_DONT_CARE;
}
-EGLDisplay QEglContext::display()
+QEglProperties QEglContext::configProperties() const
{
+ return QEglProperties(config());
+}
+
+EGLDisplay QEgl::display()
+{
+ static EGLDisplay dpy = EGL_NO_DISPLAY;
static bool openedDisplay = false;
if (!openedDisplay) {
dpy = eglGetDisplay(nativeDisplay());
openedDisplay = true;
if (dpy == EGL_NO_DISPLAY) {
- qWarning("QEglContext::display(): Falling back to EGL_DEFAULT_DISPLAY");
+ qWarning("QEgl::display(): Falling back to EGL_DEFAULT_DISPLAY");
dpy = eglGetDisplay(EGLNativeDisplayType(EGL_DEFAULT_DISPLAY));
}
if (dpy == EGL_NO_DISPLAY) {
- qWarning("QEglContext::display(): Can't even open the default display");
+ qWarning("QEgl::display(): Can't even open the default display");
return EGL_NO_DISPLAY;
}
if (!eglInitialize(dpy, NULL, NULL)) {
- qWarning() << "QEglContext::display(): Cannot initialize EGL display:" << errorString(eglGetError());
+ qWarning() << "QEgl::display(): Cannot initialize EGL display:" << QEgl::errorString();
return EGL_NO_DISPLAY;
}
}
@@ -374,15 +554,49 @@ EGLDisplay QEglContext::display()
return dpy;
}
-#if !defined(Q_WS_X11) && !defined(Q_WS_WINCE) // WinCE & X11 implement this properly
-EGLNativeDisplayType QEglContext::nativeDisplay()
+#ifndef Q_WS_X11
+EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig cfg, const QEglProperties *properties)
{
- return EGL_DEFAULT_DISPLAY;
+ // Create the native drawable for the paint device.
+ int devType = device->devType();
+ EGLNativePixmapType pixmapDrawable = 0;
+ EGLNativeWindowType windowDrawable = 0;
+ bool ok;
+ if (devType == QInternal::Pixmap) {
+ pixmapDrawable = nativePixmap(static_cast<QPixmap *>(device));
+ ok = (pixmapDrawable != 0);
+ } else if (devType == QInternal::Widget) {
+ windowDrawable = nativeWindow(static_cast<QWidget *>(device));
+ ok = (windowDrawable != 0);
+ } else {
+ ok = false;
+ }
+ if (!ok) {
+ qWarning("QEglContext::createSurface(): Cannot create the native EGL drawable");
+ return EGL_NO_SURFACE;
+ }
+
+ // Create the EGL surface to draw into, based on the native drawable.
+ const int *props;
+ if (properties)
+ props = properties->properties();
+ else
+ props = 0;
+ EGLSurface surf;
+ if (devType == QInternal::Widget)
+ surf = eglCreateWindowSurface(QEgl::display(), cfg, windowDrawable, props);
+ else
+ surf = eglCreatePixmapSurface(QEgl::display(), cfg, pixmapDrawable, props);
+ if (surf == EGL_NO_SURFACE) {
+ qWarning("QEglContext::createSurface(): Unable to create EGL surface, error = 0x%x", eglGetError());
+ }
+ return surf;
}
#endif
+
// Return the error string associated with a specific code.
-QString QEglContext::errorString(EGLint code)
+QString QEgl::errorString(EGLint code)
{
static const char * const errors[] = {
"Success (0x3000)", // No tr
@@ -408,8 +622,24 @@ QString QEglContext::errorString(EGLint code)
}
}
+QString QEgl::errorString()
+{
+ return errorString(error());
+}
+
+void QEgl::clearError()
+{
+ eglGetError();
+}
+
+EGLint QEgl::error()
+{
+ return eglGetError();
+}
+
+
// Dump all of the EGL configurations supported by the system.
-void QEglContext::dumpAllConfigs()
+void QEgl::dumpAllConfigs()
{
QEglProperties props;
EGLint count = 0;
@@ -418,23 +648,23 @@ void QEglContext::dumpAllConfigs()
EGLConfig *configs = new EGLConfig [count];
eglGetConfigs(display(), configs, count, &count);
for (EGLint index = 0; index < count; ++index) {
- props = configProperties(configs[index]);
+ props = QEglProperties(configs[index]);
qWarning() << props.toString();
}
delete [] configs;
}
-QString QEglContext::extensions()
+QString QEgl::extensions()
{
- const char* exts = eglQueryString(QEglContext::display(), EGL_EXTENSIONS);
+ const char* exts = eglQueryString(QEgl::display(), EGL_EXTENSIONS);
return QString(QLatin1String(exts));
}
-bool QEglContext::hasExtension(const char* extensionName)
+bool QEgl::hasExtension(const char* extensionName)
{
QList<QByteArray> extensions =
QByteArray(reinterpret_cast<const char *>
- (eglQueryString(QEglContext::display(), EGL_EXTENSIONS))).split(' ');
+ (eglQueryString(QEgl::display(), EGL_EXTENSIONS))).split(' ');
return extensions.contains(extensionName);
}
diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h
index 87ed818c42..7dad9fe345 100644
--- a/src/gui/egl/qegl_p.h
+++ b/src/gui/egl/qegl_p.h
@@ -53,13 +53,40 @@
// We mean it.
//
-#include <QtCore/qsize.h>
-#include <QtGui/qimage.h>
+QT_BEGIN_INCLUDE_NAMESPACE
-#include <private/qeglproperties_p.h>
+#if defined(QT_OPENGL_ES_2)
+# include <GLES2/gl2.h>
+#endif
-QT_BEGIN_INCLUDE_NAMESPACE
+#if defined(QT_GLES_EGL)
+# include <GLES/egl.h>
+#else
+# include <EGL/egl.h>
+#endif
+
+#if defined(Q_WS_X11)
+// If <EGL/egl.h> included <X11/Xlib.h>, then the global namespace
+// may have been polluted with X #define's. The following makes sure
+// the X11 headers were included properly and then cleans things up.
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#undef Bool
+#undef Status
+#undef None
+#undef KeyPress
+#undef KeyRelease
+#undef FocusIn
+#undef FocusOut
+#undef Type
+#undef FontChange
+#undef CursorShape
+#undef Unsorted
+#undef GrayScale
+#endif
+// Internally we use the EGL-prefixed native types which are used in EGL >= 1.3.
+// For older versions of EGL, we have to define these types ourselves here:
#if !defined(EGL_VERSION_1_3) && !defined(QEGL_NATIVE_TYPES_DEFINED)
#undef EGLNativeWindowType
#undef EGLNativePixmapType
@@ -69,74 +96,75 @@ typedef NativePixmapType EGLNativePixmapType;
typedef NativeDisplayType EGLNativeDisplayType;
#define QEGL_NATIVE_TYPES_DEFINED 1
#endif
+
QT_END_INCLUDE_NAMESPACE
-QT_BEGIN_NAMESPACE
+#include <QtGui/qpaintdevice.h>
+
+#include <QFlags>
-class Q_GUI_EXPORT QEglContext
-{
-public:
- QEglContext();
- ~QEglContext();
+QT_BEGIN_NAMESPACE
- bool isValid() const;
- bool isCurrent() const;
- bool isSharing() const { return sharing; }
+#define QEGL_NO_CONFIG ((EGLConfig)-1)
- QEgl::API api() const { return apiType; }
- void setApi(QEgl::API api) { apiType = api; }
- bool chooseConfig(const QEglProperties& properties, QEgl::PixelFormatMatch match = QEgl::ExactPixelFormat);
- bool createContext(QEglContext *shareContext = 0, const QEglProperties *properties = 0);
- void destroyContext();
- EGLSurface createSurface(QPaintDevice *device, const QEglProperties *properties = 0);
- void destroySurface(EGLSurface surface);
- bool makeCurrent(EGLSurface surface);
- bool doneCurrent();
- bool lazyDoneCurrent();
- bool swapBuffers(EGLSurface surface);
+class QEglProperties;
- void waitNative();
- void waitClient();
+namespace QEgl {
+ enum API
+ {
+ OpenGL,
+ OpenVG
+ };
- bool configAttrib(int name, EGLint *value) const;
+ enum PixelFormatMatch
+ {
+ ExactPixelFormat,
+ BestPixelFormat
+ };
- static void clearError() { eglGetError(); }
- static EGLint error() { return eglGetError(); }
- static QString errorString(EGLint code);
+ enum ConfigOption
+ {
+ NoOptions = 0,
+ Translucent = 0x01,
+ Renderable = 0x02 // Config will be compatable with the paint engines (VG or GL)
+ };
+ Q_DECLARE_FLAGS(ConfigOptions, ConfigOption);
- static EGLDisplay display();
- EGLContext context() const { return ctx; }
- void setContext(EGLContext context) { ctx = context; ownsContext = false;}
+ // Most of the time we use the same config for things like widgets & pixmaps, so rather than
+ // go through the eglChooseConfig loop every time, we use defaultConfig, which will return
+ // the config for a particular device/api/option combo. This function assumes that once a
+ // config is chosen for a particular combo, it's safe to always use that combo.
+ Q_GUI_EXPORT EGLConfig defaultConfig(int devType, API api, ConfigOptions options);
- EGLConfig config() const { return cfg; }
- void setConfig(EGLConfig config) { cfg = config; }
+ Q_GUI_EXPORT EGLConfig chooseConfig(const QEglProperties* configAttribs, QEgl::PixelFormatMatch match = QEgl::ExactPixelFormat);
+ Q_GUI_EXPORT EGLSurface createSurface(QPaintDevice *device, EGLConfig cfg, const QEglProperties *surfaceAttribs = 0);
- QEglProperties configProperties(EGLConfig cfg = 0) const;
+ Q_GUI_EXPORT void dumpAllConfigs();
- void dumpAllConfigs();
+ Q_GUI_EXPORT void clearError();
+ Q_GUI_EXPORT EGLint error();
+ Q_GUI_EXPORT QString errorString(EGLint code);
+ Q_GUI_EXPORT QString errorString();
- static QString extensions();
- static bool hasExtension(const char* extensionName);
+ Q_GUI_EXPORT QString extensions();
+ Q_GUI_EXPORT bool hasExtension(const char* extensionName);
-private:
- QEgl::API apiType;
- EGLContext ctx;
- EGLConfig cfg;
- EGLSurface currentSurface;
- bool current;
- bool ownsContext;
- bool sharing;
+ Q_GUI_EXPORT EGLDisplay display();
- static EGLDisplay dpy;
- static EGLNativeDisplayType nativeDisplay();
+ Q_GUI_EXPORT EGLNativeDisplayType nativeDisplay();
+ Q_GUI_EXPORT EGLNativeWindowType nativeWindow(QWidget*);
+ Q_GUI_EXPORT EGLNativePixmapType nativePixmap(QPixmap*);
- static QEglContext *currentContext(QEgl::API api);
- static void setCurrentContext(QEgl::API api, QEglContext *context);
+#ifdef Q_WS_X11
+ Q_GUI_EXPORT VisualID getCompatibleVisualId(EGLConfig config);
+#endif
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QEgl::ConfigOptions);
+
QT_END_NAMESPACE
-#endif // QEGL_P_H
+#endif //QEGL_P_H
diff --git a/src/gui/egl/qegl_qws.cpp b/src/gui/egl/qegl_qws.cpp
index 2a61beb9c8..56383a5f1a 100644
--- a/src/gui/egl/qegl_qws.cpp
+++ b/src/gui/egl/qegl_qws.cpp
@@ -42,7 +42,9 @@
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
+
#include "qegl_p.h"
+#include "qeglcontext_p.h"
#if !defined(QT_NO_EGL)
@@ -53,17 +55,6 @@
QT_BEGIN_NAMESPACE
-// Create the surface for a QPixmap, QImage, or QWidget.
-// We don't have QGLScreen to create EGL surfaces for us,
-// so surface creation needs to be done in QtOpenGL or
-// QtOpenVG for Qt/Embedded.
-EGLSurface QEglContext::createSurface(QPaintDevice *device, const QEglProperties *properties)
-{
- Q_UNUSED(device);
- Q_UNUSED(properties);
- return EGL_NO_SURFACE;
-}
-
static QScreen *screenForDevice(QPaintDevice *device)
{
QScreen *screen = qt_screen;
@@ -101,6 +92,23 @@ void QEglProperties::setPaintDeviceFormat(QPaintDevice *dev)
setPixelFormat(screen->pixelFormat());
}
+EGLNativeDisplayType QEgl::nativeDisplay()
+{
+ return EGL_DEFAULT_DISPLAY;
+}
+
+EGLNativeWindowType QEgl::nativeWindow(QWidget* widget)
+{
+ return (EGLNativeWindowType)(widget->winId()); // Might work
+}
+
+EGLNativePixmapType QEgl::nativePixmap(QPixmap*)
+{
+ qWarning("QEgl: EGL pixmap surfaces not supported on QWS");
+ return (EGLNativePixmapType)0;
+}
+
+
QT_END_NAMESPACE
#endif // !QT_NO_EGL
diff --git a/src/gui/egl/qegl_symbian.cpp b/src/gui/egl/qegl_symbian.cpp
index 5a010cd5d6..9744ed094a 100644
--- a/src/gui/egl/qegl_symbian.cpp
+++ b/src/gui/egl/qegl_symbian.cpp
@@ -42,48 +42,28 @@
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
+
#include "qegl_p.h"
+#include "qeglcontext_p.h"
#include <coecntrl.h>
QT_BEGIN_NAMESPACE
-EGLSurface QEglContext::createSurface(QPaintDevice *device, const QEglProperties *properties)
+EGLNativeDisplayType QEgl::nativeDisplay()
{
- // Create the native drawable for the paint device.
- int devType = device->devType();
- EGLNativePixmapType pixmapDrawable = 0;
- EGLNativeWindowType windowDrawable = 0;
- bool ok;
- if (devType == QInternal::Pixmap) {
- pixmapDrawable = 0;
- ok = (pixmapDrawable != 0);
- } else if (devType == QInternal::Widget) {
- QWidget *w = static_cast<QWidget *>(device);
- windowDrawable = (EGLNativeWindowType)(w->winId()->DrawableWindow());
- ok = (windowDrawable != 0);
- } else {
- ok = false;
- }
- if (!ok) {
- qWarning("QEglContext::createSurface(): Cannot create the native EGL drawable");
- return EGL_NO_SURFACE;
- }
+ return EGL_DEFAULT_DISPLAY;
+}
- // Create the EGL surface to draw into, based on the native drawable.
- const int *props;
- if (properties)
- props = properties->properties();
- else
- props = 0;
- EGLSurface surf;
- if (devType == QInternal::Widget)
- surf = eglCreateWindowSurface(dpy, cfg, windowDrawable, props);
- else
- surf = eglCreatePixmapSurface(dpy, cfg, pixmapDrawable, props);
- if (surf == EGL_NO_SURFACE)
- qWarning("QEglContext::createSurface(): Unable to create EGL surface, error = 0x%x", eglGetError());
- return surf;
+EGLNativeWindowType QEgl::nativeWindow(QWidget* widget)
+{
+ return (EGLNativeWindowType)(widget->winId()->DrawableWindow());
+}
+
+EGLNativePixmapType QEgl::nativePixmap(QPixmap*)
+{
+ qWarning("QEgl: EGL pixmap surfaces not implemented yet on Symbian");
+ return (EGLNativePixmapType)0;
}
// Set pixel format and other properties based on a paint device.
diff --git a/src/gui/egl/qegl_wince.cpp b/src/gui/egl/qegl_wince.cpp
index c9c9773f99..2d08805f72 100644
--- a/src/gui/egl/qegl_wince.cpp
+++ b/src/gui/egl/qegl_wince.cpp
@@ -42,55 +42,18 @@
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
+
#include "qegl_p.h"
+#include "qeglcontext_p.h"
#include <windows.h>
QT_BEGIN_NAMESPACE
-EGLSurface QEglContext::createSurface(QPaintDevice *device, const QEglProperties *properties)
-{
- // Create the native drawable for the paint device.
- int devType = device->devType();
- EGLNativePixmapType pixmapDrawable = 0;
- EGLNativeWindowType windowDrawable = 0;
- bool ok;
- if (devType == QInternal::Pixmap) {
- pixmapDrawable = 0;
- ok = (pixmapDrawable != 0);
- } else if (devType == QInternal::Widget) {
- windowDrawable = (EGLNativeWindowType)(static_cast<QWidget *>(device))->winId();
- ok = (windowDrawable != 0);
- } else {
- ok = false;
- }
- if (!ok) {
- qWarning("QEglContext::createSurface(): Cannot create the native EGL drawable");
- return EGL_NO_SURFACE;
- }
-
- // Create the EGL surface to draw into, based on the native drawable.
- const int *props;
- if (properties)
- props = properties->properties();
- else
- props = 0;
- EGLSurface surf;
- if (devType == QInternal::Widget)
- surf = eglCreateWindowSurface(dpy, cfg, windowDrawable, props);
- else
- surf = eglCreatePixmapSurface(dpy, cfg, pixmapDrawable, props);
- if (surf == EGL_NO_SURFACE) {
- qWarning("QEglContext::createSurface(): Unable to create EGL surface, error = 0x%x", eglGetError());
- }
- return surf;
-}
-
-EGLNativeDisplayType QEglContext::nativeDisplay()
+EGLNativeDisplayType QEgl::nativeDisplay()
{
- HWND win = (static_cast<QWidget*>(device))->winId();
- HDC myDc = GetDC(win);
+ HDC myDc = GetDC(0);
if (!myDc) {
qWarning("QEglContext::nativeDisplay(): WinCE display is not open");
return EGL_DEFAULT_DISPLAY;
@@ -98,6 +61,17 @@ EGLNativeDisplayType QEglContext::nativeDisplay()
return EGLNativeDisplayType(myDc);
}
+EGLNativeWindowType QEgl::nativeWindow(QWidget* widget)
+{
+ return (EGLNativeWindowType)(widget->winId());
+}
+
+EGLNativePixmapType QEgl::nativePixmap(QPixmap*)
+{
+ qWarning("QEgl: EGL pixmap surfaces not supported on WinCE");
+ return (EGLNativePixmapType)0;
+}
+
// Set pixel format and other properties based on a paint device.
void QEglProperties::setPaintDeviceFormat(QPaintDevice *dev)
{
diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
index 634ff13208..91423c89b0 100644
--- a/src/gui/egl/qegl_x11.cpp
+++ b/src/gui/egl/qegl_x11.cpp
@@ -41,59 +41,24 @@
#include <QtCore/qdebug.h>
-#include <private/qt_x11_p.h>
+#include <QtGui/private/qt_x11_p.h>
#include <QtGui/qx11info_x11.h>
-#include <private/qpixmapdata_p.h>
-#include <private/qpixmap_x11_p.h>
+#include <QtGui/private/qpixmapdata_p.h>
+#include <QtGui/private/qpixmap_x11_p.h>
+#include <QtGui/private/qimagepixmapcleanuphooks_p.h>
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
-#include "qegl_p.h"
+#include <QtGui/qcolormap.h>
+#include "QtGui/private/qegl_p.h"
+#include "QtGui/private/qeglcontext_p.h"
QT_BEGIN_NAMESPACE
-EGLSurface QEglContext::createSurface(QPaintDevice *device, const QEglProperties *properties)
-{
- // Create the native drawable for the paint device.
- int devType = device->devType();
- EGLNativePixmapType pixmapDrawable = 0;
- EGLNativeWindowType windowDrawable = 0;
- bool ok;
- if (devType == QInternal::Pixmap) {
- pixmapDrawable = (EGLNativePixmapType)(static_cast<QPixmap *>(device))->handle();
- ok = (pixmapDrawable != 0);
- } else if (devType == QInternal::Widget) {
- windowDrawable = (EGLNativeWindowType)(static_cast<QWidget *>(device))->winId();
- ok = (windowDrawable != 0);
- } else {
- ok = false;
- }
- if (!ok) {
- qWarning("QEglContext::createSurface(): Cannot create the native EGL drawable");
- return EGL_NO_SURFACE;
- }
- // Create the EGL surface to draw into, based on the native drawable.
- const int *props;
- if (properties)
- props = properties->properties();
- else
- props = 0;
- EGLSurface surf;
- if (devType == QInternal::Widget)
- surf = eglCreateWindowSurface(dpy, cfg, windowDrawable, props);
- else
- surf = eglCreatePixmapSurface(dpy, cfg, pixmapDrawable, props);
- if (surf == EGL_NO_SURFACE) {
- qWarning() << "QEglContext::createSurface(): Unable to create EGL surface:"
- << errorString(eglGetError());
- }
- return surf;
-}
-
-EGLNativeDisplayType QEglContext::nativeDisplay()
+EGLNativeDisplayType QEgl::nativeDisplay()
{
Display *xdpy = QX11Info::display();
if (!xdpy) {
@@ -103,6 +68,16 @@ EGLNativeDisplayType QEglContext::nativeDisplay()
return EGLNativeDisplayType(xdpy);
}
+EGLNativeWindowType QEgl::nativeWindow(QWidget* widget)
+{
+ return (EGLNativeWindowType)(widget->winId());
+}
+
+EGLNativePixmapType QEgl::nativePixmap(QPixmap* pixmap)
+{
+ return (EGLNativePixmapType)(pixmap->handle());
+}
+
static int countBits(unsigned long mask)
{
int count = 0;
@@ -153,4 +128,292 @@ void QEglProperties::setPaintDeviceFormat(QPaintDevice *dev)
setVisualFormat(qt_x11Info(dev));
}
+//#define QT_DEBUG_X11_VISUAL_SELECTION 1
+
+VisualID QEgl::getCompatibleVisualId(EGLConfig config)
+{
+ VisualID visualId = 0;
+ EGLint eglValue = 0;
+
+ EGLint configRedSize = 0;
+ eglGetConfigAttrib(display(), config, EGL_RED_SIZE, &configRedSize);
+
+ EGLint configGreenSize = 0;
+ eglGetConfigAttrib(display(), config, EGL_GREEN_SIZE, &configGreenSize);
+
+ EGLint configBlueSize = 0;
+ eglGetConfigAttrib(display(), config, EGL_BLUE_SIZE, &configBlueSize);
+
+ EGLint configAlphaSize = 0;
+ eglGetConfigAttrib(display(), config, EGL_ALPHA_SIZE, &configAlphaSize);
+
+ eglGetConfigAttrib(display(), config, EGL_BUFFER_SIZE, &eglValue);
+ int configBitDepth = eglValue;
+
+ eglGetConfigAttrib(display(), config, EGL_CONFIG_ID, &eglValue);
+ int configId = eglValue;
+
+ // See if EGL provided a valid VisualID:
+ eglGetConfigAttrib(display(), config, EGL_NATIVE_VISUAL_ID, &eglValue);
+ visualId = (VisualID)eglValue;
+ if (visualId) {
+ // EGL has suggested a visual id, so get the rest of the visual info for that id:
+ XVisualInfo visualInfoTemplate;
+ memset(&visualInfoTemplate, 0, sizeof(XVisualInfo));
+ visualInfoTemplate.visualid = visualId;
+
+ XVisualInfo *chosenVisualInfo;
+ int matchingCount = 0;
+ chosenVisualInfo = XGetVisualInfo(X11->display, VisualIDMask, &visualInfoTemplate, &matchingCount);
+ if (chosenVisualInfo) {
+ if (configBitDepth == chosenVisualInfo->depth) {
+#if !defined(QT_NO_XRENDER)
+ // If we have XRender, actually check the visual supplied by EGL is ARGB
+ if (configAlphaSize > 0) {
+ XRenderPictFormat *format;
+ format = XRenderFindVisualFormat(X11->display, chosenVisualInfo->visual);
+ if (!format || (format->type != PictTypeDirect) || (!format->direct.alphaMask)) {
+ qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this is not ARGB",
+ (int)visualId, configId);
+ visualId = 0;
+ }
+ }
+#endif
+ } else {
+ qWarning("Warning: EGL suggested using X visual ID %d (%d bpp) for config %d (%d bpp), but the depths do not match!",
+ (int)visualId, chosenVisualInfo->depth, configId, configBitDepth);
+ visualId = 0;
+ }
+ }
+ XFree(chosenVisualInfo);
+ }
+
+ if (visualId) {
+#ifdef QT_DEBUG_X11_VISUAL_SELECTION
+ if (configAlphaSize > 0)
+ qDebug("Using ARGB Visual ID %d provided by EGL for config %d", (int)visualId, configId);
+ else
+ qDebug("Using Opaque Visual ID %d provided by EGL for config %d", (int)visualId, configId);
+#endif
+ return visualId;
+ }
+
+
+ // If EGL didn't give us a valid visual ID, try XRender
+#if !defined(QT_NO_XRENDER)
+ if (!visualId) {
+ XVisualInfo visualInfoTemplate;
+ memset(&visualInfoTemplate, 0, sizeof(XVisualInfo));
+
+ visualInfoTemplate.depth = configBitDepth;
+ visualInfoTemplate.c_class = TrueColor;
+
+ XVisualInfo *matchingVisuals;
+ int matchingCount = 0;
+ matchingVisuals = XGetVisualInfo(X11->display,
+ VisualDepthMask|VisualClassMask,
+ &visualInfoTemplate,
+ &matchingCount);
+
+ for (int i = 0; i < matchingCount; ++i) {
+ XRenderPictFormat *format;
+ format = XRenderFindVisualFormat(X11->display, matchingVisuals[i].visual);
+
+ // Check the format for the visual matches the EGL config
+ if ( (countBits(format->direct.redMask) == configRedSize) &&
+ (countBits(format->direct.greenMask) == configGreenSize) &&
+ (countBits(format->direct.blueMask) == configBlueSize) &&
+ (countBits(format->direct.alphaMask) == configAlphaSize) )
+ {
+ visualId = matchingVisuals[i].visualid;
+ break;
+ }
+ }
+ if (matchingVisuals)
+ XFree(matchingVisuals);
+
+ }
+ if (visualId) {
+# ifdef QT_DEBUG_X11_VISUAL_SELECTION
+ if (configAlphaSize > 0)
+ qDebug("Using ARGB Visual ID %d provided by XRender for EGL config %d", (int)visualId, configId);
+ else
+ qDebug("Using Opaque Visual ID %d provided by XRender for EGL config %d", (int)visualId, configId);
+# endif // QT_DEBUG_X11_VISUAL_SELECTION
+ return visualId;
+ }
+#endif //!defined(QT_NO_XRENDER)
+
+
+ // Finally, if XRender also failed to find a visual (or isn't present), try to
+ // use XGetVisualInfo and only use the bit depth to match on:
+ if (!visualId) {
+ XVisualInfo visualInfoTemplate;
+ memset(&visualInfoTemplate, 0, sizeof(XVisualInfo));
+
+ visualInfoTemplate.depth = configBitDepth;
+
+ XVisualInfo *matchingVisuals;
+ int matchingCount = 0;
+ matchingVisuals = XGetVisualInfo(X11->display,
+ VisualDepthMask,
+ &visualInfoTemplate,
+ &matchingCount);
+ if (matchingVisuals) {
+ visualId = matchingVisuals[0].visualid;
+ XFree(matchingVisuals);
+ }
+ }
+
+ if (visualId) {
+#ifdef QT_DEBUG_X11_VISUAL_SELECTION
+ qDebug("Using Visual ID %d provided by XGetVisualInfo for EGL config %d", (int)visualId, configId);
+#endif
+ return visualId;
+ }
+
+ qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+ return (VisualID)0;
+}
+
+void qt_set_winid_on_widget(QWidget* w, Qt::HANDLE id)
+{
+ w->create(id);
+}
+
+
+// NOTE: The X11 version of createSurface will re-create the native drawable if it's visual doesn't
+// match the one for the passed in EGLConfig
+EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig config, const QEglProperties *unusedProperties)
+{
+ Q_UNUSED(unusedProperties);
+
+ int devType = device->devType();
+
+ if (devType == QInternal::Pbuffer) {
+ // TODO
+ return EGL_NO_SURFACE;
+ }
+
+ QX11PixmapData *x11PixmapData = 0;
+ if (devType == QInternal::Pixmap) {
+ QPixmapData *pmd = static_cast<QPixmap*>(device)->data_ptr().data();
+ if (pmd->classId() == QPixmapData::X11Class)
+ x11PixmapData = static_cast<QX11PixmapData*>(pmd);
+ else {
+ // TODO: Replace the pixmap's data with a new QX11PixmapData
+ qWarning("WARNING: Creating an EGL surface on a QPixmap is only supported for QX11PixmapData");
+ return EGL_NO_SURFACE;
+ }
+ } else if ((devType != QInternal::Widget) && (devType != QInternal::Pbuffer)) {
+ qWarning("WARNING: Creating an EGLSurface for device type %d isn't supported", devType);
+ return EGL_NO_SURFACE;
+ }
+
+ VisualID visualId = QEgl::getCompatibleVisualId(config);
+ EGLint alphaSize;
+ eglGetConfigAttrib(QEgl::display(), config, EGL_ALPHA_SIZE, &alphaSize);
+
+ if (devType == QInternal::Widget) {
+ QWidget *widget = static_cast<QWidget*>(device);
+
+ VisualID currentVisualId = 0;
+ if (widget->testAttribute(Qt::WA_WState_Created))
+ currentVisualId = XVisualIDFromVisual((Visual*)widget->x11Info().visual());
+
+ if (currentVisualId != visualId) {
+ // The window is either not created or has the wrong visual. Either way, we need
+ // to create a window with the correct visual and call create() on the widget:
+
+ bool visible = widget->isVisible();
+ if (visible)
+ widget->hide();
+
+ XVisualInfo visualInfo;
+ visualInfo.visualid = visualId;
+ {
+ XVisualInfo *visualInfoPtr;
+ int matchingCount = 0;
+ visualInfoPtr = XGetVisualInfo(widget->x11Info().display(), VisualIDMask,
+ &visualInfo, &matchingCount);
+ Q_ASSERT(visualInfoPtr); // visualId really should be valid!
+ visualInfo = *visualInfoPtr;
+ XFree(visualInfoPtr);
+ }
+
+ Window parentWindow = RootWindow(widget->x11Info().display(), widget->x11Info().screen());
+ if (widget->parentWidget())
+ parentWindow = widget->parentWidget()->winId();
+
+ XSetWindowAttributes windowAttribs;
+ QColormap colmap = QColormap::instance(widget->x11Info().screen());
+ windowAttribs.background_pixel = colmap.pixel(widget->palette().color(widget->backgroundRole()));
+ windowAttribs.border_pixel = colmap.pixel(Qt::black);
+
+ unsigned int valueMask = CWBackPixel|CWBorderPixel;
+ if (alphaSize > 0) {
+ windowAttribs.colormap = XCreateColormap(widget->x11Info().display(), parentWindow,
+ visualInfo.visual, AllocNone);
+ valueMask |= CWColormap;
+ }
+
+ Window window = XCreateWindow(widget->x11Info().display(), parentWindow,
+ widget->x(), widget->y(), widget->width(), widget->height(),
+ 0, visualInfo.depth, InputOutput, visualInfo.visual,
+ valueMask, &windowAttribs);
+
+ // This is a nasty hack to get round the fact that we can't be a friend of QWidget:
+ qt_set_winid_on_widget(widget, window);
+
+ if (visible)
+ widget->show();
+ }
+
+ // At this point, the widget's window should be created and have the correct visual. Now we
+ // just need to create the EGL surface for it:
+ return eglCreateWindowSurface(QEgl::display(), config, (EGLNativeWindowType)widget->winId(), 0);
+ }
+
+ if (x11PixmapData) {
+ // X11 Pixmaps are only created with a depth, so that's all we need to check
+ EGLint configDepth;
+ eglGetConfigAttrib(QEgl::display(), config, EGL_BUFFER_SIZE , &configDepth);
+ if (x11PixmapData->depth() != configDepth) {
+ // The bit depths are wrong which means the EGLConfig isn't compatable with
+ // this pixmap. So we need to replace the pixmap's existing data with a new
+ // one which is created with the correct depth:
+
+#ifndef QT_NO_XRENDER
+ if (configDepth == 32) {
+ qWarning("Warning: EGLConfig's depth (32) != pixmap's depth (%d), converting to ARGB32",
+ x11PixmapData->depth());
+ x11PixmapData->convertToARGB32(true);
+ } else
+#endif
+ {
+ qWarning("Warning: EGLConfig's depth (%d) != pixmap's depth (%d)",
+ configDepth, x11PixmapData->depth());
+ }
+ }
+
+ QEglProperties surfaceAttribs;
+
+ // If the pixmap can't be bound to a texture, it's pretty useless
+ surfaceAttribs.setValue(EGL_TEXTURE_TARGET, EGL_TEXTURE_2D);
+ if (alphaSize > 0)
+ surfaceAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGBA);
+ else
+ surfaceAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB);
+
+ EGLSurface surf = eglCreatePixmapSurface(QEgl::display(), config,
+ (EGLNativePixmapType) x11PixmapData->handle(),
+ surfaceAttribs.properties());
+ x11PixmapData->gl_surface = (void*)surf;
+ QImagePixmapCleanupHooks::enableCleanupHooks(x11PixmapData);
+ return surf;
+ }
+
+ return EGL_NO_SURFACE;
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/egl/qeglcontext_p.h b/src/gui/egl/qeglcontext_p.h
new file mode 100644
index 0000000000..7eec7eb523
--- /dev/null
+++ b/src/gui/egl/qeglcontext_p.h
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui 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.
+**
+** 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 QEGLCONTEXT_P_H
+#define QEGLCONTEXT_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience of
+// the QtOpenGL and QtOpenVG modules. This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qsize.h>
+#include <QtGui/qimage.h>
+
+#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglproperties_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class Q_GUI_EXPORT QEglContext
+{
+public:
+ QEglContext();
+ ~QEglContext();
+
+ bool isValid() const;
+ bool isCurrent() const;
+ bool isSharing() const { return sharing; }
+
+ QEgl::API api() const { return apiType; }
+ void setApi(QEgl::API api) { apiType = api; }
+
+ bool chooseConfig(const QEglProperties& properties, QEgl::PixelFormatMatch match = QEgl::ExactPixelFormat);
+ bool createContext(QEglContext *shareContext = 0, const QEglProperties *properties = 0);
+ void destroyContext();
+ EGLSurface createSurface(QPaintDevice *device, const QEglProperties *properties = 0);
+ void destroySurface(EGLSurface surface);
+
+ bool makeCurrent(EGLSurface surface);
+ bool doneCurrent();
+ bool lazyDoneCurrent();
+ bool swapBuffers(EGLSurface surface);
+
+ void waitNative();
+ void waitClient();
+
+ bool configAttrib(int name, EGLint *value) const;
+ int configAttrib(int name) const;
+
+ EGLContext context() const { return ctx; }
+ void setContext(EGLContext context) { ctx = context; ownsContext = false;}
+
+ EGLDisplay display() {return QEgl::display();}
+
+ EGLConfig config() const { return cfg; }
+ void setConfig(EGLConfig config) { cfg = config; }
+
+ QEglProperties configProperties() const;
+
+private:
+ QEgl::API apiType;
+ EGLContext ctx;
+ EGLConfig cfg;
+ EGLSurface currentSurface;
+ bool current;
+ bool ownsContext;
+ bool sharing;
+
+ static QEglContext *currentContext(QEgl::API api);
+ static void setCurrentContext(QEgl::API api, QEglContext *context);
+};
+
+QT_END_NAMESPACE
+
+#endif // QEGLCONTEXT_P_H
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index 236ec372f6..b5d31033a5 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -39,15 +39,13 @@
**
****************************************************************************/
-#include "qeglproperties_p.h"
-
-QT_BEGIN_NAMESPACE
-
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>
-#include "qegl_p.h"
+#include "qeglproperties_p.h"
+#include "qeglcontext_p.h"
+QT_BEGIN_NAMESPACE
// Initialize a property block.
QEglProperties::QEglProperties()
@@ -60,7 +58,7 @@ QEglProperties::QEglProperties(EGLConfig cfg)
props.append(EGL_NONE);
for (int name = 0x3020; name <= 0x304F; ++name) {
EGLint value;
- if (name != EGL_NONE && eglGetConfigAttrib(QEglContext::display(), cfg, name, &value))
+ if (name != EGL_NONE && eglGetConfigAttrib(QEgl::display(), cfg, name, &value))
setValue(name, value);
}
eglGetError(); // Clear the error state.
@@ -166,6 +164,17 @@ bool QEglProperties::removeValue(int name)
return false;
}
+void QEglProperties::setDeviceType(int devType)
+{
+ if (devType == QInternal::Pixmap || devType == QInternal::Image)
+ setValue(EGL_SURFACE_TYPE, EGL_PIXMAP_BIT);
+ else if (devType == QInternal::Pbuffer)
+ setValue(EGL_SURFACE_TYPE, EGL_PBUFFER_BIT);
+ else
+ setValue(EGL_SURFACE_TYPE, EGL_WINDOW_BIT);
+}
+
+
// Sets the red, green, blue, and alpha sizes based on a pixel format.
// Normally used to match a configuration request to the screen format.
void QEglProperties::setPixelFormat(QImage::Format pixelFormat)
@@ -229,6 +238,16 @@ void QEglProperties::setRenderableType(QEgl::API api)
// reductions in complexity are possible.
bool QEglProperties::reduceConfiguration()
{
+#ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT
+ // For OpenVG, we sometimes try to create a surface using a pre-multiplied format. If we can't
+ // find a config which supports pre-multiplied formats, remove the flag on the surface type:
+ EGLint surfaceType = value(EGL_SURFACE_TYPE);
+ if (surfaceType & EGL_VG_ALPHA_FORMAT_PRE_BIT) {
+ surfaceType ^= EGL_VG_ALPHA_FORMAT_PRE_BIT;
+ setValue(EGL_SURFACE_TYPE, surfaceType);
+ return true;
+ }
+#endif
// EGL chooses configs with the highest color depth over
// those with smaller (but faster) lower color depths. One
// way around this is to set EGL_BUFFER_SIZE to 16, which
@@ -273,12 +292,12 @@ static void addTag(QString& str, const QString& tag)
void QEglProperties::dumpAllConfigs()
{
EGLint count = 0;
- eglGetConfigs(QEglContext::display(), 0, 0, &count);
+ eglGetConfigs(QEgl::display(), 0, 0, &count);
if (count < 1)
return;
EGLConfig *configs = new EGLConfig [count];
- eglGetConfigs(QEglContext::display(), configs, count, &count);
+ eglGetConfigs(QEgl::display(), configs, count, &count);
for (EGLint index = 0; index < count; ++index)
qWarning() << QEglProperties(configs[index]).toString();
delete [] configs;
diff --git a/src/gui/egl/qeglproperties_p.h b/src/gui/egl/qeglproperties_p.h
index feed1d2d68..eebcf72d26 100644
--- a/src/gui/egl/qeglproperties_p.h
+++ b/src/gui/egl/qeglproperties_p.h
@@ -56,50 +56,10 @@
#include <QtCore/qvarlengtharray.h>
#include <QtGui/qimage.h>
-QT_BEGIN_INCLUDE_NAMESPACE
-
-#if defined(QT_GLES_EGL)
-#include <GLES/egl.h>
-#else
-#include <EGL/egl.h>
-#endif
-
-#if defined(Q_WS_X11)
-// If <EGL/egl.h> included <X11/Xlib.h>, then the global namespace
-// may have been polluted with X #define's. The following makes sure
-// the X11 headers were included properly and then cleans things up.
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#undef Bool
-#undef Status
-#undef None
-#undef KeyPress
-#undef KeyRelease
-#undef FocusIn
-#undef FocusOut
-#undef Type
-#undef FontChange
-#undef CursorShape
-#endif
-
-QT_END_INCLUDE_NAMESPACE
+#include <QtGui/private/qegl_p.h>
QT_BEGIN_NAMESPACE
-namespace QEgl {
- enum API
- {
- OpenGL,
- OpenVG
- };
-
- enum PixelFormatMatch
- {
- ExactPixelFormat,
- BestPixelFormat
- };
-};
-
class QX11Info;
class QPaintDevice;
@@ -122,9 +82,9 @@ public:
#ifdef Q_WS_X11
void setVisualFormat(const QX11Info *xinfo);
#endif
- void setRenderableType(QEgl::API api);
-
+ void setDeviceType(int devType);
void setPaintDeviceFormat(QPaintDevice *dev);
+ void setRenderableType(QEgl::API api);
bool reduceConfiguration();
diff --git a/src/gui/embedded/directfb.pri b/src/gui/embedded/directfb.pri
index d6d77b4c1c..75d693e0b4 100644
--- a/src/gui/embedded/directfb.pri
+++ b/src/gui/embedded/directfb.pri
@@ -15,7 +15,7 @@
#DEFINES += QT_DIRECTFB_TIMING
#DEFINES += QT_NO_DIRECTFB_OPAQUE_DETECTION
#DEFINES += QT_NO_DIRECTFB_STRETCHBLIT
-#DIRECTFB_DRAWINGOPERATIONS=DRAW_RECTS|DRAW_LINES|DRAW_IMAGE|DRAW_PIXMAP|DRAW_TILED_PIXMAP|STROKE_PATH|DRAW_PATH|DRAW_POINTS|DRAW_ELLIPSE|DRAW_POLYGON|DRAW_TEXT|FILL_PATH|FILL_RECT|DRAW_COLORSPANS|DRAW_ROUNDED_RECT|DRAW_STATICTEXT
+DIRECTFB_DRAWINGOPERATIONS=DRAW_RECTS|DRAW_LINES|DRAW_IMAGE|DRAW_PIXMAP|DRAW_TILED_PIXMAP|STROKE_PATH|DRAW_PATH|DRAW_POINTS|DRAW_ELLIPSE|DRAW_POLYGON|DRAW_TEXT|FILL_PATH|FILL_RECT|DRAW_COLORSPANS|DRAW_ROUNDED_RECT|DRAW_STATICTEXT
#DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
#DEFINES += \"QT_DIRECTFB_DISABLE_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
diff --git a/src/gui/embedded/qscreen_qws.cpp b/src/gui/embedded/qscreen_qws.cpp
index 65a3fb5910..a3fe1abfc5 100644
--- a/src/gui/embedded/qscreen_qws.cpp
+++ b/src/gui/embedded/qscreen_qws.cpp
@@ -2740,7 +2740,7 @@ void QScreen::compose(int level, const QRegion &exposed, QRegion &blend,
default:
break;
}
- spanData.setup(qwsServer->backgroundBrush(), 256, QPainter::CompositionMode_SourceOver);
+ spanData.setup(qwsServer->backgroundBrush(), 256, QPainter::CompositionMode_Source);
spanData.dx = off.x();
spanData.dy = off.y();
} else if (!surface->isBuffered()) {
diff --git a/src/gui/embedded/qwsmanager_qws.cpp b/src/gui/embedded/qwsmanager_qws.cpp
index d6ef14858b..79076c5785 100644
--- a/src/gui/embedded/qwsmanager_qws.cpp
+++ b/src/gui/embedded/qwsmanager_qws.cpp
@@ -267,8 +267,10 @@ void QWSManager::mouseMoveEvent(QMouseEvent *e)
#ifndef QT_NO_CURSOR
- QWSDisplay *qwsd = QApplication::desktop()->qwsDisplay();
- qwsd->selectCursor(d->managed, regionToShape(d->cachedRegionAt()));
+ if (d->managed->minimumSize() != d->managed->maximumSize()) {
+ QWSDisplay *qwsd = QApplication::desktop()->qwsDisplay();
+ qwsd->selectCursor(d->managed, regionToShape(d->cachedRegionAt()));
+ }
#endif //QT_NO_CURSOR
if (d->activeRegion)
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 5735cd6a75..b7120165d4 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -641,10 +641,10 @@
are children of a modal panel are not blocked.
The values are:
-
+
\value NonModal The panel is not modal and does not block input to
other panels. This is the default value for panels.
-
+
\value PanelModal The panel is modal to a single item hierarchy
and blocks input to its parent pane, all grandparent panels, and
all siblings of its parent and grandparent panels.
@@ -2182,6 +2182,7 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
}
// Certain properties are dropped as an item becomes invisible.
+ bool hasFocus = q_ptr->hasFocus();
if (!newVisible) {
if (scene) {
if (scene->d_func()->mouseGrabberItems.contains(q))
@@ -2191,7 +2192,7 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
if (q->isPanel() && panelModality != QGraphicsItem::NonModal)
scene->d_func()->leaveModal(q_ptr);
}
- if (q_ptr->hasFocus() && scene) {
+ if (hasFocus && scene) {
// Hiding the closest non-panel ancestor of the focus item
QGraphicsItem *focusItem = scene->focusItem();
bool clear = true;
@@ -2204,7 +2205,7 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
} while ((focusItem = focusItem->parentWidget()) && !focusItem->isPanel());
}
if (clear)
- q_ptr->clearFocus();
+ clearFocusHelper(/* giveFocusToParent = */ false);
}
if (q_ptr->isSelected())
q_ptr->setSelected(false);
@@ -2242,26 +2243,45 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
}
// Enable subfocus
- if (scene && newVisible) {
- QGraphicsItem *p = parent;
- bool done = false;
- while (p) {
- if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
- QGraphicsItem *fsi = p->d_ptr->focusScopeItem;
- if (q_ptr == fsi || q_ptr->isAncestorOf(fsi)) {
- done = true;
- while (fsi->d_ptr->focusScopeItem && fsi->d_ptr->focusScopeItem->isVisible())
- fsi = fsi->d_ptr->focusScopeItem;
- scene->setFocusItem(fsi);
+ if (scene) {
+ if (newVisible) {
+ // Item is shown
+ QGraphicsItem *p = parent;
+ bool done = false;
+ while (p) {
+ if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
+ QGraphicsItem *fsi = p->d_ptr->focusScopeItem;
+ if (q_ptr == fsi || q_ptr->isAncestorOf(fsi)) {
+ done = true;
+ while (fsi->d_ptr->focusScopeItem && fsi->d_ptr->focusScopeItem->isVisible())
+ fsi = fsi->d_ptr->focusScopeItem;
+ fsi->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ true,
+ /* focusFromShow = */ true);
+ }
+ break;
}
- break;
+ p = p->d_ptr->parent;
}
- p = p->d_ptr->parent;
- }
- if (!done) {
- QGraphicsItem *fi = subFocusItem;
- if (fi && fi != scene->focusItem()) {
- scene->setFocusItem(fi);
+ if (!done) {
+ QGraphicsItem *fi = subFocusItem;
+ if (fi && fi != scene->focusItem()) {
+ scene->setFocusItem(fi);
+ }
+ }
+ } else {
+ // Item is hidden
+ if (hasFocus) {
+ QGraphicsItem *p = parent;
+ while (p) {
+ if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
+ if (p->d_ptr->visible) {
+ p->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ true,
+ /* focusFromShow = */ true);
+ }
+ break;
+ }
+ p = p->d_ptr->parent;
+ }
}
}
}
@@ -3112,13 +3132,13 @@ bool QGraphicsItem::hasFocus() const
*/
void QGraphicsItem::setFocus(Qt::FocusReason focusReason)
{
- d_ptr->setFocusHelper(focusReason, /* climb = */ true);
+ d_ptr->setFocusHelper(focusReason, /* climb = */ true, /* focusFromShow = */ false);
}
/*!
\internal
*/
-void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool climb)
+void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool climb, bool focusFromShow)
{
// Disabled / unfocusable items cannot accept focus.
if (!q_ptr->isEnabled() || !(flags & QGraphicsItem::ItemIsFocusable))
@@ -3138,7 +3158,7 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim
while (p) {
if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
p->d_ptr->focusScopeItem = q_ptr;
- if (!p->focusItem()) {
+ if (!p->focusItem() && !focusFromShow) {
// If you call setFocus on a child of a focus scope that
// doesn't currently have a focus item, then stop.
return;
@@ -3179,25 +3199,35 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim
*/
void QGraphicsItem::clearFocus()
{
- // Pass focus to the closest parent focus scope when clearing focus
- // from a focus scope.
- if (!d_ptr->inDestructor && (d_ptr->flags & ItemIsFocusScope)) {
- QGraphicsItem *p = d_ptr->parent;
- while (p) {
- if (p->flags() & ItemIsFocusScope) {
- p->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ false);
- return;
+ d_ptr->clearFocusHelper(/* giveFocusToParent = */ true);
+}
+
+/*!
+ \internal
+*/
+void QGraphicsItemPrivate::clearFocusHelper(bool giveFocusToParent)
+{
+ if (giveFocusToParent) {
+ // Pass focus to the closest parent focus scope
+ if (!inDestructor) {
+ QGraphicsItem *p = parent;
+ while (p) {
+ if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
+ p->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ false,
+ /* focusFromShow = */ false);
+ return;
+ }
+ p = p->d_ptr->parent;
}
- p = p->d_ptr->parent;
}
}
// Invisible items with focus must explicitly clear subfocus.
- d_ptr->clearSubFocus(this);
+ clearSubFocus(q_ptr);
- if (hasFocus()) {
+ if (q_ptr->hasFocus()) {
// If this item has the scene's input focus, clear it.
- d_ptr->scene->setFocusItem(0);
+ scene->setFocusItem(0);
}
}
@@ -10818,6 +10848,7 @@ void QGraphicsItemEffectSourcePrivate::draw(QPainter *painter)
}
}
+// sourceRect must be in the given coordinate system
QRect QGraphicsItemEffectSourcePrivate::paddedEffectRect(Qt::CoordinateSystem system, QGraphicsEffect::PixmapPadMode mode, const QRectF &sourceRect, bool *unpadded) const
{
QRectF effectRectF;
@@ -10827,7 +10858,8 @@ QRect QGraphicsItemEffectSourcePrivate::paddedEffectRect(Qt::CoordinateSystem sy
if (mode == QGraphicsEffect::PadToEffectiveBoundingRect) {
if (info) {
- effectRectF = item->graphicsEffect()->boundingRectFor(boundingRect(Qt::DeviceCoordinates));
+ QRectF deviceRect = system == Qt::DeviceCoordinates ? sourceRect : info->painter->worldTransform().mapRect(sourceRect);
+ effectRectF = item->graphicsEffect()->boundingRectFor(deviceRect);
if (unpadded)
*unpadded = (effectRectF.size() == sourceRect.size());
if (info && system == Qt::LogicalCoordinates)
@@ -10876,30 +10908,6 @@ QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QP
return static_cast<QGraphicsPixmapItem *>(item)->pixmap();
}
- if (deviceCoordinates) {
- // Clip to viewport rect.
- int left, top, right, bottom;
- effectRect.getCoords(&left, &top, &right, &bottom);
- if (left < 0) {
- if (offset)
- offset->rx() += -left;
- effectRect.setX(0);
- }
- if (top < 0) {
- if (offset)
- offset->ry() += -top;
- effectRect.setY(0);
- }
- // NB! We use +-1 for historical reasons (see QRect documentation).
- QPaintDevice *device = info->painter->device();
- const int deviceWidth = device->width();
- const int deviceHeight = device->height();
- if (right + 1 > deviceWidth)
- effectRect.setRight(deviceWidth - 1);
- if (bottom + 1 > deviceHeight)
- effectRect.setBottom(deviceHeight -1);
-
- }
if (effectRect.isEmpty())
return QPixmap();
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index d72833bc6e..56f94a20c9 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -540,10 +540,10 @@ class Q_GUI_EXPORT QGraphicsObject : public QObject, public QGraphicsItem
Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged FINAL)
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(QPointF pos READ pos WRITE setPos)
- Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged)
- Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged)
- Q_PROPERTY(qreal z READ zValue WRITE setZValue NOTIFY zChanged)
+ Q_PROPERTY(QPointF pos READ pos WRITE setPos FINAL)
+ Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged FINAL)
+ Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged FINAL)
+ Q_PROPERTY(qreal z READ zValue WRITE setZValue NOTIFY zChanged FINAL)
Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged)
Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged)
Q_PROPERTY(QPointF transformOriginPoint READ transformOriginPoint WRITE setTransformOriginPoint)
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 4c4bfaf048..de8cf56975 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -414,7 +414,8 @@ public:
inline void markParentDirty(bool updateBoundingRect = false);
- void setFocusHelper(Qt::FocusReason focusReason, bool climb);
+ void setFocusHelper(Qt::FocusReason focusReason, bool climb, bool focusFromShow);
+ void clearFocusHelper(bool giveFocusToParent);
void setSubFocus(QGraphicsItem *rootItem = 0);
void clearSubFocus(QGraphicsItem *rootItem = 0);
void resetFocusProxy();
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.cpp b/src/gui/graphicsview/qgraphicslinearlayout.cpp
index 6a9eb29cd4..9722683d3c 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.cpp
+++ b/src/gui/graphicsview/qgraphicslinearlayout.cpp
@@ -554,6 +554,8 @@ void QGraphicsLinearLayout::dump(int indent) const
d->orientation == Qt::Horizontal ? "Horizontal" : "Vertical");
d->engine.dump(indent + 1);
}
+#else
+ Q_UNUSED(indent);
#endif
}
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 365afdd46e..159c997f80 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -228,6 +228,7 @@
#include <QtCore/qstack.h>
#include <QtCore/qtimer.h>
#include <QtCore/qvarlengtharray.h>
+#include <QtCore/QMetaMethod>
#include <QtGui/qapplication.h>
#include <QtGui/qdesktopwidget.h>
#include <QtGui/qevent.h>
@@ -277,8 +278,6 @@ static void _q_hoverFromMouseEvent(QGraphicsSceneHoverEvent *hover, const QGraph
hover->setAccepted(mouseEvent->isAccepted());
}
-int QGraphicsScenePrivate::changedSignalIndex;
-
/*!
\internal
*/
@@ -329,9 +328,10 @@ void QGraphicsScenePrivate::init()
index = new QGraphicsSceneBspTreeIndex(q);
// Keep this index so we can check for connected slots later on.
- if (!changedSignalIndex) {
- changedSignalIndex = signalIndex("changed(QList<QRectF>)");
- }
+ changedSignalIndex = signalIndex("changed(QList<QRectF>)");
+ processDirtyItemsIndex = q->metaObject()->indexOfSlot("_q_processDirtyItems()");
+ polishItemsIndex = q->metaObject()->indexOfSlot("_q_polishItems()");
+
qApp->d_func()->scene_list.append(q);
q->update();
}
@@ -2537,8 +2537,10 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
return;
}
- if (d->unpolishedItems.isEmpty())
- QMetaObject::invokeMethod(this, "_q_polishItems", Qt::QueuedConnection);
+ if (d->unpolishedItems.isEmpty()) {
+ QMetaMethod method = metaObject()->method(d->polishItemsIndex);
+ method.invoke(this, Qt::QueuedConnection);
+ }
d->unpolishedItems.append(item);
item->d_ptr->pendingPolish = true;
@@ -4728,31 +4730,18 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
if (sourced->currentCachedSystem() != Qt::LogicalCoordinates
&& sourced->lastEffectTransform != painter->worldTransform())
{
- bool unclipped = false;
if (sourced->lastEffectTransform.type() <= QTransform::TxTranslate
&& painter->worldTransform().type() <= QTransform::TxTranslate)
{
- QRectF itemRect = item->boundingRect();
- if (!item->d_ptr->children.isEmpty())
- itemRect |= item->childrenBoundingRect();
+ QRectF sourceRect = sourced->boundingRect(Qt::DeviceCoordinates);
+ QRect effectRect = sourced->paddedEffectRect(Qt::DeviceCoordinates, sourced->currentCachedMode(), sourceRect);
- QRectF oldSourceRect = sourced->lastEffectTransform.mapRect(itemRect);
- QRectF newSourceRect = painter->worldTransform().mapRect(itemRect);
-
- QRect oldEffectRect = sourced->paddedEffectRect(sourced->currentCachedSystem(), sourced->currentCachedMode(), oldSourceRect);
- QRect newEffectRect = sourced->paddedEffectRect(sourced->currentCachedSystem(), sourced->currentCachedMode(), newSourceRect);
-
- QRect deviceRect(0, 0, painter->device()->width(), painter->device()->height());
- if (deviceRect.contains(oldEffectRect) && deviceRect.contains(newEffectRect)) {
- sourced->setCachedOffset(newEffectRect.topLeft());
- unclipped = true;
- }
+ sourced->setCachedOffset(effectRect.topLeft());
+ } else {
+ sourced->invalidateCache(QGraphicsEffectSourcePrivate::TransformChanged);
}
sourced->lastEffectTransform = painter->worldTransform();
-
- if (!unclipped)
- sourced->invalidateCache(QGraphicsEffectSourcePrivate::TransformChanged);
}
item->d_ptr->graphicsEffect->draw(painter);
@@ -4892,7 +4881,9 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
return;
if (!processDirtyItemsEmitted) {
- QMetaObject::invokeMethod(q_ptr, "_q_processDirtyItems", Qt::QueuedConnection);
+ QMetaMethod method = q_ptr->metaObject()->method(processDirtyItemsIndex);
+ method.invoke(q_ptr, Qt::QueuedConnection);
+// QMetaObject::invokeMethod(q_ptr, "_q_processDirtyItems", Qt::QueuedConnection);
processDirtyItemsEmitted = true;
}
@@ -5972,12 +5963,12 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
QList<QGesture *> allGestures = event->gestures();
DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
- << "Delivering gestures:" << allGestures;
+ << "Gestures:" << allGestures;
QSet<QGesture *> startedGestures;
- QPoint delta = graphicsView->mapFromGlobal(QPoint());
- QTransform toScene = QTransform::fromTranslate(delta.x(), delta.y())
- * graphicsView->viewportTransform().inverted();
+ QPoint delta = viewport->mapFromGlobal(QPoint());
+ QTransform toScene = QTransform::fromTranslate(delta.x(), delta.y())
+ * graphicsView->viewportTransform().inverted();
foreach (QGesture *gesture, allGestures) {
// cache scene coordinates of the hot spot
if (gesture->hasHotSpot()) {
@@ -6003,7 +5994,8 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
cachedTargetItems = cachedItemGestures.keys();
qSort(cachedTargetItems.begin(), cachedTargetItems.end(), qt_closestItemFirst);
DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
- << "Conflicting gestures:" << conflictedGestures;
+ << "Normal gestures:" << normalGestures
+ << "Conflicting gestures:" << conflictedGestures;
// deliver conflicted gestures as override events AND remember
// initial gesture targets
@@ -6080,6 +6072,10 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
const Qt::GestureFlags flags = d->gestureContext.value(gesture->gestureType());
if (flags & Qt::IgnoredGesturesPropagateToParent)
parentPropagatedGestures.insert(gesture);
+ } else {
+ DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
+ << "no target for" << gesture << "at"
+ << gesture->hotSpot() << gesture->d_func()->sceneHotSpot;
}
}
qSort(cachedTargetItems.begin(), cachedTargetItems.end(), qt_closestItemFirst);
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index ca8b829c5a..11e250efca 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -87,7 +87,9 @@ public:
static QGraphicsScenePrivate *get(QGraphicsScene *q);
- static int changedSignalIndex;
+ int changedSignalIndex;
+ int processDirtyItemsIndex;
+ int polishItemsIndex;
QGraphicsScene::ItemIndexMethod indexMethod;
QGraphicsSceneIndex *index;
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 1ced3d7d83..a767987c35 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -3360,12 +3360,6 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
backgroundPainter.setClipRegion(d->backgroundPixmapExposed, Qt::ReplaceClip);
if (viewTransformed)
backgroundPainter.setTransform(viewTransform);
-#ifdef Q_WS_X11
-#undef X11
- if (backgroundPainter.paintEngine()->type() != QPaintEngine::X11)
-#define X11 qt_x11Data
-#endif
- backgroundPainter.setCompositionMode(QPainter::CompositionMode_Source);
QRectF backgroundExposedSceneRect = mapToScene(d->backgroundPixmapExposed.boundingRect()).boundingRect();
drawBackground(&backgroundPainter, backgroundExposedSceneRect);
d->backgroundPixmapExposed = QRegion();
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index bf6eb8dcb0..fad51f41ae 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -982,7 +982,9 @@ QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback)
icon = *cachedIcon;
}
- if (icon.availableSizes().isEmpty())
+ // Note the qapp check is to allow lazy loading of static icons
+ // Supporting fallbacks will not work for this case.
+ if (qApp && icon.availableSizes().isEmpty())
return fallback;
return icon;
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index b35e80a0ea..72ec2e85d4 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -85,19 +85,30 @@ static QString fallbackTheme()
}
QIconLoader::QIconLoader() :
- m_themeKey(1), m_supportsSvg(false)
+ m_themeKey(1), m_supportsSvg(false), m_initialized(false)
{
- m_systemTheme = qt_guiPlatformPlugin()->systemIconThemeName();
- if (m_systemTheme.isEmpty())
- m_systemTheme = fallbackTheme();
+}
+
+// We lazily initialize the loader to make static icons
+// work. Though we do not officially support this.
+void QIconLoader::ensureInitialized()
+{
+ if (!m_initialized) {
+ m_initialized = true;
+
+ Q_ASSERT(qApp);
+ m_systemTheme = qt_guiPlatformPlugin()->systemIconThemeName();
+ if (m_systemTheme.isEmpty())
+ m_systemTheme = fallbackTheme();
#ifndef QT_NO_LIBRARY
- QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterfaceV2_iid,
- QLatin1String("/iconengines"),
- Qt::CaseInsensitive);
- if (iconFactoryLoader.keys().contains(QLatin1String("svg")))
- m_supportsSvg = true;
+ QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterfaceV2_iid,
+ QLatin1String("/iconengines"),
+ Qt::CaseInsensitive);
+ if (iconFactoryLoader.keys().contains(QLatin1String("svg")))
+ m_supportsSvg = true;
#endif //QT_NO_LIBRARY
+ }
}
QIconLoader *QIconLoader::instance()
@@ -339,6 +350,9 @@ bool QIconLoaderEngine::hasIcon() const
// Lazily load the icon
void QIconLoaderEngine::ensureLoaded()
{
+
+ iconLoaderInstance()->ensureInitialized();
+
if (!(iconLoaderInstance()->themeKey() == m_key)) {
while (!m_entries.isEmpty())
diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h
index 19f2ddaf56..a6b5f5bf12 100644
--- a/src/gui/image/qiconloader_p.h
+++ b/src/gui/image/qiconloader_p.h
@@ -169,6 +169,7 @@ public:
static QIconLoader *instance();
void updateSystemTheme();
void invalidateKey() { m_themeKey++; }
+ void ensureInitialized();
private:
QThemeIconEntries findIconHelper(const QString &themeName,
@@ -176,6 +177,7 @@ private:
QStringList &visited) const;
uint m_themeKey;
bool m_supportsSvg;
+ bool m_initialized;
mutable QString m_userTheme;
mutable QString m_systemTheme;
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 6bcf72b64d..94307de8d7 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -480,9 +480,12 @@ bool QImageData::checkForAlphaPixels() const
\row
\o Low-level information
\o
+
The depth() function returns the depth of the image. The supported
- depths are 1 (monochrome), 8 and 32 (for more information see the
- \l {QImage#Image Formats}{Image Formats} section).
+ depths are 1 (monochrome), 8, 16, 24 and 32 bits. The
+ bitPlaneCount() function tells how many of those bits that are
+ used. For more information see the
+ \l {QImage#Image Formats}{Image Formats} section.
The format(), bytesPerLine(), and byteCount() functions provide
low-level information about the data stored in the image.
@@ -707,7 +710,7 @@ bool QImageData::checkForAlphaPixels() const
packed with the less significant bit (LSB) first.
\value Format_Indexed8 The image is stored using 8-bit indexes
- into a colormap.
+ into a colormap.
\value Format_RGB32 The image is stored using a 32-bit RGB format (0xffRRGGBB).
@@ -1580,12 +1583,12 @@ QRect QImage::rect() const
/*!
Returns the depth of the image.
- The image depth is the number of bits used to encode a single
+ The image depth is the number of bits used to store a single
pixel, also called bits per pixel (bpp).
The supported depths are 1, 8, 16, 24 and 32.
- \sa convertToFormat(), {QImage#Image Formats}{Image Formats},
+ \sa bitPlaneCount(), convertToFormat(), {QImage#Image Formats}{Image Formats},
{QImage#Image Information}{Image Information}
*/
@@ -5848,6 +5851,48 @@ bool QImage::hasAlphaChannel() const
}
+/*!
+ \since 4.7
+ Returns the number of bit planes in the image.
+
+ The number of bit planes is the number of bits of color and
+ transparency information for each pixel. This is different from
+ (i.e. smaller than) the depth when the image format contains
+ unused bits.
+
+ \sa depth(), format(), {QImage#Image Formats}{Image Formats}
+*/
+int QImage::bitPlaneCount() const
+{
+ if (!d)
+ return 0;
+ int bpc = 0;
+ switch (d->format) {
+ case QImage::Format_Invalid:
+ break;
+ case QImage::Format_RGB32:
+ bpc = 24;
+ break;
+ case QImage::Format_RGB666:
+ bpc = 18;
+ break;
+ case QImage::Format_RGB555:
+ bpc = 15;
+ break;
+ case QImage::Format_ARGB8555_Premultiplied:
+ bpc = 23;
+ break;
+ case QImage::Format_RGB444:
+ bpc = 12;
+ break;
+ default:
+ bpc = depthForFormat(d->format);
+ break;
+ }
+ return bpc;
+}
+
+
#ifdef QT3_SUPPORT
#if defined(Q_WS_X11)
QT_BEGIN_INCLUDE_NAMESPACE
diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h
index dd13782304..896061ffc0 100644
--- a/src/gui/image/qimage.h
+++ b/src/gui/image/qimage.h
@@ -169,6 +169,7 @@ public:
QT_DEPRECATED int numColors() const;
#endif
int colorCount() const;
+ int bitPlaneCount() const;
QRgb color(int i) const;
void setColor(int i, QRgb c);
diff --git a/src/gui/image/qimagepixmapcleanuphooks.cpp b/src/gui/image/qimagepixmapcleanuphooks.cpp
index 517fcb0cea..521e3485aa 100644
--- a/src/gui/image/qimagepixmapcleanuphooks.cpp
+++ b/src/gui/image/qimagepixmapcleanuphooks.cpp
@@ -96,6 +96,11 @@ void QImagePixmapCleanupHooks::removeImageHook(_qt_image_cleanup_hook_64 hook)
void QImagePixmapCleanupHooks::executePixmapDataModificationHooks(QPixmapData* pmd)
{
QImagePixmapCleanupHooks *h = qt_image_and_pixmap_cleanup_hooks();
+ // the global destructor for the pixmap and image hooks might have
+ // been called already if the app is "leaking" global
+ // pixmaps/images
+ if (!h)
+ return;
for (int i = 0; i < h->pixmapModificationHooks.count(); ++i)
h->pixmapModificationHooks[i](pmd);
@@ -106,6 +111,11 @@ void QImagePixmapCleanupHooks::executePixmapDataModificationHooks(QPixmapData* p
void QImagePixmapCleanupHooks::executePixmapDataDestructionHooks(QPixmapData* pmd)
{
QImagePixmapCleanupHooks *h = qt_image_and_pixmap_cleanup_hooks();
+ // the global destructor for the pixmap and image hooks might have
+ // been called already if the app is "leaking" global
+ // pixmaps/images
+ if (!h)
+ return;
for (int i = 0; i < h->pixmapDestructionHooks.count(); ++i)
h->pixmapDestructionHooks[i](pmd);
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index ae62f06c13..474cd2efa7 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -831,21 +831,14 @@ bool QPixmap::load(const QString &fileName, const char *format, Qt::ImageConvers
if (QPixmapCache::find(key, *this))
return true;
- bool ok;
-
- if (data) {
- ok = data->fromFile(fileName, format, flags);
- } else {
- QScopedPointer<QPixmapData> tmp(QPixmapData::create(0, 0, QPixmapData::PixmapType));
- ok = tmp->fromFile(fileName, format, flags);
- if (ok)
- data = tmp.take();
- }
-
- if (ok)
+ QScopedPointer<QPixmapData> tmp(QPixmapData::create(0, 0, data ? data->type : QPixmapData::PixmapType));
+ if (tmp->fromFile(fileName, format, flags)) {
+ data = tmp.take();
QPixmapCache::insert(key, *this);
+ return true;
+ }
- return ok;
+ return false;
}
/*!
@@ -2046,12 +2039,16 @@ QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags)
over the one you grab, you get pixels from the overlying window,
too. The mouse cursor is generally not grabbed.
- Note on X11that if the given \a window doesn't have the same depth
+ Note on X11 that if the given \a window doesn't have the same depth
as the root window, and another window partially or entirely
obscures the one you grab, you will \e not get pixels from the
overlying window. The contents of the obscured areas in the
pixmap will be undefined and uninitialized.
+ On Windows Vista and above grabbing a layered window, which is
+ created by setting the Qt::WA_TranslucentBackground attribute, will
+ not work. Instead grabbing the desktop widget should work.
+
\warning In general, grabbing an area outside the screen is not
safe. This depends on the underlying window system.
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index b9763761ba..5a882af5fc 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -314,8 +314,8 @@ static int qt_pixmap_serial = 0;
int Q_GUI_EXPORT qt_x11_preferred_pixmap_depth = 0;
QX11PixmapData::QX11PixmapData(PixelType type)
- : QPixmapData(type, X11Class), hd(0),
- flags(Uninitialized), x11_mask(0), picture(0), mask_picture(0), hd2(0), gl_surface(0),
+ : QPixmapData(type, X11Class), gl_surface(0), hd(0),
+ flags(Uninitialized), x11_mask(0), picture(0), mask_picture(0), hd2(0),
share_mode(QPixmap::ImplicitlyShared), pengine(0)
{
}
diff --git a/src/gui/image/qpixmap_x11_p.h b/src/gui/image/qpixmap_x11_p.h
index 0c0a9bdd06..7575838163 100644
--- a/src/gui/image/qpixmap_x11_p.h
+++ b/src/gui/image/qpixmap_x11_p.h
@@ -94,6 +94,11 @@ public:
static Qt::HANDLE createBitmapFromImage(const QImage &image);
+ void* gl_surface;
+#ifndef QT_NO_XRENDER
+ void convertToARGB32(bool preserveContents = true);
+#endif
+
protected:
int metric(QPaintDevice::PaintDeviceMetric metric) const;
@@ -105,6 +110,7 @@ private:
friend class QRasterWindowSurface;
friend class QGLContextPrivate; // Needs to access xinfo, gl_surface & flags
friend class QEglContext; // Needs gl_surface
+ friend class QGLContext; // Needs gl_surface
friend class QX11GLPixmapData; // Needs gl_surface
friend bool qt_createEGLSurfaceForPixmap(QPixmapData*, bool); // Needs gl_surface
@@ -130,10 +136,6 @@ private:
Qt::HANDLE picture;
Qt::HANDLE mask_picture;
Qt::HANDLE hd2; // sorted in the default display depth
- Qt::HANDLE gl_surface;
-#ifndef QT_NO_XRENDER
- void convertToARGB32(bool preserveContents = true);
-#endif
QPixmap::ShareMode share_mode;
QX11PaintEngine *pengine;
diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp
index 2792e458e0..5355ad3d3a 100644
--- a/src/gui/image/qpixmapfilter.cpp
+++ b/src/gui/image/qpixmapfilter.cpp
@@ -726,7 +726,7 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp
int img_height = img.height();
for (int row = 0; row < img_height; ++row) {
- for (int i = 0; i <= improvedQuality; ++i)
+ for (int i = 0; i <= int(improvedQuality); ++i)
qt_blurrow<aprec, zprec, alphaOnly>(img, row, alpha);
}
@@ -759,7 +759,7 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp
img_height = temp.height();
for (int row = 0; row < img_height; ++row) {
- for (int i = 0; i <= improvedQuality; ++i)
+ for (int i = 0; i <= int(improvedQuality); ++i)
qt_blurrow<aprec, zprec, alphaOnly>(temp, row, alpha);
}
@@ -777,6 +777,9 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp
Q_GUI_EXPORT QImage qt_halfScaled(const QImage &source)
{
+ if (source.width() < 2 || source.height() < 2)
+ return QImage();
+
QImage srcImage = source;
if (source.format() == QImage::Format_Indexed8) {
@@ -869,7 +872,7 @@ Q_GUI_EXPORT void qt_blurImage(QPainter *p, QImage &blurImage, qreal radius, boo
}
qreal scale = 1;
- if (radius >= 4) {
+ if (radius >= 4 && blurImage.width() >= 2 && blurImage.height() >= 2) {
blurImage = qt_halfScaled(blurImage);
scale = 2;
radius *= qreal(0.5);
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 1ac8acefde..cc602465bc 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -551,6 +551,21 @@ void QCoeFepInputContext::StartFepInlineEditL(const TDesC& aInitialInlineText,
m_formatRetriever = &aInlineTextFormatRetriever;
m_pointerHandler = &aPointerEventHandlerDuringInlineEdit;
+ // With T9 aInitialInlineText is typically empty when StartFepInlineEditL is called,
+ // but FEP requires that selected text is always removed at StartFepInlineEditL.
+ // Let's remove the selected text if aInitialInlineText is empty and there is selected text
+ if (m_preeditString.isEmpty()) {
+ int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
+ int replacementLength = qAbs(m_cursorPos-anchor);
+ if (replacementLength > 0) {
+ int replacementStart = m_cursorPos < anchor ? 0 : -replacementLength;
+ QList<QInputMethodEvent::Attribute> clearSelectionAttributes;
+ QInputMethodEvent clearSelectionEvent(QLatin1String(""), clearSelectionAttributes);
+ clearSelectionEvent.setCommitString(QLatin1String(""), replacementStart, replacementLength);
+ sendEvent(clearSelectionEvent);
+ }
+ }
+
applyFormat(&attributes);
attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Cursor,
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index bc6db90cc9..2faf7558fd 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -2568,6 +2568,7 @@ void QAbstractItemView::updateEditorGeometries()
QStyleOptionViewItemV4 option = d->viewOptionsV4();
QList<QEditorInfo>::iterator it = d->editors.begin();
QWidgetList editorsToRelease;
+ QWidgetList editorsToHide;
while (it != d->editors.end()) {
QModelIndex index = it->index;
QWidget *editor = it->editor;
@@ -2579,7 +2580,7 @@ void QAbstractItemView::updateEditorGeometries()
if (delegate)
delegate->updateEditorGeometry(editor, option, index);
} else {
- editor->hide();
+ editorsToHide << editor;
}
++it;
} else {
@@ -2588,8 +2589,11 @@ void QAbstractItemView::updateEditorGeometries()
}
}
- //we release the editor outside of the loop because it might change the focus and try
+ //we hide and release the editor outside of the loop because it might change the focus and try
//to change the d->editors list.
+ for (int i = 0; i < editorsToHide.count(); ++i) {
+ editorsToHide.at(i)->hide();
+ }
for (int i = 0; i < editorsToRelease.count(); ++i) {
d->releaseEditor(editorsToRelease.at(i));
}
@@ -3046,6 +3050,7 @@ void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget
if (!d->isIndexValid(index))
return;
if (QWidget *oldWidget = indexWidget(index)) {
+ d->persistent.remove(oldWidget);
d->removeEditor(oldWidget);
oldWidget->deleteLater();
}
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index 5128b64960..eb3db21e0e 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -2037,7 +2037,7 @@ bool QHeaderView::event(QEvent *e)
updateSection(d->hover);
}
break; }
- case QEvent::Timer: { // ### reimplement timerEvent() instead ?
+ case QEvent::Timer: {
QTimerEvent *te = static_cast<QTimerEvent*>(e);
if (te->timerId() == d->delayedResize.timerId()) {
d->delayedResize.stop();
@@ -2610,7 +2610,7 @@ void QHeaderView::updateGeometries()
Q_D(QHeaderView);
d->layoutChildren();
if (d->hasAutoResizeSections())
- resizeSections();
+ d->doDelayedResizeSections();
}
/*!
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index 9069ce4b67..7d8e103f04 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -1297,14 +1297,8 @@ bool QItemDelegate::editorEvent(QEvent *event,
return false;
}
- Qt::CheckState state;
- if ( flags & Qt::ItemIsTristate ) {
- state = static_cast<Qt::CheckState>( (value.toInt() + 1) % 3 );
- } else {
- state = (static_cast<Qt::CheckState>(value.toInt()) == Qt::Checked
+ Qt::CheckState state = (static_cast<Qt::CheckState>(value.toInt()) == Qt::Checked
? Qt::Unchecked : Qt::Checked);
- }
-
return model->setData(index, state, Qt::CheckStateRole);
}
diff --git a/src/gui/itemviews/qstyleditemdelegate.cpp b/src/gui/itemviews/qstyleditemdelegate.cpp
index 9aac5544e3..880f8ab67c 100644
--- a/src/gui/itemviews/qstyleditemdelegate.cpp
+++ b/src/gui/itemviews/qstyleditemdelegate.cpp
@@ -747,13 +747,8 @@ bool QStyledItemDelegate::editorEvent(QEvent *event,
return false;
}
- Qt::CheckState state;
- if ( flags & Qt::ItemIsTristate ) {
- state = static_cast<Qt::CheckState>( (value.toInt() + 1) % 3 );
- } else {
- state = (static_cast<Qt::CheckState>(value.toInt()) == Qt::Checked
+ Qt::CheckState state = (static_cast<Qt::CheckState>(value.toInt()) == Qt::Checked
? Qt::Unchecked : Qt::Checked);
- }
return model->setData(index, state, Qt::CheckStateRole);
}
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp
index 3111896a04..46fd9d0c35 100644
--- a/src/gui/itemviews/qtableview.cpp
+++ b/src/gui/itemviews/qtableview.cpp
@@ -1908,6 +1908,7 @@ QRegion QTableView::visualRegionForSelection(const QItemSelection &selection) co
width, rowHeight(r)));
}
} else { // nothing moved
+ const int gridAdjust = showGrid() ? 1 : 0;
for (int i = 0; i < selection.count(); ++i) {
QItemSelectionRange range = selection.at(i);
if (range.parent() != d->root || !range.isValid())
@@ -1916,9 +1917,16 @@ QRegion QTableView::visualRegionForSelection(const QItemSelection &selection) co
const int rtop = rowViewportPosition(range.top());
const int rbottom = rowViewportPosition(range.bottom()) + rowHeight(range.bottom());
- const int rleft = columnViewportPosition(range.left());
- const int rright = columnViewportPosition(range.right()) + columnWidth(range.right());
- selectionRegion += QRect(QPoint(rleft, rtop), QPoint(rright, rbottom));
+ int rleft;
+ int rright;
+ if (isLeftToRight()) {
+ rleft = columnViewportPosition(range.left());
+ rright = columnViewportPosition(range.right()) + columnWidth(range.right());
+ } else {
+ rleft = columnViewportPosition(range.right());
+ rright = columnViewportPosition(range.left()) + columnWidth(range.left());
+ }
+ selectionRegion += QRect(QPoint(rleft, rtop), QPoint(rright - 1 - gridAdjust, rbottom - 1 - gridAdjust));
if (d->hasSpans()) {
foreach (QSpanCollection::Span *s,
d->spans.spansInRect(range.left(), range.top(), range.width(), range.height())) {
@@ -1960,12 +1968,7 @@ QModelIndexList QTableView::selectedIndexes() const
void QTableView::rowCountChanged(int /*oldCount*/, int /*newCount*/ )
{
Q_D(QTableView);
- updateGeometries();
- if (verticalScrollMode() == QAbstractItemView::ScrollPerItem)
- d->verticalHeader->setOffsetToSectionPosition(verticalScrollBar()->value());
- else
- d->verticalHeader->setOffset(verticalScrollBar()->value());
- d->viewport->update();
+ d->doDelayedItemsLayout();
}
/*!
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index 37168eb319..78184a9d9a 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -679,16 +679,20 @@ void QTreeView::dataChanged(const QModelIndex &topLeft, const QModelIndex &botto
d->defaultItemHeight = indexRowSizeHint(topLeft);
bool sizeChanged = false;
if (topViewIndex != -1) {
- if (topLeft == bottomRight) {
+ if (topLeft.row() == bottomRight.row()) {
int oldHeight = d->itemHeight(topViewIndex);
d->invalidateHeightCache(topViewIndex);
sizeChanged = (oldHeight != d->itemHeight(topViewIndex));
+ if (topLeft.column() == 0)
+ d->viewItems[topViewIndex].hasChildren = d->hasVisibleChildren(topLeft);
} else {
int bottomViewIndex = d->viewIndex(bottomRight);
for (int i = topViewIndex; i <= bottomViewIndex; ++i) {
int oldHeight = d->itemHeight(i);
d->invalidateHeightCache(i);
sizeChanged |= (oldHeight != d->itemHeight(i));
+ if (topLeft.column() == 0)
+ d->viewItems[i].hasChildren = d->hasVisibleChildren(d->viewItems.at(i).index);
}
}
}
@@ -2524,8 +2528,7 @@ void QTreeView::rowsInserted(const QModelIndex &parent, int start, int end)
d->viewItems[parentItem].hasChildren = true;
d->updateChildCount(parentItem, delta);
- updateGeometries();
- viewport()->update();
+ d->doDelayedItemsLayout();
} else if ((parentItem != -1) && d->viewItems.at(parentItem).expanded) {
d->doDelayedItemsLayout();
} else if (parentItem != -1 && (d->model->rowCount(parent) == end - start + 1)) {
@@ -3780,8 +3783,7 @@ void QTreeViewPrivate::rowsRemoved(const QModelIndex &parent,
}
}
if (after) {
- q->updateGeometries();
- viewport->update();
+ doDelayedItemsLayout();
} else {
//we have removed items: we should at least update the scroll bar values.
// They are used to determine the item geometry.
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 4ec2ae22b3..fea8c370e1 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -498,9 +498,7 @@ inline bool QApplicationPrivate::isAlien(QWidget *widget)
{
if (!widget)
return false;
-#if defined(Q_WS_MAC) // Fake alien behavior on the Mac :)
- return !widget->isWindow() && widget->window()->testAttribute(Qt::WA_DontShowOnScreen);
-#elif defined(Q_WS_QWS)
+#if defined(Q_WS_QWS)
return !widget->isWindow()
# ifdef Q_BACKINGSTORE_SUBSURFACES
&& !(widget->d_func()->maybeTopData() && widget->d_func()->maybeTopData()->windowSurface)
@@ -2311,6 +2309,19 @@ static bool qt_detectRTLLanguage()
" languages or to 'RTL' in right-to-left languages (such as Hebrew"
" and Arabic) to get proper widget layout.") == QLatin1String("RTL"));
}
+#if defined(QT_MAC_USE_COCOA)
+static const char *application_menu_strings[] = {
+ QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Services"),
+ QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Hide %1"),
+ QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Hide Others"),
+ QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Show All")
+ };
+QString qt_mac_applicationmenu_string(int type)
+{
+ return qApp->translate("MAC_APPLICATION_MENU",
+ application_menu_strings[type]);
+}
+#endif
#endif
/*!\reimp
@@ -2339,6 +2350,9 @@ bool QApplication::event(QEvent *e)
#ifndef QT_NO_TRANSLATION
setLayoutDirection(qt_detectRTLLanguage()?Qt::RightToLeft:Qt::LeftToRight);
#endif
+#if defined(QT_MAC_USE_COCOA)
+ qt_mac_post_retranslateAppMenu();
+#endif
QWidgetList list = topLevelWidgets();
for (int i = 0; i < list.size(); ++i) {
QWidget *w = list.at(i);
@@ -3013,7 +3027,7 @@ bool QApplicationPrivate::sendMouseEvent(QWidget *receiver, QMouseEvent *event,
return result;
}
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined(Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
/*
This function should only be called when the widget changes visibility, i.e.
when the \a widget is shown, hidden or deleted. This function does nothing
@@ -3073,7 +3087,7 @@ void QApplicationPrivate::sendSyntheticEnterLeave(QWidget *widget)
sendMouseEvent(widgetUnderCursor, &e, widgetUnderCursor, tlw, &qt_button_down, qt_last_mouse_receiver);
#endif // QT_NO_CURSOR
}
-#endif // Q_WS_WIN || Q_WS_X11
+#endif // Q_WS_WIN || Q_WS_X11 || Q_WS_MAC
/*!
Returns the desktop widget (also called the root window).
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index e511c3ac98..c7d0e481f0 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -184,7 +184,8 @@ bool qt_mac_app_fullscreen = false;
bool qt_scrollbar_jump_to_pos = false;
static bool qt_mac_collapse_on_dblclick = true;
extern int qt_antialiasing_threshold; // from qapplication.cpp
-QPointer<QWidget> qt_button_down; // widget got last button-down
+QWidget * qt_button_down; // widget got last button-down
+QPointer<QWidget> qt_last_mouse_receiver;
#ifndef QT_MAC_USE_COCOA
static bool qt_button_down_in_content; // whether the button_down was in the content area.
static bool qt_mac_previous_press_in_popup_mode = false;
@@ -1222,9 +1223,16 @@ void qt_init(QApplicationPrivate *priv, int)
#endif
if (!app_proc_ae_handlerUPP) {
app_proc_ae_handlerUPP = AEEventHandlerUPP(QApplicationPrivate::globalAppleEventProcessor);
- for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i)
- AEInstallEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
- app_proc_ae_handlerUPP, SRefCon(qApp), false);
+ for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i) {
+ // Install apple event handler, but avoid overwriting an already
+ // existing handler (it means a 3rd party application has installed one):
+ SRefCon refCon = 0;
+ AEEventHandlerUPP current_handler = NULL;
+ AEGetEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id, &current_handler, &refCon, false);
+ if (!current_handler)
+ AEInstallEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
+ app_proc_ae_handlerUPP, SRefCon(qApp), false);
+ }
}
if (QApplicationPrivate::app_style) {
@@ -2495,6 +2503,13 @@ void QApplicationPrivate::setupAppleEvents()
// finished initialization, which appears to be just after [NSApplication run] has
// started to execute. By setting up our apple events handlers this late, we override
// the ones set up by NSApplication.
+
+ // If Qt is used as a plugin, we let the 3rd party application handle events
+ // like quit and open file events. Otherwise, if we install our own handlers, we
+ // easily end up breaking functionallity the 3rd party application depend on:
+ if (QApplication::testAttribute(Qt::AA_MacPluginApplication))
+ return;
+
QT_MANGLE_NAMESPACE(QCocoaApplicationDelegate) *newDelegate = [QT_MANGLE_NAMESPACE(QCocoaApplicationDelegate) sharedDelegate];
NSAppleEventManager *eventManager = [NSAppleEventManager sharedAppleEventManager];
[eventManager setEventHandler:newDelegate andSelector:@selector(appleEventQuit:withReplyEvent:)
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index e0a6103251..6d71cfe466 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -514,7 +514,7 @@ public:
int symbianResourceChange(const QSymbianEvent *symbianEvent);
#endif
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
void sendSyntheticEnterLeave(QWidget *widget);
#endif
@@ -543,6 +543,7 @@ public:
const QList<QTouchEvent::TouchPoint> &touchPoints);
#if defined(Q_WS_WIN)
+ static bool HasTouchSupport;
static PtrRegisterTouchWindow RegisterTouchWindow;
static PtrGetTouchInputInfo GetTouchInputInfo;
static PtrCloseTouchInputHandle CloseTouchInputHandle;
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 156f022338..3b2566b597 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -597,9 +597,9 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod
TUint s60Keysym = QApplicationPrivate::resolveS60ScanCode(keyEvent.iScanCode,
keyEvent.iCode);
int keyCode;
- if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used
- keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode);
- } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) {
+ if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used
+ keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode);
+ } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) {
// Normal characters keys.
keyCode = s60Keysym;
} else {
@@ -966,13 +966,26 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */)
qwidget->d_func()->setWindowTitle_sys(qwidget->windowTitle());
#ifdef Q_WS_S60
// If widget is fullscreen/minimized, hide status pane and button container otherwise show them.
- CEikStatusPane* statusPane = S60->statusPane();
- CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer();
+ CEikStatusPane *statusPane = S60->statusPane();
+ CEikButtonGroupContainer *buttonGroup = S60->buttonGroupContainer();
TBool visible = !(qwidget->windowState() & (Qt::WindowFullScreen | Qt::WindowMinimized));
if (statusPane)
statusPane->MakeVisible(visible);
- if (buttonGroup)
- buttonGroup->MakeVisible(visible);
+ if (buttonGroup) {
+ // Visibility
+ const TBool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen;
+ const TBool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint;
+ buttonGroup->MakeVisible(visible || (isFullscreen && cbaVisibilityHint));
+
+ // Responsiviness
+ CEikCba *cba = static_cast<CEikCba *>( buttonGroup->ButtonGroup() ); // downcast from MEikButtonGroup
+ TUint cbaFlags = cba->ButtonGroupFlags();
+ if(qwidget->windowFlags() & Qt::WindowSoftkeysRespondHint)
+ cbaFlags |= EAknCBAFlagRespondWhenInvisible;
+ else
+ cbaFlags &= ~EAknCBAFlagRespondWhenInvisible;
+ cba->SetButtonGroupFlags(cbaFlags);
+ }
#endif
} else if (QApplication::activeWindow() == qwidget->window()) {
if (CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog()) {
@@ -1016,6 +1029,16 @@ void QSymbianControl::HandleResourceChange(int resourceType)
} else if (qwidget->isMaximized()) {
TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
SetExtent(r.iTl, r.Size());
+ } else if (!qwidget->isMinimized()){ // Normal geometry
+ if (!qwidget->testAttribute(Qt::WA_Resized)) {
+ qwidget->adjustSize();
+ qwidget->setAttribute(Qt::WA_Resized, false); //not a user resize
+ }
+ if (!qwidget->testAttribute(Qt::WA_Moved)) {
+ TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
+ SetPosition(r.iTl);
+ qwidget->setAttribute(Qt::WA_Moved, false); // not really an explicit position
+ }
}
break;
}
@@ -1229,7 +1252,7 @@ void qt_init(QApplicationPrivate * /* priv */, int)
S60->avkonComponentsSupportTransparency = (value==1) ? true : false;
}
}
-#endif
+#endif
#ifdef QT_KEYPAD_NAVIGATION
if (touch) {
@@ -1452,6 +1475,9 @@ void QApplicationPrivate::closePopup(QWidget *popup)
QWidget *fw = QApplicationPrivate::active_window ? QApplicationPrivate::active_window->focusWidget()
: q_func()->focusWidget();
if (fw) {
+ if(fw->window()->isModal()) // restore pointer capture for modal window
+ fw->effectiveWinId()->SetPointerCapture(true);
+
if (fw != q_func()->focusWidget()) {
fw->setFocus(Qt::PopupFocusReason);
} else {
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 131b9bb7dd..9872514b9f 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -115,6 +115,8 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
# include <winable.h>
#endif
+#include "private/qwinnativepangesturerecognizer_win_p.h"
+
#ifndef WM_TOUCH
# define WM_TOUCH 0x0240
@@ -2524,6 +2526,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
}
result = false;
break;
+#if !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
case WM_GESTURE: {
GESTUREINFO gi;
memset(&gi, 0, sizeof(GESTUREINFO));
@@ -2556,6 +2559,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
result = true;
break;
}
+#endif // !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
#ifndef QT_NO_CURSOR
case WM_SETCURSOR: {
QCursor *ovr = QApplication::overrideCursor();
@@ -4012,12 +4016,45 @@ void QSessionManager::cancel()
#endif //QT_NO_SESSIONMANAGER
+bool QApplicationPrivate::HasTouchSupport = false;
PtrRegisterTouchWindow QApplicationPrivate::RegisterTouchWindow = 0;
PtrGetTouchInputInfo QApplicationPrivate::GetTouchInputInfo = 0;
PtrCloseTouchInputHandle QApplicationPrivate::CloseTouchInputHandle = 0;
void QApplicationPrivate::initializeMultitouch_sys()
{
+ static const IID QT_IID_IInkTablets = {0x112086D9, 0x7779, 0x4535, {0xA6, 0x99, 0x86, 0x2B, 0x43, 0xAC, 0x18, 0x63} };
+ static const IID QT_IID_IInkTablet2 = {0x90c91ad2, 0xfa36, 0x49d6, {0x95, 0x16, 0xce, 0x8d, 0x57, 0x0f, 0x6f, 0x85} };
+ static const CLSID QT_CLSID_InkTablets = {0x6E4FCB12, 0x510A, 0x4d40, {0x93, 0x04, 0x1D, 0xA1, 0x0A, 0xE9, 0x14, 0x7C} };
+
+ IInkTablets *iInkTablets = 0;
+ HRESULT hr = CoCreateInstance(QT_CLSID_InkTablets, NULL, CLSCTX_ALL, QT_IID_IInkTablets, (void**)&iInkTablets);
+ if (SUCCEEDED(hr)) {
+ long count = 0;
+ iInkTablets->get_Count(&count);
+ for (long i = 0; i < count; ++i) {
+ IInkTablet *iInkTablet = 0;
+ hr = iInkTablets->Item(i, &iInkTablet);
+ if (FAILED(hr))
+ continue;
+ IInkTablet2 *iInkTablet2 = 0;
+ hr = iInkTablet->QueryInterface(QT_IID_IInkTablet2, (void**)&iInkTablet2);
+ iInkTablet->Release();
+ if (FAILED(hr))
+ continue;
+ TabletDeviceKind kind;
+ hr = iInkTablet2->get_DeviceKind(&kind);
+ iInkTablet2->Release();
+ if (FAILED(hr))
+ continue;
+ if (kind == TDK_Touch) {
+ QApplicationPrivate::HasTouchSupport = true;
+ break;
+ }
+ }
+ iInkTablets->Release();
+ }
+
QLibrary library(QLatin1String("user32"));
// MinGW (g++ 3.4.5) accepts only C casts.
RegisterTouchWindow = (PtrRegisterTouchWindow)(library.resolve("RegisterTouchWindow"));
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 3c2c743dfa..20a7ff2908 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -96,6 +96,11 @@ extern "C" {
}
#endif
+#ifndef QT_GUI_DOUBLE_CLICK_RADIUS
+#define QT_GUI_DOUBLE_CLICK_RADIUS 5
+#endif
+
+
//#define ALIEN_DEBUG
#if !defined(QT_NO_GLIB)
@@ -312,9 +317,14 @@ static const char * x11_atomnames = {
"_XEMBED\0"
"_XEMBED_INFO\0"
+ // Wacom old. (before version 0.10)
"Wacom Stylus\0"
"Wacom Cursor\0"
"Wacom Eraser\0"
+
+ // Tablet
+ "STYLUS\0"
+ "ERASER\0"
};
Q_GUI_EXPORT QX11Data *qt_x11Data = 0;
@@ -2340,12 +2350,12 @@ void qt_init(QApplicationPrivate *priv, int,
gotStylus = true;
}
#else
- if (devs->type == ATOM(XWacomStylus)) {
+ if (devs->type == ATOM(XWacomStylus) || devs->type == ATOM(XTabletStylus)) {
deviceType = QTabletEvent::Stylus;
if (wacomDeviceName()->isEmpty())
wacomDeviceName()->append(devs->name);
gotStylus = true;
- } else if (devs->type == ATOM(XWacomEraser)) {
+ } else if (devs->type == ATOM(XWacomEraser) || devs->type == ATOM(XTabletEraser)) {
deviceType = QTabletEvent::XFreeEraser;
gotEraser = true;
}
@@ -4194,8 +4204,8 @@ bool QETWidget::translateMouseEvent(const XEvent *event)
mouseButtonPressed == button &&
(long)event->xbutton.time -(long)mouseButtonPressTime
< QApplication::doubleClickInterval() &&
- qAbs(event->xbutton.x - mouseXPos) < 5 &&
- qAbs(event->xbutton.y - mouseYPos) < 5) {
+ qAbs(event->xbutton.x - mouseXPos) < QT_GUI_DOUBLE_CLICK_RADIUS &&
+ qAbs(event->xbutton.y - mouseYPos) < QT_GUI_DOUBLE_CLICK_RADIUS) {
type = QEvent::MouseButtonDblClick;
mouseButtonPressTime -= 2000; // no double-click next time
} else {
diff --git a/src/gui/kernel/qclipboard.cpp b/src/gui/kernel/qclipboard.cpp
index a59bb98236..f7c0b6ee2a 100644
--- a/src/gui/kernel/qclipboard.cpp
+++ b/src/gui/kernel/qclipboard.cpp
@@ -107,6 +107,12 @@ QT_BEGIN_NAMESPACE
store or retrieve the clipboard contents in response to timer or
non-user-input events.
+ \i Since there is no standard way to copy and paste files between
+ applications on X11, various MIME types and conventions are currently
+ in use. For instance, Nautilus expects files to be supplied with a
+ \c{x-special/gnome-copied-files} MIME type with data beginning with
+ the cut/copy action, a newline character, and the URL of the file.
+
\endlist
\section1 Notes for Mac OS X Users
diff --git a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
index ab71a05973..5dcf613d63 100644
--- a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
+++ b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
@@ -179,7 +179,7 @@ static void cleanupCocoaApplicationDelegate()
}
// This function will only be called when NSApp is actually running. Before
-// that, the kAEQuitApplication apple event will be sendt to
+// that, the kAEQuitApplication Apple event will be sent to
// QApplicationPrivate::globalAppleEventProcessor in qapplication_mac.mm
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
@@ -196,21 +196,18 @@ static void cleanupCocoaApplicationDelegate()
qAppInstance()->quit();
startedQuit = false;
}
+ return NSTerminateNow;
}
if (qtPrivate->threadData->eventLoops.size() == 0) {
// INVARIANT: No event loop is executing. This probably
// means that Qt is used as a plugin, or as a part of a native
- // Cocoa application. In any case it should be fine to
+ // Cocoa application. In any case it should be fine to
// terminate now:
return NSTerminateNow;
- } else {
- // Prevent Cocoa from terminating the application, since this simply
- // exits the program whithout allowing QApplication::exec() to return.
- // The call to QApplication::quit() above will instead quit the
- // application from the Qt side.
- return NSTerminateCancel;
}
+
+ return NSTerminateCancel;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
diff --git a/src/gui/kernel/qcocoamenuloader_mac.mm b/src/gui/kernel/qcocoamenuloader_mac.mm
index 573b763274..35d156a32e 100644
--- a/src/gui/kernel/qcocoamenuloader_mac.mm
+++ b/src/gui/kernel/qcocoamenuloader_mac.mm
@@ -48,6 +48,7 @@
#include <private/qt_mac_p.h>
#include <private/qmenubar_p.h>
#include <qmenubar.h>
+#include <private/qt_cocoa_helpers_mac_p.h>
QT_FORWARD_DECLARE_CLASS(QCFString)
QT_FORWARD_DECLARE_CLASS(QString)
@@ -58,6 +59,10 @@ QT_USE_NAMESPACE
- (void)awakeFromNib
{
+ servicesItem = [[appMenu itemWithTitle:@"Services"] retain];
+ hideAllOthersItem = [[appMenu itemWithTitle:@"Hide Others"] retain];
+ showAllItem = [[appMenu itemWithTitle:@"Show All"] retain];
+
// Get the names in the nib to match the app name set by Qt.
NSString *appName = reinterpret_cast<const NSString*>(QCFString::toCFStringRef(qAppName()));
[quitItem setTitle:[[quitItem title] stringByReplacingOccurrencesOfString:@"NewApplication"
@@ -119,6 +124,10 @@ QT_USE_NAMESPACE
- (void)dealloc
{
+ [servicesItem release];
+ [hideAllOthersItem release];
+ [showAllItem release];
+
[lastAppSpecificItem release];
[theMenu release];
[appMenu release];
@@ -214,6 +223,17 @@ QT_USE_NAMESPACE
QMenuBarPrivate::macUpdateMenuBarImmediatly();
}
+- (void)qtTranslateApplicationMenu
+{
+#ifndef QT_NO_TRANSLATION
+ extern QString qt_mac_applicationmenu_string(int type);
+ [servicesItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(0))];
+ [hideItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(1).arg(qAppName()))];
+ [hideAllOthersItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(2))];
+ [showAllItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(3))];
+#endif
+}
+
- (IBAction)qtDispatcherToQAction:(id)sender
{
QScopedLoopLevelCounter loopLevelCounter(QApplicationPrivate::instance()->threadData);
diff --git a/src/gui/kernel/qcocoamenuloader_mac_p.h b/src/gui/kernel/qcocoamenuloader_mac_p.h
index 2504b8c89a..a75ad0a21b 100644
--- a/src/gui/kernel/qcocoamenuloader_mac_p.h
+++ b/src/gui/kernel/qcocoamenuloader_mac_p.h
@@ -67,7 +67,9 @@
IBOutlet NSMenuItem *aboutQtItem;
IBOutlet NSMenuItem *hideItem;
NSMenuItem *lastAppSpecificItem;
-
+ NSMenuItem *servicesItem;
+ NSMenuItem *hideAllOthersItem;
+ NSMenuItem *showAllItem;
}
- (void)ensureAppMenuInMenu:(NSMenu *)menu;
- (void)removeActionsFromAppMenu;
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 6a16403631..f7cb21f0b0 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -185,6 +185,9 @@ extern "C" {
extern NSString *NSTextInputReplacementRangeAttributeName;
}
+#ifdef ALIEN_DEBUG
+static int qCocoaViewCount = 0;
+#endif
@implementation QT_MANGLE_NAMESPACE(QCocoaView)
@@ -195,6 +198,12 @@ extern "C" {
[self finishInitWithQWidget:widget widgetPrivate:widgetprivate];
}
composingText = new QString();
+
+#ifdef ALIEN_DEBUG
+ ++qCocoaViewCount;
+ qDebug() << "init: qCocoaViewCount is" << qCocoaViewCount;
+#endif
+
composing = false;
sendKeyEvents = true;
[self setHidden:YES];
@@ -414,6 +423,12 @@ extern "C" {
{
delete composingText;
[[NSNotificationCenter defaultCenter] removeObserver:self];
+
+#ifdef ALIEN_DEBUG
+ --qCocoaViewCount;
+ qDebug() << "qCocoaViewCount is" << qCocoaViewCount;
+#endif
+
[super dealloc];
}
@@ -523,6 +538,10 @@ extern "C" {
CGContextClearRect(cg, NSRectToCGRect(aRect));
}
+ // Check for alien widgets, use qwidgetPrivate->drawWidget() to draw the widget if this
+ // is the case. This makes sure child widgets are drawn as well, Cocoa does not know about
+ // those and wont send them drawRect calls.
+ if (qwidget->testAttribute(Qt::WA_NativeWindow) && qt_widget_private(qwidget)->hasAlienChildren == false) {
if (engine && !qwidget->testAttribute(Qt::WA_NoSystemBackground)
&& (qwidget->isWindow() || qwidget->autoFillBackground())
|| qwidget->testAttribute(Qt::WA_TintedBackground)
@@ -542,6 +561,12 @@ extern "C" {
e.setErased(true);
#endif
qt_sendSpontaneousEvent(qwidget, &e);
+ } else {
+ qwidget->setAttribute(Qt::WA_WState_InPaintEvent, false); // QWidgetPrivate::drawWidget sets this
+ QWidgetPrivate *qwidgetPrivate = qt_widget_private(qwidget);
+ qwidgetPrivate->drawWidget(qwidget, qrgn, QPoint(), QWidgetPrivate::DrawAsRoot | QWidgetPrivate::DrawPaintOnScreen | QWidgetPrivate::DrawRecursive, 0);
+ }
+
if (!redirectionOffset.isNull())
QPainter::restoreRedirected(qwidget);
if (engine)
@@ -1003,7 +1028,10 @@ extern "C" {
{
if (!qwidget)
return NO;
- if (qwidget->isWindow())
+ // Before accepting the focus for a window, we check that
+ // the focusWidget (if any) is not contained in the same window.
+ if (qwidget->isWindow() && (!qApp->focusWidget()
+ || qApp->focusWidget()->window() != qwidget))
return YES; // Always do it, so that windows can accept key press events.
return qwidget->focusPolicy() != Qt::NoFocus;
}
diff --git a/src/gui/kernel/qcursor_mac.mm b/src/gui/kernel/qcursor_mac.mm
index cfebf606b7..03e38b0600 100644
--- a/src/gui/kernel/qcursor_mac.mm
+++ b/src/gui/kernel/qcursor_mac.mm
@@ -114,27 +114,18 @@ void qt_mac_set_cursor(const QCursor *c, const QPoint &)
}
c->handle(); //force the cursor to get loaded, if it's not
- if(1 || currentCursor != c->d) {
- if(currentCursor && currentCursor->type == QCursorData::TYPE_ThemeCursor
- && currentCursor->curs.tc.anim)
- currentCursor->curs.tc.anim->stop();
- QMacCocoaAutoReleasePool pool;
- if(c->d->type == QCursorData::TYPE_ImageCursor) {
- [static_cast<NSCursor *>(c->d->curs.cp.nscursor) set];
- } else if(c->d->type == QCursorData::TYPE_ThemeCursor) {
-#ifdef QT_MAC_USE_COCOA
- if (c->d->curs.cp.nscursor == 0)
- [[NSCursor arrowCursor] set];
- [static_cast<NSCursor *>(c->d->curs.cp.nscursor) set];
-#else
- if(SetAnimatedThemeCursor(c->d->curs.tc.curs, 0) == themeBadCursorIndexErr) {
- SetThemeCursor(c->d->curs.tc.curs);
- } else {
- if(!c->d->curs.tc.anim)
- c->d->curs.tc.anim = new QMacAnimateCursor;
- c->d->curs.tc.anim->start(c->d->curs.tc.curs);
- }
-#endif
+ if(currentCursor && currentCursor->type == QCursorData::TYPE_ThemeCursor
+ && currentCursor->curs.tc.anim)
+ currentCursor->curs.tc.anim->stop();
+ if(c->d->type == QCursorData::TYPE_ImageCursor) {
+ [static_cast<NSCursor *>(c->d->curs.cp.nscursor) set];
+ } else if(c->d->type == QCursorData::TYPE_ThemeCursor) {
+ if(SetAnimatedThemeCursor(c->d->curs.tc.curs, 0) == themeBadCursorIndexErr) {
+ SetThemeCursor(c->d->curs.tc.curs);
+ } else {
+ if(!c->d->curs.tc.anim)
+ c->d->curs.tc.anim = new QMacAnimateCursor;
+ c->d->curs.tc.anim->start(c->d->curs.tc.curs);
}
}
currentCursor = c->d;
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 89ad94d339..aa6720e802 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -45,6 +45,7 @@
#include "private/qgesture_p.h"
#include "private/qgraphicsitem_p.h"
#include "private/qevent_p.h"
+#include "private/qapplication_p.h"
#include "qgesture.h"
#include "qevent.h"
#include "qgraphicsitem.h"
@@ -86,7 +87,8 @@ QGestureManager::QGestureManager(QObject *parent)
#endif
#if defined(Q_OS_WIN)
#if !defined(QT_NO_NATIVE_GESTURES)
- registerGestureRecognizer(new QWinNativePanGestureRecognizer);
+ if (QApplicationPrivate::HasTouchSupport)
+ registerGestureRecognizer(new QWinNativePanGestureRecognizer);
#endif
#else
registerGestureRecognizer(new QTapAndHoldGestureRecognizer);
diff --git a/src/gui/kernel/qguifunctions_wince.cpp b/src/gui/kernel/qguifunctions_wince.cpp
index ac4cdc8ddd..f5004b09ff 100644
--- a/src/gui/kernel/qguifunctions_wince.cpp
+++ b/src/gui/kernel/qguifunctions_wince.cpp
@@ -278,7 +278,14 @@ int qt_wince_get_version()
bool qt_wince_is_windows_mobile_65()
{
- return ((qt_wince_get_version() == 52) && (qt_wince_get_build() > 2000));
+ const DWORD dwFirstWM65BuildNumber = 21139;
+ OSVERSIONINFO osvi;
+ osvi.dwOSVersionInfoSize = sizeof(osvi);
+ if (!GetVersionEx(&osvi))
+ return false;
+ return osvi.dwMajorVersion > 5
+ || (osvi.dwMajorVersion == 5 && (osvi.dwMinorVersion > 2 ||
+ (osvi.dwMinorVersion == 2 && osvi.dwBuildNumber >= dwFirstWM65BuildNumber)));
}
bool qt_wince_is_pocket_pc() {
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
index 4e6c847c60..d6d1042e55 100644
--- a/src/gui/kernel/qkeymapper_x11.cpp
+++ b/src/gui/kernel/qkeymapper_x11.cpp
@@ -1073,8 +1073,8 @@ static const unsigned int KeyTbl[] = {
XF86XK_AudioNext, Qt::Key_MediaNext,
XF86XK_AudioRecord, Qt::Key_MediaRecord,
XF86XK_Mail, Qt::Key_LaunchMail,
- XF86XK_MyComputer, Qt::Key_Launch0,
- XF86XK_Calculator, Qt::Key_Calculator,
+ XF86XK_MyComputer, Qt::Key_Launch0, // ### Qt 5: remap properly
+ XF86XK_Calculator, Qt::Key_Launch1,
XF86XK_Memo, Qt::Key_Memo,
XF86XK_ToDoList, Qt::Key_ToDoList,
XF86XK_Calendar, Qt::Key_Calendar,
@@ -1172,7 +1172,7 @@ static const unsigned int KeyTbl[] = {
XF86XK_Bluetooth, Qt::Key_Bluetooth,
XF86XK_Suspend, Qt::Key_Suspend,
XF86XK_Hibernate, Qt::Key_Hibernate,
- XF86XK_Launch0, Qt::Key_Launch2,
+ XF86XK_Launch0, Qt::Key_Launch2, // ### Qt 5: remap properly
XF86XK_Launch1, Qt::Key_Launch3,
XF86XK_Launch2, Qt::Key_Launch4,
XF86XK_Launch3, Qt::Key_Launch5,
@@ -1186,6 +1186,8 @@ static const unsigned int KeyTbl[] = {
XF86XK_LaunchB, Qt::Key_LaunchD,
XF86XK_LaunchC, Qt::Key_LaunchE,
XF86XK_LaunchD, Qt::Key_LaunchF,
+ XF86XK_LaunchE, Qt::Key_LaunchG,
+ XF86XK_LaunchF, Qt::Key_LaunchH,
// Qtopia keys
QTOPIAXK_Select, Qt::Key_Select,
diff --git a/src/gui/kernel/qmime_win.cpp b/src/gui/kernel/qmime_win.cpp
index e191d7b72f..2840843c07 100644
--- a/src/gui/kernel/qmime_win.cpp
+++ b/src/gui/kernel/qmime_win.cpp
@@ -640,14 +640,18 @@ bool QWindowsMimeURI::convertFromMime(const FORMATETC &formatetc, const QMimeDat
} else if (getCf(formatetc) == CF_INETURL_W) {
QList<QUrl> urls = mimeData->urls();
QByteArray result;
- QString url = urls.at(0).toString();
- result = QByteArray((const char *)url.utf16(), url.length() * sizeof(ushort));
+ if (!urls.isEmpty()) {
+ QString url = urls.at(0).toString();
+ result = QByteArray((const char *)url.utf16(), url.length() * sizeof(ushort));
+ }
result.append('\0');
result.append('\0');
return setData(result, pmedium);
} else if (getCf(formatetc) == CF_INETURL) {
QList<QUrl> urls = mimeData->urls();
- QByteArray result = urls.at(0).toString().toLocal8Bit();
+ QByteArray result;
+ if (!urls.isEmpty())
+ result = urls.at(0).toString().toLocal8Bit();
return setData(result, pmedium);
}
}
@@ -948,6 +952,8 @@ bool QWindowsMimeImage::convertFromMime(const FORMATETC &formatetc, const QMimeD
QDataStream s(&ba, QIODevice::WriteOnly);
s.setByteOrder(QDataStream::LittleEndian);// Intel byte order ####
if (cf == CF_DIB) {
+ if (img.format() > QImage::Format_ARGB32)
+ img = img.convertToFormat(QImage::Format_RGB32);
if (qt_write_dib(s, img))
return setData(ba, pmedium);
} else {
diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp
index 8ac1e31e64..3a0304c586 100644
--- a/src/gui/kernel/qsoftkeymanager_s60.cpp
+++ b/src/gui/kernel/qsoftkeymanager_s60.cpp
@@ -60,7 +60,7 @@ const int LSK_POSITION = 0;
const int MSK_POSITION = 3;
const int RSK_POSITION = 2;
-QSoftKeyManagerPrivateS60::QSoftKeyManagerPrivateS60()
+QSoftKeyManagerPrivateS60::QSoftKeyManagerPrivateS60() : cbaHasImage(4) // 4 since MSK position index is 3
{
cachedCbaIconSize[0] = QSize(0,0);
cachedCbaIconSize[1] = QSize(0,0);
@@ -73,11 +73,21 @@ bool QSoftKeyManagerPrivateS60::skipCbaUpdate()
// Lets not update softkeys if
// 1. We don't have application panes, i.e. cba
// 2. Our CBA is not active, i.e. S60 native dialog or menu with custom CBA is shown
+ // 2.1. Except if thre is no current CBA at all and WindowSoftkeysRespondHint is set
+
// Note: Cannot use IsDisplayingMenuOrDialog since CBA update can be triggered before
// menu/dialog CBA is actually displayed i.e. it is being costructed.
CEikButtonGroupContainer *appUiCba = S60->buttonGroupContainer();
+ // CEikButtonGroupContainer::Current returns 0 if CBA is not visible at all
CEikButtonGroupContainer *currentCba = CEikButtonGroupContainer::Current();
- if (QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes) || appUiCba != currentCba) {
+ // Check if softkey need to be update even they are not visible
+ bool cbaRespondsWhenInvisible = false;
+ QWidget *window = QApplication::activeWindow();
+ if (window && (window->windowFlags() & Qt::WindowSoftkeysRespondHint))
+ cbaRespondsWhenInvisible = true;
+
+ if (QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes)
+ || (appUiCba != currentCba && !cbaRespondsWhenInvisible)) {
return true;
}
return false;
@@ -255,10 +265,14 @@ bool QSoftKeyManagerPrivateS60::setSoftkeyImage(CEikButtonGroupContainer *cba,
myimage->SetPicture( nBitmap, nMask ); // nBitmap and nMask ownership transfered
EikSoftkeyImage::SetImage(cba, *myimage, left); // Takes myimage ownership
+ cbaHasImage[position] = true;
ret = true;
} else {
// Restore softkey to text based
- EikSoftkeyImage::SetLabel(cba, left);
+ if (cbaHasImage[position]) {
+ EikSoftkeyImage::SetLabel(cba, left);
+ cbaHasImage[position] = false;
+ }
}
}
return ret;
@@ -274,7 +288,12 @@ bool QSoftKeyManagerPrivateS60::setSoftkey(CEikButtonGroupContainer &cba,
TPtrC nativeText = qt_QString2TPtrC(text);
int command = S60_COMMAND_START + position;
setNativeSoftkey(cba, position, command, nativeText);
- cba.DimCommand(command, !action->isEnabled());
+ // QMainWindow "Options" action is set to invisible in order it does not appear in context menu
+ // and all invisible actions are by default disabled.
+ // However we never want to dim options softkey, even it is set to invisible
+ QVariant property = action->property(MENU_ACTION_PROPERTY);
+ const bool dimmed = (property.isValid() && property.toBool()) ? false : !action->isEnabled();
+ cba.DimCommand(command, dimmed);
realSoftKeyActions.insert(command, action);
return true;
}
@@ -311,7 +330,10 @@ bool QSoftKeyManagerPrivateS60::setRightSoftkey(CEikButtonGroupContainer &cba)
if (windowType != Qt::Dialog && windowType != Qt::Popup) {
QString text(QSoftKeyManager::tr("Exit"));
TPtrC nativeText = qt_QString2TPtrC(text);
- EikSoftkeyImage::SetLabel(&cba, false);
+ if (cbaHasImage[RSK_POSITION]) {
+ EikSoftkeyImage::SetLabel(&cba, false);
+ cbaHasImage[RSK_POSITION] = false;
+ }
setNativeSoftkey(cba, RSK_POSITION, EAknSoftkeyExit, nativeText);
return true;
}
diff --git a/src/gui/kernel/qsoftkeymanager_s60_p.h b/src/gui/kernel/qsoftkeymanager_s60_p.h
index 823a2db63f..a5e5016f4a 100644
--- a/src/gui/kernel/qsoftkeymanager_s60_p.h
+++ b/src/gui/kernel/qsoftkeymanager_s60_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "qbitarray.h"
#include "private/qobject_p.h"
#include "private/qsoftkeymanager_common_p.h"
@@ -98,6 +99,7 @@ private:
private:
QHash<int, QAction*> realSoftKeyActions;
QSize cachedCbaIconSize[4];
+ QBitArray cbaHasImage;
};
diff --git a/src/gui/kernel/qsound_mac.mm b/src/gui/kernel/qsound_mac.mm
index 61e42ba309..71fd663c62 100644
--- a/src/gui/kernel/qsound_mac.mm
+++ b/src/gui/kernel/qsound_mac.mm
@@ -174,6 +174,7 @@ NSSound *QAuServerMac::createNSSound(const QString &fileName, QSound *qSound)
NSSound * const nsSound = [[NSSound alloc] initWithContentsOfFile: nsFileName byReference:YES];
QMacSoundDelegate * const delegate = [[QMacSoundDelegate alloc] initWithQSound:qSound:this];
[nsSound setDelegate:delegate];
+ [nsFileName release];
return nsSound;
}
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 9560952e18..3fbd978515 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -139,7 +139,7 @@ void QMacWindowFader::performFade()
extern bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event); // qapplication.cpp;
extern QWidget * mac_mouse_grabber;
-extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
+extern QWidget *qt_button_down; //qapplication_mac.cpp
void macWindowFade(void * /*OSWindowRef*/ window, float durationSeconds)
{
@@ -373,7 +373,7 @@ QMacTabletHash *qt_mac_tablet_hash()
// Clears the QWidget pointer that each QCocoaView holds.
void qt_mac_clearCocoaViewQWidgetPointers(QWidget *widget)
{
- QCocoaView *cocoaView = reinterpret_cast<QCocoaView *>(qt_mac_nativeview_for(widget));
+ QT_MANGLE_NAMESPACE(QCocoaView) *cocoaView = reinterpret_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(qt_mac_nativeview_for(widget));
if (cocoaView && [cocoaView respondsToSelector:@selector(qt_qwidget)]) {
[cocoaView qt_clearQWidget];
}
@@ -686,6 +686,12 @@ bool qt_dispatchKeyEvent(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEve
if ([event type] == NSKeyDown) {
qt_keymapper_private()->updateKeyMap(0, key_event, 0);
}
+
+ // Redirect keys to alien widgets.
+ if (widgetToGetEvent->testAttribute(Qt::WA_NativeWindow) == false) {
+ widgetToGetEvent = qApp->focusWidget();
+ }
+
if (widgetToGetEvent == 0)
return false;
@@ -940,7 +946,7 @@ bool qt_mac_handleMouseEvent(void * /* NSView * */view, void * /* NSEvent * */ev
[static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(tmpView) qt_qwidget];
}
} else {
- extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
+ extern QWidget * qt_button_down; //qapplication_mac.cpp
QPoint pos;
widgetToGetMouse = QApplicationPrivate::pickMouseReceiver(qwidget, qglobalPoint,
pos, eventType,
@@ -952,7 +958,20 @@ bool qt_mac_handleMouseEvent(void * /* NSView * */view, void * /* NSEvent * */ev
return false;
NSPoint localPoint = [tmpView convertPoint:windowPoint fromView:nil];
- QPoint qlocalPoint(localPoint.x, localPoint.y);
+ QPoint qlocalPoint = QPoint(localPoint.x, localPoint.y);
+
+ // Search for alien child widgets (either on this qwidget or on the popup)
+ if (widgetToGetMouse->testAttribute(Qt::WA_NativeWindow) == false || qt_widget_private(widgetToGetMouse)->hasAlienChildren) {
+ QPoint qScreenPoint = flipPoint(globalPoint).toPoint();
+#ifdef ALIEN_DEBUG
+ qDebug() << "alien mouse event" << qScreenPoint << possibleAlien;
+#endif
+ QWidget *possibleAlien = widgetToGetMouse->childAt(qlocalPoint);
+ if (possibleAlien) {
+ qlocalPoint = possibleAlien->mapFromGlobal(widgetToGetMouse->mapToGlobal(qlocalPoint));
+ widgetToGetMouse = possibleAlien;
+ }
+ }
EventRef carbonEvent = static_cast<EventRef>(const_cast<void *>([theEvent eventRef]));
if (qt_mac_sendMacEventToWidget(widgetToGetMouse, carbonEvent))
@@ -997,7 +1016,19 @@ bool qt_mac_handleMouseEvent(void * /* NSView * */view, void * /* NSEvent * */ev
}
[QT_MANGLE_NAMESPACE(QCocoaView) currentMouseEvent]->localPoint = localPoint;
QMouseEvent qme(eventType, qlocalPoint, qglobalPoint, button, buttons, keyMods);
- qt_sendSpontaneousEvent(widgetToGetMouse, &qme);
+
+#ifdef ALIEN_DEBUG
+ qDebug() << "sending mouse event to" << widgetToGetMouse;
+#endif
+ extern QWidget *qt_button_down;
+ extern QPointer<QWidget> qt_last_mouse_receiver;
+
+ if (qwidget->testAttribute(Qt::WA_NativeWindow) && qt_widget_private(qwidget)->hasAlienChildren == false)
+ qt_sendSpontaneousEvent(widgetToGetMouse, &qme);
+ else
+ QApplicationPrivate::sendMouseEvent(widgetToGetMouse, &qme, widgetToGetMouse, qwidget, &qt_button_down,
+ qt_last_mouse_receiver);
+
if (eventType == QEvent::MouseButtonPress && button == Qt::RightButton) {
QContextMenuEvent qcme(QContextMenuEvent::Mouse, qlocalPoint, qglobalPoint, keyMods);
qt_sendSpontaneousEvent(widgetToGetMouse, &qcme);
@@ -1355,4 +1386,12 @@ QMacCocoaAutoReleasePool::~QMacCocoaAutoReleasePool()
[(NSAutoreleasePool*)pool release];
}
+void qt_mac_post_retranslateAppMenu()
+{
+#ifdef QT_MAC_USE_COCOA
+ QMacCocoaAutoReleasePool pool;
+ qt_cocoaPostMessage([NSApp QT_MANGLE_NAMESPACE(qt_qcocoamenuLoader)], @selector(qtTranslateApplicationMenu));
+#endif
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac_p.h b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
index c43ea552de..3fd62a477b 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -208,4 +208,6 @@ bool qt_cocoaPostMessage(id target, SEL selector);
#endif
+void qt_mac_post_retranslateAppMenu();
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index 167557bdf6..8af4df538c 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -672,6 +672,9 @@ struct QX11Data
XWacomCursor,
XWacomEraser,
+ XTabletStylus,
+ XTabletEraser,
+
NPredefinedAtoms,
_QT_SETTINGS_TIMESTAMP = NPredefinedAtoms,
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 2f6ec6be57..e5310eab78 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -205,6 +205,7 @@ QWidgetPrivate::QWidgetPrivate(int version)
, nativeGesturePanEnabled(0)
#elif defined(Q_WS_MAC)
, needWindowChange(0)
+ , hasAlienChildren(0)
, window_event(0)
, qd_hd(0)
#endif
@@ -1121,7 +1122,8 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
qFatal("QWidget: Cannot create a QWidget when no GUI is being used");
Q_ASSERT(allWidgets);
- allWidgets->insert(q);
+ if (allWidgets)
+ allWidgets->insert(q);
QWidget *desktopWidget = 0;
if (parentWidget && parentWidget->windowType() == Qt::Desktop) {
@@ -1168,6 +1170,10 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
if (f & Qt::MSWindowsOwnDC)
q->setAttribute(Qt::WA_NativeWindow);
+#ifdef Q_WS_MAC
+ q->setAttribute(Qt::WA_NativeWindow);
+#endif
+
q->setAttribute(Qt::WA_QuitOnClose); // might be cleared in adjustQuitOnCloseAttribute()
adjustQuitOnCloseAttribute();
@@ -1263,6 +1269,10 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
}
if (QWidget *parent = parentWidget()) {
+#ifdef Q_WS_MAC
+ if (testAttribute(Qt::WA_NativeWindow) == false)
+ parent->d_func()->hasAlienChildren = true;
+#endif
if (type & Qt::Window) {
if (!parent->testAttribute(Qt::WA_WState_Created))
parent->createWinId();
@@ -1433,7 +1443,7 @@ QWidget::~QWidget()
}
}
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
else if (!internalWinId() && isVisible()) {
qApp->d_func()->sendSyntheticEnterLeave(this);
#ifdef Q_WS_QWS
@@ -2306,6 +2316,9 @@ QWidget *QWidget::find(WId id)
WId QWidget::winId() const
{
if (!testAttribute(Qt::WA_WState_Created) || !internalWinId()) {
+#ifdef ALIEN_DEBUG
+ qDebug() << "QWidget::winId: creating native window for" << this;
+#endif
QWidget *that = const_cast<QWidget*>(this);
that->setAttribute(Qt::WA_NativeWindow);
that->d_func()->createWinId();
@@ -2318,6 +2331,10 @@ WId QWidget::winId() const
void QWidgetPrivate::createWinId(WId winid)
{
Q_Q(QWidget);
+
+#ifdef ALIEN_DEBUG
+ qDebug() << "QWidgetPrivate::createWinId for" << q << winid;
+#endif
const bool forceNativeWindow = q->testAttribute(Qt::WA_NativeWindow);
if (!q->testAttribute(Qt::WA_WState_Created) || (forceNativeWindow && !q->internalWinId())) {
if (!q->isWindow()) {
@@ -2360,6 +2377,9 @@ Ensures that the widget has a window system identifier, i.e. that it is known to
void QWidget::createWinId()
{
Q_D(QWidget);
+#ifdef ALIEN_DEBUG
+ qDebug() << "QWidget::createWinId" << this;
+#endif
// qWarning("QWidget::createWinId is obsolete, please fix your code.");
d->createWinId();
}
@@ -5249,7 +5269,15 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
QPaintEngine *paintEngine = pdev->paintEngine();
if (paintEngine) {
setRedirected(pdev, -offset);
+#ifdef Q_WS_MAC
+ // (Alien support) Special case for Mac when redirecting: If the paint device
+ // is of the Widget type we need to set WA_WState_InPaintEvent since painting
+ // outside the paint event is not supported on QWidgets. The attributeis
+ // restored further down.
+ if (pdev->devType() == QInternal::Widget)
+ static_cast<QWidget *>(pdev)->setAttribute(Qt::WA_WState_InPaintEvent);
+#endif
if (sharedPainter)
paintEngine->d_func()->systemClip = toBePainted;
else
@@ -5290,6 +5318,10 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
//restore
if (paintEngine) {
+#ifdef Q_WS_MAC
+ if (pdev->devType() == QInternal::Widget)
+ static_cast<QWidget *>(pdev)->setAttribute(Qt::WA_WState_InPaintEvent, false);
+#endif
restoreRedirected();
if (!sharedPainter)
paintEngine->d_func()->systemRect = QRect();
@@ -5339,7 +5371,6 @@ void QWidgetPrivate::render(QPaintDevice *target, const QPoint &targetOffset,
const QRegion &sourceRegion, QWidget::RenderFlags renderFlags,
bool readyToRender)
{
- Q_Q(QWidget);
if (!target) {
qWarning("QWidget::render: null pointer to paint device");
return;
@@ -6469,7 +6500,7 @@ void QWidget::setTabOrder(QWidget* first, QWidget *second)
// QWidget *fp = first->d_func()->focus_prev;
QWidget *fn = first->d_func()->focus_next;
- if (fn == second)
+ if (fn == second || first == second)
return;
QWidget *sp = second->d_func()->focus_prev;
@@ -7322,7 +7353,7 @@ void QWidgetPrivate::hide_helper()
// next bit tries to move the focus if the focus widget is now
// hidden.
if (wasVisible) {
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
qApp->d_func()->sendSyntheticEnterLeave(q);
#endif
@@ -7454,7 +7485,7 @@ void QWidget::setVisible(bool visible)
d->show_helper();
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
qApp->d_func()->sendSyntheticEnterLeave(this);
#endif
}
@@ -7552,6 +7583,23 @@ void QWidgetPrivate::hideChildren(bool spontaneous)
QWidget *widget = qobject_cast<QWidget*>(childList.at(i));
if (!widget || widget->isWindow() || widget->testAttribute(Qt::WA_WState_Hidden))
continue;
+#ifdef QT_MAC_USE_COCOA
+ // Before doing anything we need to make sure that we don't leave anything in a non-consistent state.
+ // When hiding a widget we need to make sure that no mouse_down events are active, because
+ // the mouse_up event will never be received by a hidden widget or one of its descendants.
+ // The solution is simple, before going through with this we check if there are any mouse_down events in
+ // progress, if so we check if it is related to this widget or not. If so, we just reset the mouse_down and
+ // then we continue.
+ // In X11 and Windows we send a mouse_release event, however we don't do that here because we were already
+ // ignoring that from before. I.e. Carbon did not send the mouse release event, so we will not send the
+ // mouse release event. There are two ways to interpret this:
+ // 1. If we don't send the mouse release event, the widget might get into an inconsistent state, i.e. it
+ // might be waiting for a release event that will never arrive.
+ // 2. If we send the mouse release event, then the widget might decide to trigger an action that is not
+ // supposed to trigger because it is not visible.
+ if(widget == qt_button_down)
+ qt_button_down = 0;
+#endif // QT_MAC_USE_COCOA
if (spontaneous)
widget->setAttribute(Qt::WA_Mapped, false);
else
@@ -7569,7 +7617,7 @@ void QWidgetPrivate::hideChildren(bool spontaneous)
widget->d_func()->hide_sys();
}
}
-#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
qApp->d_func()->sendSyntheticEnterLeave(widget);
#endif
#ifndef QT_NO_ACCESSIBILITY
@@ -7944,13 +7992,16 @@ inline void setDisabledStyle(QWidget *w, bool setStyle)
// set/reset WS_DISABLED style.
if(w && w->isWindow() && w->isVisible() && w->isEnabled()) {
LONG dwStyle = GetWindowLong(w->winId(), GWL_STYLE);
+ LONG newStyle = dwStyle;
if (setStyle)
- dwStyle |= WS_DISABLED;
+ newStyle |= WS_DISABLED;
else
- dwStyle &= ~WS_DISABLED;
- SetWindowLong(w->winId(), GWL_STYLE, dwStyle);
- // we might need to repaint in some situations (eg. menu)
- w->repaint();
+ newStyle &= ~WS_DISABLED;
+ if (newStyle != dwStyle) {
+ SetWindowLong(w->winId(), GWL_STYLE, newStyle);
+ // we might need to repaint in some situations (eg. menu)
+ w->repaint();
+ }
}
}
#endif
@@ -9787,7 +9838,7 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
desktopWidget = parent;
bool newParent = (parent != parentWidget()) || !wasCreated || desktopWidget;
-#if defined(Q_WS_X11) || defined(Q_WS_WIN)
+#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_MAC)
if (newParent && parent && !desktopWidget) {
if (testAttribute(Qt::WA_NativeWindow) && !qApp->testAttribute(Qt::AA_DontCreateNativeWidgetSiblings))
parent->d_func()->enforceNativeChildren();
@@ -10262,6 +10313,29 @@ const QPixmap *QWidget::icon() const
#endif // QT3_SUPPORT
+ /*!
+ \internal
+
+ This just sets the corresponding attribute bit to 1 or 0
+ */
+static void setAttribute_internal(Qt::WidgetAttribute attribute, bool on, QWidgetData *data,
+ QWidgetPrivate *d)
+{
+ if (attribute < int(8*sizeof(uint))) {
+ if (on)
+ data->widget_attributes |= (1<<attribute);
+ else
+ data->widget_attributes &= ~(1<<attribute);
+ } else {
+ const int x = attribute - 8*sizeof(uint);
+ const int int_off = x / (8*sizeof(uint));
+ if (on)
+ d->high_attributes[int_off] |= (1<<(x-(int_off*8*sizeof(uint))));
+ else
+ d->high_attributes[int_off] &= ~(1<<(x-(int_off*8*sizeof(uint))));
+ }
+}
+
/*!
Sets the attribute \a attribute on this widget if \a on is true;
otherwise clears the attribute.
@@ -10288,19 +10362,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
}
#endif
- if (attribute < int(8*sizeof(uint))) {
- if (on)
- data->widget_attributes |= (1<<attribute);
- else
- data->widget_attributes &= ~(1<<attribute);
- } else {
- const int x = attribute - 8*sizeof(uint);
- const int int_off = x / (8*sizeof(uint));
- if (on)
- d->high_attributes[int_off] |= (1<<(x-(int_off*8*sizeof(uint))));
- else
- d->high_attributes[int_off] &= ~(1<<(x-(int_off*8*sizeof(uint))));
- }
+ setAttribute_internal(attribute, on, data, d);
switch (attribute) {
@@ -10359,14 +10421,11 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
#ifdef Q_WS_MAC
{
// We can only have one of these set at a time
- static const int MacSizes[] = { Qt::WA_MacNormalSize, Qt::WA_MacSmallSize,
- Qt::WA_MacMiniSize, 0 };
- for (int i = 0; MacSizes[i] != 0; ++i) {
- if (MacSizes[i] == attribute)
- continue;
- int macsize_x = MacSizes[i] - 8*sizeof(uint);
- int macsize_int_off = macsize_x / (8*sizeof(uint));
- d->high_attributes[macsize_int_off] &= ~(1<<(macsize_x-(macsize_int_off*8*sizeof(uint))));
+ const Qt::WidgetAttribute MacSizes[] = { Qt::WA_MacNormalSize, Qt::WA_MacSmallSize,
+ Qt::WA_MacMiniSize };
+ for (int i = 0; i < 3; ++i) {
+ if (MacSizes[i] != attribute)
+ setAttribute_internal(MacSizes[i], false, data, d);
}
d->macUpdateSizeAttribute();
}
@@ -10433,7 +10492,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
}
case Qt::WA_PaintOnScreen:
d->updateIsOpaque();
-#if defined(Q_WS_WIN) || defined(Q_WS_X11)
+#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined(Q_WS_MAC)
// Recreate the widget if it's already created as an alien widget and
// WA_PaintOnScreen is enabled. Paint on screen widgets must have win id.
// So must their children.
diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h
index 0d7475e993..e12148b97f 100644
--- a/src/gui/kernel/qwidget.h
+++ b/src/gui/kernel/qwidget.h
@@ -773,6 +773,7 @@ private:
#ifdef Q_WS_X11
friend void qt_net_update_user_time(QWidget *tlw, unsigned long timestamp);
friend void qt_net_remove_user_time(QWidget *tlw);
+ friend void qt_set_winid_on_widget(QWidget*, Qt::HANDLE);
#endif
friend Q_GUI_EXPORT QWidgetData *qt_qwidget_data(QWidget *widget);
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index dcb87fcd93..4b45abd7c3 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -152,6 +152,7 @@ static bool qt_mac_raise_process = true;
static OSWindowRef qt_root_win = 0;
QWidget *mac_mouse_grabber = 0;
QWidget *mac_keyboard_grabber = 0;
+extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
#ifndef QT_MAC_USE_COCOA
#ifdef QT_NAMESPACE
@@ -459,7 +460,13 @@ static bool qt_isGenuineQWidget(OSViewRef ref)
bool qt_isGenuineQWidget(const QWidget *window)
{
- return window && qt_isGenuineQWidget(OSViewRef(window->winId()));
+ if (!window)
+ return false;
+
+ if (!window->internalWinId())
+ return true; //alien
+
+ return qt_isGenuineQWidget(OSViewRef(window->internalWinId()));
}
Q_GUI_EXPORT OSWindowRef qt_mac_window_for(const QWidget *w)
@@ -866,7 +873,6 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
& ~Qt::WindowMaximized));
QApplication::sendSpontaneousEvent(widget, &e);
}
- extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
qt_button_down = 0;
} else if(ekind == kEventWindowCollapsed) {
if (!widget->isMinimized()) {
@@ -894,7 +900,6 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
//we send a hide to be like X11/Windows
QEvent e(QEvent::Hide);
QApplication::sendSpontaneousEvent(widget, &e);
- extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
qt_button_down = 0;
} else if(ekind == kEventWindowToolbarSwitchMode) {
macSendToolbarChangeEvent(widget);
@@ -1268,6 +1273,11 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
if (widget->isVisible() && widget->updatesEnabled()) { //process the actual paint event.
if(widget->testAttribute(Qt::WA_WState_InPaintEvent))
qWarning("QWidget::repaint: Recursive repaint detected");
+ if (widget->isWindow() && !widget->d_func()->isOpaque
+ && !widget->testAttribute(Qt::WA_MacBrushedMetal)) {
+ QRect qrgnRect = qrgn.boundingRect();
+ CGContextClearRect(cg, CGRectMake(qrgnRect.x(), qrgnRect.y(), qrgnRect.width(), qrgnRect.height()));
+ }
QPoint redirectionOffset(0, 0);
QWidget *tl = widget->window();
@@ -1318,13 +1328,6 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
widget->d_func()->restoreRedirected();
}
- if (widget->isWindow() && !widget->d_func()->isOpaque
- && !widget->testAttribute(Qt::WA_MacBrushedMetal)) {
- QRect qrgnRect = qrgn.boundingRect();
- CGContextClearRect(cg, CGRectMake(qrgnRect.x(), qrgnRect.y(), qrgnRect.width(), qrgnRect.height()));
- }
-
-
if(!HIObjectIsOfClass((HIObjectRef)hiview, kObjectQWidget))
CallNextEventHandler(er, event);
@@ -1521,7 +1524,6 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
if (widget) {
qt_event_request_window_change(widget);
if (!HIViewIsVisible(HIViewRef(widget->winId()))) {
- extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
if (widget == qt_button_down)
qt_button_down = 0;
}
@@ -1530,7 +1532,6 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
break; }
case kEventClassMouse: {
bool send_to_app = false;
- extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
if(qt_button_down)
send_to_app = true;
if(send_to_app) {
@@ -2608,7 +2609,16 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
} else {
data.fstrut_dirty = false; // non-toplevel widgets don't have a frame, so no need to update the strut
- if(OSViewRef osview = qt_mac_create_widget(q, this, qt_mac_nativeview_for(parentWidget))) {
+
+#ifdef QT_MAC_USE_COCOA
+ if (q->testAttribute(Qt::WA_NativeWindow) == false ||
+ q->internalWinId() != 0) {
+#ifdef ALIEN_DEBUG
+ qDebug() << "Skipping native widget creation for" << this;
+#endif
+ } else
+#endif
+ if (OSViewRef osview = qt_mac_create_widget(q, this, qt_mac_nativeview_for(parentWidget))) {
#ifndef QT_MAC_USE_COCOA
HIRect bounds = CGRectMake(data.crect.x(), data.crect.y(), data.crect.width(), data.crect.height());
HIViewSetFrame(osview, &bounds);
@@ -2869,9 +2879,12 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
q->setAttribute(Qt::WA_WState_Visible, false);
q->setAttribute(Qt::WA_WState_Hidden, false);
adjustFlags(data.window_flags, q);
- // keep compatibility with previous versions, we need to preserve the created state
- // (but we recreate the winId for the widget being reparented, again for compatibility)
- if (wasCreated || (!q->isWindow() && parent->testAttribute(Qt::WA_WState_Created))) {
+ // keep compatibility with previous versions, we need to preserve the created state.
+ // (but we recreate the winId for the widget being reparented, again for compatibility,
+ // unless this is an alien widget. )
+ const bool nonWindowWithCreatedParent = !q->isWindow() && parent->testAttribute(Qt::WA_WState_Created);
+ const bool nativeWidget = q->internalWinId() != 0;
+ if (wasCreated || nativeWidget && nonWindowWithCreatedParent) {
createWinId();
if (q->isWindow()) {
#ifndef QT_MAC_USE_COCOA
@@ -2955,7 +2968,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
QPoint QWidget::mapToGlobal(const QPoint &pos) const
{
Q_D(const QWidget);
- if (!testAttribute(Qt::WA_WState_Created)) {
+ if (!testAttribute(Qt::WA_WState_Created) || !internalWinId()) {
QPoint p = pos + data->crect.topLeft();
return isWindow() ? p : parentWidget()->mapToGlobal(p);
}
@@ -2982,7 +2995,7 @@ QPoint QWidget::mapToGlobal(const QPoint &pos) const
QPoint QWidget::mapFromGlobal(const QPoint &pos) const
{
Q_D(const QWidget);
- if (!testAttribute(Qt::WA_WState_Created)) {
+ if (!testAttribute(Qt::WA_WState_Created) || !internalWinId()) {
QPoint p = isWindow() ? pos : parentWidget()->mapFromGlobal(pos);
return p - data->crect.topLeft();
}
@@ -3320,10 +3333,20 @@ void QWidgetPrivate::update_sys(const QRegion &rgn)
}
#else
// Cocoa doesn't do regions, it seems more efficient to just update the bounding rect instead of a potential number of message passes for each rect.
- const QRect &boundingRect = rgn.boundingRect();
- [qt_mac_nativeview_for(q) setNeedsDisplayInRect:NSMakeRect(boundingRect.x(),
- boundingRect.y(), boundingRect.width(),
- boundingRect.height())];
+ const QRect & boundingRect = rgn.boundingRect();
+
+ // Alien support: get the first native ancestor widget (will be q itself in the non-alien case),
+ // map the coordinates from q space to NSView space and invalidate the rect.
+ QWidget *nativeParent = q->internalWinId() ? q : q->nativeParentWidget();
+ if (nativeParent == 0)
+ return;
+ const QRect nativeBoundingRect = QRect(
+ QPoint(q->mapTo(nativeParent, boundingRect.topLeft())),
+ QSize(boundingRect.size()));
+
+ [qt_mac_nativeview_for(nativeParent) setNeedsDisplayInRect:NSMakeRect(nativeBoundingRect.x(),
+ nativeBoundingRect.y(), nativeBoundingRect.width(),
+ nativeBoundingRect.height())];
#endif
}
@@ -3405,8 +3428,10 @@ void QWidgetPrivate::show_sys()
// The window is modally shaddowed, so we need to make
// sure that we don't pop in front of the modal window:
[window orderFront:window];
- if (NSWindow *modalWin = qt_mac_window_for(top))
- [modalWin orderFront:window];
+ if (!top->testAttribute(Qt::WA_DontShowOnScreen)) {
+ if (NSWindow *modalWin = qt_mac_window_for(top))
+ [modalWin orderFront:window];
+ }
}
#endif
if (q->windowType() == Qt::Popup) {
@@ -3465,7 +3490,6 @@ void QWidgetPrivate::hide_sys()
Q_Q(QWidget);
if((q->windowType() == Qt::Desktop)) //you can't hide the desktop!
return;
-
QMacCocoaAutoReleasePool pool;
if(q->isWindow()) {
#ifdef QT_MAC_USE_COCOA
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index efd9a0a551..2cb85864a5 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -720,6 +720,7 @@ public:
#elif defined(Q_WS_MAC) // <--------------------------------------------------------- MAC
// This is new stuff
uint needWindowChange : 1;
+ uint hasAlienChildren : 1;
// Each wiget keeps a list of all its child and grandchild OpenGL widgets.
// This list is used to update the gl context whenever a parent and a granparent
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index ebd289c6e5..7fb21d2c41 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -1042,7 +1042,13 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
Q_D(QWidget);
Qt::WindowStates oldstate = windowState();
- if (oldstate == newstate)
+
+ const TBool isFullscreen = newstate & Qt::WindowFullScreen;
+ const TBool cbaRequested = windowFlags() & Qt::WindowSoftkeysVisibleHint;
+ const TBool cbaVisible = CEikButtonGroupContainer::Current() ? true : false;
+ const TBool softkeyVisibilityChange = isFullscreen && (cbaRequested != cbaVisible);
+
+ if (oldstate == newstate && !softkeyVisibilityChange)
return;
if (isWindow()) {
@@ -1058,16 +1064,27 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
#ifdef Q_WS_S60
// Hide window decoration when switching to fullsccreen / minimized otherwise show decoration.
- // The window decoration visibility has to be changed before doing actual window state
- // change since in that order the availableGeometry will return directly the right size and
+ // The window decoration visibility has to be changed before doing actual window state
+ // change since in that order the availableGeometry will return directly the right size and
// we will avoid unnecessarty redraws
- CEikStatusPane* statusPane = S60->statusPane();
- CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer();
- TBool visible = !(newstate & (Qt::WindowFullScreen | Qt::WindowMinimized));
+ CEikStatusPane *statusPane = S60->statusPane();
+ CEikButtonGroupContainer *buttonGroup = S60->buttonGroupContainer();
+ TBool visible = !(newstate & (Qt::WindowFullScreen | Qt::WindowMinimized));
if (statusPane)
statusPane->MakeVisible(visible);
- if (buttonGroup)
- buttonGroup->MakeVisible(visible);
+ if (buttonGroup) {
+ // Visibility
+ buttonGroup->MakeVisible(visible || (isFullscreen && cbaRequested));
+
+ // Responsiviness
+ CEikCba *cba = static_cast<CEikCba *>( buttonGroup->ButtonGroup() ); // downcast from MEikButtonGroup
+ TUint cbaFlags = cba->ButtonGroupFlags();
+ if(windowFlags() & Qt::WindowSoftkeysRespondHint)
+ cbaFlags |= EAknCBAFlagRespondWhenInvisible;
+ else
+ cbaFlags &= ~EAknCBAFlagRespondWhenInvisible;
+ cba->SetButtonGroupFlags(cbaFlags);
+ }
#endif // Q_WS_S60
createWinId();
@@ -1080,7 +1097,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
const QRect normalGeometry = (top->normalGeometry.width() < 0) ? geometry() : top->normalGeometry;
if (newstate & Qt::WindowFullScreen)
- setGeometry(qApp->desktop()->screenGeometry(this));
+ setGeometry(qApp->desktop()->availableGeometry(this));
else if (newstate & Qt::WindowMaximized)
setGeometry(qApp->desktop()->availableGeometry(this));
else
@@ -1220,8 +1237,10 @@ void QWidget::releaseMouse()
{
if (!qt_nograb() && QWidgetPrivate::mouseGrabber == this) {
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
- WId id = effectiveWinId();
- id->SetPointerCapture(false);
+ if(!window()->isModal()) {
+ WId id = effectiveWinId();
+ id->SetPointerCapture(false);
+ }
QWidgetPrivate::mouseGrabber = 0;
#ifndef QT_NO_CURSOR
QApplication::restoreOverrideCursor();
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 8cab387eab..2dcbfc3e31 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -2073,6 +2073,8 @@ void QWidgetPrivate::winSetupGestures()
if (!q || !q->isVisible() || !nativeGesturePanEnabled)
return;
+ if (!QApplicationPrivate::HasTouchSupport)
+ return;
QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
if (!qAppPriv->SetGestureConfig)
return;
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
index c65fa5055e..146b067b5e 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
@@ -54,6 +54,38 @@
//
#include <QGestureRecognizer>
+#include <objbase.h>
+
+class IInkRectangle;
+class TabletHardwareCapabilities;
+class TabletPropertyMetricUnit;
+DECLARE_INTERFACE_(IInkTablet, IDispatch)
+{
+ STDMETHOD(get_Name)(THIS_ BSTR *Name) PURE;
+ STDMETHOD(get_PlugAndPlayId)(THIS_ BSTR *Id) PURE;
+ STDMETHOD(get_MaximumInputRectangle)(THIS_ IInkRectangle **Rectangle) PURE;
+ STDMETHOD(get_HardwareCapabilities)(THIS_ TabletHardwareCapabilities *Capabilities) PURE;
+ STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName) PURE;
+ STDMETHOD(GetPropertyMetrics)(THIS_ BSTR propertyName, long *Minimum, long *Maximum, TabletPropertyMetricUnit *Units, float *Resolution) PURE;
+};
+enum TabletDeviceKind
+{
+ TDK_Mouse = 0,
+ TDK_Pen = 1,
+ TDK_Touch = 2
+};
+DECLARE_INTERFACE_(IInkTablet2, IDispatch)
+{
+ STDMETHOD(get_DeviceKind)(THIS_ TabletDeviceKind *Kind) PURE;
+};
+DECLARE_INTERFACE_(IInkTablets, IDispatch)
+{
+ STDMETHOD(get_Count)(THIS_ long *Count) PURE;
+ STDMETHOD(get__NewEnum)(THIS_ IUnknown **_NewEnum) PURE;
+ STDMETHOD(get_DefaultTablet)(THIS_ IInkTablet **DefaultTablet) PURE;
+ STDMETHOD(Item)(THIS_ long Index, IInkTablet **Tablet) PURE;
+ STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName, VARIANT_BOOL *Supported) PURE;
+};
QT_BEGIN_NAMESPACE
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index c73d9f4c44..8de9eaa5c8 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -352,6 +352,10 @@ void QWidgetBackingStore::beginPaint(QRegion &toClean, QWidget *widget, QWindowS
// Always flush repainted areas.
dirtyOnScreen += toClean;
+#ifdef Q_WS_QWS
+ toClean.translate(tlwOffset);
+#endif
+
#ifdef QT_NO_PAINT_DEBUG
windowSurface->beginPaint(toClean);
#else
@@ -766,7 +770,12 @@ void QWidgetBackingStore::paintWindowDecoration()
if (decorationRegion.isEmpty())
return;
- windowSurface->beginPaint(decorationRegion);
+ //### The QWS decorations do not always paint the pixels they promise to paint.
+ // This causes painting problems with QWSMemorySurface. Since none of the other
+ // window surfaces actually use the region, passing an empty region is a safe
+ // workaround.
+
+ windowSurface->beginPaint(QRegion());
QPaintEngine *engine = windowSurface->paintDevice()->paintEngine();
Q_ASSERT(engine);
diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp
index d6d288ef95..08d5572b0a 100644
--- a/src/gui/painting/qcolor.cpp
+++ b/src/gui/painting/qcolor.cpp
@@ -532,25 +532,49 @@ QString QColor::name() const
void QColor::setNamedColor(const QString &name)
{
+ if (!setColorFromString(name))
+ qWarning("QColor::setNamedColor: Unknown color name '%s'", name.toLatin1().constData());
+}
+
+/*!
+ \since 4.7
+
+ Returns true if the \a name is a valid color name and can
+ be used to construct a valid QColor object, otherwise returns
+ false.
+
+ It uses the same algorithm used in setNamedColor().
+
+ \sa setNamedColor()
+*/
+bool QColor::isValidColor(const QString &name)
+{
+ return !name.isEmpty() && QColor().setColorFromString(name);
+}
+
+bool QColor::setColorFromString(const QString &name)
+{
if (name.isEmpty()) {
invalidate();
- return;
+ return true;
}
if (name.startsWith(QLatin1Char('#'))) {
QRgb rgb;
if (qt_get_hex_rgb(name.constData(), name.length(), &rgb)) {
setRgb(rgb);
+ return true;
} else {
invalidate();
+ return false;
}
- return;
}
#ifndef QT_NO_COLORNAMES
QRgb rgb;
if (qt_get_named_rgb(name.constData(), name.length(), &rgb)) {
setRgba(rgb);
+ return true;
} else
#endif
{
@@ -561,11 +585,12 @@ void QColor::setNamedColor(const QString &name)
&& QX11Info::display()
&& XParseColor(QX11Info::display(), QX11Info::appColormap(), name.toLatin1().constData(), &result)) {
setRgb(result.red >> 8, result.green >> 8, result.blue >> 8);
+ return true;
} else
#endif
{
- qWarning("QColor::setNamedColor: Unknown color name '%s'", name.toLatin1().constData());
invalidate();
+ return false;
}
}
}
@@ -2692,12 +2717,4 @@ QDataStream &operator>>(QDataStream &stream, QColor &color)
\sa QColor::rgb(), QColor::rgba()
*/
-/*! \fn void QColormap::initialize()
- \internal
-*/
-
-/*! \fn void QColormap::cleanup()
- \internal
-*/
-
QT_END_NAMESPACE
diff --git a/src/gui/painting/qcolor.h b/src/gui/painting/qcolor.h
index 332dc25beb..0ac828d91a 100644
--- a/src/gui/painting/qcolor.h
+++ b/src/gui/painting/qcolor.h
@@ -225,6 +225,8 @@ public:
QT3_SUPPORT uint pixel(int screen = -1) const;
#endif
+ static bool isValidColor(const QString &name);
+
private:
#ifndef QT3_SUPPORT
// do not allow a spec to be used as an alpha value
@@ -232,6 +234,7 @@ private:
#endif
void invalidate();
+ bool setColorFromString(const QString &name);
Spec cspec;
union {
diff --git a/src/gui/painting/qcolormap.qdoc b/src/gui/painting/qcolormap.qdoc
index 56fabf78bc..22a73fdd71 100644
--- a/src/gui/painting/qcolormap.qdoc
+++ b/src/gui/painting/qcolormap.qdoc
@@ -150,3 +150,13 @@
Assigns the given \a colormap to \e this color map and returns
a reference to \e this color map.
*/
+
+/*!
+ \fn void QColormap::initialize()
+ \internal
+*/
+
+/*!
+ \fn void QColormap::cleanup()
+ \internal
+*/
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 891f4c211c..581b538dec 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -5072,7 +5072,7 @@ static void blend_tiled_argb8565(int count, const QSpan *spans, void *userData)
static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
{
-#if defined(QT_QWS_DEPTH_16)
+#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -7813,7 +7813,6 @@ static void qt_blend_color_argb_armv6(int count, const QSpan *spans, void *userD
void qInitDrawhelperAsm()
{
- const uint features = qDetectCPUFeatures();
qt_memfill32 = qt_memfill_template<quint32, quint32>;
qt_memfill16 = qt_memfill_quint16; //qt_memfill_template<quint16, quint16>;
@@ -7821,7 +7820,7 @@ void qInitDrawhelperAsm()
CompositionFunction *functionForModeAsm = 0;
CompositionFunctionSolid *functionForModeSolidAsm = 0;
-#ifdef QT_NO_DEBUG
+ const uint features = qDetectCPUFeatures();
if (false) {
#ifdef QT_HAVE_SSE2
} else if (features & SSE2) {
@@ -7944,8 +7943,6 @@ void qInitDrawhelperAsm()
}
#endif // IWMMXT
-#endif // QT_NO_DEBUG
-
#if defined(Q_CC_RVCT) && defined(QT_HAVE_ARMV6)
functionForModeAsm = qt_functionForMode_ARMv6;
functionForModeSolidAsm = qt_functionForModeSolid_ARMv6;
diff --git a/src/gui/painting/qdrawutil.cpp b/src/gui/painting/qdrawutil.cpp
index d76c709741..a62f06bde9 100644
--- a/src/gui/painting/qdrawutil.cpp
+++ b/src/gui/painting/qdrawutil.cpp
@@ -1081,7 +1081,7 @@ void qDrawItem(QPainter *p, Qt::GUIStyle gs,
according to the \a margins structure.
*/
-typedef QVarLengthArray<QPainter::Fragment, 16> QPixmapFragmentsArray;
+typedef QVarLengthArray<QPainter::PixmapFragment, 16> QPixmapFragmentsArray;
/*!
\since 4.6
@@ -1102,7 +1102,7 @@ void qDrawBorderPixmap(QPainter *painter, const QRect &targetRect, const QMargin
const QPixmap &pixmap, const QRect &sourceRect,const QMargins &sourceMargins,
const QTileRules &rules, QDrawBorderPixmap::DrawingHints hints)
{
- QPainter::Fragment d;
+ QPainter::PixmapFragment d;
d.opacity = 1.0;
d.rotation = 0.0;
diff --git a/src/gui/painting/qgraphicssystem_raster.cpp b/src/gui/painting/qgraphicssystem_raster.cpp
index f90aea0079..909508e9fa 100644
--- a/src/gui/painting/qgraphicssystem_raster.cpp
+++ b/src/gui/painting/qgraphicssystem_raster.cpp
@@ -41,19 +41,32 @@
#include "qgraphicssystem_raster_p.h"
+#ifdef Q_OS_SYMBIAN
+#include "private/qpixmap_s60_p.h"
+#include "private/qwindowsurface_s60_p.h"
+#else
#include "private/qpixmap_raster_p.h"
#include "private/qwindowsurface_raster_p.h"
+#endif
QT_BEGIN_NAMESPACE
QPixmapData *QRasterGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
{
+#ifdef Q_OS_SYMBIAN
+ return new QS60PixmapData(type);
+#else
return new QRasterPixmapData(type);
+#endif
}
QWindowSurface *QRasterGraphicsSystem::createWindowSurface(QWidget *widget) const
{
+#ifdef Q_OS_SYMBIAN
+ return new QS60WindowSurface(widget);
+#else
return new QRasterWindowSurface(widget);
+#endif
}
QT_END_NAMESPACE
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index a7c2a0b3c3..bfcf7dbd19 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -3390,7 +3390,7 @@ void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte
};
for(int i = 0; i < glyphs.size(); i++) {
- QFontEngineFT::Glyph *glyph = gset->glyph_data.value(glyphs[i]);
+ QFontEngineFT::Glyph *glyph = gset->getGlyph(glyphs[i]);
if (!glyph || glyph->format != neededFormat) {
if (!lockedFace)
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 98762f04e5..1fd622d5e5 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -970,8 +970,8 @@ void QPaintEngineEx::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, con
fill(path, brush);
}
-void QPaintEngineEx::drawPixmapFragments(const QPainter::Fragment *fragments, int fragmentCount,
- const QPixmap &pixmap, QPainter::FragmentHints /*hints*/)
+void QPaintEngineEx::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount,
+ const QPixmap &pixmap, QPainter::PixmapFragmentHints /*hints*/)
{
qreal oldOpacity = state()->opacity;
QTransform oldTransform = state()->matrix;
diff --git a/src/gui/painting/qpaintengineex_p.h b/src/gui/painting/qpaintengineex_p.h
index 2401b94cb6..6c654bd85c 100644
--- a/src/gui/painting/qpaintengineex_p.h
+++ b/src/gui/painting/qpaintengineex_p.h
@@ -197,7 +197,8 @@ public:
virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s);
- virtual void drawPixmapFragments(const QPainter::Fragment *fragments, int fragmentCount, const QPixmap &pixmap, QFlags<QPainter::FragmentHint> hints);
+ virtual void drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
+ QFlags<QPainter::PixmapFragmentHint> hints);
virtual void updateState(const QPaintEngineState &state);
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index dc96c1737c..a1ed8f5522 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -5758,18 +5758,18 @@ void QPainterPrivate::drawGlyphs(const quint32 *glyphArray, const QPointF *posit
/*!
\fn void QPainter::drawStaticText(const QPoint &position, const QStaticText &staticText)
-
\since 4.7
-
\overload
+
+ Draws the \a staticText at the \a position.
*/
/*!
\fn void QPainter::drawStaticText(int x, int y, const QStaticText &staticText)
-
\since 4.7
-
\overload
+
+ Draws the \a staticText at coordinates \a x and \a y.
*/
/*!
@@ -7994,10 +7994,11 @@ start_lengthVariant:
for (int i = 0; i < textLayout.lineCount(); i++) {
QTextLine line = textLayout.lineAt(i);
+ qreal advance = textLayout.engine()->lines[i].textAdvance.toReal();
if (tf & Qt::AlignRight)
- xoff = r.width() - line.naturalTextWidth();
+ xoff = r.width() - advance;
else if (tf & Qt::AlignHCenter)
- xoff = (r.width() - line.naturalTextWidth())/2;
+ xoff = (r.width() - advance)/2;
line.draw(painter, QPointF(r.x() + xoff + line.x(), r.y() + yoff));
}
@@ -8914,11 +8915,11 @@ QTransform QPainter::combinedTransform() const
This function is potentially faster than multiple calls to drawPixmap(),
since the backend can optimize state changes.
- \sa QPainter::Fragment, QPainter::FragmentHint
+ \sa QPainter::PixmapFragment, QPainter::PixmapFragmentHint
*/
-void QPainter::drawPixmapFragments(const Fragment *fragments, int fragmentCount,
- const QPixmap &pixmap, FragmentHints hints)
+void QPainter::drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount,
+ const QPixmap &pixmap, PixmapFragmentHints hints)
{
Q_D(QPainter);
@@ -8933,8 +8934,15 @@ void QPainter::drawPixmapFragments(const Fragment *fragments, int fragmentCount,
for (int i = 0; i < fragmentCount; ++i) {
QTransform transform = oldTransform;
- transform.translate(fragments[i].x, fragments[i].y);
- transform.rotate(fragments[i].rotation);
+ qreal xOffset = 0;
+ qreal yOffset = 0;
+ if (fragments[i].rotation == 0) {
+ xOffset = fragments[i].x;
+ yOffset = fragments[i].y;
+ } else {
+ transform.translate(fragments[i].x, fragments[i].y);
+ transform.rotate(fragments[i].rotation);
+ }
setOpacity(oldOpacity * fragments[i].opacity);
setTransform(transform);
@@ -8942,7 +8950,7 @@ void QPainter::drawPixmapFragments(const Fragment *fragments, int fragmentCount,
qreal h = fragments[i].scaleY * fragments[i].height;
QRectF sourceRect(fragments[i].sourceLeft, fragments[i].sourceTop,
fragments[i].width, fragments[i].height);
- drawPixmap(QRectF(-0.5 * w, -0.5 * h, w, h), pixmap, sourceRect);
+ drawPixmap(QRectF(-0.5 * w + xOffset, -0.5 * h + yOffset, w, h), pixmap, sourceRect);
}
setOpacity(oldOpacity);
@@ -8952,7 +8960,7 @@ void QPainter::drawPixmapFragments(const Fragment *fragments, int fragmentCount,
/*!
\since 4.7
- \class QPainter::Fragment
+ \class QPainter::PixmapFragment
\brief This class is used in conjunction with the
QPainter::drawPixmapFragments() function to specify how a pixmap, or
@@ -8973,73 +8981,73 @@ void QPainter::drawPixmapFragments(const Fragment *fragments, int fragmentCount,
/*!
\since 4.7
- This is a convenience function that returns a QPainter::Fragment that is
+ This is a convenience function that returns a QPainter::PixmapFragment that is
initialized with the \a pos, \a sourceRect, \a scaleX, \a scaleY, \a
rotation, \a opacity parameters.
*/
-QPainter::Fragment QPainter::Fragment::create(const QPointF &pos, const QRectF &sourceRect,
+QPainter::PixmapFragment QPainter::PixmapFragment::create(const QPointF &pos, const QRectF &sourceRect,
qreal scaleX, qreal scaleY, qreal rotation,
qreal opacity)
{
- Fragment fragment = {pos.x(), pos.y(), sourceRect.x(), sourceRect.y(), sourceRect.width(),
- sourceRect.height(), scaleX, scaleY, rotation, opacity};
+ PixmapFragment fragment = {pos.x(), pos.y(), sourceRect.x(), sourceRect.y(), sourceRect.width(),
+ sourceRect.height(), scaleX, scaleY, rotation, opacity};
return fragment;
}
/*!
- \variable QPainter::Fragment::x
+ \variable QPainter::PixmapFragment::x
\brief the x coordinate of center point in the target rectangle.
*/
/*!
- \variable QPainter::Fragment::y
+ \variable QPainter::PixmapFragment::y
\brief the y coordinate of the center point in the target rectangle.
*/
/*!
- \variable QPainter::Fragment::sourceLeft
+ \variable QPainter::PixmapFragment::sourceLeft
\brief the left coordinate of the source rectangle.
*/
/*!
- \variable QPainter::Fragment::sourceTop
+ \variable QPainter::PixmapFragment::sourceTop
\brief the top coordinate of the source rectangle.
*/
/*!
- \variable QPainter::Fragment::width
+ \variable QPainter::PixmapFragment::width
\brief the width of the source rectangle and is used to calculate the width
of the target rectangle.
*/
/*!
- \variable QPainter::Fragment::height
+ \variable QPainter::PixmapFragment::height
\brief the height of the source rectangle and is used to calculate the
height of the target rectangle.
*/
/*!
- \variable QPainter::Fragment::scaleX
+ \variable QPainter::PixmapFragment::scaleX
\brief the horizontal scale of the target rectangle.
*/
/*!
- \variable QPainter::Fragment::scaleY
+ \variable QPainter::PixmapFragment::scaleY
\brief the vertical scale of the target rectangle.
*/
/*!
- \variable QPainter::Fragment::rotation
+ \variable QPainter::PixmapFragment::rotation
\brief the rotation of the target rectangle in degrees. The target
rectangle is rotated after it has been scaled.
*/
/*!
- \variable QPainter::Fragment::opacity
+ \variable QPainter::PixmapFragment::opacity
\brief the opacity of the target rectangle, where 0.0 is fully transparent
and 1.0 is fully opaque.
@@ -9048,12 +9056,12 @@ QPainter::Fragment QPainter::Fragment::create(const QPointF &pos, const QRectF &
/*!
\since 4.7
- \enum QPainter::FragmentHint
+ \enum QPainter::PixmapFragmentHint
\value OpaqueHint Indicates that the pixmap fragments to be drawn are
opaque. Opaque fragments are potentially faster to draw.
- \sa QPainter::drawPixmapFragments(), QPainter::Fragment
+ \sa QPainter::drawPixmapFragments(), QPainter::PixmapFragment
*/
void qt_draw_helper(QPainterPrivate *p, const QPainterPath &path, QPainterPrivate::DrawOperation operation)
diff --git a/src/gui/painting/qpainter.h b/src/gui/painting/qpainter.h
index bcb0b50cf2..443925b771 100644
--- a/src/gui/painting/qpainter.h
+++ b/src/gui/painting/qpainter.h
@@ -99,7 +99,7 @@ public:
Q_DECLARE_FLAGS(RenderHints, RenderHint)
- class Fragment {
+ class PixmapFragment {
public:
qreal x;
qreal y;
@@ -111,16 +111,16 @@ public:
qreal scaleY;
qreal rotation;
qreal opacity;
- static Fragment Q_GUI_EXPORT create(const QPointF &pos, const QRectF &sourceRect,
+ static PixmapFragment Q_GUI_EXPORT create(const QPointF &pos, const QRectF &sourceRect,
qreal scaleX = 1, qreal scaleY = 1,
qreal rotation = 0, qreal opacity = 1);
};
- enum FragmentHint {
+ enum PixmapFragmentHint {
OpaqueHint = 0x01
};
- Q_DECLARE_FLAGS(FragmentHints, FragmentHint)
+ Q_DECLARE_FLAGS(PixmapFragmentHints, PixmapFragmentHint)
QPainter();
explicit QPainter(QPaintDevice *);
@@ -375,8 +375,8 @@ public:
inline void drawPixmap(const QRect &r, const QPixmap &pm);
inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm);
- void drawPixmapFragments(const Fragment *fragments, int fragmentCount,
- const QPixmap &pixmap, FragmentHints hints = 0);
+ void drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount,
+ const QPixmap &pixmap, PixmapFragmentHints hints = 0);
void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect,
Qt::ImageConversionFlags flags = Qt::AutoColor);
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index edf224df0e..ae2141662d 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -382,6 +382,7 @@ void QPrinterPrivate::addToManualSetList(QPrintEngine::PrintEnginePropertyKey ke
\value AllPages All pages should be printed.
\value Selection Only the selection should be printed.
\value PageRange The specified page range should be printed.
+ \value CurrentPage Only the current page should be printed.
\sa QAbstractPrintDialog::PrintRange
*/
@@ -571,6 +572,7 @@ void QPrinterPrivate::addToManualSetList(QPrintEngine::PrintEnginePropertyKey ke
\value AllPages All the pages should be printed.
\value Selection Only the selection should be printed.
\value PageRange Print according to the from page and to page options.
+ \value CurrentPage Only the current page should be printed.
\sa setPrintRange(), printRange()
*/
@@ -586,6 +588,7 @@ void QPrinterPrivate::addToManualSetList(QPrintEngine::PrintEnginePropertyKey ke
\value PrintSelection Describes if printing selections should be enabled.
\value PrintPageRange Describes if printing page ranges (from, to) should
be enabled
+ \value PrintCurrentPage if Print Current Page option should be enabled
\sa setOptionEnabled(), isOptionEnabled()
*/
diff --git a/src/gui/painting/qprinter.h b/src/gui/painting/qprinter.h
index 6636179393..996a954eca 100644
--- a/src/gui/painting/qprinter.h
+++ b/src/gui/painting/qprinter.h
@@ -124,7 +124,7 @@ public:
enum OutputFormat { NativeFormat, PdfFormat, PostScriptFormat };
// ### Qt 5: Merge with QAbstractPrintDialog::PrintRange
- enum PrintRange { AllPages, Selection, PageRange };
+ enum PrintRange { AllPages, Selection, PageRange, CurrentPage };
enum Unit {
Millimeter,
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index cf3957b5c4..4418018492 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -195,7 +195,7 @@ QImage QTextureGlyphCache::textureMapForGlyph(glyph_t g) const
QFontEngineFT::QGlyphSet *gset = ft->loadTransformedGlyphSet(m_transform);
if (gset && ft->loadGlyphs(gset, &g, 1, format)) {
- QFontEngineFT::Glyph *glyph = gset->glyph_data.value(g);
+ QFontEngineFT::Glyph *glyph = gset->getGlyph(g);
const int bytesPerLine = (format == QFontEngineFT::Format_Mono ? ((glyph->width + 31) & ~31) >> 3
: (glyph->width + 3) & ~3);
return QImage(glyph->data, glyph->width, glyph->height, bytesPerLine, imageFormat);
diff --git a/src/gui/painting/qwindowsurface_qws.cpp b/src/gui/painting/qwindowsurface_qws.cpp
index d3fc9deccf..a816ed21c4 100644
--- a/src/gui/painting/qwindowsurface_qws.cpp
+++ b/src/gui/painting/qwindowsurface_qws.cpp
@@ -80,7 +80,7 @@ static void qt_insertWindowSurface(int winId, QWSWindowSurface *surface)
inline bool isWidgetOpaque(const QWidget *w)
{
- return w->d_func()->isOpaque;
+ return w->d_func()->isOpaque && !w->testAttribute(Qt::WA_TranslucentBackground);
}
static inline QScreen *getScreen(const QWidget *w)
@@ -873,6 +873,21 @@ bool QWSMemorySurface::isValid() const
return true;
}
+// ### copied from qwindowsurface_raster.cpp -- should be cross-platform
+void QWSMemorySurface::beginPaint(const QRegion &rgn)
+{
+ if (!isWidgetOpaque(window())) {
+ QPainter p(&img);
+ p.setCompositionMode(QPainter::CompositionMode_Source);
+ const QVector<QRect> rects = rgn.rects();
+ const QColor blank = Qt::transparent;
+ for (QVector<QRect>::const_iterator it = rects.begin(); it != rects.end(); ++it) {
+ p.fillRect(*it, blank);
+ }
+ }
+ QWSWindowSurface::beginPaint(rgn);
+}
+
// from qwindowsurface.cpp
extern void qt_scrollRectInImage(QImage &img, const QRect &rect, const QPoint &offset);
diff --git a/src/gui/painting/qwindowsurface_qws_p.h b/src/gui/painting/qwindowsurface_qws_p.h
index a8371c8362..30900dc8ac 100644
--- a/src/gui/painting/qwindowsurface_qws_p.h
+++ b/src/gui/painting/qwindowsurface_qws_p.h
@@ -176,6 +176,8 @@ public:
QImage image() const { return img; }
QPoint painterOffset() const;
+ void beginPaint(const QRegion &rgn);
+
bool lock(int timeout = -1);
void unlock();
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index f8464cc294..b0e2d37741 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -4760,7 +4760,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
int margins = 0;
// we add 4 pixels for label margins
- if (btn->icon.isNull() || !btn->text.isEmpty())
+ if (!btn->icon.isNull() || !btn->text.isEmpty())
margins = 4 + proxy()->pixelMetric(isRadio ? PM_RadioButtonLabelSpacing
: PM_CheckBoxLabelSpacing, opt, widget);
sz += QSize(w + margins, 4);
diff --git a/src/gui/styles/qgtkpainter.cpp b/src/gui/styles/qgtkpainter.cpp
index 6cc745508f..1f68f2f768 100644
--- a/src/gui/styles/qgtkpainter.cpp
+++ b/src/gui/styles/qgtkpainter.cpp
@@ -142,7 +142,7 @@ QPixmap QGtkPainter::renderTheme(uchar *bdata, uchar *wdata, const QRect &rect)
}
QGtkPainter::QGtkPainter(QPainter *_painter)
- : m_window(QGtkStylePrivate::gtkWidget(QLatin1String("GtkWindow")))
+ : m_window(QGtkStylePrivate::gtkWidget("GtkWindow"))
, m_painter(_painter)
, m_alpha(true)
, m_hflipped(false)
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index b5f052b709..e2de43a6c4 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -222,7 +222,7 @@ QPalette QGtkStyle::standardPalette() const
QPalette palette = QCleanlooksStyle::standardPalette();
if (d->isThemeAvailable()) {
GtkStyle *style = d->gtkStyle();
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
GtkWidget *gtkEntry = d->getTextColorWidget();
GdkColor gdkBg, gdkBase, gdkText, gdkForeground, gdkSbg, gdkSfg;
@@ -253,7 +253,7 @@ QPalette QGtkStyle::standardPalette() const
palette.setColor(QPalette::Base, base);
QColor alternateRowColor = palette.base().color().lighter(93); // ref gtkstyle.c draw_flat_box
- GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget("GtkTreeView");
GdkColor *gtkAltBase = NULL;
d->gtk_widget_style_get(gtkTreeView, "odd-row-color", &gtkAltBase, NULL);
if (gtkAltBase) {
@@ -421,14 +421,14 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
return 0;
case PM_ButtonShiftHorizontal: {
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
guint horizontal_shift;
d->gtk_widget_style_get(gtkButton, "child-displacement-x", &horizontal_shift, NULL);
return horizontal_shift;
}
case PM_ButtonShiftVertical: {
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
guint vertical_shift;
d->gtk_widget_style_get(gtkButton, "child-displacement-y", &vertical_shift, NULL);
return vertical_shift;
@@ -438,7 +438,7 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
return 0;
case PM_MenuPanelWidth: {
- GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenu = d->gtkWidget("GtkMenu");
guint horizontal_padding = 0;
// horizontal-padding is used by Maemo to get thicker borders
if (!d->gtk_check_version(2, 10, 0))
@@ -495,7 +495,7 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_SliderThickness:
case PM_SliderControlThickness: {
- GtkWidget *gtkScale = d->gtkWidget(QLS("GtkHScale"));
+ GtkWidget *gtkScale = d->gtkWidget("GtkHScale");
gint val;
d->gtk_widget_style_get(gtkScale, "slider-width", &val, NULL);
if (metric == PM_SliderControlThickness)
@@ -506,7 +506,7 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_ScrollBarExtent: {
gint sliderLength;
gint trough_border;
- GtkWidget *hScrollbar = d->gtkWidget(QLS("GtkHScrollbar"));
+ GtkWidget *hScrollbar = d->gtkWidget("GtkHScrollbar");
d->gtk_widget_style_get(hScrollbar,
"trough-border", &trough_border,
"slider-width", &sliderLength,
@@ -519,34 +519,34 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_SliderLength:
gint val;
- d->gtk_widget_style_get(d->gtkWidget(QLS("GtkHScale")), "slider-length", &val, NULL);
+ d->gtk_widget_style_get(d->gtkWidget("GtkHScale"), "slider-length", &val, NULL);
return val;
case PM_ExclusiveIndicatorWidth:
case PM_ExclusiveIndicatorHeight:
case PM_IndicatorWidth:
case PM_IndicatorHeight: {
- GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget("GtkCheckButton");
gint size, spacing;
d->gtk_widget_style_get(gtkCheckButton, "indicator-spacing", &spacing, "indicator-size", &size, NULL);
return size + 2 * spacing;
}
case PM_MenuBarVMargin: {
- GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget("GtkMenuBar");
return qMax(0, gtkMenubar->style->ythickness);
}
case PM_ScrollView_ScrollBarSpacing:
{
gint spacing = 3;
- GtkWidget *gtkScrollWindow = d->gtkWidget(QLS("GtkScrolledWindow"));
+ GtkWidget *gtkScrollWindow = d->gtkWidget("GtkScrolledWindow");
Q_ASSERT(gtkScrollWindow);
d->gtk_widget_style_get(gtkScrollWindow, "scrollbar-spacing", &spacing, NULL);
return spacing;
}
case PM_SubMenuOverlap: {
gint offset = 0;
- GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenu = d->gtkWidget("GtkMenu");
d->gtk_widget_style_get(gtkMenu, "horizontal-offset", &offset, NULL);
return offset;
}
@@ -587,7 +587,7 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
{
if (d->isKDE4Session())
return QCleanlooksStyle::styleHint(hint, option, widget, returnData);
- GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget("GtkToolbar");
GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
g_object_get(gtkToolbar, "toolbar-style", &toolbar_style, NULL);
switch (toolbar_style) {
@@ -610,7 +610,7 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
return int(false);
case SH_ComboBox_Popup: {
- GtkWidget *gtkComboBox = d->gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkComboBox = d->gtkWidget("GtkComboBox");
gboolean appears_as_list;
d->gtk_widget_style_get((GtkWidget*)gtkComboBox, "appears-as-list", &appears_as_list, NULL);
return appears_as_list ? 0 : 1;
@@ -634,7 +634,7 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
if (widget && widget->isWindow())
scrollbars_within_bevel = true;
else if (!d->gtk_check_version(2, 12, 0)) {
- GtkWidget *gtkScrollWindow = d->gtkWidget(QLS("GtkScrolledWindow"));
+ GtkWidget *gtkScrollWindow = d->gtkWidget("GtkScrolledWindow");
d->gtk_widget_style_get(gtkScrollWindow, "scrollbars-within-bevel", &scrollbars_within_bevel, NULL);
}
return !scrollbars_within_bevel;
@@ -712,7 +712,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
GtkStyle *style = d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(),
"*.GtkScrolledWindow", "*.GtkScrolledWindow", d->gtk_window_get_type());
if (style)
- gtkFramePainter.paintShadow(d->gtkWidget(QLS("GtkFrame")), "viewport", pmRect,
+ gtkFramePainter.paintShadow(d->gtkWidget("GtkFrame"), "viewport", pmRect,
option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
shadow_type, style);
QPixmapCache::insert(pmKey, pixmap);
@@ -739,7 +739,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_PanelTipLabel: {
- GtkWidget *gtkWindow = d->gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
+ GtkWidget *gtkWindow = d->gtkWidget("GtkWindow"); // The Murrine Engine currently assumes a widget is passed
style = d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(), "gtk-tooltips", "GtkWindow",
d->gtk_window_get_type());
gtkPainter.paintFlatBox(gtkWindow, "tooltip", option->rect, GTK_STATE_NORMAL, GTK_SHADOW_NONE, style);
@@ -754,7 +754,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
}
GtkShadowType shadow_type;
- GtkWidget *gtkStatusbarFrame = d->gtkWidget(QLS("GtkStatusbar.GtkFrame"));
+ GtkWidget *gtkStatusbarFrame = d->gtkWidget("GtkStatusbar.GtkFrame");
d->gtk_widget_style_get(gtkStatusbarFrame->parent, "shadow-type", &shadow_type, NULL);
gtkPainter.paintShadow(gtkStatusbarFrame, "frame", option->rect, GTK_STATE_NORMAL,
shadow_type, gtkStatusbarFrame->style);
@@ -763,7 +763,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_IndicatorHeaderArrow:
if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
- GtkWidget *gtkTreeHeader = d->gtkWidget(QLS("GtkTreeView.GtkButton"));
+ GtkWidget *gtkTreeHeader = d->gtkWidget("GtkTreeView.GtkButton");
GtkStateType state = gtkPainter.gtkState(option);
style = gtkTreeHeader->style;
GtkArrowType type = GTK_ARROW_UP;
@@ -801,7 +801,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
rect.translate(2, 0);
GtkExpanderStyle openState = GTK_EXPANDER_EXPANDED;
GtkExpanderStyle closedState = GTK_EXPANDER_COLLAPSED;
- GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget("GtkTreeView");
GtkStateType state = GTK_STATE_NORMAL;
if (!(option->state & State_Enabled))
@@ -837,7 +837,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_IndicatorToolBarSeparator:
{
const int margin = 6;
- GtkWidget *gtkSeparator = d->gtkWidget(QLS("GtkToolbar.GtkSeparatorToolItem"));
+ GtkWidget *gtkSeparator = d->gtkWidget("GtkToolbar.GtkSeparatorToolItem");
if (option->state & State_Horizontal) {
const int offset = option->rect.width()/2;
QRect rect = option->rect.adjusted(offset, margin, 0, -margin);
@@ -857,7 +857,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_IndicatorToolBarHandle: {
- GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget("GtkToolbar");
GtkShadowType shadow_type;
d->gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
//Note when the toolbar is horizontal, the handle is vertical
@@ -905,7 +905,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
GtkStateType state = gtkPainter.gtkState(option);
QColor arrowColor = option->palette.buttonText().color();
- GtkWidget *gtkArrow = d->gtkWidget(QLS("GtkArrow"));
+ GtkWidget *gtkArrow = d->gtkWidget("GtkArrow");
GdkColor color = fromQColor(arrowColor);
d->gtk_widget_modify_fg (gtkArrow, state, &color);
gtkPainter.paintArrow(gtkArrow, "button", arrowRect,
@@ -921,7 +921,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_PanelMenu: {
- GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenu = d->gtkWidget("GtkMenu");
gtkPainter.setAlphaSupport(false); // Note, alpha disabled for performance reasons
gtkPainter.paintBox(gtkMenu, "menu", option->rect, GTK_STATE_NORMAL, GTK_SHADOW_OUT, gtkMenu->style, QString());
}
@@ -933,7 +933,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
// This is only used by floating tool bars
if (qobject_cast<const QToolBar *>(widget)) {
- GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget("GtkMenuBar");
gtkPainter.paintBox( gtkMenubar, "toolbar", option->rect,
GTK_STATE_NORMAL, GTK_SHADOW_OUT, style);
gtkPainter.paintBox( gtkMenubar, "menu", option->rect,
@@ -942,7 +942,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_FrameLineEdit: {
- GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget("GtkEntry");
gboolean interior_focus;
@@ -976,7 +976,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_PanelLineEdit:
if (const QStyleOptionFrame *panel = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
- GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget("GtkEntry");
if (panel->lineWidth > 0)
proxy()->drawPrimitive(PE_FrameLineEdit, option, painter, widget);
uint resolve_mask = option->palette.resolve();
@@ -994,7 +994,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_FrameTabWidget:
if (const QStyleOptionTabWidgetFrame *frame = qstyleoption_cast<const QStyleOptionTabWidgetFrame*>(option)) {
- GtkWidget *gtkNotebook = d->gtkWidget(QLS("GtkNotebook"));
+ GtkWidget *gtkNotebook = d->gtkWidget("GtkNotebook");
style = gtkPainter.getStyle(gtkNotebook);
gtkPainter.setAlphaSupport(false);
GtkShadowType shadow = GTK_SHADOW_OUT;
@@ -1042,7 +1042,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
GtkStateType state = gtkPainter.gtkState(option);
if (option->state & State_On || option->state & State_Sunken)
state = GTK_STATE_ACTIVE;
- GtkWidget *gtkButton = d->gtkWidget(isTool ? QLS("GtkToolButton.GtkButton") : QLS("GtkButton"));
+ GtkWidget *gtkButton = isTool ? d->gtkWidget("GtkToolButton.GtkButton") : d->gtkWidget("GtkButton");
gint focusWidth, focusPad;
gboolean interiorFocus = false;
d->gtk_widget_style_get (gtkButton,
@@ -1098,14 +1098,14 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
else
shadow = GTK_SHADOW_OUT;
- GtkWidget *gtkRadioButton = d->gtkWidget(QLS("GtkRadioButton"));
+ GtkWidget *gtkRadioButton = d->gtkWidget("GtkRadioButton");
gint spacing;
d->gtk_widget_style_get(gtkRadioButton, "indicator-spacing", &spacing, NULL);
QRect buttonRect = option->rect.adjusted(spacing, spacing, -spacing, -spacing);
gtkPainter.setClipRect(option->rect);
// ### Note: Ubuntulooks breaks when the proper widget is passed
// Murrine engine requires a widget not to get RGBA check - warnings
- GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget("GtkCheckButton");
QString key(QLS("radiobutton"));
if (option->state & State_HasFocus) { // Themes such as Nodoka check this flag
key += QLatin1Char('f');
@@ -1133,7 +1133,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
int spacing;
- GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget("GtkCheckButton");
QString key(QLS("checkbutton"));
if (option->state & State_HasFocus) { // Themes such as Nodoka checks this flag
key += QLatin1Char('f');
@@ -1275,7 +1275,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if ((groupBox->subControls & QStyle::SC_GroupBoxLabel) && !groupBox->text.isEmpty()) {
// Draw prelight background
- GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget("GtkCheckButton");
if (option->state & State_MouseOver) {
QRect bgRect = textRect | checkBoxRect;
@@ -1348,7 +1348,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
GtkShadowType shadow = (option->state & State_Sunken || option->state & State_On ) ?
GTK_SHADOW_IN : GTK_SHADOW_OUT;
- QString comboBoxPath = QLS(comboBox->editable ? "GtkComboBoxEntry" : "GtkComboBox");
+ const QHashableLatin1Literal comboBoxPath = comboBox->editable ? QHashableLatin1Literal("GtkComboBoxEntry") : QHashableLatin1Literal("GtkComboBox");
// We use the gtk widget to position arrows and separators for us
GtkWidget *gtkCombo = d->gtkWidget(comboBoxPath);
@@ -1356,7 +1356,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
d->gtk_widget_set_direction(gtkCombo, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
d->gtk_widget_size_allocate(gtkCombo, &geometry);
- QString buttonPath = comboBoxPath + QLS(".GtkToggleButton");
+ QHashableLatin1Literal buttonPath = comboBox->editable ? QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton")
+ : QHashableLatin1Literal("GtkComboBox.GtkToggleButton");
GtkWidget *gtkToggleButton = d->gtkWidget(buttonPath);
d->gtk_widget_set_direction(gtkToggleButton, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
if (gtkToggleButton && (appears_as_list || comboBox->editable)) {
@@ -1365,7 +1366,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
// Draw the combo box as a line edit with a button next to it
if (comboBox->editable || appears_as_list) {
GtkStateType frameState = (state == GTK_STATE_PRELIGHT) ? GTK_STATE_NORMAL : state;
- QString entryPath = QLS(comboBox->editable ? "GtkComboBoxEntry.GtkEntry" : "GtkComboBox.GtkFrame");
+ QHashableLatin1Literal entryPath = comboBox->editable ? QHashableLatin1Literal("GtkComboBoxEntry.GtkEntry") : QHashableLatin1Literal("GtkComboBox.GtkFrame");
GtkWidget *gtkEntry = d->gtkWidget(entryPath);
d->gtk_widget_set_direction(gtkEntry, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
QRect frameRect = option->rect;
@@ -1391,11 +1392,11 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
else {
gtkCachedPainter.paintFlatBox(gtkEntry, "entry_bg", contentRect,
option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
- GTK_SHADOW_NONE, gtkEntry->style, entryPath + QString::number(focus));
+ GTK_SHADOW_NONE, gtkEntry->style, entryPath.toString() + QString::number(focus));
}
gtkCachedPainter.paintShadow(gtkEntry, comboBox->editable ? "entry" : "frame", frameRect, frameState,
- GTK_SHADOW_IN, gtkEntry->style, entryPath +
+ GTK_SHADOW_IN, gtkEntry->style, entryPath.toString() +
QString::number(focus) + QString::number(comboBox->editable) +
QString::number(option->direction));
if (focus)
@@ -1416,7 +1417,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
Q_ASSERT(gtkToggleButton);
gtkCachedPainter.paintBox( gtkToggleButton, "button", arrowButtonRect, buttonState,
- shadow, gtkToggleButton->style, buttonPath +
+ shadow, gtkToggleButton->style, buttonPath.toString() +
QString::number(focus) + QString::number(option->direction));
if (focus)
GTK_WIDGET_UNSET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
@@ -1429,12 +1430,17 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gtkCachedPainter.paintBox(gtkToggleButton, "button",
buttonRect, state,
shadow, gtkToggleButton->style,
- buttonPath + QString::number(focus));
+ buttonPath.toString() + QString::number(focus));
if (focus)
GTK_WIDGET_UNSET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
+ QHashableLatin1Literal buttonPath = comboBox->editable ? QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton")
+ : QHashableLatin1Literal("GtkComboBox.GtkToggleButton");
+
// Draw the separator between label and arrows
- QString vSeparatorPath = buttonPath + QLS(".GtkHBox.GtkVSeparator");
+ QHashableLatin1Literal vSeparatorPath = comboBox->editable
+ ? QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton.GtkHBox.GtkVSeparator")
+ : QHashableLatin1Literal("GtkComboBox.GtkToggleButton.GtkHBox.GtkVSeparator");
if (GtkWidget *gtkVSeparator = d->gtkWidget(vSeparatorPath)) {
QRect vLineRect(gtkVSeparator->allocation.x,
@@ -1444,7 +1450,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gtkCachedPainter.paintVline( gtkVSeparator, "vseparator",
vLineRect, state, gtkVSeparator->style,
- 0, vLineRect.height(), 0, vSeparatorPath);
+ 0, vLineRect.height(), 0, vSeparatorPath.toString());
gint interiorFocus = true;
@@ -1469,8 +1475,18 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
else
state = GTK_STATE_NORMAL;
- QString arrowPath = comboBoxPath + QLS(appears_as_list ? ".GtkToggleButton.GtkArrow"
- : ".GtkToggleButton.GtkHBox.GtkArrow");
+ QHashableLatin1Literal arrowPath("");
+ if (comboBox->editable) {
+ if (appears_as_list)
+ arrowPath = QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton.GtkArrow");
+ else
+ arrowPath = QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton.GtkHBox.GtkArrow");
+ } else {
+ if (appears_as_list)
+ arrowPath = QHashableLatin1Literal("GtkComboBox.GtkToggleButton.GtkArrow");
+ else
+ arrowPath = QHashableLatin1Literal("GtkComboBox.GtkToggleButton.GtkHBox.GtkArrow");
+ }
GtkWidget *gtkArrow = d->gtkWidget(arrowPath);
gfloat scale = 0.7;
@@ -1497,7 +1513,11 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (sunken) {
int xoff, yoff;
- GtkWidget *gtkButton = d->gtkWidget(comboBoxPath + QLS(".GtkToggleButton"));
+ const QHashableLatin1Literal toggleButtonPath = comboBox->editable
+ ? QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton")
+ : QHashableLatin1Literal("GtkComboBox.GtkToggleButton");
+
+ GtkWidget *gtkButton = d->gtkWidget(toggleButtonPath);
d->gtk_widget_style_get(gtkButton, "child-displacement-x", &xoff, NULL);
d->gtk_widget_style_get(gtkButton, "child-displacement-y", &yoff, NULL);
arrowRect = arrowRect.adjusted(xoff, yoff, xoff, yoff);
@@ -1509,7 +1529,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gtkCachedPainter.setClipRect(option->rect);
gtkCachedPainter.paintArrow( gtkArrow, "arrow", arrowRect,
GTK_ARROW_DOWN, state, GTK_SHADOW_NONE, TRUE,
- style, arrowPath + QString::number(option->direction));
+ style, arrowPath.toString() + QString::number(option->direction));
}
}
END_STYLE_PIXMAPCACHE;
@@ -1570,7 +1590,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QStyleOptionToolButton label = *toolbutton;
label.state = bflags;
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkToolButton.GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkToolButton.GtkButton");
QPalette pal = toolbutton->palette;
if (option->state & State_Enabled &&
option->state & State_MouseOver && !(widget && widget->testAttribute(Qt::WA_SetPalette))) {
@@ -1605,8 +1625,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_ScrollBar:
if (const QStyleOptionSlider *scrollBar = qstyleoption_cast<const QStyleOptionSlider *>(option)) {
- GtkWidget *gtkHScrollBar = d->gtkWidget(QLS("GtkHScrollbar"));
- GtkWidget *gtkVScrollBar = d->gtkWidget(QLS("GtkVScrollbar"));
+ GtkWidget *gtkHScrollBar = d->gtkWidget("GtkHScrollbar");
+ GtkWidget *gtkVScrollBar = d->gtkWidget("GtkVScrollbar");
// Fill background in case the scrollbar is partially transparent
painter->fillRect(option->rect, option->palette.background());
@@ -1751,10 +1771,9 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_SpinBox:
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- GtkWidget *gtkSpinButton = d->gtkWidget(
- spinBox->buttonSymbols == QAbstractSpinBox::NoButtons ?
- QLS("GtkEntry") :
- QLS("GtkSpinButton"));
+ GtkWidget *gtkSpinButton = spinBox->buttonSymbols == QAbstractSpinBox::NoButtons
+ ? d->gtkWidget("GtkEntry")
+ : d->gtkWidget("GtkSpinButton");
bool isEnabled = (spinBox->state & State_Enabled);
bool hover = isEnabled && (spinBox->state & State_MouseOver);
bool sunken = (spinBox->state & State_Sunken);
@@ -1906,8 +1925,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_Slider:
if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(option)) {
- GtkWidget *hScaleWidget = d->gtkWidget(QLS("GtkHScale"));
- GtkWidget *vScaleWidget = d->gtkWidget(QLS("GtkVScale"));
+ GtkWidget *hScaleWidget = d->gtkWidget("GtkHScale");
+ GtkWidget *vScaleWidget = d->gtkWidget("GtkVScale");
QRect groove = proxy()->subControlRect(CC_Slider, option, SC_SliderGroove, widget);
QRect handle = proxy()->subControlRect(CC_Slider, option, SC_SliderHandle, widget);
@@ -2097,7 +2116,7 @@ void QGtkStyle::drawControl(ControlElement element,
switch (element) {
case CE_ProgressBarLabel:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
- GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget("GtkProgressBar");
if (!gtkProgressBar)
return;
@@ -2200,7 +2219,7 @@ void QGtkStyle::drawControl(ControlElement element,
if (button->features & QStyleOptionButton::HasMenu)
ir = ir.adjusted(0, 0, -pixelMetric(PM_MenuButtonIndicator, button, widget), 0);
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
QPalette pal = button->palette;
int labelState = GTK_STATE_INSENSITIVE;
if (option->state & State_Enabled)
@@ -2221,7 +2240,7 @@ void QGtkStyle::drawControl(ControlElement element,
bool isRadio = (element == CE_RadioButton);
// Draw prelight background
- GtkWidget *gtkRadioButton = d->gtkWidget(QLS("GtkRadioButton"));
+ GtkWidget *gtkRadioButton = d->gtkWidget("GtkRadioButton");
if (option->state & State_MouseOver) {
gtkPainter.paintFlatBox(gtkRadioButton, "checkbutton", option->rect,
@@ -2289,7 +2308,7 @@ void QGtkStyle::drawControl(ControlElement element,
}
if (!cb->currentText.isEmpty() && !cb->editable) {
- GtkWidget *gtkCombo = d->gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkCombo = d->gtkWidget("GtkComboBox");
QPalette pal = cb->palette;
int labelState = GTK_STATE_INSENSITIVE;
@@ -2366,7 +2385,7 @@ void QGtkStyle::drawControl(ControlElement element,
// Draws the header in tables.
if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
Q_UNUSED(header);
- GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget("GtkTreeView");
// Get the middle column
GtkTreeViewColumn *column = d->gtk_tree_view_get_column((GtkTreeView*)gtkTreeView, 1);
Q_ASSERT(column);
@@ -2387,7 +2406,7 @@ void QGtkStyle::drawControl(ControlElement element,
#ifndef QT_NO_SIZEGRIP
case CE_SizeGrip: {
- GtkWidget *gtkStatusbar = d->gtkWidget(QLS("GtkStatusbar.GtkFrame"));
+ GtkWidget *gtkStatusbar = d->gtkWidget("GtkStatusbar.GtkFrame");
QRect gripRect = option->rect.adjusted(0, 0, -gtkStatusbar->style->xthickness, -gtkStatusbar->style->ythickness);
gtkPainter.paintResizeGrip( gtkStatusbar, "statusbar", gripRect, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, QApplication::isRightToLeft() ?
@@ -2399,7 +2418,7 @@ void QGtkStyle::drawControl(ControlElement element,
#endif // QT_NO_SIZEGRIP
case CE_MenuBarEmptyArea: {
- GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget("GtkMenuBar");
GdkColor gdkBg = gtkMenubar->style->bg[GTK_STATE_NORMAL]; // Theme can depend on transparency
painter->fillRect(option->rect, QColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8));
if (widget) { // See CE_MenuBarItem
@@ -2422,8 +2441,8 @@ void QGtkStyle::drawControl(ControlElement element,
painter->save();
if (const QStyleOptionMenuItem *mbi = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) {
- GtkWidget *gtkMenubarItem = d->gtkWidget(QLS("GtkMenuBar.GtkMenuItem"));
- GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubarItem = d->gtkWidget("GtkMenuBar.GtkMenuItem");
+ GtkWidget *gtkMenubar = d->gtkWidget("GtkMenuBar");
style = gtkMenubarItem->style;
@@ -2479,7 +2498,7 @@ void QGtkStyle::drawControl(ControlElement element,
break;
case CE_Splitter: {
- GtkWidget *gtkWindow = d->gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
+ GtkWidget *gtkWindow = d->gtkWidget("GtkWindow"); // The Murrine Engine currently assumes a widget is passed
gtkPainter.paintHandle(gtkWindow, "splitter", option->rect, gtkPainter.gtkState(option), GTK_SHADOW_NONE,
!(option->state & State_Horizontal) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL,
style);
@@ -2499,7 +2518,7 @@ void QGtkStyle::drawControl(ControlElement element,
if (toolbar->positionWithinLine != QStyleOptionToolBar::End)
rect.adjust(0, 0, 1, 0);
- GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget("GtkToolbar");
GtkShadowType shadow_type = GTK_SHADOW_NONE;
d->gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
gtkPainter.paintBox( gtkToolbar, "toolbar", rect,
@@ -2518,15 +2537,15 @@ void QGtkStyle::drawControl(ControlElement element,
const int windowsItemHMargin = 3; // menu item hor text margin
const int windowsItemVMargin = 26; // menu item ver text margin
const int windowsRightBorder = 15; // right border on windows
- GtkWidget *gtkMenuItem = menuItem->checked ? d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")) :
- d->gtkWidget(QLS("GtkMenu.GtkMenuItem"));
+ GtkWidget *gtkMenuItem = menuItem->checked ? d->gtkWidget("GtkMenu.GtkCheckMenuItem") :
+ d->gtkWidget("GtkMenu.GtkMenuItem");
style = gtkPainter.getStyle(gtkMenuItem);
QColor borderColor = option->palette.background().color().darker(160);
QColor shadow = option->palette.dark().color();
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
- GtkWidget *gtkMenuSeparator = d->gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
+ GtkWidget *gtkMenuSeparator = d->gtkWidget("GtkMenu.GtkSeparatorMenuItem");
painter->setPen(shadow.lighter(106));
gboolean wide_separators = 0;
gint separator_height = 0;
@@ -2570,7 +2589,7 @@ void QGtkStyle::drawControl(ControlElement element,
bool ignoreCheckMark = false;
gint checkSize;
- d->gtk_widget_style_get(d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")), "indicator-size", &checkSize, NULL);
+ d->gtk_widget_style_get(d->gtkWidget("GtkMenu.GtkCheckMenuItem"), "indicator-size", &checkSize, NULL);
int checkcol = qMax(menuItem->maxIconWidth, qMax(20, checkSize));
@@ -2781,7 +2800,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_PushButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
proxy()->drawControl(CE_PushButtonBevel, btn, painter, widget);
QStyleOptionButton subopt = *btn;
subopt.rect = subElementRect(SE_PushButtonContents, btn, widget);
@@ -2807,7 +2826,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_TabBarTabShape:
if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) {
- GtkWidget *gtkNotebook = d->gtkWidget(QLS("GtkNotebook"));
+ GtkWidget *gtkNotebook = d->gtkWidget("GtkNotebook");
style = gtkPainter.getStyle(gtkNotebook);
QRect rect = option->rect;
@@ -2874,7 +2893,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_ProgressBarGroove:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
Q_UNUSED(bar);
- GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget("GtkProgressBar");
GtkStateType state = gtkPainter.gtkState(option);
gtkPainter.paintBox( gtkProgressBar, "trough", option->rect, state, GTK_SHADOW_IN, gtkProgressBar->style);
}
@@ -2884,7 +2903,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_ProgressBarContents:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
GtkStateType state = option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE;
- GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget("GtkProgressBar");
style = gtkProgressBar->style;
gtkPainter.paintBox( gtkProgressBar, "trough", option->rect, state, GTK_SHADOW_IN, style);
int xt = style->xthickness;
@@ -3042,7 +3061,7 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
case CC_SpinBox:
if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- GtkWidget *gtkSpinButton = d->gtkWidget(QLS("GtkSpinButton"));
+ GtkWidget *gtkSpinButton = d->gtkWidget("GtkSpinButton");
int center = spinbox->rect.height() / 2;
int xt = spinbox->frame ? gtkSpinButton->style->xthickness : 0;
int yt = spinbox->frame ? gtkSpinButton->style->ythickness : 0;
@@ -3096,15 +3115,19 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
if (const QStyleOptionComboBox *box = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
// We employ the gtk widget to position arrows and separators for us
QString comboBoxPath = box->editable ? QLS("GtkComboBoxEntry") : QLS("GtkComboBox");
- GtkWidget *gtkCombo = d->gtkWidget(comboBoxPath);
+ GtkWidget *gtkCombo = box->editable ? d->gtkWidget("GtkComboBoxEntry")
+ : d->gtkWidget("GtkComboBox");
d->gtk_widget_set_direction(gtkCombo, (option->direction == Qt::RightToLeft) ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
GtkAllocation geometry = {0, 0, qMax(0, option->rect.width()), qMax(0, option->rect.height())};
d->gtk_widget_size_allocate(gtkCombo, &geometry);
int appears_as_list = !proxy()->styleHint(QStyle::SH_ComboBox_Popup, option, widget);
- QString arrowPath = comboBoxPath + QLS(".GtkToggleButton");
-
- if (!box->editable && !appears_as_list)
- arrowPath += QLS(".GtkHBox.GtkArrow");
+ QHashableLatin1Literal arrowPath("GtkComboBoxEntry.GtkToggleButton");
+ if (!box->editable) {
+ if (appears_as_list)
+ arrowPath = "GtkComboBox.GtkToggleButton";
+ else
+ arrowPath = "GtkComboBox.GtkToggleButton.GtkHBox.GtkArrow";
+ }
GtkWidget *arrowWidget = d->gtkWidget(arrowPath);
if (!arrowWidget)
@@ -3163,7 +3186,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"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkToolButton.GtkButton");
newSize = size + QSize(2 * gtkButton->style->xthickness, 2 + 2 * gtkButton->style->ythickness);
if (widget && qobject_cast<QToolBar *>(widget->parentWidget())) {
QSize minSize(0, 25);
@@ -3181,14 +3204,14 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
int textMargin = 8;
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
- GtkWidget *gtkMenuSeparator = d->gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
+ GtkWidget *gtkMenuSeparator = d->gtkWidget("GtkMenu.GtkSeparatorMenuItem");
GtkRequisition sizeReq = {0, 0};
d->gtk_widget_size_request(gtkMenuSeparator, &sizeReq);
newSize = QSize(size.width(), sizeReq.height);
break;
}
- GtkWidget *gtkMenuItem = d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem"));
+ GtkWidget *gtkMenuItem = d->gtkWidget("GtkMenu.GtkCheckMenuItem");
GtkStyle* style = gtkMenuItem->style;
// Note we get the perfect height for the default font since we
@@ -3210,12 +3233,12 @@ 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);
+ newSize = size + QSize(0, -d->gtkWidget("GtkSpinButton")->style->ythickness * 2);
break;
case CT_PushButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
gint focusPadding, focusWidth;
d->gtk_widget_style_get(gtkButton, "focus-padding", &focusPadding, NULL);
d->gtk_widget_style_get(gtkButton, "focus-line-width", &focusWidth, NULL);
@@ -3223,7 +3246,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
newSize += QSize(2*gtkButton->style->xthickness + 4, 2*gtkButton->style->ythickness);
newSize += QSize(2*(focusWidth + focusPadding + 2), 2*(focusWidth + focusPadding));
- GtkWidget *gtkButtonBox = d->gtkWidget(QLS("GtkHButtonBox"));
+ GtkWidget *gtkButtonBox = d->gtkWidget("GtkHButtonBox");
gint minWidth = 85, minHeight = 0;
d->gtk_widget_style_get(gtkButtonBox, "child-min-width", &minWidth,
"child-min-height", &minHeight, NULL);
@@ -3236,13 +3259,13 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
break;
case CT_Slider: {
- GtkWidget *gtkSlider = d->gtkWidget(QLS("GtkHScale"));
+ GtkWidget *gtkSlider = d->gtkWidget("GtkHScale");
newSize = size + QSize(2*gtkSlider->style->xthickness, 2*gtkSlider->style->ythickness);
}
break;
case CT_LineEdit: {
- GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget("GtkEntry");
newSize = size + QSize(2*gtkEntry->style->xthickness, 2 + 2*gtkEntry->style->ythickness);
}
break;
@@ -3253,7 +3276,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
case CT_ComboBox:
if (const QStyleOptionComboBox *combo = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
- GtkWidget *gtkCombo = d->gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkCombo = d->gtkWidget("GtkComboBox");
QRect arrowButtonRect = proxy()->subControlRect(CC_ComboBox, combo, SC_ComboBoxArrow, widget);
newSize = size + QSize(12 + arrowButtonRect.width() + 2*gtkCombo->style->xthickness, 4 + 2*gtkCombo->style->ythickness);
@@ -3405,7 +3428,7 @@ QRect QGtkStyle::subElementRect(SubElement element, const QStyleOption *option,
return option->rect;
case SE_PushButtonContents:
if (!d->gtk_check_version(2, 10, 0)) {
- GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget("GtkButton");
GtkBorder *border = 0;
d->gtk_widget_style_get(gtkButton, "inner-border", &border, NULL);
if (border) {
diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
index a0334078cc..3c6a1efe3e 100644
--- a/src/gui/styles/qgtkstyle_p.cpp
+++ b/src/gui/styles/qgtkstyle_p.cpp
@@ -60,6 +60,7 @@
#include <QtCore/QHash>
#include <QtCore/QUrl>
#include <QtCore/QLibrary>
+#include <QtCore/QDebug>
#include <private/qapplication_p.h>
#include <private/qiconloader_p.h>
@@ -91,8 +92,8 @@ Ptr_gtk_widget_set_default_direction QGtkStylePrivate::gtk_widget_set_default_di
Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_fg = 0;
Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_bg = 0;
Ptr_gtk_arrow_new QGtkStylePrivate::gtk_arrow_new = 0;
-Ptr_gtk_menu_item_new QGtkStylePrivate::gtk_menu_item_new = 0;
-Ptr_gtk_check_menu_item_new QGtkStylePrivate::gtk_check_menu_item_new = 0;
+Ptr_gtk_menu_item_new_with_label QGtkStylePrivate::gtk_menu_item_new_with_label = 0;
+Ptr_gtk_check_menu_item_new_with_label QGtkStylePrivate::gtk_check_menu_item_new_with_label = 0;
Ptr_gtk_menu_bar_new QGtkStylePrivate::gtk_menu_bar_new = 0;
Ptr_gtk_menu_new QGtkStylePrivate::gtk_menu_new = 0;
Ptr_gtk_button_new QGtkStylePrivate::gtk_button_new = 0;
@@ -233,17 +234,22 @@ static void update_toolbar_style(GtkWidget *gtkToolBar, GParamSpec *, gpointer)
}
}
-static QString classPath(GtkWidget *widget)
+static QHashableLatin1Literal classPath(GtkWidget *widget)
{
- char* class_path;
+ char *class_path;
QGtkStylePrivate::gtk_widget_path (widget, NULL, &class_path, NULL);
- QString path = QLS(class_path);
+
+ char *copy = class_path;
+ if (strncmp(copy, "GtkWindow.", 10) == 0)
+ copy += 10;
+ if (strncmp(copy, "GtkFixed.", 9) == 0)
+ copy += 9;
+
+ copy = strdup(copy);
+
g_free(class_path);
- // Remove the prefixes
- path.remove(QLS("GtkWindow."));
- path.remove(QLS("GtkFixed."));
- return path;
+ return QHashableLatin1Literal::fromData(copy);
}
@@ -261,6 +267,7 @@ bool QGtkStyleFilter::eventFilter(QObject *obj, QEvent *e)
}
QList<QGtkStylePrivate *> QGtkStylePrivate::instances;
+QGtkStylePrivate::WidgetMap *QGtkStylePrivate::widgetMap = 0;
QGtkStylePrivate::QGtkStylePrivate()
: QCleanlooksStylePrivate()
@@ -282,7 +289,7 @@ void QGtkStylePrivate::init()
qApp->installEventFilter(&filter);
}
-GtkWidget* QGtkStylePrivate::gtkWidget(const QString &path)
+GtkWidget* QGtkStylePrivate::gtkWidget(const QHashableLatin1Literal &path)
{
GtkWidget *widget = gtkWidgetMap()->value(path);
if (!widget) {
@@ -292,10 +299,10 @@ GtkWidget* QGtkStylePrivate::gtkWidget(const QString &path)
return widget;
}
-GtkStyle* QGtkStylePrivate::gtkStyle(const QString &path)
+GtkStyle* QGtkStylePrivate::gtkStyle(const QHashableLatin1Literal &path)
{
- if (gtkWidgetMap()->contains(path))
- return gtkWidgetMap()->value(path)->style;
+ if (GtkWidget *w = gtkWidgetMap()->value(path))
+ return w->style;
return 0;
}
@@ -347,8 +354,8 @@ void QGtkStylePrivate::resolveGtk() const
gtk_widget_modify_fg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_fg");
gtk_widget_modify_bg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_bg");
gtk_arrow_new = (Ptr_gtk_arrow_new)libgtk.resolve("gtk_arrow_new");
- gtk_menu_item_new = (Ptr_gtk_menu_item_new)libgtk.resolve("gtk_menu_item_new");
- gtk_check_menu_item_new = (Ptr_gtk_check_menu_item_new)libgtk.resolve("gtk_check_menu_item_new");
+ gtk_menu_item_new_with_label = (Ptr_gtk_menu_item_new_with_label)libgtk.resolve("gtk_menu_item_new_with_label");
+ gtk_check_menu_item_new_with_label = (Ptr_gtk_check_menu_item_new_with_label)libgtk.resolve("gtk_check_menu_item_new_with_label");
gtk_menu_bar_new = (Ptr_gtk_menu_bar_new)libgtk.resolve("gtk_menu_bar_new");
gtk_menu_new = (Ptr_gtk_menu_new)libgtk.resolve("gtk_menu_new");
gtk_toolbar_new = (Ptr_gtk_toolbar_new)libgtk.resolve("gtk_toolbar_new");
@@ -439,7 +446,7 @@ void QGtkStylePrivate::initGtkMenu() const
GtkWidget *gtkMenuBar = QGtkStylePrivate::gtk_menu_bar_new();
setupGtkWidget(gtkMenuBar);
- GtkWidget *gtkMenuBarItem = QGtkStylePrivate::gtk_menu_item_new();
+ GtkWidget *gtkMenuBarItem = QGtkStylePrivate::gtk_menu_item_new_with_label("X");
gtk_menu_shell_append((GtkMenuShell*)(gtkMenuBar), gtkMenuBarItem);
gtk_widget_realize(gtkMenuBarItem);
@@ -448,14 +455,11 @@ void QGtkStylePrivate::initGtkMenu() const
gtk_menu_item_set_submenu((GtkMenuItem*)(gtkMenuBarItem), gtkMenu);
gtk_widget_realize(gtkMenu);
- GtkWidget *gtkMenuItem = QGtkStylePrivate::gtk_menu_item_new();
- g_object_set(gtkMenuItem, "label", "X", NULL);
-
+ GtkWidget *gtkMenuItem = QGtkStylePrivate::gtk_menu_item_new_with_label("X");
gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuItem);
gtk_widget_realize(gtkMenuItem);
- GtkWidget *gtkCheckMenuItem = QGtkStylePrivate::gtk_check_menu_item_new();
- g_object_set(gtkCheckMenuItem, "label", "X", NULL);
+ GtkWidget *gtkCheckMenuItem = QGtkStylePrivate::gtk_check_menu_item_new_with_label("X");
gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkCheckMenuItem);
gtk_widget_realize(gtkCheckMenuItem);
@@ -497,7 +501,7 @@ void QGtkStylePrivate::initGtkWidgets() const
}
static QString themeName;
- if (!gtkWidgetMap()->contains(QLS("GtkWindow")) && themeName.isEmpty()) {
+ if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) {
themeName = getThemeName();
if (themeName.isEmpty()) {
@@ -522,18 +526,18 @@ void QGtkStylePrivate::initGtkWidgets() const
QGtkStylePrivate::gtk_widget_realize(gtkWindow);
if (displayDepth == -1)
displayDepth = QGtkStylePrivate::gdk_drawable_get_depth(gtkWindow->window);
- gtkWidgetMap()->insert(QLS("GtkWindow"), gtkWindow);
+ gtkWidgetMap()->insert(QHashableLatin1Literal::fromData(strdup("GtkWindow")), gtkWindow);
// Make all other widgets. respect the text direction
if (qApp->layoutDirection() == Qt::RightToLeft)
QGtkStylePrivate::gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL);
- if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
+ if (!gtkWidgetMap()->contains("GtkButton")) {
GtkWidget *gtkButton = QGtkStylePrivate::gtk_button_new();
addWidget(gtkButton);
g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), 0);
- addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, NULL));
+ addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, "Qt"));
addWidget(QGtkStylePrivate::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
addWidget(QGtkStylePrivate::gtk_hbutton_box_new());
addWidget(QGtkStylePrivate::gtk_check_button_new());
@@ -566,12 +570,12 @@ void QGtkStylePrivate::initGtkWidgets() const
// When styles change subwidgets can get rearranged
// as with the combo box. We need to update the widget map
// to reflect this;
- QHash<QString, GtkWidget*> oldMap = *gtkWidgetMap();
+ QHash<QHashableLatin1Literal, GtkWidget*> oldMap = *gtkWidgetMap();
gtkWidgetMap()->clear();
- QHashIterator<QString, GtkWidget*> it(oldMap);
+ QHashIterator<QHashableLatin1Literal, GtkWidget*> it(oldMap);
while (it.hasNext()) {
it.next();
- if (!it.key().contains(QLatin1Char('.'))) {
+ if (!strchr(it.key().data(), '.')) {
addAllSubWidgets(it.value());
}
}
@@ -586,8 +590,13 @@ void QGtkStylePrivate::initGtkWidgets() const
*/
void QGtkStylePrivate::cleanupGtkWidgets()
{
- if (gtkWidgetMap()->contains(QLS("GtkWindow"))) // Gtk will destroy all children
- gtk_widget_destroy(gtkWidgetMap()->value(QLS("GtkWindow")));
+ if (!widgetMap)
+ return;
+ if (widgetMap->contains("GtkWindow")) // Gtk will destroy all children
+ gtk_widget_destroy(widgetMap->value("GtkWindow"));
+ for (QHash<QHashableLatin1Literal, GtkWidget *>::const_iterator it = widgetMap->constBegin();
+ it != widgetMap->constEnd(); ++it)
+ free(const_cast<char *>(it.key().data()));
}
static bool resolveGConf()
@@ -678,7 +687,7 @@ QString QGtkStylePrivate::getThemeName()
int QGtkStylePrivate::getSpinboxArrowSize() const
{
const int MIN_ARROW_WIDTH = 6;
- GtkWidget *spinButton = gtkWidget(QLS("GtkSpinButton"));
+ GtkWidget *spinButton = gtkWidget("GtkSpinButton");
GtkStyle *style = spinButton->style;
gint size = pango_font_description_get_size (style->font_desc);
gint arrow_size;
@@ -698,17 +707,17 @@ bool QGtkStylePrivate::isKDE4Session()
void QGtkStylePrivate::applyCustomPaletteHash()
{
- QPalette menuPal = gtkWidgetPalette(QLS("GtkMenu"));
- GdkColor gdkBg = gtkWidget(QLS("GtkMenu"))->style->bg[GTK_STATE_NORMAL];
+ QPalette menuPal = gtkWidgetPalette("GtkMenu");
+ GdkColor gdkBg = gtkWidget("GtkMenu")->style->bg[GTK_STATE_NORMAL];
QColor bgColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8);
menuPal.setBrush(QPalette::Base, bgColor);
menuPal.setBrush(QPalette::Window, bgColor);
qApp->setPalette(menuPal, "QMenu");
- QPalette toolbarPal = gtkWidgetPalette(QLS("GtkToolbar"));
+ QPalette toolbarPal = gtkWidgetPalette("GtkToolbar");
qApp->setPalette(toolbarPal, "QToolBar");
- QPalette menuBarPal = gtkWidgetPalette(QLS("GtkMenuBar"));
+ QPalette menuBarPal = gtkWidgetPalette("GtkMenuBar");
qApp->setPalette(menuBarPal, "QMenuBar");
}
@@ -717,7 +726,7 @@ void QGtkStylePrivate::applyCustomPaletteHash()
*/
GtkWidget* QGtkStylePrivate::getTextColorWidget() const
{
- return gtkWidget(QLS("GtkEntry"));
+ return gtkWidget("GtkEntry");
}
void QGtkStylePrivate::setupGtkWidget(GtkWidget* widget)
@@ -726,7 +735,7 @@ void QGtkStylePrivate::setupGtkWidget(GtkWidget* widget)
static GtkWidget* protoLayout = 0;
if (!protoLayout) {
protoLayout = QGtkStylePrivate::gtk_fixed_new();
- QGtkStylePrivate::gtk_container_add((GtkContainer*)(gtkWidgetMap()->value(QLS("GtkWindow"))), protoLayout);
+ QGtkStylePrivate::gtk_container_add((GtkContainer*)(gtkWidgetMap()->value("GtkWindow")), protoLayout);
}
Q_ASSERT(protoLayout);
@@ -739,8 +748,19 @@ void QGtkStylePrivate::setupGtkWidget(GtkWidget* widget)
void QGtkStylePrivate::addWidgetToMap(GtkWidget *widget)
{
if (Q_GTK_IS_WIDGET(widget)) {
- gtk_widget_realize(widget);
- gtkWidgetMap()->insert(classPath(widget), widget);
+ gtk_widget_realize(widget);
+ QHashableLatin1Literal widgetPath = classPath(widget);
+
+ WidgetMap *map = gtkWidgetMap();
+ WidgetMap::iterator it = map->find(widgetPath);
+ if (it != map->end()) {
+ free(const_cast<char *>(it.key().data()));
+ map->erase(it);
+ }
+ map->insert(widgetPath, widget);
+#ifdef DUMP_GTK_WIDGET_TREE
+ qWarning("Inserted Gtk Widget: %s", widgetPath.data());
+#endif
}
}
@@ -753,7 +773,7 @@ void QGtkStylePrivate::addAllSubWidgets(GtkWidget *widget, gpointer v)
}
// Updates window/windowtext palette based on the indicated gtk widget
-QPalette QGtkStylePrivate::gtkWidgetPalette(const QString &gtkWidgetName) const
+QPalette QGtkStylePrivate::gtkWidgetPalette(const QHashableLatin1Literal &gtkWidgetName) const
{
GtkWidget *gtkWidget = QGtkStylePrivate::gtkWidget(gtkWidgetName);
Q_ASSERT(gtkWidget);
@@ -1089,6 +1109,28 @@ QIcon QGtkStylePrivate::getFilesystemIcon(const QFileInfo &info)
return icon;
}
+bool operator==(const QHashableLatin1Literal &l1, const QHashableLatin1Literal &l2)
+{
+ return l1.size() == l2.size() || qstrcmp(l1.data(), l2.data()) == 0;
+}
+
+// copied from qHash.cpp
+uint qHash(const QHashableLatin1Literal &key)
+{
+ int n = key.size();
+ const uchar *p = reinterpret_cast<const uchar *>(key.data());
+ uint h = 0;
+ uint g;
+
+ while (n--) {
+ h = (h << 4) + *p++;
+ if ((g = (h & 0xf0000000)) != 0)
+ h ^= g >> 23;
+ h &= ~g;
+ }
+ return h;
+}
+
QT_END_NAMESPACE
#endif // !defined(QT_NO_STYLE_GTK)
diff --git a/src/gui/styles/qgtkstyle_p.h b/src/gui/styles/qgtkstyle_p.h
index db5b9b9ac9..5bb75500fa 100644
--- a/src/gui/styles/qgtkstyle_p.h
+++ b/src/gui/styles/qgtkstyle_p.h
@@ -56,6 +56,10 @@
#include <QtCore/qglobal.h>
#if !defined(QT_NO_STYLE_GTK)
+#include <QtCore/qstring.h>
+#include <QtCore/qstringbuilder.h>
+#include <QtCore/qcoreapplication.h>
+
#include <QtGui/QFileDialog>
#include <QtGui/QGtkStyle>
@@ -72,6 +76,54 @@ typedef unsigned long XID;
#define QLS(x) QLatin1String(x)
+QT_BEGIN_NAMESPACE
+
+// ### Qt 4.7 - merge with QLatin1Literal
+class QHashableLatin1Literal
+{
+public:
+ int size() const { return m_size; }
+ const char *data() const { return m_data; }
+
+ template <int N>
+ QHashableLatin1Literal(const char (&str)[N])
+ : m_size(N - 1), m_data(str) {}
+
+ QHashableLatin1Literal(const QHashableLatin1Literal &other)
+ : m_size(other.m_size), m_data(other.m_data)
+ {}
+
+ QHashableLatin1Literal &operator=(const QHashableLatin1Literal &other)
+ {
+ if (this == &other)
+ return *this;
+ *const_cast<int *>(&m_size) = other.m_size;
+ *const_cast<char **>(&m_data) = const_cast<char *>(other.m_data);
+ return *this;
+ }
+
+ QString toString() const { return QString::fromLatin1(m_data, m_size); }
+
+ static QHashableLatin1Literal fromData(const char *str)
+ {
+ return QHashableLatin1Literal(str, qstrlen(str));
+ }
+
+private:
+ QHashableLatin1Literal(const char *str, int length)
+ : m_size(length), m_data(str)
+ {}
+
+ const int m_size;
+ const char *m_data;
+};
+
+bool operator==(const QHashableLatin1Literal &l1, const QHashableLatin1Literal &l2);
+inline bool operator!=(const QHashableLatin1Literal &l1, const QHashableLatin1Literal &l2) { return !operator==(l1, l2); }
+uint qHash(const QHashableLatin1Literal &key);
+
+QT_END_NAMESPACE
+
class GConf;
class GConfClient;
@@ -87,9 +139,9 @@ typedef void (*Ptr_gtk_widget_realize) (GtkWidget *);
typedef void (*Ptr_gtk_widget_set_default_direction) (GtkTextDirection);
typedef void (*Ptr_gtk_widget_modify_color)(GtkWidget *widget, GtkStateType state, const GdkColor *color);
typedef GtkWidget* (*Ptr_gtk_arrow_new)(GtkArrowType, GtkShadowType);
-typedef GtkWidget* (*Ptr_gtk_menu_item_new)(void);
+typedef GtkWidget* (*Ptr_gtk_menu_item_new_with_label)(const gchar *);
typedef GtkWidget* (*Ptr_gtk_separator_menu_item_new)(void);
-typedef GtkWidget* (*Ptr_gtk_check_menu_item_new)(void);
+typedef GtkWidget* (*Ptr_gtk_check_menu_item_new_with_label)(const gchar *);
typedef GtkWidget* (*Ptr_gtk_menu_bar_new)(void);
typedef GtkWidget* (*Ptr_gtk_menu_new)(void);
typedef GtkWidget* (*Ptr_gtk_combo_box_entry_new)(void);
@@ -252,7 +304,6 @@ typedef char* (*Ptr_gnome_icon_lookup_sync) (
GnomeIconLookupFlags flags,
GnomeIconLookupResultFlags *result);
-
class QGtkStylePrivate : public QCleanlooksStylePrivate
{
Q_DECLARE_PUBLIC(QGtkStyle)
@@ -262,8 +313,8 @@ public:
QGtkStyleFilter filter;
- static GtkWidget* gtkWidget(const QString &path);
- static GtkStyle* gtkStyle(const QString &path = QLatin1String("GtkWindow"));
+ static GtkWidget* gtkWidget(const QHashableLatin1Literal &path);
+ static GtkStyle* gtkStyle(const QHashableLatin1Literal &path = QHashableLatin1Literal("GtkWindow"));
virtual void resolveGtk() const;
virtual void initGtkMenu() const;
@@ -306,9 +357,9 @@ public:
static Ptr_gtk_widget_set_default_direction gtk_widget_set_default_direction;
static Ptr_gtk_widget_modify_color gtk_widget_modify_fg;
static Ptr_gtk_widget_modify_color gtk_widget_modify_bg;
- static Ptr_gtk_menu_item_new gtk_menu_item_new;
+ static Ptr_gtk_menu_item_new_with_label gtk_menu_item_new_with_label;
static Ptr_gtk_arrow_new gtk_arrow_new;
- static Ptr_gtk_check_menu_item_new gtk_check_menu_item_new;
+ static Ptr_gtk_check_menu_item_new_with_label gtk_check_menu_item_new_with_label;
static Ptr_gtk_menu_bar_new gtk_menu_bar_new;
static Ptr_gtk_menu_new gtk_menu_new;
static Ptr_gtk_expander_new gtk_expander_new;
@@ -418,17 +469,25 @@ 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) const;
+ virtual QPalette gtkWidgetPalette(const QHashableLatin1Literal &gtkWidgetName) const;
protected:
- typedef QHash<QString, GtkWidget*> WidgetMap;
+ typedef QHash<QHashableLatin1Literal, GtkWidget*> WidgetMap;
+
+ static inline void destroyWidgetMap()
+ {
+ cleanupGtkWidgets();
+ delete widgetMap;
+ widgetMap = 0;
+ }
static inline WidgetMap *gtkWidgetMap()
{
- static WidgetMap *map = 0;
- if (!map)
- map = new WidgetMap();
- return map;
+ if (!widgetMap) {
+ widgetMap = new WidgetMap();
+ qAddPostRoutine(destroyWidgetMap);
+ }
+ return widgetMap;
}
static QStringList extract_filter(const QString &rawFilter);
@@ -443,6 +502,7 @@ protected:
private:
static QList<QGtkStylePrivate *> instances;
+ static WidgetMap *widgetMap;
friend class QGtkStyleUpdateScheduler;
};
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 565cc2cb3b..bf5a62e9b0 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -759,13 +759,29 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
QApplication::setPalette(widgetPalette, "QMenuBar");
widgetPalette = *palette;
+ widgetPalette.setColor(QPalette::Text,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 22, 0));
+ widgetPalette.setColor(QPalette::HighlightedText,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 11, 0));
+ QApplication::setPalette(widgetPalette, "QMenu");
+ widgetPalette = *palette;
+
widgetPalette.setColor(QPalette::WindowText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 4, 0));
+ widgetPalette.setColor(QPalette::HighlightedText,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 3, 0));
QApplication::setPalette(widgetPalette, "QTabBar");
widgetPalette = *palette;
+ widgetPalette.setColor(QPalette::HighlightedText,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 10, 0));
+ QApplication::setPalette(widgetPalette, "QListView");
+ widgetPalette = *palette;
+
widgetPalette.setColor(QPalette::Text,
s60Color(QS60StyleEnums::CL_QsnTextColors, 22, 0));
+ widgetPalette.setColor(QPalette::HighlightedText,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 11, 0));
QApplication::setPalette(widgetPalette, "QTableView");
widgetPalette = *palette;
@@ -789,6 +805,8 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
widgetPalette = *palette;
widgetPalette.setColor(QPalette::WindowText, s60Color(QS60StyleEnums::CL_QsnTextColors, 7, 0));
+ widgetPalette.setColor(QPalette::HighlightedText,
+ s60Color(QS60StyleEnums::CL_QsnTextColors, 11, 0));
QApplication::setPalette(widgetPalette, "QRadioButton");
QApplication::setPalette(widgetPalette, "QCheckBox");
widgetPalette = *palette;
@@ -1241,6 +1259,8 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
case CE_RadioButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
bool isRadio = (element == CE_RadioButton);
+ QStyleOptionButton subopt = *btn;
+
// Highlight needs to be drawn first, as it goes "underneath" the text and indicator.
if (btn->state & State_HasFocus) {
QStyleOptionFocusRect fropt;
@@ -1248,8 +1268,10 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
fropt.rect = subElementRect(isRadio ? SE_RadioButtonFocusRect
: SE_CheckBoxFocusRect, btn, widget);
drawPrimitive(PE_FrameFocusRect, &fropt, painter, widget);
+
+ subopt.palette.setColor(QPalette::Active, QPalette::WindowText,
+ subopt.palette.highlightedText().color());
}
- QStyleOptionButton subopt = *btn;
subopt.rect = subElementRect(isRadio ? SE_RadioButtonIndicator
: SE_CheckBoxIndicator, btn, widget);
@@ -1408,7 +1430,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
} else { QCommonStyle::drawPrimitive(PE_PanelItemViewItem, &voptAdj, painter, widget);}
// draw the focus rect
- if (isSelected | hasFocus) {
+ if (isSelected || hasFocus ) {
QRect highlightRect = option->rect.adjusted(1,1,-1,-1);
QAbstractItemView::SelectionBehavior selectionBehavior =
itemView ? itemView->selectionBehavior() : QAbstractItemView::SelectItems;
@@ -1480,15 +1502,10 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
// draw the text
if (!voptAdj.text.isEmpty()) {
- if (isSelected) {
- if (qobject_cast<const QTableView *>(widget))
- voptAdj.palette.setColor(
- QPalette::Text, QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnTextColors, 11, 0));
- else
- voptAdj.palette.setColor(
- QPalette::Text, QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnTextColors, 10, 0));
- }
- painter->setPen(voptAdj.palette.text().color());
+ if (isSelected || hasFocus )
+ painter->setPen(voptAdj.palette.highlightedText().color());
+ else
+ painter->setPen(voptAdj.palette.text().color());
d->viewItemDrawText(painter, &voptAdj, textRect);
}
painter->restore();
@@ -1590,7 +1607,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
const bool selected = optionTab.state & State_Selected;
if (selected)
optionTab.palette.setColor(QPalette::Active, QPalette::WindowText,
- QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnTextColors, 3, option));
+ optionTab.palette.highlightedText().color());
const bool verticalTabs = optionTab.shape == QTabBar::RoundedEast
|| optionTab.shape == QTabBar::RoundedWest
@@ -1723,7 +1740,8 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
if (!styleHint(SH_UnderlineShortcut, menuItem, widget))
text_flags |= Qt::TextHideMnemonic;
- if ((option->state & State_Selected) && (option->state & State_Enabled))
+ const bool selected = (option->state & State_Selected) && (option->state & State_Enabled);
+ if (selected)
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, option->rect, flags);
QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &optionMenuItem, widget);
@@ -1793,6 +1811,10 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
painter->save();
painter->setOpacity(0.5);
}
+ if (selected)
+ optionMenuItem.palette.setColor(
+ QPalette::Active, QPalette::Text, optionMenuItem.palette.highlightedText().color());
+
QCommonStyle::drawItemText(painter, textRect, text_flags,
optionMenuItem.palette, enabled,
optionMenuItem.text, QPalette::Text);
diff --git a/src/gui/styles/qstylehelper.cpp b/src/gui/styles/qstylehelper.cpp
index 071ec232b4..296c51c05a 100644
--- a/src/gui/styles/qstylehelper.cpp
+++ b/src/gui/styles/qstylehelper.cpp
@@ -54,24 +54,71 @@
#include <private/qt_cocoa_helpers_mac_p.h>
#endif
+#include <qstringbuilder.h>
+
QT_BEGIN_NAMESPACE
+// internal helper. Converts an integer value to an unique string token
+template <typename T>
+struct HexString
+{
+ inline HexString(const T t)
+ : val(t)
+ {}
+
+ inline void write(QChar *&dest) const
+ {
+ const ushort hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+ const char *c = reinterpret_cast<const char *>(&val);
+ for (uint i = 0; i < sizeof(T); ++i) {
+ *dest++ = hexChars[*c & 0xf];
+ *dest++ = hexChars[(*c & 0xf0) >> 4];
+ ++c;
+ }
+ }
+
+ const T val;
+};
+
+// specialization to enable fast concatenating of our string tokens to a string
+template <typename T>
+struct QConcatenable<HexString<T> >
+{
+ typedef HexString<T> type;
+ enum { ExactSize = true };
+ static int size(const HexString<T> &str) { return sizeof(str.val) * 2; }
+ static inline void appendTo(const HexString<T> &str, QChar *&out) { str.write(out); }
+};
+
namespace QStyleHelper {
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
{
const QStyleOptionComplex *complexOption = qstyleoption_cast<const QStyleOptionComplex *>(option);
- QString tmp = QString::fromLatin1("%1-%2-%3-%4-%5-%6x%7").arg(key).arg(uint(option->state)).arg(option->direction)
- .arg(complexOption ? uint(complexOption->activeSubControls) : uint(0))
- .arg(option->palette.cacheKey()).arg(size.width()).arg(size.height());
+
+ QString tmp = key
+ % QLatin1Char('-')
+ % HexString<uint>(option->state)
+ % QLatin1Char('-')
+ % HexString<uint>(option->direction)
+ % QLatin1Char('-')
+ % HexString<uint>(complexOption ? uint(complexOption->activeSubControls) : 0u)
+ % QLatin1Char('-')
+ % HexString<quint64>(option->palette.cacheKey())
+ % QLatin1Char('-')
+ % HexString<uint>(size.width())
+ % QLatin1Char('x')
+ % HexString<uint>(size.height());
+
#ifndef QT_NO_SPINBOX
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- tmp.append(QLatin1Char('-'));
- tmp.append(QString::number(spinBox->buttonSymbols));
- tmp.append(QLatin1Char('-'));
- tmp.append(QString::number(spinBox->stepEnabled));
- tmp.append(QLatin1Char('-'));
- tmp.append(QLatin1Char(spinBox->frame ? '1' : '0'));
+ tmp = tmp
+ % QLatin1Char('-')
+ % HexString<uint>(spinBox->buttonSymbols)
+ % QLatin1Char('-')
+ % HexString<uint>(spinBox->stepEnabled)
+ % QLatin1Char('-')
+ % QLatin1Char(spinBox->frame ? '1' : '0');
}
#endif // QT_NO_SPINBOX
return tmp;
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index bc1bece269..537638600f 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -3457,10 +3457,17 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
case CE_RadioButton:
case CE_CheckBox:
- rule.drawRule(p, opt->rect);
- ParentStyle::drawControl(ce, opt, p, w);
- return;
-
+ if (rule.hasBox() || !rule.hasNativeBorder() || rule.hasDrawable() || hasStyleRule(w, PseudoElement_Indicator)) {
+ rule.drawRule(p, opt->rect);
+ ParentStyle::drawControl(ce, opt, p, w);
+ return;
+ } else if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt)) {
+ QStyleOptionButton butOpt(*btn);
+ rule.configurePalette(&butOpt.palette, QPalette::ButtonText, QPalette::Button);
+ baseStyle()->drawControl(ce, &butOpt, p, w);
+ return;
+ }
+ break;
case CE_RadioButtonLabel:
case CE_CheckBoxLabel:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt)) {
diff --git a/src/gui/styles/qwindowsmobilestyle.cpp b/src/gui/styles/qwindowsmobilestyle.cpp
index a264b1b97b..6e77409f01 100644
--- a/src/gui/styles/qwindowsmobilestyle.cpp
+++ b/src/gui/styles/qwindowsmobilestyle.cpp
@@ -4040,25 +4040,26 @@ enum QSliderDirection { SliderUp, SliderDown, SliderLeft, SliderRight };
void QWindowsMobileStylePrivate::tintImagesButton(QColor color)
{
- if (currentTintButton == color)
+ if (currentTintButton == color)
return;
-
- imageTabEnd = QImage(tabend_xpm);
- imageTabSelectedEnd = QImage(tabselectedend_xpm);
- imageTabSelectedBegin = QImage(tabselectedbeginn_xpm);
- imageTabMiddle = QImage(tabmiddle_xpm);
- tintImage(&imageTabEnd, color, 0.0);
- tintImage(&imageTabSelectedEnd, color, 0.0);
- tintImage(&imageTabSelectedBegin, color, 0.0);
- tintImage(&imageTabMiddle, color, 0.0);
-
- if (!doubleControls) {
- int height = imageTabMiddle.height() / 2 + 1;
- imageTabEnd = imageTabEnd.scaledToHeight(height);
- imageTabMiddle = imageTabMiddle.scaledToHeight(height);
- imageTabSelectedEnd = imageTabSelectedEnd.scaledToHeight(height);
- imageTabSelectedBegin = imageTabSelectedBegin.scaledToHeight(height);
- }
+ currentTintButton = color;
+
+ imageTabEnd = QImage(tabend_xpm);
+ imageTabSelectedEnd = QImage(tabselectedend_xpm);
+ imageTabSelectedBegin = QImage(tabselectedbeginn_xpm);
+ imageTabMiddle = QImage(tabmiddle_xpm);
+ tintImage(&imageTabEnd, color, 0.0);
+ tintImage(&imageTabSelectedEnd, color, 0.0);
+ tintImage(&imageTabSelectedBegin, color, 0.0);
+ tintImage(&imageTabMiddle, color, 0.0);
+
+ if (!doubleControls) {
+ int height = imageTabMiddle.height() / 2 + 1;
+ imageTabEnd = imageTabEnd.scaledToHeight(height);
+ imageTabMiddle = imageTabMiddle.scaledToHeight(height);
+ imageTabSelectedEnd = imageTabSelectedEnd.scaledToHeight(height);
+ imageTabSelectedBegin = imageTabSelectedBegin.scaledToHeight(height);
+ }
}
void QWindowsMobileStylePrivate::tintImagesHigh(QColor color)
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 17ade64004..6b40aadf08 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -746,7 +746,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
QFontEngineFT::Glyph *QFontEngineFT::loadGlyphMetrics(QGlyphSet *set, uint glyph) const
{
- Glyph *g = set->glyph_data.value(glyph);
+ Glyph *g = set->getGlyph(glyph);
if (g)
return g;
@@ -858,10 +858,10 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, Glyph
}
}
- Glyph *g = set->glyph_data.value(glyph);
+ Glyph *g = set->getGlyph(glyph);
if (g && g->format == format) {
if (uploadToServer && !g->uploadedToServer) {
- set->glyph_data[glyph] = 0;
+ set->setGlyph(glyph, 0);
delete g;
g = 0;
} else {
@@ -1158,7 +1158,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, Glyph
uploadGlyphToServer(set, glyph, g, &info, glyph_buffer_size);
}
- set->glyph_data[glyph] = g;
+ set->setGlyph(glyph, g);
return g;
}
@@ -1381,8 +1381,7 @@ QFontEngineFT::QGlyphSet *QFontEngineFT::loadTransformedGlyphSet(const QTransfor
}
gs = &transformedGlyphSets[0];
- qDeleteAll(gs->glyph_data);
- gs->glyph_data.clear();
+ gs->clear();
gs->id = allocateServerGlyphSet();
@@ -1398,7 +1397,7 @@ bool QFontEngineFT::loadGlyphs(QGlyphSet *gs, glyph_t *glyphs, int num_glyphs, G
FT_Face face = 0;
for (int i = 0; i < num_glyphs; ++i) {
- Glyph *glyph = gs->glyph_data.value(glyphs[i]);
+ Glyph *glyph = gs->getGlyph(glyphs[i]);
if (glyph == 0 || glyph->format != format) {
if (!face) {
face = lockFace();
@@ -1635,7 +1634,7 @@ void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlag
FT_Face face = 0;
if (flags & QTextEngine::DesignMetrics) {
for (int i = 0; i < glyphs->numGlyphs; i++) {
- Glyph *g = defaultGlyphSet.glyph_data.value(glyphs->glyphs[i]);
+ Glyph *g = defaultGlyphSet.getGlyph(glyphs->glyphs[i]);
if (g) {
glyphs->advances_x[i] = QFixed::fromFixed(g->linearAdvance);
} else {
@@ -1648,7 +1647,7 @@ void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlag
}
} else {
for (int i = 0; i < glyphs->numGlyphs; i++) {
- Glyph *g = defaultGlyphSet.glyph_data.value(glyphs->glyphs[i]);
+ Glyph *g = defaultGlyphSet.getGlyph(glyphs->glyphs[i]);
if (g) {
glyphs->advances_x[i] = QFixed(g->advance);
} else {
@@ -1677,7 +1676,7 @@ glyph_metrics_t QFontEngineFT::boundingBox(const QGlyphLayout &glyphs)
QFixed ymax = 0;
QFixed xmax = 0;
for (int i = 0; i < glyphs.numGlyphs; i++) {
- Glyph *g = defaultGlyphSet.glyph_data.value(glyphs.glyphs[i]);
+ Glyph *g = defaultGlyphSet.getGlyph(glyphs.glyphs[i]);
if (!g) {
if (!face)
face = lockFace();
@@ -1719,7 +1718,7 @@ glyph_metrics_t QFontEngineFT::boundingBox(glyph_t glyph)
{
FT_Face face = 0;
glyph_metrics_t overall;
- Glyph *g = defaultGlyphSet.glyph_data.value(glyph);
+ Glyph *g = defaultGlyphSet.getGlyph(glyph);
if (!g) {
face = lockFace();
g = loadGlyph(glyph, Format_None, true);
@@ -1783,8 +1782,7 @@ glyph_metrics_t QFontEngineFT::boundingBox(glyph_t glyph, const QTransform &matr
transformedGlyphSets.prepend(QGlyphSet());
}
glyphSet = &transformedGlyphSets[0];
- qDeleteAll(glyphSet->glyph_data);
- glyphSet->glyph_data.clear();
+ glyphSet->clear();
glyphSet->id = allocateServerGlyphSet();
glyphSet->transformationMatrix = m;
}
@@ -1792,7 +1790,7 @@ glyph_metrics_t QFontEngineFT::boundingBox(glyph_t glyph, const QTransform &matr
} else {
glyphSet = &defaultGlyphSet;
}
- Glyph * g = glyphSet->glyph_data.value(glyph);
+ Glyph * g = glyphSet->getGlyph(glyph);
if (!g) {
face = lockFace();
g = loadGlyphMetrics(glyphSet, glyph);
@@ -1881,7 +1879,7 @@ QImage QFontEngineFT::alphaRGBMapForGlyph(glyph_t g, int margin, const QTransfor
void QFontEngineFT::removeGlyphFromCache(glyph_t glyph)
{
- delete defaultGlyphSet.glyph_data.take(glyph);
+ defaultGlyphSet.removeGlyphFromCache(glyph);
}
int QFontEngineFT::glyphCount() const
@@ -1937,11 +1935,53 @@ QFontEngineFT::QGlyphSet::QGlyphSet()
transformationMatrix.yy = 0x10000;
transformationMatrix.xy = 0;
transformationMatrix.yx = 0;
+ memset(fast_glyph_data, 0, sizeof(fast_glyph_data));
+ fast_glyph_count = 0;
}
QFontEngineFT::QGlyphSet::~QGlyphSet()
{
+ clear();
+}
+
+void QFontEngineFT::QGlyphSet::clear()
+{
+ if (fast_glyph_count > 0) {
+ for (int i = 0; i < 256; ++i) {
+ if (fast_glyph_data[i]) {
+ delete fast_glyph_data[i];
+ fast_glyph_data[i] = 0;
+ }
+ }
+ fast_glyph_count = 0;
+ }
qDeleteAll(glyph_data);
+ glyph_data.clear();
+}
+
+void QFontEngineFT::QGlyphSet::removeGlyphFromCache(int index)
+{
+ if (index < 256) {
+ if (fast_glyph_data[index]) {
+ delete fast_glyph_data[index];
+ fast_glyph_data[index] = 0;
+ if (fast_glyph_count > 0)
+ --fast_glyph_count;
+ }
+ } else {
+ delete glyph_data.take(index);
+ }
+}
+
+void QFontEngineFT::QGlyphSet::setGlyph(int index, Glyph *glyph)
+{
+ if (index < 256) {
+ if (!fast_glyph_data[index])
+ ++fast_glyph_count;
+ fast_glyph_data[index] = glyph;
+ } else {
+ glyph_data.insert(index, glyph);
+ }
}
unsigned long QFontEngineFT::allocateServerGlyphSet()
diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h
index 98dd002719..12b7da86a1 100644
--- a/src/gui/text/qfontengine_ft_p.h
+++ b/src/gui/text/qfontengine_ft_p.h
@@ -180,7 +180,21 @@ public:
FT_Matrix transformationMatrix;
unsigned long id; // server sided id, GlyphSet for X11
bool outline_drawing;
+
+ void removeGlyphFromCache(int index);
+ void clear();
+ inline Glyph *getGlyph(int index) const
+ {
+ if (index < 256)
+ return fast_glyph_data[index];
+ return glyph_data.value(index);
+ }
+ void setGlyph(int index, Glyph *glyph);
+
+private:
mutable QHash<int, Glyph *> glyph_data; // maps from glyph index to glyph data
+ mutable Glyph *fast_glyph_data[256]; // for fast lookup of glyphs < 256
+ mutable int fast_glyph_count;
};
virtual QFontEngine::FaceId faceId() const;
@@ -252,7 +266,7 @@ public:
QGlyphSet *defaultGlyphs() { return &defaultGlyphSet; }
GlyphFormat defaultGlyphFormat() const { return defaultFormat; }
- inline Glyph *cachedGlyph(glyph_t g) const { return defaultGlyphSet.glyph_data.value(g); }
+ inline Glyph *cachedGlyph(glyph_t g) const { return defaultGlyphSet.getGlyph(g); }
QGlyphSet *loadTransformedGlyphSet(const QTransform &matrix);
bool loadGlyphs(QGlyphSet *gs, glyph_t *glyphs, int num_glyphs, GlyphFormat format = Format_Render);
diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp
index 8fe4c47043..1fabf12395 100644
--- a/src/gui/text/qstatictext.cpp
+++ b/src/gui/text/qstatictext.cpp
@@ -282,8 +282,10 @@ QString QStaticText::text() const
}
/*!
- Sets the performance hint of the QStaticText. This hint can be used to customize how much
- caching is done internally to improve performance.
+ Sets the performance hint of the QStaticText according to the \a
+ performanceHint provided. The \a performanceHint is used to
+ customize how much caching is done internally to improve
+ performance.
The default is QStaticText::ModerateCaching.
diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp
index 6750c093d3..e594b7e1ae 100644
--- a/src/gui/text/qsyntaxhighlighter.cpp
+++ b/src/gui/text/qsyntaxhighlighter.cpp
@@ -59,23 +59,24 @@ class QSyntaxHighlighterPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QSyntaxHighlighter)
public:
- inline QSyntaxHighlighterPrivate() : rehighlightPending(false) {}
+ inline QSyntaxHighlighterPrivate()
+ : rehighlightPending(false), inReformatBlocks(false)
+ {}
QPointer<QTextDocument> doc;
void _q_reformatBlocks(int from, int charsRemoved, int charsAdded);
- void reformatBlock(QTextBlock block);
-
+ void reformatBlocks(int from, int charsRemoved, int charsAdded);
+ void reformatBlock(const QTextBlock &block);
+
inline void rehighlight(QTextCursor &cursor, QTextCursor::MoveOperation operation) {
- QObject::disconnect(doc, SIGNAL(contentsChange(int,int,int)),
- q_func(), SLOT(_q_reformatBlocks(int,int,int)));
+ inReformatBlocks = true;
cursor.beginEditBlock();
int from = cursor.position();
cursor.movePosition(operation);
- _q_reformatBlocks(from, 0, cursor.position() - from);
+ reformatBlocks(from, 0, cursor.position() - from);
cursor.endEditBlock();
- QObject::connect(doc, SIGNAL(contentsChange(int,int,int)),
- q_func(), SLOT(_q_reformatBlocks(int,int,int)));
+ inReformatBlocks = false;
}
inline void _q_delayedRehighlight() {
@@ -83,17 +84,19 @@ public:
return;
rehighlightPending = false;
q_func()->rehighlight();
- return;
}
void applyFormatChanges();
QVector<QTextCharFormat> formatChanges;
QTextBlock currentBlock;
bool rehighlightPending;
+ bool inReformatBlocks;
};
void QSyntaxHighlighterPrivate::applyFormatChanges()
{
+ bool formatsChanged = false;
+
QTextLayout *layout = currentBlock.layout();
QList<QTextLayout::FormatRange> ranges = layout->additionalFormats();
@@ -101,19 +104,26 @@ void QSyntaxHighlighterPrivate::applyFormatChanges()
const int preeditAreaStart = layout->preeditAreaPosition();
const int preeditAreaLength = layout->preeditAreaText().length();
- QList<QTextLayout::FormatRange>::Iterator it = ranges.begin();
- while (it != ranges.end()) {
- if (it->start >= preeditAreaStart
- && it->start + it->length <= preeditAreaStart + preeditAreaLength)
- ++it;
- else
- it = ranges.erase(it);
+ if (preeditAreaLength != 0) {
+ QList<QTextLayout::FormatRange>::Iterator it = ranges.begin();
+ while (it != ranges.end()) {
+ if (it->start >= preeditAreaStart
+ && it->start + it->length <= preeditAreaStart + preeditAreaLength) {
+ ++it;
+ } else {
+ it = ranges.erase(it);
+ formatsChanged = true;
+ }
+ }
+ } else if (!ranges.isEmpty()) {
+ ranges.clear();
+ formatsChanged = true;
}
QTextCharFormat emptyFormat;
QTextLayout::FormatRange r;
- r.start = r.length = -1;
+ r.start = -1;
int i = 0;
while (i < formatChanges.count()) {
@@ -135,34 +145,46 @@ void QSyntaxHighlighterPrivate::applyFormatChanges()
r.length = i - r.start;
- if (r.start >= preeditAreaStart) {
- r.start += preeditAreaLength;
- } else if (r.start + r.length >= preeditAreaStart) {
- r.length += preeditAreaLength;
+ if (preeditAreaLength != 0) {
+ if (r.start >= preeditAreaStart)
+ r.start += preeditAreaLength;
+ else if (r.start + r.length >= preeditAreaStart)
+ r.length += preeditAreaLength;
}
ranges << r;
- r.start = r.length = -1;
+ formatsChanged = true;
+ r.start = -1;
}
if (r.start != -1) {
r.length = formatChanges.count() - r.start;
- if (r.start >= preeditAreaStart) {
- r.start += preeditAreaLength;
- } else if (r.start + r.length >= preeditAreaStart) {
- r.length += preeditAreaLength;
+ if (preeditAreaLength != 0) {
+ if (r.start >= preeditAreaStart)
+ r.start += preeditAreaLength;
+ else if (r.start + r.length >= preeditAreaStart)
+ r.length += preeditAreaLength;
}
ranges << r;
+ formatsChanged = true;
}
- layout->setAdditionalFormats(ranges);
+ if (formatsChanged) {
+ layout->setAdditionalFormats(ranges);
+ doc->markContentsDirty(currentBlock.position(), currentBlock.length());
+ }
}
void QSyntaxHighlighterPrivate::_q_reformatBlocks(int from, int charsRemoved, int charsAdded)
{
- Q_UNUSED(charsRemoved);
+ if (!inReformatBlocks)
+ reformatBlocks(from, charsRemoved, charsAdded);
+}
+
+void QSyntaxHighlighterPrivate::reformatBlocks(int from, int charsRemoved, int charsAdded)
+{
rehighlightPending = false;
QTextBlock block = doc->findBlock(from);
@@ -191,21 +213,18 @@ void QSyntaxHighlighterPrivate::_q_reformatBlocks(int from, int charsRemoved, in
formatChanges.clear();
}
-void QSyntaxHighlighterPrivate::reformatBlock(QTextBlock block)
+void QSyntaxHighlighterPrivate::reformatBlock(const QTextBlock &block)
{
Q_Q(QSyntaxHighlighter);
Q_ASSERT_X(!currentBlock.isValid(), "QSyntaxHighlighter::reformatBlock()", "reFormatBlock() called recursively");
currentBlock = block;
- QTextBlock previous = block.previous();
formatChanges.fill(QTextCharFormat(), block.length() - 1);
q->highlightBlock(block.text());
applyFormatChanges();
- doc->markContentsDirty(block.position(), block.length());
-
currentBlock = QTextBlock();
}
@@ -349,8 +368,8 @@ void QSyntaxHighlighter::setDocument(QTextDocument *doc)
if (d->doc) {
connect(d->doc, SIGNAL(contentsChange(int,int,int)),
this, SLOT(_q_reformatBlocks(int,int,int)));
- QTimer::singleShot(0, this, SLOT(_q_delayedRehighlight()));
d->rehighlightPending = true;
+ QTimer::singleShot(0, this, SLOT(_q_delayedRehighlight()));
}
}
@@ -391,11 +410,16 @@ void QSyntaxHighlighter::rehighlight()
void QSyntaxHighlighter::rehighlightBlock(const QTextBlock &block)
{
Q_D(QSyntaxHighlighter);
- if (!d->doc)
+ if (!d->doc || !block.isValid() || block.document() != d->doc)
return;
+ const bool rehighlightPending = d->rehighlightPending;
+
QTextCursor cursor(block);
d->rehighlight(cursor, QTextCursor::EndOfBlock);
+
+ if (rehighlightPending)
+ d->rehighlightPending = rehighlightPending;
}
/*!
@@ -460,7 +484,6 @@ void QSyntaxHighlighter::rehighlightBlock(const QTextBlock &block)
void QSyntaxHighlighter::setFormat(int start, int count, const QTextCharFormat &format)
{
Q_D(QSyntaxHighlighter);
-
if (start < 0 || start >= d->formatChanges.count())
return;
@@ -628,7 +651,7 @@ QTextBlockUserData *QSyntaxHighlighter::currentBlockUserData() const
\since 4.4
Returns the current text block.
- */
+*/
QTextBlock QSyntaxHighlighter::currentBlock() const
{
Q_D(const QSyntaxHighlighter);
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 02eae98799..b8265889da 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -81,7 +81,7 @@ public:
void generate(int start, int length, QFont::Capitalization caps)
{
if ((int)caps == (int)QFont::SmallCaps)
- generateScriptItemsSmallCaps(m_string.utf16(), start, length);
+ generateScriptItemsSmallCaps(reinterpret_cast<const ushort *>(m_string.unicode()), start, length);
else if(caps == QFont::Capitalize)
generateScriptItemsCapitalize(start, length);
else if(caps != QFont::MixedCase) {
@@ -1434,9 +1434,7 @@ void QTextEngine::itemize() const
layoutData->hasBidi = bidiItemize(const_cast<QTextEngine *>(this), analysis, control);
}
- const ushort *unicode = layoutData->string.utf16();
- // correctly assign script, isTab and isObject to the script analysis
- const ushort *uc = unicode;
+ const ushort *uc = reinterpret_cast<const ushort *>(layoutData->string.unicode());
const ushort *e = uc + length;
int lastScript = QUnicodeTables::Common;
while (uc < e) {
diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h
index f36cbd2619..5054b66941 100644
--- a/src/gui/text/qtextengine_p.h
+++ b/src/gui/text/qtextengine_p.h
@@ -382,6 +382,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine
QFixed y;
QFixed width;
QFixed textWidth;
+ QFixed textAdvance;
int from;
signed int length : 29;
mutable uint justified : 1;
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index af916030f9..cc6793d759 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -1875,6 +1875,7 @@ void QTextLine::layout_helper(int maxGlyphs)
line.textWidth += lbh.softHyphenWidth;
}
+ line.textAdvance = line.textWidth;
line.textWidth += lbh.rightBearing;
goto found;
@@ -1885,6 +1886,7 @@ void QTextLine::layout_helper(int maxGlyphs)
}
LB_DEBUG("reached end of line");
lbh.checkFullOtherwiseExtend(line);
+ line.textAdvance = line.textWidth;
line.textWidth += lbh.rightBearing;
found:
diff --git a/src/gui/util/qsystemtrayicon_mac.mm b/src/gui/util/qsystemtrayicon_mac.mm
index 348657e746..d943c8ca0e 100644
--- a/src/gui/util/qsystemtrayicon_mac.mm
+++ b/src/gui/util/qsystemtrayicon_mac.mm
@@ -529,7 +529,11 @@ private:
[item setToolTip:(NSString*)QCFString::toCFStringRef(action->toolTip())];
const QIcon icon = action->icon();
if(!icon.isNull()) {
+#ifndef QT_MAC_USE_COCOA
+ const short scale = GetMBarHeight();
+#else
const short scale = [[NSApp mainMenu] menuBarHeight];
+#endif
NSImage *nsimage = static_cast<NSImage *>(qt_mac_create_nsimage(icon.pixmap(QSize(scale, scale))));
[item setImage: nsimage];
[nsimage release];
diff --git a/src/gui/widgets/qabstractspinbox.cpp b/src/gui/widgets/qabstractspinbox.cpp
index 4a6235c36a..7e2f20df1e 100644
--- a/src/gui/widgets/qabstractspinbox.cpp
+++ b/src/gui/widgets/qabstractspinbox.cpp
@@ -1248,8 +1248,11 @@ void QAbstractSpinBox::contextMenuEvent(QContextMenuEvent *event)
#else
Q_D(QAbstractSpinBox);
- d->reset();
QPointer<QMenu> menu = d->edit->createStandardContextMenu();
+ if (!menu)
+ return;
+
+ d->reset();
QAction *selAll = new QAction(tr("&Select All"), menu);
menu->insertAction(d->edit->d_func()->selectAllAction,
diff --git a/src/gui/widgets/qcheckbox.cpp b/src/gui/widgets/qcheckbox.cpp
index 4e0ff667d4..bc0900e94e 100644
--- a/src/gui/widgets/qcheckbox.cpp
+++ b/src/gui/widgets/qcheckbox.cpp
@@ -291,7 +291,7 @@ QSize QCheckBox::sizeHint() const
QFontMetrics fm = fontMetrics();
QStyleOptionButton opt;
initStyleOption(&opt);
- QSize sz = style()->itemTextRect(fm, QRect(0, 0, 1, 1), Qt::TextShowMnemonic, false,
+ QSize sz = style()->itemTextRect(fm, QRect(), Qt::TextShowMnemonic, false,
text()).size();
if (!opt.icon.isNull())
sz = QSize(sz.width() + opt.iconSize.width() + 4, qMax(sz.height(), opt.iconSize.height()));
diff --git a/src/gui/widgets/qcombobox.h b/src/gui/widgets/qcombobox.h
index 9b19a66f1a..fb9af9ff99 100644
--- a/src/gui/widgets/qcombobox.h
+++ b/src/gui/widgets/qcombobox.h
@@ -111,10 +111,10 @@ public:
bool hasFrame() const;
inline int findText(const QString &text,
- Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
+ Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
{ return findData(text, Qt::DisplayRole, flags); }
int findData(const QVariant &data, int role = Qt::UserRole,
- Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const;
+ Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const;
enum InsertPolicy {
NoInsert,
diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp
index 2b8cf598b1..f44858a276 100644
--- a/src/gui/widgets/qdockarealayout.cpp
+++ b/src/gui/widgets/qdockarealayout.cpp
@@ -1985,7 +1985,10 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*>
emit widget->dockLocationChanged(toDockWidgetArea(dockPos));
}
}
-
+ if (testing) {
+ //was it is not really added to the layout, we need to delete the object here
+ delete item.widgetItem;
+ }
}
} else if (nextMarker == SequenceMarker) {
int dummy;
@@ -2993,8 +2996,7 @@ bool QDockAreaLayout::restoreDockWidget(QDockWidget *dockWidget)
QRect r = constrainedRect(placeHolder->topLevelRect, desktop.screenGeometry(dockWidget));
dockWidget->d_func()->setWindowState(true, true, r);
}
- dockWidget->show();
-// dockWidget->setVisible(!placeHolder->hidden);
+ dockWidget->setVisible(!placeHolder->hidden);
#ifdef Q_WS_X11
if (placeHolder->window) // gets rid of the X11BypassWindowManager window flag
dockWidget->d_func()->setWindowState(true);
diff --git a/src/gui/widgets/qlabel_p.h b/src/gui/widgets/qlabel_p.h
index 21eb128f59..fba72240b1 100644
--- a/src/gui/widgets/qlabel_p.h
+++ b/src/gui/widgets/qlabel_p.h
@@ -55,7 +55,7 @@
#include "qlabel.h"
-#include "../text/qtextdocumentlayout_p.h"
+#include "private/qtextdocumentlayout_p.h"
#include "private/qtextcontrol_p.h"
#include "qtextdocumentfragment.h"
#include "qframe_p.h"
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index db099e8a5b..9ec0feb851 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
Updates the display text based of the current edit text
If the text has changed will emit displayTextChanged()
*/
-void QLineControl::updateDisplayText()
+void QLineControl::updateDisplayText(bool forceUpdate)
{
QString orig = m_textLayout.text();
QString str;
@@ -102,7 +102,7 @@ void QLineControl::updateDisplayText()
m_textLayout.endLayout();
m_ascent = qRound(l.ascent());
- if (str != orig)
+ if (str != orig || forceUpdate)
emit displayTextChanged(str);
}
@@ -476,7 +476,7 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
}
}
m_textLayout.setAdditionalFormats(formats);
- updateDisplayText();
+ updateDisplayText(/*force*/ true);
if (cursorPositionChanged)
emitCursorPositionChanged();
if (isGettingInput)
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
index d6f270541e..3f1bc2c605 100644
--- a/src/gui/widgets/qlinecontrol_p.h
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -239,7 +239,7 @@ private:
void init(const QString &txt);
void removeSelectedText();
void internalSetText(const QString &txt, int pos = -1, bool edited = true);
- void updateDisplayText();
+ void updateDisplayText(bool forceUpdate = false);
void internalInsert(const QString &s);
void internalDelete(bool wasBackspace = false);
diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index 0ba8b9f43c..817547ca7d 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -383,8 +383,6 @@ void QLineEdit::setText(const QString& text)
d->control->setText(text);
}
-// ### Qt 4.7: remove this #if guard
-#if (QT_VERSION >= 0x407000) || defined(Q_WS_MAEMO_5)
/*!
\since 4.7
@@ -414,7 +412,6 @@ void QLineEdit::setPlaceholderText(const QString& placeholderText)
update();
}
}
-#endif
/*!
\property QLineEdit::displayText
@@ -542,11 +539,16 @@ void QLineEdit::setEchoMode(EchoMode mode)
if (mode == (EchoMode)d->control->echoMode())
return;
Qt::InputMethodHints imHints = inputMethodHints();
- if (mode == Password) {
+ if (mode == Password || mode == NoEcho) {
imHints |= Qt::ImhHiddenText;
} else {
imHints &= ~Qt::ImhHiddenText;
}
+ if (mode != Normal) {
+ imHints |= (Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ } else {
+ imHints &= ~(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ }
setInputMethodHints(imHints);
d->control->setEchoMode(mode);
update();
@@ -2038,9 +2040,10 @@ void QLineEdit::dropEvent(QDropEvent* e)
*/
void QLineEdit::contextMenuEvent(QContextMenuEvent *event)
{
- QMenu *menu = createStandardContextMenu();
- menu->setAttribute(Qt::WA_DeleteOnClose);
- menu->popup(event->globalPos());
+ if (QMenu *menu = createStandardContextMenu()) {
+ menu->setAttribute(Qt::WA_DeleteOnClose);
+ menu->popup(event->globalPos());
+ }
}
#if defined(Q_WS_WIN)
diff --git a/src/gui/widgets/qlineedit.h b/src/gui/widgets/qlineedit.h
index fa04bfc73c..94e0dbe6dc 100644
--- a/src/gui/widgets/qlineedit.h
+++ b/src/gui/widgets/qlineedit.h
@@ -83,10 +83,7 @@ class Q_GUI_EXPORT QLineEdit : public QWidget
Q_PROPERTY(bool undoAvailable READ isUndoAvailable)
Q_PROPERTY(bool redoAvailable READ isRedoAvailable)
Q_PROPERTY(bool acceptableInput READ hasAcceptableInput)
-// ### Qt 4.7: remove this #if guard
-#if (QT_VERSION >= 0x407000) || defined(Q_WS_MAEMO_5)
Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
-#endif
public:
explicit QLineEdit(QWidget* parent=0);
@@ -102,11 +99,8 @@ public:
QString displayText() const;
-// ### Qt 4.7: remove this #if guard
-#if (QT_VERSION >= 0x407000) || defined(Q_WS_MAEMO_5)
QString placeholderText() const;
void setPlaceholderText(const QString &);
-#endif
int maxLength() const;
void setMaxLength(int);
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 462059741b..bf926f82c6 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -119,6 +119,7 @@ void QMainWindowPrivate::init()
q->setAttribute(Qt::WA_Hover);
#ifdef QT_SOFTKEYS_ENABLED
menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, q);
+ menuBarAction->setVisible(false);
#endif
}
@@ -1478,7 +1479,8 @@ void QMainWindow::setUnifiedTitleAndToolBarOnMac(bool set)
return;
// ### Disable the unified toolbar when using anything but the native graphics system.
- if (windowSurface())
+ // ### Disable when using alien widgets as well
+ if (windowSurface() || testAttribute(Qt::WA_NativeWindow) == false)
return;
d->useHIToolBar = set;
diff --git a/src/gui/widgets/qmainwindowlayout_mac.mm b/src/gui/widgets/qmainwindowlayout_mac.mm
index d92168a470..95270572cf 100644
--- a/src/gui/widgets/qmainwindowlayout_mac.mm
+++ b/src/gui/widgets/qmainwindowlayout_mac.mm
@@ -463,6 +463,8 @@ void QMainWindowLayout::removeFromMacToolbar(QToolBar *toolbar)
NSToolbarItem *item = static_cast<NSToolbarItem *>(it.key());
[[qt_mac_window_for(layoutState.mainWindow->window()) toolbar]
removeItemAtIndex:toolbarItemsCopy.indexOf(item)];
+ unifiedToolbarHash.remove(item);
+ qtoolbarsInUnifiedToolbarList.removeAll(toolbar);
#endif
break;
}
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index e2cf25b4df..ebc05d9726 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -85,9 +85,8 @@
QT_BEGIN_NAMESPACE
-QPointer<QMenu> QMenuPrivate::mouseDown;
-QBasicTimer QMenuPrivate::menuDelayTimer;
-QBasicTimer QMenuPrivate::sloppyDelayTimer;
+QMenu *QMenuPrivate::mouseDown = 0;
+int QMenuPrivate::sloppyDelayTimer = 0;
/* QMenu code */
// internal class used for the torn off popup
@@ -261,9 +260,6 @@ void QMenuPrivate::updateActionRects() const
icone = style->pixelMetric(QStyle::PM_SmallIconSize, &opt, q);
const int fw = style->pixelMetric(QStyle::PM_MenuPanelWidth, &opt, q);
const int deskFw = style->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, &opt, q);
-
- const int sfcMargin = style->sizeFromContents(QStyle::CT_Menu, &opt, QApplication::globalStrut(), q).width() - QApplication::globalStrut().width();
- const int min_column_width = q->minimumWidth() - (sfcMargin + leftmargin + rightmargin + 2 * (fw + hmargin));
const int tearoffHeight = tearoff ? style->pixelMetric(QStyle::PM_MenuTearoffHeight, &opt, q) : 0;
//for compatability now - will have to refactor this away..
@@ -337,7 +333,7 @@ void QMenuPrivate::updateActionRects() const
if (!sz.isEmpty()) {
- max_column_width = qMax(min_column_width, qMax(max_column_width, sz.width()));
+ max_column_width = qMax(max_column_width, sz.width());
//wrapping
if (!scroll &&
y+sz.height()+vmargin > dh - (deskFw * 2)) {
@@ -351,6 +347,10 @@ void QMenuPrivate::updateActionRects() const
}
max_column_width += tabWidth; //finally add in the tab width
+ const int sfcMargin = style->sizeFromContents(QStyle::CT_Menu, &opt, QApplication::globalStrut(), q).width() - QApplication::globalStrut().width();
+ const int min_column_width = q->minimumWidth() - (sfcMargin + leftmargin + rightmargin + 2 * (fw + hmargin));
+ max_column_width = qMax(min_column_width, max_column_width);
+
//calculate position
const int base_y = vmargin + fw + topmargin +
@@ -487,8 +487,8 @@ void QMenuPrivate::popupAction(QAction *action, int delay, bool activateFirst)
if (action && action->isEnabled()) {
if (!delay)
q->internalDelayedPopup();
- else
- QMenuPrivate::menuDelayTimer.start(delay, q);
+ else if (!menuDelayTimer.isActive() && (!action->menu() || !action->menu()->isVisible()))
+ menuDelayTimer.start(delay, q);
if (activateFirst && action->menu())
action->menu()->d_func()->setFirstActionActive();
} else if (QMenu *menu = activeMenu) { //hide the current item
@@ -543,15 +543,6 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason
{
Q_Q(QMenu);
tearoffHighlighted = 0;
- if (action == currentAction) {
- if (!action || !action->menu() || action->menu() == activeMenu) {
- if(QMenu *menu = qobject_cast<QMenu*>(causedPopup.widget)) {
- if(causedPopup.action && menu->d_func()->activeMenu == q)
- menu->d_func()->setCurrentAction(causedPopup.action, 0, reason, false);
- }
- }
- return;
- }
if (currentAction)
q->update(actionRect(currentAction));
@@ -565,6 +556,7 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason
#ifdef QT3_SUPPORT
emitHighlighted = action;
#endif
+
currentAction = action;
if (action) {
if (!action->isSeparator()) {
@@ -2383,8 +2375,8 @@ QMenu::event(QEvent *e)
}
} break;
case QEvent::ContextMenu:
- if(QMenuPrivate::menuDelayTimer.isActive()) {
- QMenuPrivate::menuDelayTimer.stop();
+ if(d->menuDelayTimer.isActive()) {
+ d->menuDelayTimer.stop();
internalDelayedPopup();
}
break;
@@ -2817,7 +2809,7 @@ void QMenu::mouseMoveEvent(QMouseEvent *e)
}
if (d->sloppyRegion.contains(e->pos())) {
d->sloppyAction = action;
- QMenuPrivate::sloppyDelayTimer.start(style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, this)*6, this);
+ QMenuPrivate::sloppyDelayTimer = startTimer(style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, this)*6);
} else {
d->setCurrentAction(action, style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, this));
}
@@ -2855,11 +2847,12 @@ QMenu::timerEvent(QTimerEvent *e)
d->scrollMenu((QMenuPrivate::QMenuScroller::ScrollDirection)d->scroll->scrollDirection);
if (d->scroll->scrollFlags == QMenuPrivate::QMenuScroller::ScrollNone)
d->scroll->scrollTimer.stop();
- } else if(QMenuPrivate::menuDelayTimer.timerId() == e->timerId()) {
- QMenuPrivate::menuDelayTimer.stop();
+ } else if(d->menuDelayTimer.timerId() == e->timerId()) {
+ d->menuDelayTimer.stop();
internalDelayedPopup();
- } else if(QMenuPrivate::sloppyDelayTimer.timerId() == e->timerId()) {
- QMenuPrivate::sloppyDelayTimer.stop();
+ } else if(QMenuPrivate::sloppyDelayTimer == e->timerId()) {
+ killTimer(QMenuPrivate::sloppyDelayTimer);
+ QMenuPrivate::sloppyDelayTimer = 0;
internalSetSloppyAction();
} else if(d->searchBufferTimer.timerId() == e->timerId()) {
d->searchBuffer.clear();
diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm
index 99c550f495..43722a1f96 100644
--- a/src/gui/widgets/qmenu_mac.mm
+++ b/src/gui/widgets/qmenu_mac.mm
@@ -924,14 +924,27 @@ static QString qt_mac_menu_merge_text(QMacMenuAction *action)
else if (action->command == kHICommandQuit)
ret = QMenuBar::tr("Quit %1").arg(qAppName());
#else
- else if (action->menuItem == [loader aboutMenuItem])
- ret = QMenuBar::tr("About %1").arg(qAppName());
- else if (action->menuItem == [loader aboutQtMenuItem])
- ret = QMenuBar::tr("About Qt");
- else if (action->menuItem == [loader preferencesMenuItem])
- ret = QMenuBar::tr("Preferences");
- else if (action->menuItem == [loader quitMenuItem])
- ret = QMenuBar::tr("Quit %1").arg(qAppName());
+ else if (action->menuItem == [loader aboutMenuItem]) {
+ if (action->action->text() == QString("About %1").arg(qAppName()))
+ ret = QMenuBar::tr("About %1").arg(qAppName());
+ else
+ ret = action->action->text();
+ } else if (action->menuItem == [loader aboutQtMenuItem]) {
+ if (action->action->text() == QString("About Qt"))
+ ret = QMenuBar::tr("About Qt");
+ else
+ ret = action->action->text();
+ } else if (action->menuItem == [loader preferencesMenuItem]) {
+ if (action->action->text() == QString("Preferences"))
+ ret = QMenuBar::tr("Preferences");
+ else
+ ret = action->action->text();
+ } else if (action->menuItem == [loader quitMenuItem]) {
+ if (action->action->text() == QString("Quit %1").arg(qAppName()))
+ ret = QMenuBar::tr("About %1").arg(qAppName());
+ else
+ ret = action->action->text();
+ }
#endif
return ret;
}
@@ -1922,7 +1935,7 @@ static bool qt_mac_should_disable_menu(QMenuBar *menuBar)
if (w->isVisible() && w->windowModality() == Qt::ApplicationModal) {
for (int i=0; i<topLevelWidgets.size(); ++i) {
QWidget *top = topLevelWidgets.at(i);
- if (w != top && [qt_mac_window_for(top) isVisible]) {
+ if (w != top && top->isVisible()) {
// INVARIANT: we found another visible window
// on screen other than our modalWidget. We therefore
// disable the menu bar to follow normal modality logic:
@@ -2180,3 +2193,4 @@ static OSMenuRef qt_mac_create_menu(QWidget *w)
QT_END_NAMESPACE
+
diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h
index aaed6b115c..276ffe6692 100644
--- a/src/gui/widgets/qmenu_p.h
+++ b/src/gui/widgets/qmenu_p.h
@@ -202,7 +202,7 @@ public:
bool activationRecursionGuard;
//selection
- static QPointer<QMenu> mouseDown;
+ static QMenu *mouseDown;
QPoint mousePopupPos;
uint hasHadMouse : 1;
uint aboutToHide : 1;
@@ -212,7 +212,7 @@ public:
QAction *selectAction;
QAction *cancelAction;
#endif
- static QBasicTimer menuDelayTimer;
+ QBasicTimer menuDelayTimer;
enum SelectionReason {
SelectedFromKeyboard,
SelectedFromElsewhere
@@ -272,7 +272,7 @@ public:
mutable bool hasCheckableItems;
//sloppy selection
- static QBasicTimer sloppyDelayTimer;
+ static int sloppyDelayTimer;
mutable QAction *sloppyAction;
QRegion sloppyRegion;
diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp
index c064791c6f..e3c52bfb07 100644
--- a/src/gui/widgets/qmenu_symbian.cpp
+++ b/src/gui/widgets/qmenu_symbian.cpp
@@ -256,6 +256,14 @@ void qt_symbian_show_submenu( CEikMenuPane* menuPane, int id)
{
SymbianMenuItem* menu = qt_symbian_find_menu(id, symbianMenus);
if (menu) {
+ // Normally first AddMenuItemL call for menuPane will create the item array.
+ // However if we don't have any items, we still need the item array. Otherwise
+ // menupane will crash. That's why we create item array here manually, and
+ // AddMenuItemL will then use the existing array.
+ CEikMenuPane::CItemArray* itemArray = q_check_ptr(new CEikMenuPane::CItemArray);
+ menuPane->SetItemArray(itemArray);
+ menuPane->SetItemArrayOwnedExternally(EFalse);
+
for (int i = 0; i < menu->children.count(); ++i)
QT_TRAP_THROWING(menuPane->AddMenuItemL(menu->children.at(i)->menuItemData));
}
diff --git a/src/gui/widgets/qradiobutton.cpp b/src/gui/widgets/qradiobutton.cpp
index d73ff2f993..20b6c7202e 100644
--- a/src/gui/widgets/qradiobutton.cpp
+++ b/src/gui/widgets/qradiobutton.cpp
@@ -195,7 +195,7 @@ QSize QRadioButton::sizeHint() const
ensurePolished();
QStyleOptionButton opt;
initStyleOption(&opt);
- QSize sz = style()->itemTextRect(fontMetrics(), QRect(0, 0, 1, 1), Qt::TextShowMnemonic,
+ QSize sz = style()->itemTextRect(fontMetrics(), QRect(), Qt::TextShowMnemonic,
false, text()).size();
if (!opt.icon.isNull())
sz = QSize(sz.width() + opt.iconSize.width() + 4, qMax(sz.height(), opt.iconSize.height()));
diff --git a/src/gui/widgets/qscrollbar.cpp b/src/gui/widgets/qscrollbar.cpp
index 4eff260588..c0eeb2fd69 100644
--- a/src/gui/widgets/qscrollbar.cpp
+++ b/src/gui/widgets/qscrollbar.cpp
@@ -523,6 +523,7 @@ bool QScrollBar::event(QEvent *event)
break;
#ifndef QT_NO_WHEELEVENT
case QEvent::Wheel: {
+ event->ignore();
// override wheel event without adding virtual function override
QWheelEvent *ev = static_cast<QWheelEvent *>(event);
int delta = ev->delta();
diff --git a/src/plugins/qdeclarativemodules/qdeclarativemodules.pro b/src/imports/imports.pro
index 0a6f444e14..8b470438c5 100644
--- a/src/plugins/qdeclarativemodules/qdeclarativemodules.pro
+++ b/src/imports/imports.pro
@@ -2,5 +2,6 @@ TEMPLATE = subdirs
SUBDIRS += widgets
+contains(QT_CONFIG, webkit): SUBDIRS += webkit
contains(QT_CONFIG, multimedia): SUBDIRS += multimedia
diff --git a/src/multimedia/qml/multimediadeclarative.cpp b/src/imports/multimedia/multimedia.cpp
index 7f5298f9c5..a2e74f4729 100644
--- a/src/multimedia/qml/multimediadeclarative.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,32 +39,35 @@
**
****************************************************************************/
-#include <QtMultimedia/multimediadeclarative.h>
+#include <QtDeclarative/qdeclarativeextensionplugin.h>
+#include <QtDeclarative/qdeclarative.h>
#include <QtMultimedia/private/qsoundeffect_p.h>
-#include <QtMultimedia/private/qdeclarativeaudio_p.h>
-#include <QtMultimedia/private/qdeclarativevideo_p.h>
+#include "qdeclarativevideo_p.h"
+#include "qdeclarativeaudio_p.h"
-QT_BEGIN_NAMESPACE
-namespace QtMultimedia
-{
+QML_DECLARE_TYPE(QSoundEffect)
-/*!
- Register the Multimedia QML elements.
- \internal
-*/
+QT_BEGIN_NAMESPACE
-void qRegisterDeclarativeElements(const char *uri)
+class QMultimediaDeclarativeModule : public QDeclarativeExtensionPlugin
{
- Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.multimedia"));
+ Q_OBJECT
+public:
+ virtual void registerTypes(const char *uri)
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.multimedia"));
- qmlRegisterType<QSoundEffect>(uri, 4, 7, "SoundEffect");
- qmlRegisterType<QDeclarativeAudio>(uri, 4, 7, "Audio");
- qmlRegisterType<QDeclarativeVideo>(uri, 4, 7, "Video");
-}
-
-}
+ qmlRegisterType<QSoundEffect>(uri, 4, 7, "SoundEffect");
+ qmlRegisterType<QDeclarativeAudio>(uri, 4, 7, "Audio");
+ qmlRegisterType<QDeclarativeVideo>(uri, 4, 7, "Video");
+ }
+};
QT_END_NAMESPACE
+#include "multimedia.moc"
+
+Q_EXPORT_PLUGIN2(qmultimediadeclarativemodule, QT_PREPEND_NAMESPACE(QMultimediaDeclarativeModule));
+
diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro
new file mode 100644
index 0000000000..f7a1d1b2f0
--- /dev/null
+++ b/src/imports/multimedia/multimedia.pro
@@ -0,0 +1,26 @@
+TARGET = multimedia
+TARGETPATH = Qt/multimedia
+include(../qimportbase.pri)
+
+QT += multimedia declarative
+
+HEADERS += \
+ qdeclarativeaudio_p.h \
+ qdeclarativemediabase_p.h \
+ qdeclarativevideo_p.h \
+ qmetadatacontrolmetaobject_p.h \
+
+SOURCES += \
+ multimedia.cpp \
+ qdeclarativeaudio.cpp \
+ qdeclarativemediabase.cpp \
+ qdeclarativevideo.cpp \
+ qmetadatacontrolmetaobject.cpp
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/Qt/multimedia
+target.path = $$TARGETPATH
+
+qmldir.files += $$QT_BUILD_TREE/imports/Qt/multimedia/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+INSTALLS += target qmldir
diff --git a/src/multimedia/qml/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp
index 67df625992..40133ee23c 100644
--- a/src/multimedia/qml/qdeclarativeaudio.cpp
+++ b/src/imports/multimedia/qdeclarativeaudio.cpp
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -48,6 +48,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass Audio QDeclarativeAudio
+ \since 4.7
\brief The Audio element allows you to add audio playback to a scene.
\qml
@@ -315,8 +316,9 @@ QDeclarativeAudio::Error QDeclarativeAudio::error() const
/*!
\qmlsignal Audio::onError(error, errorString)
- This handler is called when an \l {Error}{error} has occurred. The errorString parameter
- may contain more detailed information about the error.
+ This handler is called when an \l {QMediaPlayer::Error}{error} has
+ occurred. The errorString parameter may contain more detailed
+ information about the error.
*/
QT_END_NAMESPACE
diff --git a/src/multimedia/qml/qdeclarativeaudio_p.h b/src/imports/multimedia/qdeclarativeaudio_p.h
index d1fb275521..9881dbce17 100644
--- a/src/multimedia/qml/qdeclarativeaudio_p.h
+++ b/src/imports/multimedia/qdeclarativeaudio_p.h
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -53,7 +53,7 @@
// We mean it.
//
-#include <QtMultimedia/private/qdeclarativemediabase_p.h>
+#include "qdeclarativemediabase_p.h"
#include <QtCore/qbasictimer.h>
#include <QtDeclarative/qdeclarativeitem.h>
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
class QTimerEvent;
-class Q_AUTOTEST_EXPORT QDeclarativeAudio : public QObject, public QDeclarativeMediaBase, public QDeclarativeParserStatus
+class QDeclarativeAudio : public QObject, public QDeclarativeMediaBase, public QDeclarativeParserStatus
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
diff --git a/src/multimedia/qml/qdeclarativemediabase.cpp b/src/imports/multimedia/qdeclarativemediabase.cpp
index e054cb2aed..8e87e448b1 100644
--- a/src/multimedia/qml/qdeclarativemediabase.cpp
+++ b/src/imports/multimedia/qdeclarativemediabase.cpp
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "QtMultimedia/private/qdeclarativemediabase_p.h"
+#include "qdeclarativemediabase_p.h"
#include <QtCore/qcoreevent.h>
#include <QtCore/qurl.h>
@@ -48,7 +48,7 @@
#include <QtMultimedia/qmediaservice.h>
#include <QtMultimedia/qmediaserviceprovider.h>
#include <QtMultimedia/qmetadatacontrol.h>
-#include <QtMultimedia/private/qmetadatacontrolmetaobject_p.h>
+#include "qmetadatacontrolmetaobject_p.h"
diff --git a/src/multimedia/qml/qdeclarativemediabase_p.h b/src/imports/multimedia/qdeclarativemediabase_p.h
index 2fc48db630..b40e84e6c4 100644
--- a/src/multimedia/qml/qdeclarativemediabase_p.h
+++ b/src/imports/multimedia/qdeclarativemediabase_p.h
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -67,7 +67,7 @@ class QMetaDataControl;
class QMetaDataControlMetaObject;
class QDeclarativeMediaBaseAnimation;
-class Q_AUTOTEST_EXPORT QDeclarativeMediaBase
+class QDeclarativeMediaBase
{
public:
QDeclarativeMediaBase();
diff --git a/src/multimedia/qml/qdeclarativevideo.cpp b/src/imports/multimedia/qdeclarativevideo.cpp
index d0e94f67a9..80c0ba4abf 100644
--- a/src/multimedia/qml/qdeclarativevideo.cpp
+++ b/src/imports/multimedia/qdeclarativevideo.cpp
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -69,6 +69,7 @@ void QDeclarativeVideo::_q_error(int errorCode, const QString &errorString)
/*!
\qmlclass Video QDeclarativeVideo
+ \since 4.7
\brief The Video element allows you to add videos to a scene.
\inherits Item
@@ -316,8 +317,9 @@ QDeclarativeVideo::Error QDeclarativeVideo::error() const
/*!
\qmlsignal Video::onError(error, errorString)
- This handler is called when an \l {Error}{error} has occurred. The errorString parameter
- may contain more detailed information about the error.
+ This handler is called when an \l {QMediaPlayer::Error}{error} has
+ occurred. The errorString parameter may contain more detailed
+ information about the error.
*/
/*!
diff --git a/src/multimedia/qml/qdeclarativevideo_p.h b/src/imports/multimedia/qdeclarativevideo_p.h
index d5ebde1a7f..fb13519cfa 100644
--- a/src/multimedia/qml/qdeclarativevideo_p.h
+++ b/src/imports/multimedia/qdeclarativevideo_p.h
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -53,7 +53,7 @@
// We mean it.
//
-#include <QtMultimedia/private/qdeclarativemediabase_p.h>
+#include "qdeclarativemediabase_p.h"
#include <QtMultimedia/qgraphicsvideoitem.h>
@@ -69,7 +69,7 @@ class QTimerEvent;
class QVideoSurfaceFormat;
-class Q_AUTOTEST_EXPORT QDeclarativeVideo : public QDeclarativeItem, public QDeclarativeMediaBase
+class QDeclarativeVideo : public QDeclarativeItem, public QDeclarativeMediaBase
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
diff --git a/src/multimedia/qml/qmetadatacontrolmetaobject.cpp b/src/imports/multimedia/qmetadatacontrolmetaobject.cpp
index 47b6382f05..e90cbd6021 100644
--- a/src/multimedia/qml/qmetadatacontrolmetaobject.cpp
+++ b/src/imports/multimedia/qmetadatacontrolmetaobject.cpp
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtMultimedia/private/qmetadatacontrolmetaobject_p.h>
+#include "qmetadatacontrolmetaobject_p.h"
#include <QtMultimedia/qmetadatacontrol.h>
diff --git a/src/multimedia/qml/qmetadatacontrolmetaobject_p.h b/src/imports/multimedia/qmetadatacontrolmetaobject_p.h
index ec4df05018..c381f2dcec 100644
--- a/src/multimedia/qml/qmetadatacontrolmetaobject_p.h
+++ b/src/imports/multimedia/qmetadatacontrolmetaobject_p.h
@@ -1,10 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** 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 QtMultimedia module of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
diff --git a/imports/Qt/multimedia/qmldir b/src/imports/multimedia/qmldir
index 0e6f6563f6..0e6f6563f6 100644
--- a/imports/Qt/multimedia/qmldir
+++ b/src/imports/multimedia/qmldir
diff --git a/src/imports/qimportbase.pri b/src/imports/qimportbase.pri
new file mode 100644
index 0000000000..5433059c19
--- /dev/null
+++ b/src/imports/qimportbase.pri
@@ -0,0 +1,33 @@
+TEMPLATE = lib
+CONFIG += qt plugin
+
+win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release
+
+isEmpty(TARGETPATH) {
+ error("qimportbase.pri: You must provide a TARGETPATH!")
+}
+isEmpty(TARGET) {
+ error("qimportbase.pri: You must provide a TARGET!")
+}
+
+QMLDIRFILE = $${_PRO_FILE_PWD_}/qmldir
+copy2build.input = QMLDIRFILE
+copy2build.output = $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir
+isEmpty(vcproj):copy2build.variable_out = PRE_TARGETDEPS
+copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+copy2build.name = COPY ${QMAKE_FILE_IN}
+copy2build.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += copy2build
+
+TARGET = $$qtLibraryTarget($$TARGET)
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+
+include(../../qt_targets.pri)
+
+wince*:LIBS += $$QMAKE_LIBS_GUI
+
+symbian: {
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = All -Tcb
+ load(armcc_warnings)
+}
diff --git a/src/plugins/qdeclarativemodules/multimedia/multimedia.cpp b/src/imports/webkit/plugin.cpp
index 8becbf3bc0..799fe9e9b3 100644
--- a/src/plugins/qdeclarativemodules/multimedia/multimedia.cpp
+++ b/src/imports/webkit/plugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -41,23 +41,27 @@
#include <QtDeclarative/qdeclarativeextensionplugin.h>
#include <QtDeclarative/qdeclarative.h>
-#include <QtMultimedia/multimediadeclarative.h>
+
+#include "qdeclarativewebview_p.h"
+#include "qdeclarativewebview_p_p.h"
QT_BEGIN_NAMESPACE
-class QMultimediaQmlModule : public QDeclarativeExtensionPlugin
+class WebKitQmlPlugin : public QDeclarativeExtensionPlugin
{
Q_OBJECT
public:
virtual void registerTypes(const char *uri)
{
- QtMultimedia::qRegisterDeclarativeElements(uri);
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("org.webkit"));
+ QML_REGISTER_NOCREATE_TYPE(QDeclarativeWebSettings);
+ qmlRegisterType<QDeclarativeWebView>(uri,1,0,"WebView");
}
};
QT_END_NAMESPACE
-#include "multimedia.moc"
+#include "plugin.moc"
-Q_EXPORT_PLUGIN2(qmultimediaqmlmodule, QT_PREPEND_NAMESPACE(QMultimediaQmlModule));
+Q_EXPORT_PLUGIN2(webkitqmlplugin, QT_PREPEND_NAMESPACE(WebKitQmlPlugin));
diff --git a/src/declarative/graphicsitems/qdeclarativewebview.cpp b/src/imports/webkit/qdeclarativewebview.cpp
index a2b16ba65f..d78ba28312 100644
--- a/src/declarative/graphicsitems/qdeclarativewebview.cpp
+++ b/src/imports/webkit/qdeclarativewebview.cpp
@@ -42,11 +42,11 @@
#include "qdeclarativewebview_p.h"
#include "qdeclarativewebview_p_p.h"
-#include "qdeclarativepainteditem_p_p.h"
+#include <private/qdeclarativepainteditem_p_p.h>
#include <qdeclarative.h>
#include <qdeclarativeengine.h>
-#include <qdeclarativestate_p.h>
+#include <private/qdeclarativestate_p.h>
#include <QDebug>
#include <QPen>
@@ -61,7 +61,7 @@
#include <QtWebKit/QWebFrame>
#include <QtWebKit/QWebElement>
#include <QtWebKit/QWebSettings>
-#include <qlistmodelinterface_p.h>
+#include <private/qlistmodelinterface_p.h>
QT_BEGIN_NAMESPACE
@@ -128,6 +128,8 @@ public:
usually laying out the web content to fit the preferredWidth.
\qml
+ import org.webkit 1.0
+
WebView {
url: "http://www.nokia.com"
width: 490
diff --git a/src/declarative/graphicsitems/qdeclarativewebview_p.h b/src/imports/webkit/qdeclarativewebview_p.h
index a65aab38bf..145e74bfeb 100644
--- a/src/declarative/graphicsitems/qdeclarativewebview_p.h
+++ b/src/imports/webkit/qdeclarativewebview_p.h
@@ -42,7 +42,9 @@
#ifndef QDECLARATIVEWEBVIEW_H
#define QDECLARATIVEWEBVIEW_H
-#include "qdeclarativepainteditem_p.h"
+#include "webkitqmlplugin_export.h"
+
+#include <private/qdeclarativepainteditem_p.h>
#include <QtGui/QAction>
#include <QtCore/QUrl>
@@ -57,11 +59,12 @@ class QWebSettings;
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
+class QDeclarativeWebSettings;
class QDeclarativeWebViewPrivate;
class QNetworkRequest;
class QDeclarativeWebView;
-class Q_DECLARATIVE_EXPORT QDeclarativeWebPage : public QWebPage
+class WEBKITQMLPLUGIN_EXPORT QDeclarativeWebPage : public QWebPage
{
Q_OBJECT
public:
@@ -82,11 +85,10 @@ private:
class QDeclarativeWebViewAttached;
-class QDeclarativeWebSettings;
//### TODO: browser plugins
-class Q_DECLARATIVE_EXPORT QDeclarativeWebView : public QDeclarativePaintedItem
+class WEBKITQMLPLUGIN_EXPORT QDeclarativeWebView : public QDeclarativePaintedItem
{
Q_OBJECT
diff --git a/src/declarative/graphicsitems/qdeclarativewebview_p_p.h b/src/imports/webkit/qdeclarativewebview_p_p.h
index 258b4729ba..3ad9e9a602 100644
--- a/src/declarative/graphicsitems/qdeclarativewebview_p_p.h
+++ b/src/imports/webkit/qdeclarativewebview_p_p.h
@@ -42,6 +42,8 @@
#ifndef QDECLARATIVEWEBVIEW_P_H
#define QDECLARATIVEWEBVIEW_P_H
+#include "webkitqmlplugin_export.h"
+
#include <qdeclarative.h>
#include <QtWebKit/QWebPage>
@@ -52,7 +54,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class QDeclarativeWebSettings : public QObject {
+class WEBKITQMLPLUGIN_EXPORT QDeclarativeWebSettings : public QObject {
Q_OBJECT
Q_PROPERTY(QString standardFontFamily READ standardFontFamily WRITE setStandardFontFamily)
diff --git a/src/imports/webkit/qmldir b/src/imports/webkit/qmldir
new file mode 100644
index 0000000000..258aa2cb59
--- /dev/null
+++ b/src/imports/webkit/qmldir
@@ -0,0 +1 @@
+plugin webkitqmlplugin
diff --git a/src/imports/webkit/webkit.pro b/src/imports/webkit/webkit.pro
new file mode 100644
index 0000000000..fdc12cc734
--- /dev/null
+++ b/src/imports/webkit/webkit.pro
@@ -0,0 +1,19 @@
+TARGET = webkitqmlplugin
+TARGETPATH = org/webkit
+include(../qimportbase.pri)
+
+QT += webkit declarative
+DEFINES += WEBKITQMLPLUGIN_EXPORTS
+
+SOURCES += qdeclarativewebview.cpp plugin.cpp
+HEADERS += qdeclarativewebview_p.h \
+ qdeclarativewebview_p_p.h \
+ webkitqmlplugin_export.h
+
+QTDIR_build:DESTDIR = $$TARGETPATH
+target.path = $$TARGETPATH
+
+qmldir.files += $$QT_BUILD_TREE/imports/org/webkit/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+INSTALLS += target qmldir
diff --git a/src/multimedia/qml/multimediadeclarative.h b/src/imports/webkit/webkitqmlplugin_export.h
index 29af65ade0..974fd2435f 100644
--- a/src/multimedia/qml/multimediadeclarative.h
+++ b/src/imports/webkit/webkitqmlplugin_export.h
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
+** This file is part of the QtDeclarative module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,22 +39,15 @@
**
****************************************************************************/
-#ifndef QTMULTIMEDIA_QML_H
-#define QTMULTIMEDIA_QML_H
+#ifndef WEBKITQMLPLUGIN_EXPORT_H
+#define WEBKITQMLPLUGIN_EXPORT_H
-#include <QtCore/qglobal.h>
+#include <QtCore/QtGlobal>
-QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
+#if defined WEBKITQMLPLUGIN_EXPORTS
+# define WEBKITQMLPLUGIN_EXPORT Q_DECL_EXPORT
+#else
+# define WEBKITQMLPLUGIN_EXPORT Q_DECL_IMPORT
+#endif
-QT_MODULE(Multimedia)
-
-namespace QtMultimedia
-{
-extern void Q_MULTIMEDIA_EXPORT qRegisterDeclarativeElements(const char *uri);
-}
-
-QT_END_NAMESPACE
-QT_END_HEADER
-
-#endif // ifndef QTMULTIMEDIA_QML_H
+#endif // WEBKITQMLPLUGIN_EXPORT_H
diff --git a/src/plugins/qdeclarativemodules/widgets/graphicslayouts.cpp b/src/imports/widgets/graphicslayouts.cpp
index fc15ad2981..fc15ad2981 100644
--- a/src/plugins/qdeclarativemodules/widgets/graphicslayouts.cpp
+++ b/src/imports/widgets/graphicslayouts.cpp
diff --git a/src/plugins/qdeclarativemodules/widgets/graphicslayouts_p.h b/src/imports/widgets/graphicslayouts_p.h
index f9b9ae81a6..f9b9ae81a6 100644
--- a/src/plugins/qdeclarativemodules/widgets/graphicslayouts_p.h
+++ b/src/imports/widgets/graphicslayouts_p.h
diff --git a/src/plugins/qdeclarativemodules/widgets/graphicswidgets.cpp b/src/imports/widgets/graphicswidgets.cpp
index 062e516300..062e516300 100644
--- a/src/plugins/qdeclarativemodules/widgets/graphicswidgets.cpp
+++ b/src/imports/widgets/graphicswidgets.cpp
diff --git a/src/plugins/qdeclarativemodules/widgets/graphicswidgets_p.h b/src/imports/widgets/graphicswidgets_p.h
index 2c2b707901..2c2b707901 100644
--- a/src/plugins/qdeclarativemodules/widgets/graphicswidgets_p.h
+++ b/src/imports/widgets/graphicswidgets_p.h
diff --git a/imports/Qt/widgets/qmldir b/src/imports/widgets/qmldir
index 6f19878671..6f19878671 100644
--- a/imports/Qt/widgets/qmldir
+++ b/src/imports/widgets/qmldir
diff --git a/src/plugins/qdeclarativemodules/widgets/widgets.cpp b/src/imports/widgets/widgets.cpp
index ec21cc41e0..ec21cc41e0 100644
--- a/src/plugins/qdeclarativemodules/widgets/widgets.cpp
+++ b/src/imports/widgets/widgets.cpp
diff --git a/src/plugins/qdeclarativemodules/widgets/widgets.pro b/src/imports/widgets/widgets.pro
index 3ec38dadb2..02223d724a 100644
--- a/src/plugins/qdeclarativemodules/widgets/widgets.pro
+++ b/src/imports/widgets/widgets.pro
@@ -1,5 +1,6 @@
TARGET = widgets
-include(../../qpluginbase.pri)
+TARGETPATH = Qt/widgets
+include(../qimportbase.pri)
QT += declarative
@@ -12,9 +13,10 @@ HEADERS += \
graphicslayouts_p.h
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/Qt/widgets
-target.path = $$[QT_INSTALL_IMPORTS]/Qt/widgets
+target.path = $$TARGETPATH
-qmldir.files += $$QT_BUILD_TREE/imports/Qt/widgets/qmldir
-qmldir.path += $$[QT_INSTALL_IMPORTS]/Qt/widgets
+# install qmldir file
+qmldir.files += qmldir
+qmldir.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
INSTALLS += target qmldir
diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp
index 725151370a..bd2de52133 100644
--- a/src/multimedia/audio/qaudioinput_mac_p.cpp
+++ b/src/multimedia/audio/qaudioinput_mac_p.cpp
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
-namespace
+namespace QtMultimediaInternal
{
static const int default_buffer_size = 4 * 1024;
@@ -169,8 +169,10 @@ public:
void reset()
{
- for (UInt32 i = 0; i < bfs->mNumberBuffers; ++i)
+ for (UInt32 i = 0; i < bfs->mNumberBuffers; ++i) {
bfs->mBuffers[i].mDataByteSize = dataSize;
+ bfs->mBuffers[i].mData = 0;
+ }
}
private:
@@ -523,7 +525,7 @@ QAudioInputPrivate::QAudioInputPrivate(const QByteArray& device, QAudioFormat co
startTime = 0;
totalFrames = 0;
audioBuffer = 0;
- internalBufferSize = default_buffer_size;
+ internalBufferSize = QtMultimediaInternal::default_buffer_size;
clockFrequency = AudioGetHostClockFrequency() / 1000;
errorCode = QAudio::NoError;
stateCode = QAudio::StoppedState;
@@ -668,13 +670,13 @@ bool QAudioInputPrivate::open()
else
internalBufferSize -= internalBufferSize % streamFormat.mBytesPerFrame;
- audioBuffer = new QAudioInputBuffer(internalBufferSize,
+ audioBuffer = new QtMultimediaInternal::QAudioInputBuffer(internalBufferSize,
periodSizeBytes,
deviceFormat,
streamFormat,
this);
- audioIO = new MacInputDevice(audioBuffer, this);
+ audioIO = new QtMultimediaInternal::MacInputDevice(audioBuffer, this);
// Init
if (AudioUnitInitialize(audioUnit) != noErr) {
diff --git a/src/multimedia/audio/qaudioinput_mac_p.h b/src/multimedia/audio/qaudioinput_mac_p.h
index e1b8e4abc1..42f90e2e90 100644
--- a/src/multimedia/audio/qaudioinput_mac_p.h
+++ b/src/multimedia/audio/qaudioinput_mac_p.h
@@ -75,7 +75,7 @@ QT_BEGIN_NAMESPACE
class QTimer;
class QIODevice;
-namespace
+namespace QtMultimediaInternal
{
class QAudioInputBuffer;
}
@@ -97,7 +97,7 @@ public:
UInt64 startTime;
QAudio::Error errorCode;
QAudio::State stateCode;
- QAudioInputBuffer* audioBuffer;
+ QtMultimediaInternal::QAudioInputBuffer* audioBuffer;
QMutex mutex;
QWaitCondition threadFinished;
QAtomicInt audioThreadState;
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
index b127103d59..e49c75a212 100644
--- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
@@ -369,10 +369,52 @@ bool QAudioOutputPrivate::open()
}
}
if ( !fatal ) {
+ unsigned int maxBufferTime = 0;
+ unsigned int minBufferTime = 0;
+ unsigned int maxPeriodTime = 0;
+ unsigned int minPeriodTime = 0;
+
+ err = snd_pcm_hw_params_get_buffer_time_max(hwparams, &maxBufferTime, &dir);
+ if ( err >= 0)
+ err = snd_pcm_hw_params_get_buffer_time_min(hwparams, &minBufferTime, &dir);
+ if ( err >= 0)
+ err = snd_pcm_hw_params_get_period_time_max(hwparams, &maxPeriodTime, &dir);
+ if ( err >= 0)
+ err = snd_pcm_hw_params_get_period_time_min(hwparams, &minPeriodTime, &dir);
+
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString::fromLatin1("QAudioOutput: buffer/period min and max: err = %1").arg(err);
+ } else {
+ if (maxBufferTime < buffer_time || buffer_time < minBufferTime || maxPeriodTime < period_time || minPeriodTime > period_time) {
+#ifdef DEBUG_AUDIO
+ qDebug()<<"defaults out of range";
+ qDebug()<<"pmin="<<minPeriodTime<<", pmax="<<maxPeriodTime<<", bmin="<<minBufferTime<<", bmax="<<maxBufferTime;
+#endif
+ period_time = minPeriodTime;
+ if (period_time*4 <= maxBufferTime) {
+ // Use 4 periods if possible
+ buffer_time = period_time*4;
+ chunks = 4;
+ } else if (period_time*2 <= maxBufferTime) {
+ // Use 2 periods if possible
+ buffer_time = period_time*2;
+ chunks = 2;
+ } else {
+ qWarning()<<"QAudioOutput: alsa only supports single period!";
+ fatal = true;
+ }
+#ifdef DEBUG_AUDIO
+ qDebug()<<"used: buffer_time="<<buffer_time<<", period_time="<<period_time;
+#endif
+ }
+ }
+ }
+ if ( !fatal ) {
err = snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, &dir);
if ( err < 0 ) {
fatal = true;
- errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1").arg(err);
+ errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1").arg(err);
}
}
if ( !fatal ) {
diff --git a/src/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp
index 518f78fd89..6f322574b8 100644
--- a/src/multimedia/audio/qaudiooutput_mac_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp
@@ -70,7 +70,7 @@
QT_BEGIN_NAMESPACE
-namespace
+namespace QtMultimediaInternal
{
static const int default_buffer_size = 8 * 1024;
@@ -237,7 +237,7 @@ class MacOutputDevice : public QIODevice
Q_OBJECT
public:
- MacOutputDevice(QAudioOutputBuffer* audioBuffer, QObject* parent):
+ MacOutputDevice(QtMultimediaInternal::QAudioOutputBuffer* audioBuffer, QObject* parent):
QIODevice(parent),
m_audioBuffer(audioBuffer)
{
@@ -263,7 +263,7 @@ public:
}
private:
- QAudioOutputBuffer* m_audioBuffer;
+ QtMultimediaInternal::QAudioOutputBuffer* m_audioBuffer;
};
@@ -285,7 +285,7 @@ QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray& device, const QAudioF
startTime = 0;
totalFrames = 0;
audioBuffer = 0;
- internalBufferSize = default_buffer_size;
+ internalBufferSize = QtMultimediaInternal::default_buffer_size;
clockFrequency = AudioGetHostClockFrequency() / 1000;
errorCode = QAudio::NoError;
stateCode = QAudio::StoppedState;
@@ -399,7 +399,7 @@ bool QAudioOutputPrivate::open()
else
internalBufferSize -= internalBufferSize % streamFormat.mBytesPerFrame;
- audioBuffer = new QAudioOutputBuffer(internalBufferSize, periodSizeBytes, audioFormat);
+ audioBuffer = new QtMultimediaInternal::QAudioOutputBuffer(internalBufferSize, periodSizeBytes, audioFormat);
connect(audioBuffer, SIGNAL(readyRead()), SLOT(inputReady())); // Pull
audioIO = new MacOutputDevice(audioBuffer, this);
diff --git a/src/multimedia/audio/qaudiooutput_mac_p.h b/src/multimedia/audio/qaudiooutput_mac_p.h
index 1aacc679ec..752905cf89 100644
--- a/src/multimedia/audio/qaudiooutput_mac_p.h
+++ b/src/multimedia/audio/qaudiooutput_mac_p.h
@@ -74,7 +74,7 @@ QT_BEGIN_NAMESPACE
class QIODevice;
-namespace
+namespace QtMultimediaInternal
{
class QAudioOutputBuffer;
}
@@ -96,7 +96,7 @@ public:
UInt64 startTime;
AudioStreamBasicDescription deviceFormat;
AudioStreamBasicDescription streamFormat;
- QAudioOutputBuffer* audioBuffer;
+ QtMultimediaInternal::QAudioOutputBuffer* audioBuffer;
QAtomicInt audioThreadState;
QWaitCondition threadFinished;
QMutex mutex;
diff --git a/src/multimedia/base/qmediacontent.cpp b/src/multimedia/base/qmediacontent.cpp
index 6f158d262b..b6bf56b267 100644
--- a/src/multimedia/base/qmediacontent.cpp
+++ b/src/multimedia/base/qmediacontent.cpp
@@ -207,6 +207,15 @@ QUrl QMediaContent::canonicalUrl() const
}
/*!
+ Returns a QNetworkRequest that represents that canonical resource for this media content.
+*/
+
+QNetworkRequest QMediaContent::canonicalRequest() const
+{
+ return canonicalResource().request();
+}
+
+/*!
Returns a QMediaResource that represents that canonical resource for this media content.
*/
diff --git a/src/multimedia/base/qmediacontent.h b/src/multimedia/base/qmediacontent.h
index b6f30177ac..5a279c1ede 100644
--- a/src/multimedia/base/qmediacontent.h
+++ b/src/multimedia/base/qmediacontent.h
@@ -75,6 +75,7 @@ public:
bool isNull() const;
QUrl canonicalUrl() const;
+ QNetworkRequest canonicalRequest() const;
QMediaResource canonicalResource() const;
QMediaResourceList resources() const;
diff --git a/src/multimedia/base/qmediaserviceprovider.cpp b/src/multimedia/base/qmediaserviceprovider.cpp
index eb6505ce03..b089b3909e 100644
--- a/src/multimedia/base/qmediaserviceprovider.cpp
+++ b/src/multimedia/base/qmediaserviceprovider.cpp
@@ -102,6 +102,9 @@ public:
\value RecordingSupport
The service provides audio or video recording functions.
+
+ \value StreamPlayback
+ The service is capable of playing QIODevice based streams.
*/
/*!
@@ -268,7 +271,7 @@ class QPluginServiceProvider : public QMediaServiceProvider
public:
QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &hint)
{
- QString key(type);
+ QString key(QString::fromLatin1(type.constData(),type.length()));
QList<QMediaServiceProviderPlugin *>plugins;
foreach (QObject *obj, loader()->instances(key)) {
@@ -347,7 +350,7 @@ public:
estimate = currentEstimate;
plugin = currentPlugin;
- if (currentEstimate == QtMultimedia::PreferedService)
+ if (currentEstimate == QtMultimedia::PreferredService)
break;
}
}
@@ -383,7 +386,8 @@ public:
const QStringList& codecs,
int flags) const
{
- QList<QObject*> instances = loader()->instances(serviceType);
+ QList<QObject*> instances = loader()->instances(
+ QString::fromLatin1(serviceType.constData(),serviceType.length()));
if (instances.isEmpty())
return QtMultimedia::NotSupported;
@@ -395,14 +399,25 @@ public:
QMediaServiceSupportedFormatsInterface *iface =
qobject_cast<QMediaServiceSupportedFormatsInterface*>(obj);
- //if low latency playback was asked, skip services known
- //not to provide low latency playback
- if (flags & QMediaPlayer::LowLatency) {
+
+ if (flags) {
QMediaServiceFeaturesInterface *iface =
qobject_cast<QMediaServiceFeaturesInterface*>(obj);
- if (iface && !(iface->supportedFeatures(serviceType) & QMediaServiceProviderHint::LowLatencyPlayback))
- continue;
+ if (iface) {
+ QMediaServiceProviderHint::Features features = iface->supportedFeatures(serviceType);
+
+ //if low latency playback was asked, skip services known
+ //not to provide low latency playback
+ if ((flags & QMediaPlayer::LowLatency) &&
+ !(features & QMediaServiceProviderHint::LowLatencyPlayback))
+ continue;
+
+ //the same for QIODevice based streams support
+ if ((flags & QMediaPlayer::StreamPlayback) &&
+ !(features & QMediaServiceProviderHint::StreamPlayback))
+ continue;
+ }
}
if (iface)
@@ -411,7 +426,7 @@ public:
allServicesProvideInterface = false;
}
- //don't return PreferedService
+ //don't return PreferredService
supportEstimate = qMin(supportEstimate, QtMultimedia::ProbablySupported);
//Return NotSupported only if no services are available of serviceType
@@ -424,7 +439,8 @@ public:
QStringList supportedMimeTypes(const QByteArray &serviceType, int flags) const
{
- QList<QObject*> instances = loader()->instances(serviceType);
+ QList<QObject*> instances = loader()->instances(
+ QString::fromLatin1(serviceType.constData(),serviceType.length()));
QStringList supportedTypes;
@@ -432,14 +448,25 @@ public:
QMediaServiceSupportedFormatsInterface *iface =
qobject_cast<QMediaServiceSupportedFormatsInterface*>(obj);
- // If low latency playback was asked for, skip MIME types from services known
- // not to provide low latency playback
+
if (flags & QMediaPlayer::LowLatency) {
QMediaServiceFeaturesInterface *iface =
qobject_cast<QMediaServiceFeaturesInterface*>(obj);
- if (iface && !(iface->supportedFeatures(serviceType) & QMediaServiceProviderHint::LowLatencyPlayback))
- continue;
+ if (iface) {
+ QMediaServiceProviderHint::Features features = iface->supportedFeatures(serviceType);
+
+ // If low latency playback was asked for, skip MIME types from services known
+ // not to provide low latency playback
+ if ((flags & QMediaPlayer::LowLatency) &&
+ !(features & QMediaServiceProviderHint::LowLatencyPlayback))
+ continue;
+
+ //the same for QIODevice based streams support
+ if ((flags & QMediaPlayer::StreamPlayback) &&
+ !(features & QMediaServiceProviderHint::StreamPlayback))
+ continue;
+ }
}
if (iface) {
@@ -457,7 +484,8 @@ public:
{
QList<QByteArray> res;
- foreach(QObject *obj, loader()->instances(serviceType)) {
+ foreach(QObject *obj, loader()->instances(
+ QString::fromLatin1(serviceType.constData(),serviceType.length()))) {
QMediaServiceSupportedDevicesInterface *iface =
qobject_cast<QMediaServiceSupportedDevicesInterface*>(obj);
@@ -471,7 +499,8 @@ public:
QString deviceDescription(const QByteArray &serviceType, const QByteArray &device)
{
- foreach(QObject *obj, loader()->instances(serviceType)) {
+ foreach(QObject *obj, loader()->instances(
+ QString::fromLatin1(serviceType.constData(),serviceType.length()))) {
QMediaServiceSupportedDevicesInterface *iface =
qobject_cast<QMediaServiceSupportedDevicesInterface*>(obj);
diff --git a/src/multimedia/base/qmediaserviceprovider.h b/src/multimedia/base/qmediaserviceprovider.h
index 2ee0ae4d78..6e3149396b 100644
--- a/src/multimedia/base/qmediaserviceprovider.h
+++ b/src/multimedia/base/qmediaserviceprovider.h
@@ -64,7 +64,8 @@ public:
enum Feature {
LowLatencyPlayback = 0x01,
- RecordingSupport = 0x02
+ RecordingSupport = 0x02,
+ StreamPlayback = 0x04
};
Q_DECLARE_FLAGS(Features, Feature)
diff --git a/src/multimedia/base/qpaintervideosurface.cpp b/src/multimedia/base/qpaintervideosurface.cpp
index 97fddc9688..fc3d493a5b 100644
--- a/src/multimedia/base/qpaintervideosurface.cpp
+++ b/src/multimedia/base/qpaintervideosurface.cpp
@@ -1158,14 +1158,14 @@ QAbstractVideoSurface::Error QVideoSurfaceGlslPainter::paint(
glBindTexture(GL_TEXTURE_2D, m_textureIds[2]);
glActiveTexture(GL_TEXTURE0);
- m_program.setUniformValue("texY", 0);
- m_program.setUniformValue("texU", 1);
- m_program.setUniformValue("texV", 2);
+ m_program.setUniformValue("texY", GLint(0));
+ m_program.setUniformValue("texU", GLint(1));
+ m_program.setUniformValue("texV", GLint(2));
} else {
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, m_textureIds[0]);
- m_program.setUniformValue("texRgb", 0);
+ m_program.setUniformValue("texRgb", GLint(0));
}
m_program.setUniformValue("colorMatrix", m_colorMatrix);
diff --git a/src/multimedia/base/qtmedianamespace.h b/src/multimedia/base/qtmedianamespace.h
index 2a56fc3a7e..fe20a053d0 100644
--- a/src/multimedia/base/qtmedianamespace.h
+++ b/src/multimedia/base/qtmedianamespace.h
@@ -152,7 +152,7 @@ namespace QtMultimedia
NotSupported,
MaybeSupported,
ProbablySupported,
- PreferedService
+ PreferredService
};
enum EncodingQuality
diff --git a/src/multimedia/base/qtmedianamespace.qdoc b/src/multimedia/base/qtmedianamespace.qdoc
index 270c7d6634..58e9c92f33 100644
--- a/src/multimedia/base/qtmedianamespace.qdoc
+++ b/src/multimedia/base/qtmedianamespace.qdoc
@@ -172,7 +172,7 @@
\value NotSupported The feature is not supported.
\value MaybeSupported The feature may be supported.
\value ProbablySupported The feature is probably supported.
- \value PreferedService The service is the preferred provider of a service.
+ \value PreferredService The service is the preferred provider of a service.
*/
/*!
diff --git a/src/multimedia/effects/effects.pri b/src/multimedia/effects/effects.pri
new file mode 100644
index 0000000000..be2b6967c6
--- /dev/null
+++ b/src/multimedia/effects/effects.pri
@@ -0,0 +1,25 @@
+
+
+unix:!mac {
+ contains(QT_CONFIG, pulseaudio) {
+ DEFINES += QT_MULTIMEDIA_PULSEAUDIO
+ HEADERS += $$PWD/qsoundeffect_pulse_p.h
+ SOURCES += $$PWD/qsoundeffect_pulse_p.cpp
+ LIBS += -lpulse
+ } else {
+ DEFINES += QT_MULTIMEDIA_QMEDIAPLAYER
+ HEADERS += $$PWD/qsoundeffect_qmedia_p.h
+ SOURCES += $$PWD/qsoundeffect_qmedia_p.cpp
+ }
+} else {
+ HEADERS += $$PWD/qsoundeffect_qsound_p.h
+ SOURCES += $$PWD/qsoundeffect_qsound_p.cpp
+}
+
+HEADERS += \
+ $$PWD/qsoundeffect_p.h \
+ $$PWD/wavedecoder_p.h
+
+SOURCES += \
+ $$PWD/qsoundeffect.cpp \
+ $$PWD/wavedecoder_p.cpp
diff --git a/src/multimedia/qml/qsoundeffect.cpp b/src/multimedia/effects/qsoundeffect.cpp
index 919aa75b0d..53cad8e363 100644
--- a/src/multimedia/qml/qsoundeffect.cpp
+++ b/src/multimedia/effects/qsoundeffect.cpp
@@ -39,9 +39,6 @@
**
****************************************************************************/
-#include "qmediacontent.h"
-#include "qmediaplayer.h"
-
#include "qsoundeffect_p.h"
#if defined(QT_MULTIMEDIA_PULSEAUDIO)
@@ -56,6 +53,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass SoundEffect QSoundEffect
+ \since 4.7
\brief The SoundEffect element provides a way to play sound effects in qml.
The following example plays a wav file on mouse click.
@@ -65,7 +63,7 @@ QT_BEGIN_NAMESPACE
id: playSound
source: "test.wav"
}
- MouseRegion {
+ MouseArea {
id: playArea
anchors.fill: parent
onPressed: {
@@ -73,8 +71,6 @@ QT_BEGIN_NAMESPACE
}
}
\endqml
-
- \sa SoundEffect
*/
/*!
@@ -102,12 +98,6 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \qmlproperty int SoundEffect::duration
-
- This property holds the duration in milliseconds of the current source audio.
-*/
-
-/*!
\qmlsignal SoundEffect::sourceChanged()
This handler is called when the source has changed.
@@ -131,124 +121,80 @@ QT_BEGIN_NAMESPACE
This handler is called when the mute state has changed.
*/
-/*!
- \qmlsignal SoundEffect::durationChanged()
-
- This handler is called when the duration has changed.
-*/
QSoundEffect::QSoundEffect(QObject *parent) :
- QObject(parent),
- m_loopCount(1),
- m_vol(100),
- m_muted(false),
- m_runningCount(0)
+ QObject(parent)
{
d = new QSoundEffectPrivate(this);
- connect(d, SIGNAL(volumeChanged(int)), SIGNAL(volumeChanged()));
- connect(d, SIGNAL(mutedChanged(bool)), SIGNAL(mutedChanged()));
- connect(d, SIGNAL(durationChanged(qint64)), SIGNAL(durationChanged()));
- connect(d, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(repeat()));
+ connect(d, SIGNAL(volumeChanged()), SIGNAL(volumeChanged()));
+ connect(d, SIGNAL(mutedChanged()), SIGNAL(mutedChanged()));
}
QSoundEffect::~QSoundEffect()
{
- delete d;
+ d->deleteLater();
}
QUrl QSoundEffect::source() const
{
- return d != 0 ? d->media().canonicalUrl() : QUrl();
+ return d->source();
}
void QSoundEffect::setSource(const QUrl &url)
{
- if (d != 0 && d->media().canonicalUrl() == url)
+ if (d->source() == url)
return;
- d->setVolume(m_vol);
- d->setMuted(m_muted);
- d->setMedia(url);
-
- if (url.isEmpty())
- return;
+ d->setSource(url);
emit sourceChanged();
}
int QSoundEffect::loopCount() const
{
- return m_loopCount;
+ return d->loopCount();
}
void QSoundEffect::setLoopCount(int loopCount)
{
- if (m_loopCount == loopCount)
+ if (d->loopCount() == loopCount)
return;
- m_loopCount = loopCount;
+ d->setLoopCount(loopCount);
emit loopCountChanged();
}
int QSoundEffect::volume() const
{
- return d != 0 ? d->volume() : m_vol;
+ return d->volume();
}
void QSoundEffect::setVolume(int volume)
{
- if (m_vol == volume)
+ if (d->volume() == volume)
return;
- m_vol = volume;
- if (d != 0)
- d->setVolume(volume);
- else
- emit volumeChanged();
+ d->setVolume(volume);
+ emit volumeChanged();
}
bool QSoundEffect::isMuted() const
{
- return d != 0 ? d->isMuted() : m_muted;
+ return d->isMuted();
}
void QSoundEffect::setMuted(bool muted)
{
- if (m_muted == muted)
+ if (d->isMuted() == muted)
return;
- m_muted = muted;
- if (d != 0)
- d->setMuted(muted);
- else
- emit mutedChanged();
-}
-
-int QSoundEffect::duration() const
-{
- return d != 0 ? d->duration() : 0;
+ d->setMuted(muted);
+ emit mutedChanged();
}
void QSoundEffect::play()
{
- m_runningCount = 0;
-
- if (d != 0)
- d->play();
-}
-
-void QSoundEffect::stop()
-{
- if (d != 0)
- d->stop();
-}
-
-void QSoundEffect::repeat()
-{
- if (d->state() == QMediaPlayer::StoppedState) {
- if (++m_runningCount < m_loopCount)
- d->play();
- }
+ d->play();
}
QT_END_NAMESPACE
diff --git a/src/multimedia/qml/qsoundeffect_p.h b/src/multimedia/effects/qsoundeffect_p.h
index 51ebe52abb..ec6a2f7b5a 100644
--- a/src/multimedia/qml/qsoundeffect_p.h
+++ b/src/multimedia/effects/qsoundeffect_p.h
@@ -56,7 +56,6 @@
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
-#include <QtDeclarative/qdeclarative.h>
QT_BEGIN_HEADER
@@ -64,14 +63,13 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QSoundEffectPrivate;
-class Q_AUTOTEST_EXPORT QSoundEffect : public QObject
+class Q_MULTIMEDIA_EXPORT QSoundEffect : public QObject
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(int loopCount READ loopCount WRITE setLoopCount NOTIFY loopCountChanged)
Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
- Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
public:
explicit QSoundEffect(QObject *parent = 0);
@@ -89,37 +87,22 @@ public:
bool isMuted() const;
void setMuted(bool muted);
- int duration() const;
-
-signals:
+Q_SIGNALS:
void sourceChanged();
void loopCountChanged();
void volumeChanged();
void mutedChanged();
- void durationChanged();
-public slots:
+public Q_SLOTS:
void play();
- void stop();
-
-private slots:
- void repeat();
private:
Q_DISABLE_COPY(QSoundEffect)
-
- int m_loopCount;
- int m_vol;
- bool m_muted;
- int m_runningCount;
-
QSoundEffectPrivate* d;
};
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QSoundEffect))
-
QT_END_HEADER
diff --git a/src/multimedia/qml/qsoundeffect_pulse_p.cpp b/src/multimedia/effects/qsoundeffect_pulse_p.cpp
index ec851aa5c3..e37925973d 100644
--- a/src/multimedia/qml/qsoundeffect_pulse_p.cpp
+++ b/src/multimedia/effects/qsoundeffect_pulse_p.cpp
@@ -55,15 +55,11 @@
#include <QtNetwork>
#include <QTime>
-#include "qmediacontent.h"
-#include "qmediaplayer.h"
-#include "qsoundeffect_p.h"
-
#include "wavedecoder_p.h"
#include "qsoundeffect_pulse_p.h"
-#if(Q_WS_MAEMO_5)
+#if defined(Q_WS_MAEMO_5)
#include <pulse/ext-stream-restore.h>
#endif
@@ -72,6 +68,8 @@
// Less than ideal
#define PA_SCACHE_ENTRY_SIZE_MAX (1024*1024*16)
+QT_BEGIN_NAMESPACE
+
namespace
{
inline pa_sample_spec audioFormatToSampleSpec(const QAudioFormat &format)
@@ -155,7 +153,7 @@ private:
lock();
m_context = pa_context_new(m_mainLoopApi, QString(QLatin1String("QtPulseAudio:%1")).arg(::getpid()).toAscii().constData());
-#if(Q_WS_MAEMO_5)
+#if defined(Q_WS_MAEMO_5)
pa_context_set_state_callback(m_context, context_state_callback, this);
#endif
if (m_context == 0) {
@@ -183,7 +181,7 @@ private:
m_prepared = false;
}
-#if(Q_WS_MAEMO_5)
+#if defined(Q_WS_MAEMO_5)
static void context_state_callback(pa_context *c, void *userdata)
{
PulseDaemon *self = reinterpret_cast<PulseDaemon*>(userdata);
@@ -236,13 +234,15 @@ Q_GLOBAL_STATIC(PulseDaemon, daemon)
QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
QObject(parent),
+ m_retry(false),
m_muted(false),
m_playQueued(false),
- m_vol(100),
+ m_sampleLoaded(false),
+ m_volume(100),
m_duration(0),
m_dataUploaded(0),
- m_state(QMediaPlayer::StoppedState),
- m_status(QMediaPlayer::NoMedia),
+ m_loopCount(1),
+ m_runningCount(0),
m_reply(0),
m_stream(0),
m_networkAccessManager(0)
@@ -251,80 +251,57 @@ QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
QSoundEffectPrivate::~QSoundEffectPrivate()
{
- delete m_reply;
+ m_reply->deleteLater();
unloadSample();
}
-qint64 QSoundEffectPrivate::duration() const
+QUrl QSoundEffectPrivate::source() const
{
- return m_duration;
+ return m_source;
}
-int QSoundEffectPrivate::volume() const
+void QSoundEffectPrivate::setSource(const QUrl &url)
{
- return m_vol;
-}
+ if (url.isEmpty()) {
+ m_source = QUrl();
+ unloadSample();
+ return;
+ }
-bool QSoundEffectPrivate::isMuted() const
-{
- return m_muted;
-}
+ m_source = url;
-QMediaContent QSoundEffectPrivate::media() const
-{
- return m_media;
+ if (m_networkAccessManager == 0)
+ m_networkAccessManager = new QNetworkAccessManager(this);
+
+ m_stream = m_networkAccessManager->get(QNetworkRequest(m_source));
+
+ unloadSample();
+ loadSample();
}
-QMediaPlayer::State QSoundEffectPrivate::state() const
+int QSoundEffectPrivate::loopCount() const
{
- return m_state;
+ return m_loopCount;
}
-QMediaPlayer::MediaStatus QSoundEffectPrivate::mediaStatus() const
+void QSoundEffectPrivate::setLoopCount(int loopCount)
{
- return m_status;
+ m_loopCount = loopCount;
}
-void QSoundEffectPrivate::play()
+int QSoundEffectPrivate::volume() const
{
- if (m_status == QMediaPlayer::LoadingMedia) {
- m_playQueued = true;
- return;
- }
-
- if (m_status != QMediaPlayer::BufferedMedia ||
- m_state == QMediaPlayer::PlayingState)
- return;
-
- pa_volume_t m_vol = PA_VOLUME_NORM;
-
- daemon()->lock();
-#if(Q_WS_MAEMO_5)
- m_vol = PA_VOLUME_NORM/100*((daemon()->volume()+m_vol)/2);
-#endif
- pa_operation_unref(
- pa_context_play_sample(daemon()->context(),
- m_name.constData(),
- 0,
- m_vol,
- play_callback,
- this)
- );
- daemon()->unlock();
-
- m_playbackTime.start();
-
- emit stateChanged(m_state = QMediaPlayer::PlayingState);
+ return m_volume;
}
-void QSoundEffectPrivate::stop()
+void QSoundEffectPrivate::setVolume(int volume)
{
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
+ m_volume = volume;
}
-void QSoundEffectPrivate::setVolume(int volume)
+bool QSoundEffectPrivate::isMuted() const
{
- m_vol = volume;
+ return m_muted;
}
void QSoundEffectPrivate::setMuted(bool muted)
@@ -332,34 +309,29 @@ void QSoundEffectPrivate::setMuted(bool muted)
m_muted = muted;
}
-void QSoundEffectPrivate::setMedia(const QMediaContent &media)
+void QSoundEffectPrivate::play()
{
- if (media.isNull()) {
- m_media = QMediaContent();
- unloadSample();
+ if (m_retry) {
+ m_retry = false;
+ setSource(m_source);
return;
}
- if (m_media == media)
- return;
- m_media = media;
-
- if (m_networkAccessManager == 0)
- m_networkAccessManager = new QNetworkAccessManager(this);
- m_stream = m_networkAccessManager->get(QNetworkRequest(m_media.canonicalUrl()));
+ if (!m_sampleLoaded) {
+ m_playQueued = true;
+ return;
+ }
- unloadSample();
- loadSample();
+ m_runningCount += m_loopCount;
- emit mediaChanged(m_media);
+ playSample();
}
void QSoundEffectPrivate::decoderReady()
{
if (m_waveDecoder->size() >= PA_SCACHE_ENTRY_SIZE_MAX) {
- m_status = QMediaPlayer::InvalidMedia;
- emit mediaStatusChanged(m_status);
- qWarning("QtPulseAudio: attempting to load to large a sample");
+ m_waveDecoder->deleteLater();
+ qWarning("QSoundEffect(pulseaudio): Attempting to load to large a sample");
return;
}
@@ -373,107 +345,132 @@ void QSoundEffectPrivate::decoderReady()
pa_stream_set_state_callback(stream, stream_state_callback, this);
pa_stream_set_write_callback(stream, stream_write_callback, this);
pa_stream_connect_upload(stream, (size_t)m_waveDecoder->size());
+ m_pulseStream = stream;
daemon()->unlock();
}
void QSoundEffectPrivate::decoderError()
{
- emit mediaStatusChanged(m_status = QMediaPlayer::InvalidMedia);
+ qWarning("QSoundEffect(pulseaudio): Error decoding source");
}
void QSoundEffectPrivate::checkPlayTime()
{
int elapsed = m_playbackTime.elapsed();
- if (elapsed >= m_duration) {
- m_state = QMediaPlayer::StoppedState;
- emit stateChanged(m_state);
- }
- else
+ if (elapsed < m_duration)
startTimer(m_duration - elapsed);
}
void QSoundEffectPrivate::loadSample()
{
+ m_sampleLoaded = false;
+ m_dataUploaded = 0;
m_waveDecoder = new WaveDecoder(m_stream);
connect(m_waveDecoder, SIGNAL(formatKnown()), SLOT(decoderReady()));
connect(m_waveDecoder, SIGNAL(invalidFormat()), SLOT(decoderError()));
-
- m_status = QMediaPlayer::LoadingMedia;
- emit mediaStatusChanged(m_status);
}
void QSoundEffectPrivate::unloadSample()
{
- if (m_status != QMediaPlayer::BufferedMedia)
+ if (!m_sampleLoaded)
return;
- m_status = QMediaPlayer::NoMedia;
-
daemon()->lock();
pa_context_remove_sample(daemon()->context(), m_name.constData(), NULL, NULL);
daemon()->unlock();
m_duration = 0;
m_dataUploaded = 0;
+ m_sampleLoaded = false;
}
-void QSoundEffectPrivate::timerEvent(QTimerEvent *event)
-{
- if (m_state == QMediaPlayer::PlayingState) {
- m_state = QMediaPlayer::StoppedState;
- emit stateChanged(m_state);
- }
-
- killTimer(event->timerId());
-}
-
-void QSoundEffectPrivate::stream_write_callback(pa_stream *s, size_t length, void *userdata)
+void QSoundEffectPrivate::uploadSample()
{
- Q_UNUSED(length);
-
- QSoundEffectPrivate *self = reinterpret_cast<QSoundEffectPrivate*>(userdata);
+ daemon()->lock();
- size_t bufferSize = qMin(pa_stream_writable_size(s),
- size_t(self->m_waveDecoder->bytesAvailable()));
+ size_t bufferSize = qMin(pa_stream_writable_size(m_pulseStream),
+ size_t(m_waveDecoder->bytesAvailable()));
char buffer[bufferSize];
size_t len = 0;
- while (len < length) {
- qint64 read = self->m_waveDecoder->read(buffer, qMin(bufferSize, length -len));
+ while (len < (m_waveDecoder->size())) {
+ qint64 read = m_waveDecoder->read(buffer, qMin((int)bufferSize,
+ (int)(m_waveDecoder->size()-len)));
if (read > 0) {
- if (pa_stream_write(s, buffer, size_t(read), 0, 0, PA_SEEK_RELATIVE) == 0)
+ if (pa_stream_write(m_pulseStream, buffer, size_t(read), 0, 0, PA_SEEK_RELATIVE) == 0)
len += size_t(read);
else
break;
}
}
- self->m_dataUploaded += len;
- if (self->m_waveDecoder->size() == self->m_dataUploaded) {
- pa_stream_finish_upload(s);
+ m_dataUploaded += len;
+ pa_stream_set_write_callback(m_pulseStream, NULL, NULL);
+
+ if (m_waveDecoder->size() == m_dataUploaded) {
+ int err = pa_stream_finish_upload(m_pulseStream);
+ if(err != 0) {
+ qWarning("pa_stream_finish_upload() err=%d",err);
+ pa_stream_disconnect(m_pulseStream);
+ m_retry = true;
+ m_playQueued = false;
+ QMetaObject::invokeMethod(this, "play");
+ daemon()->unlock();
+ return;
+ }
+ m_duration = m_waveDecoder->duration();
+ m_waveDecoder->deleteLater();
+ m_stream->deleteLater();
+ m_sampleLoaded = true;
+ if (m_playQueued) {
+ m_playQueued = false;
+ QMetaObject::invokeMethod(this, "play");
+ }
+ }
+ daemon()->unlock();
+}
+
+void QSoundEffectPrivate::playSample()
+{
+ pa_volume_t volume = PA_VOLUME_NORM;
- self->m_duration = self->m_waveDecoder->duration();
- emit self->durationChanged(self->m_duration);
+ daemon()->lock();
+#ifdef Q_WS_MAEMO_5
+ volume = PA_VOLUME_NORM / 100 * ((daemon()->volume() + m_volume) / 2);
+#endif
+ pa_operation_unref(
+ pa_context_play_sample(daemon()->context(),
+ m_name.constData(),
+ 0,
+ volume,
+ play_callback,
+ this)
+ );
+ daemon()->unlock();
- self->m_status = QMediaPlayer::BufferedMedia;
- emit self->mediaStatusChanged(self->m_status);
+ m_playbackTime.start();
+}
- self->m_waveDecoder->deleteLater();
- if (!self->m_media.isNull())
- self->m_stream->deleteLater();
+void QSoundEffectPrivate::timerEvent(QTimerEvent *event)
+{
+ if (m_runningCount > 0)
+ playSample();
- if (self->m_playQueued) {
- self->m_playQueued = false;
- QMetaObject::invokeMethod(self, "play");
- }
- }
+ killTimer(event->timerId());
}
-void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata)
+void QSoundEffectPrivate::stream_write_callback(pa_stream *s, size_t length, void *userdata)
{
+ Q_UNUSED(length);
+
QSoundEffectPrivate *self = reinterpret_cast<QSoundEffectPrivate*>(userdata);
+ QMetaObject::invokeMethod(self, "uploadSample", Qt::QueuedConnection);
+}
+
+void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata)
+{
switch (pa_stream_get_state(s)) {
case PA_STREAM_CREATING:
case PA_STREAM_READY:
@@ -482,8 +479,7 @@ void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata)
case PA_STREAM_FAILED:
default:
- self->m_status = QMediaPlayer::InvalidMedia;
- emit self->mediaStatusChanged(self->m_status);
+ qWarning("QSoundEffect(pulseaudio): Error in pulse audio stream");
break;
}
}
@@ -494,11 +490,10 @@ void QSoundEffectPrivate::play_callback(pa_context *c, int success, void *userda
QSoundEffectPrivate *self = reinterpret_cast<QSoundEffectPrivate*>(userdata);
- if (success == 1)
+ if (success == 1) {
+ self->m_runningCount--;
QMetaObject::invokeMethod(self, "checkPlayTime", Qt::QueuedConnection);
- else {
- self->m_state = QMediaPlayer::StoppedState;
- emit self->stateChanged(self->m_state);
}
}
+QT_END_NAMESPACE
diff --git a/src/multimedia/qml/qsoundeffect_pulse_p.h b/src/multimedia/effects/qsoundeffect_pulse_p.h
index 247f8a3e3f..aff729c8ae 100644
--- a/src/multimedia/qml/qsoundeffect_pulse_p.h
+++ b/src/multimedia/effects/qsoundeffect_pulse_p.h
@@ -77,37 +77,32 @@ public:
explicit QSoundEffectPrivate(QObject* parent);
~QSoundEffectPrivate();
- qint64 duration() const;
+ QUrl source() const;
+ void setSource(const QUrl &url);
+ int loopCount() const;
+ void setLoopCount(int loopCount);
int volume() const;
+ void setVolume(int volume);
bool isMuted() const;
- QMediaContent media() const;
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
+ void setMuted(bool muted);
public Q_SLOTS:
void play();
- void stop();
- void setVolume(int volume);
- void setMuted(bool muted);
- void setMedia(const QMediaContent &media);
Q_SIGNALS:
- void mediaChanged(const QMediaContent &media);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void stateChanged(QMediaPlayer::State newState);
- void durationChanged(qint64 duration);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void error(QMediaPlayer::Error error);
-
-private slots:
+ void volumeChanged();
+ void mutedChanged();
+
+private Q_SLOTS:
void decoderReady();
void decoderError();
void checkPlayTime();
+ void uploadSample();
private:
void loadSample();
void unloadSample();
+ void playSample();
void timerEvent(QTimerEvent *event);
@@ -115,16 +110,20 @@ private:
static void stream_state_callback(pa_stream *s, void *userdata);
static void play_callback(pa_context *c, int success, void *userdata);
+ pa_stream *m_pulseStream;
+
+ bool m_retry;
bool m_muted;
bool m_playQueued;
- int m_vol;
+ bool m_sampleLoaded;
+ int m_volume;
int m_duration;
int m_dataUploaded;
+ int m_loopCount;
+ int m_runningCount;
+ QUrl m_source;
QTime m_playbackTime;
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_status;
QByteArray m_name;
- QMediaContent m_media;
QNetworkReply *m_reply;
WaveDecoder *m_waveDecoder;
QIODevice *m_stream;
diff --git a/src/multimedia/qml/qsoundeffect_qmedia_p.cpp b/src/multimedia/effects/qsoundeffect_qmedia_p.cpp
index 886380a482..36c36dd317 100644
--- a/src/multimedia/qml/qsoundeffect_qmedia_p.cpp
+++ b/src/multimedia/effects/qsoundeffect_qmedia_p.cpp
@@ -50,114 +50,83 @@
// We mean it.
//
+#include "qsoundeffect_qmedia_p.h"
+
#include <QtCore/qcoreapplication.h>
-#include "qmediacontent.h"
-#include "qmediaplayer.h"
+#include <QtMultimedia/qmediacontent.h>
+#include <QtMultimedia/qmediaplayer.h>
-#include "qsoundeffect_p.h"
-#include "qsoundeffect_qmedia_p.h"
+QT_BEGIN_NAMESPACE
QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
QObject(parent),
- m_muted(false),
- m_vol(100),
+ m_loopCount(1),
+ m_runningCount(0),
m_player(0)
{
+ m_player = new QMediaPlayer(this, QMediaPlayer::LowLatency);
+ connect(m_player, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(stateChanged(QMediaPlayer::State)));
}
QSoundEffectPrivate::~QSoundEffectPrivate()
{
- if (m_player) delete m_player;
}
-qint64 QSoundEffectPrivate::duration() const
+QUrl QSoundEffectPrivate::source() const
{
- if (m_player) return m_player->duration();
-
- return 0;
+ return m_player->media().canonicalUrl();
}
-int QSoundEffectPrivate::volume() const
+void QSoundEffectPrivate::setSource(const QUrl &url)
{
- if (m_player) return m_player->volume();
-
- return m_vol;
+ m_player->setMedia(url);
}
-bool QSoundEffectPrivate::isMuted() const
+int QSoundEffectPrivate::loopCount() const
{
- if (m_player) return m_player->isMuted();
-
- return m_muted;
-}
-
-QMediaContent QSoundEffectPrivate::media() const
-{
- if (m_player) return m_player->media();
-
- return QMediaContent();
+ return m_loopCount;
}
-QMediaPlayer::State QSoundEffectPrivate::state() const
+void QSoundEffectPrivate::setLoopCount(int loopCount)
{
- if (m_player) return m_player->state();
-
- return QMediaPlayer::StoppedState;
+ m_loopCount = loopCount;
}
-QMediaPlayer::MediaStatus QSoundEffectPrivate::mediaStatus() const
+int QSoundEffectPrivate::volume() const
{
- if (m_player) return m_player->mediaStatus();
-
- return QMediaPlayer::UnknownMediaStatus;
+ return m_player->volume();
}
-void QSoundEffectPrivate::play()
+void QSoundEffectPrivate::setVolume(int volume)
{
- if (m_player && !m_player->isMuted())
- m_player->play();
+ m_player->setVolume(volume);
}
-void QSoundEffectPrivate::stop()
+bool QSoundEffectPrivate::isMuted() const
{
- if (m_player)
- m_player->stop();
+ return m_player->isMuted();
}
-void QSoundEffectPrivate::setVolume(int volume)
+void QSoundEffectPrivate::setMuted(bool muted)
{
- m_vol = volume;
-
- if (m_player)
- m_player->setVolume(volume);
+ m_player->setMuted(muted);
}
-void QSoundEffectPrivate::setMuted(bool muted)
+void QSoundEffectPrivate::play()
{
- m_muted = muted;
-
- if (m_player)
- m_player->setMuted(muted);
+ m_runningCount += m_loopCount;
+ m_player->play();
}
-void QSoundEffectPrivate::setMedia(const QMediaContent &media)
+void QSoundEffectPrivate::stateChanged(QMediaPlayer::State state)
{
- if (media.isNull())
- return;
-
- if (m_player == 0) {
- m_player = new QMediaPlayer(this, QMediaPlayer::LowLatency);
- m_player->setVolume(m_vol);
- m_player->setMuted(m_muted);
-
- connect(m_player, SIGNAL(volumeChanged(int)), SIGNAL(volumeChanged(int)));
- connect(m_player, SIGNAL(mutedChanged(bool)), SIGNAL(mutedChanged(bool)));
- connect(m_player, SIGNAL(durationChanged(qint64)), SIGNAL(durationChanged(qint64)));
- connect(m_player, SIGNAL(stateChanged(QMediaPlayer::State)), SIGNAL(stateChanged(QMediaPlayer::State)));
+ if (state == QMediaPlayer::StoppedState) {
+ if (--m_runningCount > 0)
+ m_player->play();
}
-
- m_player->setMedia(media.canonicalUrl());
}
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/qml/qsoundeffect_qmedia_p.h b/src/multimedia/effects/qsoundeffect_qmedia_p.h
index 8267f797a4..6ad9d79abb 100644
--- a/src/multimedia/qml/qsoundeffect_qmedia_p.h
+++ b/src/multimedia/effects/qsoundeffect_qmedia_p.h
@@ -57,14 +57,12 @@
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
#include <QtMultimedia/qmediaplayer.h>
-#include "qsoundeffect_p.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class WaveDecoder;
class QSoundEffectPrivate : public QObject
{
@@ -73,32 +71,28 @@ public:
explicit QSoundEffectPrivate(QObject* parent);
~QSoundEffectPrivate();
- qint64 duration() const;
+ QUrl source() const;
+ void setSource(const QUrl &url);
+ int loopCount() const;
+ void setLoopCount(int loopCount);
int volume() const;
+ void setVolume(int volume);
bool isMuted() const;
- QMediaContent media() const;
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
+ void setMuted(bool muted);
public Q_SLOTS:
void play();
- void stop();
- void setVolume(int volume);
- void setMuted(bool muted);
- void setMedia(const QMediaContent &media);
Q_SIGNALS:
- void mediaChanged(const QMediaContent &media);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void stateChanged(QMediaPlayer::State newState);
- void durationChanged(qint64 duration);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void error(QMediaPlayer::Error error);
+ void volumeChanged();
+ void mutedChanged();
+
+private Q_SLOTS:
+ void stateChanged(QMediaPlayer::State);
private:
- bool m_muted;
- int m_vol;
+ int m_loopCount;
+ int m_runningCount;
QMediaPlayer *m_player;
};
diff --git a/src/multimedia/effects/qsoundeffect_qsound_p.cpp b/src/multimedia/effects/qsoundeffect_qsound_p.cpp
new file mode 100644
index 0000000000..ff30f67d06
--- /dev/null
+++ b/src/multimedia/effects/qsoundeffect_qsound_p.cpp
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia 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.
+**
+** 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$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qsoundeffect_qsound_p.h"
+
+#include <QtCore/qcoreapplication.h>
+#include <QtGui/qsound.h>
+
+
+QT_BEGIN_NAMESPACE
+
+QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
+ QObject(parent),
+ m_muted(false),
+ m_loopCount(1),
+ m_volume(100),
+ m_sound(0)
+{
+}
+
+QSoundEffectPrivate::~QSoundEffectPrivate()
+{
+}
+
+QUrl QSoundEffectPrivate::source() const
+{
+ return m_source;
+}
+
+void QSoundEffectPrivate::setSource(const QUrl &url)
+{
+ if (url.isEmpty() || url.scheme() != QLatin1String("file")) {
+ m_source = QUrl();
+ return;
+ }
+
+ if (m_sound != 0)
+ delete m_sound;
+
+ m_source = url;
+ m_sound = new QSound(m_source.toLocalFile(), this);
+ m_sound->setLoops(m_loopCount);
+}
+
+int QSoundEffectPrivate::loopCount() const
+{
+ return m_loopCount;
+}
+
+void QSoundEffectPrivate::setLoopCount(int lc)
+{
+ m_loopCount = lc;
+ if (m_sound)
+ m_sound->setLoops(lc);
+}
+
+int QSoundEffectPrivate::volume() const
+{
+ return m_volume;
+}
+
+void QSoundEffectPrivate::setVolume(int v)
+{
+ m_volume = v;
+}
+
+bool QSoundEffectPrivate::isMuted() const
+{
+ return m_muted;
+}
+
+void QSoundEffectPrivate::setMuted(bool muted)
+{
+ m_muted = muted;
+}
+
+void QSoundEffectPrivate::play()
+{
+ m_sound->play();
+}
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/qml/qsoundeffect_qsound_p.h b/src/multimedia/effects/qsoundeffect_qsound_p.h
index 45c08884a4..6fb3cfa004 100644
--- a/src/multimedia/qml/qsoundeffect_qsound_p.h
+++ b/src/multimedia/effects/qsoundeffect_qsound_p.h
@@ -55,20 +55,14 @@
#include <QtCore/qobject.h>
-#include <QtCore/qdatetime.h>
-#include <QtMultimedia/qmediaplayer.h>
-
-#include "qsoundeffect_p.h"
+#include <QtCore/qurl.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class QTimer;
class QSound;
-class QFile;
-class WaveDecoder;
class QSoundEffectPrivate : public QObject
{
@@ -77,49 +71,28 @@ public:
explicit QSoundEffectPrivate(QObject* parent);
~QSoundEffectPrivate();
- qint64 duration() const;
+ QUrl source() const;
+ void setSource(const QUrl &url);
+ int loopCount() const;
+ void setLoopCount(int loopCount);
int volume() const;
+ void setVolume(int volume);
bool isMuted() const;
- QMediaContent media() const;
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
+ void setMuted(bool muted);
public Q_SLOTS:
void play();
- void stop();
- void setVolume(int volume);
- void setMuted(bool muted);
- void setMedia(const QMediaContent &media);
Q_SIGNALS:
- void mediaChanged(const QMediaContent &media);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void stateChanged(QMediaPlayer::State newState);
- void durationChanged(qint64 duration);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void error(QMediaPlayer::Error error);
-
-private slots:
- void decoderReady();
- void decoderError();
- void checkPlayTime();
+ void volumeChanged();
+ void mutedChanged();
private:
- void loadSample();
- void unloadSample();
-
- bool m_queued;
- bool m_muted;
- QTime m_playbackTime;
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_status;
- QFile *m_file;
- QByteArray m_name;
- QMediaContent m_media;
- WaveDecoder *m_waveDecoder;
+ bool m_muted;
+ int m_loopCount;
+ int m_volume;
QSound *m_sound;
- QTimer *m_timer;
+ QUrl m_source;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/qml/wavedecoder_p.cpp b/src/multimedia/effects/wavedecoder_p.cpp
index b7d61012da..b534ded192 100644
--- a/src/multimedia/qml/wavedecoder_p.cpp
+++ b/src/multimedia/effects/wavedecoder_p.cpp
@@ -55,7 +55,7 @@ WaveDecoder::WaveDecoder(QIODevice *s, QObject *parent):
{
open(QIODevice::ReadOnly | QIODevice::Unbuffered);
- if (source->bytesAvailable() >= sizeof(CombinedHeader))
+ if (source->bytesAvailable() >= qint64(sizeof(CombinedHeader) + sizeof(DATAHeader) + sizeof(quint16)))
QTimer::singleShot(0, this, SLOT(handleData()));
else
connect(source, SIGNAL(readyRead()), SLOT(handleData()));
@@ -105,7 +105,7 @@ qint64 WaveDecoder::writeData(const char *data, qint64 len)
void WaveDecoder::handleData()
{
- if (source->bytesAvailable() < sizeof(CombinedHeader))
+ if (source->bytesAvailable() < qint64(sizeof(CombinedHeader) + sizeof(DATAHeader) + sizeof(quint16)))
return;
source->disconnect(SIGNAL(readyRead()), this, SLOT(handleData()));
@@ -114,22 +114,33 @@ void WaveDecoder::handleData()
if (qstrncmp(header.riff.descriptor.id, "RIFF", 4) != 0 ||
qstrncmp(header.riff.type, "WAVE", 4) != 0 ||
qstrncmp(header.wave.descriptor.id, "fmt ", 4) != 0 ||
- (header.wave.audioFormat != 0 && header.wave.audioFormat != 1) ||
- qstrncmp(header.data.descriptor.id, "data", 4) != 0) {
+ (header.wave.audioFormat != 0 && header.wave.audioFormat != 1)) {
emit invalidFormat();
}
else {
+ DATAHeader dataHeader;
+
+ if (qFromLittleEndian<quint32>(header.wave.descriptor.size) > sizeof(WAVEHeader)) {
+ // Extended data available
+ quint16 extraFormatBytes;
+ source->peek((char*)&extraFormatBytes, sizeof(quint16));
+ extraFormatBytes = qFromLittleEndian<quint16>(extraFormatBytes);
+ source->read(sizeof(quint16) + extraFormatBytes); // dump it all
+ }
+
+ source->read((char*)&dataHeader, sizeof(DATAHeader));
+
int bps = qFromLittleEndian<quint16>(header.wave.bitsPerSample);
- format.setCodec("audio/pcm");
+ format.setCodec(QLatin1String("audio/pcm"));
format.setSampleType(bps == 8 ? QAudioFormat::UnSignedInt : QAudioFormat::SignedInt);
format.setByteOrder(QAudioFormat::LittleEndian);
format.setFrequency(qFromLittleEndian<quint32>(header.wave.sampleRate));
format.setSampleSize(bps);
format.setChannels(qFromLittleEndian<quint16>(header.wave.numChannels));
- dataSize = qFromLittleEndian<quint32>(header.data.descriptor.size);
+ dataSize = qFromLittleEndian<quint32>(dataHeader.descriptor.size);
haveFormat = true;
connect(source, SIGNAL(readyRead()), SIGNAL(readyRead()));
diff --git a/src/multimedia/qml/wavedecoder_p.h b/src/multimedia/effects/wavedecoder_p.h
index 00aa14ed98..c1892bb49d 100644
--- a/src/multimedia/qml/wavedecoder_p.h
+++ b/src/multimedia/effects/wavedecoder_p.h
@@ -77,11 +77,11 @@ public:
bool isSequential() const;
qint64 bytesAvailable() const;
-signals:
+Q_SIGNALS:
void formatKnown();
void invalidFormat();
-private slots:
+private Q_SLOTS:
void handleData();
private:
@@ -116,7 +116,6 @@ private:
{
RIFFHeader riff;
WAVEHeader wave;
- DATAHeader data;
};
bool haveFormat;
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index 106d3ab13e..500aff71ce 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -12,6 +12,6 @@ include(audio/audio.pri)
include(video/video.pri)
include(base/base.pri)
include(playback/playback.pri)
-include(qml/qml.pri)
+include(effects/effects.pri)
symbian: TARGET.UID3 = 0x2001E627
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 27bff0240a..9466cad3ca 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -43,6 +43,7 @@
#include <QtCore/qmetaobject.h>
#include <QtCore/qtimer.h>
#include <QtCore/qpointer.h>
+#include <QtCore/qdebug.h>
#include <QtMultimedia/qmediaplayer.h>
@@ -55,6 +56,7 @@
#include <QtMultimedia/qvideowidget.h>
#include <QtMultimedia/qgraphicsvideoitem.h>
+//#define DEBUG_PLAYER_STATE
QT_BEGIN_HEADER
@@ -152,10 +154,16 @@ public:
void _q_playlistDestroyed();
};
+#define ENUM_NAME(c,e,v) (c::staticMetaObject.enumerator(c::staticMetaObject.indexOfEnumerator(e)).valueToKey((v)))
+
void QMediaPlayerPrivate::_q_stateChanged(QMediaPlayer::State ps)
{
Q_Q(QMediaPlayer);
+#ifdef DEBUG_PLAYER_STATE
+ qDebug() << "State changed:" << ENUM_NAME(QMediaPlayer, "State", ps) << (filterStates ? "(filtered)" : "");
+#endif
+
if (filterStates)
return;
@@ -183,6 +191,10 @@ void QMediaPlayerPrivate::_q_mediaStatusChanged(QMediaPlayer::MediaStatus status
{
Q_Q(QMediaPlayer);
+#ifdef DEBUG_PLAYER_STATE
+ qDebug() << "MediaStatus changed:" << ENUM_NAME(QMediaPlayer, "MediaStatus", status);
+#endif
+
switch (status) {
case QMediaPlayer::StalledMedia:
case QMediaPlayer::BufferingMedia:
@@ -230,8 +242,12 @@ void QMediaPlayerPrivate::_q_updateMedia(const QMediaContent &media)
state = control->state();
- if (state != currentState)
+ if (state != currentState) {
+#ifdef DEBUG_PLAYER_STATE
+ qDebug() << "State changed:" << ENUM_NAME(QMediaPlayer, "State", state);
+#endif
emit q_func()->stateChanged(state);
+ }
}
void QMediaPlayerPrivate::_q_playlistDestroyed()
@@ -243,10 +259,17 @@ void QMediaPlayerPrivate::_q_playlistDestroyed()
static QMediaService *playerService(QMediaPlayer::Flags flags, QMediaServiceProvider *provider)
{
- if (flags && QMediaPlayer::LowLatency)
+ if (flags) {
+ QMediaServiceProviderHint::Features features = 0;
+ if (flags & QMediaPlayer::LowLatency)
+ features |= QMediaServiceProviderHint::LowLatencyPlayback;
+
+ if (flags & QMediaPlayer::StreamPlayback)
+ features |= QMediaServiceProviderHint::StreamPlayback;
+
return provider->requestService(Q_MEDIASERVICE_MEDIAPLAYER,
- QMediaServiceProviderHint(QMediaServiceProviderHint::LowLatencyPlayback));
- else
+ QMediaServiceProviderHint(features));
+ } else
return provider->requestService(Q_MEDIASERVICE_MEDIAPLAYER);
}
@@ -945,6 +968,11 @@ QStringList QMediaPlayer::supportedMimeTypes(Flags flags)
The player is expected to be used with simple audio formats,
but playback should start without significant delay.
Such playback service can be used for beeps, ringtones, etc.
+
+ \value StreamPlayback
+ The player is expected to play QIODevice based streams.
+ If passed to QMediaPlayer constructor, the service supporting
+ streams playback will be choosen.
*/
QT_END_NAMESPACE
diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h
index 1b761ce576..129b24453c 100644
--- a/src/multimedia/playback/qmediaplayer.h
+++ b/src/multimedia/playback/qmediaplayer.h
@@ -99,7 +99,8 @@ public:
enum Flag
{
- LowLatency = 0x01
+ LowLatency = 0x01,
+ StreamPlayback = 0x02
};
Q_DECLARE_FLAGS(Flags, Flag)
diff --git a/src/multimedia/qml/qml.pri b/src/multimedia/qml/qml.pri
deleted file mode 100644
index d0ff71d8f4..0000000000
--- a/src/multimedia/qml/qml.pri
+++ /dev/null
@@ -1,37 +0,0 @@
-
-contains(QT_CONFIG, declarative) {
- QT += declarative
-
- system(pkg-config --exists \'libpulse >= 0.9.10\') {
- DEFINES += QT_MULTIMEDIA_PULSEAUDIO
- HEADERS += $$PWD/qsoundeffect_pulse_p.h
- SOURCES += $$PWD/qsoundeffect_pulse_p.cpp
- LIBS += -lpulse
- } else:x11 {
- DEFINES += QT_MULTIMEDIA_QMEDIAPLAYER
- HEADERS += $$PWD/qsoundeffect_qmedia_p.h
- SOURCES += $$PWD/qsoundeffect_qmedia_p.cpp
- } else {
- HEADERS += $$PWD/qsoundeffect_qsound_p.h
- SOURCES += $$PWD/qsoundeffect_qsound_p.cpp
- }
-
- HEADERS += \
- $$PWD/multimediadeclarative.h \
- $$PWD/qmetadatacontrolmetaobject_p.h \
- $$PWD/qdeclarativeaudio_p.h \
- $$PWD/qdeclarativevideo_p.h \
- $$PWD/qdeclarativemediabase_p.h \
- $$PWD/qsoundeffect_p.h \
- $$PWD/wavedecoder_p.h
-
- SOURCES += \
- $$PWD/multimediadeclarative.cpp \
- $$PWD/qmetadatacontrolmetaobject.cpp \
- $$PWD/qdeclarativeaudio.cpp \
- $$PWD/qdeclarativevideo.cpp \
- $$PWD/qdeclarativemediabase.cpp \
- $$PWD/qsoundeffect.cpp \
- $$PWD/wavedecoder_p.cpp
-}
-
diff --git a/src/multimedia/qml/qsoundeffect_qsound_p.cpp b/src/multimedia/qml/qsoundeffect_qsound_p.cpp
deleted file mode 100644
index 0292d2608c..0000000000
--- a/src/multimedia/qml/qsoundeffect_qsound_p.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia 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.
-**
-** 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$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qtimer.h>
-#include <QtCore/qfile.h>
-#include <QtGui/qsound.h>
-#include <QtMultimedia/qaudioformat.h>
-#include <QDebug>
-
-#include "qmediacontent.h"
-#include "qmediaplayer.h"
-#include "qsoundeffect_p.h"
-
-#include "wavedecoder_p.h"
-
-#include "qsoundeffect_qsound_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
- QObject(parent),
- m_queued(false),
- m_muted(false),
- m_state(QMediaPlayer::StoppedState),
- m_status(QMediaPlayer::NoMedia),
- m_file(0),
- m_sound(0)
-{
- m_timer = new QTimer(this);
- connect(m_timer,SIGNAL(timeout()),SLOT(checkPlayTime()));
- m_media = QMediaContent();
-}
-
-QSoundEffectPrivate::~QSoundEffectPrivate()
-{
- if (m_sound) delete m_sound;
- if (m_waveDecoder) delete m_waveDecoder;
- m_file->close();
-}
-
-qint64 QSoundEffectPrivate::duration() const
-{
- if (m_waveDecoder)
- return m_waveDecoder->size();
-
- return 0;
-}
-
-int QSoundEffectPrivate::volume() const
-{
- return 100;
-}
-
-bool QSoundEffectPrivate::isMuted() const
-{
- return m_muted;
-}
-
-QMediaContent QSoundEffectPrivate::media() const
-{
- return m_media;
-}
-
-QMediaPlayer::State QSoundEffectPrivate::state() const
-{
- return m_state;
-}
-
-QMediaPlayer::MediaStatus QSoundEffectPrivate::mediaStatus() const
-{
- return m_status;
-}
-
-void QSoundEffectPrivate::play()
-{
- if (m_sound && !m_muted) {
- m_queued = false;
- m_timer->start(20);
- m_playbackTime.start();
- m_sound->play();
- emit stateChanged(m_state = QMediaPlayer::PlayingState);
- } else if (m_status == QMediaPlayer::LoadingMedia)
- m_queued = true;
-}
-
-void QSoundEffectPrivate::stop()
-{
- m_timer->stop();
-
- if (m_sound) {
- m_sound->stop();
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- }
-}
-
-void QSoundEffectPrivate::setVolume(int volume)
-{
- Q_UNUSED(volume)
-}
-
-void QSoundEffectPrivate::setMuted(bool muted)
-{
- m_muted = muted;
-}
-
-void QSoundEffectPrivate::setMedia(const QMediaContent &media)
-{
- m_queued = false;
-
- if (media.isNull() || media.canonicalUrl().scheme() != "file") {
- m_media = QMediaContent();
- return;
- }
- if (m_media == media)
- return;
-
- m_media = media;
- m_file = new QFile(m_media.canonicalUrl().toLocalFile());
- m_file->open(QIODevice::ReadOnly|QIODevice::Unbuffered);
-
- unloadSample();
- loadSample();
-
- emit mediaChanged(m_media);
-}
-
-void QSoundEffectPrivate::decoderReady()
-{
- m_file->close();
- m_sound = new QSound(m_media.canonicalUrl().toLocalFile());
- emit mediaStatusChanged(m_status = QMediaPlayer::LoadedMedia);
-
- if (m_queued)
- play();
-}
-
-void QSoundEffectPrivate::decoderError()
-{
- m_file->close();
- emit mediaStatusChanged(m_status = QMediaPlayer::InvalidMedia);
-}
-
-void QSoundEffectPrivate::checkPlayTime()
-{
- if (m_sound->isFinished()) {
- m_timer->stop();
- m_state = QMediaPlayer::StoppedState;
- emit stateChanged(m_state);
- }
-}
-
-void QSoundEffectPrivate::loadSample()
-{
- m_waveDecoder = new WaveDecoder(m_file);
- connect(m_waveDecoder, SIGNAL(formatKnown()), SLOT(decoderReady()));
- connect(m_waveDecoder, SIGNAL(invalidFormat()), SLOT(decoderError()));
-
- m_status = QMediaPlayer::LoadingMedia;
- emit mediaStatusChanged(m_status);
-}
-
-void QSoundEffectPrivate::unloadSample()
-{
- if (m_sound == 0)
- return;
-
- m_status = QMediaPlayer::NoMedia;
-
- if (m_sound)
- delete m_sound;
-
- m_sound = 0;
-}
-
-QT_END_NAMESPACE
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index e92b2f30ee..806452c18d 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -681,7 +681,11 @@ void QHttpNetworkConnectionChannel::requeueCurrentlyPipelinedRequests()
connection->d_func()->requeueRequest(alreadyPipelinedRequests.at(i));
alreadyPipelinedRequests.clear();
- QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
+ // only run when the QHttpNetworkConnection is not currently being destructed, e.g.
+ // this function is called from _q_disconnected which is called because
+ // of ~QHttpNetworkConnectionPrivate
+ if (qobject_cast<QHttpNetworkConnection*>(connection))
+ QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
}
void QHttpNetworkConnectionChannel::eatWhitespace()
diff --git a/src/network/access/qnetworkaccessdatabackend.cpp b/src/network/access/qnetworkaccessdatabackend.cpp
index a2e7ef5654..efb6e3ef26 100644
--- a/src/network/access/qnetworkaccessdatabackend.cpp
+++ b/src/network/access/qnetworkaccessdatabackend.cpp
@@ -44,6 +44,7 @@
#include "qnetworkreply.h"
#include "qurlinfo.h"
#include "private/qdataurl_p.h"
+#include <qcoreapplication.h>
QT_BEGIN_NAMESPACE
@@ -72,7 +73,8 @@ void QNetworkAccessDataBackend::open()
if (operation() != QNetworkAccessManager::GetOperation &&
operation() != QNetworkAccessManager::HeadOperation) {
// data: doesn't support anything but GET
- QString msg = QObject::tr("Operation not supported on %1")
+ const QString msg = QCoreApplication::translate("QNetworkAccessDataBackend",
+ "Operation not supported on %1")
.arg(uri.toString());
error(QNetworkReply::ContentOperationNotPermittedError, msg);
finished();
@@ -96,7 +98,8 @@ void QNetworkAccessDataBackend::open()
}
// something wrong with this URI
- QString msg = QObject::tr("Invalid URI: %1").arg(uri.toString());
+ const QString msg = QCoreApplication::translate("QNetworkAccessDataBackend",
+ "Invalid URI: %1").arg(uri.toString());
error(QNetworkReply::ProtocolFailure, msg);
finished();
}
diff --git a/src/network/access/qnetworkaccessdebugpipebackend.cpp b/src/network/access/qnetworkaccessdebugpipebackend.cpp
index 5926d0b5d6..cd077e7056 100644
--- a/src/network/access/qnetworkaccessdebugpipebackend.cpp
+++ b/src/network/access/qnetworkaccessdebugpipebackend.cpp
@@ -252,7 +252,7 @@ void QNetworkAccessDebugPipeBackend::socketError()
break;
}
- error(code, QObject::tr("Socket error on %1: %2")
+ error(code, QNetworkAccessDebugPipeBackend::tr("Socket error on %1: %2")
.arg(url().toString(), socket.errorString()));
finished();
disconnect(&socket, SIGNAL(disconnected()), this, SLOT(socketDisconnected()));
@@ -267,7 +267,7 @@ void QNetworkAccessDebugPipeBackend::socketDisconnected()
// normal close
} else {
// abnormal close
- QString msg = QObject::tr("Remote host closed the connection prematurely on %1")
+ QString msg = QNetworkAccessDebugPipeBackend::tr("Remote host closed the connection prematurely on %1")
.arg(url().toString());
error(QNetworkReply::RemoteHostClosedError, msg);
finished();
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index 5876ee249a..7bb1399618 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -880,11 +880,16 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
return new QDisabledNetworkReply(this, req, op);
}
- if (d->initializeSession && !d->networkSession) {
+ if (!d->networkSession && (d->initializeSession || !d->networkConfiguration.isEmpty())) {
QNetworkConfigurationManager manager;
- d->createSession(manager.defaultConfiguration());
+ if (d->networkConfiguration.isEmpty())
+ d->createSession(manager.defaultConfiguration());
+ else
+ d->createSession(manager.configurationFromIdentifier(d->networkConfiguration));
d->initializeSession = false;
+ } else if (d->networkSession) {
+ d->networkSession->setSessionProperty(QLatin1String("AutoCloseSessionTimeout"), -1);
}
QNetworkRequest request = req;
@@ -943,6 +948,9 @@ void QNetworkAccessManagerPrivate::_q_replyFinished()
QNetworkReply *reply = qobject_cast<QNetworkReply *>(q->sender());
if (reply)
emit q->finished(reply);
+
+ if (networkSession && q->findChildren<QNetworkReply *>().count() == 1)
+ networkSession->setSessionProperty(QLatin1String("AutoCloseSessionTimeout"), 120000);
}
void QNetworkAccessManagerPrivate::_q_replySslErrors(const QList<QSslError> &errors)
@@ -1210,6 +1218,7 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co
networkSession = new QNetworkSession(config, q);
QObject::connect(networkSession, SIGNAL(opened()), q, SIGNAL(networkSessionOnline()));
+ QObject::connect(networkSession, SIGNAL(closed()), q, SLOT(_q_networkSessionClosed()));
QObject::connect(networkSession, SIGNAL(newConfigurationActivated()),
q, SLOT(_q_networkSessionNewConfigurationActivated()));
QObject::connect(networkSession,
@@ -1218,6 +1227,14 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co
SLOT(_q_networkSessionPreferredConfigurationChanged(QNetworkConfiguration,bool)));
}
+void QNetworkAccessManagerPrivate::_q_networkSessionClosed()
+{
+ networkConfiguration = networkSession->configuration().identifier();
+
+ delete networkSession;
+ networkSession = 0;
+}
+
void QNetworkAccessManagerPrivate::_q_networkSessionNewConfigurationActivated()
{
Q_Q(QNetworkAccessManager);
diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h
index 252dfd0607..694a54fd22 100644
--- a/src/network/access/qnetworkaccessmanager.h
+++ b/src/network/access/qnetworkaccessmanager.h
@@ -139,6 +139,7 @@ private:
Q_DECLARE_PRIVATE(QNetworkAccessManager)
Q_PRIVATE_SLOT(d_func(), void _q_replyFinished())
Q_PRIVATE_SLOT(d_func(), void _q_replySslErrors(QList<QSslError>))
+ Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed())
Q_PRIVATE_SLOT(d_func(), void _q_networkSessionNewConfigurationActivated())
Q_PRIVATE_SLOT(d_func(), void _q_networkSessionPreferredConfigurationChanged(QNetworkConfiguration,bool))
};
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
index 8d772f0858..0140268b73 100644
--- a/src/network/access/qnetworkaccessmanager_p.h
+++ b/src/network/access/qnetworkaccessmanager_p.h
@@ -105,6 +105,7 @@ public:
void createSession(const QNetworkConfiguration &config);
+ void _q_networkSessionClosed();
void _q_networkSessionNewConfigurationActivated();
void _q_networkSessionPreferredConfigurationChanged(const QNetworkConfiguration &config,
bool isSeamless);
@@ -121,6 +122,7 @@ public:
#endif
QNetworkSession *networkSession;
+ QString networkConfiguration;
bool networkAccessEnabled;
bool initializeSession;
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 2175686a96..b201380d53 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -565,7 +565,7 @@ void QNetworkReplyImplPrivate::finished()
}
} else {
error(QNetworkReply::TemporaryNetworkFailureError,
- q->tr("Temporary network failure."));
+ QNetworkReply::tr("Temporary network failure."));
}
}
}
diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h
index ec413cca3b..b4fbd1ebd7 100644
--- a/src/network/access/qnetworkreplyimpl_p.h
+++ b/src/network/access/qnetworkreplyimpl_p.h
@@ -199,7 +199,7 @@ class QDisabledNetworkReply : public QNetworkReply
public:
QDisabledNetworkReply(QObject *parent, const QNetworkRequest &req,
- const QNetworkAccessManager::Operation op);
+ QNetworkAccessManager::Operation op);
~QDisabledNetworkReply();
void abort() { }
diff --git a/src/network/bearer/qbearerengine.cpp b/src/network/bearer/qbearerengine.cpp
index eb851ccb2d..c42e2d2e48 100644
--- a/src/network/bearer/qbearerengine.cpp
+++ b/src/network/bearer/qbearerengine.cpp
@@ -70,6 +70,44 @@ QBearerEngine::~QBearerEngine()
}
}
+bool QBearerEngine::requiresPolling() const
+{
+ return false;
+}
+
+/*
+ Returns true if configurations are in use; otherwise returns false.
+
+ If configurations are in use and requiresPolling() returns true, polling will be enabled for
+ this engine.
+*/
+bool QBearerEngine::configurationsInUse() const
+{
+ QHash<QString, QNetworkConfigurationPrivatePointer>::ConstIterator it;
+ QHash<QString, QNetworkConfigurationPrivatePointer>::ConstIterator end;
+
+ QMutexLocker locker(&mutex);
+
+ for (it = accessPointConfigurations.begin(),
+ end = accessPointConfigurations.end(); it != end; ++it) {
+ if (it.value()->ref > 1)
+ return true;
+ }
+
+ for (it = snapConfigurations.begin(), end = snapConfigurations.end(); it != end; ++it) {
+ if (it.value()->ref > 1)
+ return true;
+ }
+
+ for (it = userChoiceConfigurations.begin(),
+ end = userChoiceConfigurations.end(); it != end; ++it) {
+ if (it.value()->ref > 1)
+ return true;
+ }
+
+ return false;
+}
+
#include "moc_qbearerengine_p.cpp"
QT_END_NAMESPACE
diff --git a/src/network/bearer/qbearerengine_p.h b/src/network/bearer/qbearerengine_p.h
index 5e12b0fa7a..028c174eae 100644
--- a/src/network/bearer/qbearerengine_p.h
+++ b/src/network/bearer/qbearerengine_p.h
@@ -89,6 +89,9 @@ public:
virtual QNetworkConfigurationPrivatePointer defaultConfiguration() = 0;
+ virtual bool requiresPolling() const;
+ bool configurationsInUse() const;
+
Q_SIGNALS:
void configurationAdded(QNetworkConfigurationPrivatePointer config);
void configurationRemoved(QNetworkConfigurationPrivatePointer config);
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
index e960323859..b631cf15d4 100644
--- a/src/network/bearer/qnetworkconfigmanager.cpp
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
@@ -174,7 +174,8 @@ QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate()
QNetworkConfigurationManager::QNetworkConfigurationManager( QObject* parent )
: QObject(parent)
{
- QNetworkConfigurationManagerPrivate* priv = connManager();
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+
connect(priv, SIGNAL(configurationAdded(QNetworkConfiguration)),
this, SIGNAL(configurationAdded(QNetworkConfiguration)));
connect(priv, SIGNAL(configurationRemoved(QNetworkConfiguration)),
@@ -185,6 +186,8 @@ QNetworkConfigurationManager::QNetworkConfigurationManager( QObject* parent )
this, SIGNAL(onlineStateChanged(bool)));
connect(priv, SIGNAL(configurationChanged(QNetworkConfiguration)),
this, SIGNAL(configurationChanged(QNetworkConfiguration)));
+
+ priv->enablePolling();
}
/*!
@@ -192,6 +195,9 @@ QNetworkConfigurationManager::QNetworkConfigurationManager( QObject* parent )
*/
QNetworkConfigurationManager::~QNetworkConfigurationManager()
{
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+
+ priv->disablePolling();
}
@@ -221,7 +227,7 @@ QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
// Engines don't have a default configuration.
// Return first active snap
- QNetworkConfigurationPrivatePointer firstDiscovered;
+ QNetworkConfigurationPrivatePointer defaultConfiguration;
foreach (QBearerEngine *engine, conPriv->engines()) {
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator it;
@@ -236,22 +242,35 @@ QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
QNetworkConfiguration config;
config.d = it.value();
return config;
- } else if ((it.value()->state & QNetworkConfiguration::Discovered) ==
- QNetworkConfiguration::Discovered) {
- firstDiscovered = it.value();
+ } else if (!defaultConfiguration) {
+ if ((it.value()->state & QNetworkConfiguration::Discovered) ==
+ QNetworkConfiguration::Discovered) {
+ defaultConfiguration = it.value();
+ }
}
}
}
// No Active SNAPs return first Discovered SNAP.
- if (firstDiscovered) {
+ if (defaultConfiguration) {
QNetworkConfiguration config;
- config.d = firstDiscovered;
+ config.d = defaultConfiguration;
return config;
}
- // No Active or Discovered SNAPs, do same for InternetAccessPoints.
- firstDiscovered.reset();
+ /*
+ No Active or Discovered SNAPs, find the perferred access point.
+ The following priority order is used:
+
+ 1. Active Ethernet
+ 2. Active WLAN
+ 3. Active Other
+ 4. Discovered Ethernet
+ 5. Discovered WLAN
+ 6. Discovered Other
+ */
+
+ defaultConfiguration.reset();
foreach (QBearerEngine *engine, conPriv->engines()) {
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator it;
@@ -261,22 +280,42 @@ QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
for (it = engine->accessPointConfigurations.begin(),
end = engine->accessPointConfigurations.end(); it != end; ++it) {
- if ((it.value()->state & QNetworkConfiguration::Active) ==
- QNetworkConfiguration::Active) {
- QNetworkConfiguration config;
- config.d = it.value();
- return config;
- } else if ((it.value()->state & QNetworkConfiguration::Discovered) ==
- QNetworkConfiguration::Discovered) {
- firstDiscovered = it.value();
+
+ if ((it.value()->state & QNetworkConfiguration::Discovered) ==
+ QNetworkConfiguration::Discovered) {
+ if (!defaultConfiguration) {
+ defaultConfiguration = it.value();
+ } else {
+ if (defaultConfiguration->state == it.value()->state) {
+ if (defaultConfiguration->bearerName() == QLatin1String("Ethernet")) {
+ // do nothing
+ } else if (defaultConfiguration->bearerName() == QLatin1String("WLAN")) {
+ // ethernet beats wlan
+ if (it.value()->bearerName() == QLatin1String("Ethernet"))
+ defaultConfiguration = it.value();
+ } else {
+ // ethernet and wlan beats other
+ if (it.value()->bearerName() == QLatin1String("Ethernet") ||
+ it.value()->bearerName() == QLatin1String("WLAN")) {
+ defaultConfiguration = it.value();
+ }
+ }
+ } else {
+ // active beats discovered
+ if ((defaultConfiguration->state & QNetworkConfiguration::Active) !=
+ QNetworkConfiguration::Active) {
+ defaultConfiguration = it.value();
+ }
+ }
+ }
}
}
}
// No Active InternetAccessPoint return first Discovered InternetAccessPoint.
- if (firstDiscovered) {
+ if (defaultConfiguration) {
QNetworkConfiguration config;
- config.d = firstDiscovered;
+ config.d = defaultConfiguration;
return config;
}
@@ -302,6 +341,11 @@ QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
be used to update each configuration's state. Note that such an update may require
some time. It's completion is signalled by updateCompleted(). In the absence of a
configuration update this function returns the best estimate at the time of the call.
+ Therefore, if WLAN configurations are of interest, it is recommended that
+ updateConfigurations() is called once after QNetworkConfigurationManager
+ instantiation (WLAN scans are too time consuming to perform in constructor).
+ After this the data is kept automatically up-to-date as the system reports
+ any changes.
*/
QList<QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(QNetworkConfiguration::StateFlags filter) const
{
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index 1ac10c5c58..9740424bc6 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -55,7 +55,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QBearerEngineFactoryInterface_iid, QLatin1String("/bearer")))
QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate()
-: capFlags(0), mutex(QMutex::Recursive), firstUpdate(true)
+: capFlags(0), mutex(QMutex::Recursive), pollTimer(0), forcedPolling(0), firstUpdate(true)
{
updateConfigurations();
@@ -82,7 +82,7 @@ void QNetworkConfigurationManagerPrivate::configurationAdded(QNetworkConfigurati
}
if (ptr->state == QNetworkConfiguration::Active) {
- onlineConfigurations.insert(ptr);
+ onlineConfigurations.insert(ptr->id);
if (!firstUpdate && onlineConfigurations.count() == 1)
emit onlineStateChanged(true);
}
@@ -100,7 +100,7 @@ void QNetworkConfigurationManagerPrivate::configurationRemoved(QNetworkConfigura
emit configurationRemoved(item);
}
- onlineConfigurations.remove(ptr);
+ onlineConfigurations.remove(ptr->id);
if (!firstUpdate && onlineConfigurations.isEmpty())
emit onlineStateChanged(false);
}
@@ -118,9 +118,9 @@ void QNetworkConfigurationManagerPrivate::configurationChanged(QNetworkConfigura
bool previous = !onlineConfigurations.isEmpty();
if (ptr->state == QNetworkConfiguration::Active)
- onlineConfigurations.insert(ptr);
+ onlineConfigurations.insert(ptr->id);
else
- onlineConfigurations.remove(ptr);
+ onlineConfigurations.remove(ptr->id);
bool online = !onlineConfigurations.isEmpty();
@@ -133,6 +133,9 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
QMutexLocker locker(&mutex);
if (firstUpdate) {
+ if (sender())
+ return;
+
updating = false;
QFactoryLoader *l = loader();
@@ -161,6 +164,8 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
this, SLOT(configurationChanged(QNetworkConfigurationPrivatePointer)));
capFlags |= engine->capabilities();
+
+ engine->requestUpdate();
}
}
@@ -180,6 +185,15 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
emit configurationUpdateComplete();
}
+ if (engine && !pollingEngines.isEmpty()) {
+ int index = sessionEngines.indexOf(engine);
+ if (index >= 0)
+ pollingEngines.remove(index);
+
+ if (pollingEngines.isEmpty())
+ startPolling();
+ }
+
if (firstUpdate)
firstUpdate = false;
}
@@ -208,4 +222,70 @@ QList<QBearerEngine *> QNetworkConfigurationManagerPrivate::engines()
return sessionEngines;
}
+void QNetworkConfigurationManagerPrivate::startPolling()
+{
+ QMutexLocker locker(&mutex);
+
+ bool pollingRequired = false;
+
+ if (forcedPolling > 0) {
+ foreach (QBearerEngine *engine, sessionEngines) {
+ if (engine->requiresPolling()) {
+ pollingRequired = true;
+ break;
+ }
+ }
+ }
+
+ if (!pollingRequired) {
+ foreach (QBearerEngine *engine, sessionEngines) {
+ if (engine->configurationsInUse()) {
+ pollingRequired = true;
+ break;
+ }
+ }
+ }
+
+ if (pollingRequired) {
+ if (!pollTimer) {
+ pollTimer = new QTimer(this);
+ pollTimer->setInterval(10000);
+ pollTimer->setSingleShot(true);
+ connect(pollTimer, SIGNAL(timeout()), this, SLOT(pollEngines()));
+ }
+
+ pollTimer->start();
+ }
+}
+
+void QNetworkConfigurationManagerPrivate::pollEngines()
+{
+ QMutexLocker locker(&mutex);
+
+ for (int i = 0; i < sessionEngines.count(); ++i) {
+ if ((forcedPolling && sessionEngines.at(i)->requiresPolling()) ||
+ sessionEngines.at(i)->configurationsInUse()) {
+ pollingEngines.insert(i);
+ sessionEngines.at(i)->requestUpdate();
+ }
+ }
+}
+
+void QNetworkConfigurationManagerPrivate::enablePolling()
+{
+ QMutexLocker locker(&mutex);
+
+ ++forcedPolling;
+
+ if (forcedPolling == 1)
+ startPolling();
+}
+
+void QNetworkConfigurationManagerPrivate::disablePolling()
+{
+ QMutexLocker locker(&mutex);
+
+ --forcedPolling;
+}
+
QT_END_NAMESPACE
diff --git a/src/network/bearer/qnetworkconfigmanager_p.h b/src/network/bearer/qnetworkconfigmanager_p.h
index c7e988ef35..ac8518c2e3 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.h
+++ b/src/network/bearer/qnetworkconfigmanager_p.h
@@ -61,6 +61,7 @@
QT_BEGIN_NAMESPACE
class QBearerEngine;
+class QTimer;
class Q_NETWORK_EXPORT QNetworkConfigurationManagerPrivate : public QObject
{
@@ -77,6 +78,11 @@ public:
QList<QBearerEngine *> engines();
+ void startPolling();
+
+ void enablePolling();
+ void disablePolling();
+
public slots:
void updateConfigurations();
@@ -92,19 +98,26 @@ Q_SIGNALS:
private:
QMutex mutex;
+ QTimer *pollTimer;
+
QList<QBearerEngine *> sessionEngines;
- QSet<QNetworkConfigurationPrivatePointer> onlineConfigurations;
+ QSet<QString> onlineConfigurations;
QSet<int> updatingEngines;
bool updating;
+ QSet<int> pollingEngines;
+ int forcedPolling;
+
bool firstUpdate;
private Q_SLOTS:
void configurationAdded(QNetworkConfigurationPrivatePointer ptr);
void configurationRemoved(QNetworkConfigurationPrivatePointer ptr);
void configurationChanged(QNetworkConfigurationPrivatePointer ptr);
+
+ void pollEngines();
};
Q_NETWORK_EXPORT QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate();
diff --git a/src/network/bearer/qnetworkconfiguration.cpp b/src/network/bearer/qnetworkconfiguration.cpp
index c551dc5dbc..c4ba406d92 100644
--- a/src/network/bearer/qnetworkconfiguration.cpp
+++ b/src/network/bearer/qnetworkconfiguration.cpp
@@ -40,7 +40,6 @@
****************************************************************************/
#include "qnetworkconfiguration.h"
-
#include "qnetworkconfiguration_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp
index 6a82791ecc..cf9f4b2701 100644
--- a/src/network/bearer/qnetworksession.cpp
+++ b/src/network/bearer/qnetworksession.cpp
@@ -275,6 +275,8 @@ void QNetworkSession::open()
{
if (d)
d->open();
+ else
+ emit error(InvalidConfigurationError);
}
/*!
@@ -308,6 +310,8 @@ bool QNetworkSession::waitForOpened(int msecs)
QEventLoop* loop = new QEventLoop(this);
QObject::connect(d, SIGNAL(quitPendingWaitsForOpened()),
loop, SLOT(quit()));
+ QObject::connect(this, SIGNAL(error(QNetworkSession::SessionError)),
+ loop, SLOT(quit()));
//final call
if (msecs>=0)
@@ -488,6 +492,20 @@ QString QNetworkSession::errorString() const
\o Setting this property to \i true before calling \l open() implies that the connection attempt
is made but if no connection can be established, the user is not connsulted and asked to select
a suitable connection. This property is not set by default and support for it depends on the platform.
+
+ \row
+ \o AutoCloseSessionTimeout
+ \o If the session requires polling to keep its state up to date, this property holds
+ the timeout in milliseconds before the session will automatically close. If the
+ value of this property is -1 the session will not automatically close. This property
+ is set to -1 by default.
+
+ The purpose of this property is to minimize resource use on platforms that use
+ polling to update the state of the session. Applications can set the value of this
+ property to the desired timeout before the session is closed. In response to the
+ closed() signal the network session should be deleted to ensure that all polling is
+ stopped. The session can then be recreated once it is required again. This property
+ has no effect for sessions that do not require polling.
\endtable
*/
QVariant QNetworkSession::sessionProperty(const QString& key) const
@@ -523,7 +541,7 @@ QVariant QNetworkSession::sessionProperty(const QString& key) const
\a key. Removing an already set property can be achieved by passing an
invalid QVariant.
- Note that the \i UserChoiceConfiguration and \i ActiveConfiguration
+ Note that the \e UserChoiceConfiguration and \e ActiveConfiguration
properties are read only and cannot be changed using this method.
*/
void QNetworkSession::setSessionProperty(const QString& key, const QVariant& value)
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index 9de499e5a4..4800e9df00 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -112,6 +112,13 @@ Q_GLOBAL_STATIC(QHostInfoLookupManager, theHostInfoLookupManager)
To retrieve the name of the local host, use the static
QHostInfo::localHostName() function.
+ \note Since Qt 4.6.1 QHostInfo is using multiple threads for DNS lookup
+ instead of one dedicated DNS thread. This improves performance,
+ but also changes the order of signal emissions when using lookupHost()
+ compared to previous versions of Qt.
+ \note Since Qt 4.6.3 QHostInfo is using a small internal 60 second DNS cache
+ for performance improvements.
+
\sa QAbstractSocket, {http://www.rfc-editor.org/rfc/rfc3492.txt}{RFC 3492}
*/
@@ -165,7 +172,7 @@ int QHostInfo::lookupHost(const QString &name, QObject *receiver,
if (name.isEmpty()) {
QHostInfo hostInfo(id);
hostInfo.setError(QHostInfo::HostNotFound);
- hostInfo.setErrorString(QObject::tr("No host name given"));
+ hostInfo.setErrorString(QCoreApplication::translate("QHostInfo", "No host name given"));
QScopedPointer<QHostInfoResult> result(new QHostInfoResult);
QObject::connect(result.data(), SIGNAL(resultsReady(QHostInfo)),
receiver, member, Qt::QueuedConnection);
@@ -181,9 +188,26 @@ int QHostInfo::lookupHost(const QString &name, QObject *receiver,
receiver, member, Qt::QueuedConnection);
result.data()->emitResultsReady(hostInfo);
#else
- QHostInfoRunnable* runnable = new QHostInfoRunnable(name, id);
- QObject::connect(&runnable->resultEmitter, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection);
- theHostInfoLookupManager()->scheduleLookup(runnable);
+ QHostInfoLookupManager *manager = theHostInfoLookupManager();
+ if (manager) {
+ // the application is still alive
+ if (manager->cache.isEnabled()) {
+ // check cache first
+ bool valid = false;
+ QHostInfo info = manager->cache.get(name, &valid);
+ if (valid) {
+ info.setLookupId(id);
+ QHostInfoResult result;
+ QObject::connect(&result, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection);
+ result.emitResultsReady(info);
+ return id;
+ }
+ }
+ // cache is not enabled or it was not in the cache, do normal lookup
+ QHostInfoRunnable* runnable = new QHostInfoRunnable(name, id);
+ QObject::connect(&runnable->resultEmitter, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection);
+ manager->scheduleLookup(runnable);
+ }
#endif
return id;
@@ -418,14 +442,24 @@ void QHostInfoRunnable::run()
return;
}
- // check cache
- // FIXME
-
- // if not in cache: OS lookup
- QHostInfo hostInfo = QHostInfoAgent::fromName(toBeLookedUp);
-
- // save to cache
- // FIXME
+ QHostInfo hostInfo;
+
+ // QHostInfo::lookupHost already checks the cache. However we need to check
+ // it here too because it might have been cache saved by another QHostInfoRunnable
+ // in the meanwhile while this QHostInfoRunnable was scheduled but not running
+ if (manager->cache.isEnabled()) {
+ // check the cache first
+ bool valid = false;
+ hostInfo = manager->cache.get(toBeLookedUp, &valid);
+ if (!valid) {
+ // not in cache, we need to do the lookup and store the result in the cache
+ hostInfo = QHostInfoAgent::fromName(toBeLookedUp);
+ manager->cache.put(toBeLookedUp, hostInfo);
+ }
+ } else {
+ // cache is not enabled, just do the lookup and continue
+ hostInfo = QHostInfoAgent::fromName(toBeLookedUp);
+ }
// check aborted again
if (manager->wasAborted(id)) {
@@ -451,6 +485,11 @@ QHostInfoLookupManager::QHostInfoLookupManager() : mutex(QMutex::Recursive), was
QHostInfoLookupManager::~QHostInfoLookupManager()
{
wasDeleted = true;
+
+ // don't qDeleteAll currentLookups, the QThreadPool has ownership
+ qDeleteAll(postponedLookups);
+ qDeleteAll(scheduledLookups);
+ qDeleteAll(finishedLookups);
}
void QHostInfoLookupManager::work()
@@ -570,6 +609,106 @@ void QHostInfoLookupManager::lookupFinished(QHostInfoRunnable *r)
work();
}
+// This function returns immediatly when we had a result in the cache, else it will later emit a signal
+QHostInfo qt_qhostinfo_lookup(const QString &name, QObject *receiver, const char *member, bool *valid, int *id)
+{
+ *valid = false;
+ *id = -1;
+
+ // check cache
+ QHostInfoLookupManager* manager = theHostInfoLookupManager();
+ if (manager && manager->cache.isEnabled()) {
+ QHostInfo info = manager->cache.get(name, valid);
+ if (*valid) {
+ return info;
+ }
+ }
+
+ // was not in cache, trigger lookup
+ *id = QHostInfo::lookupHost(name, receiver, member);
+
+ // return empty response, valid==false
+ return QHostInfo();
+}
+
+void qt_qhostinfo_clear_cache()
+{
+ QHostInfoLookupManager* manager = theHostInfoLookupManager();
+ if (manager) {
+ manager->cache.clear();
+ }
+}
+
+void Q_NETWORK_EXPORT qt_qhostinfo_enable_cache(bool e)
+{
+ QHostInfoLookupManager* manager = theHostInfoLookupManager();
+ if (manager) {
+ manager->cache.setEnabled(e);
+ }
+}
+
+// cache for 60 seconds
+// cache 64 items
+QHostInfoCache::QHostInfoCache() : max_age(60), enabled(true), cache(64)
+{
+#ifdef QT_QHOSTINFO_CACHE_DISABLED_BY_DEFAULT
+ enabled = false;
+#endif
+}
+
+bool QHostInfoCache::isEnabled()
+{
+ return enabled;
+}
+
+// this function is currently only used for the auto tests
+// and not usable by public API
+void QHostInfoCache::setEnabled(bool e)
+{
+ enabled = e;
+}
+
+
+QHostInfo QHostInfoCache::get(const QString &name, bool *valid)
+{
+ QMutexLocker locker(&this->mutex);
+
+ *valid = false;
+ if (cache.contains(name)) {
+ QHostInfoCacheElement *element = cache.object(name);
+ if (element->age.elapsed() < max_age*1000)
+ *valid = true;
+ return element->info;
+
+ // FIXME idea:
+ // if too old but not expired, trigger a new lookup
+ // to freshen our cache
+ }
+
+ return QHostInfo();
+}
+
+void QHostInfoCache::put(const QString &name, const QHostInfo &info)
+{
+ // if the lookup failed, don't cache
+ if (info.error() != QHostInfo::NoError)
+ return;
+
+ QHostInfoCacheElement* element = new QHostInfoCacheElement();
+ element->info = info;
+ element->age = QTime();
+ element->age.start();
+
+ QMutexLocker locker(&this->mutex);
+ cache.insert(name, element); // cache will take ownership
+}
+
+void QHostInfoCache::clear()
+{
+ QMutexLocker locker(&this->mutex);
+ cache.clear();
+}
+
#endif // QT_NO_THREAD
QT_END_NAMESPACE
diff --git a/src/network/kernel/qhostinfo_p.h b/src/network/kernel/qhostinfo_p.h
index d6aa287fa1..2b26b07bc8 100644
--- a/src/network/kernel/qhostinfo_p.h
+++ b/src/network/kernel/qhostinfo_p.h
@@ -68,6 +68,8 @@
#include "QtCore/qrunnable.h"
#include "QtCore/qlist.h"
#include "QtCore/qqueue.h"
+#include <QTime>
+#include <QCache>
#endif
QT_BEGIN_NAMESPACE
@@ -111,6 +113,34 @@ public:
};
#ifndef QT_NO_THREAD
+// These functions are outside of the QHostInfo class and strictly internal.
+// Do NOT use them outside of QAbstractSocket.
+QHostInfo Q_NETWORK_EXPORT qt_qhostinfo_lookup(const QString &name, QObject *receiver, const char *member, bool *valid, int *id);
+void Q_NETWORK_EXPORT qt_qhostinfo_clear_cache();
+void Q_AUTOTEST_EXPORT qt_qhostinfo_enable_cache(bool e);
+
+class QHostInfoCache
+{
+public:
+ QHostInfoCache();
+ const int max_age; // seconds
+
+ QHostInfo get(const QString &name, bool *valid);
+ void put(const QString &name, const QHostInfo &info);
+ void clear();
+
+ bool isEnabled();
+ void setEnabled(bool e);
+private:
+ bool enabled;
+ struct QHostInfoCacheElement {
+ QHostInfo info;
+ QTime age;
+ };
+ QCache<QString,QHostInfoCacheElement> cache;
+ QMutex mutex;
+};
+
// the following classes are used for the (normal) case: We use multiple threads to lookup DNS
class QHostInfoRunnable : public QRunnable
@@ -141,6 +171,7 @@ public:
void lookupFinished(QHostInfoRunnable *r);
bool wasAborted(int id);
+ QHostInfoCache cache;
protected:
QList<QHostInfoRunnable*> currentLookups; // in progress
QList<QHostInfoRunnable*> postponedLookups; // postponed because in progress for same host
@@ -154,6 +185,7 @@ protected:
bool wasDeleted;
};
+
#endif
QT_END_NAMESPACE
diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
index be06b6eb7f..a186e78a19 100644
--- a/src/network/kernel/qhostinfo_unix.cpp
+++ b/src/network/kernel/qhostinfo_unix.cpp
@@ -193,7 +193,9 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName)
results.setHostName(hostName);
if (aceHostname.isEmpty()) {
results.setError(QHostInfo::HostNotFound);
- results.setErrorString(hostName.isEmpty() ? QObject::tr("No host name given") : QObject::tr("Invalid hostname"));
+ results.setErrorString(hostName.isEmpty() ?
+ QCoreApplication::translate("QHostInfoAgent", "No host name given") :
+ QCoreApplication::translate("QHostInfoAgent", "Invalid hostname"));
return results;
}
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 275c4366ed..95721eee66 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -172,6 +172,10 @@
This signal is emitted after connectToHost() has been called and
the host lookup has succeeded.
+ \note Since Qt 4.6.3 QAbstractSocket may emit hostFound()
+ directly from the connectToHost() call since a DNS result could have been
+ cached.
+
\sa connected()
*/
@@ -181,6 +185,10 @@
This signal is emitted after connectToHost() has been called and
a connection has been successfully established.
+ \note On some operating systems the connected() signal may
+ be directly emitted from the connectToHost() call for connections
+ to the localhost.
+
\sa connectToHost(), disconnected()
*/
@@ -354,6 +362,8 @@
#include "qabstractsocket.h"
#include "qabstractsocket_p.h"
+#include "private/qhostinfo_p.h"
+
#include <qabstracteventdispatcher.h>
#include <qdatetime.h>
#include <qhostaddress.h>
@@ -1369,8 +1379,20 @@ void QAbstractSocket::connectToHostImplementation(const QString &hostName, quint
return;
#endif
} else {
- if (d->threadData->eventDispatcher)
- d->hostLookupId = QHostInfo::lookupHost(hostName, this, SLOT(_q_startConnecting(QHostInfo)));
+ if (d->threadData->eventDispatcher) {
+ // this internal API for QHostInfo either immediatly gives us the desired
+ // QHostInfo from cache or later calls the _q_startConnecting slot.
+ bool immediateResultValid = false;
+ QHostInfo hostInfo = qt_qhostinfo_lookup(hostName,
+ this,
+ SLOT(_q_startConnecting(QHostInfo)),
+ &immediateResultValid,
+ &d->hostLookupId);
+ if (immediateResultValid) {
+ d->hostLookupId = -1;
+ d->_q_startConnecting(hostInfo);
+ }
+ }
}
#if defined(QABSTRACTSOCKET_DEBUG)
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 25ad5d7474..2b5f2f4d66 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1641,7 +1641,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
s->matrix = old;
}
-void QGL2PaintEngineEx::drawPixmapFragments(const QPainter::Fragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::FragmentHints hints)
+void QGL2PaintEngineEx::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
+ QPainter::PixmapFragmentHints hints)
{
Q_D(QGL2PaintEngineEx);
// Use fallback for extended composition modes.
@@ -1655,9 +1656,9 @@ void QGL2PaintEngineEx::drawPixmapFragments(const QPainter::Fragment *fragments,
}
-void QGL2PaintEngineExPrivate::drawPixmapFragments(const QPainter::Fragment *fragments,
+void QGL2PaintEngineExPrivate::drawPixmapFragments(const QPainter::PixmapFragment *fragments,
int fragmentCount, const QPixmap &pixmap,
- QPainter::FragmentHints hints)
+ QPainter::PixmapFragmentHints hints)
{
GLfloat dx = 1.0f / pixmap.size().width();
GLfloat dy = 1.0f / pixmap.size().height();
@@ -1867,6 +1868,7 @@ bool QGL2PaintEngineEx::end()
delete d->shaderManager;
d->shaderManager = 0;
+ d->currentBrush = QBrush();
#ifdef QT_OPENGL_CACHE_AS_VBOS
if (!d->unusedVBOSToClean.isEmpty()) {
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 5d3608b09e..ed8fbbc05e 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -125,7 +125,8 @@ public:
virtual void drawTexture(const QRectF &r, GLuint textureId, const QSize &size, const QRectF &sr);
virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr);
- virtual void drawPixmapFragments(const QPainter::Fragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::FragmentHints hints);
+ virtual void drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
+ QPainter::PixmapFragmentHints hints);
virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr,
Qt::ImageConversionFlags flags = Qt::AutoColor);
virtual void drawTextItem(const QPointF &p, const QTextItem &textItem);
@@ -196,7 +197,8 @@ public:
void fill(const QVectorPath &path);
void stroke(const QVectorPath &path, const QPen &pen);
void drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize, bool opaque, bool pattern = false);
- void drawPixmapFragments(const QPainter::Fragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::FragmentHints hints);
+ void drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
+ QPainter::PixmapFragmentHints hints);
void drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType, QStaticTextItem *staticTextItem,
bool includeMatrixInCache);
diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp
index 3addea112b..3d146b7f9d 100644
--- a/src/opengl/qgl_egl.cpp
+++ b/src/opengl/qgl_egl.cpp
@@ -40,49 +40,78 @@
****************************************************************************/
#include <QtOpenGL/qgl.h>
+#include <QtOpenGL/qglpixelbuffer.h>
#include "qgl_p.h"
#include "qgl_egl_p.h"
+#include "qglpixelbuffer_p.h"
+
+#ifdef Q_WS_X11
+#include <QtGui/private/qpixmap_x11_p.h>
+#endif
QT_BEGIN_NAMESPACE
-// Set device configuration attributes from a QGLFormat instance.
-void qt_egl_set_format(QEglProperties& props, int deviceType, const QGLFormat& f)
+void qt_eglproperties_set_glformat(QEglProperties& eglProperties, const QGLFormat& glFormat)
{
- if (deviceType == QInternal::Pixmap || deviceType == QInternal::Image)
- props.setValue(EGL_SURFACE_TYPE, EGL_PIXMAP_BIT);
- else if (deviceType == QInternal::Pbuffer)
- props.setValue(EGL_SURFACE_TYPE, EGL_PBUFFER_BIT);
- else
- props.setValue(EGL_SURFACE_TYPE, EGL_WINDOW_BIT);
-
- // Set the pixel format to that contained in the QGLFormat
- // if the system hasn't already chosen a fixed format to
- // match the pixmap, widget, etc.
- if (props.value(EGL_RED_SIZE) == 0 || f.redBufferSize() != -1)
- props.setValue(EGL_RED_SIZE, f.redBufferSize() == -1 ? 1 : f.redBufferSize());
- if (props.value(EGL_GREEN_SIZE) == 0 || f.greenBufferSize() != -1)
- props.setValue(EGL_GREEN_SIZE, f.greenBufferSize() == -1 ? 1 : f.greenBufferSize());
- if (props.value(EGL_BLUE_SIZE) == 0 || f.blueBufferSize() != -1)
- props.setValue(EGL_BLUE_SIZE, f.blueBufferSize() == -1 ? 1 : f.blueBufferSize());
- if (f.alpha()) {
- if (props.value(EGL_ALPHA_SIZE) == 0 || f.alphaBufferSize() != -1)
- props.setValue(EGL_ALPHA_SIZE, f.alphaBufferSize() == -1 ? 1 : f.alphaBufferSize());
- }
+ int redSize = glFormat.redBufferSize();
+ int greenSize = glFormat.greenBufferSize();
+ int blueSize = glFormat.blueBufferSize();
+ int alphaSize = glFormat.alphaBufferSize();
+ int depthSize = glFormat.depthBufferSize();
+ int stencilSize = glFormat.stencilBufferSize();
+ int sampleCount = glFormat.samples();
- if (f.depth())
- props.setValue(EGL_DEPTH_SIZE, f.depthBufferSize() == -1 ? 1 : f.depthBufferSize());
- if (f.stencil())
- props.setValue(EGL_STENCIL_SIZE, f.stencilBufferSize() == -1 ? 1 : f.stencilBufferSize());
- if (f.sampleBuffers()) {
- props.setValue(EGL_SAMPLE_BUFFERS, 1);
- props.setValue(EGL_SAMPLES, f.samples() == -1 ? 1 : f.samples());
- } else {
- props.setValue(EGL_SAMPLE_BUFFERS, 0);
+ // QGLFormat uses a magic value of -1 to indicate "don't care", even when a buffer of that
+ // type has been requested. So we must check QGLFormat's booleans too if size is -1:
+ if (glFormat.alpha() && alphaSize <= 0) {
+ qDebug("QGLFormat::alpha() returned true");
+ alphaSize = 1;
}
- if (deviceType == QInternal::Widget)
- props.setValue(EGL_LEVEL, f.plane());
+ if (glFormat.depth() && depthSize <= 0)
+ depthSize = 1;
+ if (glFormat.stencil() && stencilSize <= 0)
+ stencilSize = 1;
+ if (glFormat.sampleBuffers() && sampleCount <= 0)
+ sampleCount = 1;
+
+ // We want to make sure 16-bit configs are chosen over 32-bit configs as they will provide
+ // the best performance. The EGL config selection algorithm is a bit stange in this regard:
+ // The selection criteria for EGL_BUFFER_SIZE is "AtLeast", so we can't use it to discard
+ // 32-bit configs completely from the selection. So it then comes to the sorting algorithm.
+ // The red/green/blue sizes have a sort priority of 3, so they are sorted by first. The sort
+ // order is special and described as "by larger _total_ number of color bits.". So EGL will
+ // put 32-bit configs in the list before the 16-bit configs. However, the spec also goes on
+ // to say "If the requested number of bits in attrib_list for a particular component is 0,
+ // then the number of bits for that component is not considered". This part of the spec also
+ // seems to imply that setting the red/green/blue bits to zero means none of the components
+ // are considered and EGL disregards the entire sorting rule. It then looks to the next
+ // highest priority rule, which is EGL_BUFFER_SIZE. Despite the selection criteria being
+ // "AtLeast" for EGL_BUFFER_SIZE, it's sort order is "smaller" meaning 16-bit configs are
+ // put in the list before 32-bit configs. So, to make sure 16-bit is preffered over 32-bit,
+ // we must set the red/green/blue sizes to zero. This has an unfortunate consequence that
+ // if the application sets the red/green/blue size to 5/6/5 on the QGLFormat, they will
+ // probably get a 32-bit config, even when there's an RGB565 config avaliable. Oh well.
+
+ // Now normalize the values so -1 becomes 0
+ redSize = redSize > 0 ? redSize : 0;
+ greenSize = greenSize > 0 ? greenSize : 0;
+ blueSize = blueSize > 0 ? blueSize : 0;
+ alphaSize = alphaSize > 0 ? alphaSize : 0;
+ depthSize = depthSize > 0 ? depthSize : 0;
+ stencilSize = stencilSize > 0 ? stencilSize : 0;
+ sampleCount = sampleCount > 0 ? sampleCount : 0;
+
+ eglProperties.setValue(EGL_RED_SIZE, redSize);
+ eglProperties.setValue(EGL_GREEN_SIZE, greenSize);
+ eglProperties.setValue(EGL_BLUE_SIZE, blueSize);
+ eglProperties.setValue(EGL_ALPHA_SIZE, alphaSize);
+ eglProperties.setValue(EGL_DEPTH_SIZE, depthSize);
+ eglProperties.setValue(EGL_STENCIL_SIZE, stencilSize);
+ eglProperties.setValue(EGL_SAMPLES, sampleCount);
+ eglProperties.setValue(EGL_SAMPLE_BUFFERS, sampleCount ? 1 : 0);
}
+
// Updates "format" with the parameters of the selected configuration.
void qt_egl_update_format(const QEglContext& context, QGLFormat& format)
{
@@ -126,7 +155,7 @@ void qt_egl_update_format(const QEglContext& context, QGLFormat& format)
// Clear the EGL error state because some of the above may
// have errored out because the attribute is not applicable
// to the surface type. Such errors don't matter.
- context.clearError();
+ QEgl::clearError();
}
bool QGLFormat::hasOpenGL()
@@ -158,12 +187,12 @@ void QGLContext::reset()
void QGLContext::makeCurrent()
{
Q_D(QGLContext);
- if (!d->valid || !d->eglContext || d->eglSurface == EGL_NO_SURFACE) {
+ if (!d->valid || !d->eglContext || d->eglSurfaceForDevice() == EGL_NO_SURFACE) {
qWarning("QGLContext::makeCurrent(): Cannot make invalid context current");
return;
}
- if (d->eglContext->makeCurrent(d->eglSurface))
+ if (d->eglContext->makeCurrent(d->eglSurfaceForDevice()))
QGLContextPrivate::setCurrentContext(this);
}
@@ -183,7 +212,7 @@ void QGLContext::swapBuffers() const
if (!d->valid || !d->eglContext)
return;
- d->eglContext->swapBuffers(d->eglSurface);
+ d->eglContext->swapBuffers(d->eglSurfaceForDevice());
}
void QGLContextPrivate::destroyEglSurfaceForDevice()
@@ -206,6 +235,30 @@ void QGLContextPrivate::destroyEglSurfaceForDevice()
}
}
+EGLSurface QGLContextPrivate::eglSurfaceForDevice() const
+{
+ // If a QPixmapData had to create the QGLContext, we don't have a paintDevice
+ if (!paintDevice)
+ return eglSurface;
+
+#ifdef Q_WS_X11
+ if (paintDevice->devType() == QInternal::Pixmap) {
+ QPixmapData *pmd = static_cast<QPixmap*>(paintDevice)->data_ptr().data();
+ if (pmd->classId() == QPixmapData::X11Class) {
+ QX11PixmapData* x11PixmapData = static_cast<QX11PixmapData*>(pmd);
+ return (EGLSurface)x11PixmapData->gl_surface;
+ }
+ }
+#endif
+
+ if (paintDevice->devType() == QInternal::Pbuffer) {
+ QGLPixelBuffer* pbuf = static_cast<QGLPixelBuffer*>(paintDevice);
+ return pbuf->d_func()->pbuf;
+ }
+
+ return eglSurface;
+}
+
void QGLWidget::setMouseTracking(bool enable)
{
QWidget::setMouseTracking(enable);
diff --git a/src/opengl/qgl_egl_p.h b/src/opengl/qgl_egl_p.h
index c503724b91..6b65227ca5 100644
--- a/src/opengl/qgl_egl_p.h
+++ b/src/opengl/qgl_egl_p.h
@@ -53,15 +53,15 @@
// We mean it.
//
-#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglcontext_p.h>
+#include <QtGui/private/qeglproperties_p.h>
QT_BEGIN_NAMESPACE
class QGLFormat;
-void qt_egl_set_format(QEglProperties& props, int deviceType, const QGLFormat& f);
+void qt_eglproperties_set_glformat(QEglProperties& props, const QGLFormat& format);
void qt_egl_update_format(const QEglContext& context, QGLFormat& format);
-void qt_egl_add_platform_config(QEglProperties& props, QPaintDevice *device);
QT_END_NAMESPACE
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index ecd8b43bcb..ed34f7903e 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -64,14 +64,8 @@
#include "qcache.h"
#include "qglpaintdevice_p.h"
-#ifdef QT_OPENGL_ES
-QT_BEGIN_INCLUDE_NAMESPACE
-#if defined(QT_OPENGL_ES_2)
-#include <EGL/egl.h>
-#else
-#include <GLES/egl.h>
-#endif
-QT_END_INCLUDE_NAMESPACE
+#if defined(QT_OPENGL_ES) || defined(QT_OPENGL_ES_2)
+#include <QtGui/private/qegl_p.h>
#endif
QT_BEGIN_NAMESPACE
@@ -356,6 +350,7 @@ public:
QEglContext *eglContext;
EGLSurface eglSurface;
void destroyEglSurfaceForDevice();
+ EGLSurface eglSurfaceForDevice() const;
#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
void* cx;
#endif
diff --git a/src/opengl/qgl_qws.cpp b/src/opengl/qgl_qws.cpp
index fd17a27bf2..f72f051905 100644
--- a/src/opengl/qgl_qws.cpp
+++ b/src/opengl/qgl_qws.cpp
@@ -119,21 +119,6 @@ bool QGLFormat::hasOpenGLOverlays()
return false;
}
-void qt_egl_add_platform_config(QEglProperties& props, QPaintDevice *device)
-{
- // Find the QGLScreen for this paint device.
- QGLScreen *glScreen = glScreenForDevice(device);
- if (!glScreen) {
- qWarning("QGLContext::chooseContext(): The screen is not a QGLScreen");
- return;
- }
- int devType = device->devType();
- if (devType == QInternal::Image)
- props.setPixelFormat(static_cast<QImage *>(device)->format());
- else
- props.setPixelFormat(glScreen->pixelFormat());
-}
-
static EGLSurface qt_egl_create_surface
(QEglContext *context, QPaintDevice *device,
const QEglProperties *properties = 0)
@@ -201,8 +186,9 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
// Construct the configuration we need for this surface.
QEglProperties configProps;
- qt_egl_add_platform_config(configProps, device());
- qt_egl_set_format(configProps, devType, d->glFormat);
+ qt_eglproperties_set_glformat(configProps, d->glFormat);
+ configProps.setDeviceType(devType);
+ configProps.setPaintDeviceFormat(device());
configProps.setRenderableType(QEgl::OpenGL);
// Search for a matching configuration, reducing the complexity
diff --git a/src/opengl/qgl_wince.cpp b/src/opengl/qgl_wince.cpp
index f81115c95e..3bf7f3ab4d 100644
--- a/src/opengl/qgl_wince.cpp
+++ b/src/opengl/qgl_wince.cpp
@@ -54,7 +54,8 @@
#include <windows.h>
-#include <private/qegl_p.h>
+#include <private/qeglproperties_p.h>
+#include <private/qeglcontext_p.h>
#include <private/qgl_egl_p.h>
#include <private/qgl_cl_p.h>
@@ -121,16 +122,6 @@ QGLTemporaryContext::~QGLTemporaryContext()
QGLFormat Win32/WGL-specific code
*****************************************************************************/
-void qt_egl_add_platform_config(QEglProperties& props, QPaintDevice *device)
-{
- int devType = device->devType();
- if (devType == QInternal::Image)
- props.setPixelFormat(static_cast<QImage *>(device)->format());
- else
- props.setPixelFormat(QImage::Format_RGB16);
-}
-
-
static bool opengl32dll = false;
bool QGLFormat::hasOpenGLOverlays()
@@ -158,8 +149,9 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
// Construct the configuration we need for this surface.
QEglProperties configProps;
- qt_egl_add_platform_config(configProps, device());
- qt_egl_set_format(configProps, devType, d->glFormat);
+ qt_eglproperties_set_glformat(configProps, d->glFormat);
+ configProps.setDeviceType(devType);
+ configProps.setPaintDeviceFormat(device());
configProps.setRenderableType(QEgl::OpenGL);
// Search for a matching configuration, reducing the complexity
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index f0b06ef580..4fa1467faf 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -1753,7 +1753,7 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, con
if (!glxPixmap)
return 0;
- pixmapData->gl_surface = (Qt::HANDLE)glxPixmap;
+ pixmapData->gl_surface = (void*)glxPixmap;
// Make sure the cleanup hook gets called so we can delete the glx pixmap
QImagePixmapCleanupHooks::enableCleanupHooks(pixmapData);
diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp
index 3d183eee5b..a7c92cf77c 100644
--- a/src/opengl/qgl_x11egl.cpp
+++ b/src/opengl/qgl_x11egl.cpp
@@ -42,20 +42,17 @@
#include "qgl.h"
#include <private/qt_x11_p.h>
#include <private/qpixmap_x11_p.h>
-#include <private/qimagepixmapcleanuphooks_p.h>
#include <private/qgl_p.h>
#include <private/qpaintengine_opengl_p.h>
#include "qgl_egl_p.h"
#include "qcolormap.h"
#include <QDebug>
+#include <QPixmap>
QT_BEGIN_NAMESPACE
-bool qt_egl_setup_x11_visual(XVisualInfo &vi, EGLDisplay display, EGLConfig config,
- const QX11Info &x11Info, bool useArgbVisual);
-
/*
QGLTemporaryContext implementation
*/
@@ -79,12 +76,7 @@ QGLTemporaryContext::QGLTemporaryContext(bool, QWidget *)
d->surface = 0;
int screen = 0;
- d->display = eglGetDisplay(EGLNativeDisplayType(X11->display));
-
- if (!eglInitialize(d->display, NULL, NULL)) {
- qWarning("QGLTemporaryContext: Unable to initialize EGL display.");
- return;
- }
+ d->display = QEgl::display();
EGLConfig config;
int numConfigs = 0;
@@ -107,15 +99,7 @@ QGLTemporaryContext::QGLTemporaryContext(bool, QWidget *)
int numVisuals;
EGLint id = 0;
- eglGetConfigAttrib(d->display, config, EGL_NATIVE_VISUAL_ID, &id);
- if (id == 0) {
- // EGL_NATIVE_VISUAL_ID is optional and might not be supported
- // on some implementations - we'll have to do it the hard way
- QX11Info xinfo;
- qt_egl_setup_x11_visual(visualInfo, d->display, config, xinfo, false);
- } else {
- visualInfo.visualid = id;
- }
+ visualInfo.visualid = QEgl::getCompatibleVisualId(config);
vi = XGetVisualInfo(X11->display, VisualIDMask, &visualInfo, &numVisuals);
if (!vi || numVisuals < 1) {
qWarning("QGLTemporaryContext: Unable to get X11 visual info id.");
@@ -170,12 +154,6 @@ bool QGLFormat::hasOpenGLOverlays()
return false;
}
-void qt_egl_add_platform_config(QEglProperties& props, QPaintDevice *device)
-{
- if (device->devType() == QInternal::Image)
- props.setPixelFormat(static_cast<QImage *>(device)->format());
-}
-
// Chooses the EGL config and creates the EGL context
bool QGLContext::chooseContext(const QGLContext* shareContext)
{
@@ -186,54 +164,49 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
int devType = device()->devType();
- // Get the display and initialize it.
+ QX11PixmapData *x11PixmapData = 0;
+ if (devType == QInternal::Pixmap) {
+ QPixmapData *pmd = static_cast<QPixmap*>(device())->data_ptr().data();
+ if (pmd->classId() == QPixmapData::X11Class)
+ x11PixmapData = static_cast<QX11PixmapData*>(pmd);
+ else {
+ // TODO: Replace the pixmap's data with a new QX11PixmapData
+ qWarning("WARNING: Creating a QGLContext on a QPixmap is only supported for X11 pixmap backend");
+ return false;
+ }
+ } else if ((devType != QInternal::Widget) && (devType != QInternal::Pbuffer)) {
+ qWarning("WARNING: Creating a QGLContext not supported on device type %d", devType);
+ return false;
+ }
+
+ // Only create the eglContext if we don't already have one:
if (d->eglContext == 0) {
d->eglContext = new QEglContext();
d->eglContext->setApi(QEgl::OpenGL);
+ // If the device is a widget with WA_TranslucentBackground set, make sure the glFormat
+ // has the alpha channel option set:
+ if (devType == QInternal::Widget) {
+ QWidget* widget = static_cast<QWidget*>(device());
+ if (widget->testAttribute(Qt::WA_TranslucentBackground))
+ d->glFormat.setAlpha(true);
+ }
+
// Construct the configuration we need for this surface.
QEglProperties configProps;
- qt_egl_set_format(configProps, devType, d->glFormat);
- qt_egl_add_platform_config(configProps, device());
+ configProps.setDeviceType(devType);
configProps.setRenderableType(QEgl::OpenGL);
-
-#if We_have_an_EGL_library_which_bothers_to_check_EGL_BUFFER_SIZE
- if (device()->depth() == 16 && configProps.value(EGL_ALPHA_SIZE) <= 0) {
- qDebug("Setting EGL_BUFFER_SIZE to 16");
- configProps.setValue(EGL_BUFFER_SIZE, 16);
- configProps.setValue(EGL_ALPHA_SIZE, 0);
- }
+ qt_eglproperties_set_glformat(configProps, d->glFormat);
if (!d->eglContext->chooseConfig(configProps, QEgl::BestPixelFormat)) {
delete d->eglContext;
d->eglContext = 0;
return false;
}
-#else
- QEgl::PixelFormatMatch matchType = QEgl::BestPixelFormat;
- if ((device()->depth() == 16) && configProps.value(EGL_ALPHA_SIZE) == 0) {
- configProps.setValue(EGL_RED_SIZE, 5);
- configProps.setValue(EGL_GREEN_SIZE, 6);
- configProps.setValue(EGL_BLUE_SIZE, 5);
- configProps.setValue(EGL_ALPHA_SIZE, 0);
- matchType = QEgl::ExactPixelFormat;
- }
-
- // Search for a matching configuration, reducing the complexity
- // each time until we get something that matches.
- if (!d->eglContext->chooseConfig(configProps, matchType)) {
- delete d->eglContext;
- d->eglContext = 0;
- return false;
- }
-#endif
-
-// qDebug("QGLContext::chooseContext() - using EGL config %d:", d->eglContext->config());
-// qDebug() << QEglProperties(d->eglContext->config()).toString();
// Create a new context for the configuration.
- if (!d->eglContext->createContext
- (shareContext ? shareContext->d_func()->eglContext : 0)) {
+ QEglContext* eglSharedContext = shareContext ? shareContext->d_func()->eglContext : 0;
+ if (!d->eglContext->createContext(eglSharedContext)) {
delete d->eglContext;
d->eglContext = 0;
return false;
@@ -241,16 +214,34 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
d->sharing = d->eglContext->isSharing();
if (d->sharing && shareContext)
const_cast<QGLContext *>(shareContext)->d_func()->sharing = true;
-
-#if defined(EGL_VERSION_1_1)
- if (d->glFormat.swapInterval() != -1 && devType == QInternal::Widget)
- eglSwapInterval(d->eglContext->display(), d->glFormat.swapInterval());
-#endif
}
// Inform the higher layers about the actual format properties.
qt_egl_update_format(*(d->eglContext), d->glFormat);
+
+ // Do don't create the EGLSurface for everything.
+ // QWidget - yes, create the EGLSurface and store it in QGLContextPrivate::eglSurface
+ // QGLWidget - yes, create the EGLSurface and store it in QGLContextPrivate::eglSurface
+ // QPixmap - yes, create the EGLSurface but store it in QX11PixmapData::gl_surface
+ // QGLPixelBuffer - no, it creates the surface itself and stores it in QGLPixelBufferPrivate::pbuf
+
+ if (devType == QInternal::Widget) {
+ if (d->eglSurface != EGL_NO_SURFACE)
+ eglDestroySurface(d->eglContext->display(), d->eglSurface);
+ d->eglSurface = QEgl::createSurface(device(), d->eglContext->config());
+ XFlush(X11->display);
+ setWindowCreated(true);
+ }
+
+ if (x11PixmapData) {
+ // TODO: Actually check to see if the existing surface can be re-used
+ if (x11PixmapData->gl_surface)
+ eglDestroySurface(d->eglContext->display(), (EGLSurface)x11PixmapData->gl_surface);
+
+ x11PixmapData->gl_surface = (void*)QEgl::createSurface(device(), d->eglContext->config());
+ }
+
return true;
}
@@ -281,142 +272,6 @@ void QGLWidget::updateOverlayGL()
//handle overlay
}
-//#define QT_DEBUG_X11_VISUAL_SELECTION 1
-
-bool qt_egl_setup_x11_visual(XVisualInfo &vi, EGLDisplay display, EGLConfig config, const QX11Info &x11Info, bool useArgbVisual)
-{
- bool foundVisualIsArgb = useArgbVisual;
-
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("qt_egl_setup_x11_visual() - useArgbVisual=%d", useArgbVisual);
-#endif
-
- memset(&vi, 0, sizeof(XVisualInfo));
-
- EGLint eglConfigColorSize;
- eglGetConfigAttrib(display, config, EGL_BUFFER_SIZE, &eglConfigColorSize);
-
- // Check to see if EGL is suggesting an appropriate visual id:
- EGLint nativeVisualId;
- eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &nativeVisualId);
- vi.visualid = nativeVisualId;
-
- if (vi.visualid) {
- // EGL has suggested a visual id, so get the rest of the visual info for that id:
- XVisualInfo *chosenVisualInfo;
- int matchingCount = 0;
- chosenVisualInfo = XGetVisualInfo(x11Info.display(), VisualIDMask, &vi, &matchingCount);
- if (chosenVisualInfo) {
-#if !defined(QT_NO_XRENDER)
- if (useArgbVisual) {
- // Check to make sure the visual provided by EGL is ARGB
- XRenderPictFormat *format;
- format = XRenderFindVisualFormat(x11Info.display(), chosenVisualInfo->visual);
- if (format->type == PictTypeDirect && format->direct.alphaMask) {
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("Using ARGB X Visual ID (%d) provided by EGL", (int)vi.visualid);
-#endif
- foundVisualIsArgb = true;
- vi = *chosenVisualInfo;
- }
- else {
- qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this is not ARGB",
- nativeVisualId, (int)config);
- vi.visualid = 0;
- }
- } else
-#endif
- {
- if (eglConfigColorSize == chosenVisualInfo->depth) {
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("Using opaque X Visual ID (%d) provided by EGL", (int)vi.visualid);
-#endif
- vi = *chosenVisualInfo;
- } else
- qWarning("Warning: EGL suggested using X visual ID %d (%d bpp) for config %d (%d bpp), but the depths do not match!",
- nativeVisualId, chosenVisualInfo->depth, (int)config, eglConfigColorSize);
- }
- XFree(chosenVisualInfo);
- }
- else {
- qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this seems to be invalid!",
- nativeVisualId, (int)config);
- vi.visualid = 0;
- }
- }
-
- // If EGL does not know the visual ID, so try to select an appropriate one ourselves, first
- // using XRender if we're supposed to have an alpha, then falling back to XGetVisualInfo
-
-#if !defined(QT_NO_XRENDER)
- if (vi.visualid == 0 && useArgbVisual) {
- // Try to use XRender to find an ARGB visual we can use
- vi.screen = x11Info.screen();
- vi.depth = 32; //### We might at some point (soon) get ARGB4444
- vi.c_class = TrueColor;
- XVisualInfo *matchingVisuals;
- int matchingCount = 0;
- matchingVisuals = XGetVisualInfo(x11Info.display(),
- VisualScreenMask|VisualDepthMask|VisualClassMask,
- &vi, &matchingCount);
-
- for (int i = 0; i < matchingCount; ++i) {
- XRenderPictFormat *format;
- format = XRenderFindVisualFormat(x11Info.display(), matchingVisuals[i].visual);
- if (format->type == PictTypeDirect && format->direct.alphaMask) {
- vi = matchingVisuals[i];
- foundVisualIsArgb = true;
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("Using X Visual ID (%d) for ARGB visual as provided by XRender", (int)vi.visualid);
-#endif
- break;
- }
- }
- XFree(matchingVisuals);
- }
-#endif
-
- if (vi.visualid == 0) {
- EGLint depth;
- eglGetConfigAttrib(display, config, EGL_BUFFER_SIZE, &depth);
- int err;
- err = XMatchVisualInfo(x11Info.display(), x11Info.screen(), depth, TrueColor, &vi);
- if (err == 0) {
- qWarning("Warning: Can't find an X visual which matches the EGL config(%d)'s depth (%d)!",
- (int)config, depth);
- depth = x11Info.depth();
- err = XMatchVisualInfo(x11Info.display(), x11Info.screen(), depth, TrueColor, &vi);
- if (err == 0) {
- qWarning("Error: Couldn't get any matching X visual!");
- return false;
- } else
- qWarning(" - Falling back to X11 suggested depth (%d)", depth);
- }
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- else
- qDebug("Using X Visual ID (%d) for EGL provided depth (%d)", (int)vi.visualid, depth);
-#endif
-
- // Don't try to use ARGB now unless the visual is 32-bit - even then it might stil fail :-(
- if (useArgbVisual)
- foundVisualIsArgb = vi.depth == 32; //### We might at some point (soon) get ARGB4444
- }
-
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("Visual Info:");
- qDebug(" bits_per_rgb=%d", vi.bits_per_rgb);
- qDebug(" red_mask=0x%x", vi.red_mask);
- qDebug(" green_mask=0x%x", vi.green_mask);
- qDebug(" blue_mask=0x%x", vi.blue_mask);
- qDebug(" colormap_size=%d", vi.colormap_size);
- qDebug(" c_class=%d", vi.c_class);
- qDebug(" depth=%d", vi.depth);
- qDebug(" screen=%d", vi.screen);
- qDebug(" visualid=%d", vi.visualid);
-#endif
- return foundVisualIsArgb;
-}
-
void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, bool deleteOldContext)
{
Q_D(QGLWidget);
@@ -434,20 +289,6 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext,
QGLContext* oldcx = d->glcx;
d->glcx = context;
- if (parentWidget()) {
- // force creation of delay-created widgets
- parentWidget()->winId();
- if (parentWidget()->x11Info().screen() != x11Info().screen())
- d_func()->xinfo = parentWidget()->d_func()->xinfo;
- }
-
- // If the application has set WA_TranslucentBackground and not explicitly set
- // the alpha buffer size to zero, modify the format so it have an alpha channel
- QGLFormat& fmt = d->glcx->d_func()->glFormat;
- const bool tryArgbVisual = testAttribute(Qt::WA_TranslucentBackground) || fmt.alpha();
- if (tryArgbVisual && fmt.alphaBufferSize() == -1)
- fmt.setAlphaBufferSize(1);
-
bool createFailed = false;
if (!d->glcx->isValid()) {
// Create the QGLContext here, which in turn chooses the EGL config
@@ -461,63 +302,8 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext,
return;
}
- if (d->glcx->windowCreated() || d->glcx->deviceIsPixmap()) {
- if (deleteOldContext)
- delete oldcx;
- return;
- }
-
- bool visible = isVisible();
- if (visible)
- hide();
-
- XVisualInfo vi;
- QEglContext *eglContext = d->glcx->d_func()->eglContext;
- bool usingArgbVisual = qt_egl_setup_x11_visual(vi, eglContext->display(), eglContext->config(),
- x11Info(), tryArgbVisual);
-
- XSetWindowAttributes a;
-
- Window p = RootWindow(x11Info().display(), x11Info().screen());
- if (parentWidget())
- p = parentWidget()->winId();
-
- QColormap colmap = QColormap::instance(vi.screen);
- a.background_pixel = colmap.pixel(palette().color(backgroundRole()));
- a.border_pixel = colmap.pixel(Qt::black);
-
- unsigned int valueMask = CWBackPixel|CWBorderPixel;
- if (usingArgbVisual) {
- a.colormap = XCreateColormap(x11Info().display(), p, vi.visual, AllocNone);
- valueMask |= CWColormap;
- }
-
- Window w = XCreateWindow(x11Info().display(), p, x(), y(), width(), height(),
- 0, vi.depth, InputOutput, vi.visual, valueMask, &a);
-
- if (deleteOldContext)
- delete oldcx;
- oldcx = 0;
-
- create(w); // Create with the ID of the window we've just created
-
-
- // Create the EGL surface to draw into.
- QGLContextPrivate *ctxpriv = d->glcx->d_func();
- ctxpriv->eglSurface = ctxpriv->eglContext->createSurface(this);
- if (ctxpriv->eglSurface == EGL_NO_SURFACE) {
- delete ctxpriv->eglContext;
- ctxpriv->eglContext = 0;
- return;
- }
-
- d->eglSurfaceWindowId = w; // Remember the window id we created the surface for
- if (visible)
- show();
-
- XFlush(X11->display);
- d->glcx->setWindowCreated(true);
+ d->eglSurfaceWindowId = winId(); // Remember the window id we created the surface for
}
void QGLWidgetPrivate::init(QGLContext *context, const QGLWidget* shareWidget)
@@ -526,7 +312,7 @@ void QGLWidgetPrivate::init(QGLContext *context, const QGLWidget* shareWidget)
initContext(context, shareWidget);
- if(q->isValid() && glcx->format().hasOverlay()) {
+ if (q->isValid() && glcx->format().hasOverlay()) {
//no overlay
qWarning("QtOpenGL ES doesn't currently support overlays");
}
@@ -567,114 +353,6 @@ void QGLWidgetPrivate::recreateEglSurface(bool force)
}
}
-// Selects which configs should be used
-EGLConfig Q_OPENGL_EXPORT qt_chooseEGLConfigForPixmap(bool hasAlpha, bool readOnly)
-{
- // Cache the configs we select as they wont change:
- static EGLConfig roPixmapRGBConfig = 0;
- static EGLConfig roPixmapRGBAConfig = 0;
- static EGLConfig rwPixmapRGBConfig = 0;
- static EGLConfig rwPixmapRGBAConfig = 0;
-
- EGLConfig* targetConfig;
-
- if (hasAlpha) {
- if (readOnly)
- targetConfig = &roPixmapRGBAConfig;
- else
- targetConfig = &rwPixmapRGBAConfig;
- }
- else {
- if (readOnly)
- targetConfig = &roPixmapRGBConfig;
- else
- targetConfig = &rwPixmapRGBConfig;
- }
-
- if (*targetConfig == 0) {
- QEglProperties configAttribs;
- configAttribs.setValue(EGL_SURFACE_TYPE, EGL_PIXMAP_BIT);
- configAttribs.setRenderableType(QEgl::OpenGL);
- if (hasAlpha)
- configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE);
- else
- configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE);
-
- // If this is going to be a render target, it needs to have a depth, stencil & sample buffer
- if (!readOnly) {
- configAttribs.setValue(EGL_DEPTH_SIZE, 1);
- configAttribs.setValue(EGL_STENCIL_SIZE, 1);
- configAttribs.setValue(EGL_SAMPLE_BUFFERS, 1);
- }
-
- EGLint configCount = 0;
- do {
- eglChooseConfig(QEglContext::display(), configAttribs.properties(), targetConfig, 1, &configCount);
- if (configCount > 0) {
- // Got one
- qDebug() << "Found an" << (hasAlpha ? "ARGB" : "RGB") << (readOnly ? "readonly" : "target" )
- << "config (" << int(*targetConfig) << ") to create a pixmap surface:";
-
-// QEglProperties configProps(*targetConfig);
-// qDebug() << configProps.toString();
- break;
- }
- qWarning("choosePixmapConfig() - No suitible config found, reducing requirements");
- } while (configAttribs.reduceConfiguration());
- }
-
- if (*targetConfig == 0)
- qWarning("choosePixmapConfig() - Couldn't find a suitable config");
-
- return *targetConfig;
-}
-
-bool Q_OPENGL_EXPORT qt_createEGLSurfaceForPixmap(QPixmapData* pmd, bool readOnly)
-{
- Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
- QX11PixmapData* pixmapData = static_cast<QX11PixmapData*>(pmd);
-
- bool hasAlpha = pixmapData->hasAlphaChannel();
-
- EGLConfig pixmapConfig = qt_chooseEGLConfigForPixmap(hasAlpha, readOnly);
-
- QEglProperties pixmapAttribs;
-
- // If the pixmap can't be bound to a texture, it's pretty useless
- pixmapAttribs.setValue(EGL_TEXTURE_TARGET, EGL_TEXTURE_2D);
- if (hasAlpha)
- pixmapAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGBA);
- else
- pixmapAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB);
-
- EGLSurface pixmapSurface;
- pixmapSurface = eglCreatePixmapSurface(QEglContext::display(),
- pixmapConfig,
- (EGLNativePixmapType) pixmapData->handle(),
- pixmapAttribs.properties());
-// qDebug("qt_createEGLSurfaceForPixmap() created surface 0x%x for pixmap 0x%x",
-// pixmapSurface, pixmapData->handle());
- if (pixmapSurface == EGL_NO_SURFACE) {
- qWarning() << "Failed to create a pixmap surface using config" << (int)pixmapConfig
- << ":" << QEglContext::errorString(eglGetError());
- return false;
- }
-
- static bool doneOnce = false;
- if (!doneOnce) {
- // Make sure QGLTextureCache is instanciated so it can install cleanup hooks
- // which cleanup the EGL surface.
- QGLTextureCache::instance();
- doneOnce = true;
- }
-
- Q_ASSERT(sizeof(Qt::HANDLE) >= sizeof(EGLSurface)); // Just to make totally sure!
- pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface;
- QImagePixmapCleanupHooks::enableCleanupHooks(pixmapData); // Make sure the cleanup hook gets called
-
- return true;
-}
-
QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, const qint64 key,
QGLContext::BindOptions options)
@@ -693,8 +371,8 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons
if (!checkedForTFP) {
// Check for texture_from_pixmap egl extension
checkedForTFP = true;
- if (eglContext->hasExtension("EGL_NOKIA_texture_from_pixmap") ||
- eglContext->hasExtension("EGL_EXT_texture_from_pixmap"))
+ if (QEgl::hasExtension("EGL_NOKIA_texture_from_pixmap") ||
+ QEgl::hasExtension("EGL_EXT_texture_from_pixmap"))
{
qDebug("Found texture_from_pixmap EGL extension!");
haveTFP = true;
@@ -717,8 +395,13 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons
}
if (pixmapData->gl_surface == 0) {
- bool success = qt_createEGLSurfaceForPixmap(pixmapData, true);
- if (!success) {
+ EGLConfig config = QEgl::defaultConfig(QInternal::Pixmap,
+ QEgl::OpenGL,
+ hasAlpha ? QEgl::Translucent : QEgl::NoOptions);
+
+ QPixmap tmpPixmap(pixmapData); //###
+ pixmapData->gl_surface = (void*)QEgl::createSurface(&tmpPixmap, config);
+ if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE) {
haveTFP = false;
return 0;
}
@@ -734,9 +417,9 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons
EGLBoolean success;
success = eglBindTexImage(eglContext->display(), (EGLSurface)pixmapData->gl_surface, EGL_BACK_BUFFER);
if (success == EGL_FALSE) {
- qWarning() << "eglBindTexImage() failed:" << eglContext->errorString(eglGetError());
+ qWarning() << "eglBindTexImage() failed:" << QEgl::errorString();
eglDestroySurface(eglContext->display(), (EGLSurface)pixmapData->gl_surface);
- pixmapData->gl_surface = (Qt::HANDLE)EGL_NO_SURFACE;
+ pixmapData->gl_surface = (void*)EGL_NO_SURFACE;
haveTFP = false;
return 0;
}
@@ -757,10 +440,10 @@ void QGLContextPrivate::destroyGlSurfaceForPixmap(QPixmapData* pmd)
QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
if (pixmapData->gl_surface) {
EGLBoolean success;
- success = eglDestroySurface(QEglContext::display(), (EGLSurface)pixmapData->gl_surface);
+ success = eglDestroySurface(QEgl::display(), (EGLSurface)pixmapData->gl_surface);
if (success == EGL_FALSE) {
qWarning() << "destroyGlSurfaceForPixmap() - Error deleting surface: "
- << QEglContext::errorString(eglGetError());
+ << QEgl::errorString();
}
pixmapData->gl_surface = 0;
}
@@ -772,12 +455,12 @@ void QGLContextPrivate::unbindPixmapFromTexture(QPixmapData* pmd)
QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
if (pixmapData->gl_surface) {
EGLBoolean success;
- success = eglReleaseTexImage(QEglContext::display(),
+ success = eglReleaseTexImage(QEgl::display(),
(EGLSurface)pixmapData->gl_surface,
EGL_BACK_BUFFER);
if (success == EGL_FALSE) {
qWarning() << "unbindPixmapFromTexture() - Unable to release bound texture: "
- << QEglContext::errorString(eglGetError());
+ << QEgl::errorString();
}
}
}
diff --git a/src/opengl/qglpixelbuffer.h b/src/opengl/qglpixelbuffer.h
index 3304dd8362..d9c7e3e5ef 100644
--- a/src/opengl/qglpixelbuffer.h
+++ b/src/opengl/qglpixelbuffer.h
@@ -112,6 +112,7 @@ private:
friend class QGLWindowSurface;
friend class QGLPaintDevice;
friend class QGLPBufferGLPaintDevice;
+ friend class QGLContextPrivate;
};
QT_END_NAMESPACE
diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp
index 954049d58a..ee0714f1b1 100644
--- a/src/opengl/qglpixelbuffer_egl.cpp
+++ b/src/opengl/qglpixelbuffer_egl.cpp
@@ -82,7 +82,8 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
#endif
} else {
QEglProperties configProps;
- qt_egl_set_format(configProps, QInternal::Pbuffer, f);
+ qt_eglproperties_set_glformat(configProps, f);
+ configProps.setDeviceType(QInternal::Pbuffer);
configProps.setRenderableType(ctx->api());
bool ok = false;
#if QGL_RENDER_TEXTURE
@@ -137,7 +138,7 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
}
#endif
if (pbuf == EGL_NO_SURFACE) {
- qWarning() << "QGLPixelBufferPrivate::init(): Unable to create EGL pbuffer surface:" << QEglContext::errorString(eglGetError());
+ qWarning() << "QGLPixelBufferPrivate::init(): Unable to create EGL pbuffer surface:" << QEgl::errorString();
return false;
}
@@ -204,11 +205,12 @@ GLuint QGLPixelBuffer::generateDynamicTexture() const
bool QGLPixelBuffer::hasOpenGLPbuffers()
{
// See if we have at least 1 configuration that matches the default format.
- EGLDisplay dpy = QEglContext::display();
+ EGLDisplay dpy = QEgl::display();
if (dpy == EGL_NO_DISPLAY)
return false;
QEglProperties configProps;
- qt_egl_set_format(configProps, QInternal::Pbuffer, QGLFormat::defaultFormat());
+ qt_eglproperties_set_glformat(configProps, QGLFormat::defaultFormat());
+ configProps.setDeviceType(QInternal::Pbuffer);
configProps.setRenderableType(QEgl::OpenGL);
do {
EGLConfig cfg = 0;
diff --git a/src/opengl/qgraphicssystem_gl.cpp b/src/opengl/qgraphicssystem_gl.cpp
index 3a399ae4c1..a282e4c118 100644
--- a/src/opengl/qgraphicssystem_gl.cpp
+++ b/src/opengl/qgraphicssystem_gl.cpp
@@ -62,7 +62,6 @@ QPixmapData *QGLGraphicsSystem::createPixmapData(QPixmapData::PixelType type) co
if (type == QPixmapData::PixmapType && QX11GLPixmapData::hasX11GLPixmaps())
return new QX11GLPixmapData();
#endif
-
return new QGLPixmapData(type);
}
diff --git a/src/opengl/qpixmapdata_x11gl_egl.cpp b/src/opengl/qpixmapdata_x11gl_egl.cpp
index 6a1d030e18..d7fae1626f 100644
--- a/src/opengl/qpixmapdata_x11gl_egl.cpp
+++ b/src/opengl/qpixmapdata_x11gl_egl.cpp
@@ -44,6 +44,7 @@
#include <private/qgl_p.h>
#include <private/qegl_p.h>
#include <private/qeglproperties_p.h>
+#include <private/qeglcontext_p.h>
#if !defined(QT_OPENGL_ES_1)
#include <private/qpaintengineex_opengl2_p.h>
@@ -57,13 +58,16 @@
QT_BEGIN_NAMESPACE
-extern EGLConfig qt_chooseEGLConfigForPixmap(bool hasAlpha, bool readOnly); // in qgl_x11egl.cpp
-extern bool qt_createEGLSurfaceForPixmap(QPixmapData* pmd, bool readOnly); // in qgl_x11egl.cpp
// On 16bpp systems, RGB & ARGB pixmaps are different bit-depths and therefore need
// different contexts:
-static EGLContext qPixmapARGBSharedEglContext = EGL_NO_CONTEXT;
-static EGLContext qPixmapRGBSharedEglContext = EGL_NO_CONTEXT;
+
+Q_GLOBAL_STATIC(QEglContext, qt_x11gl_rgbContext);
+Q_GLOBAL_STATIC(QEglContext, qt_x11gl_argbContext)
+
+QEglContext* QX11GLPixmapData::rgbContext = 0;
+QEglContext* QX11GLPixmapData::argbContext = 0;
+
bool QX11GLPixmapData::hasX11GLPixmaps()
{
@@ -75,111 +79,94 @@ bool QX11GLPixmapData::hasX11GLPixmaps()
checkedForX11Pixmaps = true;
- QX11PixmapData *argbPixmapData = 0;
- QX11PixmapData *rgbPixmapData = 0;
+ EGLint rgbConfigId;
+ EGLint argbConfigId;
+
do {
if (qgetenv("QT_USE_X11GL_PIXMAPS").isEmpty())
break;
- // Check we actually have EGL configs which support pixmaps
- EGLConfig argbConfig = qt_chooseEGLConfigForPixmap(true, false);
- EGLConfig rgbConfig = qt_chooseEGLConfigForPixmap(false, false);
+ EGLConfig rgbConfig = QEgl::defaultConfig(QInternal::Pixmap, QEgl::OpenGL, QEgl::Renderable);
+ EGLConfig argbConfig = QEgl::defaultConfig(QInternal::Pixmap, QEgl::OpenGL,
+ QEgl::Renderable | QEgl::Translucent);
- if (argbConfig == 0 || rgbConfig == 0)
- break;
+ eglGetConfigAttrib(QEgl::display(), rgbConfig, EGL_CONFIG_ID, &rgbConfigId);
+ eglGetConfigAttrib(QEgl::display(), argbConfig, EGL_CONFIG_ID, &argbConfigId);
- // Create the shared contexts:
- eglBindAPI(EGL_OPENGL_ES_API);
- EGLint contextAttribs[] = {
-#if defined(QT_OPENGL_ES_2)
- EGL_CONTEXT_CLIENT_VERSION, 2,
-#endif
- EGL_NONE
- };
- qPixmapARGBSharedEglContext = eglCreateContext(QEglContext::display(),
- argbConfig, 0, contextAttribs);
-
- if (argbConfig == rgbConfig) {
- // If the configs are the same, we can re-use the same context.
- qPixmapRGBSharedEglContext = qPixmapARGBSharedEglContext;
- } else {
- qPixmapRGBSharedEglContext = eglCreateContext(QEglContext::display(),
- rgbConfig, 0, contextAttribs);
+ if (!rgbContext) {
+ rgbContext = qt_x11gl_rgbContext();
+ rgbContext->setConfig(rgbConfig);
+ rgbContext->createContext();
}
- argbPixmapData = new QX11PixmapData(QPixmapData::PixmapType);
- argbPixmapData->resize(100, 100);
- argbPixmapData->fill(Qt::transparent); // Force ARGB
+ if (!rgbContext->isValid())
+ break;
- if (!qt_createEGLSurfaceForPixmap(argbPixmapData, false))
+ // If the configs are the same, use the same egl contexts:
+ if (rgbConfig == argbConfig)
+ argbContext = rgbContext;
+
+ if (!argbContext) {
+ argbContext = qt_x11gl_argbContext();
+ argbContext->setConfig(argbConfig);
+ argbContext->createContext();
+ }
+
+ if (!argbContext->isValid())
break;
- haveX11Pixmaps = eglMakeCurrent(QEglContext::display(),
- (EGLSurface)argbPixmapData->gl_surface,
- (EGLSurface)argbPixmapData->gl_surface,
- qPixmapARGBSharedEglContext);
+ {
+ QX11PixmapData *argbPixmapData = new QX11PixmapData(QPixmapData::PixmapType);
+ argbPixmapData->resize(100, 100);
+ argbPixmapData->fill(Qt::transparent); // Force ARGB
+ QPixmap argbPixmap(argbPixmapData);
+ EGLSurface argbPixmapSurface = QEgl::createSurface(&argbPixmap, argbConfig);
+ haveX11Pixmaps = argbContext->makeCurrent(argbPixmapSurface);
+ argbContext->doneCurrent();
+ eglDestroySurface(QEgl::display(), argbPixmapSurface);
+ }
+
if (!haveX11Pixmaps) {
- EGLint err = eglGetError();
- qWarning() << "Unable to make pixmap config current:" << err << QEglContext::errorString(err);
+ qWarning() << "Unable to make pixmap surface current:" << QEgl::errorString();
break;
}
- // If the ARGB & RGB configs are the same, we don't need to check RGB too
- if (haveX11Pixmaps && (argbConfig != rgbConfig)) {
- rgbPixmapData = new QX11PixmapData(QPixmapData::PixmapType);
+ // If the ARGB & RGB configs are different, check RGB too:
+ if (argbConfig != rgbConfig) {
+ QX11PixmapData *rgbPixmapData = new QX11PixmapData(QPixmapData::PixmapType);
rgbPixmapData->resize(100, 100);
rgbPixmapData->fill(Qt::red);
- // Try to actually create an EGL pixmap surface
- if (!qt_createEGLSurfaceForPixmap(rgbPixmapData, false))
- break;
+ QPixmap rgbPixmap(rgbPixmapData);
+ EGLSurface rgbPixmapSurface = QEgl::createSurface(&rgbPixmap, rgbConfig);
+ haveX11Pixmaps = rgbContext->makeCurrent(rgbPixmapSurface);
+ rgbContext->doneCurrent();
+ eglDestroySurface(QEgl::display(), rgbPixmapSurface);
- haveX11Pixmaps = eglMakeCurrent(QEglContext::display(),
- (EGLSurface)rgbPixmapData->gl_surface,
- (EGLSurface)rgbPixmapData->gl_surface,
- qPixmapRGBSharedEglContext);
if (!haveX11Pixmaps) {
- EGLint err = eglGetError();
- qWarning() << "Unable to make pixmap config current:" << err << QEglContext::errorString(err);
+ qWarning() << "Unable to make pixmap config current:" << QEgl::errorString();
break;
}
}
- } while (0);
-
- if (qPixmapARGBSharedEglContext || qPixmapRGBSharedEglContext) {
- eglMakeCurrent(QEglContext::display(),
- EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- }
- if (argbPixmapData) {
- if (argbPixmapData->gl_surface)
- QGLContextPrivate::destroyGlSurfaceForPixmap(argbPixmapData);
- delete argbPixmapData;
- argbPixmapData = 0;
- }
- if (rgbPixmapData) {
- if (rgbPixmapData->gl_surface)
- QGLContextPrivate::destroyGlSurfaceForPixmap(rgbPixmapData);
- delete rgbPixmapData;
- rgbPixmapData = 0;
- }
+ // The pixmap surface destruction hooks are installed by QGLTextureCache, so we
+ // must make sure this is instanciated:
+ QGLTextureCache::instance();
+ } while (0);
if (!haveX11Pixmaps) {
- // Clean up the context(s) if we can't use X11GL pixmaps
- if (qPixmapARGBSharedEglContext != EGL_NO_CONTEXT)
- eglDestroyContext(QEglContext::display(), qPixmapARGBSharedEglContext);
-
- if (qPixmapRGBSharedEglContext != qPixmapARGBSharedEglContext &&
- qPixmapRGBSharedEglContext != EGL_NO_CONTEXT)
- {
- eglDestroyContext(QEglContext::display(), qPixmapRGBSharedEglContext);
+ if (argbContext && (argbContext != rgbContext)) {
+ delete argbContext;
+ argbContext = 0;
+ }
+ if (rgbContext) {
+ delete rgbContext;
+ rgbContext = 0;
}
- qPixmapRGBSharedEglContext = EGL_NO_CONTEXT;
- qPixmapARGBSharedEglContext = EGL_NO_CONTEXT;
}
if (haveX11Pixmaps)
- qDebug("QX11GLPixmapData is supported");
+ qDebug("Using QX11GLPixmapData with EGL config %d for ARGB and config %d for RGB", argbConfigId, rgbConfigId);
else
qDebug("QX11GLPixmapData is *NOT* being used");
@@ -210,11 +197,8 @@ QPaintEngine* QX11GLPixmapData::paintEngine() const
// We need to create the context before beginPaint - do it here:
if (!ctx) {
ctx = new QGLContext(glFormat());
- if (ctx->d_func()->eglContext == 0)
- ctx->d_func()->eglContext = new QEglContext();
- ctx->d_func()->eglContext->setApi(QEgl::OpenGL);
- ctx->d_func()->eglContext->setContext(hasAlphaChannel() ? qPixmapARGBSharedEglContext
- : qPixmapRGBSharedEglContext);
+ Q_ASSERT(ctx->d_func()->eglContext == 0);
+ ctx->d_func()->eglContext = hasAlphaChannel() ? argbContext : rgbContext;
}
QPaintEngine* engine;
@@ -257,10 +241,19 @@ QPaintEngine* QX11GLPixmapData::paintEngine() const
void QX11GLPixmapData::beginPaint()
{
// qDebug("QX11GLPixmapData::beginPaint()");
+ // TODO: Check to see if the surface is renderable
if ((EGLSurface)gl_surface == EGL_NO_SURFACE) {
- qt_createEGLSurfaceForPixmap(this, false);
- ctx->d_func()->eglSurface = (EGLSurface)gl_surface;
- ctx->d_func()->valid = true; // ;-)
+ QPixmap tmpPixmap(this);
+ EGLConfig cfg = ctx->d_func()->eglContext->config();
+
+ EGLSurface surface = QEgl::createSurface(&tmpPixmap, cfg);
+ if (surface == EGL_NO_SURFACE) {
+ qWarning() << "Error creating EGL surface for pixmap:" << QEgl::errorString();
+ return;
+ }
+ gl_surface = (void*)surface;
+ ctx->d_func()->eglSurface = surface;
+ ctx->d_func()->valid = true;
}
QGLPaintDevice::beginPaint();
}
diff --git a/src/opengl/qpixmapdata_x11gl_p.h b/src/opengl/qpixmapdata_x11gl_p.h
index c9f4f566ab..83cd780432 100644
--- a/src/opengl/qpixmapdata_x11gl_p.h
+++ b/src/opengl/qpixmapdata_x11gl_p.h
@@ -59,6 +59,10 @@
#include <qgl.h>
+#ifndef QT_NO_EGL
+#include <QtGui/private/qeglcontext_p.h>
+#endif
+
QT_BEGIN_NAMESPACE
class QX11GLPixmapData : public QX11PixmapData, public QGLPaintDevice
@@ -76,6 +80,11 @@ public:
static bool hasX11GLPixmaps();
static QGLFormat glFormat();
+
+#ifndef QT_NO_EGL
+ static QEglContext* rgbContext;
+ static QEglContext* argbContext;
+#endif
private:
mutable QGLContext* ctx;
};
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 4ac4a3aa09..ca88de3434 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -83,7 +83,7 @@
#endif
#ifdef QT_OPENGL_ES
-#include <private/qegl_p.h>
+#include <private/qeglcontext_p.h>
#endif
QT_BEGIN_NAMESPACE
@@ -353,18 +353,6 @@ void QGLWindowSurface::hijackWindow(QWidget *widget)
QGLContext *ctx = new QGLContext(surfaceFormat, widget);
ctx->create(qt_gl_share_widget()->context());
-#if defined(Q_WS_X11) && defined(QT_OPENGL_ES)
- // Create the EGL surface to draw into. QGLContext::chooseContext()
- // does not do this for X11/EGL, but does do it for other platforms.
- // This probably belongs in qgl_x11egl.cpp.
- QGLContextPrivate *ctxpriv = ctx->d_func();
- ctxpriv->eglSurface = ctxpriv->eglContext->createSurface(widget);
- if (ctxpriv->eglSurface == EGL_NO_SURFACE) {
- qWarning() << "hijackWindow() could not create EGL surface";
- }
- qDebug("QGLWindowSurface - using EGLConfig %d", reinterpret_cast<int>(ctxpriv->eglContext->config()));
-#endif
-
widgetPrivate->extraData()->glContext = ctx;
union { QGLContext **ctxPtr; void **voidPtr; };
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 35f552eae4..2c850c9e7e 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -45,7 +45,7 @@
#include "qvgcompositionhelper_p.h"
#include "qvgimagepool_p.h"
#if !defined(QT_NO_EGL)
-#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglcontext_p.h>
#include "qwindowsurface_vgegl_p.h"
#endif
#include <QtCore/qvarlengtharray.h>
@@ -130,9 +130,8 @@ public:
void draw(VGPath path, const QPen& pen, const QBrush& brush, VGint rule = VG_EVEN_ODD);
void stroke(VGPath path, const QPen& pen);
void fill(VGPath path, const QBrush& brush, VGint rule = VG_EVEN_ODD);
- inline void releasePath(VGPath path);
- VGPath vectorPathToVGPath(const QVectorPath& path, bool forceNewPath = false);
- VGPath painterPathToVGPath(const QPainterPath& path, bool forceNewPath = false);
+ VGPath vectorPathToVGPath(const QVectorPath& path);
+ VGPath painterPathToVGPath(const QPainterPath& path);
VGPath roundedRectPath(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode);
VGPaintType setBrush
(VGPaint paint, const QBrush& brush, VGMatrixMode mode,
@@ -178,8 +177,6 @@ public:
VGPath roundRectPath; // Cached path for quick drawing of rounded rects.
#endif
- VGPath reusablePath; // Reusable path for vectorPathToVGPath(), etc.
-
QTransform transform; // Currently active transform.
bool simpleTransform; // True if the transform is simple (non-projective).
qreal penScale; // Pen scaling factor from "transform".
@@ -352,8 +349,6 @@ void QVGPaintEnginePrivate::init()
roundRectPath = 0;
#endif
- reusablePath = 0;
-
simpleTransform = true;
pathTransformSet = false;
penScale = 1.0;
@@ -450,15 +445,6 @@ void QVGPaintEnginePrivate::initObjects()
VG_PATH_CAPABILITY_ALL);
vgAppendPathData(linePath, 2, segments, coords);
#endif
-
- // This path can be reused over and over by calling vgClearPath().
- reusablePath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
- VG_PATH_DATATYPE_F,
- 1.0f, // scale
- 0.0f, // bias
- 32 + 1, // segmentCapacityHint
- 32 * 2, // coordCapacityHint
- VG_PATH_CAPABILITY_ALL);
}
void QVGPaintEnginePrivate::destroy()
@@ -478,8 +464,6 @@ void QVGPaintEnginePrivate::destroy()
if (roundRectPath)
vgDestroyPath(roundRectPath);
#endif
- if (reusablePath)
- vgDestroyPath(reusablePath);
#if !defined(QVG_NO_DRAW_GLYPHS)
QVGFontCache::Iterator it;
@@ -531,14 +515,11 @@ void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev)
0.0f, -1.0f, 0.0f,
0.5f, devh + 0.5f, 1.0f);
- // The image transform is always the full transformation,
- // because it can be projective.
- imageTransform = transform * viewport;
-
- // Determine if the transformation is projective.
- bool projective = (imageTransform.m13() != 0.0f ||
- imageTransform.m23() != 0.0f ||
- imageTransform.m33() != 1.0f);
+ // Compute the path transform and determine if it is projective.
+ pathTransform = transform * viewport;
+ bool projective = (pathTransform.m13() != 0.0f ||
+ pathTransform.m23() != 0.0f ||
+ pathTransform.m33() != 1.0f);
if (projective) {
// The engine cannot do projective path transforms for us,
// so we will have to convert the co-ordinates ourselves.
@@ -546,42 +527,37 @@ void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev)
pathTransform = viewport;
simpleTransform = false;
} else {
- pathTransform = imageTransform;
simpleTransform = true;
}
pathTransformSet = false;
+ // The image transform is always the full transformation,
+ // because it can be projective. It also does not need the
+ // (0.5, -0.5) translation because vgDrawImage() implicitly
+ // adds 0.5 to each co-ordinate.
+ QTransform viewport2(1.0f, 0.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ 0.0f, devh, 1.0f);
+ imageTransform = transform * viewport2;
+
// Calculate the scaling factor to use for turning cosmetic pens
// into ordinary non-cosmetic pens.
qt_scaleForTransform(transform, &penScale);
}
-inline void QVGPaintEnginePrivate::releasePath(VGPath path)
-{
- if (path == reusablePath)
- vgClearPath(path, VG_PATH_CAPABILITY_ALL);
- else
- vgDestroyPath(path);
-}
-
-VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path, bool forceNewPath)
+VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
{
int count = path.elementCount();
const qreal *points = path.points();
const QPainterPath::ElementType *elements = path.elements();
- VGPath vgpath;
- if (forceNewPath) {
- vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
- VG_PATH_DATATYPE_F,
- 1.0f, // scale
- 0.0f, // bias
- count + 1, // segmentCapacityHint
- count * 2, // coordCapacityHint
- VG_PATH_CAPABILITY_ALL);
- } else {
- vgpath = reusablePath;
- }
+ VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ count + 1, // segmentCapacityHint
+ count * 2, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
// Size is sufficient segments for drawRoundedRect() paths.
QVarLengthArray<VGubyte, 20> segments;
@@ -753,22 +729,17 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path, bool f
return vgpath;
}
-VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path, bool forceNewPath)
+VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path)
{
int count = path.elementCount();
- VGPath vgpath;
- if (forceNewPath) {
- vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
- VG_PATH_DATATYPE_F,
- 1.0f, // scale
- 0.0f, // bias
- count + 1, // segmentCapacityHint
- count * 2, // coordCapacityHint
- VG_PATH_CAPABILITY_ALL);
- } else {
- vgpath = reusablePath;
- }
+ VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ count + 1, // segmentCapacityHint
+ count * 2, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
if (count == 0)
return vgpath;
@@ -987,7 +958,13 @@ VGPath QVGPaintEnginePrivate::roundedRectPath(const QRectF &rect, qreal xRadius,
vgModifyPathCoords(vgpath, 0, 9, pts);
}
#else
- VGPath vgpath = reusablePath;
+ VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ 10, // segmentCapacityHint
+ 17 * 2, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
vgAppendPathData(vgpath, 10, roundedrect_types, pts);
#endif
@@ -1540,7 +1517,7 @@ void QVGPaintEngine::draw(const QVectorPath &path)
d->draw(vgpath, s->pen, s->brush, VG_EVEN_ODD);
else
d->draw(vgpath, s->pen, s->brush, VG_NON_ZERO);
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
}
void QVGPaintEngine::fill(const QVectorPath &path, const QBrush &brush)
@@ -1551,7 +1528,7 @@ void QVGPaintEngine::fill(const QVectorPath &path, const QBrush &brush)
d->fill(vgpath, brush, VG_EVEN_ODD);
else
d->fill(vgpath, brush, VG_NON_ZERO);
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
}
void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
@@ -1559,7 +1536,7 @@ void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
Q_D(QVGPaintEngine);
VGPath vgpath = d->vectorPathToVGPath(path);
d->stroke(vgpath, pen);
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
}
// Determine if a co-ordinate transform is simple enough to allow
@@ -1755,7 +1732,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
default: break;
}
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
vgSeti(VG_MASKING, VG_TRUE);
d->maskValid = true;
@@ -2072,7 +2049,7 @@ void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op)
default: break;
}
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
vgSeti(VG_MASKING, VG_TRUE);
d->maskValid = true;
@@ -2086,6 +2063,7 @@ void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op)
void QVGPaintEnginePrivate::ensureMask
(QVGPaintEngine *engine, int width, int height)
{
+ scissorMask = false;
if (maskIsSet) {
vgMask(VG_INVALID_HANDLE, VG_FILL_MASK, 0, 0, width, height);
maskRect = QRect();
@@ -2511,7 +2489,7 @@ void QVGPaintEngine::drawRoundedRect(const QRectF &rect, qreal xrad, qreal yrad,
VGPath vgpath = d->roundedRectPath(rect, xrad, yrad, mode);
d->draw(vgpath, s->pen, s->brush);
#if defined(QVG_NO_MODIFY_PATH)
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
#endif
} else {
QPaintEngineEx::drawRoundedRect(rect, xrad, yrad, mode);
@@ -2660,7 +2638,13 @@ void QVGPaintEngine::drawEllipse(const QRectF &r)
Q_D(QVGPaintEngine);
if (d->simpleTransform) {
QVGPainterState *s = state();
- VGPath path = d->reusablePath;
+ VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ 4, // segmentCapacityHint
+ 12, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
static VGubyte segments[4] = {
VG_MOVE_TO_ABS,
VG_SCCWARC_TO_REL,
@@ -2684,7 +2668,7 @@ void QVGPaintEngine::drawEllipse(const QRectF &r)
coords[11] = 0.0f;
vgAppendPathData(path, 4, segments, coords);
d->draw(path, s->pen, s->brush);
- d->releasePath(path);
+ vgDestroyPath(path);
} else {
// The projective transform version of an ellipse is difficult.
// Generate a QVectorPath containing cubic curves and transform that.
@@ -2708,7 +2692,7 @@ void QVGPaintEngine::drawPath(const QPainterPath &path)
d->draw(vgpath, s->pen, s->brush, VG_EVEN_ODD);
else
d->draw(vgpath, s->pen, s->brush, VG_NON_ZERO);
- d->releasePath(vgpath);
+ vgDestroyPath(vgpath);
}
void QVGPaintEngine::drawPoints(const QPointF *points, int pointCount)
@@ -2783,7 +2767,13 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD
{
Q_D(QVGPaintEngine);
QVGPainterState *s = state();
- VGPath path = d->reusablePath;
+ VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ pointCount + 1, // segmentCapacityHint
+ pointCount * 2, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
QVarLengthArray<VGfloat, 16> coords;
QVarLengthArray<VGubyte, 10> segments;
for (int i = 0; i < pointCount; ++i, ++points) {
@@ -2817,14 +2807,20 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD
d->draw(path, s->pen, s->brush, VG_EVEN_ODD);
break;
}
- d->releasePath(path);
+ vgDestroyPath(path);
}
void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
{
Q_D(QVGPaintEngine);
QVGPainterState *s = state();
- VGPath path = d->reusablePath;
+ VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ pointCount + 1, // segmentCapacityHint
+ pointCount * 2, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
QVarLengthArray<VGfloat, 16> coords;
QVarLengthArray<VGubyte, 10> segments;
for (int i = 0; i < pointCount; ++i, ++points) {
@@ -2858,7 +2854,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr
d->draw(path, s->pen, s->brush, VG_EVEN_ODD);
break;
}
- d->releasePath(path);
+ vgDestroyPath(path);
}
void QVGPaintEnginePrivate::setImageOptions()
@@ -3045,8 +3041,8 @@ void QVGPaintEngine::drawTiledPixmap
// (i.e. no opacity), no rotation or scaling, and drawing the full
// pixmap rather than parts of the pixmap. Even having just one of
// these conditions will improve performance.
-void QVGPaintEngine::drawPixmapFragments(const QPainter::Fragment *drawingData, int dataCount,
- const QPixmap &pixmap, QFlags<QPainter::FragmentHint> hints)
+void QVGPaintEngine::drawPixmapFragments(const QPainter::PixmapFragment *drawingData, int dataCount,
+ const QPixmap &pixmap, QFlags<QPainter::PixmapFragmentHint> hints)
{
#if !defined(QT_SHIVAVG)
Q_D(QVGPaintEngine);
@@ -3255,7 +3251,7 @@ void QVGFontGlyphCache::cacheGlyphs(QVGPaintEnginePrivate *d,
fontEngine->getUnscaledGlyph(glyph, &path, &metrics);
VGPath vgPath;
if (!path.isEmpty()) {
- vgPath = d->painterPathToVGPath(path, true);
+ vgPath = d->painterPathToVGPath(path);
} else {
// Probably a "space" character with no visible outline.
vgPath = VG_INVALID_HANDLE;
diff --git a/src/openvg/qpaintengine_vg_p.h b/src/openvg/qpaintengine_vg_p.h
index 1203af5940..1e7e26c3df 100644
--- a/src/openvg/qpaintengine_vg_p.h
+++ b/src/openvg/qpaintengine_vg_p.h
@@ -137,7 +137,8 @@ public:
void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s);
- void drawPixmapFragments(const QPainter::Fragment *drawingData, int dataCount, const QPixmap &pixmap, QFlags<QPainter::FragmentHint> hints);
+ void drawPixmapFragments(const QPainter::PixmapFragment *drawingData, int dataCount, const QPixmap &pixmap,
+ QFlags<QPainter::PixmapFragmentHint> hints);
void drawTextItem(const QPointF &p, const QTextItem &textItem);
void drawStaticTextItem(QStaticTextItem *staticTextItem);
diff --git a/src/openvg/qvg_p.h b/src/openvg/qvg_p.h
index 7857bb685e..51abbee645 100644
--- a/src/openvg/qvg_p.h
+++ b/src/openvg/qvg_p.h
@@ -58,7 +58,7 @@
#include <QtGui/qimage.h>
#if !defined(QT_NO_EGL)
-#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglcontext_p.h>
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/openvg/qwindowsurface_vg.cpp b/src/openvg/qwindowsurface_vg.cpp
index 83b0764bd3..07d9209e5a 100644
--- a/src/openvg/qwindowsurface_vg.cpp
+++ b/src/openvg/qwindowsurface_vg.cpp
@@ -47,7 +47,7 @@
#if !defined(QT_NO_EGL)
-#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglcontext_p.h>
#include <QtGui/private/qwidget_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/openvg/qwindowsurface_vgegl_p.h b/src/openvg/qwindowsurface_vgegl_p.h
index aa0c648a4e..f6adbf37db 100644
--- a/src/openvg/qwindowsurface_vgegl_p.h
+++ b/src/openvg/qwindowsurface_vgegl_p.h
@@ -58,7 +58,7 @@
#if !defined(QT_NO_EGL)
-#include <QtGui/private/qegl_p.h>
+#include <QtGui/private/qeglcontext_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro
index 7ba62b3870..a67c8f6723 100644
--- a/src/plugins/bearer/bearer.pro
+++ b/src/plugins/bearer/bearer.pro
@@ -6,7 +6,7 @@ TEMPLATE = subdirs
#win32:SUBDIRS += nla
win32:SUBDIRS += generic
win32:!wince*:SUBDIRS += nativewifi
-macx:SUBDIRS += corewlan
+macx:contains(QT_CONFIG, corewlan):SUBDIRS += corewlan
macx:SUBDIRS += generic
symbian:SUBDIRS += symbian
maemo6:contains(QT_CONFIG, dbus):SUBDIRS += icd
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h
index 044b43313c..cbaa9d6b93 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.h
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.h
@@ -46,6 +46,7 @@
#include <QMap>
#include <QTimer>
+#include <SystemConfiguration/SystemConfiguration.h>
QT_BEGIN_NAMESPACE
@@ -77,7 +78,9 @@ public:
QNetworkConfigurationPrivatePointer defaultConfiguration();
- bool getAllScInterfaces();
+ bool getWifiInterfaces();
+
+ bool requiresPolling() const;
private Q_SLOTS:
void doRequestUpdate();
@@ -85,12 +88,16 @@ private Q_SLOTS:
private:
bool isWifiReady(const QString &dev);
QMap<QString, QString> configurationInterface;
- QTimer pollTimer;
QStringList scanForSsids(const QString &interfaceName);
bool isKnownSsid(const QString &interfaceName, const QString &ssid);
QList<QNetworkConfigurationPrivate *> foundConfigurations;
+ SCDynamicStoreRef storeSession;
+ CFRunLoopSourceRef runloopSource;
+
+ void startNetworkChangeLoop();
+
};
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index a5384d1fe8..cb278d9de5 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -61,62 +61,118 @@
#include <Foundation/NSEnumerator.h>
#include <Foundation/NSKeyValueObserving.h>
#include <Foundation/NSAutoreleasePool.h>
+#include <Foundation/NSLock.h>
#include <SystemConfiguration/SCNetworkConfiguration.h>
+#include <private/qt_cocoa_helpers_mac_p.h>
+#include "private/qcore_mac_p.h"
+
QMap <QString, QString> networkInterfaces;
-QT_BEGIN_NAMESPACE
+#ifdef MAC_SDK_10_6
+@interface QNSListener : NSObject
+{
+ NSNotificationCenter *center;
+ CWInterface *currentInterface;
+ QCoreWlanEngine *engine;
+ NSAutoreleasePool *autoreleasepool;
+ NSLock *locker;
+}
+- (void)notificationHandler:(NSNotification *)notification;
+- (void)remove;
+- (void)setEngine:(QCoreWlanEngine *)coreEngine;
+- (void)dealloc;
-inline QString cfstringRefToQstring(CFStringRef cfStringRef) {
-// return QString([cfStringRef UTF8String]);
- QString retVal;
- CFIndex maxLength = 2 * CFStringGetLength(cfStringRef) + 1/*zero term*/; // max UTF8
- char *cstring = new char[maxLength];
- if (CFStringGetCString(CFStringRef(cfStringRef), cstring, maxLength, kCFStringEncodingUTF8)) {
- retVal = QString::fromUtf8(cstring);
- }
- delete[] cstring;
- return retVal;
+@property (assign) QCoreWlanEngine* engine;
+
+@end
+
+@implementation QNSListener
+- (id) init
+{
+ [locker lock];
+ autoreleasepool = [[NSAutoreleasePool alloc] init];
+ center = [NSNotificationCenter defaultCenter];
+ currentInterface = [CWInterface interface];
+// [center addObserver:self selector:@selector(notificationHandler:) name:kCWLinkDidChangeNotification object:nil];
+ [center addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
+ [locker unlock];
+ return self;
}
-inline CFStringRef qstringToCFStringRef(const QString &string)
+-(void)dealloc
{
- return CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(string.unicode()),
- string.length());
+ [autoreleasepool release];
+ [super dealloc];
}
-inline NSString *qstringToNSString(const QString &qstr)
-{ return [reinterpret_cast<const NSString *>(qstringToCFStringRef(qstr)) autorelease]; }
+-(void)setEngine:(QCoreWlanEngine *)coreEngine
+{
+ [locker lock];
+ if(!engine)
+ engine = coreEngine;
+ [locker unlock];
+}
-inline QString nsstringToQString(const NSString *nsstr)
-{ return cfstringRefToQstring(reinterpret_cast<const CFStringRef>(nsstr)); }
+-(void)remove
+{
+ [locker lock];
+ [center removeObserver:self];
+ [locker unlock];
+}
-inline QStringList nsarrayToQStringList(void *nsarray)
+- (void)notificationHandler:(NSNotification *)notification
{
- QStringList result;
- NSArray *array = static_cast<NSArray *>(nsarray);
- for (NSUInteger i=0; i<[array count]; ++i)
- result << nsstringToQString([array objectAtIndex:i]);
- return result;
+ engine->requestUpdate();
}
+@end
+
+QNSListener *listener = 0;
+
+#endif
+
+QT_BEGIN_NAMESPACE
+
static QString qGetInterfaceType(const QString &interfaceString)
{
return networkInterfaces.value(interfaceString, QLatin1String("Unknown"));
}
+void networkChangeCallback(SCDynamicStoreRef/* store*/, CFArrayRef changedKeys, void *info)
+{
+ for ( long i = 0; i < CFArrayGetCount(changedKeys); i++) {
+
+ QString changed = QCFString::toQString((CFStringRef)CFArrayGetValueAtIndex(changedKeys, i));
+ if( changed.contains("/Network/Global/IPv4")) {
+ QCoreWlanEngine* wlanEngine = static_cast<QCoreWlanEngine*>(info);
+ wlanEngine->requestUpdate();
+ }
+ }
+ return;
+}
+
QCoreWlanEngine::QCoreWlanEngine(QObject *parent)
: QBearerEngineImpl(parent)
{
- connect(&pollTimer, SIGNAL(timeout()), this, SLOT(doRequestUpdate()));
- pollTimer.setInterval(10000);
- doRequestUpdate();
+ startNetworkChangeLoop();
+
+#if defined(MAC_SDK_10_6)
+ if(!listener) {
+ listener = [[QNSListener alloc] init];
+ listener.engine = this;
+ }
+#endif
}
QCoreWlanEngine::~QCoreWlanEngine()
{
while (!foundConfigurations.isEmpty())
delete foundConfigurations.takeFirst();
+#if defined(MAC_SDK_10_6)
+ [listener remove];
+ [listener release];
+#endif
}
QString QCoreWlanEngine::getInterfaceFromId(const QString &id)
@@ -142,7 +198,7 @@ void QCoreWlanEngine::connectToId(const QString &id)
if(networkInterfaces.value(interfaceString) == "WLAN") {
#if defined(MAC_SDK_10_6)
- CWInterface *wifiInterface = [CWInterface interfaceWithName: qstringToNSString(interfaceString)];
+ CWInterface *wifiInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)];
CWConfiguration *userConfig = [ wifiInterface configuration];
NSSet *remNets = [userConfig rememberedNetworks]; //CWWirelessProfile
@@ -150,17 +206,16 @@ void QCoreWlanEngine::connectToId(const QString &id)
NSEnumerator *enumerator = [remNets objectEnumerator];
CWWirelessProfile *wProfile;
NSUInteger index=0;
- CWNetwork *apNetwork;
NSDictionary *parametersDict;
NSArray* apArray;
- CW8021XProfile *user8021XProfile;
- NSError *err;
- NSMutableDictionary *params;
+ CW8021XProfile *user8021XProfile;
+ NSError *err;
+ NSMutableDictionary *params;
while ((wProfile = [enumerator nextObject])) { //CWWirelessProfile
- if(id == nsstringToQString([wProfile ssid])) {
+ if(id == QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([wProfile ssid])))) {
user8021XProfile = nil;
user8021XProfile = [ wProfile user8021XProfile];
@@ -179,16 +234,14 @@ void QCoreWlanEngine::connectToId(const QString &id)
if(!err) {
for(uint row=0; row < [apArray count]; row++ ) {
- apNetwork = [apArray objectAtIndex:row];
+ CWNetwork *apNetwork = [apArray objectAtIndex:row];
if([[apNetwork ssid] compare:[wProfile ssid]] == NSOrderedSame) {
bool result = [wifiInterface associateToNetwork: apNetwork parameters:[NSDictionary dictionaryWithDictionary:params] error:&err];
if(!result) {
- qWarning() <<"ERROR"<< nsstringToQString([err localizedDescription ]);
emit connectionError(id, ConnectError);
} else {
- [apNetwork release];
[autoreleasepool release];
return;
}
@@ -198,7 +251,6 @@ void QCoreWlanEngine::connectToId(const QString &id)
}
index++;
}
- [apNetwork release];
emit connectionError(id, InterfaceLookupError);
#endif
@@ -217,7 +269,7 @@ void QCoreWlanEngine::disconnectFromId(const QString &id)
if(networkInterfaces.value(getInterfaceFromId(id)) == "WLAN") { //wifi only for now
#if defined(MAC_SDK_10_6)
NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
- CWInterface *wifiInterface = [CWInterface interfaceWithName: qstringToNSString(interfaceString)];
+ CWInterface *wifiInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)];
[wifiInterface disassociate];
if([[wifiInterface interfaceState]intValue] != kCWInterfaceStateInactive) {
emit connectionError(id, DisconnectionError);
@@ -235,15 +287,14 @@ void QCoreWlanEngine::requestUpdate()
{
QMutexLocker locker(&mutex);
- pollTimer.stop();
- QTimer::singleShot(0, this, SLOT(doRequestUpdate()));
+ doRequestUpdate();
}
void QCoreWlanEngine::doRequestUpdate()
{
QMutexLocker locker(&mutex);
- getAllScInterfaces();
+ getWifiInterfaces();
QStringList previous = accessPointConfigurations.keys();
@@ -284,7 +335,7 @@ void QCoreWlanEngine::doRequestUpdate()
if (!interface.addressEntries().isEmpty())
state = QNetworkConfiguration::Active;
- if (accessPointConfigurations.contains(id)) {
+ if (accessPointConfigurations.contains(id)) { //handle only scanned AP's
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
bool changed = false;
@@ -311,20 +362,6 @@ void QCoreWlanEngine::doRequestUpdate()
if (changed)
emit configurationChanged(ptr);
- } else {
- QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate);
-
- ptr->name = name;
- ptr->isValid = true;
- ptr->id = id;
- ptr->state = state;
- ptr->type = QNetworkConfiguration::InternetAccessPoint;
- ptr->bearer = qGetInterfaceType(interface.name());
-
- accessPointConfigurations.insert(id, ptr);
- configurationInterface.insert(id, interface.name());
-
- emit configurationAdded(ptr);
}
}
@@ -335,8 +372,6 @@ void QCoreWlanEngine::doRequestUpdate()
emit configurationRemoved(ptr);
}
- pollTimer.start();
-
emit updateCompleted();
}
@@ -347,87 +382,82 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName)
QStringList found;
#if defined(MAC_SDK_10_6)
- NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ QMacCocoaAutoReleasePool pool;
- CWInterface *currentInterface = [CWInterface interfaceWithName:qstringToNSString(interfaceName)];
- NSError *err = nil;
- NSDictionary *parametersDict = nil;
- NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err];
+ CWInterface *currentInterface = [CWInterface interfaceWithName:qt_mac_QStringToNSString(interfaceName)];
+ if([currentInterface power]) {
+ NSError *err = nil;
+ NSDictionary *parametersDict = nil;
+ NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err];
- CWNetwork *apNetwork;
- if (!err) {
- for(uint row=0; row < [apArray count]; row++ ) {
- NSAutoreleasePool *looppool = [[NSAutoreleasePool alloc] init];
+ CWNetwork *apNetwork;
+ if (!err) {
+ for(uint row=0; row < [apArray count]; row++ ) {
- apNetwork = [apArray objectAtIndex:row];
+ apNetwork = [apArray objectAtIndex:row];
- const QString networkSsid = nsstringToQString([apNetwork ssid]);
+ const QString networkSsid = qt_mac_NSStringToQString([apNetwork ssid]);
- const QString id = QString::number(qHash(QLatin1String("corewlan:") + networkSsid));
- found.append(id);
+ const QString id = QString::number(qHash(QLatin1String("corewlan:") + networkSsid));
+ found.append(id);
- QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
+ QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
- if ([currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
- if (networkSsid == nsstringToQString([currentInterface ssid]))
- state = QNetworkConfiguration::Active;
- } else {
- if (isKnownSsid(interfaceName, networkSsid))
- state = QNetworkConfiguration::Discovered;
- else
- state = QNetworkConfiguration::Defined;
- }
+ if ([currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
+ if (networkSsid == qt_mac_NSStringToQString([currentInterface ssid]))
+ state = QNetworkConfiguration::Active;
+ } else {
+ if (isKnownSsid(interfaceName, networkSsid))
+ state = QNetworkConfiguration::Discovered;
+ else
+ state = QNetworkConfiguration::Defined;
+ }
- if (accessPointConfigurations.contains(id)) {
- QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
+ if (accessPointConfigurations.contains(id)) {
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
- bool changed = false;
+ bool changed = false;
- if (!ptr->isValid) {
- ptr->isValid = true;
- changed = true;
- }
+ if (!ptr->isValid) {
+ ptr->isValid = true;
+ changed = true;
+ }
- if (ptr->name != networkSsid) {
- ptr->name = networkSsid;
- changed = true;
- }
+ if (ptr->name != networkSsid) {
+ ptr->name = networkSsid;
+ changed = true;
+ }
- if (ptr->id != id) {
- ptr->id = id;
- changed = true;
- }
+ if (ptr->id != id) {
+ ptr->id = id;
+ changed = true;
+ }
- if (ptr->state != state) {
- ptr->state = state;
- changed = true;
- }
+ if (ptr->state != state) {
+ ptr->state = state;
+ changed = true;
+ }
- if (changed)
- emit configurationChanged(ptr);
- } else {
- QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate);
+ if (changed)
+ emit configurationChanged(ptr);
+ } else {
+ QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate);
- ptr->name = networkSsid;
- ptr->isValid = true;
- ptr->id = id;
- ptr->state = state;
- ptr->type = QNetworkConfiguration::InternetAccessPoint;
- ptr->bearer = QLatin1String("WLAN");
+ ptr->name = networkSsid;
+ ptr->isValid = true;
+ ptr->id = id;
+ ptr->state = state;
+ ptr->type = QNetworkConfiguration::InternetAccessPoint;
+ ptr->bearer = QLatin1String("WLAN");
- accessPointConfigurations.insert(id, ptr);
- configurationInterface.insert(id, interfaceName);
+ accessPointConfigurations.insert(id, ptr);
+ configurationInterface.insert(id, interfaceName);
- emit configurationAdded(ptr);
+ emit configurationAdded(ptr);
+ }
}
- [looppool release];
}
- } else {
- qWarning() << "ERROR scanning for ssids" << nsstringToQString([err localizedDescription])
- <<nsstringToQString([err domain]);
}
-
- [autoreleasepool drain];
#else
Q_UNUSED(interfaceName);
#endif
@@ -439,7 +469,7 @@ bool QCoreWlanEngine::isWifiReady(const QString &wifiDeviceName)
QMutexLocker locker(&mutex);
#if defined(MAC_SDK_10_6)
- CWInterface *defaultInterface = [CWInterface interfaceWithName: qstringToNSString(wifiDeviceName)];
+ CWInterface *defaultInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(wifiDeviceName)];
if([defaultInterface power])
return true;
#else
@@ -453,11 +483,11 @@ bool QCoreWlanEngine::isKnownSsid(const QString &interfaceName, const QString &s
QMutexLocker locker(&mutex);
#if defined(MAC_SDK_10_6)
- CWInterface *wifiInterface = [CWInterface interfaceWithName: qstringToNSString(interfaceName)];
+ CWInterface *wifiInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceName)];
CWConfiguration *userConfig = [wifiInterface configuration];
NSSet *remNets = [userConfig rememberedNetworks];
for (CWWirelessProfile *wProfile in remNets) {
- if(ssid == nsstringToQString([wProfile ssid]))
+ if(ssid == qt_mac_NSStringToQString([wProfile ssid]))
return true;
}
#else
@@ -467,45 +497,18 @@ bool QCoreWlanEngine::isKnownSsid(const QString &interfaceName, const QString &s
return false;
}
-bool QCoreWlanEngine::getAllScInterfaces()
+bool QCoreWlanEngine::getWifiInterfaces()
{
QMutexLocker locker(&mutex);
networkInterfaces.clear();
- NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ QMacCocoaAutoReleasePool pool;
- CFArrayRef interfaces = SCNetworkInterfaceCopyAll();
- if (interfaces != NULL) {
- CFIndex interfaceCount;
- CFIndex interfaceIndex;
- interfaceCount = CFArrayGetCount(interfaces);
- for (interfaceIndex = 0; interfaceIndex < interfaceCount; interfaceIndex++) {
- NSAutoreleasePool *looppool = [[NSAutoreleasePool alloc] init];
-
- CFStringRef bsdName;
- CFTypeRef thisInterface = CFArrayGetValueAtIndex(interfaces, interfaceIndex);
- bsdName = SCNetworkInterfaceGetBSDName((SCNetworkInterfaceRef)thisInterface);
- QString interfaceName = cfstringRefToQstring(bsdName);
- QString typeStr;
- CFStringRef type = SCNetworkInterfaceGetInterfaceType((SCNetworkInterfaceRef)thisInterface);
- if ( CFEqual(type, kSCNetworkInterfaceTypeIEEE80211)) {
- typeStr = "WLAN";
-// } else if (CFEqual(type, kSCNetworkInterfaceTypeBluetooth)) {
-// typeStr = "Bluetooth";
- } else if(CFEqual(type, kSCNetworkInterfaceTypeEthernet)) {
- typeStr = "Ethernet";
- } else if(CFEqual(type, kSCNetworkInterfaceTypeFireWire)) {
- typeStr = "Ethernet"; //ok a bit fudged
- }
- if(!networkInterfaces.contains(interfaceName) && !typeStr.isEmpty()) {
- networkInterfaces.insert(interfaceName,typeStr);
- }
- [looppool release];
- }
+ NSArray *wifiInterfaces = [CWInterface supportedInterfaces];
+ for(uint row=0; row < [wifiInterfaces count]; row++ ) {
+ networkInterfaces.insert( qt_mac_NSStringToQString([wifiInterfaces objectAtIndex:row]),"WLAN");
}
- CFRelease(interfaces);
- [autoreleasepool drain];
return true;
}
@@ -540,6 +543,60 @@ QNetworkConfigurationManager::Capabilities QCoreWlanEngine::capabilities() const
return QNetworkConfigurationManager::ForcedRoaming;
}
+void QCoreWlanEngine::startNetworkChangeLoop()
+{
+ storeSession = NULL;
+
+ SCDynamicStoreContext dynStoreContext = { 0, this/*(void *)storeSession*/, NULL, NULL, NULL };
+ storeSession = SCDynamicStoreCreate(NULL,
+ CFSTR("networkChangeCallback"),
+ networkChangeCallback,
+ &dynStoreContext);
+ if (!storeSession ) {
+ qWarning() << "could not open dynamic store: error:" << SCErrorString(SCError());
+ return;
+ }
+
+ CFMutableArrayRef notificationKeys;
+ notificationKeys = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
+ CFMutableArrayRef patternsArray;
+ patternsArray = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
+
+ CFStringRef storeKey;
+ storeKey = SCDynamicStoreKeyCreateNetworkGlobalEntity(NULL,
+ kSCDynamicStoreDomainState,
+ kSCEntNetIPv4);
+ CFArrayAppendValue(notificationKeys, storeKey);
+ CFRelease(storeKey);
+
+ storeKey = SCDynamicStoreKeyCreateNetworkServiceEntity(NULL,
+ kSCDynamicStoreDomainState,
+ kSCCompAnyRegex,
+ kSCEntNetIPv4);
+ CFArrayAppendValue(patternsArray, storeKey);
+ CFRelease(storeKey);
+
+ if (!SCDynamicStoreSetNotificationKeys(storeSession , notificationKeys, patternsArray)) {
+ qWarning() << "register notification error:"<< SCErrorString(SCError());
+ CFRelease(storeSession );
+ CFRelease(notificationKeys);
+ CFRelease(patternsArray);
+ return;
+ }
+ CFRelease(notificationKeys);
+ CFRelease(patternsArray);
+
+ runloopSource = SCDynamicStoreCreateRunLoopSource(NULL, storeSession , 0);
+ if (!runloopSource) {
+ qWarning() << "runloop source error:"<< SCErrorString(SCError());
+ CFRelease(storeSession );
+ return;
+ }
+
+ CFRunLoopAddSource(CFRunLoopGetCurrent(), runloopSource, kCFRunLoopDefaultMode);
+ return;
+}
+
QNetworkSessionPrivate *QCoreWlanEngine::createSessionBackend()
{
return new QNetworkSessionPrivateImpl;
@@ -550,4 +607,9 @@ QNetworkConfigurationPrivatePointer QCoreWlanEngine::defaultConfiguration()
return QNetworkConfigurationPrivatePointer();
}
+bool QCoreWlanEngine::requiresPolling() const
+{
+ return true;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp
index dc89342d3c..a9e78b2bed 100644
--- a/src/plugins/bearer/generic/qgenericengine.cpp
+++ b/src/plugins/bearer/generic/qgenericengine.cpp
@@ -63,6 +63,7 @@
#include <unistd.h>
#endif
+QT_BEGIN_NAMESPACE
static QString qGetInterfaceType(const QString &interface)
{
@@ -141,9 +142,6 @@ static QString qGetInterfaceType(const QString &interface)
QGenericEngine::QGenericEngine(QObject *parent)
: QBearerEngineImpl(parent)
{
- connect(&pollTimer, SIGNAL(timeout()), this, SLOT(doRequestUpdate()));
- pollTimer.setInterval(10000);
- doRequestUpdate();
}
QGenericEngine::~QGenericEngine()
@@ -178,8 +176,7 @@ void QGenericEngine::requestUpdate()
{
QMutexLocker locker(&mutex);
- pollTimer.stop();
- QTimer::singleShot(0, this, SLOT(doRequestUpdate()));
+ doRequestUpdate();
}
void QGenericEngine::doRequestUpdate()
@@ -281,8 +278,6 @@ void QGenericEngine::doRequestUpdate()
emit configurationRemoved(ptr);
}
- pollTimer.start();
-
emit updateCompleted();
}
@@ -327,5 +322,11 @@ QNetworkConfigurationPrivatePointer QGenericEngine::defaultConfiguration()
return QNetworkConfigurationPrivatePointer();
}
+
+bool QGenericEngine::requiresPolling() const
+{
+ return true;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/generic/qgenericengine.h b/src/plugins/bearer/generic/qgenericengine.h
index cd9a976ce9..a1b9167817 100644
--- a/src/plugins/bearer/generic/qgenericengine.h
+++ b/src/plugins/bearer/generic/qgenericengine.h
@@ -78,12 +78,13 @@ public:
QNetworkConfigurationPrivatePointer defaultConfiguration();
+ bool requiresPolling() const;
+
private Q_SLOTS:
void doRequestUpdate();
private:
QMap<QString, QString> configurationInterface;
- QTimer pollTimer;
};
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/icd/monitor.cpp b/src/plugins/bearer/icd/monitor.cpp
index 0ff45d2e36..5b0af7e40e 100644
--- a/src/plugins/bearer/icd/monitor.cpp
+++ b/src/plugins/bearer/icd/monitor.cpp
@@ -47,32 +47,12 @@
#include <maemo_icd.h>
#include <iapconf.h>
-#define IAP "/system/osso/connectivity/IAP"
-
-static int iap_prefix_len;
-
-/* Notify func that is called when IAP is added or deleted */
-void notify_iap(GConfClient *, guint, GConfEntry *entry, gpointer user_data)
-{
- const char *key = gconf_entry_get_key(entry);
- if (key && g_str_has_prefix(key, IAP)) {
- IapMonitor *ptr = (IapMonitor *)user_data;
- if (gconf_entry_get_value(entry)) {
- ptr->iapAdded(key, entry);
- } else {
- ptr->iapDeleted(key, entry);
- }
- }
-}
-
void IapMonitor::setup(QIcdEngine *d_ptr)
{
if (first_call) {
- d = d_ptr;
- iap_prefix_len = strlen(IAP);
- iap = new Maemo::IAPMonitor(notify_iap, (gpointer)this);
- first_call = false;
+ d = d_ptr;
+ first_call = false;
}
}
@@ -80,37 +60,25 @@ void IapMonitor::setup(QIcdEngine *d_ptr)
void IapMonitor::cleanup()
{
if (!first_call) {
- delete iap;
- timers.removeAll();
- first_call = true;
+ timers.removeAll();
+ first_call = true;
}
}
-void IapMonitor::iapAdded(const char *key, GConfEntry * /*entry*/)
+void IapMonitor::iapAdded(const QString &iap_id)
{
- //qDebug("Notify called for added element: %s=%s",
- // gconf_entry_get_key(entry), gconf_value_to_string(gconf_entry_get_value(entry)));
-
- /* We cannot know when the IAP is fully added to gconf, so a timer is
+ /* We cannot know when the IAP is fully added to db, so a timer is
* installed instead. When the timer expires we hope that IAP is added ok.
*/
- QString iap_id = QString(key + iap_prefix_len + 1).section('/',0,0);
- timers.add(iap_id, d);
+ QString id = iap_id;
+ timers.add(id, d);
}
-void IapMonitor::iapDeleted(const char *key, GConfEntry * /*entry*/)
+void IapMonitor::iapRemoved(const QString &iap_id)
{
- //qDebug("Notify called for deleted element: %s", gconf_entry_get_key(entry));
-
- /* We are only interested in IAP deletions so we skip the config entries
- */
- if (strstr(key + iap_prefix_len + 1, "/")) {
- //qDebug("Deleting IAP config %s", key+iap_prefix_len);
- return;
- }
-
- QString iap_id = key + iap_prefix_len + 1;
- d->deleteConfiguration(iap_id);
+ QString id = iap_id;
+ d->deleteConfiguration(id);
}
+
diff --git a/src/plugins/bearer/icd/monitor.h b/src/plugins/bearer/icd/monitor.h
index 82b0f36d1d..10ffb30b1c 100644
--- a/src/plugins/bearer/icd/monitor.h
+++ b/src/plugins/bearer/icd/monitor.h
@@ -53,7 +53,7 @@
class QIcdEngine;
/* The IapAddTimer is a helper class that makes sure we update
- * the configuration only after all gconf additions to certain
+ * the configuration only after all db additions to certain
* iap are finished (after a certain timeout)
*/
class _IapAddTimer : public QObject
@@ -64,10 +64,10 @@ public:
_IapAddTimer() {}
~_IapAddTimer()
{
- if (timer.isActive()) {
- QObject::disconnect(&timer, SIGNAL(timeout()), this, SLOT(timeout()));
- timer.stop();
- }
+ if (timer.isActive()) {
+ QObject::disconnect(&timer, SIGNAL(timeout()), this, SLOT(timeout()));
+ timer.stop();
+ }
}
void add(QString& iap_id, QIcdEngine *d);
@@ -92,23 +92,21 @@ public:
void removeAll();
};
-class IapMonitor
+class IapMonitor : public Maemo::IAPMonitor
{
public:
IapMonitor() : first_call(true) { }
- friend void notify_iap(GConfClient *, guint,
- GConfEntry *entry, gpointer user_data);
void setup(QIcdEngine *d);
void cleanup();
+protected:
+ void iapAdded(const QString &iapId);
+ void iapRemoved(const QString &iapId);
+
private:
bool first_call;
- void iapAdded(const char *key, GConfEntry *entry);
- void iapDeleted(const char *key, GConfEntry *entry);
-
- Maemo::IAPMonitor *iap;
QIcdEngine *d;
IapAddTimer timers;
};
diff --git a/src/plugins/bearer/icd/qicdengine.cpp b/src/plugins/bearer/icd/qicdengine.cpp
index f10042a611..5e506ef907 100644
--- a/src/plugins/bearer/icd/qicdengine.cpp
+++ b/src/plugins/bearer/icd/qicdengine.cpp
@@ -189,14 +189,9 @@ void QIcdEngine::doRequestUpdate()
QList<QString> all_iaps;
Maemo::IAPConf::getAll(all_iaps);
- foreach (QString escaped_iap_id, all_iaps) {
+ foreach (QString iap_id, all_iaps) {
QByteArray ssid;
- /* The key that is returned by getAll() needs to be unescaped */
- gchar *unescaped_id = gconf_unescape_key(escaped_iap_id.toUtf8().data(), -1);
- QString iap_id = QString((char *)unescaped_id);
- g_free(unescaped_id);
-
previous.removeAll(iap_id);
Maemo::IAPConf saved_ap(iap_id);
@@ -211,14 +206,11 @@ void QIcdEngine::doRequestUpdate()
QString iap_type = saved_ap.value("type").toString();
if (iap_type.startsWith("WLAN")) {
ssid = saved_ap.value("wlan_ssid").toByteArray();
- if (ssid.isEmpty()) {
- qWarning() << "Cannot get ssid for" << iap_id;
+ if (ssid.isEmpty())
continue;
- }
QString security_method = saved_ap.value("wlan_security").toString();
} else if (iap_type.isEmpty()) {
- qWarning() << "IAP" << iap_id << "network type is not set! Skipping it";
continue;
} else {
#ifdef BEARER_MANAGEMENT_DEBUG
@@ -231,11 +223,12 @@ void QIcdEngine::doRequestUpdate()
IcdNetworkConfigurationPrivate *cpPriv = new IcdNetworkConfigurationPrivate;
cpPriv->name = saved_ap.value("name").toString();
- if (cpPriv->name.isEmpty())
- if (!ssid.isEmpty() && ssid.size() > 0)
- cpPriv->name = ssid.data();
- else
- cpPriv->name = iap_id;
+ if (cpPriv->name.isEmpty()) {
+ if (!ssid.isEmpty() && ssid.size() > 0)
+ cpPriv->name = ssid.data();
+ else
+ cpPriv->name = iap_id;
+ }
cpPriv->isValid = true;
cpPriv->id = iap_id;
cpPriv->network_id = ssid;
@@ -274,7 +267,9 @@ void QIcdEngine::doRequestUpdate()
scanned,
error);
if (!error.isEmpty()) {
- qWarning() << "Network scanning failed" << error;
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug() << "Network scanning failed" << error;
+#endif
} else {
#ifdef BEARER_MANAGEMENT_DEBUG
if (!scanned.isEmpty())
@@ -379,23 +374,17 @@ void QIcdEngine::deleteConfiguration(const QString &iap_id)
{
QMutexLocker locker(&mutex);
- /* Called when IAPs are deleted in gconf, in this case we do not scan
- * or read all the IAPs from gconf because it might take too much power
- * (multiple applications would need to scan and read all IAPs from gconf)
+ /* Called when IAPs are deleted in db, in this case we do not scan
+ * or read all the IAPs from db because it might take too much power
+ * (multiple applications would need to scan and read all IAPs from db)
*/
- if (accessPointConfigurations.contains(iap_id)) {
- QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.take(iap_id);
-
- if (ptr) {
- ptr->isValid = false;
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.take(iap_id);
+ if (ptr) {
#ifdef BEARER_MANAGEMENT_DEBUG
- qDebug() << "IAP" << iap_id << "was removed from storage.";
+ qDebug() << "IAP" << iap_id << "was removed from storage.";
#endif
- emit configurationRemoved(ptr);
- } else {
- qWarning("Configuration not found for IAP %s", iap_id.toAscii().data());
- }
+ emit configurationRemoved(ptr);
} else {
#ifdef BEARER_MANAGEMENT_DEBUG
qDebug("IAP: %s, already missing from the known list", iap_id.toAscii().data());
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp
index a9e93e06a4..bb81408adf 100644
--- a/src/plugins/bearer/icd/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp
@@ -49,6 +49,7 @@
#include <maemo_icd.h>
#include <iapconf.h>
+#include <proxyconf.h>
#include <sys/types.h>
#include <ifaddrs.h>
@@ -139,7 +140,9 @@ static DBusHandlerResult signal_handler(DBusConnection *,
DBUS_TYPE_STRING, &network_type,
DBUS_TYPE_STRING, &state,
DBUS_TYPE_INVALID) == FALSE) {
- qWarning() << QString("Failed to parse icd status signal: %1").arg(error.message);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug() << QString("Failed to parse icd status signal: %1").arg(error.message);
+#endif
} else {
QString _iap_id(iap_id);
QString _network_type(network_type);
@@ -165,7 +168,6 @@ void IcdListener::setup(QNetworkSessionPrivateImpl *d)
dbus_connection = get_dbus_conn(&error);
if (dbus_error_is_set(&error)) {
- qWarning() << "Cannot get dbus connection.";
dbus_error_free(&error);
return;
}
@@ -175,7 +177,6 @@ void IcdListener::setup(QNetworkSessionPrivateImpl *d)
dbus_bus_add_match(dbus_connection, ICD_DBUS_MATCH, &error);
if (dbus_error_is_set(&error)) {
- qWarning() << "Cannot add match" << ICD_DBUS_MATCH;
dbus_error_free(&error);
return;
}
@@ -184,7 +185,6 @@ void IcdListener::setup(QNetworkSessionPrivateImpl *d)
ICD_DBUS_PATH,
&icd_vtable,
(void*)this) == FALSE) {
- qWarning() << "Cannot register dbus signal handler, interface"<< ICD_DBUS_INTERFACE << "path" << ICD_DBUS_PATH;
dbus_error_free(&error);
return;
}
@@ -299,6 +299,8 @@ void IcdListener::cleanupSession(QNetworkSessionPrivateImpl *ptr)
void QNetworkSessionPrivateImpl::cleanupSession(void)
{
icdListener()->cleanupSession(this);
+
+ QObject::disconnect(q, SIGNAL(stateChanged(QNetworkSession::State)), this, SLOT(updateProxies(QNetworkSession::State)));
}
@@ -337,8 +339,6 @@ void QNetworkSessionPrivateImpl::updateIdentifier(QString &newId)
} else {
toIcdConfig(privateConfiguration(publicConfig))->network_attrs |= ICD_NW_ATTR_IAPNAME;
if (privateConfiguration(publicConfig)->id != newId) {
- qWarning() << "Your config id changed from" << privateConfiguration(publicConfig)->id
- << "to" << newId;
privateConfiguration(publicConfig)->id = newId;
}
}
@@ -451,6 +451,8 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface()
connect(&manager, SIGNAL(configurationChanged(QNetworkConfiguration)),
this, SLOT(configurationChanged(QNetworkConfiguration)));
+ QObject::connect(q, SIGNAL(stateChanged(QNetworkSession::State)), this, SLOT(updateProxies(QNetworkSession::State)));
+
state = QNetworkSession::Invalid;
lastError = QNetworkSession::UnknownSessionError;
@@ -867,7 +869,6 @@ void QNetworkSessionPrivateImpl::do_open()
qDebug() << "connect to"<< iap << "failed, result is empty";
#endif
updateState(QNetworkSession::Disconnected);
- emit quitPendingWaitsForOpened();
emit QNetworkSessionPrivate::error(QNetworkSession::InvalidConfigurationError);
if (publicConfig.type() == QNetworkConfiguration::UserChoice)
cleanupAnyConfiguration();
@@ -882,7 +883,6 @@ void QNetworkSessionPrivateImpl::do_open()
if ((publicConfig.type() != QNetworkConfiguration::UserChoice) &&
(connected_iap != config.identifier())) {
updateState(QNetworkSession::Disconnected);
- emit quitPendingWaitsForOpened();
emit QNetworkSessionPrivate::error(QNetworkSession::InvalidConfigurationError);
return;
}
@@ -946,7 +946,6 @@ void QNetworkSessionPrivateImpl::do_open()
updateState(QNetworkSession::Disconnected);
if (publicConfig.type() == QNetworkConfiguration::UserChoice)
cleanupAnyConfiguration();
- emit quitPendingWaitsForOpened();
emit QNetworkSessionPrivate::error(QNetworkSession::UnknownSessionError);
}
}
@@ -1013,25 +1012,21 @@ void QNetworkSessionPrivateImpl::stop()
void QNetworkSessionPrivateImpl::migrate()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::accept()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::ignore()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::reject()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
@@ -1080,14 +1075,14 @@ QString QNetworkSessionPrivateImpl::errorString() const
QString errorStr;
switch(q->error()) {
case QNetworkSession::RoamingError:
- errorStr = QObject::tr("Roaming error");
+ errorStr = QNetworkSessionPrivateImpl::tr("Roaming error");
break;
case QNetworkSession::SessionAbortedError:
- errorStr = QObject::tr("Session aborted by user or system");
+ errorStr = QNetworkSessionPrivateImpl::tr("Session aborted by user or system");
break;
default:
case QNetworkSession::UnknownSessionError:
- errorStr = QObject::tr("Unidentified Error");
+ errorStr = QNetworkSessionPrivateImpl::tr("Unidentified Error");
break;
}
return errorStr;
@@ -1099,6 +1094,30 @@ QNetworkSession::SessionError QNetworkSessionPrivateImpl::error() const
return QNetworkSession::UnknownSessionError;
}
+void QNetworkSessionPrivateImpl::updateProxies(QNetworkSession::State newState)
+{
+ if ((newState == QNetworkSession::Connected) &&
+ (newState != currentState))
+ updateProxyInformation();
+ else if ((newState == QNetworkSession::Disconnected) &&
+ (currentState == QNetworkSession::Closing))
+ clearProxyInformation();
+
+ currentState = newState;
+}
+
+
+void QNetworkSessionPrivateImpl::updateProxyInformation()
+{
+ Maemo::ProxyConf::update();
+}
+
+
+void QNetworkSessionPrivateImpl::clearProxyInformation()
+{
+ Maemo::ProxyConf::clear();
+}
+
#include "qnetworksession_impl.moc"
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.h b/src/plugins/bearer/icd/qnetworksession_impl.h
index b7461dc022..587e6dc97a 100644
--- a/src/plugins/bearer/icd/qnetworksession_impl.h
+++ b/src/plugins/bearer/icd/qnetworksession_impl.h
@@ -75,7 +75,7 @@ class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate
public:
QNetworkSessionPrivateImpl(QIcdEngine *engine)
- : engine(engine), connectFlags(ICD_CONNECTION_FLAG_USER_EVENT)
+ : engine(engine), connectFlags(ICD_CONNECTION_FLAG_USER_EVENT), currentState(QNetworkSession::Invalid)
{
}
@@ -118,6 +118,7 @@ private Q_SLOTS:
void do_open();
void networkConfigurationsChanged();
void configurationChanged(const QNetworkConfiguration &config);
+ void updateProxies(QNetworkSession::State newState);
private:
QNetworkConfigurationManager manager;
@@ -139,6 +140,10 @@ private:
void updateIdentifier(QString &newId);
quint64 getStatistics(bool sent) const;
void cleanupSession(void);
+
+ void updateProxyInformation();
+ void clearProxyInformation();
+ QNetworkSession::State currentState;
};
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
index c8015d88a4..b6522ada7b 100644
--- a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
+++ b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
@@ -83,8 +83,10 @@ QNativeWifiEngine::QNativeWifiEngine(QObject *parent)
DWORD result = local_WlanOpenHandle(1, 0, &clientVersion, &handle);
if (result != ERROR_SUCCESS) {
+#ifdef BEARER_MANAGEMENT_DEBUG
if (result != ERROR_SERVICE_NOT_ACTIVE)
- qWarning("%s: WlanOpenHandle failed with error %ld\n", __FUNCTION__, result);
+ qDebug("%s: WlanOpenHandle failed with error %ld\n", __FUNCTION__, result);
+#endif
return;
}
@@ -92,13 +94,11 @@ QNativeWifiEngine::QNativeWifiEngine(QObject *parent)
result = local_WlanRegisterNotification(handle, WLAN_NOTIFICATION_SOURCE_ALL, true,
WLAN_NOTIFICATION_CALLBACK(qNotificationCallback),
this, 0, 0);
+#ifdef BEARER_MANAGEMENT_DEBUG
if (result != ERROR_SUCCESS)
- qWarning("%s: WlanRegisterNotification failed with error %ld\n", __FUNCTION__, result);
+ qDebug("%s: WlanRegisterNotification failed with error %ld\n", __FUNCTION__, result);
+#endif
- // On Windows XP SP2 and SP3 only connection and disconnection notifications are available.
- // We need to poll for changes in available wireless networks.
- connect(&pollTimer, SIGNAL(timeout()), this, SLOT(scanComplete()));
- pollTimer.setInterval(10000);
scanComplete();
}
@@ -111,16 +111,22 @@ void QNativeWifiEngine::scanComplete()
{
QMutexLocker locker(&mutex);
- QStringList previous = accessPointConfigurations.keys();
-
// enumerate interfaces
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#endif
+
+ locker.unlock();
+ emit updateCompleted();
+
return;
}
+ QStringList previous = accessPointConfigurations.keys();
+
for (unsigned int i = 0; i < interfaceList->dwNumberOfItems; ++i) {
const WLAN_INTERFACE_INFO &interface = interfaceList->InterfaceInfo[i];
@@ -128,8 +134,10 @@ void QNativeWifiEngine::scanComplete()
result = local_WlanGetAvailableNetworkList(handle, &interface.InterfaceGuid,
3, 0, &networkList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanGetAvailableNetworkList failed with error %ld\n",
- __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanGetAvailableNetworkList failed with error %ld\n",
+ __FUNCTION__, result);
+#endif
continue;
}
@@ -222,8 +230,6 @@ void QNativeWifiEngine::scanComplete()
emit configurationRemoved(ptr);
}
- pollTimer.start();
-
emit updateCompleted();
}
@@ -235,7 +241,9 @@ QString QNativeWifiEngine::getInterfaceFromId(const QString &id)
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#endif
return QString();
}
@@ -248,8 +256,10 @@ QString QNativeWifiEngine::getInterfaceFromId(const QString &id)
wlan_intf_opcode_current_connection, 0, &dataSize,
reinterpret_cast<PVOID *>(&connectionAttributes), 0);
if (result != ERROR_SUCCESS) {
+#ifdef BEARER_MANAGEMENT_DEBUG
if (result != ERROR_INVALID_STATE)
- qWarning("%s: WlanQueryInterface failed with error %ld\n", __FUNCTION__, result);
+ qDebug("%s: WlanQueryInterface failed with error %ld\n", __FUNCTION__, result);
+#endif
continue;
}
@@ -286,7 +296,9 @@ bool QNativeWifiEngine::hasIdentifier(const QString &id)
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#endif
return false;
}
@@ -297,8 +309,10 @@ bool QNativeWifiEngine::hasIdentifier(const QString &id)
result = local_WlanGetAvailableNetworkList(handle, &interface.InterfaceGuid,
3, 0, &networkList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanGetAvailableNetworkList failed with error %ld\n",
- __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanGetAvailableNetworkList failed with error %ld\n",
+ __FUNCTION__, result);
+#endif
continue;
}
@@ -341,7 +355,9 @@ void QNativeWifiEngine::connectToId(const QString &id)
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#endif
emit connectionError(id, InterfaceLookupError);
return;
}
@@ -355,8 +371,10 @@ void QNativeWifiEngine::connectToId(const QString &id)
result = local_WlanGetAvailableNetworkList(handle, &interface.InterfaceGuid,
3, 0, &networkList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanGetAvailableNetworkList failed with error %ld\n",
- __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanGetAvailableNetworkList failed with error %ld\n",
+ __FUNCTION__, result);
+#endif
continue;
}
@@ -384,7 +402,9 @@ void QNativeWifiEngine::connectToId(const QString &id)
DWORD result = local_WlanConnect(handle, &interface.InterfaceGuid, &parameters, 0);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanConnect failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanConnect failed with error %ld\n", __FUNCTION__, result);
+#endif
emit connectionError(id, ConnectError);
break;
}
@@ -423,7 +443,9 @@ void QNativeWifiEngine::disconnectFromId(const QString &id)
DWORD result = local_WlanDisconnect(handle, &guid, 0);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanDisconnect failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanDisconnect failed with error %ld\n", __FUNCTION__, result);
+#endif
emit connectionError(id, DisconnectionError);
return;
}
@@ -437,17 +459,34 @@ void QNativeWifiEngine::requestUpdate()
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
- qWarning("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanEnumInterfaces failed with error %ld\n", __FUNCTION__, result);
+#endif
+
+ locker.unlock();
+ emit updateCompleted();
+
return;
}
+ bool requested = false;
for (unsigned int i = 0; i < interfaceList->dwNumberOfItems; ++i) {
result = local_WlanScan(handle, &interfaceList->InterfaceInfo[i].InterfaceGuid, 0, 0, 0);
- if (result != ERROR_SUCCESS)
- qWarning("%s: WlanScan failed with error %ld\n", __FUNCTION__, result);
+ if (result != ERROR_SUCCESS) {
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("%s: WlanScan failed with error %ld\n", __FUNCTION__, result);
+#endif
+ } else {
+ requested = true;
+ }
}
local_WlanFreeMemory(interfaceList);
+
+ if (!requested) {
+ locker.unlock();
+ emit updateCompleted();
+ }
}
QNetworkSession::State QNativeWifiEngine::sessionStateForId(const QString &id)
@@ -492,4 +531,11 @@ QNetworkConfigurationPrivatePointer QNativeWifiEngine::defaultConfiguration()
return QNetworkConfigurationPrivatePointer();
}
+bool QNativeWifiEngine::requiresPolling() const
+{
+ // On Windows XP SP2 and SP3 only connection and disconnection notifications are available.
+ // We need to poll for changes in available wireless networks.
+ return true;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.h b/src/plugins/bearer/nativewifi/qnativewifiengine.h
index a9a9375d4d..56489b6dd3 100644
--- a/src/plugins/bearer/nativewifi/qnativewifiengine.h
+++ b/src/plugins/bearer/nativewifi/qnativewifiengine.h
@@ -90,12 +90,12 @@ public:
inline bool available() const { return handle != 0; }
+ bool requiresPolling() const;
+
public Q_SLOTS:
void scanComplete();
private:
- QTimer pollTimer;
-
Qt::HANDLE handle;
};
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
index 5c6efe3826..0fa8f3cf11 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
@@ -49,7 +49,6 @@
#include <QtCore/qdebug.h>
-#include <NetworkManager/NetworkManager.h>
#include <QtDBus>
#include <QDBusConnection>
#include <QDBusError>
@@ -147,7 +146,7 @@ QString QNetworkManagerEngine::getInterfaceFromId(const QString &id)
continue;
QNetworkManagerInterfaceDevice device(devices.at(0).path());
- return device.interface().name();
+ return device.networkInterface().name();
}
}
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
index 5dc0ea459f..d23bb0de52 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
@@ -41,26 +41,22 @@
#include <QObject>
#include <QList>
-#include <QtDBus>
-#include <QDBusConnection>
-#include <QDBusError>
-#include <QDBusInterface>
-#include <QDBusMessage>
-#include <QDBusReply>
-#include <QDBusPendingCallWatcher>
-#include <QDBusObjectPath>
-#include <QDBusPendingCall>
-
-#include <NetworkManager/NetworkManager.h>
+#include <QtDBus/QtDBus>
+#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusError>
+#include <QtDBus/QDBusInterface>
+#include <QtDBus/QDBusMessage>
+#include <QtDBus/QDBusReply>
+#include <QtDBus/QDBusPendingCallWatcher>
+#include <QtDBus/QDBusObjectPath>
+#include <QtDBus/QDBusPendingCall>
-#include "qnmdbushelper.h"
#include "qnetworkmanagerservice.h"
+#include "qnmdbushelper.h"
-//Q_DECLARE_METATYPE(QList<uint>)
QT_BEGIN_NAMESPACE
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
-//static QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbusConnection);
class QNetworkManagerInterfacePrivate
{
@@ -70,19 +66,19 @@ public:
};
QNetworkManagerInterface::QNetworkManagerInterface(QObject *parent)
- : QObject(parent), nmDBusHelper(0)
+ : QObject(parent)
{
d = new QNetworkManagerInterfacePrivate();
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
+ QLatin1String(NM_DBUS_PATH),
+ QLatin1String(NM_DBUS_INTERFACE),
dbusConnection);
if (!d->connectionInterface->isValid()) {
d->valid = false;
return;
}
d->valid = true;
- nmDBusHelper = new QNmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForPropertiesChanged(const QString &,QMap<QString,QVariant>)),
this,SIGNAL(propertiesChanged( const QString &, QMap<QString,QVariant>)));
connect(nmDBusHelper,SIGNAL(pathForStateChanged(const QString &, quint32)),
@@ -92,8 +88,6 @@ QNetworkManagerInterface::QNetworkManagerInterface(QObject *parent)
QNetworkManagerInterface::~QNetworkManagerInterface()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -108,24 +102,24 @@ bool QNetworkManagerInterface::setConnections()
if(!isValid() )
return false;
bool allOk = false;
- if (!dbusConnection.connect(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- "PropertiesChanged",
+ if (!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
+ QLatin1String(NM_DBUS_PATH),
+ QLatin1String(NM_DBUS_INTERFACE),
+ QLatin1String("PropertiesChanged"),
nmDBusHelper,SLOT(slotPropertiesChanged( QMap<QString,QVariant>)))) {
allOk = true;
}
- if (!dbusConnection.connect(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- "DeviceAdded",
+ if (!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
+ QLatin1String(NM_DBUS_PATH),
+ QLatin1String(NM_DBUS_INTERFACE),
+ QLatin1String("DeviceAdded"),
this,SIGNAL(deviceAdded(QDBusObjectPath)))) {
allOk = true;
}
- if (!dbusConnection.connect(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- "DeviceRemoved",
+ if (!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
+ QLatin1String(NM_DBUS_PATH),
+ QLatin1String(NM_DBUS_INTERFACE),
+ QLatin1String("DeviceRemoved"),
this,SIGNAL(deviceRemoved(QDBusObjectPath)))) {
allOk = true;
}
@@ -140,7 +134,7 @@ QDBusInterface *QNetworkManagerInterface::connectionInterface() const
QList <QDBusObjectPath> QNetworkManagerInterface::getDevices() const
{
- QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call("GetDevices");
+ QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call(QLatin1String("GetDevices"));
return reply.value();
}
@@ -149,7 +143,7 @@ void QNetworkManagerInterface::activateConnection( const QString &serviceName,
QDBusObjectPath devicePath,
QDBusObjectPath specificObject)
{
- QDBusPendingCall pendingCall = d->connectionInterface->asyncCall("ActivateConnection",
+ QDBusPendingCall pendingCall = d->connectionInterface->asyncCall(QLatin1String("ActivateConnection"),
QVariant(serviceName),
QVariant::fromValue(connectionPath),
QVariant::fromValue(devicePath),
@@ -162,7 +156,7 @@ void QNetworkManagerInterface::activateConnection( const QString &serviceName,
void QNetworkManagerInterface::deactivateConnection(QDBusObjectPath connectionPath) const
{
- d->connectionInterface->call("DeactivateConnection", QVariant::fromValue(connectionPath));
+ d->connectionInterface->call(QLatin1String("DeactivateConnection"), QVariant::fromValue(connectionPath));
}
bool QNetworkManagerInterface::wirelessEnabled() const
@@ -186,7 +180,6 @@ quint32 QNetworkManagerInterface::state()
return d->connectionInterface->property("State").toUInt();
}
-/////////////
class QNetworkManagerInterfaceAccessPointPrivate
{
public:
@@ -200,13 +193,12 @@ QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint(const Q
{
d = new QNetworkManagerInterfaceAccessPointPrivate();
d->path = dbusPathName;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_ACCESS_POINT,
+ QLatin1String(NM_DBUS_INTERFACE_ACCESS_POINT),
dbusConnection);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- qWarning() << "Could not find InterfaceAccessPoint";
return;
}
d->valid = true;
@@ -215,8 +207,6 @@ QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint(const Q
QNetworkManagerInterfaceAccessPoint::~QNetworkManagerInterfaceAccessPoint()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -232,17 +222,15 @@ bool QNetworkManagerInterfaceAccessPoint::setConnections()
return false;
bool allOk = false;
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForPropertiesChanged(const QString &,QMap<QString,QVariant>)),
this,SIGNAL(propertiesChanged( const QString &, QMap<QString,QVariant>)));
- if(dbusConnection.connect(NM_DBUS_SERVICE,
+ if(dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_ACCESS_POINT,
- "PropertiesChanged",
+ QLatin1String(NM_DBUS_INTERFACE_ACCESS_POINT),
+ QLatin1String("PropertiesChanged"),
nmDBusHelper,SLOT(slotPropertiesChanged( QMap<QString,QVariant>))) ) {
allOk = true;
@@ -300,7 +288,6 @@ quint32 QNetworkManagerInterfaceAccessPoint::strength() const
return d->connectionInterface->property("Strength").toUInt();
}
-/////////////
class QNetworkManagerInterfaceDevicePrivate
{
public:
@@ -314,13 +301,12 @@ QNetworkManagerInterfaceDevice::QNetworkManagerInterfaceDevice(const QString &de
{
d = new QNetworkManagerInterfaceDevicePrivate();
d->path = deviceObjectPath;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE,
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE),
dbusConnection);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- qWarning() << "Could not find NetworkManagerInterfaceDevice";
return;
}
d->valid = true;
@@ -328,8 +314,6 @@ QNetworkManagerInterfaceDevice::QNetworkManagerInterfaceDevice(const QString &de
QNetworkManagerInterfaceDevice::~QNetworkManagerInterfaceDevice()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -345,16 +329,14 @@ bool QNetworkManagerInterfaceDevice::setConnections()
return false;
bool allOk = false;
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper,SIGNAL(pathForStateChanged(const QString &, quint32)),
this, SIGNAL(stateChanged(const QString&, quint32)));
- if(dbusConnection.connect(NM_DBUS_SERVICE,
+ if(dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE,
- "StateChanged",
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE),
+ QLatin1String("StateChanged"),
nmDBusHelper,SLOT(deviceStateChanged(quint32)))) {
allOk = true;
}
@@ -371,7 +353,7 @@ QString QNetworkManagerInterfaceDevice::udi() const
return d->connectionInterface->property("Udi").toString();
}
-QNetworkInterface QNetworkManagerInterfaceDevice::interface() const
+QNetworkInterface QNetworkManagerInterfaceDevice::networkInterface() const
{
return QNetworkInterface::interfaceFromName(d->connectionInterface->property("Interface").toString());
}
@@ -397,7 +379,6 @@ QDBusObjectPath QNetworkManagerInterfaceDevice::ip4config() const
return prop.value<QDBusObjectPath>();
}
-/////////////
class QNetworkManagerInterfaceDeviceWiredPrivate
{
public:
@@ -411,13 +392,12 @@ QNetworkManagerInterfaceDeviceWired::QNetworkManagerInterfaceDeviceWired(const Q
{
d = new QNetworkManagerInterfaceDeviceWiredPrivate();
d->path = ifaceDevicePath;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRED,
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRED),
dbusConnection, parent);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- qWarning() << "Could not find InterfaceDeviceWired";
return;
}
d->valid = true;
@@ -425,8 +405,6 @@ QNetworkManagerInterfaceDeviceWired::QNetworkManagerInterfaceDeviceWired(const Q
QNetworkManagerInterfaceDeviceWired::~QNetworkManagerInterfaceDeviceWired()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -444,16 +422,14 @@ bool QNetworkManagerInterfaceDeviceWired::setConnections()
bool allOk = false;
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForPropertiesChanged(const QString &,QMap<QString,QVariant>)),
this,SIGNAL(propertiesChanged( const QString &, QMap<QString,QVariant>)));
- if(dbusConnection.connect(NM_DBUS_SERVICE,
+ if(dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRED,
- "PropertiesChanged",
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRED),
+ QLatin1String("PropertiesChanged"),
nmDBusHelper,SLOT(slotPropertiesChanged( QMap<QString,QVariant>))) ) {
allOk = true;
}
@@ -480,7 +456,6 @@ bool QNetworkManagerInterfaceDeviceWired::carrier() const
return d->connectionInterface->property("Carrier").toBool();
}
-/////////////
class QNetworkManagerInterfaceDeviceWirelessPrivate
{
public:
@@ -494,13 +469,12 @@ QNetworkManagerInterfaceDeviceWireless::QNetworkManagerInterfaceDeviceWireless(c
{
d = new QNetworkManagerInterfaceDeviceWirelessPrivate();
d->path = ifaceDevicePath;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRELESS),
dbusConnection, parent);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- qWarning() << "Could not find InterfaceDeviceWireless";
return;
}
d->valid = true;
@@ -508,8 +482,6 @@ QNetworkManagerInterfaceDeviceWireless::QNetworkManagerInterfaceDeviceWireless(c
QNetworkManagerInterfaceDeviceWireless::~QNetworkManagerInterfaceDeviceWireless()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -525,10 +497,8 @@ bool QNetworkManagerInterfaceDeviceWireless::setConnections()
return false;
bool allOk = false;
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForPropertiesChanged(const QString &,QMap<QString,QVariant>)),
this,SIGNAL(propertiesChanged( const QString &, QMap<QString,QVariant>)));
@@ -538,28 +508,28 @@ bool QNetworkManagerInterfaceDeviceWireless::setConnections()
connect(nmDBusHelper, SIGNAL(pathForAccessPointRemoved(const QString &,QDBusObjectPath)),
this,SIGNAL(accessPointRemoved(const QString &,QDBusObjectPath)));
- if(!dbusConnection.connect(NM_DBUS_SERVICE,
+ if(!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
- "AccessPointAdded",
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRELESS),
+ QLatin1String("AccessPointAdded"),
nmDBusHelper, SLOT(slotAccessPointAdded( QDBusObjectPath )))) {
allOk = true;
}
- if(!dbusConnection.connect(NM_DBUS_SERVICE,
+ if(!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
- "AccessPointRemoved",
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRELESS),
+ QLatin1String("AccessPointRemoved"),
nmDBusHelper, SLOT(slotAccessPointRemoved( QDBusObjectPath )))) {
allOk = true;
}
- if(!dbusConnection.connect(NM_DBUS_SERVICE,
+ if(!dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
- "PropertiesChanged",
+ QLatin1String(NM_DBUS_INTERFACE_DEVICE_WIRELESS),
+ QLatin1String("PropertiesChanged"),
nmDBusHelper,SLOT(slotPropertiesChanged( QMap<QString,QVariant>)))) {
allOk = true;
}
@@ -574,7 +544,7 @@ QDBusInterface *QNetworkManagerInterfaceDeviceWireless::connectionInterface() co
QList <QDBusObjectPath> QNetworkManagerInterfaceDeviceWireless::getAccessPoints()
{
- QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call("GetAccessPoints");
+ QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call(QLatin1String("GetAccessPoints"));
return reply.value();
}
@@ -603,7 +573,6 @@ quint32 QNetworkManagerInterfaceDeviceWireless::wirelessCapabilities() const
return d->connectionInterface->property("WirelelessCapabilities").toUInt();
}
-/////////////
class QNetworkManagerSettingsPrivate
{
public:
@@ -618,12 +587,11 @@ QNetworkManagerSettings::QNetworkManagerSettings(const QString &settingsService,
d = new QNetworkManagerSettingsPrivate();
d->path = settingsService;
d->connectionInterface = new QDBusInterface(settingsService,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS,
+ QLatin1String(NM_DBUS_PATH_SETTINGS),
+ QLatin1String(NM_DBUS_IFACE_SETTINGS),
dbusConnection);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- //qWarning() << "Could not find NetworkManagerSettings";
return;
}
d->valid = true;
@@ -644,8 +612,8 @@ bool QNetworkManagerSettings::setConnections()
{
bool allOk = false;
- if (!dbusConnection.connect(d->path, NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS, "NewConnection",
+ if (!dbusConnection.connect(d->path, QLatin1String(NM_DBUS_PATH_SETTINGS),
+ QLatin1String(NM_DBUS_IFACE_SETTINGS), QLatin1String("NewConnection"),
this, SIGNAL(newConnection(QDBusObjectPath)))) {
allOk = true;
}
@@ -655,7 +623,7 @@ bool QNetworkManagerSettings::setConnections()
QList <QDBusObjectPath> QNetworkManagerSettings::listConnections()
{
- QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call("ListConnections");
+ QDBusReply<QList<QDBusObjectPath> > reply = d->connectionInterface->call(QLatin1String("ListConnections"));
return reply.value();
}
@@ -665,7 +633,6 @@ QDBusInterface *QNetworkManagerSettings::connectionInterface() const
}
-/////////////
class QNetworkManagerSettingsConnectionPrivate
{
public:
@@ -685,22 +652,19 @@ QNetworkManagerSettingsConnection::QNetworkManagerSettingsConnection(const QStri
d->service = settingsService;
d->connectionInterface = new QDBusInterface(settingsService,
d->path,
- NM_DBUS_IFACE_SETTINGS_CONNECTION,
+ QLatin1String(NM_DBUS_IFACE_SETTINGS_CONNECTION),
dbusConnection, parent);
if (!d->connectionInterface->isValid()) {
- //qWarning() << "Could not find NetworkManagerSettingsConnection";
d->valid = false;
return;
}
d->valid = true;
- QDBusReply< QNmSettingsMap > rep = d->connectionInterface->call("GetSettings");
+ QDBusReply< QNmSettingsMap > rep = d->connectionInterface->call(QLatin1String("GetSettings"));
d->settingsMap = rep.value();
}
QNetworkManagerSettingsConnection::~QNetworkManagerSettingsConnection()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -717,32 +681,26 @@ bool QNetworkManagerSettingsConnection::setConnections()
bool allOk = false;
if(!dbusConnection.connect(d->service, d->path,
- NM_DBUS_IFACE_SETTINGS_CONNECTION, "Updated",
+ QLatin1String(NM_DBUS_IFACE_SETTINGS_CONNECTION), QLatin1String("Updated"),
this, SIGNAL(updated(QNmSettingsMap)))) {
allOk = true;
} else {
QDBusError error = dbusConnection.lastError();
}
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForSettingsRemoved(const QString &)),
this,SIGNAL(removed( const QString &)));
if (!dbusConnection.connect(d->service, d->path,
- NM_DBUS_IFACE_SETTINGS_CONNECTION, "Removed",
+ QLatin1String(NM_DBUS_IFACE_SETTINGS_CONNECTION), QLatin1String("Removed"),
nmDBusHelper, SIGNAL(slotSettingsRemoved()))) {
allOk = true;
}
return allOk;
}
-//QNetworkManagerSettingsConnection::update(QNmSettingsMap map)
-//{
-// d->connectionInterface->call("Update", QVariant::fromValue(map));
-//}
QDBusInterface *QNetworkManagerSettingsConnection::connectionInterface() const
{
@@ -751,23 +709,23 @@ QDBusInterface *QNetworkManagerSettingsConnection::connectionInterface() const
QNmSettingsMap QNetworkManagerSettingsConnection::getSettings()
{
- QDBusReply< QNmSettingsMap > rep = d->connectionInterface->call("GetSettings");
+ QDBusReply< QNmSettingsMap > rep = d->connectionInterface->call(QLatin1String("GetSettings"));
d->settingsMap = rep.value();
return d->settingsMap;
}
NMDeviceType QNetworkManagerSettingsConnection::getType()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("connection");
- while (i != d->settingsMap.end() && i.key() == "connection") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("type");
- while (ii != innerMap.end() && ii.key() == "type") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("type"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("type")) {
QString devType = ii.value().toString();
- if (devType == "802-3-ethernet") {
+ if (devType == QLatin1String("802-3-ethernet")) {
return DEVICE_TYPE_802_3_ETHERNET;
}
- if (devType == "802-11-wireless") {
+ if (devType == QLatin1String("802-11-wireless")) {
return DEVICE_TYPE_802_11_WIRELESS;
}
ii++;
@@ -779,11 +737,11 @@ NMDeviceType QNetworkManagerSettingsConnection::getType()
bool QNetworkManagerSettingsConnection::isAutoConnect()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("connection");
- while (i != d->settingsMap.end() && i.key() == "connection") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("autoconnect");
- while (ii != innerMap.end() && ii.key() == "autoconnect") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("autoconnect"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("autoconnect")) {
return ii.value().toBool();
ii++;
}
@@ -794,11 +752,11 @@ bool QNetworkManagerSettingsConnection::isAutoConnect()
quint64 QNetworkManagerSettingsConnection::getTimestamp()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("connection");
- while (i != d->settingsMap.end() && i.key() == "connection") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("timestamp");
- while (ii != innerMap.end() && ii.key() == "timestamp") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("timestamp"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("timestamp")) {
return ii.value().toUInt();
ii++;
}
@@ -809,11 +767,11 @@ quint64 QNetworkManagerSettingsConnection::getTimestamp()
QString QNetworkManagerSettingsConnection::getId()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("connection");
- while (i != d->settingsMap.end() && i.key() == "connection") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("id");
- while (ii != innerMap.end() && ii.key() == "id") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("id"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("id")) {
return ii.value().toString();
ii++;
}
@@ -824,11 +782,11 @@ QString QNetworkManagerSettingsConnection::getId()
QString QNetworkManagerSettingsConnection::getUuid()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("connection");
- while (i != d->settingsMap.end() && i.key() == "connection") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("uuid");
- while (ii != innerMap.end() && ii.key() == "uuid") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("uuid"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("uuid")) {
return ii.value().toString();
ii++;
}
@@ -840,11 +798,11 @@ QString QNetworkManagerSettingsConnection::getUuid()
QString QNetworkManagerSettingsConnection::getSsid()
{
- QNmSettingsMap::const_iterator i = d->settingsMap.find("802-11-wireless");
- while (i != d->settingsMap.end() && i.key() == "802-11-wireless") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("ssid");
- while (ii != innerMap.end() && ii.key() == "ssid") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("ssid"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("ssid")) {
return ii.value().toString();
ii++;
}
@@ -856,11 +814,11 @@ QString QNetworkManagerSettingsConnection::getSsid()
QString QNetworkManagerSettingsConnection::getMacAddress()
{
if(getType() == DEVICE_TYPE_802_3_ETHERNET) {
- QNmSettingsMap::const_iterator i = d->settingsMap.find("802-3-ethernet");
- while (i != d->settingsMap.end() && i.key() == "802-3-ethernet") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-3-ethernet"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("802-3-ethernet")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("mac-address");
- while (ii != innerMap.end() && ii.key() == "mac-address") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("mac-address"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("mac-address")) {
return ii.value().toString();
ii++;
}
@@ -869,11 +827,11 @@ QString QNetworkManagerSettingsConnection::getMacAddress()
}
else if(getType() == DEVICE_TYPE_802_11_WIRELESS) {
- QNmSettingsMap::const_iterator i = d->settingsMap.find("802-11-wireless");
- while (i != d->settingsMap.end() && i.key() == "802-11-wireless") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("mac-address");
- while (ii != innerMap.end() && ii.key() == "mac-address") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("mac-address"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("mac-address")) {
return ii.value().toString();
ii++;
}
@@ -886,11 +844,11 @@ QString QNetworkManagerSettingsConnection::getMacAddress()
QStringList QNetworkManagerSettingsConnection::getSeenBssids()
{
if(getType() == DEVICE_TYPE_802_11_WIRELESS) {
- QNmSettingsMap::const_iterator i = d->settingsMap.find("802-11-wireless");
- while (i != d->settingsMap.end() && i.key() == "802-11-wireless") {
+ QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
+ while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
QMap<QString,QVariant> innerMap = i.value();
- QMap<QString,QVariant>::const_iterator ii = innerMap.find("seen-bssids");
- while (ii != innerMap.end() && ii.key() == "seen-bssids") {
+ QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("seen-bssids"));
+ while (ii != innerMap.end() && ii.key() == QLatin1String("seen-bssids")) {
return ii.value().toStringList();
ii++;
}
@@ -900,7 +858,6 @@ QStringList QNetworkManagerSettingsConnection::getSeenBssids()
return QStringList();
}
-/////////////
class QNetworkManagerConnectionActivePrivate
{
public:
@@ -914,13 +871,12 @@ QNetworkManagerConnectionActive::QNetworkManagerConnectionActive( const QString
{
d = new QNetworkManagerConnectionActivePrivate();
d->path = activeConnectionObjectPath;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
+ QLatin1String(NM_DBUS_INTERFACE_ACTIVE_CONNECTION),
dbusConnection, parent);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- //qWarning() << "Could not find NetworkManagerSettingsConnection";
return;
}
d->valid = true;
@@ -928,8 +884,6 @@ QNetworkManagerConnectionActive::QNetworkManagerConnectionActive( const QString
QNetworkManagerConnectionActive::~QNetworkManagerConnectionActive()
{
- if (nmDBusHelper)
- delete nmDBusHelper;
delete d->connectionInterface;
delete d;
}
@@ -945,16 +899,14 @@ bool QNetworkManagerConnectionActive::setConnections()
return false;
bool allOk = false;
- if (nmDBusHelper)
- delete nmDBusHelper;
- nmDBusHelper = 0;
- nmDBusHelper = new QNmDBusHelper;
+ delete nmDBusHelper;
+ nmDBusHelper = new QNmDBusHelper(this);
connect(nmDBusHelper, SIGNAL(pathForPropertiesChanged(const QString &,QMap<QString,QVariant>)),
this,SIGNAL(propertiesChanged( const QString &, QMap<QString,QVariant>)));
- if(dbusConnection.connect(NM_DBUS_SERVICE,
+ if(dbusConnection.connect(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- "PropertiesChanged",
+ QLatin1String(NM_DBUS_INTERFACE_ACTIVE_CONNECTION),
+ QLatin1String("PropertiesChanged"),
nmDBusHelper,SLOT(slotPropertiesChanged( QMap<QString,QVariant>))) ) {
allOk = true;
}
@@ -1000,8 +952,6 @@ bool QNetworkManagerConnectionActive::defaultRoute() const
return d->connectionInterface->property("Default").toBool();
}
-
-////
class QNetworkManagerIp4ConfigPrivate
{
public:
@@ -1015,13 +965,12 @@ QNetworkManagerIp4Config::QNetworkManagerIp4Config( const QString &deviceObjectP
{
d = new QNetworkManagerIp4ConfigPrivate();
d->path = deviceObjectPath;
- d->connectionInterface = new QDBusInterface(NM_DBUS_SERVICE,
+ d->connectionInterface = new QDBusInterface(QLatin1String(NM_DBUS_SERVICE),
d->path,
- NM_DBUS_INTERFACE_IP4_CONFIG,
+ QLatin1String(NM_DBUS_INTERFACE_IP4_CONFIG),
dbusConnection, parent);
if (!d->connectionInterface->isValid()) {
d->valid = false;
- //qWarning() << "Could not find NetworkManagerIp4Config";
return;
}
d->valid = true;
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
index 81903ec1c1..048f628108 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
@@ -53,26 +53,87 @@
// We mean it.
//
-#include <NetworkManager/NetworkManager.h>
-#include <QtDBus>
-#include <QDBusConnection>
-#include <QDBusError>
-#include <QDBusInterface>
-#include <QDBusMessage>
-#include <QDBusReply>
+#include <QtDBus/QtDBus>
+#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusError>
+#include <QtDBus/QDBusInterface>
+#include <QtDBus/QDBusMessage>
+#include <QtDBus/QDBusReply>
#include <QNetworkInterface>
-#include <QDBusPendingCallWatcher>
+#include <QtDBus/QDBusPendingCallWatcher>
+#include <QtDBus/QDBusObjectPath>
+#include <QtDBus/QDBusContext>
+#include <QMap>
#include "qnmdbushelper.h"
+#ifndef NETWORK_MANAGER_H
+typedef enum NMDeviceType
+{
+ DEVICE_TYPE_UNKNOWN = 0,
+ DEVICE_TYPE_802_3_ETHERNET,
+ DEVICE_TYPE_802_11_WIRELESS,
+ DEVICE_TYPE_GSM,
+ DEVICE_TYPE_CDMA
+} NMDeviceType;
+
+typedef enum
+{
+ NM_DEVICE_STATE_UNKNOWN = 0,
+ NM_DEVICE_STATE_UNMANAGED,
+ NM_DEVICE_STATE_UNAVAILABLE,
+ NM_DEVICE_STATE_DISCONNECTED,
+ NM_DEVICE_STATE_PREPARE,
+ NM_DEVICE_STATE_CONFIG,
+ NM_DEVICE_STATE_NEED_AUTH,
+ NM_DEVICE_STATE_IP_CONFIG,
+ NM_DEVICE_STATE_ACTIVATED,
+ NM_DEVICE_STATE_FAILED
+} NMDeviceState;
+
+typedef enum
+{
+ NM_ACTIVE_CONNECTION_STATE_UNKNOWN = 0,
+ NM_ACTIVE_CONNECTION_STATE_ACTIVATING,
+ NM_ACTIVE_CONNECTION_STATE_ACTIVATED
+} NMActiveConnectionState;
+
+#define NM_DBUS_SERVICE "org.freedesktop.NetworkManager"
+
+#define NM_DBUS_PATH "/org/freedesktop/NetworkManager"
+#define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager"
+#define NM_DBUS_INTERFACE_DEVICE NM_DBUS_INTERFACE ".Device"
+#define NM_DBUS_INTERFACE_DEVICE_WIRED NM_DBUS_INTERFACE_DEVICE ".Wired"
+#define NM_DBUS_INTERFACE_DEVICE_WIRELESS NM_DBUS_INTERFACE_DEVICE ".Wireless"
+#define NM_DBUS_PATH_ACCESS_POINT NM_DBUS_PATH "/AccessPoint"
+#define NM_DBUS_INTERFACE_ACCESS_POINT NM_DBUS_INTERFACE ".AccessPoint"
+
+#define NM_DBUS_PATH_SETTINGS "/org/freedesktop/NetworkManagerSettings"
+
+#define NM_DBUS_IFACE_SETTINGS_CONNECTION "org.freedesktop.NetworkManagerSettings.Connection"
+#define NM_DBUS_IFACE_SETTINGS "org.freedesktop.NetworkManagerSettings"
+#define NM_DBUS_INTERFACE_ACTIVE_CONNECTION NM_DBUS_INTERFACE ".Connection.Active"
+#define NM_DBUS_INTERFACE_IP4_CONFIG NM_DBUS_INTERFACE ".IP4Config"
+
+#define NM_DBUS_SERVICE_USER_SETTINGS "org.freedesktop.NetworkManagerUserSettings"
+#define NM_DBUS_SERVICE_SYSTEM_SETTINGS "org.freedesktop.NetworkManagerSystemSettings"
+
+#define NM_802_11_AP_FLAGS_NONE 0x00000000
+#define NM_802_11_AP_FLAGS_PRIVACY 0x00000001
+#endif
+
QT_BEGIN_NAMESPACE
typedef QMap< QString, QMap<QString,QVariant> > QNmSettingsMap;
typedef QList<quint32> ServerThing;
-Q_DECLARE_METATYPE(QNmSettingsMap)
-Q_DECLARE_METATYPE(ServerThing)
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QNmSettingsMap))
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(ServerThing))
+
+QT_BEGIN_NAMESPACE
class QNetworkManagerInterfacePrivate;
class QNetworkManagerInterface : public QObject
@@ -107,12 +168,10 @@ Q_SIGNALS:
private Q_SLOTS:
private:
-// Q_DISABLE_COPY(QNetworkManagerInterface); ??
QNetworkManagerInterfacePrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; //end QNetworkManagerInterface
+};
-////////
class QNetworkManagerInterfaceAccessPointPrivate;
class QNetworkManagerInterfaceAccessPoint : public QObject
{
@@ -120,7 +179,6 @@ class QNetworkManagerInterfaceAccessPoint : public QObject
public:
- // NM_DEVICE_STATE
enum DeviceState {
Unknown = 0,
Unmanaged,
@@ -181,9 +239,8 @@ private:
QNetworkManagerInterfaceAccessPointPrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; //end QNetworkManagerInterfaceAccessPoint
+};
-////////
class QNetworkManagerInterfaceDevicePrivate;
class QNetworkManagerInterfaceDevice : public QObject
{
@@ -195,7 +252,7 @@ public:
~QNetworkManagerInterfaceDevice();
QString udi() const;
- QNetworkInterface interface() const;
+ QNetworkInterface networkInterface() const;
QDBusInterface *connectionInterface() const;
quint32 ip4Address() const;
quint32 state() const;
@@ -211,9 +268,8 @@ Q_SIGNALS:
private:
QNetworkManagerInterfaceDevicePrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; //end QNetworkManagerInterfaceDevice
+};
-////////
class QNetworkManagerInterfaceDeviceWiredPrivate;
class QNetworkManagerInterfaceDeviceWired : public QObject
{
@@ -236,9 +292,8 @@ Q_SIGNALS:
private:
QNetworkManagerInterfaceDeviceWiredPrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; // end QNetworkManagerInterfaceDeviceWired
+};
-////
class QNetworkManagerInterfaceDeviceWirelessPrivate;
class QNetworkManagerInterfaceDeviceWireless : public QObject
{
@@ -278,9 +333,8 @@ Q_SIGNALS:
private:
QNetworkManagerInterfaceDeviceWirelessPrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; // end QNetworkManagerInterfaceDeviceWireless
+};
-////
class QNetworkManagerSettingsPrivate;
class QNetworkManagerSettings : public QObject
{
@@ -300,9 +354,8 @@ Q_SIGNALS:
void newConnection(QDBusObjectPath);
private:
QNetworkManagerSettingsPrivate *d;
-}; //end QNetworkManagerSettings
+};
-////
class QNetworkManagerSettingsConnectionPrivate;
class QNetworkManagerSettingsConnection : public QObject
{
@@ -315,7 +368,6 @@ public:
QDBusInterface *connectionInterface() const;
QNmSettingsMap getSettings();
- // void update(QNmSettingsMap map);
bool setConnections();
NMDeviceType getType();
bool isAutoConnect();
@@ -335,9 +387,8 @@ Q_SIGNALS:
private:
QNmDBusHelper *nmDBusHelper;
QNetworkManagerSettingsConnectionPrivate *d;
-}; //end QNetworkManagerSettingsConnection
+};
-////
class QNetworkManagerConnectionActivePrivate;
class QNetworkManagerConnectionActive : public QObject
{
@@ -371,9 +422,8 @@ Q_SIGNALS:
private:
QNetworkManagerConnectionActivePrivate *d;
QNmDBusHelper *nmDBusHelper;
-}; //QNetworkManagerConnectionActive
+};
-////
class QNetworkManagerIp4ConfigPrivate;
class QNetworkManagerIp4Config : public QObject
{
@@ -383,14 +433,12 @@ public:
QNetworkManagerIp4Config(const QString &dbusPathName, QObject *parent = 0);
~QNetworkManagerIp4Config();
- // QList<quint32> nameservers();
QStringList domains() const;
bool isValid();
private:
QNetworkManagerIp4ConfigPrivate *d;
};
-////
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/networkmanager/qnmdbushelper.cpp b/src/plugins/bearer/networkmanager/qnmdbushelper.cpp
index d5e20f3273..e195eeb3db 100644
--- a/src/plugins/bearer/networkmanager/qnmdbushelper.cpp
+++ b/src/plugins/bearer/networkmanager/qnmdbushelper.cpp
@@ -43,7 +43,7 @@
#include "qnmdbushelper.h"
-#include <NetworkManager/NetworkManager.h>
+#include "qnetworkmanagerservice.h"
#include <QDBusError>
#include <QDBusInterface>
@@ -54,6 +54,15 @@
QT_BEGIN_NAMESPACE
+QNmDBusHelper::QNmDBusHelper(QObject * parent)
+ : QObject(parent)
+{
+}
+
+QNmDBusHelper::~QNmDBusHelper()
+{
+}
+
void QNmDBusHelper::deviceStateChanged(quint32 state)
{
QDBusMessage msg = this->message();
diff --git a/src/plugins/bearer/networkmanager/qnmdbushelper.h b/src/plugins/bearer/networkmanager/qnmdbushelper.h
index 862290c236..933d55a2ca 100644
--- a/src/plugins/bearer/networkmanager/qnmdbushelper.h
+++ b/src/plugins/bearer/networkmanager/qnmdbushelper.h
@@ -52,6 +52,8 @@ class QNmDBusHelper: public QObject, protected QDBusContext
{
Q_OBJECT
public:
+ QNmDBusHelper(QObject *parent = 0);
+ ~QNmDBusHelper();
public slots:
void deviceStateChanged(quint32);
diff --git a/src/plugins/bearer/nla/qnlaengine.cpp b/src/plugins/bearer/nla/qnlaengine.cpp
index ff334e5518..334eb14a3c 100644
--- a/src/plugins/bearer/nla/qnlaengine.cpp
+++ b/src/plugins/bearer/nla/qnlaengine.cpp
@@ -228,8 +228,11 @@ QNlaThread::~QNlaThread()
if (handle) {
/* cancel completion event */
- if (WSALookupServiceEnd(handle) == SOCKET_ERROR)
- qWarning("WSALookupServiceEnd error %d", WSAGetLastError());
+ if (WSALookupServiceEnd(handle) == SOCKET_ERROR) {
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("WSALookupServiceEnd error %d", WSAGetLastError());
+#endif
+ }
}
mutex.unlock();
@@ -252,8 +255,11 @@ void QNlaThread::forceUpdate()
if (handle) {
/* cancel completion event */
- if (WSALookupServiceEnd(handle) == SOCKET_ERROR)
- qWarning("WSALookupServiceEnd error %d", WSAGetLastError());
+ if (WSALookupServiceEnd(handle) == SOCKET_ERROR) {
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("WSALookupServiceEnd error %d", WSAGetLastError());
+#endif
+ }
handle = 0;
}
mutex.unlock();
@@ -262,10 +268,8 @@ void QNlaThread::forceUpdate()
void QNlaThread::run()
{
WSAEVENT changeEvent = WSACreateEvent();
- if (changeEvent == WSA_INVALID_EVENT) {
- qWarning("WSACreateEvent error %d", WSAGetLastError());
+ if (changeEvent == WSA_INVALID_EVENT)
return;
- }
while (true) {
fetchConfigurations();
@@ -284,10 +288,8 @@ void QNlaThread::run()
int result = WSALookupServiceBegin(&qsRestrictions, LUP_RETURN_ALL, &handle);
mutex.unlock();
- if (result == SOCKET_ERROR) {
- qWarning("%s: WSALookupServiceBegin error %d", __FUNCTION__, WSAGetLastError());
+ if (result == SOCKET_ERROR)
break;
- }
WSACOMPLETION completion;
WSAOVERLAPPED overlapped;
@@ -303,11 +305,8 @@ void QNlaThread::run()
result = WSANSPIoctl(handle, SIO_NSP_NOTIFY_CHANGE, 0, 0, 0, 0,
&bytesReturned, &completion);
if (result == SOCKET_ERROR) {
- int error = WSAGetLastError();
- if (error != WSA_IO_PENDING) {
- qWarning("WSANSPIoctl error %d", error);
+ if (WSAGetLastError() != WSA_IO_PENDING)
break;
- }
}
#ifndef Q_OS_WINCE
@@ -325,7 +324,6 @@ void QNlaThread::run()
if (handle) {
result = WSALookupServiceEnd(handle);
if (result == SOCKET_ERROR) {
- qWarning("WSALookupServiceEnd error %d", WSAGetLastError());
mutex.unlock();
break;
}
@@ -360,7 +358,7 @@ DWORD QNlaThread::parseBlob(NLA_BLOB *blob, QNetworkConfigurationPrivate *cpPriv
switch (blob->header.type) {
case NLA_RAW_DATA:
#ifdef BEARER_MANAGEMENT_DEBUG
- qWarning("%s: unhandled header type NLA_RAW_DATA", __FUNCTION__);
+ qDebug("%s: unhandled header type NLA_RAW_DATA", __FUNCTION__);
#endif
break;
case NLA_INTERFACE:
@@ -372,7 +370,7 @@ DWORD QNlaThread::parseBlob(NLA_BLOB *blob, QNetworkConfigurationPrivate *cpPriv
break;
case NLA_802_1X_LOCATION:
#ifdef BEARER_MANAGEMENT_DEBUG
- qWarning("%s: unhandled header type NLA_802_1X_LOCATION", __FUNCTION__);
+ qDebug("%s: unhandled header type NLA_802_1X_LOCATION", __FUNCTION__);
#endif
break;
case NLA_CONNECTIVITY:
@@ -380,18 +378,15 @@ DWORD QNlaThread::parseBlob(NLA_BLOB *blob, QNetworkConfigurationPrivate *cpPriv
cpPriv->internet = true;
else
cpPriv->internet = false;
-#ifdef BEARER_MANAGEMENT_DEBUG
- qWarning("%s: unhandled header type NLA_CONNECTIVITY", __FUNCTION__);
-#endif
break;
case NLA_ICS:
#ifdef BEARER_MANAGEMENT_DEBUG
- qWarning("%s: unhandled header type NLA_ICS", __FUNCTION__);
+ qDebug("%s: unhandled header type NLA_ICS", __FUNCTION__);
#endif
break;
default:
#ifdef BEARER_MANAGEMENT_DEBUG
- qWarning("%s: unhandled header type %d", __FUNCTION__, blob->header.type);
+ qDebug("%s: unhandled header type %d", __FUNCTION__, blob->header.type);
#endif
;
}
@@ -462,7 +457,6 @@ void QNlaThread::fetchConfigurations()
int result = WSALookupServiceBegin(&qsRestrictions, LUP_RETURN_ALL | LUP_DEEP, &hLookup);
if (result == SOCKET_ERROR) {
- qWarning("%s: WSALookupServiceBegin error %d", __FUNCTION__, WSAGetLastError());
mutex.lock();
fetchedConfigurations.clear();
mutex.unlock();
@@ -474,18 +468,8 @@ void QNlaThread::fetchConfigurations()
result = WSALookupServiceNext(hLookup, LUP_RETURN_ALL,
&bufferLength, reinterpret_cast<WSAQUERYSET *>(buffer));
- if (result == SOCKET_ERROR) {
- int error = WSAGetLastError();
-
- if (error == WSA_E_NO_MORE)
- break;
-
- if (error == WSAEFAULT)
- break;
-
- qWarning("WSALookupServiceNext error %d", WSAGetLastError());
+ if (result == SOCKET_ERROR)
break;
- }
QNetworkConfigurationPrivate *cpPriv =
parseQuerySet(reinterpret_cast<WSAQUERYSET *>(buffer));
@@ -496,7 +480,9 @@ void QNlaThread::fetchConfigurations()
if (hLookup) {
result = WSALookupServiceEnd(hLookup);
if (result == SOCKET_ERROR) {
- qWarning("WSALookupServiceEnd error %d", WSAGetLastError());
+#ifdef BEARER_MANAGEMENT_DEBUG
+ qDebug("WSALookupServiceEnd error %d", WSAGetLastError());
+#endif
}
}
diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp
index f41fdbaba4..db1759c60c 100644
--- a/src/plugins/bearer/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/qnetworksession_impl.cpp
@@ -100,9 +100,6 @@ void QNetworkSessionManagerPrivate::forceSessionClose(const QNetworkConfiguratio
void QNetworkSessionPrivateImpl::syncStateWithInterface()
{
- connect(&manager, SIGNAL(updateCompleted()), this, SLOT(networkConfigurationsChanged()));
- connect(&manager, SIGNAL(configurationChanged(QNetworkConfiguration)),
- this, SLOT(configurationChanged(QNetworkConfiguration)));
connect(sessionManager(), SIGNAL(forcedSessionClose(QNetworkConfiguration)),
this, SLOT(forcedSessionClose(QNetworkConfiguration)));
@@ -119,6 +116,10 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface()
activeConfig = publicConfig;
engine = getEngineFromId(activeConfig.identifier());
if (engine) {
+ qRegisterMetaType<QNetworkConfigurationPrivatePointer>("QNetworkConfigurationPrivatePointer");
+ connect(engine, SIGNAL(configurationChanged(QNetworkConfigurationPrivatePointer)),
+ this, SLOT(configurationChanged(QNetworkConfigurationPrivatePointer)),
+ Qt::QueuedConnection);
connect(engine, SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)),
this, SLOT(connectionError(QString,QBearerEngineImpl::ConnectionError)),
Qt::QueuedConnection);
@@ -147,6 +148,8 @@ void QNetworkSessionPrivateImpl::open()
if ((activeConfig.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
lastError =QNetworkSession::InvalidConfigurationError;
+ state = QNetworkSession::Invalid;
+ emit stateChanged(state);
emit QNetworkSessionPrivate::error(lastError);
return;
}
@@ -201,22 +204,18 @@ void QNetworkSessionPrivateImpl::stop()
void QNetworkSessionPrivateImpl::migrate()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::accept()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::ignore()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
void QNetworkSessionPrivateImpl::reject()
{
- qWarning("This platform does not support roaming (%s).", __FUNCTION__);
}
QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const
@@ -231,13 +230,37 @@ QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const
return QNetworkInterface::interfaceFromName(interface);
}
-QVariant QNetworkSessionPrivateImpl::sessionProperty(const QString& /*key*/) const
+QVariant QNetworkSessionPrivateImpl::sessionProperty(const QString &key) const
{
+ if (key == QLatin1String("AutoCloseSessionTimeout")) {
+ if (engine && engine->requiresPolling() &&
+ !(engine->capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces)) {
+ if (sessionTimeout >= 0)
+ return sessionTimeout * 10000;
+ else
+ return -1;
+ }
+ }
+
return QVariant();
}
-void QNetworkSessionPrivateImpl::setSessionProperty(const QString& /*key*/, const QVariant& /*value*/)
+void QNetworkSessionPrivateImpl::setSessionProperty(const QString &key, const QVariant &value)
{
+ if (key == QLatin1String("AutoCloseSessionTimeout")) {
+ if (engine && engine->requiresPolling() &&
+ !(engine->capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces)) {
+ int timeout = value.toInt();
+ if (timeout >= 0) {
+ connect(engine, SIGNAL(updateCompleted()),
+ this, SLOT(decrementTimeout()), Qt::UniqueConnection);
+ sessionTimeout = timeout / 10000; // convert to poll intervals
+ } else {
+ disconnect(engine, SIGNAL(updateCompleted()), this, SLOT(decrementTimeout()));
+ sessionTimeout = -1;
+ }
+ }
+ }
}
QString QNetworkSessionPrivateImpl::errorString() const
@@ -362,12 +385,14 @@ void QNetworkSessionPrivateImpl::networkConfigurationsChanged()
startTime = engine->startTime(activeConfig.identifier());
}
-void QNetworkSessionPrivateImpl::configurationChanged(const QNetworkConfiguration &config)
+void QNetworkSessionPrivateImpl::configurationChanged(QNetworkConfigurationPrivatePointer config)
{
- if (serviceConfig.isValid() && (config == serviceConfig || config == activeConfig))
+ if (serviceConfig.isValid() &&
+ (config->id == serviceConfig.identifier() || config->id == activeConfig.identifier())) {
updateStateFromServiceNetwork();
- else if (config == activeConfig)
+ } else if (config->id == activeConfig.identifier()) {
updateStateFromActiveConfig();
+ }
}
void QNetworkSessionPrivateImpl::forcedSessionClose(const QNetworkConfiguration &config)
@@ -400,9 +425,17 @@ void QNetworkSessionPrivateImpl::connectionError(const QString &id,
lastError = QNetworkSession::UnknownSessionError;
}
- emit quitPendingWaitsForOpened();
emit QNetworkSessionPrivate::error(lastError);
}
}
+void QNetworkSessionPrivateImpl::decrementTimeout()
+{
+ if (--sessionTimeout <= 0) {
+ disconnect(engine, SIGNAL(updateCompleted()), this, SLOT(decrementTimeout()));
+ sessionTimeout = -1;
+ close();
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h
index 7349e772b8..c64417486e 100644
--- a/src/plugins/bearer/qnetworksession_impl.h
+++ b/src/plugins/bearer/qnetworksession_impl.h
@@ -69,7 +69,7 @@ class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate
Q_OBJECT
public:
QNetworkSessionPrivateImpl()
- : startTime(0)
+ : startTime(0), sessionTimeout(-1)
{
}
@@ -108,13 +108,12 @@ private:
private Q_SLOTS:
void networkConfigurationsChanged();
- void configurationChanged(const QNetworkConfiguration &config);
+ void configurationChanged(QNetworkConfigurationPrivatePointer config);
void forcedSessionClose(const QNetworkConfiguration &config);
void connectionError(const QString &id, QBearerEngineImpl::ConnectionError error);
+ void decrementTimeout();
private:
- QNetworkConfigurationManager manager;
-
bool opened;
QBearerEngineImpl *engine;
@@ -122,6 +121,8 @@ private:
QNetworkSession::SessionError lastError;
quint64 startTime;
+
+ int sessionTimeout;
};
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
index 9af1fe946c..bec562dfd7 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -141,7 +141,10 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface()
if (state != QNetworkSession::Connected) {
// There were no open connections to used IAP or SNAP
- if ((privateConfiguration(publicConfig)->state & QNetworkConfiguration::Discovered) ==
+ if (iError == QNetworkSession::InvalidConfigurationError) {
+ newState(QNetworkSession::Invalid);
+ }
+ else if ((privateConfiguration(publicConfig)->state & QNetworkConfiguration::Discovered) ==
QNetworkConfiguration::Discovered) {
newState(QNetworkSession::Disconnected);
} else {
@@ -231,13 +234,23 @@ QNetworkSession::SessionError QNetworkSessionPrivateImpl::error() const
void QNetworkSessionPrivateImpl::open()
{
- if (isOpen || !privateConfiguration(publicConfig) || (state == QNetworkSession::Connecting)) {
+ if (isOpen || (state == QNetworkSession::Connecting)) {
return;
}
// Cancel notifications from RConnectionMonitor
// => RConnection::ProgressNotification will be used for IAP/SNAP monitoring
iConnectionMonitor.CancelNotifications();
+
+ // Configuration must be at least in Discovered - state for connecting purposes.
+ if ((publicConfig.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ newState(QNetworkSession::Invalid);
+ iError = QNetworkSession::InvalidConfigurationError;
+ emit QNetworkSessionPrivate::error(iError);
+ syncStateWithInterface();
+ return;
+ }
TInt error = iSocketServ.Connect();
if (error != KErrNone) {
diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp
index b3c9cb379c..88a563c068 100644
--- a/src/plugins/bearer/symbian/symbianengine.cpp
+++ b/src/plugins/bearer/symbian/symbianengine.cpp
@@ -98,7 +98,7 @@ QString SymbianNetworkConfigurationPrivate::bearerName() const
}
SymbianEngine::SymbianEngine(QObject *parent)
-: QBearerEngine(parent), CActive(CActive::EPriorityIdle), iInitOk(true)
+: QBearerEngine(parent), CActive(CActive::EPriorityIdle), iFirstUpdate(true), iInitOk(true)
{
CActiveScheduler::Add(this);
@@ -136,9 +136,12 @@ SymbianEngine::SymbianEngine(QObject *parent)
updateConfigurations();
updateStatesToSnaps();
+
+ updateAvailableAccessPoints(); // On first time updates synchronously (without WLAN scans)
// Start monitoring IAP and/or SNAP changes in Symbian CommsDB
startCommsDatabaseNotifications();
+ iFirstUpdate = false;
}
SymbianEngine::~SymbianEngine()
@@ -153,7 +156,14 @@ SymbianEngine::~SymbianEngine()
#endif
delete ipAccessPointsAvailabilityScanner;
+
+ // CCommsDatabase destructor uses cleanup stack. Since QNetworkConfigurationManager
+ // is a global static, but the time we are here, E32Main() has been exited already and
+ // the thread's default cleanup stack has been deleted. Without this line, a
+ // 'E32USER-CBase 69' -panic will occur.
+ CTrapCleanup* cleanup = CTrapCleanup::New();
delete ipCommsDB;
+ delete cleanup;
}
bool SymbianEngine::hasIdentifier(const QString &id)
@@ -692,9 +702,10 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn
updateStatesToSnaps();
- startCommsDatabaseNotifications();
-
- emit updateCompleted();
+ if (!iFirstUpdate) {
+ startCommsDatabaseNotifications();
+ emit updateCompleted();
+ }
}
void SymbianEngine::updateStatesToSnaps()
@@ -987,11 +998,22 @@ void AccessPointsAvailabilityScanner::DoCancel()
void AccessPointsAvailabilityScanner::StartScanning()
{
- iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus);
- if (!IsActive()) {
- SetActive();
+ if (iOwner.iFirstUpdate) {
+ // On first update (the mgr is being instantiated) update only those bearers who
+ // don't need time-consuming scans (WLAN).
+ // Note: EBearerIdWCDMA covers also GPRS bearer
+ iConnectionMonitor.GetPckgAttribute(EBearerIdWCDMA, 0, KIapAvailability, iIapBuf, iStatus);
+ User::WaitForRequest(iStatus);
+ if (iStatus.Int() == KErrNone) {
+ iOwner.accessPointScanningReady(true,iIapBuf());
+ }
+ } else {
+ iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus);
+ if (!IsActive()) {
+ SetActive();
+ }
}
-}
+}
void AccessPointsAvailabilityScanner::RunL()
{
diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h
index 5448813fc8..ee6d07006a 100644
--- a/src/plugins/bearer/symbian/symbianengine.h
+++ b/src/plugins/bearer/symbian/symbianengine.h
@@ -162,6 +162,7 @@ private: // MConnectionMonitorObserver
void EventL(const CConnMonEventBase& aEvent);
private: // Data
+ bool iFirstUpdate;
CCommsDatabase* ipCommsDB;
RConnectionMonitor iConnectionMonitor;
diff --git a/src/plugins/codecs/cn/qgb18030codec.cpp b/src/plugins/codecs/cn/qgb18030codec.cpp
index 5537cf7eaf..3f2eec78c2 100644
--- a/src/plugins/codecs/cn/qgb18030codec.cpp
+++ b/src/plugins/codecs/cn/qgb18030codec.cpp
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
#define Is3rdByte(c) (InRange((c), 0x81, 0xFE))
#define Is4thByte(c) (InRange((c), 0x30, 0x39))
-#define QValidChar(u) ((u) ? QChar((ushort)(u)) : QChar(QChar::ReplacementCharacter))
+#define qValidChar(u) ((u) ? (u) : static_cast<ushort>(QChar::ReplacementCharacter))
/* User-defined areas: UDA 1: 0xAAA1 - 0xAFFE (564/0)
UDA 2: 0xF8A1 - 0xFEFE (658/0)
@@ -160,7 +160,7 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
{
uchar buf[4];
int nbuf = 0;
- QChar replacement = QChar::ReplacementCharacter;
+ ushort replacement = QChar::ReplacementCharacter;
if (state) {
if (state->flags & ConvertInvalidToNull)
replacement = QChar::Null;
@@ -173,6 +173,9 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
int invalid = 0;
QString result;
+ result.resize(len);
+ int unicodeLen = 0;
+ ushort *const resultData = reinterpret_cast<ushort*>(result.data());
//qDebug("QGb18030Decoder::toUnicode(const char* chars, int len = %d)", len);
for (int i = 0; i < len; i++) {
uchar ch = chars[i];
@@ -180,14 +183,16 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
case 0:
if (ch < 0x80) {
// ASCII
- result += QLatin1Char(ch);
+ resultData[unicodeLen] = ch;
+ ++unicodeLen;
} else if (Is1stByte(ch)) {
// GB18030?
buf[0] = ch;
nbuf = 1;
} else {
// Invalid
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
break;
@@ -198,9 +203,11 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
int clen = 2;
uint u = qt_Gb18030ToUnicode(buf, clen);
if (clen == 2) {
- result += QValidChar(u);
+ resultData[unicodeLen] = qValidChar(static_cast<ushort>(u));
+ ++unicodeLen;
} else {
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
nbuf = 0;
@@ -209,7 +216,8 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
nbuf = 2;
} else {
// Error
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
nbuf = 0;
}
@@ -220,7 +228,8 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
buf[2] = ch;
nbuf = 3;
} else {
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
nbuf = 0;
}
@@ -232,19 +241,24 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta
int clen = 4;
uint u = qt_Gb18030ToUnicode(buf, clen);
if (clen == 4) {
- result += QValidChar(u);
+ resultData[unicodeLen] = qValidChar(u);
+ ++unicodeLen;
} else {
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
} else {
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
nbuf = 0;
break;
}
}
+ result.resize(unicodeLen);
+
if (state) {
state->remainingChars = nbuf;
state->state_data[0] = (buf[0] << 24) + (buf[1] << 16) + (buf[2] << 8) + buf[3];
@@ -342,7 +356,7 @@ QString QGbkCodec::convertToUnicode(const char* chars, int len, ConverterState *
int clen = 2;
uint u = qt_Gb18030ToUnicode(buf, clen);
if (clen == 2) {
- result += QValidChar(u);
+ result += qValidChar(u);
} else {
result += replacement;
++invalid;
@@ -445,7 +459,7 @@ QString QGb2312Codec::convertToUnicode(const char* chars, int len, ConverterStat
{
uchar buf[2];
int nbuf = 0;
- QChar replacement = QChar::ReplacementCharacter;
+ ushort replacement = QChar::ReplacementCharacter;
if (state) {
if (state->flags & ConvertInvalidToNull)
replacement = QChar::Null;
@@ -456,6 +470,9 @@ QString QGb2312Codec::convertToUnicode(const char* chars, int len, ConverterStat
int invalid = 0;
QString result;
+ result.resize(len);
+ int unicodeLen = 0;
+ ushort *const resultData = reinterpret_cast<ushort*>(result.data());
//qDebug("QGb2312Decoder::toUnicode(const char* chars, int len = %d)", len);
for (int i=0; i<len; i++) {
uchar ch = chars[i];
@@ -463,14 +480,16 @@ QString QGb2312Codec::convertToUnicode(const char* chars, int len, ConverterStat
case 0:
if (ch < 0x80) {
// ASCII
- result += QLatin1Char(ch);
+ resultData[unicodeLen] = ch;
+ ++unicodeLen;
} else if (IsByteInGb2312(ch)) {
// GB2312 1st byte?
buf[0] = ch;
nbuf = 1;
} else {
// Invalid
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
break;
@@ -481,21 +500,25 @@ QString QGb2312Codec::convertToUnicode(const char* chars, int len, ConverterStat
int clen = 2;
uint u = qt_Gb18030ToUnicode(buf, clen);
if (clen == 2) {
- result += QValidChar(u);
+ resultData[unicodeLen] = qValidChar(static_cast<ushort>(u));
+ ++unicodeLen;
} else {
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
}
nbuf = 0;
} else {
// Error
- result += replacement;
+ resultData[unicodeLen] = replacement;
+ ++unicodeLen;
++invalid;
nbuf = 0;
}
break;
}
}
+ result.resize(unicodeLen);
if (state) {
state->remainingChars = nbuf;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index 12f4c6b14e..54f4a8a23f 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -68,11 +68,10 @@ public:
};
enum CompositionModeStatus {
- PorterDuff_None = 0x00,
- PorterDuff_SupportedBlits = 0x01,
- PorterDuff_SupportedPrimitives = 0x02,
- PorterDuff_SupportedOpaquePrimitives = 0x04,
- PorterDuff_Dirty = 0x10
+ PorterDuff_None = 0x0,
+ PorterDuff_Supported = 0x1,
+ PorterDuff_PremultiplyColors = 0x2,
+ PorterDuff_AlwaysBlend = 0x4
};
enum ClipType {
@@ -97,7 +96,6 @@ public:
inline void unlock();
static inline void unlock(QDirectFBPaintDevice *device);
- inline bool testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color = 0) const;
inline bool isSimpleBrush(const QBrush &brush) const;
void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos);
@@ -130,6 +128,7 @@ public:
ClipType clipType;
QDirectFBPaintDevice *dfbDevice;
uint compositionModeStatus;
+ bool isPremultiplied;
bool inClip;
QRect currentClip;
@@ -168,7 +167,7 @@ struct CachedImage
static QCache<qint64, CachedImage> imageCache(4*1024*1024); // 4 MB
#endif
-#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS || defined QT_DEBUG
#define VOID_ARG() static_cast<bool>(false)
enum PaintOperation {
DRAW_RECTS = 0x0001, DRAW_LINES = 0x0002, DRAW_IMAGE = 0x0004,
@@ -178,9 +177,89 @@ enum PaintOperation {
FILL_RECT = 0x1000, DRAW_COLORSPANS = 0x2000, DRAW_ROUNDED_RECT = 0x4000,
DRAW_STATICTEXT = 0x8000, ALL = 0xffff
};
+
+#ifdef QT_DEBUG
+static void initRasterFallbacksMasks(int *warningMask, int *disableMask)
+{
+ struct {
+ const char *name;
+ PaintOperation operation;
+ } const operations[] = {
+ { "DRAW_RECTS", DRAW_RECTS },
+ { "DRAW_LINES", DRAW_LINES },
+ { "DRAW_IMAGE", DRAW_IMAGE },
+ { "DRAW_PIXMAP", DRAW_PIXMAP },
+ { "DRAW_TILED_PIXMAP", DRAW_TILED_PIXMAP },
+ { "STROKE_PATH", STROKE_PATH },
+ { "DRAW_PATH", DRAW_PATH },
+ { "DRAW_POINTS", DRAW_POINTS },
+ { "DRAW_ELLIPSE", DRAW_ELLIPSE },
+ { "DRAW_POLYGON", DRAW_POLYGON },
+ { "DRAW_TEXT", DRAW_TEXT },
+ { "FILL_PATH", FILL_PATH },
+ { "FILL_RECT", FILL_RECT },
+ { "DRAW_COLORSPANS", DRAW_COLORSPANS },
+ { "DRAW_ROUNDED_RECT", DRAW_ROUNDED_RECT },
+ { "ALL", ALL },
+ { 0, ALL }
+ };
+
+ QStringList warning = QString::fromLatin1(qgetenv("QT_DIRECTFB_WARN_ON_RASTERFALLBACKS")).toUpper().split(QLatin1Char('|'),
+ QString::SkipEmptyParts);
+ QStringList disable = QString::fromLatin1(qgetenv("QT_DIRECTFB_DISABLE_RASTERFALLBACKS")).toUpper().split(QLatin1Char('|'),
+ QString::SkipEmptyParts);
+ *warningMask = 0;
+ *disableMask = 0;
+ if (!warning.isEmpty() || !disable.isEmpty()) {
+ for (int i=0; operations[i].name; ++i) {
+ const QString name = QString::fromLatin1(operations[i].name);
+ int idx = warning.indexOf(name);
+ if (idx != -1) {
+ *warningMask |= operations[i].operation;
+ warning.remove(warning.begin() + idx);
+ }
+ idx = disable.indexOf(name);
+ if (idx != -1) {
+ *disableMask |= operations[i].operation;
+ disable.remove(disable.begin() + idx);
+ }
+ }
+ }
+ if (!warning.isEmpty()) {
+ qWarning("QDirectFBPaintEngine QT_DIRECTFB_WARN_ON_RASTERFALLBACKS Unknown operation(s): %s",
+ qPrintable(warning.join(QLatin1String("|"))));
+ }
+ if (!disable.isEmpty()) {
+ qWarning("QDirectFBPaintEngine QT_DIRECTFB_DISABLE_RASTERFALLBACKS Unknown operation(s): %s",
+ qPrintable(disable.join(QLatin1String("|"))));
+ }
+
+}
#endif
+static inline int rasterFallbacksMask(bool warn)
+{
#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+ if (warn)
+ return QT_DIRECTFB_WARN_ON_RASTERFALLBACKS;
+#endif
+#ifdef QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+ if (!warn)
+ return QT_DIRECTFB_DISABLE_RASTERFALLBACKS;
+#endif
+#ifndef QT_DEBUG
+ return 0;
+#else
+ static int warnMask = -1;
+ static int disableMask = -1;
+ if (warnMask == -1)
+ initRasterFallbacksMasks(&warnMask, &disableMask);
+ return warn ? warnMask : disableMask;
+#endif
+}
+#endif
+
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DEBUG
template <typename device, typename T1, typename T2, typename T3>
static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
uint transformationType, bool simplePen,
@@ -190,25 +269,31 @@ static void rasterFallbackWarn(const char *msg, const char *func, const device *
const char *nameThree, const T3 &three);
#endif
-#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS && defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#if defined QT_DEBUG || (defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS && defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS)
#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
- rasterFallbackWarn("Disabled raster engine operation", \
- __FUNCTION__, state()->painter->device(), \
- d_func()->transformationType, \
- d_func()->simplePen, \
- d_func()->clipType, \
- d_func()->compositionModeStatus, \
- #one, one, #two, two, #three, three); \
- if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
- return;
+ { \
+ const bool disable = op & rasterFallbacksMask(false); \
+ if (op & rasterFallbacksMask(true)) \
+ rasterFallbackWarn(disable \
+ ? "Disabled raster engine operation" \
+ : "Falling back to raster engine for", \
+ __FUNCTION__, \
+ state()->painter->device(), \
+ d_func()->transformationType, \
+ d_func()->simplePen, \
+ d_func()->clipType, \
+ d_func()->compositionModeStatus, \
+ #one, one, #two, two, #three, three); \
+ if (disable) \
+ return; \
+ }
#elif defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
-#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & rasterFallbacksMask(false)) \
return;
#elif defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
+ if (op & rasterFallbacksMask(true)) \
rasterFallbackWarn("Falling back to raster engine for", \
__FUNCTION__, state()->painter->device(), \
d_func()->transformationType, \
@@ -287,6 +372,7 @@ bool QDirectFBPaintEngine::begin(QPaintDevice *device)
qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
device->devType());
}
+ d->isPremultiplied = QDirectFBScreen::isPremultiplied(d->dfbDevice->format());
d->prepare(d->dfbDevice);
gccaps = AllFeatures;
@@ -413,7 +499,7 @@ void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
|| !d->isSimpleBrush(brush)
- || !d->testCompositionMode(&pen, &brush)) {
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -443,7 +529,7 @@ void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
|| !d->isSimpleBrush(brush)
- || !d->testCompositionMode(&pen, &brush)) {
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -468,7 +554,7 @@ void QDirectFBPaintEngine::drawLines(const QLine *lines, int lineCount)
const QPen &pen = state()->pen;
if (!d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->testCompositionMode(&pen, 0)) {
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
@@ -488,7 +574,7 @@ void QDirectFBPaintEngine::drawLines(const QLineF *lines, int lineCount)
const QPen &pen = state()->pen;
if (!d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->testCompositionMode(&pen, 0)) {
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
@@ -526,7 +612,7 @@ void QDirectFBPaintEngine::drawImage(const QRectF &r, const QImage &image,
*/
#if !defined QT_NO_DIRECTFB_PREALLOCATED || defined QT_DIRECTFB_IMAGECACHE
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)
|| (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
|| (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip)
|| (!d->supportsStretchBlit() && state()->matrix.mapRect(r).size() != sr.size())
@@ -575,7 +661,7 @@ void QDirectFBPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap,
QPixmapData *data = pixmap.pixmapData();
Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)
|| (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
|| (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip)
|| (!d->supportsStretchBlit() && state()->matrix.mapRect(r).size() != sr.size())) {
@@ -606,7 +692,7 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r,
RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), offset);
d->lock();
QRasterPaintEngine::drawTiledPixmap(r, pixmap, offset);
- } else if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ } else if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)
|| (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
|| (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip)
|| (!d->supportsStretchBlit() && state()->matrix.isScaling())) {
@@ -727,20 +813,21 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
if (d->clipType != QDirectFBPaintEnginePrivate::ComplexClip) {
switch (brush.style()) {
case Qt::SolidPattern: {
- if (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported
- || !d->testCompositionMode(0, &brush)) {
- break;
- }
const QColor color = brush.color();
if (!color.isValid())
return;
+
+ if (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
+ break;
+ }
d->setDFBColor(color);
const QRect r = state()->matrix.mapRect(rect).toRect();
CLIPPED_PAINT(d->surface->FillRectangle(d->surface, r.x(), r.y(), r.width(), r.height()));
return; }
case Qt::TexturePattern: {
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)
|| (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
|| (!d->supportsStretchBlit() && state()->matrix.isScaling())) {
break;
@@ -768,7 +855,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QColor &color)
Q_D(QDirectFBPaintEngine);
if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
|| (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip)
- || !d->testCompositionMode(0, 0, &color)) {
+ || !(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)) {
RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, color);
@@ -812,7 +899,7 @@ QDirectFBPaintEnginePrivate::QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p
: surface(0), antialiased(false), simplePen(false),
transformationType(0), opacity(255),
clipType(ClipUnset), dfbDevice(0),
- compositionModeStatus(0), inClip(false), q(p)
+ compositionModeStatus(0), isPremultiplied(false), inClip(false), q(p)
{
fb = QDirectFBScreen::instance()->dfb();
surfaceCache = new SurfaceCache;
@@ -828,36 +915,6 @@ bool QDirectFBPaintEnginePrivate::isSimpleBrush(const QBrush &brush) const
return (brush.style() == Qt::NoBrush) || (brush.style() == Qt::SolidPattern && !antialiased);
}
-bool QDirectFBPaintEnginePrivate::testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color) const
-{
- Q_ASSERT(!pen || pen->style() == Qt::NoPen || pen->style() == Qt::SolidLine);
- Q_ASSERT(!brush || brush->style() == Qt::NoBrush || brush->style() == Qt::SolidPattern);
- switch (compositionModeStatus & (QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives
- |QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)) {
- case QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives:
- return true;
- case QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives:
- if (pen && pen->style() == Qt::SolidLine && pen->color().alpha() != 255)
- return false;
- if (brush) {
- if (brush->style() == Qt::SolidPattern && brush->color().alpha() != 255) {
- return false;
- }
- } else if (color && color->alpha() != 255) {
- return false;
- }
- return true;
- case QDirectFBPaintEnginePrivate::PorterDuff_None:
- return false;
- default:
- // ### PorterDuff_SupportedOpaquePrimitives|PorterDuff_SupportedPrimitives can't be combined
- break;
- }
- Q_ASSERT(0);
- return false;
-}
-
-
void QDirectFBPaintEnginePrivate::lock()
{
// We will potentially get a new pointer to the buffer after a
@@ -920,21 +977,23 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
static const bool forceRasterFallBack = qgetenv("QT_DIRECTFB_FORCE_RASTER").toInt() > 0;
if (forceRasterFallBack) {
- compositionModeStatus = 0;
+ compositionModeStatus = PorterDuff_None;
return;
}
- compositionModeStatus = PorterDuff_SupportedBlits;
+ compositionModeStatus = PorterDuff_Supported|PorterDuff_PremultiplyColors|PorterDuff_AlwaysBlend;
switch (mode) {
case QPainter::CompositionMode_Clear:
surface->SetPorterDuff(surface, DSPD_CLEAR);
break;
case QPainter::CompositionMode_Source:
surface->SetPorterDuff(surface, DSPD_SRC);
- compositionModeStatus |= PorterDuff_SupportedOpaquePrimitives;
+ compositionModeStatus &= ~PorterDuff_AlwaysBlend;
+ if (!isPremultiplied)
+ compositionModeStatus &= ~PorterDuff_PremultiplyColors;
break;
case QPainter::CompositionMode_SourceOver:
- compositionModeStatus |= PorterDuff_SupportedPrimitives;
+ compositionModeStatus &= ~PorterDuff_AlwaysBlend;
surface->SetPorterDuff(surface, DSPD_SRC_OVER);
break;
case QPainter::CompositionMode_DestinationOver:
@@ -942,6 +1001,8 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
break;
case QPainter::CompositionMode_SourceIn:
surface->SetPorterDuff(surface, DSPD_SRC_IN);
+ if (!isPremultiplied)
+ compositionModeStatus &= ~PorterDuff_PremultiplyColors;
break;
case QPainter::CompositionMode_DestinationIn:
surface->SetPorterDuff(surface, DSPD_DST_IN);
@@ -952,6 +1013,11 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
case QPainter::CompositionMode_DestinationOut:
surface->SetPorterDuff(surface, DSPD_DST_OUT);
break;
+#if (Q_DIRECTFB_VERSION >= 0x010209)
+ case QPainter::CompositionMode_Destination:
+ surface->SetPorterDuff(surface, DSPD_DST);
+ break;
+#endif
#if (Q_DIRECTFB_VERSION >= 0x010000)
case QPainter::CompositionMode_SourceAtop:
surface->SetPorterDuff(surface, DSPD_SRC_ATOP);
@@ -967,7 +1033,7 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
break;
#endif
default:
- compositionModeStatus = 0;
+ compositionModeStatus = PorterDuff_None;
break;
}
}
@@ -989,9 +1055,6 @@ void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
}
surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
surface->SetBlittingFlags(surface, blittingFlags);
- if (compositionModeStatus & PorterDuff_Dirty) {
- setCompositionMode(q->state()->composition_mode);
- }
}
static inline uint ALPHA_MUL(uint x, uint a)
@@ -1004,12 +1067,20 @@ static inline uint ALPHA_MUL(uint x, uint a)
void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
{
Q_ASSERT(surface);
+ Q_ASSERT(compositionModeStatus & PorterDuff_Supported);
const quint8 alpha = (opacity == 255 ?
color.alpha() : ALPHA_MUL(color.alpha(), opacity));
- surface->SetColor(surface, color.red(), color.green(), color.blue(), alpha);
- surface->SetPorterDuff(surface, DSPD_NONE);
- surface->SetDrawingFlags(surface, alpha == 255 ? DSDRAW_NOFX : DSDRAW_BLEND);
- compositionModeStatus |= PorterDuff_Dirty;
+ QColor col;
+ if (compositionModeStatus & PorterDuff_PremultiplyColors) {
+ col = QColor(ALPHA_MUL(color.red(), alpha),
+ ALPHA_MUL(color.green(), alpha),
+ ALPHA_MUL(color.blue(), alpha),
+ alpha);
+ } else {
+ col = QColor(color.red(), color.green(), color.blue(), alpha);
+ }
+ surface->SetColor(surface, col.red(), col.green(), col.blue(), col.alpha());
+ surface->SetDrawingFlags(surface, alpha == 255 && !(compositionModeStatus & PorterDuff_AlwaysBlend) ? DSDRAW_NOFX : DSDRAW_BLEND);
}
IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, bool *release)
@@ -1291,7 +1362,7 @@ static inline void drawRects(const T *rects, int n, const QTransform &transform,
}
}
-#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DEBUG
template <typename T> inline const T *ptr(const T &t) { return &t; }
template <> inline const bool* ptr<bool>(const bool &) { return 0; }
template <typename device, typename T1, typename T2, typename T3>
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index ba50329694..b5ac67d601 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -425,7 +425,7 @@ void QDirectFBPixmapData::fill(const QColor &color)
Q_ASSERT(dfbSurface);
- alpha = (color.alpha() < 255);
+ alpha |= (color.alpha() < 255);
if (alpha && isOpaqueFormat(imageFormat)) {
QSize size;
diff --git a/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp b/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
index 7bcb74de7b..e78fec11e4 100644
--- a/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
+++ b/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
@@ -325,6 +325,36 @@ static const struct {
{ 0xffe8, Qt::Key_Meta },
{ 0xffe9, Qt::Key_Alt },
{ 0xffea, Qt::Key_Alt },
+
+ { 0xffb0, Qt::Key_0 },
+ { 0xffb1, Qt::Key_1 },
+ { 0xffb2, Qt::Key_2 },
+ { 0xffb3, Qt::Key_3 },
+ { 0xffb4, Qt::Key_4 },
+ { 0xffb5, Qt::Key_5 },
+ { 0xffb6, Qt::Key_6 },
+ { 0xffb7, Qt::Key_7 },
+ { 0xffb8, Qt::Key_8 },
+ { 0xffb9, Qt::Key_9 },
+
+ { 0xff8d, Qt::Key_Return },
+ { 0xffaa, Qt::Key_Asterisk },
+ { 0xffab, Qt::Key_Plus },
+ { 0xffad, Qt::Key_Minus },
+ { 0xffae, Qt::Key_Period },
+ { 0xffaf, Qt::Key_Slash },
+
+ { 0xff95, Qt::Key_Home },
+ { 0xff96, Qt::Key_Left },
+ { 0xff97, Qt::Key_Up },
+ { 0xff98, Qt::Key_Right },
+ { 0xff99, Qt::Key_Down },
+ { 0xff9a, Qt::Key_PageUp },
+ { 0xff9b, Qt::Key_PageDown },
+ { 0xff9c, Qt::Key_End },
+ { 0xff9e, Qt::Key_Insert },
+ { 0xff9f, Qt::Key_Delete },
+
{ 0, 0 }
};
@@ -483,6 +513,10 @@ bool QRfbKeyEvent::read(QTcpSocket *s)
keycode = keyMap[i].keycode;
i++;
}
+
+ if (keycode >= ' ' && keycode <= '~')
+ unicode = keycode;
+
if (!keycode) {
if (key <= 0xff) {
unicode = key;
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
index 3555b2109b..0f0d6f6559 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
@@ -562,11 +562,29 @@ inline my_jpeg_destination_mgr::my_jpeg_destination_mgr(QIODevice *device)
free_in_buffer = max_buf;
}
+static bool can_write_format(QImage::Format fmt)
+{
+ switch (fmt) {
+ case QImage::Format_Mono:
+ case QImage::Format_MonoLSB:
+ case QImage::Format_Indexed8:
+ case QImage::Format_RGB888:
+ case QImage::Format_RGB32:
+ case QImage::Format_ARGB32:
+ case QImage::Format_ARGB32_Premultiplied:
+ return true;
+ break;
+ default:
+ break;
+ }
+ return false;
+}
static bool write_jpeg_image(const QImage &sourceImage, QIODevice *device, int sourceQuality)
{
bool success = false;
- const QImage image = sourceImage;
+ const QImage image = can_write_format(sourceImage.format()) ?
+ sourceImage : sourceImage.convertToFormat(QImage::Format_RGB888);
const QVector<QRgb> cmap = image.colorTable();
struct jpeg_compress_struct cinfo;
@@ -775,15 +793,16 @@ bool QJpegHandler::supportsOption(ImageOption option) const
QVariant QJpegHandler::option(ImageOption option) const
{
- if (option == Quality) {
+ switch(option) {
+ case Quality:
return quality;
- } else if (option == ScaledSize) {
+ case ScaledSize:
return scaledSize;
- } else if (option == ScaledClipRect) {
+ case ScaledClipRect:
return scaledClipRect;
- } else if (option == ClipRect) {
+ case ClipRect:
return clipRect;
- } else if (option == Size) {
+ case Size:
if (canRead() && !device()->isSequential()) {
qint64 pos = device()->pos();
int width = 0;
@@ -792,7 +811,8 @@ QVariant QJpegHandler::option(ImageOption option) const
device()->seek(pos);
return QSize(width, height);
}
- } else if (option == ImageFormat) {
+ return QVariant();
+ case ImageFormat:
if (canRead() && !device()->isSequential()) {
qint64 pos = device()->pos();
QImage::Format format = QImage::Format_Invalid;
@@ -801,20 +821,29 @@ QVariant QJpegHandler::option(ImageOption option) const
return format;
}
return QImage::Format_Invalid;
+ default:
+ return QVariant();
}
- return QVariant();
}
void QJpegHandler::setOption(ImageOption option, const QVariant &value)
{
- if (option == Quality)
+ switch(option) {
+ case Quality:
quality = value.toInt();
- else if ( option == ScaledSize )
+ break;
+ case ScaledSize:
scaledSize = value.toSize();
- else if ( option == ScaledClipRect )
+ break;
+ case ScaledClipRect:
scaledClipRect = value.toRect();
- else if ( option == ClipRect )
+ break;
+ case ClipRect:
clipRect = value.toRect();
+ break;
+ default:
+ break;
+ }
}
QByteArray QJpegHandler::name() const
diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
index 2334b503fd..3cb64ad689 100644
--- a/src/plugins/imageformats/tiff/tiff.pro
+++ b/src/plugins/imageformats/tiff/tiff.pro
@@ -47,14 +47,16 @@ contains(QT_CONFIG, system-tiff) {
../../../3rdparty/libtiff/libtiff/tif_warning.c \
../../../3rdparty/libtiff/libtiff/tif_write.c \
../../../3rdparty/libtiff/libtiff/tif_zip.c
- win32 {
+ win32:!wince*: {
SOURCES += ../../../3rdparty/libtiff/libtiff/tif_win32.c
}
unix: {
SOURCES += ../../../3rdparty/libtiff/libtiff/tif_unix.c
}
wince*: {
- SOURCES += ../../../corelib/kernel/qfunctions_wince.cpp
+ SOURCES += ../../../corelib/kernel/qfunctions_wince.cpp \
+ ../../../3rdparty/libtiff/libtiff/tif_wince.c \
+ ../../../3rdparty/libtiff/libtiff/tif_win32.c
}
symbian: {
SOURCES += ../../../3rdparty/libtiff/port/lfind.c
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp
index 570b44a293..5f72ca6ed5 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp
@@ -55,7 +55,7 @@ DirectShowAudioEndpointControl::DirectShowAudioEndpointControl(
, m_deviceEnumerator(0)
{
if (CreateBindCtx(0, &m_bindContext) == S_OK) {
- m_deviceEnumerator = com_new<ICreateDevEnum>(CLSID_SystemDeviceEnum);
+ m_deviceEnumerator = com_new<ICreateDevEnum>(CLSID_SystemDeviceEnum, IID_ICreateDevEnum);
updateEndpoints();
@@ -82,6 +82,7 @@ QList<QString> DirectShowAudioEndpointControl::availableEndpoints() const
QString DirectShowAudioEndpointControl::endpointDescription(const QString &name) const
{
+#ifdef __IPropertyBag_INTERFACE_DEFINED__
QString description;
if (IMoniker *moniker = m_devices.value(name, 0)) {
@@ -96,7 +97,11 @@ QString DirectShowAudioEndpointControl::endpointDescription(const QString &name)
propertyBag->Release();
}
}
- return description;;
+
+ return description;
+#else
+ return name.section(QLatin1Char('\\'), -1);
+#endif
}
QString DirectShowAudioEndpointControl::defaultEndpoint() const
@@ -120,7 +125,7 @@ void DirectShowAudioEndpointControl::setActiveEndpoint(const QString &name)
if (moniker->BindToObject(
m_bindContext,
0,
- __uuidof(IBaseFilter),
+ IID_IBaseFilter,
reinterpret_cast<void **>(&filter)) == S_OK) {
m_service->setAudioOutput(filter);
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h
index 1c9fe54e86..e43e2a727c 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h
@@ -42,30 +42,30 @@
#ifndef DIRECTSHOWGLOBAL_H
#define DIRECTSHOWGLOBAL_H
-#include <dshow.h>
+#include <QtCore/qglobal.h>
+#include <dshow.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-template <typename T> T *com_cast(IUnknown *unknown)
+template <typename T> T *com_cast(IUnknown *unknown, const IID &iid)
{
T *iface = 0;
- return unknown && unknown->QueryInterface(
- __uuidof(T), reinterpret_cast<void **>(&iface)) == S_OK
+ return unknown && unknown->QueryInterface(iid, reinterpret_cast<void **>(&iface)) == S_OK
? iface
: 0;
}
-template <typename T> T *com_new(const IID &clsid)
+template <typename T> T *com_new(const IID &clsid, const IID &iid)
{
T *object = 0;
return CoCreateInstance(
clsid,
NULL,
CLSCTX_INPROC_SERVER,
- __uuidof(T),
+ iid,
reinterpret_cast<void **>(&object)) == S_OK
? object
: 0;
@@ -75,4 +75,73 @@ QT_END_NAMESPACE
QT_END_HEADER
+#ifndef __IFilterGraph2_INTERFACE_DEFINED__
+#define __IFilterGraph2_INTERFACE_DEFINED__
+#define INTERFACE IFilterGraph2
+DECLARE_INTERFACE_(IFilterGraph2 ,IGraphBuilder)
+{
+ STDMETHOD(AddSourceFilterForMoniker)(THIS_ IMoniker *, IBindCtx *, LPCWSTR,IBaseFilter **) PURE;
+ STDMETHOD(ReconnectEx)(THIS_ IPin *, const AM_MEDIA_TYPE *) PURE;
+ STDMETHOD(RenderEx)(IPin *, DWORD, DWORD *) PURE;
+};
+#undef INTERFACE
+#endif
+
+#ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
+#define __IAMFilterMiscFlags_INTERFACE_DEFINED__
+#define INTERFACE IAMFilterMiscFlags
+DECLARE_INTERFACE_(IAMFilterMiscFlags ,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(ULONG,GetMiscFlags)(THIS) PURE;
+};
+#undef INTERFACE
+#endif
+
+#ifndef __IFileSourceFilter_INTERFACE_DEFINED__
+#define __IFileSourceFilter_INTERFACE_DEFINED__
+#define INTERFACE IFileSourceFilter
+DECLARE_INTERFACE_(IFileSourceFilter ,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(Load)(THIS_ LPCOLESTR, const AM_MEDIA_TYPE *) PURE;
+ STDMETHOD(GetCurFile)(THIS_ LPOLESTR *ppszFileName, AM_MEDIA_TYPE *) PURE;
+};
+#undef INTERFACE
+#endif
+
+#ifndef __IAMOpenProgress_INTERFACE_DEFINED__
+#define __IAMOpenProgress_INTERFACE_DEFINED__
+#define INTERFACE IAMOpenProgress
+DECLARE_INTERFACE_(IAMOpenProgress ,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(QueryProgress)(THIS_ LONGLONG *, LONGLONG *) PURE;
+ STDMETHOD(AbortOperation)(THIS) PURE;
+};
+#undef INTERFACE
+#endif
+
+#ifndef __IFilterChain_INTERFACE_DEFINED__
+#define __IFilterChain_INTERFACE_DEFINED__
+#define INTERFACE IFilterChain
+DECLARE_INTERFACE_(IFilterChain ,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(StartChain)(IBaseFilter *, IBaseFilter *) PURE;
+ STDMETHOD(PauseChain)(IBaseFilter *, IBaseFilter *) PURE;
+ STDMETHOD(StopChain)(IBaseFilter *, IBaseFilter *) PURE;
+ STDMETHOD(RemoveChain)(IBaseFilter *, IBaseFilter *) PURE;
+};
+#undef INTERFACE
+#endif
+
#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp
index 54446b8c0a..7369099ac6 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp
@@ -143,7 +143,7 @@ HRESULT DirectShowIOReader::RequestAllocator(
return S_OK;
} else {
- *ppActual = com_new<IMemAllocator>(CLSID_MemoryAllocator);
+ *ppActual = com_new<IMemAllocator>(CLSID_MemoryAllocator, IID_IMemAllocator);
if (*ppActual) {
if ((*ppActual)->SetProperties(pProps, &actualProperties) != S_OK) {
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp
index 1dca465a24..7b66d56c24 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp
@@ -121,6 +121,10 @@ void DirectShowIOSource::setAllocator(IMemAllocator *allocator)
// IUnknown
HRESULT DirectShowIOSource::QueryInterface(REFIID riid, void **ppvObject)
{
+ // 2dd74950-a890-11d1-abe8-00a0c905f375
+ static const GUID iid_IAmFilterMiscFlags = {
+ 0x2dd74950, 0xa890, 0x11d1, {0xab, 0xe8, 0x00, 0xa0, 0xc9, 0x05, 0xf3, 0x75}};
+
if (!ppvObject) {
return E_POINTER;
} else if (riid == IID_IUnknown
@@ -128,7 +132,7 @@ HRESULT DirectShowIOSource::QueryInterface(REFIID riid, void **ppvObject)
|| riid == IID_IMediaFilter
|| riid == IID_IBaseFilter) {
*ppvObject = static_cast<IBaseFilter *>(this);
- } else if (riid == IID_IAMFilterMiscFlags) {
+ } else if (riid == iid_IAmFilterMiscFlags) {
*ppvObject = static_cast<IAMFilterMiscFlags *>(this);
} else if (riid == IID_IPin) {
*ppvObject = static_cast<IPin *>(this);
@@ -414,8 +418,8 @@ HRESULT DirectShowIOSource::tryConnect(IPin *pin, const AM_MEDIA_TYPE *type)
} else if (!m_allocator) {
hr = VFW_E_NO_TRANSPORT;
- if (IMemInputPin *memPin = com_cast<IMemInputPin>(pin)) {
- if ((m_allocator = com_new<IMemAllocator>(CLSID_MemoryAllocator))) {
+ if (IMemInputPin *memPin = com_cast<IMemInputPin>(pin, IID_IMemInputPin)) {
+ if ((m_allocator = com_new<IMemAllocator>(CLSID_MemoryAllocator, IID_IMemAllocator))) {
ALLOCATOR_PROPERTIES properties;
if (memPin->GetAllocatorRequirements(&properties) == S_OK
|| m_allocator->GetProperties(&properties) == S_OK) {
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
index b6264737da..1d917dfcba 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
@@ -42,17 +42,17 @@
#ifndef DIRECTSHOWIOSOURCE_H
#define DIRECTSHOWIOSOURCE_H
+#include "directshowglobal.h"
#include "directshowioreader.h"
#include "directshowmediatype.h"
#include "directshowmediatypelist.h"
+#include <QtCore/qfile.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-#include <QtCore/qfile.h>
-
class DirectShowIOSource
: public DirectShowMediaTypeList
, public IBaseFilter
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp
index f719b29360..cf6d45bca7 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp
@@ -54,20 +54,20 @@ namespace
static const TypeLookup qt_typeLookup[] =
{
- { QVideoFrame::Format_RGB32, MEDIASUBTYPE_RGB32 },
- { QVideoFrame::Format_BGR24, MEDIASUBTYPE_RGB24 },
- { QVideoFrame::Format_RGB565, MEDIASUBTYPE_RGB565 },
- { QVideoFrame::Format_RGB555, MEDIASUBTYPE_RGB555 },
- { QVideoFrame::Format_AYUV444, MEDIASUBTYPE_AYUV },
- { QVideoFrame::Format_YUYV, MEDIASUBTYPE_YUY2 },
- { QVideoFrame::Format_UYVY, MEDIASUBTYPE_UYVY },
- { QVideoFrame::Format_IMC1, MEDIASUBTYPE_IMC1 },
- { QVideoFrame::Format_IMC2, MEDIASUBTYPE_IMC2 },
- { QVideoFrame::Format_IMC3, MEDIASUBTYPE_IMC3 },
- { QVideoFrame::Format_IMC4, MEDIASUBTYPE_IMC4 },
- { QVideoFrame::Format_YV12, MEDIASUBTYPE_YV12 },
- { QVideoFrame::Format_NV12, MEDIASUBTYPE_NV12 },
- { QVideoFrame::Format_YUV420P, MEDIASUBTYPE_IYUV }
+ { QVideoFrame::Format_RGB32, /*MEDIASUBTYPE_RGB32*/ {0xe436eb7e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
+ { QVideoFrame::Format_BGR24, /*MEDIASUBTYPE_RGB24*/ {0xe436eb7d, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
+ { QVideoFrame::Format_RGB565, /*MEDIASUBTYPE_RGB565*/ {0xe436eb7b, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
+ { QVideoFrame::Format_RGB555, /*MEDIASUBTYPE_RGB555*/ {0xe436eb7c, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
+ { QVideoFrame::Format_AYUV444, /*MEDIASUBTYPE_AYUV*/ {0x56555941, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_YUYV, /*MEDIASUBTYPE_YUY2*/ {0x32595559, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_UYVY, /*MEDIASUBTYPE_UYVY*/ {0x59565955, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_IMC1, /*MEDIASUBTYPE_IMC1*/ {0x31434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_IMC2, /*MEDIASUBTYPE_IMC2*/ {0x32434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_IMC3, /*MEDIASUBTYPE_IMC3*/ {0x33434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_IMC4, /*MEDIASUBTYPE_IMC4*/ {0x34434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_YV12, /*MEDIASUBTYPE_YV12*/ {0x32315659, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_NV12, /*MEDIASUBTYPE_NV12*/ {0x3231564E, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
+ { QVideoFrame::Format_YUV420P, /*MEDIASUBTYPE_IYUV*/ {0x56555949, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} }
};
}
@@ -102,12 +102,16 @@ void DirectShowMediaType::freeData(AM_MEDIA_TYPE *type)
GUID DirectShowMediaType::convertPixelFormat(QVideoFrame::PixelFormat format)
{
+ // MEDIASUBTYPE_None;
+ static const GUID none = {
+ 0xe436eb8e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
+
const int count = sizeof(qt_typeLookup) / sizeof(TypeLookup);
for (int i = 0; i < count; ++i)
if (qt_typeLookup[i].pixelFormat == format)
return qt_typeLookup[i].mediaType;
- return MEDIASUBTYPE_None;
+ return none;
}
QVideoSurfaceFormat DirectShowMediaType::formatFromType(const AM_MEDIA_TYPE &type)
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp
index 7b2552f3e5..89821c49b3 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp
@@ -297,7 +297,7 @@ QVariant DirectShowMetaDataControl::metaData(QtMultimedia::MetaData key) const
}
if (string) {
- value = QString::fromUtf16(string, ::SysStringLen(string));
+ value = QString::fromUtf16(reinterpret_cast<ushort *>(string), ::SysStringLen(string));
::SysFreeString(string);
}
@@ -344,7 +344,7 @@ void DirectShowMetaDataControl::updateGraph(IFilterGraph2 *graph, IBaseFilter *s
if (m_headerInfo)
m_headerInfo->Release();
- m_headerInfo = com_cast<IWMHeaderInfo>(source);
+ m_headerInfo = com_cast<IWMHeaderInfo>(source, IID_IWMHeaderInfo);
#endif
// DirectShowMediaPlayerService holds a lock at this point so defer emitting signals to a later
// time.
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h
index 966f9b84cc..9a81ba842a 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h
@@ -42,9 +42,10 @@
#ifndef DIRECTSHOWMETADATACONTROL_H
#define DIRECTSHOWMETADATACONTROL_H
+#include "directshowglobal.h"
+
#include <QtMultimedia/qmetadatacontrol.h>
-#include <dshow.h>
#include <qnetwork.h>
#ifndef QT_NO_WMSDK
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp
index b024557fa7..bb7bac3429 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp
@@ -371,7 +371,7 @@ void DirectShowPlayerControl::updateAudioOutput(IBaseFilter *filter)
if (m_audio)
m_audio->Release();
- m_audio = com_cast<IBasicAudio>(filter);
+ m_audio = com_cast<IBasicAudio>(filter, IID_IBasicAudio);
}
void DirectShowPlayerControl::updateError(QMediaPlayer::Error error, const QString &errorString)
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp
index 57f4becd71..317fa5c439 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp
@@ -56,8 +56,6 @@
#include <QtCore/qthread.h>
#include <QtCore/qvarlengtharray.h>
-#include <uuids.h>
-
Q_GLOBAL_STATIC(DirectShowEventLoop, qt_directShowEventLoop)
QT_BEGIN_NAMESPACE
@@ -80,11 +78,11 @@ private:
DirectShowPlayerService::DirectShowPlayerService(QObject *parent)
: QMediaService(parent)
, m_playerControl(0)
- , m_audioEndpointControl(0)
, m_metaDataControl(0)
, m_videoOutputControl(0)
, m_videoRendererControl(0)
, m_videoWindowControl(0)
+ , m_audioEndpointControl(0)
, m_taskThread(0)
, m_loop(qt_directShowEventLoop())
, m_pendingTasks(0)
@@ -203,9 +201,12 @@ void DirectShowPlayerService::load(const QMediaContent &media, QIODevice *stream
m_graphStatus = InvalidMedia;
m_error = QMediaPlayer::ResourceError;
} else {
+ // {36b73882-c2c8-11cf-8b46-00805f6cef60}
+ static const GUID iid_IFilterGraph2 = {
+ 0x36b73882, 0xc2c8, 0x11cf, {0x8b, 0x46, 0x00, 0x80, 0x5f, 0x6c, 0xef, 0x60} };
m_graphStatus = Loading;
- m_graph = com_new<IFilterGraph2>(CLSID_FilterGraph);
+ m_graph = com_new<IFilterGraph2>(CLSID_FilterGraph, iid_IFilterGraph2);
if (stream)
m_pendingTasks = SetStreamSource;
@@ -231,15 +232,22 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
HRESULT hr = E_FAIL;
-#ifndef QT_NO_WMSDK
if (url.scheme() == QLatin1String("http") || url.scheme() == QLatin1String("https")) {
- if (IFileSourceFilter *fileSource = com_new<IFileSourceFilter>(CLSID_WMAsfReader)) {
+ static const GUID clsid_WMAsfReader = {
+ 0x187463a0, 0x5bb7, 0x11d3, {0xac, 0xbe, 0x00, 0x80, 0xc7, 0x5e, 0x24, 0x6e} };
+
+ // {56a868a6-0ad4-11ce-b03a-0020af0ba770}
+ static const GUID iid_IFileSourceFilter = {
+ 0x56a868a6, 0x0ad4, 0x11ce, {0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
+
+ if (IFileSourceFilter *fileSource = com_new<IFileSourceFilter>(
+ clsid_WMAsfReader, iid_IFileSourceFilter)) {
locker->unlock();
- hr = fileSource->Load(url.toString().utf16(), 0);
+ hr = fileSource->Load(reinterpret_cast<const OLECHAR *>(url.toString().utf16()), 0);
locker->relock();
if (SUCCEEDED(hr)) {
- source = com_cast<IBaseFilter>(fileSource);
+ source = com_cast<IBaseFilter>(fileSource, IID_IBaseFilter);
if (!SUCCEEDED(hr = m_graph->AddFilter(source, L"Source")) && source) {
source->Release();
@@ -259,13 +267,11 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
}
if (!SUCCEEDED(hr)) {
-#endif
locker->unlock();
- hr = m_graph->AddSourceFilter(url.toString().utf16(), L"Source", &source);
+ hr = m_graph->AddSourceFilter(
+ reinterpret_cast<const OLECHAR *>(url.toString().utf16()), L"Source", &source);
locker->relock();
-#ifndef QT_NO_WMSDK
}
-#endif
if (SUCCEEDED(hr)) {
m_executedTasks = SetSource;
@@ -299,7 +305,7 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
default:
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doSetUrlSource: Unresolved error code %x", hr);
+ qWarning("DirectShowPlayerService::doSetUrlSource: Unresolved error code %x", uint(hr));
break;
}
@@ -342,7 +348,7 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
{
m_pendingTasks |= m_executedTasks & (Play | Pause);
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
control->Stop();
control->Release();
}
@@ -393,7 +399,7 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
locker->unlock();
HRESULT hr;
if (SUCCEEDED(hr = graph->RenderEx(
- pin, AM_RENDEREX_RENDERTOEXISTINGRENDERERS, 0))) {
+ pin, /*AM_RENDEREX_RENDERTOEXISTINGRENDERERS*/ 1, 0))) {
rendered = true;
} else if (renderHr == S_OK || renderHr == VFW_E_NO_DECOMPRESSOR){
renderHr = hr;
@@ -448,7 +454,7 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
qWarning("DirectShowPlayerService::doRender: Unresolved error code %x",
- renderHr);
+ uint(renderHr));
}
}
@@ -462,11 +468,11 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
void DirectShowPlayerService::doFinalizeLoad(QMutexLocker *locker)
{
if (m_graphStatus != Loaded) {
- if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph)) {
+ if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph, IID_IMediaEvent)) {
event->GetEventHandle(reinterpret_cast<OAEVENT *>(&m_eventHandle));
event->Release();
}
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG duration = 0;
seeking->GetDuration(&duration);
m_duration = duration / 10;
@@ -496,7 +502,12 @@ void DirectShowPlayerService::releaseGraph()
{
if (m_graph) {
if (m_executingTask != 0) {
- if (IAMOpenProgress *progress = com_cast<IAMOpenProgress>(m_graph)) {
+ // {8E1C39A1-DE53-11cf-AA63-0080C744528D}
+ static const GUID iid_IAMOpenProgress = {
+ 0x8E1C39A1, 0xDE53, 0x11cf, {0xAA, 0x63, 0x00, 0x80, 0xC7, 0x44, 0x52, 0x8D} };
+
+ if (IAMOpenProgress *progress = com_cast<IAMOpenProgress>(
+ m_graph, iid_IAMOpenProgress)) {
progress->AbortOperation();
progress->Release();
}
@@ -515,7 +526,7 @@ void DirectShowPlayerService::doReleaseGraph(QMutexLocker *locker)
{
Q_UNUSED(locker);
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
control->Stop();
control->Release();
}
@@ -630,7 +641,7 @@ void DirectShowPlayerService::play()
void DirectShowPlayerService::doPlay(QMutexLocker *locker)
{
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
locker->unlock();
HRESULT hr = control->Run();
locker->relock();
@@ -644,7 +655,7 @@ void DirectShowPlayerService::doPlay(QMutexLocker *locker)
} else {
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doPlay: Unresolved error code %x", hr);
+ qWarning("DirectShowPlayerService::doPlay: Unresolved error code %x", uint(hr));
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
}
@@ -672,7 +683,7 @@ void DirectShowPlayerService::pause()
void DirectShowPlayerService::doPause(QMutexLocker *locker)
{
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
locker->unlock();
HRESULT hr = control->Pause();
locker->relock();
@@ -680,7 +691,7 @@ void DirectShowPlayerService::doPause(QMutexLocker *locker)
control->Release();
if (SUCCEEDED(hr)) {
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG position = 0;
seeking->GetCurrentPosition(&position);
@@ -697,7 +708,7 @@ void DirectShowPlayerService::doPause(QMutexLocker *locker)
} else {
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doPause: Unresolved error code %x", hr);
+ qWarning("DirectShowPlayerService::doPause: Unresolved error code %x", uint(hr));
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
}
@@ -723,12 +734,12 @@ void DirectShowPlayerService::stop()
void DirectShowPlayerService::doStop(QMutexLocker *locker)
{
if (m_executedTasks & (Play | Pause)) {
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
control->Stop();
control->Release();
}
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG position = 0;
seeking->GetCurrentPosition(&position);
@@ -763,7 +774,7 @@ void DirectShowPlayerService::setRate(qreal rate)
void DirectShowPlayerService::doSetRate(QMutexLocker *locker)
{
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
// Cache current values as we can't query IMediaSeeking during a seek due to the
// possibility of a deadlock when flushing the VideoSurfaceFilter.
LONGLONG currentPosition = 0;
@@ -801,7 +812,7 @@ qint64 DirectShowPlayerService::position() const
if (m_graphStatus == Loaded) {
if (m_executingTask == Seek || m_executingTask == SetRate) {
return m_position;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG position = 0;
seeking->GetCurrentPosition(&position);
@@ -822,7 +833,7 @@ QMediaTimeRange DirectShowPlayerService::availablePlaybackRanges() const
if (m_graphStatus == Loaded) {
if (m_executingTask == Seek || m_executingTask == SetRate) {
return m_playbackRange;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG minimum = 0;
LONGLONG maximum = 0;
@@ -850,7 +861,7 @@ void DirectShowPlayerService::seek(qint64 position)
void DirectShowPlayerService::doSeek(QMutexLocker *locker)
{
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG seekPosition = LONGLONG(m_position) * 10;
// Cache current values as we can't query IMediaSeeking during a seek due to the
@@ -886,7 +897,8 @@ int DirectShowPlayerService::bufferStatus() const
#ifndef QT_NO_WMSDK
QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
- if (IWMReaderAdvanced2 *reader = com_cast<IWMReaderAdvanced2>(m_source)) {
+ if (IWMReaderAdvanced2 *reader = com_cast<IWMReaderAdvanced2>(
+ m_source, IID_IWMReaderAdvanced2)) {
DWORD percentage = 0;
reader->GetBufferProgress(&percentage, 0);
@@ -949,7 +961,7 @@ void DirectShowPlayerService::doReleaseAudioOutput(QMutexLocker *locker)
{
m_pendingTasks |= m_executedTasks & (Play | Pause);
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
control->Stop();
control->Release();
}
@@ -960,7 +972,11 @@ void DirectShowPlayerService::doReleaseAudioOutput(QMutexLocker *locker)
decoder->AddRef();
}
- if (IFilterChain *chain = com_cast<IFilterChain>(m_graph)) {
+ // {DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29}
+ static const GUID iid_IFilterChain = {
+ 0xDCFBDCF6, 0x0DC2, 0x45f5, {0x9A, 0xB2, 0x7C, 0x33, 0x0E, 0xA0, 0x9C, 0x29} };
+
+ if (IFilterChain *chain = com_cast<IFilterChain>(m_graph, iid_IFilterChain)) {
chain->RemoveChain(decoder, m_audioOutput);
chain->Release();
} else {
@@ -1018,7 +1034,7 @@ void DirectShowPlayerService::doReleaseVideoOutput(QMutexLocker *locker)
{
m_pendingTasks |= m_executedTasks & (Play | Pause);
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph)) {
+ if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
control->Stop();
control->Release();
}
@@ -1035,7 +1051,11 @@ void DirectShowPlayerService::doReleaseVideoOutput(QMutexLocker *locker)
decoder->AddRef();
}
- if (IFilterChain *chain = com_cast<IFilterChain>(m_graph)) {
+ // {DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29}
+ static const GUID iid_IFilterChain = {
+ 0xDCFBDCF6, 0x0DC2, 0x45f5, {0x9A, 0xB2, 0x7C, 0x33, 0x0E, 0xA0, 0x9C, 0x29} };
+
+ if (IFilterChain *chain = com_cast<IFilterChain>(m_graph, iid_IFilterChain)) {
chain->RemoveChain(decoder, m_videoOutput);
chain->Release();
} else {
@@ -1118,7 +1138,7 @@ void DirectShowPlayerService::videoOutputChanged()
void DirectShowPlayerService::graphEvent(QMutexLocker *locker)
{
- if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph)) {
+ if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph, IID_IMediaEvent)) {
long eventCode;
LONG_PTR param1;
LONG_PTR param2;
@@ -1137,7 +1157,7 @@ void DirectShowPlayerService::graphEvent(QMutexLocker *locker)
m_buffering = false;
m_atEnd = true;
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG position = 0;
seeking->GetCurrentPosition(&position);
@@ -1149,7 +1169,7 @@ void DirectShowPlayerService::graphEvent(QMutexLocker *locker)
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(EndOfMedia)));
break;
case EC_LENGTH_CHANGED:
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG duration = 0;
seeking->GetDuration(&duration);
m_duration = duration / 10;
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h
index a5da9a4829..23515d0ede 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h
@@ -57,7 +57,6 @@
#include <QtCore/private/qwineventnotifier_p.h>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri b/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri
index a7adb38153..99a11919fb 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri
+++ b/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri
@@ -2,7 +2,7 @@ INCLUDEPATH += $$PWD
DEFINES += QMEDIA_DIRECTSHOW_PLAYER
-win32-g++: DEFINES += QT_NO_WMSDK
+!contains(QT_CONFIG, wmsdk): DEFINES += QT_NO_WMSDK
HEADERS += \
$$PWD/directshowaudioendpointcontrol.h \
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp
index 7b4aad5805..a471c6869a 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp
@@ -84,7 +84,11 @@ VideoSurfaceFilter::~VideoSurfaceFilter()
}
HRESULT VideoSurfaceFilter::QueryInterface(REFIID riid, void **ppvObject)
-{
+{
+ // 2dd74950-a890-11d1-abe8-00a0c905f375
+ static const GUID iid_IAmFilterMiscFlags = {
+ 0x2dd74950, 0xa890, 0x11d1, {0xab, 0xe8, 0x00, 0xa0, 0xc9, 0x05, 0xf3, 0x75} };
+
if (!ppvObject) {
return E_POINTER;
} else if (riid == IID_IUnknown
@@ -92,7 +96,7 @@ HRESULT VideoSurfaceFilter::QueryInterface(REFIID riid, void **ppvObject)
|| riid == IID_IMediaFilter
|| riid == IID_IBaseFilter) {
*ppvObject = static_cast<IBaseFilter *>(this);
- } else if (riid == IID_IAMFilterMiscFlags) {
+ } else if (riid == iid_IAmFilterMiscFlags) {
*ppvObject = static_cast<IAMFilterMiscFlags *>(this);
} else if (riid == IID_IPin) {
*ppvObject = static_cast<IPin *>(this);
@@ -446,7 +450,7 @@ HRESULT VideoSurfaceFilter::EndOfStream()
QMutexLocker locker(&m_mutex);
if (!m_sampleScheduler.scheduleEndOfStream()) {
- if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph)) {
+ if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph, IID_IMediaEventSink)) {
sink->Notify(
EC_COMPLETE,
S_OK,
@@ -570,6 +574,10 @@ void VideoSurfaceFilter::supportedFormatsChanged()
{
QMutexLocker locker(&m_mutex);
+ // MEDIASUBTYPE_None;
+ static const GUID none = {
+ 0xe436eb8e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
+
QList<QVideoFrame::PixelFormat> formats = m_surface->supportedPixelFormats();
QVector<AM_MEDIA_TYPE> mediaTypes;
@@ -588,7 +596,7 @@ void VideoSurfaceFilter::supportedFormatsChanged()
foreach (QVideoFrame::PixelFormat format, formats) {
type.subtype = DirectShowMediaType::convertPixelFormat(format);
- if (type.subtype != MEDIASUBTYPE_None)
+ if (type.subtype != none)
mediaTypes.append(type);
}
@@ -610,7 +618,7 @@ void VideoSurfaceFilter::sampleReady()
sample->Release();
if (eos) {
- if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph)) {
+ if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph, IID_IMediaEventSink)) {
sink->Notify(
EC_COMPLETE,
S_OK,
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h
index 8f3a101932..0607fd398e 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h
@@ -41,6 +41,7 @@
#ifndef VIDEOSURFACEFILTER_H
#define VIDEOSURFACEFILTER_H
+#include "directshowglobal.h"
#include "directshowmediatypelist.h"
#include "directshowsamplescheduler.h"
#include "directshowmediatype.h"
@@ -52,9 +53,6 @@
#include <QtCore/qstring.h>
#include <QtCore/qwaitcondition.h>
-#include <dshow.h>
-
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp
index a564e14399..b1ddd985c6 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp
+++ b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
Vmr9VideoWindowControl::Vmr9VideoWindowControl(QObject *parent)
: QVideoWindowControl(parent)
- , m_filter(com_new<IBaseFilter>(CLSID_VideoMixingRenderer9))
+ , m_filter(com_new<IBaseFilter>(CLSID_VideoMixingRenderer9, IID_IBaseFilter))
, m_windowId(0)
, m_dirtyValues(0)
, m_brightness(0)
@@ -57,7 +57,7 @@ Vmr9VideoWindowControl::Vmr9VideoWindowControl(QObject *parent)
, m_saturation(0)
, m_fullScreen(false)
{
- if (IVMRFilterConfig9 *config = com_cast<IVMRFilterConfig9>(m_filter)) {
+ if (IVMRFilterConfig9 *config = com_cast<IVMRFilterConfig9>(m_filter, IID_IVMRFilterConfig9)) {
config->SetRenderingMode(VMR9Mode_Windowless);
config->SetNumberOfStreams(1);
config->Release();
@@ -81,7 +81,8 @@ void Vmr9VideoWindowControl::setWinId(WId id)
{
m_windowId = id;
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
control->SetVideoClippingWindow(m_windowId);
control->Release();
}
@@ -91,7 +92,8 @@ QRect Vmr9VideoWindowControl::displayRect() const
{
QRect rect;
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
RECT sourceRect;
RECT displayRect;
@@ -109,7 +111,8 @@ QRect Vmr9VideoWindowControl::displayRect() const
void Vmr9VideoWindowControl::setDisplayRect(const QRect &rect)
{
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
RECT sourceRect = { 0, 0, 0, 0 };
RECT displayRect = { rect.left(), rect.top(), rect.right(), rect.bottom() };
@@ -134,7 +137,8 @@ void Vmr9VideoWindowControl::repaint()
if (QWidget *widget = QWidget::find(m_windowId)) {
HDC dc = widget->getDC();
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
control->RepaintVideo(m_windowId, dc);
control->Release();
}
@@ -146,7 +150,8 @@ QSize Vmr9VideoWindowControl::nativeSize() const
{
QSize size;
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
LONG width;
LONG height;
@@ -161,7 +166,8 @@ QVideoWidget::AspectRatioMode Vmr9VideoWindowControl::aspectRatioMode() const
{
QVideoWidget::AspectRatioMode mode = QVideoWidget::KeepAspectRatio;
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
DWORD arMode;
if (control->GetAspectRatioMode(&arMode) == S_OK && arMode == VMR9ARMode_None)
@@ -173,7 +179,8 @@ QVideoWidget::AspectRatioMode Vmr9VideoWindowControl::aspectRatioMode() const
void Vmr9VideoWindowControl::setAspectRatioMode(QVideoWidget::AspectRatioMode mode)
{
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(m_filter)) {
+ if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
+ m_filter, IID_IVMRWindowlessControl9)) {
switch (mode) {
case QVideoWidget::IgnoreAspectRatio:
control->SetAspectRatioMode(VMR9ARMode_None);
@@ -254,7 +261,7 @@ void Vmr9VideoWindowControl::setSaturation(int saturation)
void Vmr9VideoWindowControl::setProcAmpValues()
{
- if (IVMRMixerControl9 *control = com_cast<IVMRMixerControl9>(m_filter)) {
+ if (IVMRMixerControl9 *control = com_cast<IVMRMixerControl9>(m_filter, IID_IVMRMixerControl9)) {
VMR9ProcAmpControl procAmp;
procAmp.dwSize = sizeof(VMR9ProcAmpControl);
procAmp.dwFlags = m_dirtyValues;
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
index 4d0ffe4afd..eff6ea42da 100644
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
+++ b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
@@ -45,6 +45,8 @@
#include <gst/gstversion.h>
+QT_BEGIN_NAMESPACE
+
struct QGstreamerMetaDataKeyLookup
{
QtMultimedia::MetaData key;
@@ -202,3 +204,6 @@ void QGstreamerMetaDataProvider::updateTags()
{
emit metaDataChanged();
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
index d417266c02..e6466932da 100644
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
+++ b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
@@ -54,9 +54,14 @@
#include <fcntl.h>
#include <unistd.h>
+QT_BEGIN_NAMESPACE
+
QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *session, QObject *parent)
: QMediaPlayerControl(parent)
, m_session(session)
+ , m_state(QMediaPlayer::StoppedState)
+ , m_mediaStatus(QMediaPlayer::NoMedia)
+ , m_bufferProgress(-1)
, m_stream(0)
, m_fifoNotifier(0)
, m_fifoCanWrite(false)
@@ -75,11 +80,11 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
connect(m_session, SIGNAL(volumeChanged(int)),
this, SIGNAL(volumeChanged(int)));
connect(m_session, SIGNAL(stateChanged(QMediaPlayer::State)),
- this, SIGNAL(stateChanged(QMediaPlayer::State)));
- connect(m_session, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- this, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
+ this, SLOT(updateState(QMediaPlayer::State)));
connect(m_session,SIGNAL(bufferingProgressChanged(int)),
- this, SIGNAL(bufferStatusChanged(int)));
+ this, SLOT(setBufferProgress(int)));
+ connect(m_session, SIGNAL(playbackFinished()),
+ this, SLOT(processEOS()));
connect(m_session, SIGNAL(audioAvailableChanged(bool)),
this, SIGNAL(audioAvailableChanged(bool)));
connect(m_session, SIGNAL(videoAvailableChanged(bool)),
@@ -112,17 +117,20 @@ qint64 QGstreamerPlayerControl::duration() const
QMediaPlayer::State QGstreamerPlayerControl::state() const
{
- return m_session->state();
+ return m_state;
}
QMediaPlayer::MediaStatus QGstreamerPlayerControl::mediaStatus() const
{
- return m_session->mediaStatus();
+ return m_mediaStatus;
}
int QGstreamerPlayerControl::bufferStatus() const
{
- return 100;
+ if (m_bufferProgress == -1) {
+ return m_session->state() == QMediaPlayer::StoppedState ? 0 : 100;
+ } else
+ return m_bufferProgress;
}
int QGstreamerPlayerControl::volume() const
@@ -167,23 +175,33 @@ void QGstreamerPlayerControl::setPosition(qint64 pos)
void QGstreamerPlayerControl::play()
{
- m_session->play();
-
- if (m_fifoFd[1] >= 0) {
- m_fifoCanWrite = true;
-
- writeFifo();
+ if (m_session->play()) {
+ if (m_state != QMediaPlayer::PlayingState)
+ emit stateChanged(m_state = QMediaPlayer::PlayingState);
}
}
void QGstreamerPlayerControl::pause()
{
- m_session->pause();
+ if (m_session->pause()) {
+ if (m_state != QMediaPlayer::PausedState)
+ emit stateChanged(m_state = QMediaPlayer::PausedState);
+ }
}
void QGstreamerPlayerControl::stop()
{
- m_session->stop();
+ if (m_state != QMediaPlayer::StoppedState) {
+ m_session->pause();
+ if (!m_session->seek(0)) {
+ m_bufferProgress = -1;
+ m_session->stop();
+ m_session->pause();
+ }
+ emit positionChanged(0);
+ if (m_state != QMediaPlayer::StoppedState)
+ emit stateChanged(m_state = QMediaPlayer::StoppedState);
+ }
}
void QGstreamerPlayerControl::setVolume(int volume)
@@ -208,8 +226,15 @@ const QIODevice *QGstreamerPlayerControl::mediaStream() const
void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *stream)
{
+ QMediaPlayer::State oldState = m_state;
+ m_state = QMediaPlayer::StoppedState;
m_session->stop();
+ if (m_bufferProgress != -1) {
+ m_bufferProgress = -1;
+ emit bufferStatusChanged(0);
+ }
+
if (m_stream) {
closeFifo();
@@ -232,7 +257,25 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
m_session->load(url);
+ if (m_fifoFd[1] >= 0) {
+ m_fifoCanWrite = true;
+
+ writeFifo();
+ }
+
+ if (!url.isEmpty()) {
+ if (m_mediaStatus != QMediaPlayer::LoadingMedia)
+ emit mediaStatusChanged(m_mediaStatus = QMediaPlayer::LoadingMedia);
+ m_session->pause();
+ } else {
+ if (m_mediaStatus != QMediaPlayer::NoMedia)
+ emit mediaStatusChanged(m_mediaStatus = QMediaPlayer::NoMedia);
+ setBufferProgress(0);
+ }
+
emit mediaChanged(m_currentResource);
+ if (m_state != oldState)
+ emit stateChanged(m_state);
}
void QGstreamerPlayerControl::setVideoOutput(QObject *output)
@@ -250,6 +293,68 @@ bool QGstreamerPlayerControl::isVideoAvailable() const
return m_session->isVideoAvailable();
}
+void QGstreamerPlayerControl::updateState(QMediaPlayer::State state)
+{
+ QMediaPlayer::MediaStatus oldStatus = m_mediaStatus;
+
+ switch (state) {
+ case QMediaPlayer::StoppedState:
+ if (m_state != QMediaPlayer::StoppedState)
+ emit stateChanged(m_state = QMediaPlayer::StoppedState);
+ break;
+
+ case QMediaPlayer::PlayingState:
+ case QMediaPlayer::PausedState:
+ if (m_state == QMediaPlayer::StoppedState)
+ m_mediaStatus = QMediaPlayer::LoadedMedia;
+ else {
+ if (m_bufferProgress == -1)
+ m_mediaStatus = QMediaPlayer::BufferedMedia;
+ }
+ break;
+ }
+
+ if (m_mediaStatus != oldStatus)
+ emit mediaStatusChanged(m_mediaStatus);
+}
+
+void QGstreamerPlayerControl::processEOS()
+{
+ m_mediaStatus = QMediaPlayer::EndOfMedia;
+ m_state = QMediaPlayer::StoppedState;
+
+ emit stateChanged(m_state);
+ emit mediaStatusChanged(m_mediaStatus);
+}
+
+void QGstreamerPlayerControl::setBufferProgress(int progress)
+{
+ if (m_bufferProgress == progress || m_mediaStatus == QMediaPlayer::NoMedia)
+ return;
+
+ QMediaPlayer::MediaStatus oldStatus = m_mediaStatus;
+
+ m_bufferProgress = progress;
+
+ if (m_state == QMediaPlayer::StoppedState) {
+ m_mediaStatus = QMediaPlayer::LoadedMedia;
+ } else {
+ if (m_bufferProgress < 100) {
+ m_mediaStatus = QMediaPlayer::StalledMedia;
+ m_session->pause();
+ } else {
+ m_mediaStatus = QMediaPlayer::BufferedMedia;
+ if (m_state == QMediaPlayer::PlayingState)
+ m_session->play();
+ }
+ }
+
+ if (m_mediaStatus != oldStatus)
+ emit mediaStatusChanged(m_mediaStatus);
+
+ emit bufferStatusChanged(m_bufferProgress);
+}
+
void QGstreamerPlayerControl::writeFifo()
{
if (m_fifoCanWrite) {
@@ -341,3 +446,6 @@ void QGstreamerPlayerControl::closeFifo()
m_bufferOffset = 0;
}
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h
index ae0f8b625c..0c53945bf3 100644
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h
+++ b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h
@@ -107,11 +107,18 @@ private Q_SLOTS:
void writeFifo();
void fifoReadyWrite(int socket);
+ void updateState(QMediaPlayer::State);
+ void processEOS();
+ void setBufferProgress(int progress);
+
private:
bool openFifo();
void closeFifo();
QGstreamerPlayerSession *m_session;
+ QMediaPlayer::State m_state;
+ QMediaPlayer::MediaStatus m_mediaStatus;
+ int m_bufferProgress;
QMediaContent m_currentResource;
QIODevice *m_stream;
QSocketNotifier *m_fifoNotifier;
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index 2e5d10fe84..392a7a8b37 100644
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -51,10 +51,12 @@
//#define USE_PLAYBIN2
+
+QT_BEGIN_NAMESPACE
+
QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
:QObject(parent),
m_state(QMediaPlayer::StoppedState),
- m_mediaStatus(QMediaPlayer::UnknownMediaStatus),
m_busHelper(0),
m_playbin(0),
m_nullVideoOutput(0),
@@ -89,6 +91,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
m_busHelper->installSyncEventFilter(this);
m_nullVideoOutput = gst_element_factory_make("fakesink", NULL);
+ gst_object_ref(GST_OBJECT(m_nullVideoOutput));
g_object_set(G_OBJECT(m_playbin), "video-sink", m_nullVideoOutput, NULL);
// Initial volume
@@ -106,12 +109,14 @@ QGstreamerPlayerSession::~QGstreamerPlayerSession()
delete m_busHelper;
gst_object_unref(GST_OBJECT(m_bus));
gst_object_unref(GST_OBJECT(m_playbin));
+ gst_object_unref(GST_OBJECT(m_nullVideoOutput));
}
}
void QGstreamerPlayerSession::load(const QUrl &url)
{
m_url = url;
+
if (m_playbin) {
m_tags.clear();
emit tagsChanged();
@@ -256,26 +261,36 @@ bool QGstreamerPlayerSession::isSeekable() const
return m_seekable;
}
-void QGstreamerPlayerSession::play()
+bool QGstreamerPlayerSession::play()
{
if (m_playbin) {
if (gst_element_set_state(m_playbin, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) {
qWarning() << "GStreamer; Unable to play -" << m_url.toString();
- m_state = QMediaPlayer::StoppedState;
- m_mediaStatus = QMediaPlayer::InvalidMedia;
+ m_state = QMediaPlayer::StoppedState;
emit stateChanged(m_state);
- emit mediaStatusChanged(m_mediaStatus);
-
emit error(int(QMediaPlayer::ResourceError), tr("Unable to play %1").arg(m_url.path()));
- }
+ } else
+ return true;
}
+
+ return false;
}
-void QGstreamerPlayerSession::pause()
+bool QGstreamerPlayerSession::pause()
{
- if (m_playbin)
- gst_element_set_state(m_playbin, GST_STATE_PAUSED);
+ if (m_playbin) {
+ if (gst_element_set_state(m_playbin, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) {
+ qWarning() << "GStreamer; Unable to play -" << m_url.toString();
+ m_state = QMediaPlayer::StoppedState;
+
+ emit stateChanged(m_state);
+ emit error(int(QMediaPlayer::ResourceError), tr("Unable to play %1").arg(m_url.path()));
+ } else
+ return true;
+ }
+
+ return false;
}
void QGstreamerPlayerSession::stop()
@@ -289,31 +304,45 @@ void QGstreamerPlayerSession::stop()
}
}
-void QGstreamerPlayerSession::seek(qint64 ms)
+bool QGstreamerPlayerSession::seek(qint64 ms)
{
if (m_playbin && m_state != QMediaPlayer::StoppedState) {
gint64 position = (gint64)ms * 1000000;
- gst_element_seek_simple(m_playbin, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, position);
+ return gst_element_seek_simple(m_playbin, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, position);
}
+
+ return false;
}
void QGstreamerPlayerSession::setVolume(int volume)
{
- m_volume = volume;
- emit volumeChanged(m_volume);
+ if (m_volume != volume) {
+ m_volume = volume;
+
+ if (m_playbin) {
+#ifndef USE_PLAYBIN2
+ if(!m_muted)
+#endif
+ g_object_set(G_OBJECT(m_playbin), "volume", m_volume/100.0, NULL);
+ }
- if (!m_muted && m_playbin)
- g_object_set(G_OBJECT(m_playbin), "volume", m_volume/100.0, NULL);
+ emit volumeChanged(m_volume);
+ }
}
void QGstreamerPlayerSession::setMuted(bool muted)
{
- m_muted = muted;
-
- g_object_set(G_OBJECT(m_playbin), "volume", (m_muted ? 0 : m_volume/100.0), NULL);
+ if (m_muted != muted) {
+ m_muted = muted;
- emit mutedStateChanged(m_muted);
+#ifdef USE_PLAYBIN2
+ g_object_set(G_OBJECT(m_playbin), "mute", m_muted, NULL);
+#else
+ g_object_set(G_OBJECT(m_playbin), "volume", (m_muted ? 0 : m_volume/100.0), NULL);
+#endif
+ emit mutedStateChanged(m_muted);
+ }
}
static void addTagToMap(const GstTagList *list,
@@ -385,14 +414,6 @@ void QGstreamerPlayerSession::setSeekable(bool seekable)
}
}
-void QGstreamerPlayerSession::setMediaStatus(QMediaPlayer::MediaStatus status)
-{
- if (m_mediaStatus != status) {
- m_mediaStatus = status;
- emit mediaStatusChanged(status);
- }
-}
-
bool QGstreamerPlayerSession::processSyncMessage(const QGstreamerMessage &message)
{
GstMessage* gm = message.rawMessage();
@@ -437,9 +458,6 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
if (GST_MESSAGE_SRC(gm) == GST_OBJECT_CAST(m_playbin)) {
switch (GST_MESSAGE_TYPE(gm)) {
- case GST_MESSAGE_DURATION:
- break;
-
case GST_MESSAGE_STATE_CHANGED:
{
GstState oldState;
@@ -459,24 +477,19 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
switch (newState) {
case GST_STATE_VOID_PENDING:
case GST_STATE_NULL:
- setMediaStatus(QMediaPlayer::UnknownMediaStatus);
setSeekable(false);
if (m_state != QMediaPlayer::StoppedState)
emit stateChanged(m_state = QMediaPlayer::StoppedState);
break;
case GST_STATE_READY:
- setMediaStatus(QMediaPlayer::LoadedMedia);
setSeekable(false);
if (m_state != QMediaPlayer::StoppedState)
emit stateChanged(m_state = QMediaPlayer::StoppedState);
break;
case GST_STATE_PAUSED:
- //don't emit state changes for intermediate states
- if (m_state != QMediaPlayer::PausedState && pending == GST_STATE_VOID_PENDING)
+ if (m_state != QMediaPlayer::PausedState)
emit stateChanged(m_state = QMediaPlayer::PausedState);
- setMediaStatus(QMediaPlayer::LoadedMedia);
-
//check for seekable
if (oldState == GST_STATE_READY) {
/*
@@ -510,17 +523,13 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
if (m_state != QMediaPlayer::PlayingState)
emit stateChanged(m_state = QMediaPlayer::PlayingState);
+
break;
}
}
break;
case GST_MESSAGE_EOS:
- if (m_state != QMediaPlayer::StoppedState)
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
-
- setMediaStatus(QMediaPlayer::EndOfMedia);
-
emit playbackFinished();
break;
@@ -543,7 +552,11 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
case GST_MESSAGE_INFO:
break;
case GST_MESSAGE_BUFFERING:
- setMediaStatus(QMediaPlayer::BufferingMedia);
+ {
+ int progress = 0;
+ gst_message_parse_buffering(gm, &progress);
+ emit bufferingProgressChanged(progress);
+ }
break;
case GST_MESSAGE_STATE_DIRTY:
case GST_MESSAGE_STEP_DONE:
@@ -553,8 +566,32 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
case GST_MESSAGE_STRUCTURE_CHANGE:
case GST_MESSAGE_APPLICATION:
case GST_MESSAGE_ELEMENT:
+ break;
case GST_MESSAGE_SEGMENT_START:
+ {
+ const GstStructure *structure = gst_message_get_structure(gm);
+ qint64 position = g_value_get_int64(gst_structure_get_value(structure, "position"));
+ position /= 1000000;
+ m_lastPosition = position;
+ emit positionChanged(position);
+ }
+ break;
case GST_MESSAGE_SEGMENT_DONE:
+ break;
+ case GST_MESSAGE_DURATION:
+ {
+ GstFormat format = GST_FORMAT_TIME;
+ gint64 duration = 0;
+
+ if (gst_element_query_duration(m_playbin, &format, &duration)) {
+ int newDuration = duration / 1000000;
+ if (m_duration != newDuration) {
+ m_duration = newDuration;
+ emit durationChanged(m_duration);
+ }
+ }
+ }
+ break;
case GST_MESSAGE_LATENCY:
#if (GST_VERSION_MAJOR >= 0) && (GST_VERSION_MINOR >= 10) && (GST_VERSION_MICRO >= 13)
case GST_MESSAGE_ASYNC_START:
@@ -601,7 +638,7 @@ void QGstreamerPlayerSession::getStreamsInfo()
haveAudio = audioStreamsCount > 0;
haveVideo = videoStreamsCount > 0;
- m_playbin2StreamOffset[QMediaStreamsControl::AudioStream] = 0;
+ /*m_playbin2StreamOffset[QMediaStreamsControl::AudioStream] = 0;
m_playbin2StreamOffset[QMediaStreamsControl::VideoStream] = audioStreamsCount;
m_playbin2StreamOffset[QMediaStreamsControl::SubPictureStream] = audioStreamsCount+videoStreamsCount;
@@ -645,7 +682,9 @@ void QGstreamerPlayerSession::getStreamsInfo()
}
m_streamProperties.append(streamProperties);
+
}
+ */
#else
enum {
@@ -710,3 +749,6 @@ void QGstreamerPlayerSession::getStreamsInfo()
emit streamsChanged();
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h
index d650ec79f5..edfec5b937 100644
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h
+++ b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h
@@ -71,7 +71,6 @@ public:
QUrl url() const;
QMediaPlayer::State state() const { return m_state; }
- QMediaPlayer::MediaStatus mediaStatus() const { return m_mediaStatus; }
qint64 duration() const;
qint64 position() const;
@@ -105,11 +104,11 @@ public:
public slots:
void load(const QUrl &url);
- void play();
- void pause();
+ bool play();
+ bool pause();
void stop();
- void seek(qint64 pos);
+ bool seek(qint64 pos);
void setVolume(int volume);
void setMuted(bool muted);
@@ -118,7 +117,6 @@ signals:
void durationChanged(qint64 duration);
void positionChanged(qint64 position);
void stateChanged(QMediaPlayer::State state);
- void mediaStatusChanged(QMediaPlayer::MediaStatus mediaStatus);
void volumeChanged(int volume);
void mutedStateChanged(bool muted);
void audioAvailableChanged(bool audioAvailable);
@@ -137,11 +135,8 @@ private slots:
void setSeekable(bool);
private:
- void setMediaStatus(QMediaPlayer::MediaStatus);
-
QUrl m_url;
QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
QGstreamerBusHelper* m_busHelper;
GstElement* m_playbin;
GstElement* m_nullVideoOutput;
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp b/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp
index 59ae5be43d..5049fa17dd 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp
@@ -45,6 +45,7 @@
#include "qgstreamerbushelper.h"
+QT_BEGIN_NAMESPACE
#ifndef QT_NO_GLIB
class QGstreamerBusHelperPrivate : public QObject
@@ -200,4 +201,6 @@ void QGstreamerBusHelper::installSyncEventFilter(QGstreamerSyncEventFilter *filt
d->filter = filter;
}
+QT_END_NAMESPACE
+
#include "qgstreamerbushelper.moc"
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp b/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp
index 13a2454cf4..d52aa750a9 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp
@@ -44,11 +44,13 @@
#include "qgstreamermessage.h"
+QT_BEGIN_NAMESPACE
+
static int wuchi = qRegisterMetaType<QGstreamerMessage>();
/*!
- \class gstreamer::QGstreamerMessage
+ \class QGstreamerMessage
\internal
*/
@@ -91,3 +93,5 @@ QGstreamerMessage& QGstreamerMessage::operator=(QGstreamerMessage const& rhs)
return *this;
}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp
index 94ae847368..406cefe111 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp
@@ -57,6 +57,9 @@
#include <sys/mman.h>
#include <linux/videodev2.h>
+
+QT_BEGIN_NAMESPACE
+
QGstreamerVideoInputDeviceControl::QGstreamerVideoInputDeviceControl(QObject *parent)
:QVideoDeviceControl(parent), m_selectedDevice(0)
{
@@ -155,3 +158,6 @@ void QGstreamerVideoInputDeviceControl::update()
::close(fd);
}
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp
index decf5248e9..f406bff60c 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp
@@ -41,6 +41,8 @@
#include "qgstreamervideooutputcontrol.h"
+QT_BEGIN_NAMESPACE
+
QGstreamerVideoOutputControl::QGstreamerVideoOutputControl(QObject *parent)
: QVideoOutputControl(parent)
, m_output(NoOutput)
@@ -70,3 +72,6 @@ void QGstreamerVideoOutputControl::setOutput(Output output)
if (m_output != output)
emit outputChanged(m_output = output);
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp
index 6c6c8029d0..846a24abea 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp
@@ -46,6 +46,8 @@
#include "qx11videosurface.h"
+QT_BEGIN_NAMESPACE
+
QGstreamerVideoOverlay::QGstreamerVideoOverlay(QObject *parent)
: QVideoWindowControl(parent)
, m_surface(new QX11VideoSurface)
@@ -208,3 +210,6 @@ void QGstreamerVideoOverlay::setScaledDisplayRect()
break;
};
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp
index 25a53cfe15..1f0399025c 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp
@@ -47,6 +47,9 @@
#include <gst/gst.h>
+
+QT_BEGIN_NAMESPACE
+
QGstreamerVideoRenderer::QGstreamerVideoRenderer(QObject *parent)
:QVideoRendererControl(parent),m_videoSink(0)
{
@@ -80,3 +83,6 @@ void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface)
m_surface = surface;
}
+QT_END_NAMESPACE
+
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp
index 0a1c20df13..886a0644ef 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp
@@ -41,6 +41,12 @@
#include "qgstreamervideorendererinterface.h"
+
+QT_BEGIN_NAMESPACE
+
QGstreamerVideoRendererInterface::~QGstreamerVideoRendererInterface()
{
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h
index 39deee81e1..c63a75708b 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h
@@ -59,11 +59,11 @@ public:
virtual void precessNewStream() {}
};
-QT_END_NAMESPACE
-
#define QGstreamerVideoRendererInterface_iid "com.nokia.Qt.QGstreamerVideoRendererInterface/1.0"
Q_DECLARE_INTERFACE(QGstreamerVideoRendererInterface, QGstreamerVideoRendererInterface_iid)
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp
index 1d8d43df7a..47fb451d56 100644
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp
@@ -51,6 +51,9 @@
#include <gst/interfaces/xoverlay.h>
#include <gst/interfaces/propertyprobe.h>
+
+QT_BEGIN_NAMESPACE
+
class QGstreamerVideoWidget : public QWidget
{
public:
@@ -320,3 +323,6 @@ void QGstreamerVideoWidgetControl::setSaturation(int saturation)
emit saturationChanged(saturation);
}
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp b/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp
index 9519db6de5..76289bfc7c 100644
--- a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp
@@ -42,6 +42,8 @@
#include "qgstvideobuffer.h"
+QT_BEGIN_NAMESPACE
+
QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine)
: QAbstractVideoBuffer(NoHandle)
, m_buffer(buffer)
@@ -95,3 +97,5 @@ void QGstVideoBuffer::unmap()
m_mode = NotMapped;
}
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp
index 5b99817f9c..b2e633d988 100644
--- a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp
+++ b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp
@@ -47,6 +47,9 @@
#include "qgstxvimagebuffer.h"
#include "qvideosurfacegstsink.h"
+
+QT_BEGIN_NAMESPACE
+
GstBufferClass *QGstXvImageBuffer::parent_class = NULL;
GType QGstXvImageBuffer::get_type(void)
@@ -274,3 +277,6 @@ void QGstXvImageBufferPool::destroyBuffer(QGstXvImageBuffer *xvBuffer)
if (m_imagesToDestroy.size() == 1)
QMetaObject::invokeMethod(this, "queuedDestroy", Qt::QueuedConnection);
}
+
+QT_END_NAMESPACE
+
diff --git a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h
index beeb01f1fe..30f77d154b 100644
--- a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h
+++ b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h
@@ -56,14 +56,13 @@
#include <X11/extensions/Xv.h>
#include <X11/extensions/Xvlib.h>
-
#include <gst/gst.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-
class QGstXvImageBufferPool;
struct QGstXvImageBuffer {
@@ -82,7 +81,6 @@ struct QGstXvImageBuffer {
const QAbstractVideoBuffer::HandleType XvHandleType = QAbstractVideoBuffer::HandleType(4);
-Q_DECLARE_METATYPE(XvImage*)
class QGstXvImageBufferPool : public QObject {
@@ -125,6 +123,8 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(::XvImage*)
+
QT_END_HEADER
diff --git a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
index 402a225d56..76d87cedb7 100644
--- a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
+++ b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
@@ -52,8 +52,11 @@
#include "qgstxvimagebuffer.h"
+
Q_DECLARE_METATYPE(QVideoSurfaceFormat)
+QT_BEGIN_NAMESPACE
+
QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(QAbstractVideoSurface *surface)
: m_surface(surface)
, m_renderReturn(GST_FLOW_ERROR)
@@ -691,3 +694,6 @@ GstFlowReturn QVideoSurfaceGstSink::render(GstBaseSink *base, GstBuffer *buffer)
return sink->delegate->render(buffer);
}
+QT_END_NAMESPACE
+
+
diff --git a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp b/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp
index 6e282ffdc0..cbd5a765a8 100644
--- a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp
+++ b/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp
@@ -46,7 +46,9 @@
#include "qx11videosurface.h"
-Q_DECLARE_METATYPE(XvImage*);
+Q_DECLARE_METATYPE(::XvImage*);
+
+QT_BEGIN_NAMESPACE
static QAbstractVideoBuffer::HandleType XvHandleType = QAbstractVideoBuffer::HandleType(4);
@@ -507,3 +509,5 @@ void QX11VideoSurface::querySupportedFormats()
XFree(attributes);
}
}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/mediaservices.pro b/src/plugins/mediaservices/mediaservices.pro
index d84b276243..19d678b8e1 100644
--- a/src/plugins/mediaservices/mediaservices.pro
+++ b/src/plugins/mediaservices/mediaservices.pro
@@ -1,7 +1,7 @@
TEMPLATE = subdirs
contains(QT_CONFIG, mediaservice) {
- win32:!wince: SUBDIRS += directshow
+ win32:!wince*: SUBDIRS += directshow
mac: SUBDIRS += qt7
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm
index a14981a5b2..59d01a2673 100644
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm
+++ b/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm
@@ -132,15 +132,19 @@ static OSStatus readMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, QT
UInt32 propFlags;
OSStatus err = QTMetaDataGetItemPropertyInfo(metaDataRef, item, propClass, id, &type, &propSize, &propFlags);
-
- *value = malloc(propSize);
-
- err = QTMetaDataGetItemProperty(metaDataRef, item, propClass, id, propSize, *value, size);
-
- if (type == 'code' || type == 'itsk' || type == 'itlk') {
- // convert from native endian to big endian
- OSTypePtr pType = (OSTypePtr)*value;
- *pType = EndianU32_NtoB(*pType);
+ if (err == noErr) {
+ *value = malloc(propSize);
+ if (*value != 0) {
+ err = QTMetaDataGetItemProperty(metaDataRef, item, propClass, id, propSize, *value, size);
+
+ if (err == noErr && (type == 'code' || type == 'itsk' || type == 'itlk')) {
+ // convert from native endian to big endian
+ OSTypePtr pType = (OSTypePtr)*value;
+ *pType = EndianU32_NtoB(*pType);
+ }
+ }
+ else
+ return -1;
}
return err;
@@ -153,10 +157,14 @@ static UInt32 getMetaType(QTMetaDataRef metaDataRef, QTMetaDataItem item)
OSStatus err = readMetaValue(
metaDataRef, item, kPropertyClass_MetaDataItem, kQTMetaDataItemPropertyID_DataType, &value, &ignore);
- UInt32 type = *((UInt32 *) value);
- if (value)
- free(value);
- return type;
+ if (err == noErr) {
+ UInt32 type = *((UInt32 *) value);
+ if (value)
+ free(value);
+ return type;
+ }
+
+ return 0;
}
static QString cFStringToQString(CFStringRef str)
@@ -179,23 +187,26 @@ static QString getMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, SInt
QTPropertyValuePtr value = 0;
ByteCount size = 0;
OSStatus err = readMetaValue(metaDataRef, item, kPropertyClass_MetaDataItem, id, &value, &size);
-
QString string;
- UInt32 dataType = getMetaType(metaDataRef, item);
- switch (dataType){
- case kQTMetaDataTypeUTF8:
- case kQTMetaDataTypeMacEncodedText:
- string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF8, false));
- break;
- case kQTMetaDataTypeUTF16BE:
- string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF16BE, false));
- break;
- default:
- break;
+
+ if (err == noErr) {
+ UInt32 dataType = getMetaType(metaDataRef, item);
+ switch (dataType){
+ case kQTMetaDataTypeUTF8:
+ case kQTMetaDataTypeMacEncodedText:
+ string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF8, false));
+ break;
+ case kQTMetaDataTypeUTF16BE:
+ string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF16BE, false));
+ break;
+ default:
+ break;
+ }
+
+ if (value)
+ free(value);
}
- if (value)
- free(value);
return string;
}
@@ -234,11 +245,13 @@ void QT7PlayerMetaDataControl::updateTags()
#ifdef QUICKTIME_C_API_AVAILABLE
QTMetaDataRef metaDataRef;
OSStatus err = QTCopyMovieMetaData([movie quickTimeMovie], &metaDataRef);
-
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatUserData, metaMap);
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatQuickTime, metaMap);
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatiTunes, metaMap);
+ if (err == noErr) {
+ readFormattedData(metaDataRef, kQTMetaDataStorageFormatUserData, metaMap);
+ readFormattedData(metaDataRef, kQTMetaDataStorageFormatQuickTime, metaMap);
+ readFormattedData(metaDataRef, kQTMetaDataStorageFormatiTunes, metaMap);
+ }
#else
+ AutoReleasePool pool;
NSString *name = [movie attributeForKey:@"QTMovieDisplayNameAttribute"];
metaMap.insert(QLatin1String("nam"), QString::fromUtf8([name UTF8String]));
#endif // QUICKTIME_C_API_AVAILABLE
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm
index faf75d12bd..205e862d09 100644
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm
+++ b/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
QT7PlayerService::QT7PlayerService(QObject *parent):
QMediaService(parent)
{
- m_session = new QT7PlayerSession;
+ m_session = new QT7PlayerSession(this);
m_control = new QT7PlayerControl(this);
m_control->setSession(m_session);
@@ -102,6 +102,7 @@ QT7PlayerService::QT7PlayerService(QObject *parent):
QT7PlayerService::~QT7PlayerService()
{
+ m_session->setVideoOutput(0);
}
QMediaControl *QT7PlayerService::control(const char *name) const
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h
index 4742e2e7e7..0ba3041005 100644
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h
+++ b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h
@@ -107,7 +107,7 @@ public slots:
void setMuted(bool muted);
void processEOS();
- void processStateChange();
+ void processLoadStateChange();
void processVolumeChange();
void processNaturalSizeChange();
@@ -138,6 +138,10 @@ private:
bool m_muted;
int m_volume;
qreal m_rate;
+
+ qint64 m_duration;
+ bool m_videoAvailable;
+ bool m_audioAvailable;
};
QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm
index 3f198b9e37..d83c0e3ff4 100644
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm
+++ b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm
@@ -48,10 +48,13 @@
#include "qt7playercontrol.h"
#include "qt7videooutputcontrol.h"
+#include <QtNetwork/qnetworkcookie.h>
#include <QtMultimedia/qmediaplaylistnavigator.h>
#include <CoreFoundation/CoreFoundation.h>
+#include <Foundation/Foundation.h>
+#include <QtCore/qdatetime.h>
#include <QtCore/qurl.h>
#include <QtCore/qdebug.h>
@@ -65,7 +68,9 @@
- (QTMovieObserver *) initWithPlayerSession:(QT7PlayerSession*)session;
- (void) setMovie:(QTMovie *)movie;
- (void) processEOS:(NSNotification *)notification;
-- (void) processStateChange:(NSNotification *)notification;
+- (void) processLoadStateChange:(NSNotification *)notification;
+- (void) processVolumeChange:(NSNotification *)notification;
+- (void) processNaturalSizeChange :(NSNotification *)notification;
@end
@implementation QTMovieObserver
@@ -98,7 +103,7 @@
object:m_movie];
[[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(processStateChange:)
+ selector:@selector(processLoadStateChange:)
name:QTMovieLoadStateDidChangeNotification
object:m_movie];
@@ -126,10 +131,10 @@
m_session->processEOS();
}
-- (void) processStateChange:(NSNotification *)notification
+- (void) processLoadStateChange:(NSNotification *)notification
{
Q_UNUSED(notification);
- m_session->processStateChange();
+ m_session->processLoadStateChange();
}
- (void) processVolumeChange:(NSNotification *)notification
@@ -164,6 +169,9 @@ QT7PlayerSession::QT7PlayerSession(QObject *parent)
, m_muted(false)
, m_volume(100)
, m_rate(1.0)
+ , m_duration(0)
+ , m_videoAvailable(false)
+ , m_audioAvailable(false)
{
m_movieObserver = [[QTMovieObserver alloc] initWithPlayerSession:this];
}
@@ -172,6 +180,7 @@ QT7PlayerSession::~QT7PlayerSession()
{
[(QTMovieObserver*)m_movieObserver setMovie:nil];
[(QTMovieObserver*)m_movieObserver release];
+ [(QTMovie*)m_QTMovie release];
}
void *QT7PlayerSession::movie() const
@@ -365,17 +374,37 @@ void QT7PlayerSession::setMedia(const QMediaContent &content, QIODevice *stream)
m_mediaStream = stream;
m_mediaStatus = QMediaPlayer::NoMedia;
- QUrl url;
+ QNetworkRequest request;
if (!content.isNull())
- url = content.canonicalUrl();
+ request = content.canonicalResource().request();
else
return;
-// qDebug() << "Open media" << url;
+ QVariant cookies = request.header(QNetworkRequest::CookieHeader);
+ if (cookies.isValid()) {
+ NSHTTPCookieStorage *store = [NSHTTPCookieStorage sharedHTTPCookieStorage];
+ QList<QNetworkCookie> cookieList = cookies.value<QList<QNetworkCookie> >();
+
+ foreach (const QNetworkCookie &requestCookie, cookieList) {
+ NSMutableDictionary *p = [NSMutableDictionary dictionaryWithObjectsAndKeys:
+ (NSString*)qString2CFStringRef(requestCookie.name()), NSHTTPCookieName,
+ (NSString*)qString2CFStringRef(requestCookie.value()), NSHTTPCookieValue,
+ (NSString*)qString2CFStringRef(requestCookie.domain()), NSHTTPCookieDomain,
+ (NSString*)qString2CFStringRef(requestCookie.path()), NSHTTPCookiePath,
+ nil
+ ];
+ if (requestCookie.isSessionCookie())
+ [p setObject:[NSString stringWithUTF8String:"TRUE"] forKey:NSHTTPCookieDiscard];
+ else
+ [p setObject:[NSDate dateWithTimeIntervalSince1970:requestCookie.expirationDate().toTime_t()] forKey:NSHTTPCookieExpires];
+
+ [store setCookie:[NSHTTPCookie cookieWithProperties:p]];
+ }
+ }
NSError *err = 0;
- NSString *urlString = (NSString *)qString2CFStringRef(url.toString());
+ NSString *urlString = (NSString *)qString2CFStringRef(request.url().toString());
NSDictionary *attr = [NSDictionary dictionaryWithObjectsAndKeys:
[NSURL URLWithString:urlString], QTMovieURLAttribute,
@@ -400,7 +429,7 @@ void QT7PlayerSession::setMedia(const QMediaContent &content, QIODevice *stream)
m_videoOutput->setMovie(m_QTMovie);
m_videoOutput->setEnabled(true);
}
- processStateChange();
+ processLoadStateChange();
[(QTMovie*)m_QTMovie setMuted:m_muted];
setVolume(m_volume);
@@ -432,8 +461,11 @@ void QT7PlayerSession::processEOS()
emit mediaStatusChanged(m_mediaStatus);
}
-void QT7PlayerSession::processStateChange()
+void QT7PlayerSession::processLoadStateChange()
{
+ if (!m_QTMovie)
+ return;
+
signed long state = [[(QTMovie*)m_QTMovie attributeForKey:QTMovieLoadStateAttribute]
longValue];
// qDebug() << "Moview load state changed:" << state;
@@ -461,32 +493,30 @@ void QT7PlayerSession::processStateChange()
if (state == kMovieLoadStateError) {
newStatus = QMediaPlayer::InvalidMedia;
- emit error(QMediaPlayer::FormatError, tr("Playback failed"));
+ emit error(QMediaPlayer::FormatError, tr("Failed to load media"));
+ emit stateChanged(m_state = QMediaPlayer::StoppedState);
}
- if (newStatus != m_mediaStatus) {
- switch (newStatus) {
- case QMediaPlayer::BufferedMedia:
- case QMediaPlayer::BufferingMedia:
- //delayed playback start is necessary for network sources
- if (m_state == QMediaPlayer::PlayingState) {
- QMetaObject::invokeMethod(this, "play", Qt::QueuedConnection);
- }
- //fall
- case QMediaPlayer::LoadedMedia:
- case QMediaPlayer::LoadingMedia:
- emit durationChanged(duration());
- emit audioAvailableChanged(isAudioAvailable());
- emit videoAvailableChanged(isVideoAvailable());
- break;
- case QMediaPlayer::InvalidMedia:
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- default:
- break;
- }
+ if (state >= kMovieLoadStatePlayable &&
+ m_state == QMediaPlayer::PlayingState &&
+ [(QTMovie*)m_QTMovie rate] == 0) {
+ QMetaObject::invokeMethod(this, "play", Qt::QueuedConnection);
+ }
- emit mediaStatusChanged(m_mediaStatus = newStatus);
+ if (state >= kMovieLoadStateLoaded) {
+ qint64 currentDuration = duration();
+ if (m_duration != currentDuration)
+ emit durationChanged(m_duration = currentDuration);
+
+ if (m_audioAvailable != isAudioAvailable())
+ emit audioAvailableChanged(m_audioAvailable = !m_audioAvailable);
+
+ if (m_videoAvailable != isVideoAvailable())
+ emit videoAvailableChanged(m_videoAvailable = !m_videoAvailable);
}
+
+ if (newStatus != m_mediaStatus)
+ emit mediaStatusChanged(m_mediaStatus = newStatus);
}
void QT7PlayerSession::processVolumeChange()
diff --git a/src/plugins/mediaservices/qt7/qt7movierenderer.mm b/src/plugins/mediaservices/qt7/qt7movierenderer.mm
index 6b9fd2107e..1c1f5e4e8b 100644
--- a/src/plugins/mediaservices/qt7/qt7movierenderer.mm
+++ b/src/plugins/mediaservices/qt7/qt7movierenderer.mm
@@ -58,6 +58,8 @@
QT_BEGIN_NAMESPACE
+//#define USE_MAIN_MONITOR_COLOR_SPACE 1
+
class CVGLTextureVideoBuffer : public QAbstractVideoBuffer
{
public:
@@ -233,7 +235,24 @@ bool QT7MovieRenderer::createPixelBufferVisualContext()
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(visualContextOptions, kQTVisualContextPixelBufferAttributesKey, pixelBufferOptions);
- CFDictionarySetValue(visualContextOptions, kQTVisualContextWorkingColorSpaceKey, CGColorSpaceCreateDeviceRGB());
+
+ CGColorSpaceRef colorSpace = NULL;
+
+#if USE_MAIN_MONITOR_COLOR_SPACE
+ CMProfileRef sysprof = NULL;
+
+ // Get the Systems Profile for the main display
+ if (CMGetSystemProfile(&sysprof) == noErr) {
+ // Create a colorspace with the systems profile
+ colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
+ CMCloseProfile(sysprof);
+ }
+#endif
+
+ if (!colorSpace)
+ colorSpace = CGColorSpaceCreateDeviceRGB();
+
+ CFDictionarySetValue(visualContextOptions, kQTVisualContextOutputColorSpaceKey, colorSpace);
OSStatus err = QTPixelBufferContextCreate(kCFAllocatorDefault,
visualContextOptions,
diff --git a/src/plugins/mediaservices/qt7/qt7movievideowidget.mm b/src/plugins/mediaservices/qt7/qt7movievideowidget.mm
index 404333085d..00ceffcbac 100644
--- a/src/plugins/mediaservices/qt7/qt7movievideowidget.mm
+++ b/src/plugins/mediaservices/qt7/qt7movievideowidget.mm
@@ -199,7 +199,6 @@ QT7MovieVideoWidget::QT7MovieVideoWidget(QObject *parent)
}
}
-
bool QT7MovieVideoWidget::createVisualContext()
{
#ifdef QUICKTIME_C_API_AVAILABLE
@@ -210,8 +209,20 @@ bool QT7MovieVideoWidget::createVisualContext()
NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
- CFTypeRef keys[] = { kQTVisualContextWorkingColorSpaceKey };
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
+ CFTypeRef keys[] = { kQTVisualContextOutputColorSpaceKey };
+ CGColorSpaceRef colorSpace = NULL;
+ CMProfileRef sysprof = NULL;
+
+ // Get the Systems Profile for the main display
+ if (CMGetSystemProfile(&sysprof) == noErr) {
+ // Create a colorspace with the systems profile
+ colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
+ CMCloseProfile(sysprof);
+ }
+
+ if (!colorSpace)
+ colorSpace = CGColorSpaceCreateDeviceRGB();
+
CFDictionaryRef textureContextAttributes = CFDictionaryCreate(kCFAllocatorDefault,
(const void **)keys,
(const void **)&colorSpace, 1,
diff --git a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm b/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm
index b90470c41d..254af461d0 100644
--- a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm
+++ b/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm
@@ -60,6 +60,7 @@
- (TransparentQTMovieView *) init;
- (void) setDrawRect:(QRect &)rect;
+- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img;
- (void) setContrast:(qreal) contrast;
@end
@@ -201,7 +202,10 @@ void QT7MovieViewOutput::setMovie(void *movie)
void QT7MovieViewOutput::updateNaturalSize(const QSize &newSize)
{
- m_nativeSize = newSize;
+ if (m_nativeSize != newSize) {
+ m_nativeSize = newSize;
+ emit nativeSizeChanged();
+ }
}
WId QT7MovieViewOutput::winId() const
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index a3766f5b3d..42fbf9e9f3 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -13,6 +13,5 @@ embedded:SUBDIRS *= gfxdrivers decorations mousedrivers kbddrivers
symbian:SUBDIRS += s60
contains(QT_CONFIG, phonon): SUBDIRS *= phonon
contains(QT_CONFIG, multimedia): SUBDIRS *= audio mediaservices
-contains(QT_CONFIG, declarative): SUBDIRS *= qdeclarativemodules
diff --git a/src/plugins/qdeclarativemodules/multimedia/multimedia.pro b/src/plugins/qdeclarativemodules/multimedia/multimedia.pro
deleted file mode 100644
index d8ad18eeea..0000000000
--- a/src/plugins/qdeclarativemodules/multimedia/multimedia.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-TARGET = multimedia
-include(../../qpluginbase.pri)
-
-QT += multimedia declarative
-
-SOURCES += multimedia.cpp
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/Qt/multimedia
-target.path = $$[QT_INSTALL_IMPORTS]/Qt/multimedia
-
-qmldir.files += $$QT_BUILD_TREE/imports/Qt/multimedia/qmldir
-qmldir.path += $$[QT_INSTALL_IMPORTS]/Qt/multimedia
-
-INSTALLS += target qmldir
-
diff --git a/src/plugins/sqldrivers/odbc/odbc.pro b/src/plugins/sqldrivers/odbc/odbc.pro
index 3de8ab2086..2bf85f1f7e 100644
--- a/src/plugins/sqldrivers/odbc/odbc.pro
+++ b/src/plugins/sqldrivers/odbc/odbc.pro
@@ -8,6 +8,7 @@ unix {
!contains( LIBS, .*odbc.* ) {
LIBS *= $$QT_LFLAGS_ODBC
}
+ DEFINES += UNICODE
}
win32 {
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index e7e890c45a..56f061063e 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -4399,4 +4399,22 @@ EXPORTS
?sender@SignalEvent@QStateMachine@@QBEPAVQObject@@XZ @ 4398 NONAME ; class QObject * QStateMachine::SignalEvent::sender(void) const
?signalIndex@SignalEvent@QStateMachine@@QBEHXZ @ 4399 NONAME ; int QStateMachine::SignalEvent::signalIndex(void) const
?disconnectOne@QMetaObject@@SA_NPBVQObject@@H0H@Z @ 4400 NONAME ; bool QMetaObject::disconnectOne(class QObject const *, int, class QObject const *, int)
+ ??0QString@@QAE@PBVQChar@@@Z @ 4401 NONAME ; QString::QString(class QChar const *)
+ ??0QTextDecoder@@QAE@PBVQTextCodec@@V?$QFlags@W4ConversionFlag@QTextCodec@@@@@Z @ 4402 NONAME ; QTextDecoder::QTextDecoder(class QTextCodec const *, class QFlags<enum QTextCodec::ConversionFlag>)
+ ??0QTextEncoder@@QAE@PBVQTextCodec@@V?$QFlags@W4ConversionFlag@QTextCodec@@@@@Z @ 4403 NONAME ; QTextEncoder::QTextEncoder(class QTextCodec const *, class QFlags<enum QTextCodec::ConversionFlag>)
+ ??0QVariant@@QAE@ABVQEasingCurve@@@Z @ 4404 NONAME ; QVariant::QVariant(class QEasingCurve const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQEasingCurve@@@Z @ 4405 NONAME ; class QDataStream & operator>>(class QDataStream &, class QEasingCurve &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQEasingCurve@@@Z @ 4406 NONAME ; class QDataStream & operator<<(class QDataStream &, class QEasingCurve const &)
+ ?append@QListData@@QAEPAPAXH@Z @ 4407 NONAME ; void * * QListData::append(int)
+ ?detach@QListData@@QAEPAUData@1@H@Z @ 4408 NONAME ; struct QListData::Data * QListData::detach(int)
+ ?detach_grow@QListData@@QAEPAUData@1@PAHH@Z @ 4409 NONAME ; struct QListData::Data * QListData::detach_grow(int *, int)
+ ?isSharedWith@QByteArray@@QBE_NABV1@@Z @ 4410 NONAME ; bool QByteArray::isSharedWith(class QByteArray const &) const
+ ?isSharedWith@QString@@QBE_NABV1@@Z @ 4411 NONAME ; bool QString::isSharedWith(class QString const &) const
+ ?makeDecoder@QTextCodec@@QBEPAVQTextDecoder@@V?$QFlags@W4ConversionFlag@QTextCodec@@@@@Z @ 4412 NONAME ; class QTextDecoder * QTextCodec::makeDecoder(class QFlags<enum QTextCodec::ConversionFlag>) const
+ ?makeEncoder@QTextCodec@@QBEPAVQTextEncoder@@V?$QFlags@W4ConversionFlag@QTextCodec@@@@@Z @ 4413 NONAME ; class QTextEncoder * QTextCodec::makeEncoder(class QFlags<enum QTextCodec::ConversionFlag>) const
+ ?qDecodeDataUrl@@YA?AU?$QPair@VQString@@VQByteArray@@@@ABVQUrl@@@Z @ 4414 NONAME ; struct QPair<class QString, class QByteArray> qDecodeDataUrl(class QUrl const &)
+ ?qDetectCPUFeatures@@YAIXZ @ 4415 NONAME ; unsigned int qDetectCPUFeatures(void)
+ ?registerStreamOperators@QMetaType@@SAXHP6AXAAVQDataStream@@PBX@ZP6AX0PAX@Z@Z @ 4416 NONAME ; void QMetaType::registerStreamOperators(int, void (*)(class QDataStream &, void const *), void (*)(class QDataStream &, void *))
+ ?replace@QByteArray@@QAEAAV1@HHPBDH@Z @ 4417 NONAME ; class QByteArray & QByteArray::replace(int, int, char const *, int)
+ ?toEasingCurve@QVariant@@QBE?AVQEasingCurve@@XZ @ 4418 NONAME ; class QEasingCurve QVariant::toEasingCurve(void) const
diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def
new file mode 100644
index 0000000000..ba8d183072
--- /dev/null
+++ b/src/s60installs/bwins/QtDeclarativeu.def
@@ -0,0 +1,3499 @@
+EXPORTS
+ ??0QDeclarativeAction@@QAE@ABV0@@Z @ 1 NONAME ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &)
+ ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 2 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &)
+ ??0QDeclarativeAction@@QAE@XZ @ 3 NONAME ; QDeclarativeAction::QDeclarativeAction(void)
+ ??0QDeclarativeAnchorChanges@@QAE@PAVQObject@@@Z @ 4 NONAME ; QDeclarativeAnchorChanges::QDeclarativeAnchorChanges(class QObject *)
+ ??0QDeclarativeAnchors@@QAE@PAVQDeclarativeItem@@PAVQObject@@@Z @ 5 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QDeclarativeItem *, class QObject *)
+ ??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 6 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *)
+ ??0QDeclarativeAnimatedImage@@QAE@PAVQDeclarativeItem@@@Z @ 7 NONAME ; QDeclarativeAnimatedImage::QDeclarativeAnimatedImage(class QDeclarativeItem *)
+ ??0QDeclarativeBasePositioner@@IAE@AAVQDeclarativeBasePositionerPrivate@@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 8 NONAME ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(class QDeclarativeBasePositionerPrivate &, enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
+ ??0QDeclarativeBasePositioner@@QAE@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 9 NONAME ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
+ ??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 10 NONAME ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *)
+ ??0QDeclarativeBind@@QAE@PAVQObject@@@Z @ 11 NONAME ; QDeclarativeBind::QDeclarativeBind(class QObject *)
+ ??0QDeclarativeBorderImage@@QAE@PAVQDeclarativeItem@@@Z @ 12 NONAME ; QDeclarativeBorderImage::QDeclarativeBorderImage(class QDeclarativeItem *)
+ ??0QDeclarativeColumn@@QAE@PAVQDeclarativeItem@@@Z @ 13 NONAME ; QDeclarativeColumn::QDeclarativeColumn(class QDeclarativeItem *)
+ ??0QDeclarativeCompiler@@QAE@XZ @ 14 NONAME ; QDeclarativeCompiler::QDeclarativeCompiler(void)
+ ??0QDeclarativeComponent@@AAE@PAVQDeclarativeEngine@@PAVQDeclarativeCompiledData@@HHPAVQObject@@@Z @ 15 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QDeclarativeCompiledData *, int, int, class QObject *)
+ ??0QDeclarativeComponent@@IAE@AAVQDeclarativeComponentPrivate@@PAVQObject@@@Z @ 16 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeComponentPrivate &, class QObject *)
+ ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQString@@PAVQObject@@@Z @ 17 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QString const &, class QObject *)
+ ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@PAVQObject@@@Z @ 18 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QUrl const &, class QObject *)
+ ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 19 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QObject *)
+ ??0QDeclarativeComponent@@QAE@PAVQObject@@@Z @ 20 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QObject *)
+ ??0QDeclarativeConnections@@QAE@PAVQObject@@@Z @ 21 NONAME ; QDeclarativeConnections::QDeclarativeConnections(class QObject *)
+ ??0QDeclarativeContext@@AAE@PAV0@PAVQObject@@_N@Z @ 22 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *, bool)
+ ??0QDeclarativeContext@@AAE@PAVQDeclarativeEngine@@_N@Z @ 23 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, bool)
+ ??0QDeclarativeContext@@QAE@PAV0@PAVQObject@@@Z @ 24 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *)
+ ??0QDeclarativeContext@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 25 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, class QObject *)
+ ??0QDeclarativeContextPrivate@@QAE@XZ @ 26 NONAME ; QDeclarativeContextPrivate::QDeclarativeContextPrivate(void)
+ ??0QDeclarativeCurve@@QAE@PAVQObject@@@Z @ 27 NONAME ; QDeclarativeCurve::QDeclarativeCurve(class QObject *)
+ ??0QDeclarativeCustomParserNode@@QAE@ABV0@@Z @ 28 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(class QDeclarativeCustomParserNode const &)
+ ??0QDeclarativeCustomParserNode@@QAE@XZ @ 29 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(void)
+ ??0QDeclarativeCustomParserProperty@@QAE@ABV0@@Z @ 30 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(class QDeclarativeCustomParserProperty const &)
+ ??0QDeclarativeCustomParserProperty@@QAE@XZ @ 31 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(void)
+ ??0QDeclarativeDateTimeFormatter@@QAE@PAVQObject@@@Z @ 32 NONAME ; QDeclarativeDateTimeFormatter::QDeclarativeDateTimeFormatter(class QObject *)
+ ??0QDeclarativeDebugClient@@QAE@ABVQString@@PAVQDeclarativeDebugConnection@@@Z @ 33 NONAME ; QDeclarativeDebugClient::QDeclarativeDebugClient(class QString const &, class QDeclarativeDebugConnection *)
+ ??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 34 NONAME ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *)
+ ??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 35 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &)
+ ??0QDeclarativeDebugContextReference@@QAE@XZ @ 36 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void)
+ ??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 37 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &)
+ ??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 38 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int)
+ ??0QDeclarativeDebugEngineReference@@QAE@XZ @ 39 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void)
+ ??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 40 NONAME ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *)
+ ??0QDeclarativeDebugExpressionQuery@@AAE@PAVQObject@@@Z @ 41 NONAME ; QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(class QObject *)
+ ??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 42 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &)
+ ??0QDeclarativeDebugFileReference@@QAE@XZ @ 43 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void)
+ ??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 44 NONAME ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *)
+ ??0QDeclarativeDebugObjectQuery@@AAE@PAVQObject@@@Z @ 45 NONAME ; QDeclarativeDebugObjectQuery::QDeclarativeDebugObjectQuery(class QObject *)
+ ??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 46 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &)
+ ??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 47 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int)
+ ??0QDeclarativeDebugObjectReference@@QAE@XZ @ 48 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void)
+ ??0QDeclarativeDebugPropertyReference@@QAE@ABV0@@Z @ 49 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(class QDeclarativeDebugPropertyReference const &)
+ ??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 50 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void)
+ ??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 51 NONAME ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *)
+ ??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 52 NONAME ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *)
+ ??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 53 NONAME ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *)
+ ??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 54 NONAME ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *)
+ ??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 55 NONAME ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *)
+ ??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 56 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &)
+ ??0QDeclarativeDomComponent@@QAE@XZ @ 57 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(void)
+ ??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 58 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &)
+ ??0QDeclarativeDomDocument@@QAE@XZ @ 59 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(void)
+ ??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 60 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &)
+ ??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 61 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void)
+ ??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 62 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &)
+ ??0QDeclarativeDomImport@@QAE@XZ @ 63 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(void)
+ ??0QDeclarativeDomList@@QAE@ABV0@@Z @ 64 NONAME ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &)
+ ??0QDeclarativeDomList@@QAE@XZ @ 65 NONAME ; QDeclarativeDomList::QDeclarativeDomList(void)
+ ??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 66 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &)
+ ??0QDeclarativeDomObject@@QAE@XZ @ 67 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(void)
+ ??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 68 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &)
+ ??0QDeclarativeDomProperty@@QAE@XZ @ 69 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(void)
+ ??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 70 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &)
+ ??0QDeclarativeDomValue@@QAE@XZ @ 71 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(void)
+ ??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 72 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &)
+ ??0QDeclarativeDomValueBinding@@QAE@XZ @ 73 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void)
+ ??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 74 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &)
+ ??0QDeclarativeDomValueLiteral@@QAE@XZ @ 75 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void)
+ ??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 76 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &)
+ ??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 77 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void)
+ ??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 78 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &)
+ ??0QDeclarativeDomValueValueSource@@QAE@XZ @ 79 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void)
+ ??0QDeclarativeDrag@@QAE@PAVQObject@@@Z @ 80 NONAME ; QDeclarativeDrag::QDeclarativeDrag(class QObject *)
+ ??0QDeclarativeEaseFollow@@QAE@PAVQObject@@@Z @ 81 NONAME ; QDeclarativeEaseFollow::QDeclarativeEaseFollow(class QObject *)
+ ??0QDeclarativeEngine@@QAE@PAVQObject@@@Z @ 82 NONAME ; QDeclarativeEngine::QDeclarativeEngine(class QObject *)
+ ??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 83 NONAME ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *)
+ ??0QDeclarativeError@@QAE@ABV0@@Z @ 84 NONAME ; QDeclarativeError::QDeclarativeError(class QDeclarativeError const &)
+ ??0QDeclarativeError@@QAE@XZ @ 85 NONAME ; QDeclarativeError::QDeclarativeError(void)
+ ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@AAVQDeclarativeExpressionPrivate@@@Z @ 86 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &)
+ ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContext@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 87 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
+ ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@@Z @ 88 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *)
+ ??0QDeclarativeExpression@@QAE@XZ @ 89 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void)
+ ??0QDeclarativeExtensionPlugin@@QAE@PAVQObject@@@Z @ 90 NONAME ; QDeclarativeExtensionPlugin::QDeclarativeExtensionPlugin(class QObject *)
+ ??0QDeclarativeFlickable@@IAE@AAVQDeclarativeFlickablePrivate@@PAVQDeclarativeItem@@@Z @ 91 NONAME ; QDeclarativeFlickable::QDeclarativeFlickable(class QDeclarativeFlickablePrivate &, class QDeclarativeItem *)
+ ??0QDeclarativeFlickable@@QAE@PAVQDeclarativeItem@@@Z @ 92 NONAME ; QDeclarativeFlickable::QDeclarativeFlickable(class QDeclarativeItem *)
+ ??0QDeclarativeFlipable@@QAE@PAVQDeclarativeItem@@@Z @ 93 NONAME ; QDeclarativeFlipable::QDeclarativeFlipable(class QDeclarativeItem *)
+ ??0QDeclarativeFlow@@QAE@PAVQDeclarativeItem@@@Z @ 94 NONAME ; QDeclarativeFlow::QDeclarativeFlow(class QDeclarativeItem *)
+ ??0QDeclarativeFocusPanel@@QAE@PAVQDeclarativeItem@@@Z @ 95 NONAME ; QDeclarativeFocusPanel::QDeclarativeFocusPanel(class QDeclarativeItem *)
+ ??0QDeclarativeFocusScope@@QAE@PAVQDeclarativeItem@@@Z @ 96 NONAME ; QDeclarativeFocusScope::QDeclarativeFocusScope(class QDeclarativeItem *)
+ ??0QDeclarativeFontLoader@@QAE@PAVQObject@@@Z @ 97 NONAME ; QDeclarativeFontLoader::QDeclarativeFontLoader(class QObject *)
+ ??0QDeclarativeGradient@@QAE@PAVQObject@@@Z @ 98 NONAME ; QDeclarativeGradient::QDeclarativeGradient(class QObject *)
+ ??0QDeclarativeGradientStop@@QAE@PAVQObject@@@Z @ 99 NONAME ; QDeclarativeGradientStop::QDeclarativeGradientStop(class QObject *)
+ ??0QDeclarativeGraphicsObjectContainer@@QAE@PAVQDeclarativeItem@@@Z @ 100 NONAME ; QDeclarativeGraphicsObjectContainer::QDeclarativeGraphicsObjectContainer(class QDeclarativeItem *)
+ ??0QDeclarativeGrid@@QAE@PAVQDeclarativeItem@@@Z @ 101 NONAME ; QDeclarativeGrid::QDeclarativeGrid(class QDeclarativeItem *)
+ ??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 102 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &)
+ ??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 103 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *)
+ ??0QDeclarativeGridScaledImage@@QAE@XZ @ 104 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void)
+ ??0QDeclarativeGridView@@QAE@PAVQDeclarativeItem@@@Z @ 105 NONAME ; QDeclarativeGridView::QDeclarativeGridView(class QDeclarativeItem *)
+ ??0QDeclarativeImage@@IAE@AAVQDeclarativeImagePrivate@@PAVQDeclarativeItem@@@Z @ 106 NONAME ; QDeclarativeImage::QDeclarativeImage(class QDeclarativeImagePrivate &, class QDeclarativeItem *)
+ ??0QDeclarativeImage@@QAE@PAVQDeclarativeItem@@@Z @ 107 NONAME ; QDeclarativeImage::QDeclarativeImage(class QDeclarativeItem *)
+ ??0QDeclarativeImageBase@@IAE@AAVQDeclarativeImageBasePrivate@@PAVQDeclarativeItem@@@Z @ 108 NONAME ; QDeclarativeImageBase::QDeclarativeImageBase(class QDeclarativeImageBasePrivate &, class QDeclarativeItem *)
+ ??0QDeclarativeInfo@@QAE@PBVQObject@@@Z @ 109 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QObject const *)
+ ??0QDeclarativeInstruction@@QAE@XZ @ 110 NONAME ; QDeclarativeInstruction::QDeclarativeInstruction(void)
+ ??0QDeclarativeItem@@IAE@AAVQDeclarativeItemPrivate@@PAV0@@Z @ 111 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItemPrivate &, class QDeclarativeItem *)
+ ??0QDeclarativeItem@@QAE@PAV0@@Z @ 112 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItem *)
+ ??0QDeclarativeListAccessor@@QAE@XZ @ 113 NONAME ; QDeclarativeListAccessor::QDeclarativeListAccessor(void)
+ ??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 114 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QObject *)
+ ??0QDeclarativeListReference@@QAE@ABV0@@Z @ 115 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QDeclarativeListReference const &)
+ ??0QDeclarativeListReference@@QAE@PAVQObject@@PBDPAVQDeclarativeEngine@@@Z @ 116 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QObject *, char const *, class QDeclarativeEngine *)
+ ??0QDeclarativeListReference@@QAE@XZ @ 117 NONAME ; QDeclarativeListReference::QDeclarativeListReference(void)
+ ??0QDeclarativeListView@@QAE@PAVQDeclarativeItem@@@Z @ 118 NONAME ; QDeclarativeListView::QDeclarativeListView(class QDeclarativeItem *)
+ ??0QDeclarativeLoader@@QAE@PAVQDeclarativeItem@@@Z @ 119 NONAME ; QDeclarativeLoader::QDeclarativeLoader(class QDeclarativeItem *)
+ ??0QDeclarativeMouseArea@@QAE@PAVQDeclarativeItem@@@Z @ 120 NONAME ; QDeclarativeMouseArea::QDeclarativeMouseArea(class QDeclarativeItem *)
+ ??0QDeclarativeNumberFormatter@@QAE@PAVQObject@@@Z @ 121 NONAME ; QDeclarativeNumberFormatter::QDeclarativeNumberFormatter(class QObject *)
+ ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 122 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool)
+ ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 123 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool)
+ ??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 124 NONAME ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *)
+ ??0QDeclarativePaintedItem@@IAE@AAVQDeclarativePaintedItemPrivate@@PAVQDeclarativeItem@@@Z @ 125 NONAME ; QDeclarativePaintedItem::QDeclarativePaintedItem(class QDeclarativePaintedItemPrivate &, class QDeclarativeItem *)
+ ??0QDeclarativePaintedItem@@QAE@PAVQDeclarativeItem@@@Z @ 126 NONAME ; QDeclarativePaintedItem::QDeclarativePaintedItem(class QDeclarativeItem *)
+ ??0QDeclarativeParentChange@@QAE@PAVQObject@@@Z @ 127 NONAME ; QDeclarativeParentChange::QDeclarativeParentChange(class QObject *)
+ ??0QDeclarativeParserStatus@@QAE@XZ @ 128 NONAME ; QDeclarativeParserStatus::QDeclarativeParserStatus(void)
+ ??0QDeclarativeParticleMotion@@QAE@PAVQObject@@@Z @ 129 NONAME ; QDeclarativeParticleMotion::QDeclarativeParticleMotion(class QObject *)
+ ??0QDeclarativeParticleMotionGravity@@QAE@PAVQObject@@@Z @ 130 NONAME ; QDeclarativeParticleMotionGravity::QDeclarativeParticleMotionGravity(class QObject *)
+ ??0QDeclarativeParticleMotionLinear@@QAE@PAVQObject@@@Z @ 131 NONAME ; QDeclarativeParticleMotionLinear::QDeclarativeParticleMotionLinear(class QObject *)
+ ??0QDeclarativeParticleMotionWander@@QAE@XZ @ 132 NONAME ; QDeclarativeParticleMotionWander::QDeclarativeParticleMotionWander(void)
+ ??0QDeclarativeParticles@@QAE@PAVQDeclarativeItem@@@Z @ 133 NONAME ; QDeclarativeParticles::QDeclarativeParticles(class QDeclarativeItem *)
+ ??0QDeclarativePath@@QAE@PAVQObject@@@Z @ 134 NONAME ; QDeclarativePath::QDeclarativePath(class QObject *)
+ ??0QDeclarativePathAttribute@@QAE@PAVQObject@@@Z @ 135 NONAME ; QDeclarativePathAttribute::QDeclarativePathAttribute(class QObject *)
+ ??0QDeclarativePathCubic@@QAE@PAVQObject@@@Z @ 136 NONAME ; QDeclarativePathCubic::QDeclarativePathCubic(class QObject *)
+ ??0QDeclarativePathElement@@QAE@PAVQObject@@@Z @ 137 NONAME ; QDeclarativePathElement::QDeclarativePathElement(class QObject *)
+ ??0QDeclarativePathLine@@QAE@PAVQObject@@@Z @ 138 NONAME ; QDeclarativePathLine::QDeclarativePathLine(class QObject *)
+ ??0QDeclarativePathPercent@@QAE@PAVQObject@@@Z @ 139 NONAME ; QDeclarativePathPercent::QDeclarativePathPercent(class QObject *)
+ ??0QDeclarativePathQuad@@QAE@PAVQObject@@@Z @ 140 NONAME ; QDeclarativePathQuad::QDeclarativePathQuad(class QObject *)
+ ??0QDeclarativePathView@@QAE@PAVQDeclarativeItem@@@Z @ 141 NONAME ; QDeclarativePathView::QDeclarativePathView(class QDeclarativeItem *)
+ ??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 142 NONAME ; QDeclarativePen::QDeclarativePen(class QObject *)
+ ??0QDeclarativePixmapReply@@AAE@PAVQDeclarativeImageReader@@ABVQUrl@@@Z @ 143 NONAME ; QDeclarativePixmapReply::QDeclarativePixmapReply(class QDeclarativeImageReader *, class QUrl const &)
+ ??0QDeclarativeProperty@@QAE@ABV0@@Z @ 144 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QDeclarativeProperty const &)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@@Z @ 145 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@@Z @ 146 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 147 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeContext *)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 148 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeEngine *)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeContext@@@Z @ 149 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeContext *)
+ ??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeEngine@@@Z @ 150 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeEngine *)
+ ??0QDeclarativeProperty@@QAE@XZ @ 151 NONAME ; QDeclarativeProperty::QDeclarativeProperty(void)
+ ??0QDeclarativePropertyChanges@@QAE@XZ @ 152 NONAME ; QDeclarativePropertyChanges::QDeclarativePropertyChanges(void)
+ ??0QDeclarativePropertyMap@@QAE@PAVQObject@@@Z @ 153 NONAME ; QDeclarativePropertyMap::QDeclarativePropertyMap(class QObject *)
+ ??0QDeclarativePropertyValueInterceptor@@QAE@XZ @ 154 NONAME ; QDeclarativePropertyValueInterceptor::QDeclarativePropertyValueInterceptor(void)
+ ??0QDeclarativePropertyValueSource@@QAE@XZ @ 155 NONAME ; QDeclarativePropertyValueSource::QDeclarativePropertyValueSource(void)
+ ??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 156 NONAME ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *)
+ ??0QDeclarativeRepeater@@QAE@PAVQDeclarativeItem@@@Z @ 157 NONAME ; QDeclarativeRepeater::QDeclarativeRepeater(class QDeclarativeItem *)
+ ??0QDeclarativeRow@@QAE@PAVQDeclarativeItem@@@Z @ 158 NONAME ; QDeclarativeRow::QDeclarativeRow(class QDeclarativeItem *)
+ ??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 159 NONAME ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *)
+ ??0QDeclarativeScriptString@@QAE@ABV0@@Z @ 160 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(class QDeclarativeScriptString const &)
+ ??0QDeclarativeScriptString@@QAE@XZ @ 161 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(void)
+ ??0QDeclarativeSpringFollow@@QAE@PAVQObject@@@Z @ 162 NONAME ; QDeclarativeSpringFollow::QDeclarativeSpringFollow(class QObject *)
+ ??0QDeclarativeState@@QAE@PAVQObject@@@Z @ 163 NONAME ; QDeclarativeState::QDeclarativeState(class QObject *)
+ ??0QDeclarativeStateChangeScript@@QAE@PAVQObject@@@Z @ 164 NONAME ; QDeclarativeStateChangeScript::QDeclarativeStateChangeScript(class QObject *)
+ ??0QDeclarativeStateGroup@@QAE@PAVQObject@@@Z @ 165 NONAME ; QDeclarativeStateGroup::QDeclarativeStateGroup(class QObject *)
+ ??0QDeclarativeStateOperation@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 166 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObjectPrivate &, class QObject *)
+ ??0QDeclarativeStateOperation@@QAE@PAVQObject@@@Z @ 167 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObject *)
+ ??0QDeclarativeStyledText@@AAE@ABVQString@@AAVQTextLayout@@@Z @ 168 NONAME ; QDeclarativeStyledText::QDeclarativeStyledText(class QString const &, class QTextLayout &)
+ ??0QDeclarativeSystemPalette@@QAE@PAVQObject@@@Z @ 169 NONAME ; QDeclarativeSystemPalette::QDeclarativeSystemPalette(class QObject *)
+ ??0QDeclarativeText@@QAE@PAVQDeclarativeItem@@@Z @ 170 NONAME ; QDeclarativeText::QDeclarativeText(class QDeclarativeItem *)
+ ??0QDeclarativeTextEdit@@QAE@PAVQDeclarativeItem@@@Z @ 171 NONAME ; QDeclarativeTextEdit::QDeclarativeTextEdit(class QDeclarativeItem *)
+ ??0QDeclarativeTextInput@@QAE@PAVQDeclarativeItem@@@Z @ 172 NONAME ; QDeclarativeTextInput::QDeclarativeTextInput(class QDeclarativeItem *)
+ ??0QDeclarativeTimer@@QAE@PAVQObject@@@Z @ 173 NONAME ; QDeclarativeTimer::QDeclarativeTimer(class QObject *)
+ ??0QDeclarativeTransition@@QAE@PAVQObject@@@Z @ 174 NONAME ; QDeclarativeTransition::QDeclarativeTransition(class QObject *)
+ ??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 175 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &)
+ ??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 176 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &)
+ ??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 177 NONAME ; QDeclarativeValueType::QDeclarativeValueType(class QObject *)
+ ??0QDeclarativeValueTypeFactory@@QAE@XZ @ 178 NONAME ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void)
+ ??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 179 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *)
+ ??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 180 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *)
+ ??0QDeclarativeViewSection@@QAE@PAVQObject@@@Z @ 181 NONAME ; QDeclarativeViewSection::QDeclarativeViewSection(class QObject *)
+ ??0QDeclarativeVisualDataModel@@QAE@PAVQDeclarativeContext@@@Z @ 182 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *)
+ ??0QDeclarativeVisualDataModel@@QAE@XZ @ 183 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(void)
+ ??0QDeclarativeVisualItemModel@@QAE@XZ @ 184 NONAME ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(void)
+ ??0QDeclarativeVisualModel@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 185 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(class QObjectPrivate &, class QObject *)
+ ??0QDeclarativeVisualModel@@QAE@XZ @ 186 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(void)
+ ??0QDeclarativeWebPage@@QAE@PAVQDeclarativeWebView@@@Z @ 187 NONAME ; QDeclarativeWebPage::QDeclarativeWebPage(class QDeclarativeWebView *)
+ ??0QDeclarativeWebView@@QAE@PAVQDeclarativeItem@@@Z @ 188 NONAME ; QDeclarativeWebView::QDeclarativeWebView(class QDeclarativeItem *)
+ ??0QDeclarativeXmlListModel@@QAE@PAVQObject@@@Z @ 189 NONAME ; QDeclarativeXmlListModel::QDeclarativeXmlListModel(class QObject *)
+ ??0QDeclarativeXmlListModelRole@@QAE@XZ @ 190 NONAME ; QDeclarativeXmlListModelRole::QDeclarativeXmlListModelRole(void)
+ ??0QListModelInterface@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 191 NONAME ; QListModelInterface::QListModelInterface(class QObjectPrivate &, class QObject *)
+ ??0QListModelInterface@@QAE@PAVQObject@@@Z @ 192 NONAME ; QListModelInterface::QListModelInterface(class QObject *)
+ ??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 193 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int)
+ ??0QMetaEnumBuilder@@QAE@XZ @ 194 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(void)
+ ??0QMetaMethodBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 195 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(class QMetaObjectBuilder const *, int)
+ ??0QMetaMethodBuilder@@QAE@XZ @ 196 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(void)
+ ??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 197 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
+ ??0QMetaObjectBuilder@@QAE@XZ @ 198 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(void)
+ ??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 199 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int)
+ ??0QMetaPropertyBuilder@@QAE@XZ @ 200 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(void)
+ ??0QPacket@@IAE@ABVQByteArray@@@Z @ 201 NONAME ; QPacket::QPacket(class QByteArray const &)
+ ??0QPacket@@QAE@ABV0@@Z @ 202 NONAME ; QPacket::QPacket(class QPacket const &)
+ ??0QPacket@@QAE@XZ @ 203 NONAME ; QPacket::QPacket(void)
+ ??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 204 NONAME ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *)
+ ??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 205 NONAME ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *)
+ ??1QDeclarativeAction@@QAE@XZ @ 206 NONAME ; QDeclarativeAction::~QDeclarativeAction(void)
+ ??1QDeclarativeAnchorChanges@@UAE@XZ @ 207 NONAME ; QDeclarativeAnchorChanges::~QDeclarativeAnchorChanges(void)
+ ??1QDeclarativeAnchors@@UAE@XZ @ 208 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(void)
+ ??1QDeclarativeAnimatedImage@@UAE@XZ @ 209 NONAME ; QDeclarativeAnimatedImage::~QDeclarativeAnimatedImage(void)
+ ??1QDeclarativeBasePositioner@@UAE@XZ @ 210 NONAME ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(void)
+ ??1QDeclarativeBehavior@@UAE@XZ @ 211 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(void)
+ ??1QDeclarativeBind@@UAE@XZ @ 212 NONAME ; QDeclarativeBind::~QDeclarativeBind(void)
+ ??1QDeclarativeBorderImage@@UAE@XZ @ 213 NONAME ; QDeclarativeBorderImage::~QDeclarativeBorderImage(void)
+ ??1QDeclarativeColumn@@UAE@XZ @ 214 NONAME ; QDeclarativeColumn::~QDeclarativeColumn(void)
+ ??1QDeclarativeCompiler@@QAE@XZ @ 215 NONAME ; QDeclarativeCompiler::~QDeclarativeCompiler(void)
+ ??1QDeclarativeComponent@@UAE@XZ @ 216 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(void)
+ ??1QDeclarativeConnections@@UAE@XZ @ 217 NONAME ; QDeclarativeConnections::~QDeclarativeConnections(void)
+ ??1QDeclarativeContext@@UAE@XZ @ 218 NONAME ; QDeclarativeContext::~QDeclarativeContext(void)
+ ??1QDeclarativeContextPrivate@@UAE@XZ @ 219 NONAME ; QDeclarativeContextPrivate::~QDeclarativeContextPrivate(void)
+ ??1QDeclarativeCurve@@UAE@XZ @ 220 NONAME ; QDeclarativeCurve::~QDeclarativeCurve(void)
+ ??1QDeclarativeCustomParser@@UAE@XZ @ 221 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(void)
+ ??1QDeclarativeCustomParserNode@@QAE@XZ @ 222 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(void)
+ ??1QDeclarativeCustomParserProperty@@QAE@XZ @ 223 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(void)
+ ??1QDeclarativeDateTimeFormatter@@UAE@XZ @ 224 NONAME ; QDeclarativeDateTimeFormatter::~QDeclarativeDateTimeFormatter(void)
+ ??1QDeclarativeDebugClient@@UAE@XZ @ 225 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void)
+ ??1QDeclarativeDebugConnection@@UAE@XZ @ 226 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void)
+ ??1QDeclarativeDebugContextReference@@QAE@XZ @ 227 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void)
+ ??1QDeclarativeDebugEngineReference@@QAE@XZ @ 228 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void)
+ ??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 229 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void)
+ ??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 230 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void)
+ ??1QDeclarativeDebugFileReference@@QAE@XZ @ 231 NONAME ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void)
+ ??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 232 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void)
+ ??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 233 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void)
+ ??1QDeclarativeDebugObjectReference@@QAE@XZ @ 234 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void)
+ ??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 235 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void)
+ ??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 236 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void)
+ ??1QDeclarativeDebugQuery@@UAE@XZ @ 237 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void)
+ ??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 238 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void)
+ ??1QDeclarativeDebugService@@UAE@XZ @ 239 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(void)
+ ??1QDeclarativeDebugWatch@@UAE@XZ @ 240 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void)
+ ??1QDeclarativeDebuggerStatus@@UAE@XZ @ 241 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void)
+ ??1QDeclarativeDomComponent@@QAE@XZ @ 242 NONAME ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void)
+ ??1QDeclarativeDomDocument@@QAE@XZ @ 243 NONAME ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void)
+ ??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 244 NONAME ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void)
+ ??1QDeclarativeDomImport@@QAE@XZ @ 245 NONAME ; QDeclarativeDomImport::~QDeclarativeDomImport(void)
+ ??1QDeclarativeDomList@@QAE@XZ @ 246 NONAME ; QDeclarativeDomList::~QDeclarativeDomList(void)
+ ??1QDeclarativeDomObject@@QAE@XZ @ 247 NONAME ; QDeclarativeDomObject::~QDeclarativeDomObject(void)
+ ??1QDeclarativeDomProperty@@QAE@XZ @ 248 NONAME ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void)
+ ??1QDeclarativeDomValue@@QAE@XZ @ 249 NONAME ; QDeclarativeDomValue::~QDeclarativeDomValue(void)
+ ??1QDeclarativeDomValueBinding@@QAE@XZ @ 250 NONAME ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void)
+ ??1QDeclarativeDomValueLiteral@@QAE@XZ @ 251 NONAME ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void)
+ ??1QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 252 NONAME ; QDeclarativeDomValueValueInterceptor::~QDeclarativeDomValueValueInterceptor(void)
+ ??1QDeclarativeDomValueValueSource@@QAE@XZ @ 253 NONAME ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void)
+ ??1QDeclarativeDrag@@UAE@XZ @ 254 NONAME ; QDeclarativeDrag::~QDeclarativeDrag(void)
+ ??1QDeclarativeEaseFollow@@UAE@XZ @ 255 NONAME ; QDeclarativeEaseFollow::~QDeclarativeEaseFollow(void)
+ ??1QDeclarativeEngine@@UAE@XZ @ 256 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(void)
+ ??1QDeclarativeEngineDebug@@UAE@XZ @ 257 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void)
+ ??1QDeclarativeError@@QAE@XZ @ 258 NONAME ; QDeclarativeError::~QDeclarativeError(void)
+ ??1QDeclarativeExpression@@UAE@XZ @ 259 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(void)
+ ??1QDeclarativeExtensionInterface@@UAE@XZ @ 260 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(void)
+ ??1QDeclarativeExtensionPlugin@@UAE@XZ @ 261 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(void)
+ ??1QDeclarativeFlickable@@UAE@XZ @ 262 NONAME ; QDeclarativeFlickable::~QDeclarativeFlickable(void)
+ ??1QDeclarativeFlipable@@UAE@XZ @ 263 NONAME ; QDeclarativeFlipable::~QDeclarativeFlipable(void)
+ ??1QDeclarativeFlow@@UAE@XZ @ 264 NONAME ; QDeclarativeFlow::~QDeclarativeFlow(void)
+ ??1QDeclarativeFocusPanel@@UAE@XZ @ 265 NONAME ; QDeclarativeFocusPanel::~QDeclarativeFocusPanel(void)
+ ??1QDeclarativeFocusScope@@UAE@XZ @ 266 NONAME ; QDeclarativeFocusScope::~QDeclarativeFocusScope(void)
+ ??1QDeclarativeFontLoader@@UAE@XZ @ 267 NONAME ; QDeclarativeFontLoader::~QDeclarativeFontLoader(void)
+ ??1QDeclarativeGradient@@UAE@XZ @ 268 NONAME ; QDeclarativeGradient::~QDeclarativeGradient(void)
+ ??1QDeclarativeGradientStop@@UAE@XZ @ 269 NONAME ; QDeclarativeGradientStop::~QDeclarativeGradientStop(void)
+ ??1QDeclarativeGraphicsObjectContainer@@UAE@XZ @ 270 NONAME ; QDeclarativeGraphicsObjectContainer::~QDeclarativeGraphicsObjectContainer(void)
+ ??1QDeclarativeGrid@@UAE@XZ @ 271 NONAME ; QDeclarativeGrid::~QDeclarativeGrid(void)
+ ??1QDeclarativeGridScaledImage@@QAE@XZ @ 272 NONAME ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void)
+ ??1QDeclarativeGridView@@UAE@XZ @ 273 NONAME ; QDeclarativeGridView::~QDeclarativeGridView(void)
+ ??1QDeclarativeImage@@UAE@XZ @ 274 NONAME ; QDeclarativeImage::~QDeclarativeImage(void)
+ ??1QDeclarativeImageBase@@UAE@XZ @ 275 NONAME ; QDeclarativeImageBase::~QDeclarativeImageBase(void)
+ ??1QDeclarativeImageProvider@@UAE@XZ @ 276 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(void)
+ ??1QDeclarativeInfo@@QAE@XZ @ 277 NONAME ; QDeclarativeInfo::~QDeclarativeInfo(void)
+ ??1QDeclarativeItem@@UAE@XZ @ 278 NONAME ; QDeclarativeItem::~QDeclarativeItem(void)
+ ??1QDeclarativeListAccessor@@QAE@XZ @ 279 NONAME ; QDeclarativeListAccessor::~QDeclarativeListAccessor(void)
+ ??1QDeclarativeListModel@@UAE@XZ @ 280 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(void)
+ ??1QDeclarativeListReference@@QAE@XZ @ 281 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(void)
+ ??1QDeclarativeListView@@UAE@XZ @ 282 NONAME ; QDeclarativeListView::~QDeclarativeListView(void)
+ ??1QDeclarativeLoader@@UAE@XZ @ 283 NONAME ; QDeclarativeLoader::~QDeclarativeLoader(void)
+ ??1QDeclarativeMouseArea@@UAE@XZ @ 284 NONAME ; QDeclarativeMouseArea::~QDeclarativeMouseArea(void)
+ ??1QDeclarativeNetworkAccessManagerFactory@@UAE@XZ @ 285 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(void)
+ ??1QDeclarativeNumberFormatter@@UAE@XZ @ 286 NONAME ; QDeclarativeNumberFormatter::~QDeclarativeNumberFormatter(void)
+ ??1QDeclarativeOpenMetaObject@@UAE@XZ @ 287 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void)
+ ??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 288 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void)
+ ??1QDeclarativePaintedItem@@UAE@XZ @ 289 NONAME ; QDeclarativePaintedItem::~QDeclarativePaintedItem(void)
+ ??1QDeclarativeParentChange@@UAE@XZ @ 290 NONAME ; QDeclarativeParentChange::~QDeclarativeParentChange(void)
+ ??1QDeclarativeParserStatus@@UAE@XZ @ 291 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(void)
+ ??1QDeclarativeParticleMotion@@UAE@XZ @ 292 NONAME ; QDeclarativeParticleMotion::~QDeclarativeParticleMotion(void)
+ ??1QDeclarativeParticleMotionGravity@@UAE@XZ @ 293 NONAME ; QDeclarativeParticleMotionGravity::~QDeclarativeParticleMotionGravity(void)
+ ??1QDeclarativeParticleMotionLinear@@UAE@XZ @ 294 NONAME ; QDeclarativeParticleMotionLinear::~QDeclarativeParticleMotionLinear(void)
+ ??1QDeclarativeParticleMotionWander@@UAE@XZ @ 295 NONAME ; QDeclarativeParticleMotionWander::~QDeclarativeParticleMotionWander(void)
+ ??1QDeclarativeParticles@@UAE@XZ @ 296 NONAME ; QDeclarativeParticles::~QDeclarativeParticles(void)
+ ??1QDeclarativePath@@UAE@XZ @ 297 NONAME ; QDeclarativePath::~QDeclarativePath(void)
+ ??1QDeclarativePathAttribute@@UAE@XZ @ 298 NONAME ; QDeclarativePathAttribute::~QDeclarativePathAttribute(void)
+ ??1QDeclarativePathCubic@@UAE@XZ @ 299 NONAME ; QDeclarativePathCubic::~QDeclarativePathCubic(void)
+ ??1QDeclarativePathElement@@UAE@XZ @ 300 NONAME ; QDeclarativePathElement::~QDeclarativePathElement(void)
+ ??1QDeclarativePathLine@@UAE@XZ @ 301 NONAME ; QDeclarativePathLine::~QDeclarativePathLine(void)
+ ??1QDeclarativePathPercent@@UAE@XZ @ 302 NONAME ; QDeclarativePathPercent::~QDeclarativePathPercent(void)
+ ??1QDeclarativePathQuad@@UAE@XZ @ 303 NONAME ; QDeclarativePathQuad::~QDeclarativePathQuad(void)
+ ??1QDeclarativePathView@@UAE@XZ @ 304 NONAME ; QDeclarativePathView::~QDeclarativePathView(void)
+ ??1QDeclarativePen@@UAE@XZ @ 305 NONAME ; QDeclarativePen::~QDeclarativePen(void)
+ ??1QDeclarativePixmapReply@@UAE@XZ @ 306 NONAME ; QDeclarativePixmapReply::~QDeclarativePixmapReply(void)
+ ??1QDeclarativeProperty@@QAE@XZ @ 307 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(void)
+ ??1QDeclarativePropertyChanges@@UAE@XZ @ 308 NONAME ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(void)
+ ??1QDeclarativePropertyMap@@UAE@XZ @ 309 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(void)
+ ??1QDeclarativePropertyValueInterceptor@@UAE@XZ @ 310 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(void)
+ ??1QDeclarativePropertyValueSource@@UAE@XZ @ 311 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(void)
+ ??1QDeclarativeRectangle@@UAE@XZ @ 312 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(void)
+ ??1QDeclarativeRepeater@@UAE@XZ @ 313 NONAME ; QDeclarativeRepeater::~QDeclarativeRepeater(void)
+ ??1QDeclarativeRow@@UAE@XZ @ 314 NONAME ; QDeclarativeRow::~QDeclarativeRow(void)
+ ??1QDeclarativeScaleGrid@@UAE@XZ @ 315 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void)
+ ??1QDeclarativeScriptString@@QAE@XZ @ 316 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(void)
+ ??1QDeclarativeSpringFollow@@UAE@XZ @ 317 NONAME ; QDeclarativeSpringFollow::~QDeclarativeSpringFollow(void)
+ ??1QDeclarativeState@@UAE@XZ @ 318 NONAME ; QDeclarativeState::~QDeclarativeState(void)
+ ??1QDeclarativeStateChangeScript@@UAE@XZ @ 319 NONAME ; QDeclarativeStateChangeScript::~QDeclarativeStateChangeScript(void)
+ ??1QDeclarativeStateGroup@@UAE@XZ @ 320 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(void)
+ ??1QDeclarativeStateOperation@@UAE@XZ @ 321 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(void)
+ ??1QDeclarativeStyledText@@AAE@XZ @ 322 NONAME ; QDeclarativeStyledText::~QDeclarativeStyledText(void)
+ ??1QDeclarativeSystemPalette@@UAE@XZ @ 323 NONAME ; QDeclarativeSystemPalette::~QDeclarativeSystemPalette(void)
+ ??1QDeclarativeText@@UAE@XZ @ 324 NONAME ; QDeclarativeText::~QDeclarativeText(void)
+ ??1QDeclarativeTextEdit@@UAE@XZ @ 325 NONAME ; QDeclarativeTextEdit::~QDeclarativeTextEdit(void)
+ ??1QDeclarativeTextInput@@UAE@XZ @ 326 NONAME ; QDeclarativeTextInput::~QDeclarativeTextInput(void)
+ ??1QDeclarativeTimer@@UAE@XZ @ 327 NONAME ; QDeclarativeTimer::~QDeclarativeTimer(void)
+ ??1QDeclarativeTransition@@UAE@XZ @ 328 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(void)
+ ??1QDeclarativeType@@AAE@XZ @ 329 NONAME ; QDeclarativeType::~QDeclarativeType(void)
+ ??1QDeclarativeValueType@@UAE@XZ @ 330 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(void)
+ ??1QDeclarativeValueTypeFactory@@QAE@XZ @ 331 NONAME ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void)
+ ??1QDeclarativeView@@UAE@XZ @ 332 NONAME ; QDeclarativeView::~QDeclarativeView(void)
+ ??1QDeclarativeViewSection@@UAE@XZ @ 333 NONAME ; QDeclarativeViewSection::~QDeclarativeViewSection(void)
+ ??1QDeclarativeVisualDataModel@@UAE@XZ @ 334 NONAME ; QDeclarativeVisualDataModel::~QDeclarativeVisualDataModel(void)
+ ??1QDeclarativeVisualItemModel@@UAE@XZ @ 335 NONAME ; QDeclarativeVisualItemModel::~QDeclarativeVisualItemModel(void)
+ ??1QDeclarativeVisualModel@@UAE@XZ @ 336 NONAME ; QDeclarativeVisualModel::~QDeclarativeVisualModel(void)
+ ??1QDeclarativeWebPage@@UAE@XZ @ 337 NONAME ; QDeclarativeWebPage::~QDeclarativeWebPage(void)
+ ??1QDeclarativeWebView@@UAE@XZ @ 338 NONAME ; QDeclarativeWebView::~QDeclarativeWebView(void)
+ ??1QDeclarativeXmlListModel@@UAE@XZ @ 339 NONAME ; QDeclarativeXmlListModel::~QDeclarativeXmlListModel(void)
+ ??1QDeclarativeXmlListModelRole@@UAE@XZ @ 340 NONAME ; QDeclarativeXmlListModelRole::~QDeclarativeXmlListModelRole(void)
+ ??1QListModelInterface@@UAE@XZ @ 341 NONAME ; QListModelInterface::~QListModelInterface(void)
+ ??1QMetaObjectBuilder@@UAE@XZ @ 342 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(void)
+ ??1QPacket@@UAE@XZ @ 343 NONAME ; QPacket::~QPacket(void)
+ ??1QPacketAutoSend@@UAE@XZ @ 344 NONAME ; QPacketAutoSend::~QPacketAutoSend(void)
+ ??1QPacketProtocol@@UAE@XZ @ 345 NONAME ; QPacketProtocol::~QPacketProtocol(void)
+ ??4QDeclarativeCustomParserNode@@QAEAAV0@ABV0@@Z @ 346 NONAME ; class QDeclarativeCustomParserNode & QDeclarativeCustomParserNode::operator=(class QDeclarativeCustomParserNode const &)
+ ??4QDeclarativeCustomParserProperty@@QAEAAV0@ABV0@@Z @ 347 NONAME ; class QDeclarativeCustomParserProperty & QDeclarativeCustomParserProperty::operator=(class QDeclarativeCustomParserProperty const &)
+ ??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 348 NONAME ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &)
+ ??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 349 NONAME ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &)
+ ??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 350 NONAME ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &)
+ ??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 351 NONAME ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &)
+ ??4QDeclarativeDebugPropertyReference@@QAEAAV0@ABV0@@Z @ 352 NONAME ; class QDeclarativeDebugPropertyReference & QDeclarativeDebugPropertyReference::operator=(class QDeclarativeDebugPropertyReference const &)
+ ??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 353 NONAME ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &)
+ ??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 354 NONAME ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &)
+ ??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 355 NONAME ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &)
+ ??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 356 NONAME ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &)
+ ??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 357 NONAME ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &)
+ ??4QDeclarativeDomObject@@QAEAAV0@ABV0@@Z @ 358 NONAME ; class QDeclarativeDomObject & QDeclarativeDomObject::operator=(class QDeclarativeDomObject const &)
+ ??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 359 NONAME ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &)
+ ??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 360 NONAME ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &)
+ ??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 361 NONAME ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &)
+ ??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 362 NONAME ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &)
+ ??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 363 NONAME ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &)
+ ??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 364 NONAME ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &)
+ ??4QDeclarativeError@@QAEAAV0@ABV0@@Z @ 365 NONAME ; class QDeclarativeError & QDeclarativeError::operator=(class QDeclarativeError const &)
+ ??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 366 NONAME ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &)
+ ??4QDeclarativeListReference@@QAEAAV0@ABV0@@Z @ 367 NONAME ; class QDeclarativeListReference & QDeclarativeListReference::operator=(class QDeclarativeListReference const &)
+ ??4QDeclarativeProperty@@QAEAAV0@ABV0@@Z @ 368 NONAME ; class QDeclarativeProperty & QDeclarativeProperty::operator=(class QDeclarativeProperty const &)
+ ??4QDeclarativeScriptString@@QAEAAV0@ABV0@@Z @ 369 NONAME ; class QDeclarativeScriptString & QDeclarativeScriptString::operator=(class QDeclarativeScriptString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 370 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &)
+ ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 371 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &)
+ ??6@YA?AVQDebug@@V0@ABVQDeclarativeError@@@Z @ 372 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeError const &)
+ ??6@YA?AVQDebug@@V0@PAVQDeclarativeItem@@@Z @ 373 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeItem *)
+ ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 374 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &)
+ ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 375 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &)
+ ??6QDeclarativeInfo@@QAEAAV0@ABVQByteArray@@@Z @ 376 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QByteArray const &)
+ ??6QDeclarativeInfo@@QAEAAV0@ABVQLatin1String@@@Z @ 377 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QLatin1String const &)
+ ??6QDeclarativeInfo@@QAEAAV0@ABVQString@@@Z @ 378 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QString const &)
+ ??6QDeclarativeInfo@@QAEAAV0@ABVQStringRef@@@Z @ 379 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QStringRef const &)
+ ??6QDeclarativeInfo@@QAEAAV0@D@Z @ 380 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char)
+ ??6QDeclarativeInfo@@QAEAAV0@F@Z @ 381 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(short)
+ ??6QDeclarativeInfo@@QAEAAV0@G@Z @ 382 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned short)
+ ??6QDeclarativeInfo@@QAEAAV0@H@Z @ 383 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(int)
+ ??6QDeclarativeInfo@@QAEAAV0@I@Z @ 384 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned int)
+ ??6QDeclarativeInfo@@QAEAAV0@J@Z @ 385 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long)
+ ??6QDeclarativeInfo@@QAEAAV0@K@Z @ 386 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long)
+ ??6QDeclarativeInfo@@QAEAAV0@M@Z @ 387 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(float)
+ ??6QDeclarativeInfo@@QAEAAV0@N@Z @ 388 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(double)
+ ??6QDeclarativeInfo@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 389 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStream & (*)(class QTextStream &))
+ ??6QDeclarativeInfo@@QAEAAV0@PBD@Z @ 390 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char const *)
+ ??6QDeclarativeInfo@@QAEAAV0@PBX@Z @ 391 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(void const *)
+ ??6QDeclarativeInfo@@QAEAAV0@VQBool@@@Z @ 392 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QBool)
+ ??6QDeclarativeInfo@@QAEAAV0@VQChar@@@Z @ 393 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QChar)
+ ??6QDeclarativeInfo@@QAEAAV0@VQTextStreamManipulator@@@Z @ 394 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStreamManipulator)
+ ??6QDeclarativeInfo@@QAEAAV0@_J@Z @ 395 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long long)
+ ??6QDeclarativeInfo@@QAEAAV0@_K@Z @ 396 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long long)
+ ??6QDeclarativeInfo@@QAEAAV0@_N@Z @ 397 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(bool)
+ ??6QDeclarativeState@@QAEAAV0@PAVQDeclarativeStateOperation@@@Z @ 398 NONAME ; class QDeclarativeState & QDeclarativeState::operator<<(class QDeclarativeStateOperation *)
+ ??8QDeclarativeProperty@@QBE_NABV0@@Z @ 399 NONAME ; bool QDeclarativeProperty::operator==(class QDeclarativeProperty const &) const
+ ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 400 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &)
+ ??AQDeclarativePropertyMap@@QAEAAVQVariant@@ABVQString@@@Z @ 401 NONAME ; class QVariant & QDeclarativePropertyMap::operator[](class QString const &)
+ ??AQDeclarativePropertyMap@@QBE?BVQVariant@@ABVQString@@@Z @ 402 NONAME ; class QVariant const QDeclarativePropertyMap::operator[](class QString const &) const
+ ??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 403 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const
+ ??_EQDeclarativeAction@@QAE@I@Z @ 404 NONAME ; QDeclarativeAction::~QDeclarativeAction(unsigned int)
+ ??_EQDeclarativeAnchorChanges@@UAE@I@Z @ 405 NONAME ; QDeclarativeAnchorChanges::~QDeclarativeAnchorChanges(unsigned int)
+ ??_EQDeclarativeAnchors@@UAE@I@Z @ 406 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int)
+ ??_EQDeclarativeAnimatedImage@@UAE@I@Z @ 407 NONAME ; QDeclarativeAnimatedImage::~QDeclarativeAnimatedImage(unsigned int)
+ ??_EQDeclarativeBasePositioner@@UAE@I@Z @ 408 NONAME ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(unsigned int)
+ ??_EQDeclarativeBehavior@@UAE@I@Z @ 409 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int)
+ ??_EQDeclarativeBind@@UAE@I@Z @ 410 NONAME ; QDeclarativeBind::~QDeclarativeBind(unsigned int)
+ ??_EQDeclarativeBorderImage@@UAE@I@Z @ 411 NONAME ; QDeclarativeBorderImage::~QDeclarativeBorderImage(unsigned int)
+ ??_EQDeclarativeColumn@@UAE@I@Z @ 412 NONAME ; QDeclarativeColumn::~QDeclarativeColumn(unsigned int)
+ ??_EQDeclarativeComponent@@UAE@I@Z @ 413 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(unsigned int)
+ ??_EQDeclarativeConnections@@UAE@I@Z @ 414 NONAME ; QDeclarativeConnections::~QDeclarativeConnections(unsigned int)
+ ??_EQDeclarativeContext@@UAE@I@Z @ 415 NONAME ; QDeclarativeContext::~QDeclarativeContext(unsigned int)
+ ??_EQDeclarativeContextPrivate@@UAE@I@Z @ 416 NONAME ; QDeclarativeContextPrivate::~QDeclarativeContextPrivate(unsigned int)
+ ??_EQDeclarativeCurve@@UAE@I@Z @ 417 NONAME ; QDeclarativeCurve::~QDeclarativeCurve(unsigned int)
+ ??_EQDeclarativeCustomParser@@UAE@I@Z @ 418 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(unsigned int)
+ ??_EQDeclarativeDateTimeFormatter@@UAE@I@Z @ 419 NONAME ; QDeclarativeDateTimeFormatter::~QDeclarativeDateTimeFormatter(unsigned int)
+ ??_EQDeclarativeDebugClient@@UAE@I@Z @ 420 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int)
+ ??_EQDeclarativeDebugConnection@@UAE@I@Z @ 421 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(unsigned int)
+ ??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 422 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int)
+ ??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 423 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int)
+ ??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 424 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int)
+ ??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 425 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int)
+ ??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 426 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int)
+ ??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 427 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int)
+ ??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 428 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int)
+ ??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 429 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int)
+ ??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 430 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int)
+ ??_EQDeclarativeDebugQuery@@UAE@I@Z @ 431 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int)
+ ??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 432 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int)
+ ??_EQDeclarativeDebugService@@UAE@I@Z @ 433 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int)
+ ??_EQDeclarativeDebugWatch@@UAE@I@Z @ 434 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int)
+ ??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 435 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int)
+ ??_EQDeclarativeDrag@@UAE@I@Z @ 436 NONAME ; QDeclarativeDrag::~QDeclarativeDrag(unsigned int)
+ ??_EQDeclarativeEaseFollow@@UAE@I@Z @ 437 NONAME ; QDeclarativeEaseFollow::~QDeclarativeEaseFollow(unsigned int)
+ ??_EQDeclarativeEngine@@UAE@I@Z @ 438 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(unsigned int)
+ ??_EQDeclarativeEngineDebug@@UAE@I@Z @ 439 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int)
+ ??_EQDeclarativeExpression@@UAE@I@Z @ 440 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(unsigned int)
+ ??_EQDeclarativeExtensionInterface@@UAE@I@Z @ 441 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(unsigned int)
+ ??_EQDeclarativeExtensionPlugin@@UAE@I@Z @ 442 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(unsigned int)
+ ??_EQDeclarativeFlickable@@UAE@I@Z @ 443 NONAME ; QDeclarativeFlickable::~QDeclarativeFlickable(unsigned int)
+ ??_EQDeclarativeFlipable@@UAE@I@Z @ 444 NONAME ; QDeclarativeFlipable::~QDeclarativeFlipable(unsigned int)
+ ??_EQDeclarativeFlow@@UAE@I@Z @ 445 NONAME ; QDeclarativeFlow::~QDeclarativeFlow(unsigned int)
+ ??_EQDeclarativeFocusPanel@@UAE@I@Z @ 446 NONAME ; QDeclarativeFocusPanel::~QDeclarativeFocusPanel(unsigned int)
+ ??_EQDeclarativeFocusScope@@UAE@I@Z @ 447 NONAME ; QDeclarativeFocusScope::~QDeclarativeFocusScope(unsigned int)
+ ??_EQDeclarativeFontLoader@@UAE@I@Z @ 448 NONAME ; QDeclarativeFontLoader::~QDeclarativeFontLoader(unsigned int)
+ ??_EQDeclarativeGradient@@UAE@I@Z @ 449 NONAME ; QDeclarativeGradient::~QDeclarativeGradient(unsigned int)
+ ??_EQDeclarativeGradientStop@@UAE@I@Z @ 450 NONAME ; QDeclarativeGradientStop::~QDeclarativeGradientStop(unsigned int)
+ ??_EQDeclarativeGraphicsObjectContainer@@UAE@I@Z @ 451 NONAME ; QDeclarativeGraphicsObjectContainer::~QDeclarativeGraphicsObjectContainer(unsigned int)
+ ??_EQDeclarativeGrid@@UAE@I@Z @ 452 NONAME ; QDeclarativeGrid::~QDeclarativeGrid(unsigned int)
+ ??_EQDeclarativeGridView@@UAE@I@Z @ 453 NONAME ; QDeclarativeGridView::~QDeclarativeGridView(unsigned int)
+ ??_EQDeclarativeImage@@UAE@I@Z @ 454 NONAME ; QDeclarativeImage::~QDeclarativeImage(unsigned int)
+ ??_EQDeclarativeImageBase@@UAE@I@Z @ 455 NONAME ; QDeclarativeImageBase::~QDeclarativeImageBase(unsigned int)
+ ??_EQDeclarativeImageProvider@@UAE@I@Z @ 456 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(unsigned int)
+ ??_EQDeclarativeItem@@UAE@I@Z @ 457 NONAME ; QDeclarativeItem::~QDeclarativeItem(unsigned int)
+ ??_EQDeclarativeListModel@@UAE@I@Z @ 458 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int)
+ ??_EQDeclarativeListView@@UAE@I@Z @ 459 NONAME ; QDeclarativeListView::~QDeclarativeListView(unsigned int)
+ ??_EQDeclarativeLoader@@UAE@I@Z @ 460 NONAME ; QDeclarativeLoader::~QDeclarativeLoader(unsigned int)
+ ??_EQDeclarativeMouseArea@@UAE@I@Z @ 461 NONAME ; QDeclarativeMouseArea::~QDeclarativeMouseArea(unsigned int)
+ ??_EQDeclarativeNetworkAccessManagerFactory@@UAE@I@Z @ 462 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(unsigned int)
+ ??_EQDeclarativeNumberFormatter@@UAE@I@Z @ 463 NONAME ; QDeclarativeNumberFormatter::~QDeclarativeNumberFormatter(unsigned int)
+ ??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 464 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int)
+ ??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 465 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int)
+ ??_EQDeclarativePaintedItem@@UAE@I@Z @ 466 NONAME ; QDeclarativePaintedItem::~QDeclarativePaintedItem(unsigned int)
+ ??_EQDeclarativeParentChange@@UAE@I@Z @ 467 NONAME ; QDeclarativeParentChange::~QDeclarativeParentChange(unsigned int)
+ ??_EQDeclarativeParserStatus@@UAE@I@Z @ 468 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(unsigned int)
+ ??_EQDeclarativeParticleMotion@@UAE@I@Z @ 469 NONAME ; QDeclarativeParticleMotion::~QDeclarativeParticleMotion(unsigned int)
+ ??_EQDeclarativeParticleMotionGravity@@UAE@I@Z @ 470 NONAME ; QDeclarativeParticleMotionGravity::~QDeclarativeParticleMotionGravity(unsigned int)
+ ??_EQDeclarativeParticleMotionLinear@@UAE@I@Z @ 471 NONAME ; QDeclarativeParticleMotionLinear::~QDeclarativeParticleMotionLinear(unsigned int)
+ ??_EQDeclarativeParticleMotionWander@@UAE@I@Z @ 472 NONAME ; QDeclarativeParticleMotionWander::~QDeclarativeParticleMotionWander(unsigned int)
+ ??_EQDeclarativeParticles@@UAE@I@Z @ 473 NONAME ; QDeclarativeParticles::~QDeclarativeParticles(unsigned int)
+ ??_EQDeclarativePath@@UAE@I@Z @ 474 NONAME ; QDeclarativePath::~QDeclarativePath(unsigned int)
+ ??_EQDeclarativePathAttribute@@UAE@I@Z @ 475 NONAME ; QDeclarativePathAttribute::~QDeclarativePathAttribute(unsigned int)
+ ??_EQDeclarativePathCubic@@UAE@I@Z @ 476 NONAME ; QDeclarativePathCubic::~QDeclarativePathCubic(unsigned int)
+ ??_EQDeclarativePathElement@@UAE@I@Z @ 477 NONAME ; QDeclarativePathElement::~QDeclarativePathElement(unsigned int)
+ ??_EQDeclarativePathLine@@UAE@I@Z @ 478 NONAME ; QDeclarativePathLine::~QDeclarativePathLine(unsigned int)
+ ??_EQDeclarativePathPercent@@UAE@I@Z @ 479 NONAME ; QDeclarativePathPercent::~QDeclarativePathPercent(unsigned int)
+ ??_EQDeclarativePathQuad@@UAE@I@Z @ 480 NONAME ; QDeclarativePathQuad::~QDeclarativePathQuad(unsigned int)
+ ??_EQDeclarativePathView@@UAE@I@Z @ 481 NONAME ; QDeclarativePathView::~QDeclarativePathView(unsigned int)
+ ??_EQDeclarativePen@@UAE@I@Z @ 482 NONAME ; QDeclarativePen::~QDeclarativePen(unsigned int)
+ ??_EQDeclarativePixmapReply@@UAE@I@Z @ 483 NONAME ; QDeclarativePixmapReply::~QDeclarativePixmapReply(unsigned int)
+ ??_EQDeclarativePropertyChanges@@UAE@I@Z @ 484 NONAME ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(unsigned int)
+ ??_EQDeclarativePropertyMap@@UAE@I@Z @ 485 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(unsigned int)
+ ??_EQDeclarativePropertyValueInterceptor@@UAE@I@Z @ 486 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(unsigned int)
+ ??_EQDeclarativePropertyValueSource@@UAE@I@Z @ 487 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(unsigned int)
+ ??_EQDeclarativeRectangle@@UAE@I@Z @ 488 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int)
+ ??_EQDeclarativeRepeater@@UAE@I@Z @ 489 NONAME ; QDeclarativeRepeater::~QDeclarativeRepeater(unsigned int)
+ ??_EQDeclarativeRow@@UAE@I@Z @ 490 NONAME ; QDeclarativeRow::~QDeclarativeRow(unsigned int)
+ ??_EQDeclarativeScaleGrid@@UAE@I@Z @ 491 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int)
+ ??_EQDeclarativeSpringFollow@@UAE@I@Z @ 492 NONAME ; QDeclarativeSpringFollow::~QDeclarativeSpringFollow(unsigned int)
+ ??_EQDeclarativeState@@UAE@I@Z @ 493 NONAME ; QDeclarativeState::~QDeclarativeState(unsigned int)
+ ??_EQDeclarativeStateChangeScript@@UAE@I@Z @ 494 NONAME ; QDeclarativeStateChangeScript::~QDeclarativeStateChangeScript(unsigned int)
+ ??_EQDeclarativeStateGroup@@UAE@I@Z @ 495 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(unsigned int)
+ ??_EQDeclarativeStateOperation@@UAE@I@Z @ 496 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(unsigned int)
+ ??_EQDeclarativeSystemPalette@@UAE@I@Z @ 497 NONAME ; QDeclarativeSystemPalette::~QDeclarativeSystemPalette(unsigned int)
+ ??_EQDeclarativeText@@UAE@I@Z @ 498 NONAME ; QDeclarativeText::~QDeclarativeText(unsigned int)
+ ??_EQDeclarativeTextEdit@@UAE@I@Z @ 499 NONAME ; QDeclarativeTextEdit::~QDeclarativeTextEdit(unsigned int)
+ ??_EQDeclarativeTextInput@@UAE@I@Z @ 500 NONAME ; QDeclarativeTextInput::~QDeclarativeTextInput(unsigned int)
+ ??_EQDeclarativeTimer@@UAE@I@Z @ 501 NONAME ; QDeclarativeTimer::~QDeclarativeTimer(unsigned int)
+ ??_EQDeclarativeTransition@@UAE@I@Z @ 502 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(unsigned int)
+ ??_EQDeclarativeValueType@@UAE@I@Z @ 503 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(unsigned int)
+ ??_EQDeclarativeView@@UAE@I@Z @ 504 NONAME ; QDeclarativeView::~QDeclarativeView(unsigned int)
+ ??_EQDeclarativeViewSection@@UAE@I@Z @ 505 NONAME ; QDeclarativeViewSection::~QDeclarativeViewSection(unsigned int)
+ ??_EQDeclarativeVisualDataModel@@UAE@I@Z @ 506 NONAME ; QDeclarativeVisualDataModel::~QDeclarativeVisualDataModel(unsigned int)
+ ??_EQDeclarativeVisualItemModel@@UAE@I@Z @ 507 NONAME ; QDeclarativeVisualItemModel::~QDeclarativeVisualItemModel(unsigned int)
+ ??_EQDeclarativeVisualModel@@UAE@I@Z @ 508 NONAME ; QDeclarativeVisualModel::~QDeclarativeVisualModel(unsigned int)
+ ??_EQDeclarativeWebPage@@UAE@I@Z @ 509 NONAME ; QDeclarativeWebPage::~QDeclarativeWebPage(unsigned int)
+ ??_EQDeclarativeWebView@@UAE@I@Z @ 510 NONAME ; QDeclarativeWebView::~QDeclarativeWebView(unsigned int)
+ ??_EQDeclarativeXmlListModel@@UAE@I@Z @ 511 NONAME ; QDeclarativeXmlListModel::~QDeclarativeXmlListModel(unsigned int)
+ ??_EQDeclarativeXmlListModelRole@@UAE@I@Z @ 512 NONAME ; QDeclarativeXmlListModelRole::~QDeclarativeXmlListModelRole(unsigned int)
+ ??_EQListModelInterface@@UAE@I@Z @ 513 NONAME ; QListModelInterface::~QListModelInterface(unsigned int)
+ ??_EQMetaObjectBuilder@@UAE@I@Z @ 514 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int)
+ ??_EQPacket@@UAE@I@Z @ 515 NONAME ; QPacket::~QPacket(unsigned int)
+ ??_EQPacketAutoSend@@UAE@I@Z @ 516 NONAME ; QPacketAutoSend::~QPacketAutoSend(unsigned int)
+ ??_EQPacketProtocol@@UAE@I@Z @ 517 NONAME ; QPacketProtocol::~QPacketProtocol(unsigned int)
+ ?__q_notify@QDeclarativeExpression@@AAEXXZ @ 518 NONAME ; void QDeclarativeExpression::__q_notify(void)
+ ?_q_createdPackage@QDeclarativeVisualDataModel@@AAEXHPAVQDeclarativePackage@@@Z @ 519 NONAME ; void QDeclarativeVisualDataModel::_q_createdPackage(int, class QDeclarativePackage *)
+ ?_q_dataChanged@QDeclarativeVisualDataModel@@AAEXABVQModelIndex@@0@Z @ 520 NONAME ; void QDeclarativeVisualDataModel::_q_dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?_q_destroyingPackage@QDeclarativeVisualDataModel@@AAEXPAVQDeclarativePackage@@@Z @ 521 NONAME ; void QDeclarativeVisualDataModel::_q_destroyingPackage(class QDeclarativePackage *)
+ ?_q_itemsChanged@QDeclarativeVisualDataModel@@AAEXHHABV?$QList@H@@@Z @ 522 NONAME ; void QDeclarativeVisualDataModel::_q_itemsChanged(int, int, class QList<int> const &)
+ ?_q_itemsInserted@QDeclarativeVisualDataModel@@AAEXHH@Z @ 523 NONAME ; void QDeclarativeVisualDataModel::_q_itemsInserted(int, int)
+ ?_q_itemsMoved@QDeclarativeVisualDataModel@@AAEXHHH@Z @ 524 NONAME ; void QDeclarativeVisualDataModel::_q_itemsMoved(int, int, int)
+ ?_q_itemsRemoved@QDeclarativeVisualDataModel@@AAEXHH@Z @ 525 NONAME ; void QDeclarativeVisualDataModel::_q_itemsRemoved(int, int)
+ ?_q_modelReset@QDeclarativeVisualDataModel@@AAEXXZ @ 526 NONAME ; void QDeclarativeVisualDataModel::_q_modelReset(void)
+ ?_q_rowsInserted@QDeclarativeVisualDataModel@@AAEXABVQModelIndex@@HH@Z @ 527 NONAME ; void QDeclarativeVisualDataModel::_q_rowsInserted(class QModelIndex const &, int, int)
+ ?_q_rowsMoved@QDeclarativeVisualDataModel@@AAEXABVQModelIndex@@HH0H@Z @ 528 NONAME ; void QDeclarativeVisualDataModel::_q_rowsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?_q_rowsRemoved@QDeclarativeVisualDataModel@@AAEXABVQModelIndex@@HH@Z @ 529 NONAME ; void QDeclarativeVisualDataModel::_q_rowsRemoved(class QModelIndex const &, int, int)
+ ?acceleration@QDeclarativeParticleMotionGravity@@QBEMXZ @ 530 NONAME ; float QDeclarativeParticleMotionGravity::acceleration(void) const
+ ?accelerationChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 531 NONAME ; void QDeclarativeParticleMotionGravity::accelerationChanged(void)
+ ?acceptableInputChanged@QDeclarativeTextInput@@IAEXXZ @ 532 NONAME ; void QDeclarativeTextInput::acceptableInputChanged(void)
+ ?accepted@QDeclarativeTextInput@@IAEXXZ @ 533 NONAME ; void QDeclarativeTextInput::accepted(void)
+ ?acceptedButtons@QDeclarativeMouseArea@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 534 NONAME ; class QFlags<enum Qt::MouseButton> QDeclarativeMouseArea::acceptedButtons(void) const
+ ?acceptedButtonsChanged@QDeclarativeMouseArea@@IAEXXZ @ 535 NONAME ; void QDeclarativeMouseArea::acceptedButtonsChanged(void)
+ ?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 536 NONAME ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const
+ ?actions@QDeclarativeAnchorChanges@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 537 NONAME ; class QList<class QDeclarativeAction> QDeclarativeAnchorChanges::actions(void)
+ ?actions@QDeclarativeParentChange@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 538 NONAME ; class QList<class QDeclarativeAction> QDeclarativeParentChange::actions(void)
+ ?actions@QDeclarativePropertyChanges@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 539 NONAME ; class QList<class QDeclarativeAction> QDeclarativePropertyChanges::actions(void)
+ ?actions@QDeclarativeStateChangeScript@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 540 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateChangeScript::actions(void)
+ ?actions@QDeclarativeStateOperation@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 541 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateOperation::actions(void)
+ ?activeChanged@QDeclarativeFocusPanel@@IAEXXZ @ 542 NONAME ; void QDeclarativeFocusPanel::activeChanged(void)
+ ?add@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 543 NONAME ; class QDeclarativeTransition * QDeclarativeBasePositioner::add(void) const
+ ?addBindingReference@QDeclarativeCompiler@@AAEXABUBindingReference@1@@Z @ 544 NONAME ; void QDeclarativeCompiler::addBindingReference(struct QDeclarativeCompiler::BindingReference const &)
+ ?addChanged@QDeclarativeBasePositioner@@IAEXXZ @ 545 NONAME ; void QDeclarativeBasePositioner::addChanged(void)
+ ?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 546 NONAME ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &)
+ ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 547 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &)
+ ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 548 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &)
+ ?addDefaultObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 549 NONAME ; void QDeclarativeContext::addDefaultObject(class QObject *)
+ ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 550 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &)
+ ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQMetaEnum@@@Z @ 551 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QMetaEnum const &)
+ ?addId@QDeclarativeCompiler@@AAEXABVQString@@PAVObject@QDeclarativeParser@@@Z @ 552 NONAME ; void QDeclarativeCompiler::addId(class QString const &, class QDeclarativeParser::Object *)
+ ?addImageProvider@QDeclarativeEngine@@QAEXABVQString@@PAVQDeclarativeImageProvider@@@Z @ 553 NONAME ; void QDeclarativeEngine::addImageProvider(class QString const &, class QDeclarativeImageProvider *)
+ ?addImportPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 554 NONAME ; void QDeclarativeEngine::addImportPath(class QString const &)
+ ?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 555 NONAME ; int QMetaEnumBuilder::addKey(class QByteArray const &, int)
+ ?addMetaObject@QMetaObjectBuilder@@QAEXPBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 556 NONAME ; void QMetaObjectBuilder::addMetaObject(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 557 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &)
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 558 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &)
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 559 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &)
+ ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQByteArray@@0H@Z @ 560 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QByteArray const &, class QByteArray const &, int)
+ ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 561 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &)
+ ?addRef@QDeclarativePixmapReply@@AAEXXZ @ 562 NONAME ; void QDeclarativePixmapReply::addRef(void)
+ ?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 563 NONAME ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &)
+ ?addRole@QDeclarativeListModel@@ABEXABVQString@@@Z @ 564 NONAME ; void QDeclarativeListModel::addRole(class QString const &) const
+ ?addScript@QDeclarativeContextPrivate@@QAEXABUScriptBlock@Object@QDeclarativeParser@@PAVQObject@@@Z @ 565 NONAME ; void QDeclarativeContextPrivate::addScript(struct QDeclarativeParser::Object::ScriptBlock const &, class QObject *)
+ ?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 566 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &)
+ ?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 567 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &)
+ ?addToPath@QDeclarativeCurve@@UAEXAAVQPainterPath@@@Z @ 568 NONAME ; void QDeclarativeCurve::addToPath(class QPainterPath &)
+ ?addToPath@QDeclarativePathCubic@@UAEXAAVQPainterPath@@@Z @ 569 NONAME ; void QDeclarativePathCubic::addToPath(class QPainterPath &)
+ ?addToPath@QDeclarativePathLine@@UAEXAAVQPainterPath@@@Z @ 570 NONAME ; void QDeclarativePathLine::addToPath(class QPainterPath &)
+ ?addToPath@QDeclarativePathQuad@@UAEXAAVQPainterPath@@@Z @ 571 NONAME ; void QDeclarativePathQuad::addToPath(class QPainterPath &)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectExpressionWatch@@ABVQDeclarativeDebugObjectReference@@ABVQString@@PAVQObject@@@Z @ 572 NONAME ; class QDeclarativeDebugObjectExpressionWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QString const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 573 NONAME ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 574 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 575 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 576 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?advance@QDeclarativeParticleMotion@@UAEXAAVQDeclarativeParticle@@H@Z @ 577 NONAME ; void QDeclarativeParticleMotion::advance(class QDeclarativeParticle &, int)
+ ?advance@QDeclarativeParticleMotionGravity@@UAEXAAVQDeclarativeParticle@@H@Z @ 578 NONAME ; void QDeclarativeParticleMotionGravity::advance(class QDeclarativeParticle &, int)
+ ?advance@QDeclarativeParticleMotionLinear@@UAEXAAVQDeclarativeParticle@@H@Z @ 579 NONAME ; void QDeclarativeParticleMotionLinear::advance(class QDeclarativeParticle &, int)
+ ?advance@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@H@Z @ 580 NONAME ; void QDeclarativeParticleMotionWander::advance(class QDeclarativeParticle &, int)
+ ?alert@QDeclarativeWebView@@IAEXABVQString@@@Z @ 581 NONAME ; void QDeclarativeWebView::alert(class QString const &)
+ ?alternateBase@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 582 NONAME ; class QColor QDeclarativeSystemPalette::alternateBase(void) const
+ ?anchors@QDeclarativeItem@@QAEPAVQDeclarativeAnchors@@XZ @ 583 NONAME ; class QDeclarativeAnchors * QDeclarativeItem::anchors(void)
+ ?angle@QDeclarativeParticles@@QBEMXZ @ 584 NONAME ; float QDeclarativeParticles::angle(void) const
+ ?angleChanged@QDeclarativeParticles@@IAEXXZ @ 585 NONAME ; void QDeclarativeParticles::angleChanged(void)
+ ?angleDeviation@QDeclarativeParticles@@QBEMXZ @ 586 NONAME ; float QDeclarativeParticles::angleDeviation(void) const
+ ?angleDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 587 NONAME ; void QDeclarativeParticles::angleDeviationChanged(void)
+ ?animStopped@QDeclarativeListView@@AAEXXZ @ 588 NONAME ; void QDeclarativeListView::animStopped(void)
+ ?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 589 NONAME ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void)
+ ?animations@QDeclarativeTransition@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 590 NONAME ; struct QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void)
+ ?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 591 NONAME ; void QDeclarativeListModel::append(class QScriptValue const &)
+ ?append@QDeclarativeListReference@@QBE_NPAVQObject@@@Z @ 592 NONAME ; bool QDeclarativeListReference::append(class QObject *) const
+ ?apply@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@PAVQDeclarativeTransition@@PAV1@@Z @ 593 NONAME ; void QDeclarativeState::apply(class QDeclarativeStateGroup *, class QDeclarativeTransition *, class QDeclarativeState *)
+ ?assignedValues@QDeclarativeCustomParserProperty@@QBE?AV?$QList@VQVariant@@@@XZ @ 594 NONAME ; class QList<class QVariant> QDeclarativeCustomParserProperty::assignedValues(void) const
+ ?asynchronous@QDeclarativeImageBase@@QBE_NXZ @ 595 NONAME ; bool QDeclarativeImageBase::asynchronous(void) const
+ ?asynchronousChanged@QDeclarativeImageBase@@IAEXXZ @ 596 NONAME ; void QDeclarativeImageBase::asynchronousChanged(void)
+ ?at@QDeclarativeListAccessor@@QBE?AVQVariant@@H@Z @ 597 NONAME ; class QVariant QDeclarativeListAccessor::at(int) const
+ ?at@QDeclarativeListReference@@QBEPAVQObject@@H@Z @ 598 NONAME ; class QObject * QDeclarativeListReference::at(int) const
+ ?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 599 NONAME ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int)
+ ?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 600 NONAME ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *)
+ ?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 601 NONAME ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const
+ ?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 602 NONAME ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const
+ ?attributeAt@QDeclarativePath@@QBEMABVQString@@M@Z @ 603 NONAME ; float QDeclarativePath::attributeAt(class QString const &, float) const
+ ?attributes@QDeclarativePath@@QBE?AVQStringList@@XZ @ 604 NONAME ; class QStringList QDeclarativePath::attributes(void) const
+ ?attributes@QMetaMethodBuilder@@QBEHXZ @ 605 NONAME ; int QMetaMethodBuilder::attributes(void) const
+ ?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 606 NONAME ; bool QDeclarativeType::availableInVersion(int, int) const
+ ?axis@QDeclarativeDrag@@QBE?AW4Axis@1@XZ @ 607 NONAME ; enum QDeclarativeDrag::Axis QDeclarativeDrag::axis(void) const
+ ?axisChanged@QDeclarativeDrag@@IAEXXZ @ 608 NONAME ; void QDeclarativeDrag::axisChanged(void)
+ ?back@QDeclarativeFlipable@@QAEPAVQDeclarativeItem@@XZ @ 609 NONAME ; class QDeclarativeItem * QDeclarativeFlipable::back(void)
+ ?backAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 610 NONAME ; class QAction * QDeclarativeWebView::backAction(void) const
+ ?base@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 611 NONAME ; class QColor QDeclarativeSystemPalette::base(void) const
+ ?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 612 NONAME ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const
+ ?baseUrl@QDeclarativeContext@@QBE?AVQUrl@@XZ @ 613 NONAME ; class QUrl QDeclarativeContext::baseUrl(void) const
+ ?baseUrl@QDeclarativeEngine@@QBE?AVQUrl@@XZ @ 614 NONAME ; class QUrl QDeclarativeEngine::baseUrl(void) const
+ ?baseline@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 615 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::baseline(void) const
+ ?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 616 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const
+ ?baseline@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 617 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::baseline(void) const
+ ?baselineChanged@QDeclarativeAnchors@@IAEXXZ @ 618 NONAME ; void QDeclarativeAnchors::baselineChanged(void)
+ ?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 619 NONAME ; float QDeclarativeAnchors::baselineOffset(void) const
+ ?baselineOffset@QDeclarativeItem@@QBEMXZ @ 620 NONAME ; float QDeclarativeItem::baselineOffset(void) const
+ ?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 621 NONAME ; void QDeclarativeAnchors::baselineOffsetChanged(void)
+ ?baselineOffsetChanged@QDeclarativeItem@@IAEXXZ @ 622 NONAME ; void QDeclarativeItem::baselineOffsetChanged(void)
+ ?beginCreate@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 623 NONAME ; class QObject * QDeclarativeComponent::beginCreate(class QDeclarativeContext *)
+ ?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 624 NONAME ; class QString QDeclarativeDebugPropertyReference::binding(void) const
+ ?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 625 NONAME ; class QString QDeclarativeDomValueBinding::binding(void) const
+ ?border@QDeclarativeBorderImage@@QAEPAVQDeclarativeScaleGrid@@XZ @ 626 NONAME ; class QDeclarativeScaleGrid * QDeclarativeBorderImage::border(void)
+ ?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 627 NONAME ; class QDeclarativePen * QDeclarativeRectangle::border(void)
+ ?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 628 NONAME ; void QDeclarativeScaleGrid::borderChanged(void)
+ ?bottom@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 629 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::bottom(void) const
+ ?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 630 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const
+ ?bottom@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 631 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::bottom(void) const
+ ?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 632 NONAME ; int QDeclarativeScaleGrid::bottom(void) const
+ ?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 633 NONAME ; void QDeclarativeAnchors::bottomChanged(void)
+ ?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 634 NONAME ; float QDeclarativeAnchors::bottomMargin(void) const
+ ?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 635 NONAME ; void QDeclarativeAnchors::bottomMarginChanged(void)
+ ?boundingRect@QDeclarativeItem@@UBE?AVQRectF@@XZ @ 636 NONAME ; class QRectF QDeclarativeItem::boundingRect(void) const
+ ?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 637 NONAME ; class QRectF QDeclarativeRectangle::boundingRect(void) const
+ ?buildAttachedProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 638 NONAME ; bool QDeclarativeCompiler::buildAttachedProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildBinding@QDeclarativeCompiler@@AAE_NPAVValue@QDeclarativeParser@@PAVProperty@3@ABUBindingContext@1@@Z @ 639 NONAME ; bool QDeclarativeCompiler::buildBinding(class QDeclarativeParser::Value *, class QDeclarativeParser::Property *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildComponent@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@ABUBindingContext@1@@Z @ 640 NONAME ; bool QDeclarativeCompiler::buildComponent(class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildComponentFromRoot@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@ABUBindingContext@1@@Z @ 641 NONAME ; bool QDeclarativeCompiler::buildComponentFromRoot(class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildDynamicMeta@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@W4DynamicMetaMode@1@@Z @ 642 NONAME ; bool QDeclarativeCompiler::buildDynamicMeta(class QDeclarativeParser::Object *, enum QDeclarativeCompiler::DynamicMetaMode)
+ ?buildGroupedProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 643 NONAME ; bool QDeclarativeCompiler::buildGroupedProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildIdProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@@Z @ 644 NONAME ; bool QDeclarativeCompiler::buildIdProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *)
+ ?buildListProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 645 NONAME ; bool QDeclarativeCompiler::buildListProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildObject@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@ABUBindingContext@1@@Z @ 646 NONAME ; bool QDeclarativeCompiler::buildObject(class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 647 NONAME ; bool QDeclarativeCompiler::buildProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildPropertyAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 648 NONAME ; bool QDeclarativeCompiler::buildPropertyAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildPropertyInNamespace@QDeclarativeCompiler@@AAE_NPAUImportedNamespace@QDeclarativeEnginePrivate@@PAVProperty@QDeclarativeParser@@PAVObject@5@ABUBindingContext@1@@Z @ 649 NONAME ; bool QDeclarativeCompiler::buildPropertyInNamespace(struct QDeclarativeEnginePrivate::ImportedNamespace *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildPropertyLiteralAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@PAVValue@3@ABUBindingContext@1@@Z @ 650 NONAME ; bool QDeclarativeCompiler::buildPropertyLiteralAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildPropertyObjectAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@PAVValue@3@ABUBindingContext@1@@Z @ 651 NONAME ; bool QDeclarativeCompiler::buildPropertyObjectAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildScript@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@0@Z @ 652 NONAME ; bool QDeclarativeCompiler::buildScript(class QDeclarativeParser::Object *, class QDeclarativeParser::Object *)
+ ?buildScriptStringProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 653 NONAME ; bool QDeclarativeCompiler::buildScriptStringProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildSignal@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 654 NONAME ; bool QDeclarativeCompiler::buildSignal(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildSubObject@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@ABUBindingContext@1@@Z @ 655 NONAME ; bool QDeclarativeCompiler::buildSubObject(class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildValueTypeProperty@QDeclarativeCompiler@@AAE_NPAVQObject@@PAVObject@QDeclarativeParser@@1ABUBindingContext@1@@Z @ 656 NONAME ; bool QDeclarativeCompiler::buildValueTypeProperty(class QObject *, class QDeclarativeParser::Object *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?burst@QDeclarativeParticles@@QAEXHH@Z @ 657 NONAME ; void QDeclarativeParticles::burst(int, int)
+ ?button@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 658 NONAME ; class QColor QDeclarativeSystemPalette::button(void) const
+ ?buttonText@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 659 NONAME ; class QColor QDeclarativeSystemPalette::buttonText(void) const
+ ?cacheBuffer@QDeclarativeGridView@@QBEHXZ @ 660 NONAME ; int QDeclarativeGridView::cacheBuffer(void) const
+ ?cacheBuffer@QDeclarativeListView@@QBEHXZ @ 661 NONAME ; int QDeclarativeListView::cacheBuffer(void) const
+ ?canAppend@QDeclarativeListReference@@QBE_NXZ @ 662 NONAME ; bool QDeclarativeListReference::canAppend(void) const
+ ?canAt@QDeclarativeListReference@@QBE_NXZ @ 663 NONAME ; bool QDeclarativeListReference::canAt(void) const
+ ?canClear@QDeclarativeListReference@@QBE_NXZ @ 664 NONAME ; bool QDeclarativeListReference::canClear(void) const
+ ?canCoerce@QDeclarativeCompiler@@AAE_NHH@Z @ 665 NONAME ; bool QDeclarativeCompiler::canCoerce(int, int)
+ ?canCoerce@QDeclarativeCompiler@@AAE_NHPAVObject@QDeclarativeParser@@@Z @ 666 NONAME ; bool QDeclarativeCompiler::canCoerce(int, class QDeclarativeParser::Object *)
+ ?canCount@QDeclarativeListReference@@QBE_NXZ @ 667 NONAME ; bool QDeclarativeListReference::canCount(void) const
+ ?cancel@QDeclarativePixmapCache@@SAXABVQUrl@@PAVQObject@@@Z @ 668 NONAME ; void QDeclarativePixmapCache::cancel(class QUrl const &, class QObject *)
+ ?cancel@QDeclarativeState@@QAEXXZ @ 669 NONAME ; void QDeclarativeState::cancel(void)
+ ?cancelFlick@QDeclarativeFlickable@@IAEXXZ @ 670 NONAME ; void QDeclarativeFlickable::cancelFlick(void)
+ ?cellHeight@QDeclarativeGridView@@QBEHXZ @ 671 NONAME ; int QDeclarativeGridView::cellHeight(void) const
+ ?cellHeightChanged@QDeclarativeGridView@@IAEXXZ @ 672 NONAME ; void QDeclarativeGridView::cellHeightChanged(void)
+ ?cellWidth@QDeclarativeGridView@@QBEHXZ @ 673 NONAME ; int QDeclarativeGridView::cellWidth(void) const
+ ?cellWidthChanged@QDeclarativeGridView@@IAEXXZ @ 674 NONAME ; void QDeclarativeGridView::cellWidthChanged(void)
+ ?centerIn@QDeclarativeAnchors@@QBEPAVQDeclarativeItem@@XZ @ 675 NONAME ; class QDeclarativeItem * QDeclarativeAnchors::centerIn(void) const
+ ?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 676 NONAME ; void QDeclarativeAnchors::centerInChanged(void)
+ ?changed@QDeclarativePath@@IAEXXZ @ 677 NONAME ; void QDeclarativePath::changed(void)
+ ?changed@QDeclarativePathElement@@IAEXXZ @ 678 NONAME ; void QDeclarativePathElement::changed(void)
+ ?changed@QDeclarativeViewSection@@IAEXXZ @ 679 NONAME ; void QDeclarativeViewSection::changed(void)
+ ?changes@QDeclarativeState@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 680 NONAME ; struct QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void)
+ ?changesBindings@QDeclarativeAnchorChanges@@UAE_NXZ @ 681 NONAME ; bool QDeclarativeAnchorChanges::changesBindings(void)
+ ?checkDynamicMeta@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@@Z @ 682 NONAME ; bool QDeclarativeCompiler::checkDynamicMeta(class QDeclarativeParser::Object *)
+ ?checkRoles@QDeclarativeListModel@@ABEXXZ @ 683 NONAME ; void QDeclarativeListModel::checkRoles(void) const
+ ?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 684 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const
+ ?children@QDeclarativeVisualItemModel@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 685 NONAME ; struct QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeVisualItemModel::children(void)
+ ?childrenChanged@QDeclarativeItem@@IAEXXZ @ 686 NONAME ; void QDeclarativeItem::childrenChanged(void)
+ ?childrenChanged@QDeclarativeVisualItemModel@@IAEXXZ @ 687 NONAME ; void QDeclarativeVisualItemModel::childrenChanged(void)
+ ?childrenRect@QDeclarativeItem@@QAE?AVQRectF@@XZ @ 688 NONAME ; class QRectF QDeclarativeItem::childrenRect(void)
+ ?childrenRectChanged@QDeclarativeItem@@IAEXXZ @ 689 NONAME ; void QDeclarativeItem::childrenRectChanged(void)
+ ?chooseFile@QDeclarativeWebPage@@MAE?AVQString@@PAVQWebFrame@@ABV2@@Z @ 690 NONAME ; class QString QDeclarativeWebPage::chooseFile(class QWebFrame *, class QString const &)
+ ?classBegin@QDeclarativeAnchors@@QAEXXZ @ 691 NONAME ; void QDeclarativeAnchors::classBegin(void)
+ ?classBegin@QDeclarativeDateTimeFormatter@@UAEXXZ @ 692 NONAME ; void QDeclarativeDateTimeFormatter::classBegin(void)
+ ?classBegin@QDeclarativeItem@@MAEXXZ @ 693 NONAME ; void QDeclarativeItem::classBegin(void)
+ ?classBegin@QDeclarativeNumberFormatter@@UAEXXZ @ 694 NONAME ; void QDeclarativeNumberFormatter::classBegin(void)
+ ?classBegin@QDeclarativeParserStatus@@UAEXXZ @ 695 NONAME ; void QDeclarativeParserStatus::classBegin(void)
+ ?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 696 NONAME ; void QDeclarativeStateGroup::classBegin(void)
+ ?classBegin@QDeclarativeTimer@@MAEXXZ @ 697 NONAME ; void QDeclarativeTimer::classBegin(void)
+ ?classBegin@QDeclarativeXmlListModel@@UAEXXZ @ 698 NONAME ; void QDeclarativeXmlListModel::classBegin(void)
+ ?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 699 NONAME ; int QMetaObjectBuilder::classInfoCount(void) const
+ ?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 700 NONAME ; class QByteArray QMetaObjectBuilder::classInfoName(int) const
+ ?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 701 NONAME ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const
+ ?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 702 NONAME ; class QString QDeclarativeDebugObjectReference::className(void) const
+ ?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 703 NONAME ; class QByteArray QMetaObjectBuilder::className(void) const
+ ?clear@QDeclarativeListModel@@QAEXXZ @ 704 NONAME ; void QDeclarativeListModel::clear(void)
+ ?clear@QDeclarativeListReference@@QBE_NXZ @ 705 NONAME ; bool QDeclarativeListReference::clear(void) const
+ ?clear@QDeclarativePropertyMap@@QAEXABVQString@@@Z @ 706 NONAME ; void QDeclarativePropertyMap::clear(class QString const &)
+ ?clear@QDeclarativeRepeater@@AAEXXZ @ 707 NONAME ; void QDeclarativeRepeater::clear(void)
+ ?clear@QPacket@@QAEXXZ @ 708 NONAME ; void QPacket::clear(void)
+ ?clear@QPacketProtocol@@QAEXXZ @ 709 NONAME ; void QPacketProtocol::clear(void)
+ ?clear@QPerformanceLog@@YAXXZ @ 710 NONAME ; void QPerformanceLog::clear(void)
+ ?clearCache@QDeclarativePaintedItem@@IAEXXZ @ 711 NONAME ; void QDeclarativePaintedItem::clearCache(void)
+ ?clearComponentCache@QDeclarativeEngine@@QAEXXZ @ 712 NONAME ; void QDeclarativeEngine::clearComponentCache(void)
+ ?clearError@QDeclarativeExpression@@QAEXXZ @ 713 NONAME ; void QDeclarativeExpression::clearError(void)
+ ?clearErrors@QDeclarativeCustomParser@@QAEXXZ @ 714 NONAME ; void QDeclarativeCustomParser::clearErrors(void)
+ ?clearForwardBindings@QDeclarativeAnchorChanges@@UAEXXZ @ 715 NONAME ; void QDeclarativeAnchorChanges::clearForwardBindings(void)
+ ?clearReverseBindings@QDeclarativeAnchorChanges@@UAEXXZ @ 716 NONAME ; void QDeclarativeAnchorChanges::clearReverseBindings(void)
+ ?clicked@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 717 NONAME ; void QDeclarativeMouseArea::clicked(class QDeclarativeMouseEvent *)
+ ?clip@QDeclarativeItem@@QBE_NXZ @ 718 NONAME ; bool QDeclarativeItem::clip(void) const
+ ?clipChanged@QDeclarativeItem@@IAEXXZ @ 719 NONAME ; void QDeclarativeItem::clipChanged(void)
+ ?color@QDeclarativeGradientStop@@QBE?AVQColor@@XZ @ 720 NONAME ; class QColor QDeclarativeGradientStop::color(void) const
+ ?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 721 NONAME ; class QColor QDeclarativePen::color(void) const
+ ?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 722 NONAME ; class QColor QDeclarativeRectangle::color(void) const
+ ?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 723 NONAME ; class QColor QDeclarativeText::color(void) const
+ ?color@QDeclarativeTextEdit@@QBE?AVQColor@@XZ @ 724 NONAME ; class QColor QDeclarativeTextEdit::color(void) const
+ ?color@QDeclarativeTextInput@@QBE?AVQColor@@XZ @ 725 NONAME ; class QColor QDeclarativeTextInput::color(void) const
+ ?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 726 NONAME ; void QDeclarativeRectangle::colorChanged(void)
+ ?colorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 727 NONAME ; void QDeclarativeText::colorChanged(class QColor const &)
+ ?colorChanged@QDeclarativeTextEdit@@IAEXABVQColor@@@Z @ 728 NONAME ; void QDeclarativeTextEdit::colorChanged(class QColor const &)
+ ?colorChanged@QDeclarativeTextInput@@IAEXABVQColor@@@Z @ 729 NONAME ; void QDeclarativeTextInput::colorChanged(class QColor const &)
+ ?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 730 NONAME ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *)
+ ?colorGroup@QDeclarativeSystemPalette@@QBE?AW4ColorGroup@1@XZ @ 731 NONAME ; enum QDeclarativeSystemPalette::ColorGroup QDeclarativeSystemPalette::colorGroup(void) const
+ ?column@QDeclarativeError@@QBEHXZ @ 732 NONAME ; int QDeclarativeError::column(void) const
+ ?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 733 NONAME ; int QDeclarativeDebugFileReference::columnNumber(void) const
+ ?columns@QDeclarativeGrid@@QBEHXZ @ 734 NONAME ; int QDeclarativeGrid::columns(void) const
+ ?columnsChanged@QDeclarativeGrid@@IAEXXZ @ 735 NONAME ; void QDeclarativeGrid::columnsChanged(void)
+ ?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 736 NONAME ; class QList<int> QDeclarativeDomList::commaPositions(void) const
+ ?compile@QDeclarativeCompiler@@QAE_NPAVQDeclarativeEngine@@PAVQDeclarativeCompositeTypeData@@PAVQDeclarativeCompiledData@@@Z @ 737 NONAME ; bool QDeclarativeCompiler::compile(class QDeclarativeEngine *, class QDeclarativeCompositeTypeData *, class QDeclarativeCompiledData *)
+ ?compileAlias@QDeclarativeCompiler@@AAE_NAAVQMetaObjectBuilder@@AAVQByteArray@@PAVObject@QDeclarativeParser@@ABUDynamicProperty@45@@Z @ 738 NONAME ; bool QDeclarativeCompiler::compileAlias(class QMetaObjectBuilder &, class QByteArray &, class QDeclarativeParser::Object *, struct QDeclarativeParser::Object::DynamicProperty const &)
+ ?compileTree@QDeclarativeCompiler@@AAEXPAVObject@QDeclarativeParser@@@Z @ 739 NONAME ; void QDeclarativeCompiler::compileTree(class QDeclarativeParser::Object *)
+ ?completeComponentBuild@QDeclarativeCompiler@@AAE_NXZ @ 740 NONAME ; bool QDeclarativeCompiler::completeComponentBuild(void)
+ ?completeCreate@QDeclarativeComponent@@UAEXXZ @ 741 NONAME ; void QDeclarativeComponent::completeCreate(void)
+ ?completeItem@QDeclarativeVisualDataModel@@UAEXXZ @ 742 NONAME ; void QDeclarativeVisualDataModel::completeItem(void)
+ ?completeItem@QDeclarativeVisualItemModel@@UAEXXZ @ 743 NONAME ; void QDeclarativeVisualItemModel::completeItem(void)
+ ?completed@QDeclarativeState@@IAEXXZ @ 744 NONAME ; void QDeclarativeState::completed(void)
+ ?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 745 NONAME ; void QDeclarativeAnchors::componentComplete(void)
+ ?componentComplete@QDeclarativeAnimatedImage@@MAEXXZ @ 746 NONAME ; void QDeclarativeAnimatedImage::componentComplete(void)
+ ?componentComplete@QDeclarativeBasePositioner@@MAEXXZ @ 747 NONAME ; void QDeclarativeBasePositioner::componentComplete(void)
+ ?componentComplete@QDeclarativeBind@@MAEXXZ @ 748 NONAME ; void QDeclarativeBind::componentComplete(void)
+ ?componentComplete@QDeclarativeConnections@@EAEXXZ @ 749 NONAME ; void QDeclarativeConnections::componentComplete(void)
+ ?componentComplete@QDeclarativeDateTimeFormatter@@UAEXXZ @ 750 NONAME ; void QDeclarativeDateTimeFormatter::componentComplete(void)
+ ?componentComplete@QDeclarativeGridView@@MAEXXZ @ 751 NONAME ; void QDeclarativeGridView::componentComplete(void)
+ ?componentComplete@QDeclarativeImageBase@@MAEXXZ @ 752 NONAME ; void QDeclarativeImageBase::componentComplete(void)
+ ?componentComplete@QDeclarativeItem@@MAEXXZ @ 753 NONAME ; void QDeclarativeItem::componentComplete(void)
+ ?componentComplete@QDeclarativeListView@@MAEXXZ @ 754 NONAME ; void QDeclarativeListView::componentComplete(void)
+ ?componentComplete@QDeclarativeNumberFormatter@@UAEXXZ @ 755 NONAME ; void QDeclarativeNumberFormatter::componentComplete(void)
+ ?componentComplete@QDeclarativeParserStatus@@UAEXXZ @ 756 NONAME ; void QDeclarativeParserStatus::componentComplete(void)
+ ?componentComplete@QDeclarativeParticles@@MAEXXZ @ 757 NONAME ; void QDeclarativeParticles::componentComplete(void)
+ ?componentComplete@QDeclarativePath@@MAEXXZ @ 758 NONAME ; void QDeclarativePath::componentComplete(void)
+ ?componentComplete@QDeclarativePathView@@MAEXXZ @ 759 NONAME ; void QDeclarativePathView::componentComplete(void)
+ ?componentComplete@QDeclarativeRepeater@@MAEXXZ @ 760 NONAME ; void QDeclarativeRepeater::componentComplete(void)
+ ?componentComplete@QDeclarativeStateGroup@@UAEXXZ @ 761 NONAME ; void QDeclarativeStateGroup::componentComplete(void)
+ ?componentComplete@QDeclarativeText@@UAEXXZ @ 762 NONAME ; void QDeclarativeText::componentComplete(void)
+ ?componentComplete@QDeclarativeTextEdit@@UAEXXZ @ 763 NONAME ; void QDeclarativeTextEdit::componentComplete(void)
+ ?componentComplete@QDeclarativeTimer@@MAEXXZ @ 764 NONAME ; void QDeclarativeTimer::componentComplete(void)
+ ?componentComplete@QDeclarativeWebView@@EAEXXZ @ 765 NONAME ; void QDeclarativeWebView::componentComplete(void)
+ ?componentComplete@QDeclarativeXmlListModel@@UAEXXZ @ 766 NONAME ; void QDeclarativeXmlListModel::componentComplete(void)
+ ?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 767 NONAME ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const
+ ?componentState@QDeclarativeCompiler@@AAE?AUComponentCompileState@1@PAVObject@QDeclarativeParser@@@Z @ 768 NONAME ; struct QDeclarativeCompiler::ComponentCompileState QDeclarativeCompiler::componentState(class QDeclarativeParser::Object *)
+ ?componentTypeRef@QDeclarativeCompiler@@AAEHXZ @ 769 NONAME ; int QDeclarativeCompiler::componentTypeRef(void)
+ ?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@H@Z @ 770 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, int) const
+ ?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@PBD@Z @ 771 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, char const *) const
+ ?connectSignals@QDeclarativeConnections@@AAEXXZ @ 772 NONAME ; void QDeclarativeConnections::connectSignals(void)
+ ?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 773 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const
+ ?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 774 NONAME ; int QMetaObjectBuilder::constructorCount(void) const
+ ?contains@QDeclarativePropertyMap@@QBE_NABVQString@@@Z @ 775 NONAME ; bool QDeclarativePropertyMap::contains(class QString const &) const
+ ?contentHeight@QDeclarativeFlickable@@QBEMXZ @ 776 NONAME ; float QDeclarativeFlickable::contentHeight(void) const
+ ?contentHeightChanged@QDeclarativeFlickable@@IAEXXZ @ 777 NONAME ; void QDeclarativeFlickable::contentHeightChanged(void)
+ ?contentWidth@QDeclarativeFlickable@@QBEMXZ @ 778 NONAME ; float QDeclarativeFlickable::contentWidth(void) const
+ ?contentWidthChanged@QDeclarativeFlickable@@IAEXXZ @ 779 NONAME ; void QDeclarativeFlickable::contentWidthChanged(void)
+ ?contentX@QDeclarativeFlickable@@QBEMXZ @ 780 NONAME ; float QDeclarativeFlickable::contentX(void) const
+ ?contentXChanged@QDeclarativeFlickable@@IAEXXZ @ 781 NONAME ; void QDeclarativeFlickable::contentXChanged(void)
+ ?contentY@QDeclarativeFlickable@@QBEMXZ @ 782 NONAME ; float QDeclarativeFlickable::contentY(void) const
+ ?contentYChanged@QDeclarativeFlickable@@IAEXXZ @ 783 NONAME ; void QDeclarativeFlickable::contentYChanged(void)
+ ?contentsScale@QDeclarativePaintedItem@@QBEMXZ @ 784 NONAME ; float QDeclarativePaintedItem::contentsScale(void) const
+ ?contentsScaleChanged@QDeclarativePaintedItem@@IAEXXZ @ 785 NONAME ; void QDeclarativePaintedItem::contentsScaleChanged(void)
+ ?contentsSize@QDeclarativePaintedItem@@QBE?AVQSize@@XZ @ 786 NONAME ; class QSize QDeclarativePaintedItem::contentsSize(void) const
+ ?contentsSizeChanged@QDeclarativePaintedItem@@IAEXXZ @ 787 NONAME ; void QDeclarativePaintedItem::contentsSizeChanged(void)
+ ?context@QDeclarativeExpression@@QBEPAVQDeclarativeContext@@XZ @ 788 NONAME ; class QDeclarativeContext * QDeclarativeExpression::context(void) const
+ ?context@QDeclarativeScriptString@@QBEPAVQDeclarativeContext@@XZ @ 789 NONAME ; class QDeclarativeContext * QDeclarativeScriptString::context(void) const
+ ?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 790 NONAME ; int QDeclarativeDebugObjectReference::contextDebugId(void) const
+ ?contextForObject@QDeclarativeEngine@@SAPAVQDeclarativeContext@@PBVQObject@@@Z @ 791 NONAME ; class QDeclarativeContext * QDeclarativeEngine::contextForObject(class QObject const *)
+ ?contextProperty@QDeclarativeContext@@QBE?AVQVariant@@ABVQString@@@Z @ 792 NONAME ; class QVariant QDeclarativeContext::contextProperty(class QString const &) const
+ ?context_at@QDeclarativeContextPrivate@@SAPAVQObject@@PAU?$QDeclarativeListProperty@VQObject@@@@H@Z @ 793 NONAME ; class QObject * QDeclarativeContextPrivate::context_at(struct QDeclarativeListProperty<class QObject> *, int)
+ ?context_count@QDeclarativeContextPrivate@@SAHPAU?$QDeclarativeListProperty@VQObject@@@@@Z @ 794 NONAME ; int QDeclarativeContextPrivate::context_count(struct QDeclarativeListProperty<class QObject> *)
+ ?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 795 NONAME ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const
+ ?continueExecute@QDeclarativeView@@AAEXXZ @ 796 NONAME ; void QDeclarativeView::continueExecute(void)
+ ?control1X@QDeclarativePathCubic@@QBEMXZ @ 797 NONAME ; float QDeclarativePathCubic::control1X(void) const
+ ?control1Y@QDeclarativePathCubic@@QBEMXZ @ 798 NONAME ; float QDeclarativePathCubic::control1Y(void) const
+ ?control2X@QDeclarativePathCubic@@QBEMXZ @ 799 NONAME ; float QDeclarativePathCubic::control2X(void) const
+ ?control2Y@QDeclarativePathCubic@@QBEMXZ @ 800 NONAME ; float QDeclarativePathCubic::control2Y(void) const
+ ?controlX@QDeclarativePathQuad@@QBEMXZ @ 801 NONAME ; float QDeclarativePathQuad::controlX(void) const
+ ?controlY@QDeclarativePathQuad@@QBEMXZ @ 802 NONAME ; float QDeclarativePathQuad::controlY(void) const
+ ?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 803 NONAME ; bool QDeclarativeMetaType::copy(int, void *, void const *)
+ ?count@QDeclarativeGridView@@QBEHXZ @ 804 NONAME ; int QDeclarativeGridView::count(void) const
+ ?count@QDeclarativeListAccessor@@QBEHXZ @ 805 NONAME ; int QDeclarativeListAccessor::count(void) const
+ ?count@QDeclarativeListModel@@UBEHXZ @ 806 NONAME ; int QDeclarativeListModel::count(void) const
+ ?count@QDeclarativeListReference@@QBEHXZ @ 807 NONAME ; int QDeclarativeListReference::count(void) const
+ ?count@QDeclarativeListView@@QBEHXZ @ 808 NONAME ; int QDeclarativeListView::count(void) const
+ ?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 809 NONAME ; int QDeclarativeOpenMetaObject::count(void) const
+ ?count@QDeclarativeParticles@@QBEHXZ @ 810 NONAME ; int QDeclarativeParticles::count(void) const
+ ?count@QDeclarativePathView@@QBEHXZ @ 811 NONAME ; int QDeclarativePathView::count(void) const
+ ?count@QDeclarativePropertyMap@@QBEHXZ @ 812 NONAME ; int QDeclarativePropertyMap::count(void) const
+ ?count@QDeclarativeRepeater@@QBEHXZ @ 813 NONAME ; int QDeclarativeRepeater::count(void) const
+ ?count@QDeclarativeVisualDataModel@@UBEHXZ @ 814 NONAME ; int QDeclarativeVisualDataModel::count(void) const
+ ?count@QDeclarativeVisualItemModel@@UBEHXZ @ 815 NONAME ; int QDeclarativeVisualItemModel::count(void) const
+ ?count@QDeclarativeXmlListModel@@UBEHXZ @ 816 NONAME ; int QDeclarativeXmlListModel::count(void) const
+ ?countChanged@QDeclarativeGridView@@IAEXXZ @ 817 NONAME ; void QDeclarativeGridView::countChanged(void)
+ ?countChanged@QDeclarativeListModel@@IAEXH@Z @ 818 NONAME ; void QDeclarativeListModel::countChanged(int)
+ ?countChanged@QDeclarativeListView@@IAEXXZ @ 819 NONAME ; void QDeclarativeListView::countChanged(void)
+ ?countChanged@QDeclarativeParticles@@IAEXXZ @ 820 NONAME ; void QDeclarativeParticles::countChanged(void)
+ ?countChanged@QDeclarativeRepeater@@IAEXXZ @ 821 NONAME ; void QDeclarativeRepeater::countChanged(void)
+ ?countChanged@QDeclarativeVisualModel@@IAEXXZ @ 822 NONAME ; void QDeclarativeVisualModel::countChanged(void)
+ ?countChanged@QDeclarativeXmlListModel@@IAEXXZ @ 823 NONAME ; void QDeclarativeXmlListModel::countChanged(void)
+ ?create@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 824 NONAME ; class QObject * QDeclarativeComponent::create(class QDeclarativeContext *)
+ ?create@QDeclarativeType@@QBEPAVQObject@@XZ @ 825 NONAME ; class QObject * QDeclarativeType::create(void) const
+ ?createCursor@QDeclarativeTextInput@@AAEXXZ @ 826 NONAME ; void QDeclarativeTextInput::createCursor(void)
+ ?createObject@QDeclarativeComponent@@QAE?AVQScriptValue@@XZ @ 827 NONAME ; class QScriptValue QDeclarativeComponent::createObject(void)
+ ?createPlugin@QDeclarativeWebPage@@MAEPAVQObject@@ABVQString@@ABVQUrl@@ABVQStringList@@2@Z @ 828 NONAME ; class QObject * QDeclarativeWebPage::createPlugin(class QString const &, class QUrl const &, class QStringList const &, class QStringList const &)
+ ?createPointCache@QDeclarativePath@@ABEXXZ @ 829 NONAME ; void QDeclarativePath::createPointCache(void) const
+ ?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 830 NONAME ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *)
+ ?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 831 NONAME ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &)
+ ?createWindow@QDeclarativeWebPage@@MAEPAVQWebPage@@W4WebWindowType@2@@Z @ 832 NONAME ; class QWebPage * QDeclarativeWebPage::createWindow(enum QWebPage::WebWindowType)
+ ?createWindow@QDeclarativeWebView@@IAEPAV1@W4WebWindowType@QWebPage@@@Z @ 833 NONAME ; class QDeclarativeWebView * QDeclarativeWebView::createWindow(enum QWebPage::WebWindowType)
+ ?created@QDeclarativeParticleMotion@@UAEXAAVQDeclarativeParticle@@@Z @ 834 NONAME ; void QDeclarativeParticleMotion::created(class QDeclarativeParticle &)
+ ?created@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@@Z @ 835 NONAME ; void QDeclarativeParticleMotionWander::created(class QDeclarativeParticle &)
+ ?createdItem@QDeclarativeGridView@@AAEXHPAVQDeclarativeItem@@@Z @ 836 NONAME ; void QDeclarativeGridView::createdItem(int, class QDeclarativeItem *)
+ ?createdItem@QDeclarativeListView@@AAEXHPAVQDeclarativeItem@@@Z @ 837 NONAME ; void QDeclarativeListView::createdItem(int, class QDeclarativeItem *)
+ ?createdItem@QDeclarativePathView@@AAEXHPAVQDeclarativeItem@@@Z @ 838 NONAME ; void QDeclarativePathView::createdItem(int, class QDeclarativeItem *)
+ ?createdItem@QDeclarativeVisualModel@@IAEXHPAVQDeclarativeItem@@@Z @ 839 NONAME ; void QDeclarativeVisualModel::createdItem(int, class QDeclarativeItem *)
+ ?createdPackage@QDeclarativeVisualDataModel@@IAEXHPAVQDeclarativePackage@@@Z @ 840 NONAME ; void QDeclarativeVisualDataModel::createdPackage(int, class QDeclarativePackage *)
+ ?creationContext@QDeclarativeComponent@@QBEPAVQDeclarativeContext@@XZ @ 841 NONAME ; class QDeclarativeContext * QDeclarativeComponent::creationContext(void) const
+ ?criteria@QDeclarativeViewSection@@QBE?AW4SectionCriteria@1@XZ @ 842 NONAME ; enum QDeclarativeViewSection::SectionCriteria QDeclarativeViewSection::criteria(void) const
+ ?currentFrame@QDeclarativeAnimatedImage@@QBEHXZ @ 843 NONAME ; int QDeclarativeAnimatedImage::currentFrame(void) const
+ ?currentIndex@QDeclarativeGridView@@QBEHXZ @ 844 NONAME ; int QDeclarativeGridView::currentIndex(void) const
+ ?currentIndex@QDeclarativeListView@@QBEHXZ @ 845 NONAME ; int QDeclarativeListView::currentIndex(void) const
+ ?currentIndex@QDeclarativePathView@@QBEHXZ @ 846 NONAME ; int QDeclarativePathView::currentIndex(void) const
+ ?currentIndexChanged@QDeclarativeGridView@@IAEXXZ @ 847 NONAME ; void QDeclarativeGridView::currentIndexChanged(void)
+ ?currentIndexChanged@QDeclarativeListView@@IAEXXZ @ 848 NONAME ; void QDeclarativeListView::currentIndexChanged(void)
+ ?currentIndexChanged@QDeclarativePathView@@IAEXXZ @ 849 NONAME ; void QDeclarativePathView::currentIndexChanged(void)
+ ?currentItem@QDeclarativeGridView@@QAEPAVQDeclarativeItem@@XZ @ 850 NONAME ; class QDeclarativeItem * QDeclarativeGridView::currentItem(void)
+ ?currentItem@QDeclarativeListView@@QAEPAVQDeclarativeItem@@XZ @ 851 NONAME ; class QDeclarativeItem * QDeclarativeListView::currentItem(void)
+ ?currentSection@QDeclarativeListView@@QBE?AVQString@@XZ @ 852 NONAME ; class QString QDeclarativeListView::currentSection(void) const
+ ?currentSectionChanged@QDeclarativeListView@@IAEXXZ @ 853 NONAME ; void QDeclarativeListView::currentSectionChanged(void)
+ ?cursorDelegate@QDeclarativeTextEdit@@QBEPAVQDeclarativeComponent@@XZ @ 854 NONAME ; class QDeclarativeComponent * QDeclarativeTextEdit::cursorDelegate(void) const
+ ?cursorDelegate@QDeclarativeTextInput@@QBEPAVQDeclarativeComponent@@XZ @ 855 NONAME ; class QDeclarativeComponent * QDeclarativeTextInput::cursorDelegate(void) const
+ ?cursorDelegateChanged@QDeclarativeTextEdit@@IAEXXZ @ 856 NONAME ; void QDeclarativeTextEdit::cursorDelegateChanged(void)
+ ?cursorDelegateChanged@QDeclarativeTextInput@@IAEXXZ @ 857 NONAME ; void QDeclarativeTextInput::cursorDelegateChanged(void)
+ ?cursorPosChanged@QDeclarativeTextInput@@AAEXXZ @ 858 NONAME ; void QDeclarativeTextInput::cursorPosChanged(void)
+ ?cursorPosition@QDeclarativeTextEdit@@QBEHXZ @ 859 NONAME ; int QDeclarativeTextEdit::cursorPosition(void) const
+ ?cursorPosition@QDeclarativeTextInput@@QBEHXZ @ 860 NONAME ; int QDeclarativeTextInput::cursorPosition(void) const
+ ?cursorPositionChanged@QDeclarativeTextEdit@@IAEXXZ @ 861 NONAME ; void QDeclarativeTextEdit::cursorPositionChanged(void)
+ ?cursorPositionChanged@QDeclarativeTextInput@@IAEXXZ @ 862 NONAME ; void QDeclarativeTextInput::cursorPositionChanged(void)
+ ?cursorRect@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 863 NONAME ; class QRect QDeclarativeTextEdit::cursorRect(void) const
+ ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ; class QRect QDeclarativeTextInput::cursorRect(void) const
+ ?cursorVisibleChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 865 NONAME ; void QDeclarativeTextEdit::cursorVisibleChanged(bool)
+ ?cursorVisibleChanged@QDeclarativeTextInput@@IAEX_N@Z @ 866 NONAME ; void QDeclarativeTextInput::cursorVisibleChanged(bool)
+ ?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 867 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
+ ?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 868 NONAME ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int)
+ ?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 869 NONAME ; class QByteArray QDeclarativeDomObject::customTypeData(void) const
+ ?d_func@QDeclarativeAnchorChanges@@AAEPAVQDeclarativeAnchorChangesPrivate@@XZ @ 870 NONAME ; class QDeclarativeAnchorChangesPrivate * QDeclarativeAnchorChanges::d_func(void)
+ ?d_func@QDeclarativeAnchorChanges@@ABEPBVQDeclarativeAnchorChangesPrivate@@XZ @ 871 NONAME ; class QDeclarativeAnchorChangesPrivate const * QDeclarativeAnchorChanges::d_func(void) const
+ ?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 872 NONAME ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void)
+ ?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 873 NONAME ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const
+ ?d_func@QDeclarativeAnimatedImage@@AAEPAVQDeclarativeAnimatedImagePrivate@@XZ @ 874 NONAME ; class QDeclarativeAnimatedImagePrivate * QDeclarativeAnimatedImage::d_func(void)
+ ?d_func@QDeclarativeAnimatedImage@@ABEPBVQDeclarativeAnimatedImagePrivate@@XZ @ 875 NONAME ; class QDeclarativeAnimatedImagePrivate const * QDeclarativeAnimatedImage::d_func(void) const
+ ?d_func@QDeclarativeBasePositioner@@AAEPAVQDeclarativeBasePositionerPrivate@@XZ @ 876 NONAME ; class QDeclarativeBasePositionerPrivate * QDeclarativeBasePositioner::d_func(void)
+ ?d_func@QDeclarativeBasePositioner@@ABEPBVQDeclarativeBasePositionerPrivate@@XZ @ 877 NONAME ; class QDeclarativeBasePositionerPrivate const * QDeclarativeBasePositioner::d_func(void) const
+ ?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 878 NONAME ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void)
+ ?d_func@QDeclarativeBehavior@@ABEPBVQDeclarativeBehaviorPrivate@@XZ @ 879 NONAME ; class QDeclarativeBehaviorPrivate const * QDeclarativeBehavior::d_func(void) const
+ ?d_func@QDeclarativeBind@@AAEPAVQDeclarativeBindPrivate@@XZ @ 880 NONAME ; class QDeclarativeBindPrivate * QDeclarativeBind::d_func(void)
+ ?d_func@QDeclarativeBind@@ABEPBVQDeclarativeBindPrivate@@XZ @ 881 NONAME ; class QDeclarativeBindPrivate const * QDeclarativeBind::d_func(void) const
+ ?d_func@QDeclarativeBorderImage@@AAEPAVQDeclarativeBorderImagePrivate@@XZ @ 882 NONAME ; class QDeclarativeBorderImagePrivate * QDeclarativeBorderImage::d_func(void)
+ ?d_func@QDeclarativeBorderImage@@ABEPBVQDeclarativeBorderImagePrivate@@XZ @ 883 NONAME ; class QDeclarativeBorderImagePrivate const * QDeclarativeBorderImage::d_func(void) const
+ ?d_func@QDeclarativeComponent@@AAEPAVQDeclarativeComponentPrivate@@XZ @ 884 NONAME ; class QDeclarativeComponentPrivate * QDeclarativeComponent::d_func(void)
+ ?d_func@QDeclarativeComponent@@ABEPBVQDeclarativeComponentPrivate@@XZ @ 885 NONAME ; class QDeclarativeComponentPrivate const * QDeclarativeComponent::d_func(void) const
+ ?d_func@QDeclarativeConnections@@AAEPAVQDeclarativeConnectionsPrivate@@XZ @ 886 NONAME ; class QDeclarativeConnectionsPrivate * QDeclarativeConnections::d_func(void)
+ ?d_func@QDeclarativeConnections@@ABEPBVQDeclarativeConnectionsPrivate@@XZ @ 887 NONAME ; class QDeclarativeConnectionsPrivate const * QDeclarativeConnections::d_func(void) const
+ ?d_func@QDeclarativeContext@@AAEPAVQDeclarativeContextPrivate@@XZ @ 888 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContext::d_func(void)
+ ?d_func@QDeclarativeContext@@ABEPBVQDeclarativeContextPrivate@@XZ @ 889 NONAME ; class QDeclarativeContextPrivate const * QDeclarativeContext::d_func(void) const
+ ?d_func@QDeclarativeDateTimeFormatter@@AAEPAVQDeclarativeDateTimeFormatterPrivate@@XZ @ 890 NONAME ; class QDeclarativeDateTimeFormatterPrivate * QDeclarativeDateTimeFormatter::d_func(void)
+ ?d_func@QDeclarativeDateTimeFormatter@@ABEPBVQDeclarativeDateTimeFormatterPrivate@@XZ @ 891 NONAME ; class QDeclarativeDateTimeFormatterPrivate const * QDeclarativeDateTimeFormatter::d_func(void) const
+ ?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 892 NONAME ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void)
+ ?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 893 NONAME ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const
+ ?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 894 NONAME ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void)
+ ?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 895 NONAME ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const
+ ?d_func@QDeclarativeEaseFollow@@AAEPAVQDeclarativeEaseFollowPrivate@@XZ @ 896 NONAME ; class QDeclarativeEaseFollowPrivate * QDeclarativeEaseFollow::d_func(void)
+ ?d_func@QDeclarativeEaseFollow@@ABEPBVQDeclarativeEaseFollowPrivate@@XZ @ 897 NONAME ; class QDeclarativeEaseFollowPrivate const * QDeclarativeEaseFollow::d_func(void) const
+ ?d_func@QDeclarativeEngine@@AAEPAVQDeclarativeEnginePrivate@@XZ @ 898 NONAME ; class QDeclarativeEnginePrivate * QDeclarativeEngine::d_func(void)
+ ?d_func@QDeclarativeEngine@@ABEPBVQDeclarativeEnginePrivate@@XZ @ 899 NONAME ; class QDeclarativeEnginePrivate const * QDeclarativeEngine::d_func(void) const
+ ?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 900 NONAME ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void)
+ ?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 901 NONAME ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const
+ ?d_func@QDeclarativeExpression@@AAEPAVQDeclarativeExpressionPrivate@@XZ @ 902 NONAME ; class QDeclarativeExpressionPrivate * QDeclarativeExpression::d_func(void)
+ ?d_func@QDeclarativeExpression@@ABEPBVQDeclarativeExpressionPrivate@@XZ @ 903 NONAME ; class QDeclarativeExpressionPrivate const * QDeclarativeExpression::d_func(void) const
+ ?d_func@QDeclarativeFlickable@@AAEPAVQDeclarativeFlickablePrivate@@XZ @ 904 NONAME ; class QDeclarativeFlickablePrivate * QDeclarativeFlickable::d_func(void)
+ ?d_func@QDeclarativeFlickable@@ABEPBVQDeclarativeFlickablePrivate@@XZ @ 905 NONAME ; class QDeclarativeFlickablePrivate const * QDeclarativeFlickable::d_func(void) const
+ ?d_func@QDeclarativeFlipable@@AAEPAVQDeclarativeFlipablePrivate@@XZ @ 906 NONAME ; class QDeclarativeFlipablePrivate * QDeclarativeFlipable::d_func(void)
+ ?d_func@QDeclarativeFlipable@@ABEPBVQDeclarativeFlipablePrivate@@XZ @ 907 NONAME ; class QDeclarativeFlipablePrivate const * QDeclarativeFlipable::d_func(void) const
+ ?d_func@QDeclarativeFlow@@AAEPAVQDeclarativeFlowPrivate@@XZ @ 908 NONAME ; class QDeclarativeFlowPrivate * QDeclarativeFlow::d_func(void)
+ ?d_func@QDeclarativeFlow@@ABEPBVQDeclarativeFlowPrivate@@XZ @ 909 NONAME ; class QDeclarativeFlowPrivate const * QDeclarativeFlow::d_func(void) const
+ ?d_func@QDeclarativeFontLoader@@AAEPAVQDeclarativeFontLoaderPrivate@@XZ @ 910 NONAME ; class QDeclarativeFontLoaderPrivate * QDeclarativeFontLoader::d_func(void)
+ ?d_func@QDeclarativeFontLoader@@ABEPBVQDeclarativeFontLoaderPrivate@@XZ @ 911 NONAME ; class QDeclarativeFontLoaderPrivate const * QDeclarativeFontLoader::d_func(void) const
+ ?d_func@QDeclarativeGraphicsObjectContainer@@AAEPAVQDeclarativeGraphicsObjectContainerPrivate@@XZ @ 912 NONAME ; class QDeclarativeGraphicsObjectContainerPrivate * QDeclarativeGraphicsObjectContainer::d_func(void)
+ ?d_func@QDeclarativeGraphicsObjectContainer@@ABEPBVQDeclarativeGraphicsObjectContainerPrivate@@XZ @ 913 NONAME ; class QDeclarativeGraphicsObjectContainerPrivate const * QDeclarativeGraphicsObjectContainer::d_func(void) const
+ ?d_func@QDeclarativeGridView@@AAEPAVQDeclarativeGridViewPrivate@@XZ @ 914 NONAME ; class QDeclarativeGridViewPrivate * QDeclarativeGridView::d_func(void)
+ ?d_func@QDeclarativeGridView@@ABEPBVQDeclarativeGridViewPrivate@@XZ @ 915 NONAME ; class QDeclarativeGridViewPrivate const * QDeclarativeGridView::d_func(void) const
+ ?d_func@QDeclarativeImage@@AAEPAVQDeclarativeImagePrivate@@XZ @ 916 NONAME ; class QDeclarativeImagePrivate * QDeclarativeImage::d_func(void)
+ ?d_func@QDeclarativeImage@@ABEPBVQDeclarativeImagePrivate@@XZ @ 917 NONAME ; class QDeclarativeImagePrivate const * QDeclarativeImage::d_func(void) const
+ ?d_func@QDeclarativeImageBase@@AAEPAVQDeclarativeImageBasePrivate@@XZ @ 918 NONAME ; class QDeclarativeImageBasePrivate * QDeclarativeImageBase::d_func(void)
+ ?d_func@QDeclarativeImageBase@@ABEPBVQDeclarativeImageBasePrivate@@XZ @ 919 NONAME ; class QDeclarativeImageBasePrivate const * QDeclarativeImageBase::d_func(void) const
+ ?d_func@QDeclarativeItem@@AAEPAVQDeclarativeItemPrivate@@XZ @ 920 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItem::d_func(void)
+ ?d_func@QDeclarativeItem@@ABEPBVQDeclarativeItemPrivate@@XZ @ 921 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeItem::d_func(void) const
+ ?d_func@QDeclarativeListView@@AAEPAVQDeclarativeListViewPrivate@@XZ @ 922 NONAME ; class QDeclarativeListViewPrivate * QDeclarativeListView::d_func(void)
+ ?d_func@QDeclarativeListView@@ABEPBVQDeclarativeListViewPrivate@@XZ @ 923 NONAME ; class QDeclarativeListViewPrivate const * QDeclarativeListView::d_func(void) const
+ ?d_func@QDeclarativeLoader@@AAEPAVQDeclarativeLoaderPrivate@@XZ @ 924 NONAME ; class QDeclarativeLoaderPrivate * QDeclarativeLoader::d_func(void)
+ ?d_func@QDeclarativeLoader@@ABEPBVQDeclarativeLoaderPrivate@@XZ @ 925 NONAME ; class QDeclarativeLoaderPrivate const * QDeclarativeLoader::d_func(void) const
+ ?d_func@QDeclarativeMouseArea@@AAEPAVQDeclarativeMouseAreaPrivate@@XZ @ 926 NONAME ; class QDeclarativeMouseAreaPrivate * QDeclarativeMouseArea::d_func(void)
+ ?d_func@QDeclarativeMouseArea@@ABEPBVQDeclarativeMouseAreaPrivate@@XZ @ 927 NONAME ; class QDeclarativeMouseAreaPrivate const * QDeclarativeMouseArea::d_func(void) const
+ ?d_func@QDeclarativeNumberFormatter@@AAEPAVQDeclarativeNumberFormatterPrivate@@XZ @ 928 NONAME ; class QDeclarativeNumberFormatterPrivate * QDeclarativeNumberFormatter::d_func(void)
+ ?d_func@QDeclarativeNumberFormatter@@ABEPBVQDeclarativeNumberFormatterPrivate@@XZ @ 929 NONAME ; class QDeclarativeNumberFormatterPrivate const * QDeclarativeNumberFormatter::d_func(void) const
+ ?d_func@QDeclarativePaintedItem@@AAEPAVQDeclarativePaintedItemPrivate@@XZ @ 930 NONAME ; class QDeclarativePaintedItemPrivate * QDeclarativePaintedItem::d_func(void)
+ ?d_func@QDeclarativePaintedItem@@ABEPBVQDeclarativePaintedItemPrivate@@XZ @ 931 NONAME ; class QDeclarativePaintedItemPrivate const * QDeclarativePaintedItem::d_func(void) const
+ ?d_func@QDeclarativeParentChange@@AAEPAVQDeclarativeParentChangePrivate@@XZ @ 932 NONAME ; class QDeclarativeParentChangePrivate * QDeclarativeParentChange::d_func(void)
+ ?d_func@QDeclarativeParentChange@@ABEPBVQDeclarativeParentChangePrivate@@XZ @ 933 NONAME ; class QDeclarativeParentChangePrivate const * QDeclarativeParentChange::d_func(void) const
+ ?d_func@QDeclarativeParticles@@AAEPAVQDeclarativeParticlesPrivate@@XZ @ 934 NONAME ; class QDeclarativeParticlesPrivate * QDeclarativeParticles::d_func(void)
+ ?d_func@QDeclarativeParticles@@ABEPBVQDeclarativeParticlesPrivate@@XZ @ 935 NONAME ; class QDeclarativeParticlesPrivate const * QDeclarativeParticles::d_func(void) const
+ ?d_func@QDeclarativePath@@AAEPAVQDeclarativePathPrivate@@XZ @ 936 NONAME ; class QDeclarativePathPrivate * QDeclarativePath::d_func(void)
+ ?d_func@QDeclarativePath@@ABEPBVQDeclarativePathPrivate@@XZ @ 937 NONAME ; class QDeclarativePathPrivate const * QDeclarativePath::d_func(void) const
+ ?d_func@QDeclarativePathView@@AAEPAVQDeclarativePathViewPrivate@@XZ @ 938 NONAME ; class QDeclarativePathViewPrivate * QDeclarativePathView::d_func(void)
+ ?d_func@QDeclarativePathView@@ABEPBVQDeclarativePathViewPrivate@@XZ @ 939 NONAME ; class QDeclarativePathViewPrivate const * QDeclarativePathView::d_func(void) const
+ ?d_func@QDeclarativePixmapReply@@AAEPAVQDeclarativePixmapReplyPrivate@@XZ @ 940 NONAME ; class QDeclarativePixmapReplyPrivate * QDeclarativePixmapReply::d_func(void)
+ ?d_func@QDeclarativePixmapReply@@ABEPBVQDeclarativePixmapReplyPrivate@@XZ @ 941 NONAME ; class QDeclarativePixmapReplyPrivate const * QDeclarativePixmapReply::d_func(void) const
+ ?d_func@QDeclarativePropertyChanges@@AAEPAVQDeclarativePropertyChangesPrivate@@XZ @ 942 NONAME ; class QDeclarativePropertyChangesPrivate * QDeclarativePropertyChanges::d_func(void)
+ ?d_func@QDeclarativePropertyChanges@@ABEPBVQDeclarativePropertyChangesPrivate@@XZ @ 943 NONAME ; class QDeclarativePropertyChangesPrivate const * QDeclarativePropertyChanges::d_func(void) const
+ ?d_func@QDeclarativePropertyMap@@AAEPAVQDeclarativePropertyMapPrivate@@XZ @ 944 NONAME ; class QDeclarativePropertyMapPrivate * QDeclarativePropertyMap::d_func(void)
+ ?d_func@QDeclarativePropertyMap@@ABEPBVQDeclarativePropertyMapPrivate@@XZ @ 945 NONAME ; class QDeclarativePropertyMapPrivate const * QDeclarativePropertyMap::d_func(void) const
+ ?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 946 NONAME ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void)
+ ?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 947 NONAME ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const
+ ?d_func@QDeclarativeRepeater@@AAEPAVQDeclarativeRepeaterPrivate@@XZ @ 948 NONAME ; class QDeclarativeRepeaterPrivate * QDeclarativeRepeater::d_func(void)
+ ?d_func@QDeclarativeRepeater@@ABEPBVQDeclarativeRepeaterPrivate@@XZ @ 949 NONAME ; class QDeclarativeRepeaterPrivate const * QDeclarativeRepeater::d_func(void) const
+ ?d_func@QDeclarativeSpringFollow@@AAEPAVQDeclarativeSpringFollowPrivate@@XZ @ 950 NONAME ; class QDeclarativeSpringFollowPrivate * QDeclarativeSpringFollow::d_func(void)
+ ?d_func@QDeclarativeSpringFollow@@ABEPBVQDeclarativeSpringFollowPrivate@@XZ @ 951 NONAME ; class QDeclarativeSpringFollowPrivate const * QDeclarativeSpringFollow::d_func(void) const
+ ?d_func@QDeclarativeState@@AAEPAVQDeclarativeStatePrivate@@XZ @ 952 NONAME ; class QDeclarativeStatePrivate * QDeclarativeState::d_func(void)
+ ?d_func@QDeclarativeState@@ABEPBVQDeclarativeStatePrivate@@XZ @ 953 NONAME ; class QDeclarativeStatePrivate const * QDeclarativeState::d_func(void) const
+ ?d_func@QDeclarativeStateChangeScript@@AAEPAVQDeclarativeStateChangeScriptPrivate@@XZ @ 954 NONAME ; class QDeclarativeStateChangeScriptPrivate * QDeclarativeStateChangeScript::d_func(void)
+ ?d_func@QDeclarativeStateChangeScript@@ABEPBVQDeclarativeStateChangeScriptPrivate@@XZ @ 955 NONAME ; class QDeclarativeStateChangeScriptPrivate const * QDeclarativeStateChangeScript::d_func(void) const
+ ?d_func@QDeclarativeStateGroup@@AAEPAVQDeclarativeStateGroupPrivate@@XZ @ 956 NONAME ; class QDeclarativeStateGroupPrivate * QDeclarativeStateGroup::d_func(void)
+ ?d_func@QDeclarativeStateGroup@@ABEPBVQDeclarativeStateGroupPrivate@@XZ @ 957 NONAME ; class QDeclarativeStateGroupPrivate const * QDeclarativeStateGroup::d_func(void) const
+ ?d_func@QDeclarativeSystemPalette@@AAEPAVQDeclarativeSystemPalettePrivate@@XZ @ 958 NONAME ; class QDeclarativeSystemPalettePrivate * QDeclarativeSystemPalette::d_func(void)
+ ?d_func@QDeclarativeSystemPalette@@ABEPBVQDeclarativeSystemPalettePrivate@@XZ @ 959 NONAME ; class QDeclarativeSystemPalettePrivate const * QDeclarativeSystemPalette::d_func(void) const
+ ?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 960 NONAME ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void)
+ ?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 961 NONAME ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const
+ ?d_func@QDeclarativeTextEdit@@AAEPAVQDeclarativeTextEditPrivate@@XZ @ 962 NONAME ; class QDeclarativeTextEditPrivate * QDeclarativeTextEdit::d_func(void)
+ ?d_func@QDeclarativeTextEdit@@ABEPBVQDeclarativeTextEditPrivate@@XZ @ 963 NONAME ; class QDeclarativeTextEditPrivate const * QDeclarativeTextEdit::d_func(void) const
+ ?d_func@QDeclarativeTextInput@@AAEPAVQDeclarativeTextInputPrivate@@XZ @ 964 NONAME ; class QDeclarativeTextInputPrivate * QDeclarativeTextInput::d_func(void)
+ ?d_func@QDeclarativeTextInput@@ABEPBVQDeclarativeTextInputPrivate@@XZ @ 965 NONAME ; class QDeclarativeTextInputPrivate const * QDeclarativeTextInput::d_func(void) const
+ ?d_func@QDeclarativeTimer@@AAEPAVQDeclarativeTimerPrivate@@XZ @ 966 NONAME ; class QDeclarativeTimerPrivate * QDeclarativeTimer::d_func(void)
+ ?d_func@QDeclarativeTimer@@ABEPBVQDeclarativeTimerPrivate@@XZ @ 967 NONAME ; class QDeclarativeTimerPrivate const * QDeclarativeTimer::d_func(void) const
+ ?d_func@QDeclarativeTransition@@AAEPAVQDeclarativeTransitionPrivate@@XZ @ 968 NONAME ; class QDeclarativeTransitionPrivate * QDeclarativeTransition::d_func(void)
+ ?d_func@QDeclarativeTransition@@ABEPBVQDeclarativeTransitionPrivate@@XZ @ 969 NONAME ; class QDeclarativeTransitionPrivate const * QDeclarativeTransition::d_func(void) const
+ ?d_func@QDeclarativeVisualDataModel@@AAEPAVQDeclarativeVisualDataModelPrivate@@XZ @ 970 NONAME ; class QDeclarativeVisualDataModelPrivate * QDeclarativeVisualDataModel::d_func(void)
+ ?d_func@QDeclarativeVisualDataModel@@ABEPBVQDeclarativeVisualDataModelPrivate@@XZ @ 971 NONAME ; class QDeclarativeVisualDataModelPrivate const * QDeclarativeVisualDataModel::d_func(void) const
+ ?d_func@QDeclarativeVisualItemModel@@AAEPAVQDeclarativeVisualItemModelPrivate@@XZ @ 972 NONAME ; class QDeclarativeVisualItemModelPrivate * QDeclarativeVisualItemModel::d_func(void)
+ ?d_func@QDeclarativeVisualItemModel@@ABEPBVQDeclarativeVisualItemModelPrivate@@XZ @ 973 NONAME ; class QDeclarativeVisualItemModelPrivate const * QDeclarativeVisualItemModel::d_func(void) const
+ ?d_func@QDeclarativeWebView@@AAEPAVQDeclarativeWebViewPrivate@@XZ @ 974 NONAME ; class QDeclarativeWebViewPrivate * QDeclarativeWebView::d_func(void)
+ ?d_func@QDeclarativeWebView@@ABEPBVQDeclarativeWebViewPrivate@@XZ @ 975 NONAME ; class QDeclarativeWebViewPrivate const * QDeclarativeWebView::d_func(void) const
+ ?d_func@QDeclarativeXmlListModel@@AAEPAVQDeclarativeXmlListModelPrivate@@XZ @ 976 NONAME ; class QDeclarativeXmlListModelPrivate * QDeclarativeXmlListModel::d_func(void)
+ ?d_func@QDeclarativeXmlListModel@@ABEPBVQDeclarativeXmlListModelPrivate@@XZ @ 977 NONAME ; class QDeclarativeXmlListModelPrivate const * QDeclarativeXmlListModel::d_func(void) const
+ ?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 978 NONAME ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const
+ ?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 979 NONAME ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const
+ ?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 980 NONAME ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const
+ ?damping@QDeclarativeSpringFollow@@QBEMXZ @ 981 NONAME ; float QDeclarativeSpringFollow::damping(void) const
+ ?dark@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 982 NONAME ; class QColor QDeclarativeSystemPalette::dark(void) const
+ ?data@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 983 NONAME ; struct QDeclarativeListProperty<class QObject> QDeclarativeItem::data(void)
+ ?data@QDeclarativeListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 984 NONAME ; class QHash<int, class QVariant> QDeclarativeListModel::data(int, class QList<int> const &) const
+ ?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 985 NONAME ; class QVariant QDeclarativeListModel::data(int, int) const
+ ?data@QDeclarativeXmlListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 986 NONAME ; class QHash<int, class QVariant> QDeclarativeXmlListModel::data(int, class QList<int> const &) const
+ ?data@QDeclarativeXmlListModel@@UBE?AVQVariant@@HH@Z @ 987 NONAME ; class QVariant QDeclarativeXmlListModel::data(int, int) const
+ ?date@QDeclarativeDateTimeFormatter@@QBE?AVQDate@@XZ @ 988 NONAME ; class QDate QDeclarativeDateTimeFormatter::date(void) const
+ ?dateFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 989 NONAME ; class QString QDeclarativeDateTimeFormatter::dateFormat(void) const
+ ?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 990 NONAME ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *)
+ ?dateText@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 991 NONAME ; class QString QDeclarativeDateTimeFormatter::dateText(void) const
+ ?dateTime@QDeclarativeDateTimeFormatter@@QBE?AVQDateTime@@XZ @ 992 NONAME ; class QDateTime QDeclarativeDateTimeFormatter::dateTime(void) const
+ ?dateTimeFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 993 NONAME ; class QString QDeclarativeDateTimeFormatter::dateTimeFormat(void) const
+ ?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 994 NONAME ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *)
+ ?dateTimeText@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 995 NONAME ; class QString QDeclarativeDateTimeFormatter::dateTimeText(void) const
+ ?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 996 NONAME ; int QDeclarativeDebugContextReference::debugId(void) const
+ ?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 997 NONAME ; int QDeclarativeDebugEngineReference::debugId(void) const
+ ?debugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 998 NONAME ; int QDeclarativeDebugObjectReference::debugId(void) const
+ ?decrementCurrentIndex@QDeclarativeListView@@QAEXXZ @ 999 NONAME ; void QDeclarativeListView::decrementCurrentIndex(void)
+ ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1000 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *)
+ ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 1001 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *)
+ ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 1002 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *)
+ ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1003 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *)
+ ?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1004 NONAME ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const
+ ?deferredProperties@QDeclarativeCompiler@@AAE?AVQStringList@@PAVObject@QDeclarativeParser@@@Z @ 1005 NONAME ; class QStringList QDeclarativeCompiler::deferredProperties(class QDeclarativeParser::Object *)
+ ?delegate@QDeclarativeGridView@@QBEPAVQDeclarativeComponent@@XZ @ 1006 NONAME ; class QDeclarativeComponent * QDeclarativeGridView::delegate(void) const
+ ?delegate@QDeclarativeListView@@QBEPAVQDeclarativeComponent@@XZ @ 1007 NONAME ; class QDeclarativeComponent * QDeclarativeListView::delegate(void) const
+ ?delegate@QDeclarativePathView@@QBEPAVQDeclarativeComponent@@XZ @ 1008 NONAME ; class QDeclarativeComponent * QDeclarativePathView::delegate(void) const
+ ?delegate@QDeclarativeRepeater@@QBEPAVQDeclarativeComponent@@XZ @ 1009 NONAME ; class QDeclarativeComponent * QDeclarativeRepeater::delegate(void) const
+ ?delegate@QDeclarativeViewSection@@QBEPAVQDeclarativeComponent@@XZ @ 1010 NONAME ; class QDeclarativeComponent * QDeclarativeViewSection::delegate(void) const
+ ?delegate@QDeclarativeVisualDataModel@@QBEPAVQDeclarativeComponent@@XZ @ 1011 NONAME ; class QDeclarativeComponent * QDeclarativeVisualDataModel::delegate(void) const
+ ?delegateChanged@QDeclarativeRepeater@@IAEXXZ @ 1012 NONAME ; void QDeclarativeRepeater::delegateChanged(void)
+ ?delegateChanged@QDeclarativeViewSection@@IAEXXZ @ 1013 NONAME ; void QDeclarativeViewSection::delegateChanged(void)
+ ?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 1014 NONAME ; void QDeclarativeAction::deleteFromBinding(void)
+ ?description@QDeclarativeError@@QBE?AVQString@@XZ @ 1015 NONAME ; class QString QDeclarativeError::description(void) const
+ ?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 1016 NONAME ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &)
+ ?destroy@QDeclarativeParticleMotion@@UAEXAAVQDeclarativeParticle@@@Z @ 1017 NONAME ; void QDeclarativeParticleMotion::destroy(class QDeclarativeParticle &)
+ ?destroy@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@@Z @ 1018 NONAME ; void QDeclarativeParticleMotionWander::destroy(class QDeclarativeParticle &)
+ ?destroyRemoved@QDeclarativeGridView@@AAEXXZ @ 1019 NONAME ; void QDeclarativeGridView::destroyRemoved(void)
+ ?destroyRemoved@QDeclarativeListView@@AAEXXZ @ 1020 NONAME ; void QDeclarativeListView::destroyRemoved(void)
+ ?destroyed@QDeclarativeContextPrivate@@QAEXPAUContextGuard@1@@Z @ 1021 NONAME ; void QDeclarativeContextPrivate::destroyed(struct QDeclarativeContextPrivate::ContextGuard *)
+ ?destroyingItem@QDeclarativeGridView@@AAEXPAVQDeclarativeItem@@@Z @ 1022 NONAME ; void QDeclarativeGridView::destroyingItem(class QDeclarativeItem *)
+ ?destroyingItem@QDeclarativeListView@@AAEXPAVQDeclarativeItem@@@Z @ 1023 NONAME ; void QDeclarativeListView::destroyingItem(class QDeclarativeItem *)
+ ?destroyingItem@QDeclarativePathView@@AAEXPAVQDeclarativeItem@@@Z @ 1024 NONAME ; void QDeclarativePathView::destroyingItem(class QDeclarativeItem *)
+ ?destroyingItem@QDeclarativeVisualModel@@IAEXPAVQDeclarativeItem@@@Z @ 1025 NONAME ; void QDeclarativeVisualModel::destroyingItem(class QDeclarativeItem *)
+ ?destroyingPackage@QDeclarativeVisualDataModel@@IAEXPAVQDeclarativePackage@@@Z @ 1026 NONAME ; void QDeclarativeVisualDataModel::destroyingPackage(class QDeclarativePackage *)
+ ?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1027 NONAME ; class QIODevice * QPacketProtocol::device(void)
+ ?dirtyCache@QDeclarativePaintedItem@@IAEXABVQRect@@@Z @ 1028 NONAME ; void QDeclarativePaintedItem::dirtyCache(class QRect const &)
+ ?displayData@QPerformanceLog@@YAXXZ @ 1029 NONAME ; void QPerformanceLog::displayData(void)
+ ?doLoadFinished@QDeclarativeWebView@@AAEX_N@Z @ 1030 NONAME ; void QDeclarativeWebView::doLoadFinished(bool)
+ ?doLoadProgress@QDeclarativeWebView@@AAEXH@Z @ 1031 NONAME ; void QDeclarativeWebView::doLoadProgress(int)
+ ?doLoadStarted@QDeclarativeWebView@@AAEXXZ @ 1032 NONAME ; void QDeclarativeWebView::doLoadStarted(void)
+ ?doPositioning@QDeclarativeColumn@@MAEXXZ @ 1033 NONAME ; void QDeclarativeColumn::doPositioning(void)
+ ?doPositioning@QDeclarativeFlow@@MAEXXZ @ 1034 NONAME ; void QDeclarativeFlow::doPositioning(void)
+ ?doPositioning@QDeclarativeGrid@@MAEXXZ @ 1035 NONAME ; void QDeclarativeGrid::doPositioning(void)
+ ?doPositioning@QDeclarativeRow@@MAEXXZ @ 1036 NONAME ; void QDeclarativeRow::doPositioning(void)
+ ?doUpdate@QDeclarativeGradient@@AAEXXZ @ 1037 NONAME ; void QDeclarativeGradient::doUpdate(void)
+ ?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 1038 NONAME ; void QDeclarativeRectangle::doUpdate(void)
+ ?doesPropertyExist@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@@Z @ 1039 NONAME ; bool QDeclarativeCompiler::doesPropertyExist(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *)
+ ?doubleClick@QDeclarativeWebView@@IAEXHH@Z @ 1040 NONAME ; void QDeclarativeWebView::doubleClick(int, int)
+ ?doubleClicked@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 1041 NONAME ; void QDeclarativeMouseArea::doubleClicked(class QDeclarativeMouseEvent *)
+ ?downloadProgress@QDeclarativePixmapReply@@IAEX_J0@Z @ 1042 NONAME ; void QDeclarativePixmapReply::downloadProgress(long long, long long)
+ ?drag@QDeclarativeMouseArea@@QAEPAVQDeclarativeDrag@@XZ @ 1043 NONAME ; class QDeclarativeDrag * QDeclarativeMouseArea::drag(void)
+ ?dragMargin@QDeclarativePathView@@QBEMXZ @ 1044 NONAME ; float QDeclarativePathView::dragMargin(void) const
+ ?drawContents@QDeclarativeTextEdit@@MAEXPAVQPainter@@ABVQRect@@@Z @ 1045 NONAME ; void QDeclarativeTextEdit::drawContents(class QPainter *, class QRect const &)
+ ?drawContents@QDeclarativeTextInput@@UAEXPAVQPainter@@ABVQRect@@@Z @ 1046 NONAME ; void QDeclarativeTextInput::drawContents(class QPainter *, class QRect const &)
+ ?drawContents@QDeclarativeWebView@@MAEXPAVQPainter@@ABVQRect@@@Z @ 1047 NONAME ; void QDeclarativeWebView::drawContents(class QPainter *, class QRect const &)
+ ?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1048 NONAME ; void QDeclarativeRectangle::drawRect(class QPainter &)
+ ?dumpStats@QDeclarativeCompiler@@AAEXXZ @ 1049 NONAME ; void QDeclarativeCompiler::dumpStats(void)
+ ?duration@QDeclarativeEaseFollow@@QBEMXZ @ 1050 NONAME ; float QDeclarativeEaseFollow::duration(void) const
+ ?durationChanged@QDeclarativeEaseFollow@@IAEXXZ @ 1051 NONAME ; void QDeclarativeEaseFollow::durationChanged(void)
+ ?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1052 NONAME ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const
+ ?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 1053 NONAME ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const
+ ?echoMode@QDeclarativeTextInput@@QBE?AW4EchoMode@1@XZ @ 1054 NONAME ; enum QDeclarativeTextInput::EchoMode QDeclarativeTextInput::echoMode(void) const
+ ?echoModeChanged@QDeclarativeTextInput@@IAEXW4EchoMode@1@@Z @ 1055 NONAME ; void QDeclarativeTextInput::echoModeChanged(enum QDeclarativeTextInput::EchoMode)
+ ?elementAreaAt@QDeclarativeWebView@@QBE?AVQRect@@HHHH@Z @ 1056 NONAME ; class QRect QDeclarativeWebView::elementAreaAt(int, int, int, int) const
+ ?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 1057 NONAME ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const
+ ?elideModeChanged@QDeclarativeText@@IAEXW4TextElideMode@1@@Z @ 1058 NONAME ; void QDeclarativeText::elideModeChanged(enum QDeclarativeText::TextElideMode)
+ ?emissionRate@QDeclarativeParticles@@QBEHXZ @ 1059 NONAME ; int QDeclarativeParticles::emissionRate(void) const
+ ?emissionRateChanged@QDeclarativeParticles@@IAEXXZ @ 1060 NONAME ; void QDeclarativeParticles::emissionRateChanged(void)
+ ?emissionVariance@QDeclarativeParticles@@QBEMXZ @ 1061 NONAME ; float QDeclarativeParticles::emissionVariance(void) const
+ ?emissionVarianceChanged@QDeclarativeParticles@@IAEXXZ @ 1062 NONAME ; void QDeclarativeParticles::emissionVarianceChanged(void)
+ ?emittingChanged@QDeclarativeParticles@@IAEXXZ @ 1063 NONAME ; void QDeclarativeParticles::emittingChanged(void)
+ ?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1064 NONAME ; bool QDeclarativeBehavior::enabled(void) const
+ ?enabled@QDeclarativeEaseFollow@@QBE_NXZ @ 1065 NONAME ; bool QDeclarativeEaseFollow::enabled(void) const
+ ?enabled@QDeclarativeSpringFollow@@QBE_NXZ @ 1066 NONAME ; bool QDeclarativeSpringFollow::enabled(void) const
+ ?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1067 NONAME ; void QDeclarativeBehavior::enabledChanged(void)
+ ?enabledChanged@QDeclarativeDebugService@@MAEX_N@Z @ 1068 NONAME ; void QDeclarativeDebugService::enabledChanged(bool)
+ ?enabledChanged@QDeclarativeEaseFollow@@IAEXXZ @ 1069 NONAME ; void QDeclarativeEaseFollow::enabledChanged(void)
+ ?enabledChanged@QDeclarativeMouseArea@@IAEXXZ @ 1070 NONAME ; void QDeclarativeMouseArea::enabledChanged(void)
+ ?endpoint@QDeclarativePath@@AAEXABVQString@@@Z @ 1071 NONAME ; void QDeclarativePath::endpoint(class QString const &)
+ ?engine@QDeclarativeContext@@QBEPAVQDeclarativeEngine@@XZ @ 1072 NONAME ; class QDeclarativeEngine * QDeclarativeContext::engine(void) const
+ ?engine@QDeclarativeExpression@@QBEPAVQDeclarativeEngine@@XZ @ 1073 NONAME ; class QDeclarativeEngine * QDeclarativeExpression::engine(void) const
+ ?engine@QDeclarativeView@@QAEPAVQDeclarativeEngine@@XZ @ 1074 NONAME ; class QDeclarativeEngine * QDeclarativeView::engine(void)
+ ?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 1075 NONAME ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const
+ ?entered@QDeclarativeMouseArea@@IAEXXZ @ 1076 NONAME ; void QDeclarativeMouseArea::entered(void)
+ ?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 1077 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const
+ ?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1078 NONAME ; int QMetaObjectBuilder::enumeratorCount(void) const
+ ?epsilon@QDeclarativeSpringFollow@@QBEMXZ @ 1079 NONAME ; float QDeclarativeSpringFollow::epsilon(void) const
+ ?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserNode@@ABVQString@@@Z @ 1080 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserNode const &, class QString const &)
+ ?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserProperty@@ABVQString@@@Z @ 1081 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserProperty const &, class QString const &)
+ ?error@QDeclarativeExpression@@QBE?AVQDeclarativeError@@XZ @ 1082 NONAME ; class QDeclarativeError QDeclarativeExpression::error(void) const
+ ?errors@QDeclarativeCompiler@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1083 NONAME ; class QList<class QDeclarativeError> QDeclarativeCompiler::errors(void) const
+ ?errors@QDeclarativeComponent@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1084 NONAME ; class QList<class QDeclarativeError> QDeclarativeComponent::errors(void) const
+ ?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1085 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const
+ ?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1086 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
+ ?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1087 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const
+ ?errorsString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 1088 NONAME ; class QString QDeclarativeComponent::errorsString(void) const
+ ?eval@QDeclarativeBind@@AAEXXZ @ 1089 NONAME ; void QDeclarativeBind::eval(void)
+ ?evaluate@QDeclarativeVisualDataModel@@UAE?AVQVariant@@HABVQString@@PAVQObject@@@Z @ 1090 NONAME ; class QVariant QDeclarativeVisualDataModel::evaluate(int, class QString const &, class QObject *)
+ ?evaluate@QDeclarativeVisualItemModel@@UAE?AVQVariant@@HABVQString@@PAVQObject@@@Z @ 1091 NONAME ; class QVariant QDeclarativeVisualItemModel::evaluate(int, class QString const &, class QObject *)
+ ?evaluateJavaScript@QDeclarativeWebView@@QAE?AVQVariant@@ABVQString@@@Z @ 1092 NONAME ; class QVariant QDeclarativeWebView::evaluateJavaScript(class QString const &)
+ ?event@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 1093 NONAME ; bool QDeclarativeItem::event(class QEvent *)
+ ?event@QDeclarativePixmapReply@@MAE_NPAVQEvent@@@Z @ 1094 NONAME ; bool QDeclarativePixmapReply::event(class QEvent *)
+ ?event@QDeclarativeSystemPalette@@EAE_NPAVQEvent@@@Z @ 1095 NONAME ; bool QDeclarativeSystemPalette::event(class QEvent *)
+ ?event@QDeclarativeTextEdit@@MAE_NPAVQEvent@@@Z @ 1096 NONAME ; bool QDeclarativeTextEdit::event(class QEvent *)
+ ?event@QDeclarativeTextInput@@MAE_NPAVQEvent@@@Z @ 1097 NONAME ; bool QDeclarativeTextInput::event(class QEvent *)
+ ?eventFilter@QDeclarativeGraphicsObjectContainer@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1098 NONAME ; bool QDeclarativeGraphicsObjectContainer::eventFilter(class QObject *, class QEvent *)
+ ?eventFilter@QDeclarativeLoader@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1099 NONAME ; bool QDeclarativeLoader::eventFilter(class QObject *, class QEvent *)
+ ?eventFilter@QDeclarativeSystemPalette@@EAE_NPAVQObject@@PAVQEvent@@@Z @ 1100 NONAME ; bool QDeclarativeSystemPalette::eventFilter(class QObject *, class QEvent *)
+ ?execute@QDeclarativeAnchorChanges@@UAEXXZ @ 1101 NONAME ; void QDeclarativeAnchorChanges::execute(void)
+ ?execute@QDeclarativeParentChange@@UAEXXZ @ 1102 NONAME ; void QDeclarativeParentChange::execute(void)
+ ?execute@QDeclarativeStateChangeScript@@UAEXXZ @ 1103 NONAME ; void QDeclarativeStateChangeScript::execute(void)
+ ?exited@QDeclarativeMouseArea@@IAEXXZ @ 1104 NONAME ; void QDeclarativeMouseArea::exited(void)
+ ?expandToWebPage@QDeclarativeWebView@@AAEXXZ @ 1105 NONAME ; void QDeclarativeWebView::expandToWebPage(void)
+ ?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQString@@XZ @ 1106 NONAME ; class QString QDeclarativeDebugExpressionQuery::expression(void) const
+ ?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1107 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const
+ ?expression@QDeclarativeExpression@@QBE?AVQString@@XZ @ 1108 NONAME ; class QString QDeclarativeExpression::expression(void) const
+ ?extends@QDeclarativeState@@QBE?AVQString@@XZ @ 1109 NONAME ; class QString QDeclarativeState::extends(void) const
+ ?extraActions@QDeclarativeAnchorChanges@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1110 NONAME ; class QList<class QDeclarativeAction> QDeclarativeAnchorChanges::extraActions(void)
+ ?fadeInDuration@QDeclarativeParticles@@QBEHXZ @ 1111 NONAME ; int QDeclarativeParticles::fadeInDuration(void) const
+ ?fadeInDurationChanged@QDeclarativeParticles@@IAEXXZ @ 1112 NONAME ; void QDeclarativeParticles::fadeInDurationChanged(void)
+ ?fadeOutDuration@QDeclarativeParticles@@QBEHXZ @ 1113 NONAME ; int QDeclarativeParticles::fadeOutDuration(void) const
+ ?fadeOutDurationChanged@QDeclarativeParticles@@IAEXXZ @ 1114 NONAME ; void QDeclarativeParticles::fadeOutDurationChanged(void)
+ ?fill@QDeclarativeAnchors@@QBEPAVQDeclarativeItem@@XZ @ 1115 NONAME ; class QDeclarativeItem * QDeclarativeAnchors::fill(void) const
+ ?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1116 NONAME ; void QDeclarativeAnchors::fillChanged(void)
+ ?fillColor@QDeclarativePaintedItem@@QBE?AVQColor@@XZ @ 1117 NONAME ; class QColor QDeclarativePaintedItem::fillColor(void) const
+ ?fillColorChanged@QDeclarativePaintedItem@@IAEXXZ @ 1118 NONAME ; void QDeclarativePaintedItem::fillColorChanged(void)
+ ?fillMode@QDeclarativeImage@@QBE?AW4FillMode@1@XZ @ 1119 NONAME ; enum QDeclarativeImage::FillMode QDeclarativeImage::fillMode(void) const
+ ?fillModeChanged@QDeclarativeImage@@IAEXXZ @ 1120 NONAME ; void QDeclarativeImage::fillModeChanged(void)
+ ?findSignalByName@QDeclarativeCompiler@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 1121 NONAME ; class QMetaMethod QDeclarativeCompiler::findSignalByName(struct QMetaObject const *, class QByteArray const &)
+ ?findState@QDeclarativeStateGroup@@QBEPAVQDeclarativeState@@ABVQString@@@Z @ 1122 NONAME ; class QDeclarativeState * QDeclarativeStateGroup::findState(class QString const &) const
+ ?finishApplyTransitions@QDeclarativeBasePositioner@@IAEXXZ @ 1123 NONAME ; void QDeclarativeBasePositioner::finishApplyTransitions(void)
+ ?finished@QDeclarativePixmapReply@@IAEXXZ @ 1124 NONAME ; void QDeclarativePixmapReply::finished(void)
+ ?finished@QDeclarativeTimer@@AAEXXZ @ 1125 NONAME ; void QDeclarativeTimer::finished(void)
+ ?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1126 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
+ ?flickDeceleration@QDeclarativeFlickable@@QBEMXZ @ 1127 NONAME ; float QDeclarativeFlickable::flickDeceleration(void) const
+ ?flickDecelerationChanged@QDeclarativeFlickable@@IAEXXZ @ 1128 NONAME ; void QDeclarativeFlickable::flickDecelerationChanged(void)
+ ?flickDirection@QDeclarativeFlickable@@QBE?AW4FlickDirection@1@XZ @ 1129 NONAME ; enum QDeclarativeFlickable::FlickDirection QDeclarativeFlickable::flickDirection(void) const
+ ?flickDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 1130 NONAME ; void QDeclarativeFlickable::flickDirectionChanged(void)
+ ?flickEnded@QDeclarativeFlickable@@IAEXXZ @ 1131 NONAME ; void QDeclarativeFlickable::flickEnded(void)
+ ?flickStarted@QDeclarativeFlickable@@IAEXXZ @ 1132 NONAME ; void QDeclarativeFlickable::flickStarted(void)
+ ?flickableChildren@QDeclarativeFlickable@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 1133 NONAME ; struct QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeFlickable::flickableChildren(void)
+ ?flickableData@QDeclarativeFlickable@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 1134 NONAME ; struct QDeclarativeListProperty<class QObject> QDeclarativeFlickable::flickableData(void)
+ ?flickingChanged@QDeclarativeFlickable@@IAEXXZ @ 1135 NONAME ; void QDeclarativeFlickable::flickingChanged(void)
+ ?flow@QDeclarativeFlow@@QBE?AW4Flow@1@XZ @ 1136 NONAME ; enum QDeclarativeFlow::Flow QDeclarativeFlow::flow(void) const
+ ?flow@QDeclarativeGridView@@QBE?AW4Flow@1@XZ @ 1137 NONAME ; enum QDeclarativeGridView::Flow QDeclarativeGridView::flow(void) const
+ ?flowChanged@QDeclarativeFlow@@IAEXXZ @ 1138 NONAME ; void QDeclarativeFlow::flowChanged(void)
+ ?focusChanged@QDeclarativeItem@@IAEXXZ @ 1139 NONAME ; void QDeclarativeItem::focusChanged(void)
+ ?focusChanged@QDeclarativeItem@@MAEX_N@Z @ 1140 NONAME ; void QDeclarativeItem::focusChanged(bool)
+ ?focusChanged@QDeclarativeTextEdit@@MAEX_N@Z @ 1141 NONAME ; void QDeclarativeTextEdit::focusChanged(bool)
+ ?focusChanged@QDeclarativeTextInput@@MAEX_N@Z @ 1142 NONAME ; void QDeclarativeTextInput::focusChanged(bool)
+ ?focusChanged@QDeclarativeWebView@@MAEX_N@Z @ 1143 NONAME ; void QDeclarativeWebView::focusChanged(bool)
+ ?focusOnPress@QDeclarativeTextEdit@@QBE_NXZ @ 1144 NONAME ; bool QDeclarativeTextEdit::focusOnPress(void) const
+ ?focusOnPress@QDeclarativeTextInput@@QBE_NXZ @ 1145 NONAME ; bool QDeclarativeTextInput::focusOnPress(void) const
+ ?focusOnPressChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 1146 NONAME ; void QDeclarativeTextEdit::focusOnPressChanged(bool)
+ ?focusOnPressChanged@QDeclarativeTextInput@@IAEX_N@Z @ 1147 NONAME ; void QDeclarativeTextInput::focusOnPressChanged(bool)
+ ?font@QDeclarativeText@@QBE?AVQFont@@XZ @ 1148 NONAME ; class QFont QDeclarativeText::font(void) const
+ ?font@QDeclarativeTextEdit@@QBE?AVQFont@@XZ @ 1149 NONAME ; class QFont QDeclarativeTextEdit::font(void) const
+ ?font@QDeclarativeTextInput@@QBE?AVQFont@@XZ @ 1150 NONAME ; class QFont QDeclarativeTextInput::font(void) const
+ ?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 1151 NONAME ; void QDeclarativeText::fontChanged(class QFont const &)
+ ?fontChanged@QDeclarativeTextEdit@@IAEXABVQFont@@@Z @ 1152 NONAME ; void QDeclarativeTextEdit::fontChanged(class QFont const &)
+ ?fontChanged@QDeclarativeTextInput@@IAEXABVQFont@@@Z @ 1153 NONAME ; void QDeclarativeTextInput::fontChanged(class QFont const &)
+ ?footer@QDeclarativeListView@@QBEPAVQDeclarativeComponent@@XZ @ 1154 NONAME ; class QDeclarativeComponent * QDeclarativeListView::footer(void) const
+ ?format@QDeclarativeNumberFormatter@@QBE?AVQString@@XZ @ 1155 NONAME ; class QString QDeclarativeNumberFormatter::format(void) const
+ ?forwardAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 1156 NONAME ; class QAction * QDeclarativeWebView::forwardAction(void) const
+ ?frameChanged@QDeclarativeAnimatedImage@@IAEXXZ @ 1157 NONAME ; void QDeclarativeAnimatedImage::frameChanged(void)
+ ?frameCount@QDeclarativeAnimatedImage@@QBEHXZ @ 1158 NONAME ; int QDeclarativeAnimatedImage::frameCount(void) const
+ ?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 1159 NONAME ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &)
+ ?fromState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 1160 NONAME ; class QString QDeclarativeTransition::fromState(void) const
+ ?front@QDeclarativeFlipable@@QAEPAVQDeclarativeItem@@XZ @ 1161 NONAME ; class QDeclarativeItem * QDeclarativeFlipable::front(void)
+ ?fxChildren@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 1162 NONAME ; struct QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeItem::fxChildren(void)
+ ?genBindingAssignment@QDeclarativeCompiler@@AAEXPAVValue@QDeclarativeParser@@PAVProperty@3@PAVObject@3@1@Z @ 1163 NONAME ; void QDeclarativeCompiler::genBindingAssignment(class QDeclarativeParser::Value *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Property *)
+ ?genComponent@QDeclarativeCompiler@@AAEXPAVObject@QDeclarativeParser@@@Z @ 1164 NONAME ; void QDeclarativeCompiler::genComponent(class QDeclarativeParser::Object *)
+ ?genContextCache@QDeclarativeCompiler@@AAEHXZ @ 1165 NONAME ; int QDeclarativeCompiler::genContextCache(void)
+ ?genListProperty@QDeclarativeCompiler@@AAEXPAVProperty@QDeclarativeParser@@PAVObject@3@@Z @ 1166 NONAME ; void QDeclarativeCompiler::genListProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *)
+ ?genLiteralAssignment@QDeclarativeCompiler@@AAEXABVQMetaProperty@@PAVValue@QDeclarativeParser@@@Z @ 1167 NONAME ; void QDeclarativeCompiler::genLiteralAssignment(class QMetaProperty const &, class QDeclarativeParser::Value *)
+ ?genObject@QDeclarativeCompiler@@AAEXPAVObject@QDeclarativeParser@@@Z @ 1168 NONAME ; void QDeclarativeCompiler::genObject(class QDeclarativeParser::Object *)
+ ?genObjectBody@QDeclarativeCompiler@@AAEXPAVObject@QDeclarativeParser@@@Z @ 1169 NONAME ; void QDeclarativeCompiler::genObjectBody(class QDeclarativeParser::Object *)
+ ?genPropertyAssignment@QDeclarativeCompiler@@AAEXPAVProperty@QDeclarativeParser@@PAVObject@3@0@Z @ 1170 NONAME ; void QDeclarativeCompiler::genPropertyAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Property *)
+ ?genPropertyData@QDeclarativeCompiler@@AAEHPAVProperty@QDeclarativeParser@@@Z @ 1171 NONAME ; int QDeclarativeCompiler::genPropertyData(class QDeclarativeParser::Property *)
+ ?genValueProperty@QDeclarativeCompiler@@AAEXPAVProperty@QDeclarativeParser@@PAVObject@3@@Z @ 1172 NONAME ; void QDeclarativeCompiler::genValueProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *)
+ ?genValueTypeData@QDeclarativeCompiler@@AAEHPAVProperty@QDeclarativeParser@@0@Z @ 1173 NONAME ; int QDeclarativeCompiler::genValueTypeData(class QDeclarativeParser::Property *, class QDeclarativeParser::Property *)
+ ?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 1174 NONAME ; void QDeclarativeRectangle::generateBorderedRect(void)
+ ?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1175 NONAME ; void QDeclarativeRectangle::generateRoundedRect(void)
+ ?geometryChanged@QDeclarativeImage@@MAEXABVQRectF@@0@Z @ 1176 NONAME ; void QDeclarativeImage::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeItem@@MAEXABVQRectF@@0@Z @ 1177 NONAME ; void QDeclarativeItem::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeLoader@@MAEXABVQRectF@@0@Z @ 1178 NONAME ; void QDeclarativeLoader::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 1179 NONAME ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeTextEdit@@MAEXABVQRectF@@0@Z @ 1180 NONAME ; void QDeclarativeTextEdit::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeTextInput@@MAEXABVQRectF@@0@Z @ 1181 NONAME ; void QDeclarativeTextInput::geometryChanged(class QRectF const &, class QRectF const &)
+ ?geometryChanged@QDeclarativeWebView@@MAEXABVQRectF@@0@Z @ 1182 NONAME ; void QDeclarativeWebView::geometryChanged(class QRectF const &, class QRectF const &)
+ ?get@QDeclarativeContextPrivate@@SAPAV1@PAVQDeclarativeContext@@@Z @ 1183 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContextPrivate::get(class QDeclarativeContext *)
+ ?get@QDeclarativeContextPrivate@@SAPAVQDeclarativeContext@@PAV1@@Z @ 1184 NONAME ; class QDeclarativeContext * QDeclarativeContextPrivate::get(class QDeclarativeContextPrivate *)
+ ?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 1185 NONAME ; class QScriptValue QDeclarativeListModel::get(int) const
+ ?get@QDeclarativePixmapCache@@SA?AW4Status@QDeclarativePixmapReply@@ABVQUrl@@PAVQPixmap@@_N@Z @ 1186 NONAME ; enum QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(class QUrl const &, class QPixmap *, bool)
+ ?getStaticMetaObject@QDeclarativeAnchorChanges@@SAABUQMetaObject@@XZ @ 1187 NONAME ; struct QMetaObject const & QDeclarativeAnchorChanges::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1188 NONAME ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeAnimatedImage@@SAABUQMetaObject@@XZ @ 1189 NONAME ; struct QMetaObject const & QDeclarativeAnimatedImage::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeBasePositioner@@SAABUQMetaObject@@XZ @ 1190 NONAME ; struct QMetaObject const & QDeclarativeBasePositioner::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 1191 NONAME ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeBind@@SAABUQMetaObject@@XZ @ 1192 NONAME ; struct QMetaObject const & QDeclarativeBind::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeBorderImage@@SAABUQMetaObject@@XZ @ 1193 NONAME ; struct QMetaObject const & QDeclarativeBorderImage::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeColumn@@SAABUQMetaObject@@XZ @ 1194 NONAME ; struct QMetaObject const & QDeclarativeColumn::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeComponent@@SAABUQMetaObject@@XZ @ 1195 NONAME ; struct QMetaObject const & QDeclarativeComponent::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeConnections@@SAABUQMetaObject@@XZ @ 1196 NONAME ; struct QMetaObject const & QDeclarativeConnections::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeContext@@SAABUQMetaObject@@XZ @ 1197 NONAME ; struct QMetaObject const & QDeclarativeContext::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeCurve@@SAABUQMetaObject@@XZ @ 1198 NONAME ; struct QMetaObject const & QDeclarativeCurve::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDateTimeFormatter@@SAABUQMetaObject@@XZ @ 1199 NONAME ; struct QMetaObject const & QDeclarativeDateTimeFormatter::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1200 NONAME ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 1201 NONAME ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 1202 NONAME ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 1203 NONAME ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugObjectExpressionWatch@@SAABUQMetaObject@@XZ @ 1204 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectExpressionWatch::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1205 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 1206 NONAME ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 1207 NONAME ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 1208 NONAME ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 1209 NONAME ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 1210 NONAME ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDrag@@SAABUQMetaObject@@XZ @ 1211 NONAME ; struct QMetaObject const & QDeclarativeDrag::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeEaseFollow@@SAABUQMetaObject@@XZ @ 1212 NONAME ; struct QMetaObject const & QDeclarativeEaseFollow::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeEngine@@SAABUQMetaObject@@XZ @ 1213 NONAME ; struct QMetaObject const & QDeclarativeEngine::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1214 NONAME ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeExpression@@SAABUQMetaObject@@XZ @ 1215 NONAME ; struct QMetaObject const & QDeclarativeExpression::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeExtensionPlugin@@SAABUQMetaObject@@XZ @ 1216 NONAME ; struct QMetaObject const & QDeclarativeExtensionPlugin::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFlickable@@SAABUQMetaObject@@XZ @ 1217 NONAME ; struct QMetaObject const & QDeclarativeFlickable::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFlipable@@SAABUQMetaObject@@XZ @ 1218 NONAME ; struct QMetaObject const & QDeclarativeFlipable::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFlow@@SAABUQMetaObject@@XZ @ 1219 NONAME ; struct QMetaObject const & QDeclarativeFlow::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFocusPanel@@SAABUQMetaObject@@XZ @ 1220 NONAME ; struct QMetaObject const & QDeclarativeFocusPanel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFocusScope@@SAABUQMetaObject@@XZ @ 1221 NONAME ; struct QMetaObject const & QDeclarativeFocusScope::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeFontLoader@@SAABUQMetaObject@@XZ @ 1222 NONAME ; struct QMetaObject const & QDeclarativeFontLoader::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeGradient@@SAABUQMetaObject@@XZ @ 1223 NONAME ; struct QMetaObject const & QDeclarativeGradient::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeGradientStop@@SAABUQMetaObject@@XZ @ 1224 NONAME ; struct QMetaObject const & QDeclarativeGradientStop::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeGraphicsObjectContainer@@SAABUQMetaObject@@XZ @ 1225 NONAME ; struct QMetaObject const & QDeclarativeGraphicsObjectContainer::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeGrid@@SAABUQMetaObject@@XZ @ 1226 NONAME ; struct QMetaObject const & QDeclarativeGrid::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeGridView@@SAABUQMetaObject@@XZ @ 1227 NONAME ; struct QMetaObject const & QDeclarativeGridView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeImage@@SAABUQMetaObject@@XZ @ 1228 NONAME ; struct QMetaObject const & QDeclarativeImage::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeImageBase@@SAABUQMetaObject@@XZ @ 1229 NONAME ; struct QMetaObject const & QDeclarativeImageBase::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeItem@@SAABUQMetaObject@@XZ @ 1230 NONAME ; struct QMetaObject const & QDeclarativeItem::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 1231 NONAME ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeListView@@SAABUQMetaObject@@XZ @ 1232 NONAME ; struct QMetaObject const & QDeclarativeListView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeLoader@@SAABUQMetaObject@@XZ @ 1233 NONAME ; struct QMetaObject const & QDeclarativeLoader::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeMouseArea@@SAABUQMetaObject@@XZ @ 1234 NONAME ; struct QMetaObject const & QDeclarativeMouseArea::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeNumberFormatter@@SAABUQMetaObject@@XZ @ 1235 NONAME ; struct QMetaObject const & QDeclarativeNumberFormatter::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePaintedItem@@SAABUQMetaObject@@XZ @ 1236 NONAME ; struct QMetaObject const & QDeclarativePaintedItem::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParentChange@@SAABUQMetaObject@@XZ @ 1237 NONAME ; struct QMetaObject const & QDeclarativeParentChange::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParticleMotion@@SAABUQMetaObject@@XZ @ 1238 NONAME ; struct QMetaObject const & QDeclarativeParticleMotion::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParticleMotionGravity@@SAABUQMetaObject@@XZ @ 1239 NONAME ; struct QMetaObject const & QDeclarativeParticleMotionGravity::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParticleMotionLinear@@SAABUQMetaObject@@XZ @ 1240 NONAME ; struct QMetaObject const & QDeclarativeParticleMotionLinear::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParticleMotionWander@@SAABUQMetaObject@@XZ @ 1241 NONAME ; struct QMetaObject const & QDeclarativeParticleMotionWander::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeParticles@@SAABUQMetaObject@@XZ @ 1242 NONAME ; struct QMetaObject const & QDeclarativeParticles::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePath@@SAABUQMetaObject@@XZ @ 1243 NONAME ; struct QMetaObject const & QDeclarativePath::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathAttribute@@SAABUQMetaObject@@XZ @ 1244 NONAME ; struct QMetaObject const & QDeclarativePathAttribute::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathCubic@@SAABUQMetaObject@@XZ @ 1245 NONAME ; struct QMetaObject const & QDeclarativePathCubic::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathElement@@SAABUQMetaObject@@XZ @ 1246 NONAME ; struct QMetaObject const & QDeclarativePathElement::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathLine@@SAABUQMetaObject@@XZ @ 1247 NONAME ; struct QMetaObject const & QDeclarativePathLine::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathPercent@@SAABUQMetaObject@@XZ @ 1248 NONAME ; struct QMetaObject const & QDeclarativePathPercent::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathQuad@@SAABUQMetaObject@@XZ @ 1249 NONAME ; struct QMetaObject const & QDeclarativePathQuad::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePathView@@SAABUQMetaObject@@XZ @ 1250 NONAME ; struct QMetaObject const & QDeclarativePathView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePen@@SAABUQMetaObject@@XZ @ 1251 NONAME ; struct QMetaObject const & QDeclarativePen::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePixmapReply@@SAABUQMetaObject@@XZ @ 1252 NONAME ; struct QMetaObject const & QDeclarativePixmapReply::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePropertyChanges@@SAABUQMetaObject@@XZ @ 1253 NONAME ; struct QMetaObject const & QDeclarativePropertyChanges::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePropertyMap@@SAABUQMetaObject@@XZ @ 1254 NONAME ; struct QMetaObject const & QDeclarativePropertyMap::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 1255 NONAME ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeRepeater@@SAABUQMetaObject@@XZ @ 1256 NONAME ; struct QMetaObject const & QDeclarativeRepeater::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeRow@@SAABUQMetaObject@@XZ @ 1257 NONAME ; struct QMetaObject const & QDeclarativeRow::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1258 NONAME ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeSpringFollow@@SAABUQMetaObject@@XZ @ 1259 NONAME ; struct QMetaObject const & QDeclarativeSpringFollow::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeState@@SAABUQMetaObject@@XZ @ 1260 NONAME ; struct QMetaObject const & QDeclarativeState::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeStateChangeScript@@SAABUQMetaObject@@XZ @ 1261 NONAME ; struct QMetaObject const & QDeclarativeStateChangeScript::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeStateGroup@@SAABUQMetaObject@@XZ @ 1262 NONAME ; struct QMetaObject const & QDeclarativeStateGroup::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeStateOperation@@SAABUQMetaObject@@XZ @ 1263 NONAME ; struct QMetaObject const & QDeclarativeStateOperation::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeSystemPalette@@SAABUQMetaObject@@XZ @ 1264 NONAME ; struct QMetaObject const & QDeclarativeSystemPalette::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 1265 NONAME ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeTextEdit@@SAABUQMetaObject@@XZ @ 1266 NONAME ; struct QMetaObject const & QDeclarativeTextEdit::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeTextInput@@SAABUQMetaObject@@XZ @ 1267 NONAME ; struct QMetaObject const & QDeclarativeTextInput::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeTimer@@SAABUQMetaObject@@XZ @ 1268 NONAME ; struct QMetaObject const & QDeclarativeTimer::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeTransition@@SAABUQMetaObject@@XZ @ 1269 NONAME ; struct QMetaObject const & QDeclarativeTransition::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1270 NONAME ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeView@@SAABUQMetaObject@@XZ @ 1271 NONAME ; struct QMetaObject const & QDeclarativeView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeViewSection@@SAABUQMetaObject@@XZ @ 1272 NONAME ; struct QMetaObject const & QDeclarativeViewSection::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeVisualDataModel@@SAABUQMetaObject@@XZ @ 1273 NONAME ; struct QMetaObject const & QDeclarativeVisualDataModel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeVisualItemModel@@SAABUQMetaObject@@XZ @ 1274 NONAME ; struct QMetaObject const & QDeclarativeVisualItemModel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeVisualModel@@SAABUQMetaObject@@XZ @ 1275 NONAME ; struct QMetaObject const & QDeclarativeVisualModel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeWebPage@@SAABUQMetaObject@@XZ @ 1276 NONAME ; struct QMetaObject const & QDeclarativeWebPage::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeWebView@@SAABUQMetaObject@@XZ @ 1277 NONAME ; struct QMetaObject const & QDeclarativeWebView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeXmlListModel@@SAABUQMetaObject@@XZ @ 1278 NONAME ; struct QMetaObject const & QDeclarativeXmlListModel::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeXmlListModelRole@@SAABUQMetaObject@@XZ @ 1279 NONAME ; struct QMetaObject const & QDeclarativeXmlListModelRole::getStaticMetaObject(void)
+ ?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 1280 NONAME ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void)
+ ?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 1281 NONAME ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void)
+ ?gradient@QDeclarativeGradient@@QBEPBVQGradient@@XZ @ 1282 NONAME ; class QGradient const * QDeclarativeGradient::gradient(void) const
+ ?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 1283 NONAME ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const
+ ?graphicsObject@QDeclarativeGraphicsObjectContainer@@QBEPAVQGraphicsObject@@XZ @ 1284 NONAME ; class QGraphicsObject * QDeclarativeGraphicsObjectContainer::graphicsObject(void) const
+ ?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 1285 NONAME ; int QDeclarativeGridScaledImage::gridBottom(void) const
+ ?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1286 NONAME ; int QDeclarativeGridScaledImage::gridLeft(void) const
+ ?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 1287 NONAME ; int QDeclarativeGridScaledImage::gridRight(void) const
+ ?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1288 NONAME ; int QDeclarativeGridScaledImage::gridTop(void) const
+ ?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1289 NONAME ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const
+ ?hAlign@QDeclarativeTextEdit@@QBE?AW4HAlignment@1@XZ @ 1290 NONAME ; enum QDeclarativeTextEdit::HAlignment QDeclarativeTextEdit::hAlign(void) const
+ ?hAlign@QDeclarativeTextInput@@QBE?AW4HAlignment@1@XZ @ 1291 NONAME ; enum QDeclarativeTextInput::HAlignment QDeclarativeTextInput::hAlign(void) const
+ ?hasAcceptableInput@QDeclarativeTextInput@@QBE_NXZ @ 1292 NONAME ; bool QDeclarativeTextInput::hasAcceptableInput(void) const
+ ?hasError@QDeclarativeExpression@@QBE_NXZ @ 1293 NONAME ; bool QDeclarativeExpression::hasError(void) const
+ ?hasFocus@QDeclarativeItem@@QBE_NXZ @ 1294 NONAME ; bool QDeclarativeItem::hasFocus(void) const
+ ?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 1295 NONAME ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const
+ ?hasNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 1296 NONAME ; bool QDeclarativeProperty::hasNotifySignal(void) const
+ ?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 1297 NONAME ; bool QMetaPropertyBuilder::hasNotifySignal(void) const
+ ?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 1298 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
+ ?header@QDeclarativeListView@@QBEPAVQDeclarativeComponent@@XZ @ 1299 NONAME ; class QDeclarativeComponent * QDeclarativeListView::header(void) const
+ ?height@QDeclarativeItem@@QBEMXZ @ 1300 NONAME ; float QDeclarativeItem::height(void) const
+ ?height@QDeclarativeParentChange@@QBEMXZ @ 1301 NONAME ; float QDeclarativeParentChange::height(void) const
+ ?heightChange@QDeclarativeFlickable@@IAEXXZ @ 1302 NONAME ; void QDeclarativeFlickable::heightChange(void)
+ ?heightChanged@QDeclarativeItem@@IAEXXZ @ 1303 NONAME ; void QDeclarativeItem::heightChanged(void)
+ ?heightIsSet@QDeclarativeParentChange@@QBE_NXZ @ 1304 NONAME ; bool QDeclarativeParentChange::heightIsSet(void) const
+ ?heightValid@QDeclarativeItem@@IBE_NXZ @ 1305 NONAME ; bool QDeclarativeItem::heightValid(void) const
+ ?heuristicZoom@QDeclarativeWebView@@QAE_NHHM@Z @ 1306 NONAME ; bool QDeclarativeWebView::heuristicZoom(int, int, float)
+ ?highlight@QDeclarativeGridView@@QBEPAVQDeclarativeComponent@@XZ @ 1307 NONAME ; class QDeclarativeComponent * QDeclarativeGridView::highlight(void) const
+ ?highlight@QDeclarativeListView@@QBEPAVQDeclarativeComponent@@XZ @ 1308 NONAME ; class QDeclarativeComponent * QDeclarativeListView::highlight(void) const
+ ?highlight@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 1309 NONAME ; class QColor QDeclarativeSystemPalette::highlight(void) const
+ ?highlightChanged@QDeclarativeGridView@@IAEXXZ @ 1310 NONAME ; void QDeclarativeGridView::highlightChanged(void)
+ ?highlightChanged@QDeclarativeListView@@IAEXXZ @ 1311 NONAME ; void QDeclarativeListView::highlightChanged(void)
+ ?highlightFollowsCurrentItem@QDeclarativeGridView@@QBE_NXZ @ 1312 NONAME ; bool QDeclarativeGridView::highlightFollowsCurrentItem(void) const
+ ?highlightFollowsCurrentItem@QDeclarativeListView@@QBE_NXZ @ 1313 NONAME ; bool QDeclarativeListView::highlightFollowsCurrentItem(void) const
+ ?highlightItem@QDeclarativeGridView@@QAEPAVQDeclarativeItem@@XZ @ 1314 NONAME ; class QDeclarativeItem * QDeclarativeGridView::highlightItem(void)
+ ?highlightItem@QDeclarativeListView@@QAEPAVQDeclarativeItem@@XZ @ 1315 NONAME ; class QDeclarativeItem * QDeclarativeListView::highlightItem(void)
+ ?highlightMoveSpeed@QDeclarativeListView@@QBEMXZ @ 1316 NONAME ; float QDeclarativeListView::highlightMoveSpeed(void) const
+ ?highlightMoveSpeedChanged@QDeclarativeListView@@IAEXXZ @ 1317 NONAME ; void QDeclarativeListView::highlightMoveSpeedChanged(void)
+ ?highlightRangeMode@QDeclarativeListView@@QBE?AW4HighlightRangeMode@1@XZ @ 1318 NONAME ; enum QDeclarativeListView::HighlightRangeMode QDeclarativeListView::highlightRangeMode(void) const
+ ?highlightResizeSpeed@QDeclarativeListView@@QBEMXZ @ 1319 NONAME ; float QDeclarativeListView::highlightResizeSpeed(void) const
+ ?highlightResizeSpeedChanged@QDeclarativeListView@@IAEXXZ @ 1320 NONAME ; void QDeclarativeListView::highlightResizeSpeedChanged(void)
+ ?highlightedText@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 1321 NONAME ; class QColor QDeclarativeSystemPalette::highlightedText(void) const
+ ?history@QDeclarativeWebView@@QBEPAVQWebHistory@@XZ @ 1322 NONAME ; class QWebHistory * QDeclarativeWebView::history(void) const
+ ?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 1323 NONAME ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment)
+ ?horizontalAlignmentChanged@QDeclarativeTextEdit@@IAEXW4HAlignment@1@@Z @ 1324 NONAME ; void QDeclarativeTextEdit::horizontalAlignmentChanged(enum QDeclarativeTextEdit::HAlignment)
+ ?horizontalAlignmentChanged@QDeclarativeTextInput@@IAEXW4HAlignment@1@@Z @ 1325 NONAME ; void QDeclarativeTextInput::horizontalAlignmentChanged(enum QDeclarativeTextInput::HAlignment)
+ ?horizontalCenter@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1326 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::horizontalCenter(void) const
+ ?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1327 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const
+ ?horizontalCenter@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1328 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::horizontalCenter(void) const
+ ?horizontalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 1329 NONAME ; void QDeclarativeAnchors::horizontalCenterChanged(void)
+ ?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 1330 NONAME ; float QDeclarativeAnchors::horizontalCenterOffset(void) const
+ ?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1331 NONAME ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void)
+ ?horizontalTileMode@QDeclarativeBorderImage@@QBE?AW4TileMode@1@XZ @ 1332 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeBorderImage::horizontalTileMode(void) const
+ ?horizontalTileModeChanged@QDeclarativeBorderImage@@IAEXXZ @ 1333 NONAME ; void QDeclarativeBorderImage::horizontalTileModeChanged(void)
+ ?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1334 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const
+ ?horizontalVelocity@QDeclarativeFlickable@@QBEMXZ @ 1335 NONAME ; float QDeclarativeFlickable::horizontalVelocity(void) const
+ ?horizontalVelocityChanged@QDeclarativeFlickable@@IAEXXZ @ 1336 NONAME ; void QDeclarativeFlickable::horizontalVelocityChanged(void)
+ ?hoverEnterEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 1337 NONAME ; void QDeclarativeMouseArea::hoverEnterEvent(class QGraphicsSceneHoverEvent *)
+ ?hoverLeaveEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 1338 NONAME ; void QDeclarativeMouseArea::hoverLeaveEvent(class QGraphicsSceneHoverEvent *)
+ ?hoverMoveEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 1339 NONAME ; void QDeclarativeMouseArea::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ?hoverMoveEvent@QDeclarativeWebView@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 1340 NONAME ; void QDeclarativeWebView::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ?hovered@QDeclarativeMouseArea@@QBE_NXZ @ 1341 NONAME ; bool QDeclarativeMouseArea::hovered(void) const
+ ?hoveredChanged@QDeclarativeMouseArea@@IAEXXZ @ 1342 NONAME ; void QDeclarativeMouseArea::hoveredChanged(void)
+ ?html@QDeclarativeWebView@@QBE?AVQString@@XZ @ 1343 NONAME ; class QString QDeclarativeWebView::html(void) const
+ ?htmlChanged@QDeclarativeWebView@@IAEXXZ @ 1344 NONAME ; void QDeclarativeWebView::htmlChanged(void)
+ ?icon@QDeclarativeWebView@@QBE?AVQPixmap@@XZ @ 1345 NONAME ; class QPixmap QDeclarativeWebView::icon(void) const
+ ?iconChanged@QDeclarativeWebView@@IAEXXZ @ 1346 NONAME ; void QDeclarativeWebView::iconChanged(void)
+ ?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 1347 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *)
+ ?imageLoaded@QDeclarativeParticles@@AAEXXZ @ 1348 NONAME ; void QDeclarativeParticles::imageLoaded(void)
+ ?imageProvider@QDeclarativeEngine@@QBEPAVQDeclarativeImageProvider@@ABVQString@@@Z @ 1349 NONAME ; class QDeclarativeImageProvider * QDeclarativeEngine::imageProvider(class QString const &) const
+ ?implicitHeight@QDeclarativeItem@@QBEMXZ @ 1350 NONAME ; float QDeclarativeItem::implicitHeight(void) const
+ ?implicitWidth@QDeclarativeItem@@QBEMXZ @ 1351 NONAME ; float QDeclarativeItem::implicitWidth(void) const
+ ?importExtension@QDeclarativeEngine@@QAE_NABVQString@@0@Z @ 1352 NONAME ; bool QDeclarativeEngine::importExtension(class QString const &, class QString const &)
+ ?imports@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeDomImport@@@@XZ @ 1353 NONAME ; class QList<class QDeclarativeDomImport> QDeclarativeDomDocument::imports(void) const
+ ?inSync@QDeclarativeSpringFollow@@QBE_NXZ @ 1354 NONAME ; bool QDeclarativeSpringFollow::inSync(void) const
+ ?incrementCurrentIndex@QDeclarativeListView@@QAEXXZ @ 1355 NONAME ; void QDeclarativeListView::incrementCurrentIndex(void)
+ ?index@QDeclarativeProperty@@QBEHXZ @ 1356 NONAME ; int QDeclarativeProperty::index(void) const
+ ?index@QDeclarativeType@@QBEHXZ @ 1357 NONAME ; int QDeclarativeType::index(void) const
+ ?index@QMetaEnumBuilder@@QBEHXZ @ 1358 NONAME ; int QMetaEnumBuilder::index(void) const
+ ?index@QMetaMethodBuilder@@QBEHXZ @ 1359 NONAME ; int QMetaMethodBuilder::index(void) const
+ ?index@QMetaPropertyBuilder@@QBEHXZ @ 1360 NONAME ; int QMetaPropertyBuilder::index(void) const
+ ?indexOf@QDeclarativeVisualDataModel@@UBEHPAVQDeclarativeItem@@PAVQObject@@@Z @ 1361 NONAME ; int QDeclarativeVisualDataModel::indexOf(class QDeclarativeItem *, class QObject *) const
+ ?indexOf@QDeclarativeVisualItemModel@@UBEHPAVQDeclarativeItem@@PAVQObject@@@Z @ 1362 NONAME ; int QDeclarativeVisualItemModel::indexOf(class QDeclarativeItem *, class QObject *) const
+ ?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1363 NONAME ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &)
+ ?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1364 NONAME ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &)
+ ?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1365 NONAME ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &)
+ ?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1366 NONAME ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &)
+ ?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1367 NONAME ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &)
+ ?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1368 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
+ ?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1369 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
+ ?init@QDeclarativeContextPrivate@@QAEXXZ @ 1370 NONAME ; void QDeclarativeContextPrivate::init(void)
+ ?init@QDeclarativePaintedItem@@AAEXXZ @ 1371 NONAME ; void QDeclarativePaintedItem::init(void)
+ ?init@QDeclarativeWebView@@AAEXXZ @ 1372 NONAME ; void QDeclarativeWebView::init(void)
+ ?initialLayout@QDeclarativeWebView@@AAEXXZ @ 1373 NONAME ; void QDeclarativeWebView::initialLayout(void)
+ ?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1374 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
+ ?initializeEngine@QDeclarativeExtensionPlugin@@UAEXPAVQDeclarativeEngine@@PBD@Z @ 1375 NONAME ; void QDeclarativeExtensionPlugin::initializeEngine(class QDeclarativeEngine *, char const *)
+ ?inputMask@QDeclarativeTextInput@@QBE?AVQString@@XZ @ 1376 NONAME ; class QString QDeclarativeTextInput::inputMask(void) const
+ ?inputMaskChanged@QDeclarativeTextInput@@IAEXABVQString@@@Z @ 1377 NONAME ; void QDeclarativeTextInput::inputMaskChanged(class QString const &)
+ ?inputMethodEvent@QDeclarativeItem@@MAEXPAVQInputMethodEvent@@@Z @ 1378 NONAME ; void QDeclarativeItem::inputMethodEvent(class QInputMethodEvent *)
+ ?inputMethodEvent@QDeclarativeTextEdit@@MAEXPAVQInputMethodEvent@@@Z @ 1379 NONAME ; void QDeclarativeTextEdit::inputMethodEvent(class QInputMethodEvent *)
+ ?inputMethodQuery@QDeclarativeItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 1380 NONAME ; class QVariant QDeclarativeItem::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?inputMethodQuery@QDeclarativeTextEdit@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 1381 NONAME ; class QVariant QDeclarativeTextEdit::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?inputMethodQuery@QDeclarativeTextInput@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 1382 NONAME ; class QVariant QDeclarativeTextInput::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 1383 NONAME ; void QDeclarativeListModel::insert(int, class QScriptValue const &)
+ ?insert@QDeclarativePropertyMap@@QAEXABVQString@@ABVQVariant@@@Z @ 1384 NONAME ; void QDeclarativePropertyMap::insert(class QString const &, class QVariant const &)
+ ?interactiveChanged@QDeclarativeFlickable@@IAEXXZ @ 1385 NONAME ; void QDeclarativeFlickable::interactiveChanged(void)
+ ?interfaceIId@QDeclarativeMetaType@@SAPBDH@Z @ 1386 NONAME ; char const * QDeclarativeMetaType::interfaceIId(int)
+ ?interfaceIId@QDeclarativeType@@QBEPBDXZ @ 1387 NONAME ; char const * QDeclarativeType::interfaceIId(void) const
+ ?interpolate@QDeclarativePath@@AAEXHABVQString@@M@Z @ 1388 NONAME ; void QDeclarativePath::interpolate(int, class QString const &, float)
+ ?interval@QDeclarativeTimer@@QBEHXZ @ 1389 NONAME ; int QDeclarativeTimer::interval(void) const
+ ?invalidPacket@QPacketProtocol@@IAEXXZ @ 1390 NONAME ; void QPacketProtocol::invalidPacket(void)
+ ?invalidateEngines@QDeclarativeContextPrivate@@QAEXXZ @ 1391 NONAME ; void QDeclarativeContextPrivate::invalidateEngines(void)
+ ?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 1392 NONAME ; bool QDeclarativeDomDynamicProperty::isAlias(void) const
+ ?isAtBoundaryChanged@QDeclarativeFlickable@@IAEXXZ @ 1393 NONAME ; void QDeclarativeFlickable::isAtBoundaryChanged(void)
+ ?isAtXBeginning@QDeclarativeFlickable@@QBE_NXZ @ 1394 NONAME ; bool QDeclarativeFlickable::isAtXBeginning(void) const
+ ?isAtXEnd@QDeclarativeFlickable@@QBE_NXZ @ 1395 NONAME ; bool QDeclarativeFlickable::isAtXEnd(void) const
+ ?isAtYBeginning@QDeclarativeFlickable@@QBE_NXZ @ 1396 NONAME ; bool QDeclarativeFlickable::isAtYBeginning(void) const
+ ?isAtYEnd@QDeclarativeFlickable@@QBE_NXZ @ 1397 NONAME ; bool QDeclarativeFlickable::isAtYEnd(void) const
+ ?isAttachedPropertyName@QDeclarativeCompiler@@SA_NABVQByteArray@@@Z @ 1398 NONAME ; bool QDeclarativeCompiler::isAttachedPropertyName(class QByteArray const &)
+ ?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1399 NONAME ; bool QDeclarativeDomValue::isBinding(void) const
+ ?isClosed@QDeclarativePath@@QBE_NXZ @ 1400 NONAME ; bool QDeclarativePath::isClosed(void) const
+ ?isComponent@QDeclarativeDomObject@@QBE_NXZ @ 1401 NONAME ; bool QDeclarativeDomObject::isComponent(void) const
+ ?isComponentComplete@QDeclarativeItem@@IBE_NXZ @ 1402 NONAME ; bool QDeclarativeItem::isComponentComplete(void) const
+ ?isConnected@QDeclarativeDebugClient@@QBE_NXZ @ 1403 NONAME ; bool QDeclarativeDebugClient::isConnected(void) const
+ ?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1404 NONAME ; bool QDeclarativeDebugConnection::isConnected(void) const
+ ?isCursorVisible@QDeclarativeTextEdit@@QBE_NXZ @ 1405 NONAME ; bool QDeclarativeTextEdit::isCursorVisible(void) const
+ ?isCursorVisible@QDeclarativeTextInput@@QBE_NXZ @ 1406 NONAME ; bool QDeclarativeTextInput::isCursorVisible(void) const
+ ?isCustomType@QDeclarativeDomObject@@QBE_NXZ @ 1407 NONAME ; bool QDeclarativeDomObject::isCustomType(void) const
+ ?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1408 NONAME ; bool QDeclarativeDebugService::isDebuggingEnabled(void)
+ ?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 1409 NONAME ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const
+ ?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1410 NONAME ; bool QDeclarativeDomProperty::isDefaultProperty(void) const
+ ?isDesignable@QDeclarativeProperty@@QBE_NXZ @ 1411 NONAME ; bool QDeclarativeProperty::isDesignable(void) const
+ ?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 1412 NONAME ; bool QMetaPropertyBuilder::isDesignable(void) const
+ ?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 1413 NONAME ; bool QMetaPropertyBuilder::isDynamic(void) const
+ ?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1414 NONAME ; bool QMetaPropertyBuilder::isEditable(void) const
+ ?isEmpty@QDeclarativePropertyMap@@QBE_NXZ @ 1415 NONAME ; bool QDeclarativePropertyMap::isEmpty(void) const
+ ?isEmpty@QPacket@@QBE_NXZ @ 1416 NONAME ; bool QPacket::isEmpty(void) const
+ ?isEnabled@QDeclarativeDebugClient@@QBE_NXZ @ 1417 NONAME ; bool QDeclarativeDebugClient::isEnabled(void) const
+ ?isEnabled@QDeclarativeDebugService@@QBE_NXZ @ 1418 NONAME ; bool QDeclarativeDebugService::isEnabled(void) const
+ ?isEnabled@QDeclarativeMouseArea@@QBE_NXZ @ 1419 NONAME ; bool QDeclarativeMouseArea::isEnabled(void) const
+ ?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 1420 NONAME ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const
+ ?isError@QDeclarativeCompiler@@QBE_NXZ @ 1421 NONAME ; bool QDeclarativeCompiler::isError(void) const
+ ?isError@QDeclarativeComponent@@QBE_NXZ @ 1422 NONAME ; bool QDeclarativeComponent::isError(void) const
+ ?isExplicit@QDeclarativePropertyChanges@@QBE_NXZ @ 1423 NONAME ; bool QDeclarativePropertyChanges::isExplicit(void) const
+ ?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1424 NONAME ; bool QMetaEnumBuilder::isFlag(void) const
+ ?isFlicking@QDeclarativeFlickable@@QBE_NXZ @ 1425 NONAME ; bool QDeclarativeFlickable::isFlicking(void) const
+ ?isInteractive@QDeclarativeFlickable@@QBE_NXZ @ 1426 NONAME ; bool QDeclarativeFlickable::isInteractive(void) const
+ ?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 1427 NONAME ; bool QDeclarativeMetaType::isInterface(int)
+ ?isInterface@QDeclarativeType@@QBE_NXZ @ 1428 NONAME ; bool QDeclarativeType::isInterface(void) const
+ ?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 1429 NONAME ; bool QDeclarativeDomValue::isInvalid(void) const
+ ?isKey@QDeclarativeXmlListModelRole@@QBE_NXZ @ 1430 NONAME ; bool QDeclarativeXmlListModelRole::isKey(void) const
+ ?isList@QDeclarativeCustomParserProperty@@QBE_NXZ @ 1431 NONAME ; bool QDeclarativeCustomParserProperty::isList(void) const
+ ?isList@QDeclarativeDomValue@@QBE_NXZ @ 1432 NONAME ; bool QDeclarativeDomValue::isList(void) const
+ ?isList@QDeclarativeMetaType@@SA_NH@Z @ 1433 NONAME ; bool QDeclarativeMetaType::isList(int)
+ ?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 1434 NONAME ; bool QDeclarativeDomValue::isLiteral(void) const
+ ?isLoading@QDeclarativeComponent@@QBE_NXZ @ 1435 NONAME ; bool QDeclarativeComponent::isLoading(void) const
+ ?isLoading@QDeclarativePixmapReply@@ABE_NXZ @ 1436 NONAME ; bool QDeclarativePixmapReply::isLoading(void) const
+ ?isMoving@QDeclarativeFlickable@@QBE_NXZ @ 1437 NONAME ; bool QDeclarativeFlickable::isMoving(void) const
+ ?isNull@QDeclarativeComponent@@QBE_NXZ @ 1438 NONAME ; bool QDeclarativeComponent::isNull(void) const
+ ?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 1439 NONAME ; bool QDeclarativeScaleGrid::isNull(void) const
+ ?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1440 NONAME ; bool QDeclarativeDomValue::isObject(void) const
+ ?isPaused@QDeclarativeAnimatedImage@@QBE_NXZ @ 1441 NONAME ; bool QDeclarativeAnimatedImage::isPaused(void) const
+ ?isPlaying@QDeclarativeAnimatedImage@@QBE_NXZ @ 1442 NONAME ; bool QDeclarativeAnimatedImage::isPlaying(void) const
+ ?isProperty@QDeclarativeProperty@@QBE_NXZ @ 1443 NONAME ; bool QDeclarativeProperty::isProperty(void) const
+ ?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1444 NONAME ; bool QDeclarativeMetaType::isQObject(int)
+ ?isReadOnly@QDeclarativeTextEdit@@QBE_NXZ @ 1445 NONAME ; bool QDeclarativeTextEdit::isReadOnly(void) const
+ ?isReadOnly@QDeclarativeTextInput@@QBE_NXZ @ 1446 NONAME ; bool QDeclarativeTextInput::isReadOnly(void) const
+ ?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 1447 NONAME ; bool QMetaPropertyBuilder::isReadable(void) const
+ ?isReady@QDeclarativeComponent@@QBE_NXZ @ 1448 NONAME ; bool QDeclarativeComponent::isReady(void) const
+ ?isRepeating@QDeclarativeTimer@@QBE_NXZ @ 1449 NONAME ; bool QDeclarativeTimer::isRepeating(void) const
+ ?isResettable@QDeclarativeProperty@@QBE_NXZ @ 1450 NONAME ; bool QDeclarativeProperty::isResettable(void) const
+ ?isResettable@QMetaPropertyBuilder@@QBE_NXZ @ 1451 NONAME ; bool QMetaPropertyBuilder::isResettable(void) const
+ ?isReversable@QDeclarativeAnchorChanges@@UAE_NXZ @ 1452 NONAME ; bool QDeclarativeAnchorChanges::isReversable(void)
+ ?isReversable@QDeclarativeParentChange@@UAE_NXZ @ 1453 NONAME ; bool QDeclarativeParentChange::isReversable(void)
+ ?isRunning@QDeclarativeTimer@@QBE_NXZ @ 1454 NONAME ; bool QDeclarativeTimer::isRunning(void) const
+ ?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 1455 NONAME ; bool QMetaPropertyBuilder::isScriptable(void) const
+ ?isSignalProperty@QDeclarativeProperty@@QBE_NXZ @ 1456 NONAME ; bool QDeclarativeProperty::isSignalProperty(void) const
+ ?isSignalPropertyName@QDeclarativeCompiler@@SA_NABVQByteArray@@@Z @ 1457 NONAME ; bool QDeclarativeCompiler::isSignalPropertyName(class QByteArray const &)
+ ?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 1458 NONAME ; bool QMetaPropertyBuilder::isStored(void) const
+ ?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 1459 NONAME ; bool QMetaPropertyBuilder::isUser(void) const
+ ?isValid@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 1460 NONAME ; bool QDeclarativeDomDynamicProperty::isValid(void) const
+ ?isValid@QDeclarativeDomObject@@QBE_NXZ @ 1461 NONAME ; bool QDeclarativeDomObject::isValid(void) const
+ ?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 1462 NONAME ; bool QDeclarativeDomProperty::isValid(void) const
+ ?isValid@QDeclarativeError@@QBE_NXZ @ 1463 NONAME ; bool QDeclarativeError::isValid(void) const
+ ?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 1464 NONAME ; bool QDeclarativeGridScaledImage::isValid(void) const
+ ?isValid@QDeclarativeListAccessor@@QBE_NXZ @ 1465 NONAME ; bool QDeclarativeListAccessor::isValid(void) const
+ ?isValid@QDeclarativeListReference@@QBE_NXZ @ 1466 NONAME ; bool QDeclarativeListReference::isValid(void) const
+ ?isValid@QDeclarativePen@@QAE_NXZ @ 1467 NONAME ; bool QDeclarativePen::isValid(void)
+ ?isValid@QDeclarativeProperty@@QBE_NXZ @ 1468 NONAME ; bool QDeclarativeProperty::isValid(void) const
+ ?isValid@QDeclarativeVisualDataModel@@UBE_NXZ @ 1469 NONAME ; bool QDeclarativeVisualDataModel::isValid(void) const
+ ?isValid@QDeclarativeVisualItemModel@@UBE_NXZ @ 1470 NONAME ; bool QDeclarativeVisualItemModel::isValid(void) const
+ ?isValid@QDeclarativeXmlListModelRole@@QAE_NXZ @ 1471 NONAME ; bool QDeclarativeXmlListModelRole::isValid(void)
+ ?isValidId@QDeclarativeCompiler@@SA_NABVQString@@@Z @ 1472 NONAME ; bool QDeclarativeCompiler::isValidId(class QString const &)
+ ?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 1473 NONAME ; bool QDeclarativeDomValue::isValueInterceptor(void) const
+ ?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 1474 NONAME ; bool QDeclarativeDomValue::isValueSource(void) const
+ ?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 1475 NONAME ; bool QDeclarativeDebugQuery::isWaiting(void) const
+ ?isWhenKnown@QDeclarativeState@@QBE_NXZ @ 1476 NONAME ; bool QDeclarativeState::isWhenKnown(void) const
+ ?isWrapEnabled@QDeclarativeGridView@@QBE_NXZ @ 1477 NONAME ; bool QDeclarativeGridView::isWrapEnabled(void) const
+ ?isWrapEnabled@QDeclarativeListView@@QBE_NXZ @ 1478 NONAME ; bool QDeclarativeListView::isWrapEnabled(void) const
+ ?isWritable@QDeclarativeProperty@@QBE_NXZ @ 1479 NONAME ; bool QDeclarativeProperty::isWritable(void) const
+ ?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1480 NONAME ; bool QMetaPropertyBuilder::isWritable(void) const
+ ?item@QDeclarativeLoader@@QBEPAVQGraphicsObject@@XZ @ 1481 NONAME ; class QGraphicsObject * QDeclarativeLoader::item(void) const
+ ?item@QDeclarativeVisualDataModel@@QAEPAVQDeclarativeItem@@HABVQByteArray@@_N@Z @ 1482 NONAME ; class QDeclarativeItem * QDeclarativeVisualDataModel::item(int, class QByteArray const &, bool)
+ ?item@QDeclarativeVisualDataModel@@UAEPAVQDeclarativeItem@@H_N@Z @ 1483 NONAME ; class QDeclarativeItem * QDeclarativeVisualDataModel::item(int, bool)
+ ?item@QDeclarativeVisualItemModel@@UAEPAVQDeclarativeItem@@H_N@Z @ 1484 NONAME ; class QDeclarativeItem * QDeclarativeVisualItemModel::item(int, bool)
+ ?itemChange@QDeclarativeBasePositioner@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1485 NONAME ; class QVariant QDeclarativeBasePositioner::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChange@QDeclarativeGraphicsObjectContainer@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1486 NONAME ; class QVariant QDeclarativeGraphicsObjectContainer::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChange@QDeclarativeItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1487 NONAME ; class QVariant QDeclarativeItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChange@QDeclarativeLoader@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1488 NONAME ; class QVariant QDeclarativeLoader::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChange@QDeclarativeRepeater@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1489 NONAME ; class QVariant QDeclarativeRepeater::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChanged@QDeclarativeLoader@@IAEXXZ @ 1490 NONAME ; void QDeclarativeLoader::itemChanged(void)
+ ?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 1491 NONAME ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &)
+ ?itemsInserted@QDeclarativeGridView@@AAEXHH@Z @ 1492 NONAME ; void QDeclarativeGridView::itemsInserted(int, int)
+ ?itemsInserted@QDeclarativeListView@@AAEXHH@Z @ 1493 NONAME ; void QDeclarativeListView::itemsInserted(int, int)
+ ?itemsInserted@QDeclarativePathView@@AAEXHH@Z @ 1494 NONAME ; void QDeclarativePathView::itemsInserted(int, int)
+ ?itemsInserted@QDeclarativeRepeater@@AAEXHH@Z @ 1495 NONAME ; void QDeclarativeRepeater::itemsInserted(int, int)
+ ?itemsInserted@QDeclarativeVisualModel@@IAEXHH@Z @ 1496 NONAME ; void QDeclarativeVisualModel::itemsInserted(int, int)
+ ?itemsInserted@QListModelInterface@@IAEXHH@Z @ 1497 NONAME ; void QListModelInterface::itemsInserted(int, int)
+ ?itemsMoved@QDeclarativeGridView@@AAEXHHH@Z @ 1498 NONAME ; void QDeclarativeGridView::itemsMoved(int, int, int)
+ ?itemsMoved@QDeclarativeListView@@AAEXHHH@Z @ 1499 NONAME ; void QDeclarativeListView::itemsMoved(int, int, int)
+ ?itemsMoved@QDeclarativeRepeater@@AAEXHHH@Z @ 1500 NONAME ; void QDeclarativeRepeater::itemsMoved(int, int, int)
+ ?itemsMoved@QDeclarativeVisualModel@@IAEXHHH@Z @ 1501 NONAME ; void QDeclarativeVisualModel::itemsMoved(int, int, int)
+ ?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 1502 NONAME ; void QListModelInterface::itemsMoved(int, int, int)
+ ?itemsRemoved@QDeclarativeGridView@@AAEXHH@Z @ 1503 NONAME ; void QDeclarativeGridView::itemsRemoved(int, int)
+ ?itemsRemoved@QDeclarativeListView@@AAEXHH@Z @ 1504 NONAME ; void QDeclarativeListView::itemsRemoved(int, int)
+ ?itemsRemoved@QDeclarativePathView@@AAEXHH@Z @ 1505 NONAME ; void QDeclarativePathView::itemsRemoved(int, int)
+ ?itemsRemoved@QDeclarativeRepeater@@AAEXHH@Z @ 1506 NONAME ; void QDeclarativeRepeater::itemsRemoved(int, int)
+ ?itemsRemoved@QDeclarativeVisualModel@@IAEXHH@Z @ 1507 NONAME ; void QDeclarativeVisualModel::itemsRemoved(int, int)
+ ?itemsRemoved@QListModelInterface@@IAEXHH@Z @ 1508 NONAME ; void QListModelInterface::itemsRemoved(int, int)
+ ?javaScriptAlert@QDeclarativeWebPage@@MAEXPAVQWebFrame@@ABVQString@@@Z @ 1509 NONAME ; void QDeclarativeWebPage::javaScriptAlert(class QWebFrame *, class QString const &)
+ ?javaScriptConfirm@QDeclarativeWebPage@@MAE_NPAVQWebFrame@@ABVQString@@@Z @ 1510 NONAME ; bool QDeclarativeWebPage::javaScriptConfirm(class QWebFrame *, class QString const &)
+ ?javaScriptConsoleMessage@QDeclarativeWebPage@@MAEXABVQString@@H0@Z @ 1511 NONAME ; void QDeclarativeWebPage::javaScriptConsoleMessage(class QString const &, int, class QString const &)
+ ?javaScriptPrompt@QDeclarativeWebPage@@MAE_NPAVQWebFrame@@ABVQString@@1PAV3@@Z @ 1512 NONAME ; bool QDeclarativeWebPage::javaScriptPrompt(class QWebFrame *, class QString const &, class QString const &, class QString *)
+ ?javaScriptWindowObjects@QDeclarativeWebView@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 1513 NONAME ; struct QDeclarativeListProperty<class QObject> QDeclarativeWebView::javaScriptWindowObjects(void)
+ ?keepMouseGrab@QDeclarativeItem@@QBE_NXZ @ 1514 NONAME ; bool QDeclarativeItem::keepMouseGrab(void) const
+ ?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1515 NONAME ; class QByteArray QMetaEnumBuilder::key(int) const
+ ?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1516 NONAME ; int QMetaEnumBuilder::keyCount(void) const
+ ?keyPressEvent@QDeclarativeGridView@@MAEXPAVQKeyEvent@@@Z @ 1517 NONAME ; void QDeclarativeGridView::keyPressEvent(class QKeyEvent *)
+ ?keyPressEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 1518 NONAME ; void QDeclarativeItem::keyPressEvent(class QKeyEvent *)
+ ?keyPressEvent@QDeclarativeListView@@MAEXPAVQKeyEvent@@@Z @ 1519 NONAME ; void QDeclarativeListView::keyPressEvent(class QKeyEvent *)
+ ?keyPressEvent@QDeclarativeTextEdit@@MAEXPAVQKeyEvent@@@Z @ 1520 NONAME ; void QDeclarativeTextEdit::keyPressEvent(class QKeyEvent *)
+ ?keyPressEvent@QDeclarativeTextInput@@MAEXPAVQKeyEvent@@@Z @ 1521 NONAME ; void QDeclarativeTextInput::keyPressEvent(class QKeyEvent *)
+ ?keyPressEvent@QDeclarativeWebView@@MAEXPAVQKeyEvent@@@Z @ 1522 NONAME ; void QDeclarativeWebView::keyPressEvent(class QKeyEvent *)
+ ?keyReleaseEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 1523 NONAME ; void QDeclarativeItem::keyReleaseEvent(class QKeyEvent *)
+ ?keyReleaseEvent@QDeclarativeTextEdit@@MAEXPAVQKeyEvent@@@Z @ 1524 NONAME ; void QDeclarativeTextEdit::keyReleaseEvent(class QKeyEvent *)
+ ?keyReleaseEvent@QDeclarativeWebView@@MAEXPAVQKeyEvent@@@Z @ 1525 NONAME ; void QDeclarativeWebView::keyReleaseEvent(class QKeyEvent *)
+ ?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 1526 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const
+ ?layout@QDeclarativeGridView@@AAEXXZ @ 1527 NONAME ; void QDeclarativeGridView::layout(void)
+ ?left@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1528 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::left(void) const
+ ?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1529 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const
+ ?left@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1530 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::left(void) const
+ ?left@QDeclarativeScaleGrid@@QBEHXZ @ 1531 NONAME ; int QDeclarativeScaleGrid::left(void) const
+ ?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1532 NONAME ; void QDeclarativeAnchors::leftChanged(void)
+ ?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1533 NONAME ; float QDeclarativeAnchors::leftMargin(void) const
+ ?leftMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1534 NONAME ; void QDeclarativeAnchors::leftMarginChanged(void)
+ ?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 1535 NONAME ; int QDeclarativeDomDynamicProperty::length(void) const
+ ?length@QDeclarativeDomList@@QBEHXZ @ 1536 NONAME ; int QDeclarativeDomList::length(void) const
+ ?length@QDeclarativeDomObject@@QBEHXZ @ 1537 NONAME ; int QDeclarativeDomObject::length(void) const
+ ?length@QDeclarativeDomProperty@@QBEHXZ @ 1538 NONAME ; int QDeclarativeDomProperty::length(void) const
+ ?length@QDeclarativeDomValue@@QBEHXZ @ 1539 NONAME ; int QDeclarativeDomValue::length(void) const
+ ?lifeSpan@QDeclarativeParticles@@QBEHXZ @ 1540 NONAME ; int QDeclarativeParticles::lifeSpan(void) const
+ ?lifeSpanChanged@QDeclarativeParticles@@IAEXXZ @ 1541 NONAME ; void QDeclarativeParticles::lifeSpanChanged(void)
+ ?lifeSpanDeviation@QDeclarativeParticles@@QBEHXZ @ 1542 NONAME ; int QDeclarativeParticles::lifeSpanDeviation(void) const
+ ?lifeSpanDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 1543 NONAME ; void QDeclarativeParticles::lifeSpanDeviationChanged(void)
+ ?light@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 1544 NONAME ; class QColor QDeclarativeSystemPalette::light(void) const
+ ?line@QDeclarativeError@@QBEHXZ @ 1545 NONAME ; int QDeclarativeError::line(void) const
+ ?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1546 NONAME ; int QDeclarativeDebugFileReference::lineNumber(void) const
+ ?lineNumber@QDeclarativeExpression@@QBEHXZ @ 1547 NONAME ; int QDeclarativeExpression::lineNumber(void) const
+ ?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1548 NONAME ; void QDeclarativeText::linkActivated(class QString const &)
+ ?list@QDeclarativeListAccessor@@QBE?AVQVariant@@XZ @ 1549 NONAME ; class QVariant QDeclarativeListAccessor::list(void) const
+ ?listElementType@QDeclarativeListReference@@QBEPBUQMetaObject@@XZ @ 1550 NONAME ; struct QMetaObject const * QDeclarativeListReference::listElementType(void) const
+ ?listType@QDeclarativeMetaType@@SAHH@Z @ 1551 NONAME ; int QDeclarativeMetaType::listType(int)
+ ?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1552 NONAME ; class QString QDeclarativeDomValueLiteral::literal(void) const
+ ?load@QDeclarativeBorderImage@@MAEXXZ @ 1553 NONAME ; void QDeclarativeBorderImage::load(void)
+ ?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 1554 NONAME ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &)
+ ?load@QDeclarativeImageBase@@MAEXXZ @ 1555 NONAME ; void QDeclarativeImageBase::load(void)
+ ?load@QDeclarativeWebView@@QAEXABVQNetworkRequest@@W4Operation@QNetworkAccessManager@@ABVQByteArray@@@Z @ 1556 NONAME ; void QDeclarativeWebView::load(class QNetworkRequest const &, enum QNetworkAccessManager::Operation, class QByteArray const &)
+ ?loadCursorDelegate@QDeclarativeTextEdit@@AAEXXZ @ 1557 NONAME ; void QDeclarativeTextEdit::loadCursorDelegate(void)
+ ?loadFailed@QDeclarativeWebView@@IAEXXZ @ 1558 NONAME ; void QDeclarativeWebView::loadFailed(void)
+ ?loadFinished@QDeclarativeWebView@@IAEXXZ @ 1559 NONAME ; void QDeclarativeWebView::loadFinished(void)
+ ?loadStarted@QDeclarativeWebView@@IAEXXZ @ 1560 NONAME ; void QDeclarativeWebView::loadStarted(void)
+ ?loadUrl@QDeclarativeComponent@@QAEXABVQUrl@@@Z @ 1561 NONAME ; void QDeclarativeComponent::loadUrl(class QUrl const &)
+ ?location@QDeclarativeCustomParserNode@@QBE?AULocation@QDeclarativeParser@@XZ @ 1562 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserNode::location(void) const
+ ?location@QDeclarativeCustomParserProperty@@QBE?AULocation@QDeclarativeParser@@XZ @ 1563 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserProperty::location(void) const
+ ?longStyle@QDeclarativeDateTimeFormatter@@QBE_NXZ @ 1564 NONAME ; bool QDeclarativeDateTimeFormatter::longStyle(void) const
+ ?majorVersion@QDeclarativeType@@QBEHXZ @ 1565 NONAME ; int QDeclarativeType::majorVersion(void) const
+ ?margins@QDeclarativeAnchors@@QBEMXZ @ 1566 NONAME ; float QDeclarativeAnchors::margins(void) const
+ ?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 1567 NONAME ; void QDeclarativeAnchors::marginsChanged(void)
+ ?mass@QDeclarativeSpringFollow@@QBEMXZ @ 1568 NONAME ; float QDeclarativeSpringFollow::mass(void) const
+ ?massChanged@QDeclarativeSpringFollow@@IAEXXZ @ 1569 NONAME ; void QDeclarativeSpringFollow::massChanged(void)
+ ?maxLength@QDeclarativeTextInput@@QBEHXZ @ 1570 NONAME ; int QDeclarativeTextInput::maxLength(void) const
+ ?maxXExtent@QDeclarativeFlickable@@MBEMXZ @ 1571 NONAME ; float QDeclarativeFlickable::maxXExtent(void) const
+ ?maxXExtent@QDeclarativeGridView@@MBEMXZ @ 1572 NONAME ; float QDeclarativeGridView::maxXExtent(void) const
+ ?maxXExtent@QDeclarativeListView@@MBEMXZ @ 1573 NONAME ; float QDeclarativeListView::maxXExtent(void) const
+ ?maxYExtent@QDeclarativeFlickable@@MBEMXZ @ 1574 NONAME ; float QDeclarativeFlickable::maxYExtent(void) const
+ ?maxYExtent@QDeclarativeGridView@@MBEMXZ @ 1575 NONAME ; float QDeclarativeGridView::maxYExtent(void) const
+ ?maxYExtent@QDeclarativeListView@@MBEMXZ @ 1576 NONAME ; float QDeclarativeListView::maxYExtent(void) const
+ ?maximumEasingTime@QDeclarativeEaseFollow@@QBEMXZ @ 1577 NONAME ; float QDeclarativeEaseFollow::maximumEasingTime(void) const
+ ?maximumEasingTimeChanged@QDeclarativeEaseFollow@@IAEXXZ @ 1578 NONAME ; void QDeclarativeEaseFollow::maximumEasingTimeChanged(void)
+ ?maximumFlickVelocity@QDeclarativeFlickable@@QBEMXZ @ 1579 NONAME ; float QDeclarativeFlickable::maximumFlickVelocity(void) const
+ ?maximumFlickVelocityChanged@QDeclarativeFlickable@@IAEXXZ @ 1580 NONAME ; void QDeclarativeFlickable::maximumFlickVelocityChanged(void)
+ ?maximumLengthChanged@QDeclarativeTextInput@@IAEXH@Z @ 1581 NONAME ; void QDeclarativeTextInput::maximumLengthChanged(int)
+ ?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1582 NONAME ; int QPacketProtocol::maximumPacketSize(void) const
+ ?maximumXChanged@QDeclarativeDrag@@IAEXXZ @ 1583 NONAME ; void QDeclarativeDrag::maximumXChanged(void)
+ ?maximumYChanged@QDeclarativeDrag@@IAEXXZ @ 1584 NONAME ; void QDeclarativeDrag::maximumYChanged(void)
+ ?mergeDynamicMetaProperties@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@@Z @ 1585 NONAME ; bool QDeclarativeCompiler::mergeDynamicMetaProperties(class QDeclarativeParser::Object *)
+ ?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1586 NONAME ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &)
+ ?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1587 NONAME ; void QDeclarativeDebugService::messageReceived(class QByteArray const &)
+ ?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1588 NONAME ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@QDeclarativeAnchorChanges@@UBEPBUQMetaObject@@XZ @ 1589 NONAME ; struct QMetaObject const * QDeclarativeAnchorChanges::metaObject(void) const
+ ?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 1590 NONAME ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const
+ ?metaObject@QDeclarativeAnimatedImage@@UBEPBUQMetaObject@@XZ @ 1591 NONAME ; struct QMetaObject const * QDeclarativeAnimatedImage::metaObject(void) const
+ ?metaObject@QDeclarativeBasePositioner@@UBEPBUQMetaObject@@XZ @ 1592 NONAME ; struct QMetaObject const * QDeclarativeBasePositioner::metaObject(void) const
+ ?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 1593 NONAME ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const
+ ?metaObject@QDeclarativeBind@@UBEPBUQMetaObject@@XZ @ 1594 NONAME ; struct QMetaObject const * QDeclarativeBind::metaObject(void) const
+ ?metaObject@QDeclarativeBorderImage@@UBEPBUQMetaObject@@XZ @ 1595 NONAME ; struct QMetaObject const * QDeclarativeBorderImage::metaObject(void) const
+ ?metaObject@QDeclarativeColumn@@UBEPBUQMetaObject@@XZ @ 1596 NONAME ; struct QMetaObject const * QDeclarativeColumn::metaObject(void) const
+ ?metaObject@QDeclarativeComponent@@UBEPBUQMetaObject@@XZ @ 1597 NONAME ; struct QMetaObject const * QDeclarativeComponent::metaObject(void) const
+ ?metaObject@QDeclarativeConnections@@UBEPBUQMetaObject@@XZ @ 1598 NONAME ; struct QMetaObject const * QDeclarativeConnections::metaObject(void) const
+ ?metaObject@QDeclarativeContext@@UBEPBUQMetaObject@@XZ @ 1599 NONAME ; struct QMetaObject const * QDeclarativeContext::metaObject(void) const
+ ?metaObject@QDeclarativeCurve@@UBEPBUQMetaObject@@XZ @ 1600 NONAME ; struct QMetaObject const * QDeclarativeCurve::metaObject(void) const
+ ?metaObject@QDeclarativeDateTimeFormatter@@UBEPBUQMetaObject@@XZ @ 1601 NONAME ; struct QMetaObject const * QDeclarativeDateTimeFormatter::metaObject(void) const
+ ?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 1602 NONAME ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const
+ ?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1603 NONAME ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const
+ ?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1604 NONAME ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const
+ ?metaObject@QDeclarativeDebugExpressionQuery@@UBEPBUQMetaObject@@XZ @ 1605 NONAME ; struct QMetaObject const * QDeclarativeDebugExpressionQuery::metaObject(void) const
+ ?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 1606 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const
+ ?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1607 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const
+ ?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 1608 NONAME ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const
+ ?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1609 NONAME ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const
+ ?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1610 NONAME ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const
+ ?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1611 NONAME ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const
+ ?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 1612 NONAME ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const
+ ?metaObject@QDeclarativeDrag@@UBEPBUQMetaObject@@XZ @ 1613 NONAME ; struct QMetaObject const * QDeclarativeDrag::metaObject(void) const
+ ?metaObject@QDeclarativeEaseFollow@@UBEPBUQMetaObject@@XZ @ 1614 NONAME ; struct QMetaObject const * QDeclarativeEaseFollow::metaObject(void) const
+ ?metaObject@QDeclarativeEngine@@UBEPBUQMetaObject@@XZ @ 1615 NONAME ; struct QMetaObject const * QDeclarativeEngine::metaObject(void) const
+ ?metaObject@QDeclarativeEngineDebug@@UBEPBUQMetaObject@@XZ @ 1616 NONAME ; struct QMetaObject const * QDeclarativeEngineDebug::metaObject(void) const
+ ?metaObject@QDeclarativeExpression@@UBEPBUQMetaObject@@XZ @ 1617 NONAME ; struct QMetaObject const * QDeclarativeExpression::metaObject(void) const
+ ?metaObject@QDeclarativeExtensionPlugin@@UBEPBUQMetaObject@@XZ @ 1618 NONAME ; struct QMetaObject const * QDeclarativeExtensionPlugin::metaObject(void) const
+ ?metaObject@QDeclarativeFlickable@@UBEPBUQMetaObject@@XZ @ 1619 NONAME ; struct QMetaObject const * QDeclarativeFlickable::metaObject(void) const
+ ?metaObject@QDeclarativeFlipable@@UBEPBUQMetaObject@@XZ @ 1620 NONAME ; struct QMetaObject const * QDeclarativeFlipable::metaObject(void) const
+ ?metaObject@QDeclarativeFlow@@UBEPBUQMetaObject@@XZ @ 1621 NONAME ; struct QMetaObject const * QDeclarativeFlow::metaObject(void) const
+ ?metaObject@QDeclarativeFocusPanel@@UBEPBUQMetaObject@@XZ @ 1622 NONAME ; struct QMetaObject const * QDeclarativeFocusPanel::metaObject(void) const
+ ?metaObject@QDeclarativeFocusScope@@UBEPBUQMetaObject@@XZ @ 1623 NONAME ; struct QMetaObject const * QDeclarativeFocusScope::metaObject(void) const
+ ?metaObject@QDeclarativeFontLoader@@UBEPBUQMetaObject@@XZ @ 1624 NONAME ; struct QMetaObject const * QDeclarativeFontLoader::metaObject(void) const
+ ?metaObject@QDeclarativeGradient@@UBEPBUQMetaObject@@XZ @ 1625 NONAME ; struct QMetaObject const * QDeclarativeGradient::metaObject(void) const
+ ?metaObject@QDeclarativeGradientStop@@UBEPBUQMetaObject@@XZ @ 1626 NONAME ; struct QMetaObject const * QDeclarativeGradientStop::metaObject(void) const
+ ?metaObject@QDeclarativeGraphicsObjectContainer@@UBEPBUQMetaObject@@XZ @ 1627 NONAME ; struct QMetaObject const * QDeclarativeGraphicsObjectContainer::metaObject(void) const
+ ?metaObject@QDeclarativeGrid@@UBEPBUQMetaObject@@XZ @ 1628 NONAME ; struct QMetaObject const * QDeclarativeGrid::metaObject(void) const
+ ?metaObject@QDeclarativeGridView@@UBEPBUQMetaObject@@XZ @ 1629 NONAME ; struct QMetaObject const * QDeclarativeGridView::metaObject(void) const
+ ?metaObject@QDeclarativeImage@@UBEPBUQMetaObject@@XZ @ 1630 NONAME ; struct QMetaObject const * QDeclarativeImage::metaObject(void) const
+ ?metaObject@QDeclarativeImageBase@@UBEPBUQMetaObject@@XZ @ 1631 NONAME ; struct QMetaObject const * QDeclarativeImageBase::metaObject(void) const
+ ?metaObject@QDeclarativeItem@@UBEPBUQMetaObject@@XZ @ 1632 NONAME ; struct QMetaObject const * QDeclarativeItem::metaObject(void) const
+ ?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1633 NONAME ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const
+ ?metaObject@QDeclarativeListView@@UBEPBUQMetaObject@@XZ @ 1634 NONAME ; struct QMetaObject const * QDeclarativeListView::metaObject(void) const
+ ?metaObject@QDeclarativeLoader@@UBEPBUQMetaObject@@XZ @ 1635 NONAME ; struct QMetaObject const * QDeclarativeLoader::metaObject(void) const
+ ?metaObject@QDeclarativeMouseArea@@UBEPBUQMetaObject@@XZ @ 1636 NONAME ; struct QMetaObject const * QDeclarativeMouseArea::metaObject(void) const
+ ?metaObject@QDeclarativeNumberFormatter@@UBEPBUQMetaObject@@XZ @ 1637 NONAME ; struct QMetaObject const * QDeclarativeNumberFormatter::metaObject(void) const
+ ?metaObject@QDeclarativePaintedItem@@UBEPBUQMetaObject@@XZ @ 1638 NONAME ; struct QMetaObject const * QDeclarativePaintedItem::metaObject(void) const
+ ?metaObject@QDeclarativeParentChange@@UBEPBUQMetaObject@@XZ @ 1639 NONAME ; struct QMetaObject const * QDeclarativeParentChange::metaObject(void) const
+ ?metaObject@QDeclarativeParticleMotion@@UBEPBUQMetaObject@@XZ @ 1640 NONAME ; struct QMetaObject const * QDeclarativeParticleMotion::metaObject(void) const
+ ?metaObject@QDeclarativeParticleMotionGravity@@UBEPBUQMetaObject@@XZ @ 1641 NONAME ; struct QMetaObject const * QDeclarativeParticleMotionGravity::metaObject(void) const
+ ?metaObject@QDeclarativeParticleMotionLinear@@UBEPBUQMetaObject@@XZ @ 1642 NONAME ; struct QMetaObject const * QDeclarativeParticleMotionLinear::metaObject(void) const
+ ?metaObject@QDeclarativeParticleMotionWander@@UBEPBUQMetaObject@@XZ @ 1643 NONAME ; struct QMetaObject const * QDeclarativeParticleMotionWander::metaObject(void) const
+ ?metaObject@QDeclarativeParticles@@UBEPBUQMetaObject@@XZ @ 1644 NONAME ; struct QMetaObject const * QDeclarativeParticles::metaObject(void) const
+ ?metaObject@QDeclarativePath@@UBEPBUQMetaObject@@XZ @ 1645 NONAME ; struct QMetaObject const * QDeclarativePath::metaObject(void) const
+ ?metaObject@QDeclarativePathAttribute@@UBEPBUQMetaObject@@XZ @ 1646 NONAME ; struct QMetaObject const * QDeclarativePathAttribute::metaObject(void) const
+ ?metaObject@QDeclarativePathCubic@@UBEPBUQMetaObject@@XZ @ 1647 NONAME ; struct QMetaObject const * QDeclarativePathCubic::metaObject(void) const
+ ?metaObject@QDeclarativePathElement@@UBEPBUQMetaObject@@XZ @ 1648 NONAME ; struct QMetaObject const * QDeclarativePathElement::metaObject(void) const
+ ?metaObject@QDeclarativePathLine@@UBEPBUQMetaObject@@XZ @ 1649 NONAME ; struct QMetaObject const * QDeclarativePathLine::metaObject(void) const
+ ?metaObject@QDeclarativePathPercent@@UBEPBUQMetaObject@@XZ @ 1650 NONAME ; struct QMetaObject const * QDeclarativePathPercent::metaObject(void) const
+ ?metaObject@QDeclarativePathQuad@@UBEPBUQMetaObject@@XZ @ 1651 NONAME ; struct QMetaObject const * QDeclarativePathQuad::metaObject(void) const
+ ?metaObject@QDeclarativePathView@@UBEPBUQMetaObject@@XZ @ 1652 NONAME ; struct QMetaObject const * QDeclarativePathView::metaObject(void) const
+ ?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1653 NONAME ; struct QMetaObject const * QDeclarativePen::metaObject(void) const
+ ?metaObject@QDeclarativePixmapReply@@UBEPBUQMetaObject@@XZ @ 1654 NONAME ; struct QMetaObject const * QDeclarativePixmapReply::metaObject(void) const
+ ?metaObject@QDeclarativePropertyChanges@@UBEPBUQMetaObject@@XZ @ 1655 NONAME ; struct QMetaObject const * QDeclarativePropertyChanges::metaObject(void) const
+ ?metaObject@QDeclarativePropertyMap@@UBEPBUQMetaObject@@XZ @ 1656 NONAME ; struct QMetaObject const * QDeclarativePropertyMap::metaObject(void) const
+ ?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1657 NONAME ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const
+ ?metaObject@QDeclarativeRepeater@@UBEPBUQMetaObject@@XZ @ 1658 NONAME ; struct QMetaObject const * QDeclarativeRepeater::metaObject(void) const
+ ?metaObject@QDeclarativeRow@@UBEPBUQMetaObject@@XZ @ 1659 NONAME ; struct QMetaObject const * QDeclarativeRow::metaObject(void) const
+ ?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1660 NONAME ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const
+ ?metaObject@QDeclarativeSpringFollow@@UBEPBUQMetaObject@@XZ @ 1661 NONAME ; struct QMetaObject const * QDeclarativeSpringFollow::metaObject(void) const
+ ?metaObject@QDeclarativeState@@UBEPBUQMetaObject@@XZ @ 1662 NONAME ; struct QMetaObject const * QDeclarativeState::metaObject(void) const
+ ?metaObject@QDeclarativeStateChangeScript@@UBEPBUQMetaObject@@XZ @ 1663 NONAME ; struct QMetaObject const * QDeclarativeStateChangeScript::metaObject(void) const
+ ?metaObject@QDeclarativeStateGroup@@UBEPBUQMetaObject@@XZ @ 1664 NONAME ; struct QMetaObject const * QDeclarativeStateGroup::metaObject(void) const
+ ?metaObject@QDeclarativeStateOperation@@UBEPBUQMetaObject@@XZ @ 1665 NONAME ; struct QMetaObject const * QDeclarativeStateOperation::metaObject(void) const
+ ?metaObject@QDeclarativeSystemPalette@@UBEPBUQMetaObject@@XZ @ 1666 NONAME ; struct QMetaObject const * QDeclarativeSystemPalette::metaObject(void) const
+ ?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 1667 NONAME ; struct QMetaObject const * QDeclarativeText::metaObject(void) const
+ ?metaObject@QDeclarativeTextEdit@@UBEPBUQMetaObject@@XZ @ 1668 NONAME ; struct QMetaObject const * QDeclarativeTextEdit::metaObject(void) const
+ ?metaObject@QDeclarativeTextInput@@UBEPBUQMetaObject@@XZ @ 1669 NONAME ; struct QMetaObject const * QDeclarativeTextInput::metaObject(void) const
+ ?metaObject@QDeclarativeTimer@@UBEPBUQMetaObject@@XZ @ 1670 NONAME ; struct QMetaObject const * QDeclarativeTimer::metaObject(void) const
+ ?metaObject@QDeclarativeTransition@@UBEPBUQMetaObject@@XZ @ 1671 NONAME ; struct QMetaObject const * QDeclarativeTransition::metaObject(void) const
+ ?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 1672 NONAME ; struct QMetaObject const * QDeclarativeType::metaObject(void) const
+ ?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 1673 NONAME ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const
+ ?metaObject@QDeclarativeView@@UBEPBUQMetaObject@@XZ @ 1674 NONAME ; struct QMetaObject const * QDeclarativeView::metaObject(void) const
+ ?metaObject@QDeclarativeViewSection@@UBEPBUQMetaObject@@XZ @ 1675 NONAME ; struct QMetaObject const * QDeclarativeViewSection::metaObject(void) const
+ ?metaObject@QDeclarativeVisualDataModel@@UBEPBUQMetaObject@@XZ @ 1676 NONAME ; struct QMetaObject const * QDeclarativeVisualDataModel::metaObject(void) const
+ ?metaObject@QDeclarativeVisualItemModel@@UBEPBUQMetaObject@@XZ @ 1677 NONAME ; struct QMetaObject const * QDeclarativeVisualItemModel::metaObject(void) const
+ ?metaObject@QDeclarativeVisualModel@@UBEPBUQMetaObject@@XZ @ 1678 NONAME ; struct QMetaObject const * QDeclarativeVisualModel::metaObject(void) const
+ ?metaObject@QDeclarativeWebPage@@UBEPBUQMetaObject@@XZ @ 1679 NONAME ; struct QMetaObject const * QDeclarativeWebPage::metaObject(void) const
+ ?metaObject@QDeclarativeWebView@@UBEPBUQMetaObject@@XZ @ 1680 NONAME ; struct QMetaObject const * QDeclarativeWebView::metaObject(void) const
+ ?metaObject@QDeclarativeXmlListModel@@UBEPBUQMetaObject@@XZ @ 1681 NONAME ; struct QMetaObject const * QDeclarativeXmlListModel::metaObject(void) const
+ ?metaObject@QDeclarativeXmlListModelRole@@UBEPBUQMetaObject@@XZ @ 1682 NONAME ; struct QMetaObject const * QDeclarativeXmlListModelRole::metaObject(void) const
+ ?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1683 NONAME ; struct QMetaObject const * QListModelInterface::metaObject(void) const
+ ?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1684 NONAME ; struct QMetaObject const * QPacketProtocol::metaObject(void) const
+ ?method@QDeclarativeProperty@@QBE?AVQMetaMethod@@XZ @ 1685 NONAME ; class QMetaMethod QDeclarativeProperty::method(void) const
+ ?method@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 1686 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::method(int) const
+ ?methodCount@QMetaObjectBuilder@@QBEHXZ @ 1687 NONAME ; int QMetaObjectBuilder::methodCount(void) const
+ ?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 1688 NONAME ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const
+ ?mid@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 1689 NONAME ; class QColor QDeclarativeSystemPalette::mid(void) const
+ ?midlight@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 1690 NONAME ; class QColor QDeclarativeSystemPalette::midlight(void) const
+ ?minXExtent@QDeclarativeFlickable@@MBEMXZ @ 1691 NONAME ; float QDeclarativeFlickable::minXExtent(void) const
+ ?minXExtent@QDeclarativeGridView@@MBEMXZ @ 1692 NONAME ; float QDeclarativeGridView::minXExtent(void) const
+ ?minXExtent@QDeclarativeListView@@MBEMXZ @ 1693 NONAME ; float QDeclarativeListView::minXExtent(void) const
+ ?minYExtent@QDeclarativeFlickable@@MBEMXZ @ 1694 NONAME ; float QDeclarativeFlickable::minYExtent(void) const
+ ?minYExtent@QDeclarativeGridView@@MBEMXZ @ 1695 NONAME ; float QDeclarativeGridView::minYExtent(void) const
+ ?minYExtent@QDeclarativeListView@@MBEMXZ @ 1696 NONAME ; float QDeclarativeListView::minYExtent(void) const
+ ?minimumXChanged@QDeclarativeDrag@@IAEXXZ @ 1697 NONAME ; void QDeclarativeDrag::minimumXChanged(void)
+ ?minimumYChanged@QDeclarativeDrag@@IAEXXZ @ 1698 NONAME ; void QDeclarativeDrag::minimumYChanged(void)
+ ?minorVersion@QDeclarativeType@@QBEHXZ @ 1699 NONAME ; int QDeclarativeType::minorVersion(void) const
+ ?model@QDeclarativeGridView@@QBE?AVQVariant@@XZ @ 1700 NONAME ; class QVariant QDeclarativeGridView::model(void) const
+ ?model@QDeclarativeListView@@QBE?AVQVariant@@XZ @ 1701 NONAME ; class QVariant QDeclarativeListView::model(void) const
+ ?model@QDeclarativePathView@@QBE?AVQVariant@@XZ @ 1702 NONAME ; class QVariant QDeclarativePathView::model(void) const
+ ?model@QDeclarativeRepeater@@QBE?AVQVariant@@XZ @ 1703 NONAME ; class QVariant QDeclarativeRepeater::model(void) const
+ ?model@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 1704 NONAME ; class QVariant QDeclarativeVisualDataModel::model(void) const
+ ?modelChanged@QDeclarativeRepeater@@IAEXXZ @ 1705 NONAME ; void QDeclarativeRepeater::modelChanged(void)
+ ?modelReset@QDeclarativeGridView@@AAEXXZ @ 1706 NONAME ; void QDeclarativeGridView::modelReset(void)
+ ?modelReset@QDeclarativeListView@@AAEXXZ @ 1707 NONAME ; void QDeclarativeListView::modelReset(void)
+ ?modelReset@QDeclarativePathView@@AAEXXZ @ 1708 NONAME ; void QDeclarativePathView::modelReset(void)
+ ?modelReset@QDeclarativeRepeater@@AAEXXZ @ 1709 NONAME ; void QDeclarativeRepeater::modelReset(void)
+ ?modelReset@QDeclarativeVisualModel@@IAEXXZ @ 1710 NONAME ; void QDeclarativeVisualModel::modelReset(void)
+ ?modulus@QDeclarativeSpringFollow@@QBEMXZ @ 1711 NONAME ; float QDeclarativeSpringFollow::modulus(void) const
+ ?modulusChanged@QDeclarativeSpringFollow@@IAEXXZ @ 1712 NONAME ; void QDeclarativeSpringFollow::modulusChanged(void)
+ ?motion@QDeclarativeParticles@@QBEPAVQDeclarativeParticleMotion@@XZ @ 1713 NONAME ; class QDeclarativeParticleMotion * QDeclarativeParticles::motion(void) const
+ ?motionChanged@QDeclarativeParticles@@IAEXXZ @ 1714 NONAME ; void QDeclarativeParticles::motionChanged(void)
+ ?mouseDoubleClickEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1715 NONAME ; void QDeclarativeMouseArea::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseDoubleClickEvent@QDeclarativeTextEdit@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1716 NONAME ; void QDeclarativeTextEdit::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseDoubleClickEvent@QDeclarativeWebView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1717 NONAME ; void QDeclarativeWebView::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseMoveEvent@QDeclarativeFlickable@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1718 NONAME ; void QDeclarativeFlickable::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseMoveEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1719 NONAME ; void QDeclarativeMouseArea::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseMoveEvent@QDeclarativePathView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1720 NONAME ; void QDeclarativePathView::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseMoveEvent@QDeclarativeTextEdit@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1721 NONAME ; void QDeclarativeTextEdit::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseMoveEvent@QDeclarativeWebView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1722 NONAME ; void QDeclarativeWebView::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeFlickable@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1723 NONAME ; void QDeclarativeFlickable::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1724 NONAME ; void QDeclarativeMouseArea::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativePathView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1725 NONAME ; void QDeclarativePathView::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1726 NONAME ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeTextEdit@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1727 NONAME ; void QDeclarativeTextEdit::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1728 NONAME ; void QDeclarativeTextInput::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mousePressEvent@QDeclarativeWebView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1729 NONAME ; void QDeclarativeWebView::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeFlickable@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1730 NONAME ; void QDeclarativeFlickable::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeMouseArea@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1731 NONAME ; void QDeclarativeMouseArea::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativePathView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1732 NONAME ; void QDeclarativePathView::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1733 NONAME ; void QDeclarativeText::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeTextEdit@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1734 NONAME ; void QDeclarativeTextEdit::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1735 NONAME ; void QDeclarativeTextInput::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseReleaseEvent@QDeclarativeWebView@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1736 NONAME ; void QDeclarativeWebView::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?mouseX@QDeclarativeMouseArea@@QBEMXZ @ 1737 NONAME ; float QDeclarativeMouseArea::mouseX(void) const
+ ?mouseY@QDeclarativeMouseArea@@QBEMXZ @ 1738 NONAME ; float QDeclarativeMouseArea::mouseY(void) const
+ ?move@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 1739 NONAME ; class QDeclarativeTransition * QDeclarativeBasePositioner::move(void) const
+ ?move@QDeclarativeListModel@@QAEXHHH@Z @ 1740 NONAME ; void QDeclarativeListModel::move(int, int, int)
+ ?moveChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1741 NONAME ; void QDeclarativeBasePositioner::moveChanged(void)
+ ?moveCurrentIndexDown@QDeclarativeGridView@@QAEXXZ @ 1742 NONAME ; void QDeclarativeGridView::moveCurrentIndexDown(void)
+ ?moveCurrentIndexLeft@QDeclarativeGridView@@QAEXXZ @ 1743 NONAME ; void QDeclarativeGridView::moveCurrentIndexLeft(void)
+ ?moveCurrentIndexRight@QDeclarativeGridView@@QAEXXZ @ 1744 NONAME ; void QDeclarativeGridView::moveCurrentIndexRight(void)
+ ?moveCurrentIndexUp@QDeclarativeGridView@@QAEXXZ @ 1745 NONAME ; void QDeclarativeGridView::moveCurrentIndexUp(void)
+ ?moveCursor@QDeclarativeTextInput@@AAEXXZ @ 1746 NONAME ; void QDeclarativeTextInput::moveCursor(void)
+ ?moveCursorDelegate@QDeclarativeTextEdit@@AAEXXZ @ 1747 NONAME ; void QDeclarativeTextEdit::moveCursorDelegate(void)
+ ?movementEnded@QDeclarativeFlickable@@IAEXXZ @ 1748 NONAME ; void QDeclarativeFlickable::movementEnded(void)
+ ?movementEnding@QDeclarativeFlickable@@IAEXXZ @ 1749 NONAME ; void QDeclarativeFlickable::movementEnding(void)
+ ?movementStarted@QDeclarativeFlickable@@IAEXXZ @ 1750 NONAME ; void QDeclarativeFlickable::movementStarted(void)
+ ?movementStarting@QDeclarativeFlickable@@IAEXXZ @ 1751 NONAME ; void QDeclarativeFlickable::movementStarting(void)
+ ?movieRequestFinished@QDeclarativeAnimatedImage@@AAEXXZ @ 1752 NONAME ; void QDeclarativeAnimatedImage::movieRequestFinished(void)
+ ?movieUpdate@QDeclarativeAnimatedImage@@AAEXXZ @ 1753 NONAME ; void QDeclarativeAnimatedImage::movieUpdate(void)
+ ?movingChanged@QDeclarativeFlickable@@IAEXXZ @ 1754 NONAME ; void QDeclarativeFlickable::movingChanged(void)
+ ?name@QDeclarativeCustomParserNode@@QBE?AVQByteArray@@XZ @ 1755 NONAME ; class QByteArray QDeclarativeCustomParserNode::name(void) const
+ ?name@QDeclarativeCustomParserProperty@@QBE?AVQByteArray@@XZ @ 1756 NONAME ; class QByteArray QDeclarativeCustomParserProperty::name(void) const
+ ?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1757 NONAME ; class QString QDeclarativeDebugClient::name(void) const
+ ?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1758 NONAME ; class QString QDeclarativeDebugContextReference::name(void) const
+ ?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 1759 NONAME ; class QString QDeclarativeDebugEngineReference::name(void) const
+ ?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1760 NONAME ; class QString QDeclarativeDebugObjectReference::name(void) const
+ ?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 1761 NONAME ; class QString QDeclarativeDebugPropertyReference::name(void) const
+ ?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 1762 NONAME ; class QString QDeclarativeDebugPropertyWatch::name(void) const
+ ?name@QDeclarativeDebugService@@QBE?AVQString@@XZ @ 1763 NONAME ; class QString QDeclarativeDebugService::name(void) const
+ ?name@QDeclarativeFontLoader@@QBE?AVQString@@XZ @ 1764 NONAME ; class QString QDeclarativeFontLoader::name(void) const
+ ?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1765 NONAME ; class QByteArray QDeclarativeOpenMetaObject::name(int) const
+ ?name@QDeclarativePathAttribute@@QBE?AVQString@@XZ @ 1766 NONAME ; class QString QDeclarativePathAttribute::name(void) const
+ ?name@QDeclarativeProperty@@QBE?AVQString@@XZ @ 1767 NONAME ; class QString QDeclarativeProperty::name(void) const
+ ?name@QDeclarativeState@@QBE?AVQString@@XZ @ 1768 NONAME ; class QString QDeclarativeState::name(void) const
+ ?name@QDeclarativeStateChangeScript@@QBE?AVQString@@XZ @ 1769 NONAME ; class QString QDeclarativeStateChangeScript::name(void) const
+ ?name@QDeclarativeXmlListModelRole@@QBE?AVQString@@XZ @ 1770 NONAME ; class QString QDeclarativeXmlListModelRole::name(void) const
+ ?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 1771 NONAME ; class QByteArray QMetaEnumBuilder::name(void) const
+ ?name@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1772 NONAME ; class QByteArray QMetaPropertyBuilder::name(void) const
+ ?nameChanged@QDeclarativeFontLoader@@IAEXXZ @ 1773 NONAME ; void QDeclarativeFontLoader::nameChanged(void)
+ ?namespaceDeclarations@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 1774 NONAME ; class QString QDeclarativeXmlListModel::namespaceDeclarations(void) const
+ ?needsNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 1775 NONAME ; bool QDeclarativeProperty::needsNotifySignal(void) const
+ ?networkAccessManager@QDeclarativeEngine@@QBEPAVQNetworkAccessManager@@XZ @ 1776 NONAME ; class QNetworkAccessManager * QDeclarativeEngine::networkAccessManager(void) const
+ ?networkAccessManagerFactory@QDeclarativeEngine@@QBEPAVQDeclarativeNetworkAccessManagerFactory@@XZ @ 1777 NONAME ; class QDeclarativeNetworkAccessManagerFactory * QDeclarativeEngine::networkAccessManagerFactory(void) const
+ ?newWindowComponent@QDeclarativeWebView@@QBEPAVQDeclarativeComponent@@XZ @ 1778 NONAME ; class QDeclarativeComponent * QDeclarativeWebView::newWindowComponent(void) const
+ ?newWindowComponentChanged@QDeclarativeWebView@@IAEXXZ @ 1779 NONAME ; void QDeclarativeWebView::newWindowComponentChanged(void)
+ ?newWindowParent@QDeclarativeWebView@@QBEPAVQDeclarativeItem@@XZ @ 1780 NONAME ; class QDeclarativeItem * QDeclarativeWebView::newWindowParent(void) const
+ ?newWindowParentChanged@QDeclarativeWebView@@IAEXXZ @ 1781 NONAME ; void QDeclarativeWebView::newWindowParentChanged(void)
+ ?noteContentsSizeChanged@QDeclarativeWebView@@AAEXABVQSize@@@Z @ 1782 NONAME ; void QDeclarativeWebView::noteContentsSizeChanged(class QSize const &)
+ ?notifyOnServerStart@QDeclarativeDebugService@@SAXPAVQObject@@PBD@Z @ 1783 NONAME ; void QDeclarativeDebugService::notifyOnServerStart(class QObject *, char const *)
+ ?notifyOnValueChanged@QDeclarativeExpression@@QBE_NXZ @ 1784 NONAME ; bool QDeclarativeExpression::notifyOnValueChanged(void) const
+ ?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1785 NONAME ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const
+ ?number@QDeclarativeNumberFormatter@@QBEMXZ @ 1786 NONAME ; float QDeclarativeNumberFormatter::number(void) const
+ ?object@QDeclarativeAnchorChanges@@QBEPAVQDeclarativeItem@@XZ @ 1787 NONAME ; class QDeclarativeItem * QDeclarativeAnchorChanges::object(void) const
+ ?object@QDeclarativeBind@@QAEPAVQObject@@XZ @ 1788 NONAME ; class QObject * QDeclarativeBind::object(void)
+ ?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1789 NONAME ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const
+ ?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1790 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const
+ ?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 1791 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const
+ ?object@QDeclarativeListReference@@QBEPAVQObject@@XZ @ 1792 NONAME ; class QObject * QDeclarativeListReference::object(void) const
+ ?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 1793 NONAME ; class QObject * QDeclarativeOpenMetaObject::object(void) const
+ ?object@QDeclarativeParentChange@@QBEPAVQDeclarativeItem@@XZ @ 1794 NONAME ; class QDeclarativeItem * QDeclarativeParentChange::object(void) const
+ ?object@QDeclarativeProperty@@QBEPAVQObject@@XZ @ 1795 NONAME ; class QObject * QDeclarativeProperty::object(void) const
+ ?object@QDeclarativePropertyChanges@@QBEPAVQObject@@XZ @ 1796 NONAME ; class QObject * QDeclarativePropertyChanges::object(void) const
+ ?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1797 NONAME ; class QByteArray QDeclarativeDomObject::objectClassName(void) const
+ ?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1798 NONAME ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const
+ ?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1799 NONAME ; int QDeclarativeDebugWatch::objectDebugId(void) const
+ ?objectForId@QDeclarativeDebugService@@SAPAVQObject@@H@Z @ 1800 NONAME ; class QObject * QDeclarativeDebugService::objectForId(int)
+ ?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 1801 NONAME ; class QString QDeclarativeDomObject::objectId(void) const
+ ?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1802 NONAME ; class QString QDeclarativeDebugService::objectToString(class QObject *)
+ ?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1803 NONAME ; class QByteArray QDeclarativeDomObject::objectType(void) const
+ ?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 1804 NONAME ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const
+ ?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1805 NONAME ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const
+ ?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1806 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const
+ ?offlineStoragePath@QDeclarativeEngine@@QBE?AVQString@@XZ @ 1807 NONAME ; class QString QDeclarativeEngine::offlineStoragePath(void) const
+ ?offset@QDeclarativePathView@@QBEMXZ @ 1808 NONAME ; float QDeclarativePathView::offset(void) const
+ ?offsetChanged@QDeclarativePathView@@IAEXXZ @ 1809 NONAME ; void QDeclarativePathView::offsetChanged(void)
+ ?operationAt@QDeclarativeState@@QBEPAVQDeclarativeStateOperation@@H@Z @ 1810 NONAME ; class QDeclarativeStateOperation * QDeclarativeState::operationAt(int) const
+ ?operationCount@QDeclarativeState@@QBEHXZ @ 1811 NONAME ; int QDeclarativeState::operationCount(void) const
+ ?orientation@QDeclarativeListView@@QBE?AW4Orientation@1@XZ @ 1812 NONAME ; enum QDeclarativeListView::Orientation QDeclarativeListView::orientation(void) const
+ ?orientationChanged@QDeclarativeListView@@IAEXXZ @ 1813 NONAME ; void QDeclarativeListView::orientationChanged(void)
+ ?originalParent@QDeclarativeParentChange@@QBEPAVQDeclarativeItem@@XZ @ 1814 NONAME ; class QDeclarativeItem * QDeclarativeParentChange::originalParent(void) const
+ ?overShoot@QDeclarativeFlickable@@QBE_NXZ @ 1815 NONAME ; bool QDeclarativeFlickable::overShoot(void) const
+ ?overShootChanged@QDeclarativeFlickable@@IAEXXZ @ 1816 NONAME ; void QDeclarativeFlickable::overShootChanged(void)
+ ?override@QDeclarativeAnchorChanges@@UAE_NPAVQDeclarativeActionEvent@@@Z @ 1817 NONAME ; bool QDeclarativeAnchorChanges::override(class QDeclarativeActionEvent *)
+ ?override@QDeclarativeParentChange@@UAE_NPAVQDeclarativeActionEvent@@@Z @ 1818 NONAME ; bool QDeclarativeParentChange::override(class QDeclarativeActionEvent *)
+ ?pace@QDeclarativeParticleMotionWander@@QBEMXZ @ 1819 NONAME ; float QDeclarativeParticleMotionWander::pace(void) const
+ ?paceChanged@QDeclarativeParticleMotionWander@@IAEXXZ @ 1820 NONAME ; void QDeclarativeParticleMotionWander::paceChanged(void)
+ ?packetWritten@QPacketProtocol@@IAEXXZ @ 1821 NONAME ; void QPacketProtocol::packetWritten(void)
+ ?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1822 NONAME ; long long QPacketProtocol::packetsAvailable(void) const
+ ?page@QDeclarativeWebView@@QBEPAVQWebPage@@XZ @ 1823 NONAME ; class QWebPage * QDeclarativeWebView::page(void) const
+ ?pageChanged@QDeclarativeFlickable@@IAEXXZ @ 1824 NONAME ; void QDeclarativeFlickable::pageChanged(void)
+ ?pageUrlChanged@QDeclarativeWebView@@AAEXXZ @ 1825 NONAME ; void QDeclarativeWebView::pageUrlChanged(void)
+ ?paint@QDeclarativeBorderImage@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1826 NONAME ; void QDeclarativeBorderImage::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeImage@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1827 NONAME ; void QDeclarativeImage::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1828 NONAME ; void QDeclarativeItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativePaintedItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1829 NONAME ; void QDeclarativePaintedItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeParticles@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1830 NONAME ; void QDeclarativeParticles::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1831 NONAME ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1832 NONAME ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paintEvent@QDeclarativeView@@MAEXPAVQPaintEvent@@@Z @ 1833 NONAME ; void QDeclarativeView::paintEvent(class QPaintEvent *)
+ ?paintPage@QDeclarativeWebView@@AAEXABVQRect@@@Z @ 1834 NONAME ; void QDeclarativeWebView::paintPage(class QRect const &)
+ ?paintedGeometryChanged@QDeclarativeImage@@IAEXXZ @ 1835 NONAME ; void QDeclarativeImage::paintedGeometryChanged(void)
+ ?paintedHeight@QDeclarativeImage@@QBEMXZ @ 1836 NONAME ; float QDeclarativeImage::paintedHeight(void) const
+ ?paintedWidth@QDeclarativeImage@@QBEMXZ @ 1837 NONAME ; float QDeclarativeImage::paintedWidth(void) const
+ ?paletteChanged@QDeclarativeSystemPalette@@IAEXXZ @ 1838 NONAME ; void QDeclarativeSystemPalette::paletteChanged(void)
+ ?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1839 NONAME ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const
+ ?parent@QDeclarativeOpenMetaObject@@IBEPAUQAbstractDynamicMetaObject@@XZ @ 1840 NONAME ; struct QAbstractDynamicMetaObject * QDeclarativeOpenMetaObject::parent(void) const
+ ?parent@QDeclarativeParentChange@@QBEPAVQDeclarativeItem@@XZ @ 1841 NONAME ; class QDeclarativeItem * QDeclarativeParentChange::parent(void) const
+ ?parentChanged@QDeclarativeItem@@IAEXXZ @ 1842 NONAME ; void QDeclarativeItem::parentChanged(void)
+ ?parentContext@QDeclarativeContext@@QBEPAV1@XZ @ 1843 NONAME ; class QDeclarativeContext * QDeclarativeContext::parentContext(void) const
+ ?parentItem@QDeclarativeItem@@QBEPAV1@XZ @ 1844 NONAME ; class QDeclarativeItem * QDeclarativeItem::parentItem(void) const
+ ?parse@QDeclarativeStyledText@@SAXABVQString@@AAVQTextLayout@@@Z @ 1845 NONAME ; void QDeclarativeStyledText::parse(class QString const &, class QTextLayout &)
+ ?parserStatusCast@QDeclarativeType@@QBEHXZ @ 1846 NONAME ; int QDeclarativeType::parserStatusCast(void) const
+ ?part@QDeclarativeVisualDataModel@@QBE?AVQString@@XZ @ 1847 NONAME ; class QString QDeclarativeVisualDataModel::part(void) const
+ ?parts@QDeclarativeVisualDataModel@@QAEPAVQObject@@XZ @ 1848 NONAME ; class QObject * QDeclarativeVisualDataModel::parts(void)
+ ?path@QDeclarativePath@@QBE?AVQPainterPath@@XZ @ 1849 NONAME ; class QPainterPath QDeclarativePath::path(void) const
+ ?path@QDeclarativePathView@@QBEPAVQDeclarativePath@@XZ @ 1850 NONAME ; class QDeclarativePath * QDeclarativePathView::path(void) const
+ ?pathElements@QDeclarativePath@@QAE?AU?$QDeclarativeListProperty@VQDeclarativePathElement@@@@XZ @ 1851 NONAME ; struct QDeclarativeListProperty<class QDeclarativePathElement> QDeclarativePath::pathElements(void)
+ ?pathItemCount@QDeclarativePathView@@QBEHXZ @ 1852 NONAME ; int QDeclarativePathView::pathItemCount(void) const
+ ?pausedChanged@QDeclarativeAnimatedImage@@IAEXXZ @ 1853 NONAME ; void QDeclarativeAnimatedImage::pausedChanged(void)
+ ?penChanged@QDeclarativePen@@IAEXXZ @ 1854 NONAME ; void QDeclarativePen::penChanged(void)
+ ?pendingRequests@QDeclarativePixmapCache@@SAHXZ @ 1855 NONAME ; int QDeclarativePixmapCache::pendingRequests(void)
+ ?persistentSelection@QDeclarativeTextEdit@@QBE_NXZ @ 1856 NONAME ; bool QDeclarativeTextEdit::persistentSelection(void) const
+ ?persistentSelectionChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 1857 NONAME ; void QDeclarativeTextEdit::persistentSelectionChanged(bool)
+ ?pixelCacheSize@QDeclarativePaintedItem@@QBEHXZ @ 1858 NONAME ; int QDeclarativePaintedItem::pixelCacheSize(void) const
+ ?pixmap@QDeclarativeImage@@QBE?AVQPixmap@@XZ @ 1859 NONAME ; class QPixmap QDeclarativeImage::pixmap(void) const
+ ?pixmapChanged@QDeclarativeImageBase@@IAEXXZ @ 1860 NONAME ; void QDeclarativeImageBase::pixmapChanged(void)
+ ?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1861 NONAME ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const
+ ?playingChanged@QDeclarativeAnimatedImage@@IAEXXZ @ 1862 NONAME ; void QDeclarativeAnimatedImage::playingChanged(void)
+ ?playingStatusChanged@QDeclarativeAnimatedImage@@AAEXXZ @ 1863 NONAME ; void QDeclarativeAnimatedImage::playingStatusChanged(void)
+ ?pointAt@QDeclarativePath@@QBE?AVQPointF@@M@Z @ 1864 NONAME ; class QPointF QDeclarativePath::pointAt(float) const
+ ?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1865 NONAME ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *)
+ ?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 1866 NONAME ; int QDeclarativeDomDynamicProperty::position(void) const
+ ?position@QDeclarativeDomList@@QBEHXZ @ 1867 NONAME ; int QDeclarativeDomList::position(void) const
+ ?position@QDeclarativeDomObject@@QBEHXZ @ 1868 NONAME ; int QDeclarativeDomObject::position(void) const
+ ?position@QDeclarativeDomProperty@@QBEHXZ @ 1869 NONAME ; int QDeclarativeDomProperty::position(void) const
+ ?position@QDeclarativeDomValue@@QBEHXZ @ 1870 NONAME ; int QDeclarativeDomValue::position(void) const
+ ?position@QDeclarativeGradientStop@@QBEMXZ @ 1871 NONAME ; float QDeclarativeGradientStop::position(void) const
+ ?positionChanged@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 1872 NONAME ; void QDeclarativeMouseArea::positionChanged(class QDeclarativeMouseEvent *)
+ ?positionViewAtIndex@QDeclarativeGridView@@QAEXH@Z @ 1873 NONAME ; void QDeclarativeGridView::positionViewAtIndex(int)
+ ?positionViewAtIndex@QDeclarativeListView@@QAEXH@Z @ 1874 NONAME ; void QDeclarativeListView::positionViewAtIndex(int)
+ ?positionX@QDeclarativeBasePositioner@@IAEXHABUPositionedItem@1@@Z @ 1875 NONAME ; void QDeclarativeBasePositioner::positionX(int, struct QDeclarativeBasePositioner::PositionedItem const &)
+ ?positionY@QDeclarativeBasePositioner@@IAEXHABUPositionedItem@1@@Z @ 1876 NONAME ; void QDeclarativeBasePositioner::positionY(int, struct QDeclarativeBasePositioner::PositionedItem const &)
+ ?prePositioning@QDeclarativeBasePositioner@@IAEXXZ @ 1877 NONAME ; void QDeclarativeBasePositioner::prePositioning(void)
+ ?preferredHeight@QDeclarativeWebView@@QBEHXZ @ 1878 NONAME ; int QDeclarativeWebView::preferredHeight(void) const
+ ?preferredHeightChanged@QDeclarativeWebView@@IAEXXZ @ 1879 NONAME ; void QDeclarativeWebView::preferredHeightChanged(void)
+ ?preferredHighlightBegin@QDeclarativeListView@@QBEMXZ @ 1880 NONAME ; float QDeclarativeListView::preferredHighlightBegin(void) const
+ ?preferredHighlightEnd@QDeclarativeListView@@QBEMXZ @ 1881 NONAME ; float QDeclarativeListView::preferredHighlightEnd(void) const
+ ?preferredWidth@QDeclarativeWebView@@QBEHXZ @ 1882 NONAME ; int QDeclarativeWebView::preferredWidth(void) const
+ ?preferredWidthChanged@QDeclarativeWebView@@IAEXXZ @ 1883 NONAME ; void QDeclarativeWebView::preferredWidthChanged(void)
+ ?prepare@QDeclarativeTransition@@QAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@PAVQDeclarativeTransitionManager@@@Z @ 1884 NONAME ; void QDeclarativeTransition::prepare(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, class QDeclarativeTransitionManager *)
+ ?pressAndHold@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 1885 NONAME ; void QDeclarativeMouseArea::pressAndHold(class QDeclarativeMouseEvent *)
+ ?pressDelay@QDeclarativeFlickable@@QBEHXZ @ 1886 NONAME ; int QDeclarativeFlickable::pressDelay(void) const
+ ?pressDelayChanged@QDeclarativeFlickable@@IAEXXZ @ 1887 NONAME ; void QDeclarativeFlickable::pressDelayChanged(void)
+ ?pressGrabTime@QDeclarativeWebView@@QBEHXZ @ 1888 NONAME ; int QDeclarativeWebView::pressGrabTime(void) const
+ ?pressGrabTimeChanged@QDeclarativeWebView@@IAEXXZ @ 1889 NONAME ; void QDeclarativeWebView::pressGrabTimeChanged(void)
+ ?pressed@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 1890 NONAME ; void QDeclarativeMouseArea::pressed(class QDeclarativeMouseEvent *)
+ ?pressed@QDeclarativeMouseArea@@QBE_NXZ @ 1891 NONAME ; bool QDeclarativeMouseArea::pressed(void) const
+ ?pressedButtons@QDeclarativeMouseArea@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 1892 NONAME ; class QFlags<enum Qt::MouseButton> QDeclarativeMouseArea::pressedButtons(void) const
+ ?pressedChanged@QDeclarativeMouseArea@@IAEXXZ @ 1893 NONAME ; void QDeclarativeMouseArea::pressedChanged(void)
+ ?processPath@QDeclarativePath@@AAEXXZ @ 1894 NONAME ; void QDeclarativePath::processPath(void)
+ ?progress@QDeclarativeComponent@@QBEMXZ @ 1895 NONAME ; float QDeclarativeComponent::progress(void) const
+ ?progress@QDeclarativeImageBase@@QBEMXZ @ 1896 NONAME ; float QDeclarativeImageBase::progress(void) const
+ ?progress@QDeclarativeLoader@@QBEMXZ @ 1897 NONAME ; float QDeclarativeLoader::progress(void) const
+ ?progress@QDeclarativeWebView@@QBEMXZ @ 1898 NONAME ; float QDeclarativeWebView::progress(void) const
+ ?progress@QDeclarativeXmlListModel@@QBEMXZ @ 1899 NONAME ; float QDeclarativeXmlListModel::progress(void) const
+ ?progressChanged@QDeclarativeComponent@@IAEXM@Z @ 1900 NONAME ; void QDeclarativeComponent::progressChanged(float)
+ ?progressChanged@QDeclarativeImageBase@@IAEXM@Z @ 1901 NONAME ; void QDeclarativeImageBase::progressChanged(float)
+ ?progressChanged@QDeclarativeLoader@@IAEXXZ @ 1902 NONAME ; void QDeclarativeLoader::progressChanged(void)
+ ?progressChanged@QDeclarativeWebView@@IAEXXZ @ 1903 NONAME ; void QDeclarativeWebView::progressChanged(void)
+ ?progressChanged@QDeclarativeXmlListModel@@IAEXM@Z @ 1904 NONAME ; void QDeclarativeXmlListModel::progressChanged(float)
+ ?properties@QDeclarativeCustomParserNode@@QBE?AV?$QList@VQDeclarativeCustomParserProperty@@@@XZ @ 1905 NONAME ; class QList<class QDeclarativeCustomParserProperty> QDeclarativeCustomParserNode::properties(void) const
+ ?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1906 NONAME ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const
+ ?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1907 NONAME ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const
+ ?property@QDeclarativeBind@@QBE?AVQString@@XZ @ 1908 NONAME ; class QString QDeclarativeBind::property(void) const
+ ?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 1909 NONAME ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const
+ ?property@QDeclarativeProperty@@QBE?AVQMetaProperty@@XZ @ 1910 NONAME ; class QMetaProperty QDeclarativeProperty::property(void) const
+ ?property@QDeclarativeViewSection@@QBE?AVQString@@XZ @ 1911 NONAME ; class QString QDeclarativeViewSection::property(void) const
+ ?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 1912 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const
+ ?propertyCount@QMetaObjectBuilder@@QBEHXZ @ 1913 NONAME ; int QMetaObjectBuilder::propertyCount(void) const
+ ?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1914 NONAME ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &)
+ ?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1915 NONAME ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &)
+ ?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 1916 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const
+ ?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 1917 NONAME ; class QByteArray QDeclarativeDomProperty::propertyName(void) const
+ ?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1918 NONAME ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const
+ ?propertyOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1919 NONAME ; int QDeclarativeOpenMetaObjectType::propertyOffset(void) const
+ ?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1920 NONAME ; void QDeclarativeOpenMetaObject::propertyRead(int)
+ ?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 1921 NONAME ; int QDeclarativeDomDynamicProperty::propertyType(void) const
+ ?propertyType@QDeclarativeProperty@@QBEHXZ @ 1922 NONAME ; int QDeclarativeProperty::propertyType(void) const
+ ?propertyTypeCategory@QDeclarativeProperty@@QBE?AW4PropertyTypeCategory@1@XZ @ 1923 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativeProperty::propertyTypeCategory(void) const
+ ?propertyTypeName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 1924 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyTypeName(void) const
+ ?propertyTypeName@QDeclarativeProperty@@QBEPBDXZ @ 1925 NONAME ; char const * QDeclarativeProperty::propertyTypeName(void) const
+ ?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1926 NONAME ; int QDeclarativeType::propertyValueInterceptorCast(void) const
+ ?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 1927 NONAME ; int QDeclarativeType::propertyValueSourceCast(void) const
+ ?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1928 NONAME ; void QDeclarativeOpenMetaObject::propertyWrite(int)
+ ?qListTypeId@QDeclarativeType@@QBEHXZ @ 1929 NONAME ; int QDeclarativeType::qListTypeId(void) const
+ ?q_func@QDeclarativeContextPrivate@@AAEPAVQDeclarativeContext@@XZ @ 1930 NONAME ; class QDeclarativeContext * QDeclarativeContextPrivate::q_func(void)
+ ?q_func@QDeclarativeContextPrivate@@ABEPBVQDeclarativeContext@@XZ @ 1931 NONAME ; class QDeclarativeContext const * QDeclarativeContextPrivate::q_func(void) const
+ ?q_textChanged@QDeclarativeTextEdit@@AAEXXZ @ 1932 NONAME ; void QDeclarativeTextEdit::q_textChanged(void)
+ ?q_textChanged@QDeclarativeTextInput@@AAEXXZ @ 1933 NONAME ; void QDeclarativeTextInput::q_textChanged(void)
+ ?qmlAttachedProperties@QDeclarativeComponent@@SAPAVQDeclarativeComponentAttached@@PAVQObject@@@Z @ 1934 NONAME ; class QDeclarativeComponentAttached * QDeclarativeComponent::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedProperties@QDeclarativeGridView@@SAPAVQDeclarativeGridViewAttached@@PAVQObject@@@Z @ 1935 NONAME ; class QDeclarativeGridViewAttached * QDeclarativeGridView::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedProperties@QDeclarativeListView@@SAPAVQDeclarativeListViewAttached@@PAVQObject@@@Z @ 1936 NONAME ; class QDeclarativeListViewAttached * QDeclarativeListView::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedProperties@QDeclarativePathView@@SAPAVQObject@@PAV2@@Z @ 1937 NONAME ; class QObject * QDeclarativePathView::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedProperties@QDeclarativeVisualItemModel@@SAPAVQDeclarativeVisualItemModelAttached@@PAVQObject@@@Z @ 1938 NONAME ; class QDeclarativeVisualItemModelAttached * QDeclarativeVisualItemModel::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedProperties@QDeclarativeWebView@@SAPAVQDeclarativeWebViewAttached@@PAVQObject@@@Z @ 1939 NONAME ; class QDeclarativeWebViewAttached * QDeclarativeWebView::qmlAttachedProperties(class QObject *)
+ ?qmlAttachedPropertiesObject@@YAPAVQObject@@PAHPBV1@PBUQMetaObject@@_N@Z @ 1940 NONAME ; class QObject * qmlAttachedPropertiesObject(int *, class QObject const *, struct QMetaObject const *, bool)
+ ?qmlAttachedPropertiesObjectById@@YAPAVQObject@@HPBV1@_N@Z @ 1941 NONAME ; class QObject * qmlAttachedPropertiesObjectById(int, class QObject const *, bool)
+ ?qmlContext@@YAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1942 NONAME ; class QDeclarativeContext * qmlContext(class QObject const *)
+ ?qmlEngine@@YAPAVQDeclarativeEngine@@PBVQObject@@@Z @ 1943 NONAME ; class QDeclarativeEngine * qmlEngine(class QObject const *)
+ ?qmlExecuteDeferred@@YAXPAVQObject@@@Z @ 1944 NONAME ; void qmlExecuteDeferred(class QObject *)
+ ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@@Z @ 1945 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *)
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@ABVQByteArray@@HH@Z @ 1946 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(class QByteArray const &, int, int)
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 1947 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int)
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1948 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *)
+ ?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 1949 NONAME ; class QByteArray QDeclarativeType::qmlTypeName(void) const
+ ?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1950 NONAME ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void)
+ ?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1951 NONAME ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void)
+ ?qt_metacall@QDeclarativeAnchorChanges@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1952 NONAME ; int QDeclarativeAnchorChanges::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1953 NONAME ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeAnimatedImage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1954 NONAME ; int QDeclarativeAnimatedImage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeBasePositioner@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1955 NONAME ; int QDeclarativeBasePositioner::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeBehavior@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1956 NONAME ; int QDeclarativeBehavior::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeBind@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1957 NONAME ; int QDeclarativeBind::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeBorderImage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1958 NONAME ; int QDeclarativeBorderImage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeColumn@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1959 NONAME ; int QDeclarativeColumn::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeComponent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1960 NONAME ; int QDeclarativeComponent::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeConnections@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1961 NONAME ; int QDeclarativeConnections::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeContext@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1962 NONAME ; int QDeclarativeContext::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeCurve@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1963 NONAME ; int QDeclarativeCurve::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDateTimeFormatter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1964 NONAME ; int QDeclarativeDateTimeFormatter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1965 NONAME ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugConnection@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1966 NONAME ; int QDeclarativeDebugConnection::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1967 NONAME ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1968 NONAME ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1969 NONAME ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1970 NONAME ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1971 NONAME ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1972 NONAME ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1973 NONAME ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1974 NONAME ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1975 NONAME ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDrag@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1976 NONAME ; int QDeclarativeDrag::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeEaseFollow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1977 NONAME ; int QDeclarativeEaseFollow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1978 NONAME ; int QDeclarativeEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1979 NONAME ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeExpression@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1980 NONAME ; int QDeclarativeExpression::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1981 NONAME ; int QDeclarativeExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFlickable@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1982 NONAME ; int QDeclarativeFlickable::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFlipable@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1983 NONAME ; int QDeclarativeFlipable::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFlow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1984 NONAME ; int QDeclarativeFlow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFocusPanel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1985 NONAME ; int QDeclarativeFocusPanel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFocusScope@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1986 NONAME ; int QDeclarativeFocusScope::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeFontLoader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1987 NONAME ; int QDeclarativeFontLoader::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeGradient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1988 NONAME ; int QDeclarativeGradient::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeGradientStop@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1989 NONAME ; int QDeclarativeGradientStop::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeGraphicsObjectContainer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1990 NONAME ; int QDeclarativeGraphicsObjectContainer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1991 NONAME ; int QDeclarativeGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeGridView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1992 NONAME ; int QDeclarativeGridView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeImage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1993 NONAME ; int QDeclarativeImage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeImageBase@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1994 NONAME ; int QDeclarativeImageBase::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1995 NONAME ; int QDeclarativeItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1996 NONAME ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeListView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1997 NONAME ; int QDeclarativeListView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeLoader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1998 NONAME ; int QDeclarativeLoader::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeMouseArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1999 NONAME ; int QDeclarativeMouseArea::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeNumberFormatter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2000 NONAME ; int QDeclarativeNumberFormatter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePaintedItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2001 NONAME ; int QDeclarativePaintedItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParentChange@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2002 NONAME ; int QDeclarativeParentChange::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParticleMotion@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2003 NONAME ; int QDeclarativeParticleMotion::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParticleMotionGravity@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2004 NONAME ; int QDeclarativeParticleMotionGravity::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParticleMotionLinear@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2005 NONAME ; int QDeclarativeParticleMotionLinear::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParticleMotionWander@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2006 NONAME ; int QDeclarativeParticleMotionWander::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeParticles@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2007 NONAME ; int QDeclarativeParticles::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePath@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2008 NONAME ; int QDeclarativePath::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathAttribute@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2009 NONAME ; int QDeclarativePathAttribute::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathCubic@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2010 NONAME ; int QDeclarativePathCubic::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathElement@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2011 NONAME ; int QDeclarativePathElement::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathLine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2012 NONAME ; int QDeclarativePathLine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathPercent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2013 NONAME ; int QDeclarativePathPercent::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathQuad@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2014 NONAME ; int QDeclarativePathQuad::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePathView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2015 NONAME ; int QDeclarativePathView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2016 NONAME ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePixmapReply@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2017 NONAME ; int QDeclarativePixmapReply::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePropertyChanges@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2018 NONAME ; int QDeclarativePropertyChanges::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativePropertyMap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2019 NONAME ; int QDeclarativePropertyMap::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2020 NONAME ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeRepeater@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2021 NONAME ; int QDeclarativeRepeater::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeRow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2022 NONAME ; int QDeclarativeRow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2023 NONAME ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeSpringFollow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2024 NONAME ; int QDeclarativeSpringFollow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2025 NONAME ; int QDeclarativeState::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeStateChangeScript@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2026 NONAME ; int QDeclarativeStateChangeScript::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeStateGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2027 NONAME ; int QDeclarativeStateGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeStateOperation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2028 NONAME ; int QDeclarativeStateOperation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeSystemPalette@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2029 NONAME ; int QDeclarativeSystemPalette::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2030 NONAME ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2031 NONAME ; int QDeclarativeTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeTextInput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2032 NONAME ; int QDeclarativeTextInput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeTimer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2033 NONAME ; int QDeclarativeTimer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2034 NONAME ; int QDeclarativeTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2035 NONAME ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2036 NONAME ; int QDeclarativeView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeViewSection@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2037 NONAME ; int QDeclarativeViewSection::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeVisualDataModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2038 NONAME ; int QDeclarativeVisualDataModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeVisualItemModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2039 NONAME ; int QDeclarativeVisualItemModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeVisualModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2040 NONAME ; int QDeclarativeVisualModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeWebPage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2041 NONAME ; int QDeclarativeWebPage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeWebView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2042 NONAME ; int QDeclarativeWebView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeXmlListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2043 NONAME ; int QDeclarativeXmlListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeXmlListModelRole@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2044 NONAME ; int QDeclarativeXmlListModelRole::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2045 NONAME ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2046 NONAME ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QDeclarativeAnchorChanges@@UAEPAXPBD@Z @ 2047 NONAME ; void * QDeclarativeAnchorChanges::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 2048 NONAME ; void * QDeclarativeAnchors::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeAnimatedImage@@UAEPAXPBD@Z @ 2049 NONAME ; void * QDeclarativeAnimatedImage::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeBasePositioner@@UAEPAXPBD@Z @ 2050 NONAME ; void * QDeclarativeBasePositioner::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 2051 NONAME ; void * QDeclarativeBehavior::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeBind@@UAEPAXPBD@Z @ 2052 NONAME ; void * QDeclarativeBind::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeBorderImage@@UAEPAXPBD@Z @ 2053 NONAME ; void * QDeclarativeBorderImage::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeColumn@@UAEPAXPBD@Z @ 2054 NONAME ; void * QDeclarativeColumn::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeComponent@@UAEPAXPBD@Z @ 2055 NONAME ; void * QDeclarativeComponent::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeConnections@@UAEPAXPBD@Z @ 2056 NONAME ; void * QDeclarativeConnections::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeContext@@UAEPAXPBD@Z @ 2057 NONAME ; void * QDeclarativeContext::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeCurve@@UAEPAXPBD@Z @ 2058 NONAME ; void * QDeclarativeCurve::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDateTimeFormatter@@UAEPAXPBD@Z @ 2059 NONAME ; void * QDeclarativeDateTimeFormatter::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 2060 NONAME ; void * QDeclarativeDebugClient::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 2061 NONAME ; void * QDeclarativeDebugConnection::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 2062 NONAME ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 2063 NONAME ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 2064 NONAME ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 2065 NONAME ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 2066 NONAME ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 2067 NONAME ; void * QDeclarativeDebugQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugRootContextQuery@@UAEPAXPBD@Z @ 2068 NONAME ; void * QDeclarativeDebugRootContextQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 2069 NONAME ; void * QDeclarativeDebugService::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 2070 NONAME ; void * QDeclarativeDebugWatch::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDrag@@UAEPAXPBD@Z @ 2071 NONAME ; void * QDeclarativeDrag::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeEaseFollow@@UAEPAXPBD@Z @ 2072 NONAME ; void * QDeclarativeEaseFollow::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeEngine@@UAEPAXPBD@Z @ 2073 NONAME ; void * QDeclarativeEngine::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 2074 NONAME ; void * QDeclarativeEngineDebug::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeExpression@@UAEPAXPBD@Z @ 2075 NONAME ; void * QDeclarativeExpression::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeExtensionPlugin@@UAEPAXPBD@Z @ 2076 NONAME ; void * QDeclarativeExtensionPlugin::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFlickable@@UAEPAXPBD@Z @ 2077 NONAME ; void * QDeclarativeFlickable::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFlipable@@UAEPAXPBD@Z @ 2078 NONAME ; void * QDeclarativeFlipable::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFlow@@UAEPAXPBD@Z @ 2079 NONAME ; void * QDeclarativeFlow::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFocusPanel@@UAEPAXPBD@Z @ 2080 NONAME ; void * QDeclarativeFocusPanel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFocusScope@@UAEPAXPBD@Z @ 2081 NONAME ; void * QDeclarativeFocusScope::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeFontLoader@@UAEPAXPBD@Z @ 2082 NONAME ; void * QDeclarativeFontLoader::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeGradient@@UAEPAXPBD@Z @ 2083 NONAME ; void * QDeclarativeGradient::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeGradientStop@@UAEPAXPBD@Z @ 2084 NONAME ; void * QDeclarativeGradientStop::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeGraphicsObjectContainer@@UAEPAXPBD@Z @ 2085 NONAME ; void * QDeclarativeGraphicsObjectContainer::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeGrid@@UAEPAXPBD@Z @ 2086 NONAME ; void * QDeclarativeGrid::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeGridView@@UAEPAXPBD@Z @ 2087 NONAME ; void * QDeclarativeGridView::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeImage@@UAEPAXPBD@Z @ 2088 NONAME ; void * QDeclarativeImage::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeImageBase@@UAEPAXPBD@Z @ 2089 NONAME ; void * QDeclarativeImageBase::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeItem@@UAEPAXPBD@Z @ 2090 NONAME ; void * QDeclarativeItem::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 2091 NONAME ; void * QDeclarativeListModel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeListView@@UAEPAXPBD@Z @ 2092 NONAME ; void * QDeclarativeListView::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeLoader@@UAEPAXPBD@Z @ 2093 NONAME ; void * QDeclarativeLoader::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeMouseArea@@UAEPAXPBD@Z @ 2094 NONAME ; void * QDeclarativeMouseArea::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeNumberFormatter@@UAEPAXPBD@Z @ 2095 NONAME ; void * QDeclarativeNumberFormatter::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePaintedItem@@UAEPAXPBD@Z @ 2096 NONAME ; void * QDeclarativePaintedItem::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParentChange@@UAEPAXPBD@Z @ 2097 NONAME ; void * QDeclarativeParentChange::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParticleMotion@@UAEPAXPBD@Z @ 2098 NONAME ; void * QDeclarativeParticleMotion::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParticleMotionGravity@@UAEPAXPBD@Z @ 2099 NONAME ; void * QDeclarativeParticleMotionGravity::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParticleMotionLinear@@UAEPAXPBD@Z @ 2100 NONAME ; void * QDeclarativeParticleMotionLinear::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParticleMotionWander@@UAEPAXPBD@Z @ 2101 NONAME ; void * QDeclarativeParticleMotionWander::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeParticles@@UAEPAXPBD@Z @ 2102 NONAME ; void * QDeclarativeParticles::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePath@@UAEPAXPBD@Z @ 2103 NONAME ; void * QDeclarativePath::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathAttribute@@UAEPAXPBD@Z @ 2104 NONAME ; void * QDeclarativePathAttribute::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathCubic@@UAEPAXPBD@Z @ 2105 NONAME ; void * QDeclarativePathCubic::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathElement@@UAEPAXPBD@Z @ 2106 NONAME ; void * QDeclarativePathElement::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathLine@@UAEPAXPBD@Z @ 2107 NONAME ; void * QDeclarativePathLine::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathPercent@@UAEPAXPBD@Z @ 2108 NONAME ; void * QDeclarativePathPercent::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathQuad@@UAEPAXPBD@Z @ 2109 NONAME ; void * QDeclarativePathQuad::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePathView@@UAEPAXPBD@Z @ 2110 NONAME ; void * QDeclarativePathView::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 2111 NONAME ; void * QDeclarativePen::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePixmapReply@@UAEPAXPBD@Z @ 2112 NONAME ; void * QDeclarativePixmapReply::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePropertyChanges@@UAEPAXPBD@Z @ 2113 NONAME ; void * QDeclarativePropertyChanges::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativePropertyMap@@UAEPAXPBD@Z @ 2114 NONAME ; void * QDeclarativePropertyMap::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 2115 NONAME ; void * QDeclarativeRectangle::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeRepeater@@UAEPAXPBD@Z @ 2116 NONAME ; void * QDeclarativeRepeater::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeRow@@UAEPAXPBD@Z @ 2117 NONAME ; void * QDeclarativeRow::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 2118 NONAME ; void * QDeclarativeScaleGrid::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeSpringFollow@@UAEPAXPBD@Z @ 2119 NONAME ; void * QDeclarativeSpringFollow::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeState@@UAEPAXPBD@Z @ 2120 NONAME ; void * QDeclarativeState::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeStateChangeScript@@UAEPAXPBD@Z @ 2121 NONAME ; void * QDeclarativeStateChangeScript::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeStateGroup@@UAEPAXPBD@Z @ 2122 NONAME ; void * QDeclarativeStateGroup::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeStateOperation@@UAEPAXPBD@Z @ 2123 NONAME ; void * QDeclarativeStateOperation::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeSystemPalette@@UAEPAXPBD@Z @ 2124 NONAME ; void * QDeclarativeSystemPalette::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeText@@UAEPAXPBD@Z @ 2125 NONAME ; void * QDeclarativeText::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeTextEdit@@UAEPAXPBD@Z @ 2126 NONAME ; void * QDeclarativeTextEdit::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeTextInput@@UAEPAXPBD@Z @ 2127 NONAME ; void * QDeclarativeTextInput::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeTimer@@UAEPAXPBD@Z @ 2128 NONAME ; void * QDeclarativeTimer::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeTransition@@UAEPAXPBD@Z @ 2129 NONAME ; void * QDeclarativeTransition::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 2130 NONAME ; void * QDeclarativeValueType::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeView@@UAEPAXPBD@Z @ 2131 NONAME ; void * QDeclarativeView::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeViewSection@@UAEPAXPBD@Z @ 2132 NONAME ; void * QDeclarativeViewSection::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeVisualDataModel@@UAEPAXPBD@Z @ 2133 NONAME ; void * QDeclarativeVisualDataModel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeVisualItemModel@@UAEPAXPBD@Z @ 2134 NONAME ; void * QDeclarativeVisualItemModel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeVisualModel@@UAEPAXPBD@Z @ 2135 NONAME ; void * QDeclarativeVisualModel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeWebPage@@UAEPAXPBD@Z @ 2136 NONAME ; void * QDeclarativeWebPage::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeWebView@@UAEPAXPBD@Z @ 2137 NONAME ; void * QDeclarativeWebView::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeXmlListModel@@UAEPAXPBD@Z @ 2138 NONAME ; void * QDeclarativeXmlListModel::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeXmlListModelRole@@UAEPAXPBD@Z @ 2139 NONAME ; void * QDeclarativeXmlListModelRole::qt_metacast(char const *)
+ ?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 2140 NONAME ; void * QListModelInterface::qt_metacast(char const *)
+ ?qt_metacast@QPacketProtocol@@UAEPAXPBD@Z @ 2141 NONAME ; void * QPacketProtocol::qt_metacast(char const *)
+ ?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 2142 NONAME ; class QString QDeclarativeDomImport::qualifier(void) const
+ ?query@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 2143 NONAME ; class QString QDeclarativeXmlListModel::query(void) const
+ ?query@QDeclarativeXmlListModelRole@@QBE?AVQString@@XZ @ 2144 NONAME ; class QString QDeclarativeXmlListModelRole::query(void) const
+ ?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 2145 NONAME ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *)
+ ?queryCompleted@QDeclarativeXmlListModel@@AAEXHH@Z @ 2146 NONAME ; void QDeclarativeXmlListModel::queryCompleted(int, int)
+ ?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 2147 NONAME ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *)
+ ?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 2148 NONAME ; int QDeclarativeDebugWatch::queryId(void) const
+ ?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 2149 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 2150 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 2151 NONAME ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *)
+ ?quit@QDeclarativeEngine@@IAEXXZ @ 2152 NONAME ; void QDeclarativeEngine::quit(void)
+ ?radius@QDeclarativeRectangle@@QBEMXZ @ 2153 NONAME ; float QDeclarativeRectangle::radius(void) const
+ ?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 2154 NONAME ; void QDeclarativeRectangle::radiusChanged(void)
+ ?read@QDeclarativeProperty@@QBE?AVQVariant@@XZ @ 2155 NONAME ; class QVariant QDeclarativeProperty::read(void) const
+ ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@@Z @ 2156 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &)
+ ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 2157 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeContext *)
+ ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 2158 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeEngine *)
+ ?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 2159 NONAME ; class QPacket QPacketProtocol::read(void)
+ ?readOnlyChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 2160 NONAME ; void QDeclarativeTextEdit::readOnlyChanged(bool)
+ ?readOnlyChanged@QDeclarativeTextInput@@IAEX_N@Z @ 2161 NONAME ; void QDeclarativeTextInput::readOnlyChanged(bool)
+ ?readyRead@QPacketProtocol@@IAEXXZ @ 2162 NONAME ; void QPacketProtocol::readyRead(void)
+ ?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 2163 NONAME ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *)
+ ?refill@QDeclarativeGridView@@AAEXXZ @ 2164 NONAME ; void QDeclarativeGridView::refill(void)
+ ?refill@QDeclarativeListView@@AAEXXZ @ 2165 NONAME ; void QDeclarativeListView::refill(void)
+ ?refill@QDeclarativePathView@@AAEXXZ @ 2166 NONAME ; void QDeclarativePathView::refill(void)
+ ?refreshExpressions@QDeclarativeContextPrivate@@QAEXXZ @ 2167 NONAME ; void QDeclarativeContextPrivate::refreshExpressions(void)
+ ?regenerate@QDeclarativeRepeater@@AAEXXZ @ 2168 NONAME ; void QDeclarativeRepeater::regenerate(void)
+ ?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 2169 NONAME ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &))
+ ?registerType@QDeclarativePrivate@@YAHABURegisterInterface@1@@Z @ 2170 NONAME ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterInterface const &)
+ ?registerType@QDeclarativePrivate@@YAHABURegisterType@1@@Z @ 2171 NONAME ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterType const &)
+ ?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 2172 NONAME ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const
+ ?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 2173 NONAME ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const
+ ?release@QDeclarativePixmapReply@@AAE_N_N@Z @ 2174 NONAME ; bool QDeclarativePixmapReply::release(bool)
+ ?release@QDeclarativeVisualDataModel@@UAE?AV?$QFlags@W4ReleaseFlag@QDeclarativeVisualModel@@@@PAVQDeclarativeItem@@@Z @ 2175 NONAME ; class QFlags<enum QDeclarativeVisualModel::ReleaseFlag> QDeclarativeVisualDataModel::release(class QDeclarativeItem *)
+ ?release@QDeclarativeVisualItemModel@@UAE?AV?$QFlags@W4ReleaseFlag@QDeclarativeVisualModel@@@@PAVQDeclarativeItem@@@Z @ 2176 NONAME ; class QFlags<enum QDeclarativeVisualModel::ReleaseFlag> QDeclarativeVisualItemModel::release(class QDeclarativeItem *)
+ ?released@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 2177 NONAME ; void QDeclarativeMouseArea::released(class QDeclarativeMouseEvent *)
+ ?reload@QDeclarativeXmlListModel@@QAEXXZ @ 2178 NONAME ; void QDeclarativeXmlListModel::reload(void)
+ ?reloadAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 2179 NONAME ; class QAction * QDeclarativeWebView::reloadAction(void) const
+ ?remove@QDeclarativeListModel@@QAEXH@Z @ 2180 NONAME ; void QDeclarativeListModel::remove(int)
+ ?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 2181 NONAME ; void QMetaObjectBuilder::removeClassInfo(int)
+ ?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 2182 NONAME ; void QMetaObjectBuilder::removeConstructor(int)
+ ?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 2183 NONAME ; void QMetaObjectBuilder::removeEnumerator(int)
+ ?removeImageProvider@QDeclarativeEngine@@QAEXABVQString@@@Z @ 2184 NONAME ; void QDeclarativeEngine::removeImageProvider(class QString const &)
+ ?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 2185 NONAME ; void QMetaEnumBuilder::removeKey(int)
+ ?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 2186 NONAME ; void QMetaObjectBuilder::removeMethod(int)
+ ?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 2187 NONAME ; void QMetaPropertyBuilder::removeNotifySignal(void)
+ ?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 2188 NONAME ; void QMetaObjectBuilder::removeProperty(int)
+ ?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 2189 NONAME ; void QMetaObjectBuilder::removeRelatedMetaObject(int)
+ ?removeState@QDeclarativeStateGroup@@AAEXPAVQDeclarativeState@@@Z @ 2190 NONAME ; void QDeclarativeStateGroup::removeState(class QDeclarativeState *)
+ ?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 2191 NONAME ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *)
+ ?renderingEnabled@QDeclarativeWebView@@QBE_NXZ @ 2192 NONAME ; bool QDeclarativeWebView::renderingEnabled(void) const
+ ?renderingEnabledChanged@QDeclarativeWebView@@IAEXXZ @ 2193 NONAME ; void QDeclarativeWebView::renderingEnabledChanged(void)
+ ?replyFinished@QDeclarativeFontLoader@@AAEXXZ @ 2194 NONAME ; void QDeclarativeFontLoader::replyFinished(void)
+ ?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 2195 NONAME ; class QDeclarativePixmapReply * QDeclarativePixmapCache::request(class QDeclarativeEngine *, class QUrl const &)
+ ?requestFinished@QDeclarativeBorderImage@@EAEXXZ @ 2196 NONAME ; void QDeclarativeBorderImage::requestFinished(void)
+ ?requestFinished@QDeclarativeImageBase@@EAEXXZ @ 2197 NONAME ; void QDeclarativeImageBase::requestFinished(void)
+ ?requestFinished@QDeclarativeXmlListModel@@AAEXXZ @ 2198 NONAME ; void QDeclarativeXmlListModel::requestFinished(void)
+ ?requestProgress@QDeclarativeImageBase@@AAEX_J0@Z @ 2199 NONAME ; void QDeclarativeImageBase::requestProgress(long long, long long)
+ ?requestProgress@QDeclarativeXmlListModel@@AAEX_J0@Z @ 2200 NONAME ; void QDeclarativeXmlListModel::requestProgress(long long, long long)
+ ?reset@QDeclarativeAnchorChanges@@QBE?AVQString@@XZ @ 2201 NONAME ; class QString QDeclarativeAnchorChanges::reset(void) const
+ ?reset@QDeclarativeCompiler@@CAXPAVQDeclarativeCompiledData@@@Z @ 2202 NONAME ; void QDeclarativeCompiler::reset(class QDeclarativeCompiledData *)
+ ?reset@QDeclarativeProperty@@QBE_NXZ @ 2203 NONAME ; bool QDeclarativeProperty::reset(void) const
+ ?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 2204 NONAME ; void QDeclarativeAnchors::resetBaseline(void)
+ ?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 2205 NONAME ; void QDeclarativeAnchors::resetBottom(void)
+ ?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 2206 NONAME ; void QDeclarativeAnchors::resetCenterIn(void)
+ ?resetFill@QDeclarativeAnchors@@QAEXXZ @ 2207 NONAME ; void QDeclarativeAnchors::resetFill(void)
+ ?resetHeight@QDeclarativeItem@@QAEXXZ @ 2208 NONAME ; void QDeclarativeItem::resetHeight(void)
+ ?resetHorizontalCenter@QDeclarativeAnchors@@QAEXXZ @ 2209 NONAME ; void QDeclarativeAnchors::resetHorizontalCenter(void)
+ ?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 2210 NONAME ; void QDeclarativeAnchors::resetLeft(void)
+ ?resetRight@QDeclarativeAnchors@@QAEXXZ @ 2211 NONAME ; void QDeclarativeAnchors::resetRight(void)
+ ?resetTop@QDeclarativeAnchors@@QAEXXZ @ 2212 NONAME ; void QDeclarativeAnchors::resetTop(void)
+ ?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 2213 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void)
+ ?resetWidth@QDeclarativeItem@@QAEXXZ @ 2214 NONAME ; void QDeclarativeItem::resetWidth(void)
+ ?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 2215 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *)
+ ?resizeMode@QDeclarativeLoader@@QBE?AW4ResizeMode@1@XZ @ 2216 NONAME ; enum QDeclarativeLoader::ResizeMode QDeclarativeLoader::resizeMode(void) const
+ ?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 2217 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const
+ ?resizeModeChanged@QDeclarativeLoader@@IAEXXZ @ 2218 NONAME ; void QDeclarativeLoader::resizeModeChanged(void)
+ ?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 2219 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &)
+ ?resources@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 2220 NONAME ; struct QDeclarativeListProperty<class QObject> QDeclarativeItem::resources(void)
+ ?restart@QDeclarativeTimer@@QAEXXZ @ 2221 NONAME ; void QDeclarativeTimer::restart(void)
+ ?restoreEntryValues@QDeclarativePropertyChanges@@QBE_NXZ @ 2222 NONAME ; bool QDeclarativePropertyChanges::restoreEntryValues(void) const
+ ?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 2223 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const
+ ?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 2224 NONAME ; class QByteArray QMetaMethodBuilder::returnType(void) const
+ ?reverse@QDeclarativeAnchorChanges@@UAEXXZ @ 2225 NONAME ; void QDeclarativeAnchorChanges::reverse(void)
+ ?reverse@QDeclarativeParentChange@@UAEXXZ @ 2226 NONAME ; void QDeclarativeParentChange::reverse(void)
+ ?reversible@QDeclarativeTransition@@QBE_NXZ @ 2227 NONAME ; bool QDeclarativeTransition::reversible(void) const
+ ?reversingMode@QDeclarativeEaseFollow@@QBE?AW4ReversingMode@1@XZ @ 2228 NONAME ; enum QDeclarativeEaseFollow::ReversingMode QDeclarativeEaseFollow::reversingMode(void) const
+ ?reversingModeChanged@QDeclarativeEaseFollow@@IAEXXZ @ 2229 NONAME ; void QDeclarativeEaseFollow::reversingModeChanged(void)
+ ?rewind@QDeclarativeAnchorChanges@@UAEXXZ @ 2230 NONAME ; void QDeclarativeAnchorChanges::rewind(void)
+ ?rewind@QDeclarativeParentChange@@UAEXXZ @ 2231 NONAME ; void QDeclarativeParentChange::rewind(void)
+ ?right@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2232 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::right(void) const
+ ?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2233 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const
+ ?right@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2234 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::right(void) const
+ ?right@QDeclarativeScaleGrid@@QBEHXZ @ 2235 NONAME ; int QDeclarativeScaleGrid::right(void) const
+ ?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 2236 NONAME ; void QDeclarativeAnchors::rightChanged(void)
+ ?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 2237 NONAME ; float QDeclarativeAnchors::rightMargin(void) const
+ ?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 2238 NONAME ; void QDeclarativeAnchors::rightMarginChanged(void)
+ ?roleObjects@QDeclarativeXmlListModel@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeXmlListModelRole@@@@XZ @ 2239 NONAME ; struct QDeclarativeListProperty<class QDeclarativeXmlListModelRole> QDeclarativeXmlListModel::roleObjects(void)
+ ?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 2240 NONAME ; class QList<int> QDeclarativeListModel::roles(void) const
+ ?roles@QDeclarativeXmlListModel@@UBE?AV?$QList@H@@XZ @ 2241 NONAME ; class QList<int> QDeclarativeXmlListModel::roles(void) const
+ ?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 2242 NONAME ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const
+ ?rootContext@QDeclarativeEngine@@QAEPAVQDeclarativeContext@@XZ @ 2243 NONAME ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void)
+ ?rootContext@QDeclarativeView@@QAEPAVQDeclarativeContext@@XZ @ 2244 NONAME ; class QDeclarativeContext * QDeclarativeView::rootContext(void)
+ ?rootIndex@QDeclarativeVisualDataModel@@QBE?AVQModelIndex@@XZ @ 2245 NONAME ; class QModelIndex QDeclarativeVisualDataModel::rootIndex(void) const
+ ?rootIndexChanged@QDeclarativeVisualDataModel@@IAEXXZ @ 2246 NONAME ; void QDeclarativeVisualDataModel::rootIndexChanged(void)
+ ?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 2247 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
+ ?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 2248 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const
+ ?rotation@QDeclarativeParentChange@@QBEMXZ @ 2249 NONAME ; float QDeclarativeParentChange::rotation(void) const
+ ?rotationIsSet@QDeclarativeParentChange@@QBE_NXZ @ 2250 NONAME ; bool QDeclarativeParentChange::rotationIsSet(void) const
+ ?rows@QDeclarativeGrid@@QBEHXZ @ 2251 NONAME ; int QDeclarativeGrid::rows(void) const
+ ?rowsChanged@QDeclarativeGrid@@IAEXXZ @ 2252 NONAME ; void QDeclarativeGrid::rowsChanged(void)
+ ?runningChanged@QDeclarativeTimer@@IAEXXZ @ 2253 NONAME ; void QDeclarativeTimer::runningChanged(void)
+ ?saveComponentState@QDeclarativeCompiler@@AAEXXZ @ 2254 NONAME ; void QDeclarativeCompiler::saveComponentState(void)
+ ?saveCurrentValues@QDeclarativeAnchorChanges@@UAEXXZ @ 2255 NONAME ; void QDeclarativeAnchorChanges::saveCurrentValues(void)
+ ?saveCurrentValues@QDeclarativeParentChange@@UAEXXZ @ 2256 NONAME ; void QDeclarativeParentChange::saveCurrentValues(void)
+ ?saveOriginals@QDeclarativeAnchorChanges@@UAEXXZ @ 2257 NONAME ; void QDeclarativeAnchorChanges::saveOriginals(void)
+ ?saveOriginals@QDeclarativeParentChange@@UAEXXZ @ 2258 NONAME ; void QDeclarativeParentChange::saveOriginals(void)
+ ?scale@QDeclarativeParentChange@@QBEMXZ @ 2259 NONAME ; float QDeclarativeParentChange::scale(void) const
+ ?scaleIsSet@QDeclarativeParentChange@@QBE_NXZ @ 2260 NONAME ; bool QDeclarativeParentChange::scaleIsSet(void) const
+ ?sceneEvent@QDeclarativeFocusPanel@@MAE_NPAVQEvent@@@Z @ 2261 NONAME ; bool QDeclarativeFocusPanel::sceneEvent(class QEvent *)
+ ?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 2262 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *)
+ ?sceneEvent@QDeclarativeMouseArea@@MAE_NPAVQEvent@@@Z @ 2263 NONAME ; bool QDeclarativeMouseArea::sceneEvent(class QEvent *)
+ ?sceneEvent@QDeclarativeWebView@@MAE_NPAVQEvent@@@Z @ 2264 NONAME ; bool QDeclarativeWebView::sceneEvent(class QEvent *)
+ ?sceneEventFilter@QDeclarativeFlickable@@MAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 2265 NONAME ; bool QDeclarativeFlickable::sceneEventFilter(class QGraphicsItem *, class QEvent *)
+ ?sceneEventFilter@QDeclarativePathView@@MAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 2266 NONAME ; bool QDeclarativePathView::sceneEventFilter(class QGraphicsItem *, class QEvent *)
+ ?sceneHoverMoveEventToMouseEvent@QDeclarativeWebView@@AAEPAVQMouseEvent@@PAVQGraphicsSceneHoverEvent@@@Z @ 2267 NONAME ; class QMouseEvent * QDeclarativeWebView::sceneHoverMoveEventToMouseEvent(class QGraphicsSceneHoverEvent *)
+ ?sceneMouseEventToMouseEvent@QDeclarativeWebView@@AAEPAVQMouseEvent@@PAVQGraphicsSceneMouseEvent@@@Z @ 2268 NONAME ; class QMouseEvent * QDeclarativeWebView::sceneMouseEventToMouseEvent(class QGraphicsSceneMouseEvent *)
+ ?sceneResized@QDeclarativeView@@IAEXVQSize@@@Z @ 2269 NONAME ; void QDeclarativeView::sceneResized(class QSize)
+ ?sciRequestFinished@QDeclarativeBorderImage@@AAEXXZ @ 2270 NONAME ; void QDeclarativeBorderImage::sciRequestFinished(void)
+ ?scopeObject@QDeclarativeExpression@@QBEPAVQObject@@XZ @ 2271 NONAME ; class QObject * QDeclarativeExpression::scopeObject(void) const
+ ?scopeObject@QDeclarativeScriptString@@QBEPAVQObject@@XZ @ 2272 NONAME ; class QObject * QDeclarativeScriptString::scopeObject(void) const
+ ?script@QDeclarativeScriptString@@QBE?AVQString@@XZ @ 2273 NONAME ; class QString QDeclarativeScriptString::script(void) const
+ ?script@QDeclarativeStateChangeScript@@QBE?AVQDeclarativeScriptString@@XZ @ 2274 NONAME ; class QDeclarativeScriptString QDeclarativeStateChangeScript::script(void) const
+ ?sectionCriteria@QDeclarativeListView@@QAEPAVQDeclarativeViewSection@@XZ @ 2275 NONAME ; class QDeclarativeViewSection * QDeclarativeListView::sectionCriteria(void)
+ ?sectionString@QDeclarativeViewSection@@QAE?AVQString@@ABV2@@Z @ 2276 NONAME ; class QString QDeclarativeViewSection::sectionString(class QString const &)
+ ?selectAll@QDeclarativeTextEdit@@QAEXXZ @ 2277 NONAME ; void QDeclarativeTextEdit::selectAll(void)
+ ?selectAll@QDeclarativeTextInput@@QAEXXZ @ 2278 NONAME ; void QDeclarativeTextInput::selectAll(void)
+ ?selectedText@QDeclarativeTextEdit@@QBE?AVQString@@XZ @ 2279 NONAME ; class QString QDeclarativeTextEdit::selectedText(void) const
+ ?selectedText@QDeclarativeTextInput@@QBE?AVQString@@XZ @ 2280 NONAME ; class QString QDeclarativeTextInput::selectedText(void) const
+ ?selectedTextChanged@QDeclarativeTextInput@@IAEXXZ @ 2281 NONAME ; void QDeclarativeTextInput::selectedTextChanged(void)
+ ?selectedTextColor@QDeclarativeTextEdit@@QBE?AVQColor@@XZ @ 2282 NONAME ; class QColor QDeclarativeTextEdit::selectedTextColor(void) const
+ ?selectedTextColor@QDeclarativeTextInput@@QBE?AVQColor@@XZ @ 2283 NONAME ; class QColor QDeclarativeTextInput::selectedTextColor(void) const
+ ?selectedTextColorChanged@QDeclarativeTextEdit@@IAEXABVQColor@@@Z @ 2284 NONAME ; void QDeclarativeTextEdit::selectedTextColorChanged(class QColor const &)
+ ?selectedTextColorChanged@QDeclarativeTextInput@@IAEXABVQColor@@@Z @ 2285 NONAME ; void QDeclarativeTextInput::selectedTextColorChanged(class QColor const &)
+ ?selectionChanged@QDeclarativeTextEdit@@IAEXXZ @ 2286 NONAME ; void QDeclarativeTextEdit::selectionChanged(void)
+ ?selectionChanged@QDeclarativeTextInput@@AAEXXZ @ 2287 NONAME ; void QDeclarativeTextInput::selectionChanged(void)
+ ?selectionColor@QDeclarativeTextEdit@@QBE?AVQColor@@XZ @ 2288 NONAME ; class QColor QDeclarativeTextEdit::selectionColor(void) const
+ ?selectionColor@QDeclarativeTextInput@@QBE?AVQColor@@XZ @ 2289 NONAME ; class QColor QDeclarativeTextInput::selectionColor(void) const
+ ?selectionColorChanged@QDeclarativeTextEdit@@IAEXABVQColor@@@Z @ 2290 NONAME ; void QDeclarativeTextEdit::selectionColorChanged(class QColor const &)
+ ?selectionColorChanged@QDeclarativeTextInput@@IAEXABVQColor@@@Z @ 2291 NONAME ; void QDeclarativeTextInput::selectionColorChanged(class QColor const &)
+ ?selectionEnd@QDeclarativeTextEdit@@QBEHXZ @ 2292 NONAME ; int QDeclarativeTextEdit::selectionEnd(void) const
+ ?selectionEnd@QDeclarativeTextInput@@QBEHXZ @ 2293 NONAME ; int QDeclarativeTextInput::selectionEnd(void) const
+ ?selectionEndChanged@QDeclarativeTextEdit@@IAEXXZ @ 2294 NONAME ; void QDeclarativeTextEdit::selectionEndChanged(void)
+ ?selectionEndChanged@QDeclarativeTextInput@@IAEXXZ @ 2295 NONAME ; void QDeclarativeTextInput::selectionEndChanged(void)
+ ?selectionStart@QDeclarativeTextEdit@@QBEHXZ @ 2296 NONAME ; int QDeclarativeTextEdit::selectionStart(void) const
+ ?selectionStart@QDeclarativeTextInput@@QBEHXZ @ 2297 NONAME ; int QDeclarativeTextInput::selectionStart(void) const
+ ?selectionStartChanged@QDeclarativeTextEdit@@IAEXXZ @ 2298 NONAME ; void QDeclarativeTextEdit::selectionStartChanged(void)
+ ?selectionStartChanged@QDeclarativeTextInput@@IAEXXZ @ 2299 NONAME ; void QDeclarativeTextInput::selectionStartChanged(void)
+ ?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 2300 NONAME ; class QPacketAutoSend QPacketProtocol::send(void)
+ ?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 2301 NONAME ; void QPacketProtocol::send(class QPacket const &)
+ ?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 2302 NONAME ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &)
+ ?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 2303 NONAME ; void QDeclarativeDebugService::sendMessage(class QByteArray const &)
+ ?sendMouseEvent@QDeclarativeFlickable@@IAE_NPAVQGraphicsSceneMouseEvent@@@Z @ 2304 NONAME ; bool QDeclarativeFlickable::sendMouseEvent(class QGraphicsSceneMouseEvent *)
+ ?sendMouseEvent@QDeclarativePathView@@IAE_NPAVQGraphicsSceneMouseEvent@@@Z @ 2305 NONAME ; bool QDeclarativePathView::sendMouseEvent(class QGraphicsSceneMouseEvent *)
+ ?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 2306 NONAME ; void QMetaObjectBuilder::serialize(class QDataStream &) const
+ ?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 2307 NONAME ; void QDeclarativeListModel::set(int, class QScriptValue const &)
+ ?setAcceleration@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2308 NONAME ; void QDeclarativeParticleMotionGravity::setAcceleration(float)
+ ?setAcceptedButtons@QDeclarativeMouseArea@@QAEXV?$QFlags@W4MouseButton@Qt@@@@@Z @ 2309 NONAME ; void QDeclarativeMouseArea::setAcceptedButtons(class QFlags<enum Qt::MouseButton>)
+ ?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 2310 NONAME ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access)
+ ?setAdd@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 2311 NONAME ; void QDeclarativeBasePositioner::setAdd(class QDeclarativeTransition *)
+ ?setAngle@QDeclarativeParticles@@QAEXM@Z @ 2312 NONAME ; void QDeclarativeParticles::setAngle(float)
+ ?setAngleDeviation@QDeclarativeParticles@@QAEXM@Z @ 2313 NONAME ; void QDeclarativeParticles::setAngleDeviation(float)
+ ?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 2314 NONAME ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *)
+ ?setAsynchronous@QDeclarativeImageBase@@QAEX_N@Z @ 2315 NONAME ; void QDeclarativeImageBase::setAsynchronous(bool)
+ ?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 2316 NONAME ; void QMetaMethodBuilder::setAttributes(int)
+ ?setAxis@QDeclarativeDrag@@QAEXW4Axis@1@@Z @ 2317 NONAME ; void QDeclarativeDrag::setAxis(enum QDeclarativeDrag::Axis)
+ ?setBack@QDeclarativeFlipable@@QAEXPAVQDeclarativeItem@@@Z @ 2318 NONAME ; void QDeclarativeFlipable::setBack(class QDeclarativeItem *)
+ ?setBaseUrl@QDeclarativeContext@@QAEXABVQUrl@@@Z @ 2319 NONAME ; void QDeclarativeContext::setBaseUrl(class QUrl const &)
+ ?setBaseUrl@QDeclarativeEngine@@QAEXABVQUrl@@@Z @ 2320 NONAME ; void QDeclarativeEngine::setBaseUrl(class QUrl const &)
+ ?setBaseline@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2321 NONAME ; void QDeclarativeAnchorChanges::setBaseline(class QDeclarativeAnchorLine const &)
+ ?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2322 NONAME ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &)
+ ?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 2323 NONAME ; void QDeclarativeAnchors::setBaselineOffset(float)
+ ?setBaselineOffset@QDeclarativeItem@@QAEXM@Z @ 2324 NONAME ; void QDeclarativeItem::setBaselineOffset(float)
+ ?setBottom@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2325 NONAME ; void QDeclarativeAnchorChanges::setBottom(class QDeclarativeAnchorLine const &)
+ ?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2326 NONAME ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &)
+ ?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 2327 NONAME ; void QDeclarativeScaleGrid::setBottom(int)
+ ?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 2328 NONAME ; void QDeclarativeAnchors::setBottomMargin(float)
+ ?setCacheBuffer@QDeclarativeGridView@@QAEXH@Z @ 2329 NONAME ; void QDeclarativeGridView::setCacheBuffer(int)
+ ?setCacheBuffer@QDeclarativeListView@@QAEXH@Z @ 2330 NONAME ; void QDeclarativeListView::setCacheBuffer(int)
+ ?setCacheFrozen@QDeclarativePaintedItem@@IAEX_N@Z @ 2331 NONAME ; void QDeclarativePaintedItem::setCacheFrozen(bool)
+ ?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 2332 NONAME ; void QDeclarativeOpenMetaObject::setCached(bool)
+ ?setCellHeight@QDeclarativeGridView@@QAEXH@Z @ 2333 NONAME ; void QDeclarativeGridView::setCellHeight(int)
+ ?setCellWidth@QDeclarativeGridView@@QAEXH@Z @ 2334 NONAME ; void QDeclarativeGridView::setCellWidth(int)
+ ?setCenterIn@QDeclarativeAnchors@@QAEXPAVQDeclarativeItem@@@Z @ 2335 NONAME ; void QDeclarativeAnchors::setCenterIn(class QDeclarativeItem *)
+ ?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 2336 NONAME ; void QMetaObjectBuilder::setClassName(class QByteArray const &)
+ ?setClip@QDeclarativeItem@@QAEX_N@Z @ 2337 NONAME ; void QDeclarativeItem::setClip(bool)
+ ?setColor@QDeclarativeGradientStop@@QAEXABVQColor@@@Z @ 2338 NONAME ; void QDeclarativeGradientStop::setColor(class QColor const &)
+ ?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 2339 NONAME ; void QDeclarativePen::setColor(class QColor const &)
+ ?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 2340 NONAME ; void QDeclarativeRectangle::setColor(class QColor const &)
+ ?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 2341 NONAME ; void QDeclarativeText::setColor(class QColor const &)
+ ?setColor@QDeclarativeTextEdit@@QAEXABVQColor@@@Z @ 2342 NONAME ; void QDeclarativeTextEdit::setColor(class QColor const &)
+ ?setColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2343 NONAME ; void QDeclarativeTextInput::setColor(class QColor const &)
+ ?setColorGroup@QDeclarativeSystemPalette@@QAEXW4ColorGroup@1@@Z @ 2344 NONAME ; void QDeclarativeSystemPalette::setColorGroup(enum QDeclarativeSystemPalette::ColorGroup)
+ ?setColumn@QDeclarativeError@@QAEXH@Z @ 2345 NONAME ; void QDeclarativeError::setColumn(int)
+ ?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 2346 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int)
+ ?setColumns@QDeclarativeGrid@@QAEXH@Z @ 2347 NONAME ; void QDeclarativeGrid::setColumns(int)
+ ?setConsistentTime@QDeclarativeItemPrivate@@SAXH@Z @ 2348 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(int)
+ ?setContent@QDeclarativeWebView@@QAEXABVQByteArray@@ABVQString@@ABVQUrl@@@Z @ 2349 NONAME ; void QDeclarativeWebView::setContent(class QByteArray const &, class QString const &, class QUrl const &)
+ ?setContentHeight@QDeclarativeFlickable@@QAEXM@Z @ 2350 NONAME ; void QDeclarativeFlickable::setContentHeight(float)
+ ?setContentWidth@QDeclarativeFlickable@@QAEXM@Z @ 2351 NONAME ; void QDeclarativeFlickable::setContentWidth(float)
+ ?setContentX@QDeclarativeFlickable@@QAEXM@Z @ 2352 NONAME ; void QDeclarativeFlickable::setContentX(float)
+ ?setContentY@QDeclarativeFlickable@@QAEXM@Z @ 2353 NONAME ; void QDeclarativeFlickable::setContentY(float)
+ ?setContentsScale@QDeclarativePaintedItem@@QAEXM@Z @ 2354 NONAME ; void QDeclarativePaintedItem::setContentsScale(float)
+ ?setContentsSize@QDeclarativePaintedItem@@QAEXABVQSize@@@Z @ 2355 NONAME ; void QDeclarativePaintedItem::setContentsSize(class QSize const &)
+ ?setContext@QDeclarativeScriptString@@QAEXPAVQDeclarativeContext@@@Z @ 2356 NONAME ; void QDeclarativeScriptString::setContext(class QDeclarativeContext *)
+ ?setContextForObject@QDeclarativeEngine@@SAXPAVQObject@@PAVQDeclarativeContext@@@Z @ 2357 NONAME ; void QDeclarativeEngine::setContextForObject(class QObject *, class QDeclarativeContext *)
+ ?setContextProperty@QDeclarativeContext@@QAEXABVQString@@ABVQVariant@@@Z @ 2358 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QVariant const &)
+ ?setContextProperty@QDeclarativeContext@@QAEXABVQString@@PAVQObject@@@Z @ 2359 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QObject *)
+ ?setControl1X@QDeclarativePathCubic@@QAEXM@Z @ 2360 NONAME ; void QDeclarativePathCubic::setControl1X(float)
+ ?setControl1Y@QDeclarativePathCubic@@QAEXM@Z @ 2361 NONAME ; void QDeclarativePathCubic::setControl1Y(float)
+ ?setControl2X@QDeclarativePathCubic@@QAEXM@Z @ 2362 NONAME ; void QDeclarativePathCubic::setControl2X(float)
+ ?setControl2Y@QDeclarativePathCubic@@QAEXM@Z @ 2363 NONAME ; void QDeclarativePathCubic::setControl2Y(float)
+ ?setControlX@QDeclarativePathQuad@@QAEXM@Z @ 2364 NONAME ; void QDeclarativePathQuad::setControlX(float)
+ ?setControlY@QDeclarativePathQuad@@QAEXM@Z @ 2365 NONAME ; void QDeclarativePathQuad::setControlY(float)
+ ?setCount@QDeclarativeParticles@@QAEXH@Z @ 2366 NONAME ; void QDeclarativeParticles::setCount(int)
+ ?setCreationContext@QDeclarativeComponent@@QAEXPAVQDeclarativeContext@@@Z @ 2367 NONAME ; void QDeclarativeComponent::setCreationContext(class QDeclarativeContext *)
+ ?setCriteria@QDeclarativeViewSection@@QAEXW4SectionCriteria@1@@Z @ 2368 NONAME ; void QDeclarativeViewSection::setCriteria(enum QDeclarativeViewSection::SectionCriteria)
+ ?setCurrentFrame@QDeclarativeAnimatedImage@@QAEXH@Z @ 2369 NONAME ; void QDeclarativeAnimatedImage::setCurrentFrame(int)
+ ?setCurrentIndex@QDeclarativeGridView@@QAEXH@Z @ 2370 NONAME ; void QDeclarativeGridView::setCurrentIndex(int)
+ ?setCurrentIndex@QDeclarativeListView@@QAEXH@Z @ 2371 NONAME ; void QDeclarativeListView::setCurrentIndex(int)
+ ?setCurrentIndex@QDeclarativePathView@@QAEXH@Z @ 2372 NONAME ; void QDeclarativePathView::setCurrentIndex(int)
+ ?setCursorDelegate@QDeclarativeTextEdit@@QAEXPAVQDeclarativeComponent@@@Z @ 2373 NONAME ; void QDeclarativeTextEdit::setCursorDelegate(class QDeclarativeComponent *)
+ ?setCursorDelegate@QDeclarativeTextInput@@QAEXPAVQDeclarativeComponent@@@Z @ 2374 NONAME ; void QDeclarativeTextInput::setCursorDelegate(class QDeclarativeComponent *)
+ ?setCursorPosition@QDeclarativeTextEdit@@QAEXH@Z @ 2375 NONAME ; void QDeclarativeTextEdit::setCursorPosition(int)
+ ?setCursorPosition@QDeclarativeTextInput@@QAEXH@Z @ 2376 NONAME ; void QDeclarativeTextInput::setCursorPosition(int)
+ ?setCursorVisible@QDeclarativeTextEdit@@QAEX_N@Z @ 2377 NONAME ; void QDeclarativeTextEdit::setCursorVisible(bool)
+ ?setCursorVisible@QDeclarativeTextInput@@QAEX_N@Z @ 2378 NONAME ; void QDeclarativeTextInput::setCursorVisible(bool)
+ ?setDamping@QDeclarativeSpringFollow@@QAEXM@Z @ 2379 NONAME ; void QDeclarativeSpringFollow::setDamping(float)
+ ?setData@QDeclarativeComponent@@QAEXABVQByteArray@@ABVQUrl@@@Z @ 2380 NONAME ; void QDeclarativeComponent::setData(class QByteArray const &, class QUrl const &)
+ ?setData@QListModelInterface@@UAE_NHABV?$QHash@HVQVariant@@@@@Z @ 2381 NONAME ; bool QListModelInterface::setData(int, class QHash<int, class QVariant> const &)
+ ?setDate@QDeclarativeDateTimeFormatter@@QAEXABVQDate@@@Z @ 2382 NONAME ; void QDeclarativeDateTimeFormatter::setDate(class QDate const &)
+ ?setDateFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2383 NONAME ; void QDeclarativeDateTimeFormatter::setDateFormat(class QString const &)
+ ?setDateTime@QDeclarativeDateTimeFormatter@@QAEXABVQDateTime@@@Z @ 2384 NONAME ; void QDeclarativeDateTimeFormatter::setDateTime(class QDateTime const &)
+ ?setDateTimeFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2385 NONAME ; void QDeclarativeDateTimeFormatter::setDateTimeFormat(class QString const &)
+ ?setDelegate@QDeclarativeGridView@@QAEXPAVQDeclarativeComponent@@@Z @ 2386 NONAME ; void QDeclarativeGridView::setDelegate(class QDeclarativeComponent *)
+ ?setDelegate@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2387 NONAME ; void QDeclarativeListView::setDelegate(class QDeclarativeComponent *)
+ ?setDelegate@QDeclarativePathView@@QAEXPAVQDeclarativeComponent@@@Z @ 2388 NONAME ; void QDeclarativePathView::setDelegate(class QDeclarativeComponent *)
+ ?setDelegate@QDeclarativeRepeater@@QAEXPAVQDeclarativeComponent@@@Z @ 2389 NONAME ; void QDeclarativeRepeater::setDelegate(class QDeclarativeComponent *)
+ ?setDelegate@QDeclarativeViewSection@@QAEXPAVQDeclarativeComponent@@@Z @ 2390 NONAME ; void QDeclarativeViewSection::setDelegate(class QDeclarativeComponent *)
+ ?setDelegate@QDeclarativeVisualDataModel@@QAEXPAVQDeclarativeComponent@@@Z @ 2391 NONAME ; void QDeclarativeVisualDataModel::setDelegate(class QDeclarativeComponent *)
+ ?setDescription@QDeclarativeError@@QAEXABVQString@@@Z @ 2392 NONAME ; void QDeclarativeError::setDescription(class QString const &)
+ ?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 2393 NONAME ; void QMetaPropertyBuilder::setDesignable(bool)
+ ?setDragMargin@QDeclarativePathView@@QAEXM@Z @ 2394 NONAME ; void QDeclarativePathView::setDragMargin(float)
+ ?setDuration@QDeclarativeEaseFollow@@QAEXM@Z @ 2395 NONAME ; void QDeclarativeEaseFollow::setDuration(float)
+ ?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 2396 NONAME ; void QMetaPropertyBuilder::setDynamic(bool)
+ ?setEchoMode@QDeclarativeTextInput@@QAEXW4EchoMode@1@@Z @ 2397 NONAME ; void QDeclarativeTextInput::setEchoMode(enum QDeclarativeTextInput::EchoMode)
+ ?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 2398 NONAME ; void QMetaPropertyBuilder::setEditable(bool)
+ ?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 2399 NONAME ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode)
+ ?setEmissionRate@QDeclarativeParticles@@QAEXH@Z @ 2400 NONAME ; void QDeclarativeParticles::setEmissionRate(int)
+ ?setEmissionVariance@QDeclarativeParticles@@QAEXM@Z @ 2401 NONAME ; void QDeclarativeParticles::setEmissionVariance(float)
+ ?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 2402 NONAME ; void QDeclarativeBehavior::setEnabled(bool)
+ ?setEnabled@QDeclarativeDebugClient@@QAEX_N@Z @ 2403 NONAME ; void QDeclarativeDebugClient::setEnabled(bool)
+ ?setEnabled@QDeclarativeEaseFollow@@QAEX_N@Z @ 2404 NONAME ; void QDeclarativeEaseFollow::setEnabled(bool)
+ ?setEnabled@QDeclarativeMouseArea@@QAEX_N@Z @ 2405 NONAME ; void QDeclarativeMouseArea::setEnabled(bool)
+ ?setEnabled@QDeclarativeSpringFollow@@QAEX_N@Z @ 2406 NONAME ; void QDeclarativeSpringFollow::setEnabled(bool)
+ ?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 2407 NONAME ; void QMetaPropertyBuilder::setEnumOrFlag(bool)
+ ?setEpsilon@QDeclarativeSpringFollow@@QAEXM@Z @ 2408 NONAME ; void QDeclarativeSpringFollow::setEpsilon(float)
+ ?setExpression@QDeclarativeExpression@@QAEXABVQString@@@Z @ 2409 NONAME ; void QDeclarativeExpression::setExpression(class QString const &)
+ ?setExtends@QDeclarativeState@@QAEXABVQString@@@Z @ 2410 NONAME ; void QDeclarativeState::setExtends(class QString const &)
+ ?setFadeInDuration@QDeclarativeParticles@@QAEXH@Z @ 2411 NONAME ; void QDeclarativeParticles::setFadeInDuration(int)
+ ?setFadeOutDuration@QDeclarativeParticles@@QAEXH@Z @ 2412 NONAME ; void QDeclarativeParticles::setFadeOutDuration(int)
+ ?setFill@QDeclarativeAnchors@@QAEXPAVQDeclarativeItem@@@Z @ 2413 NONAME ; void QDeclarativeAnchors::setFill(class QDeclarativeItem *)
+ ?setFillColor@QDeclarativePaintedItem@@QAEXABVQColor@@@Z @ 2414 NONAME ; void QDeclarativePaintedItem::setFillColor(class QColor const &)
+ ?setFillMode@QDeclarativeImage@@QAEXW4FillMode@1@@Z @ 2415 NONAME ; void QDeclarativeImage::setFillMode(enum QDeclarativeImage::FillMode)
+ ?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 2416 NONAME ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>)
+ ?setFlickDeceleration@QDeclarativeFlickable@@QAEXM@Z @ 2417 NONAME ; void QDeclarativeFlickable::setFlickDeceleration(float)
+ ?setFlickDirection@QDeclarativeFlickable@@QAEXW4FlickDirection@1@@Z @ 2418 NONAME ; void QDeclarativeFlickable::setFlickDirection(enum QDeclarativeFlickable::FlickDirection)
+ ?setFlow@QDeclarativeFlow@@QAEXW4Flow@1@@Z @ 2419 NONAME ; void QDeclarativeFlow::setFlow(enum QDeclarativeFlow::Flow)
+ ?setFlow@QDeclarativeGridView@@QAEXW4Flow@1@@Z @ 2420 NONAME ; void QDeclarativeGridView::setFlow(enum QDeclarativeGridView::Flow)
+ ?setFocus@QDeclarativeItem@@QAEX_N@Z @ 2421 NONAME ; void QDeclarativeItem::setFocus(bool)
+ ?setFocusOnPress@QDeclarativeTextEdit@@QAEX_N@Z @ 2422 NONAME ; void QDeclarativeTextEdit::setFocusOnPress(bool)
+ ?setFocusOnPress@QDeclarativeTextInput@@QAEX_N@Z @ 2423 NONAME ; void QDeclarativeTextInput::setFocusOnPress(bool)
+ ?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 2424 NONAME ; void QDeclarativeText::setFont(class QFont const &)
+ ?setFont@QDeclarativeTextEdit@@QAEXABVQFont@@@Z @ 2425 NONAME ; void QDeclarativeTextEdit::setFont(class QFont const &)
+ ?setFont@QDeclarativeTextInput@@QAEXABVQFont@@@Z @ 2426 NONAME ; void QDeclarativeTextInput::setFont(class QFont const &)
+ ?setFooter@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2427 NONAME ; void QDeclarativeListView::setFooter(class QDeclarativeComponent *)
+ ?setFormat@QDeclarativeNumberFormatter@@QAEXABVQString@@@Z @ 2428 NONAME ; void QDeclarativeNumberFormatter::setFormat(class QString const &)
+ ?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 2429 NONAME ; void QDeclarativeTransition::setFromState(class QString const &)
+ ?setFront@QDeclarativeFlipable@@QAEXPAVQDeclarativeItem@@@Z @ 2430 NONAME ; void QDeclarativeFlipable::setFront(class QDeclarativeItem *)
+ ?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 2431 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *)
+ ?setGraphicsObject@QDeclarativeGraphicsObjectContainer@@QAEXPAVQGraphicsObject@@@Z @ 2432 NONAME ; void QDeclarativeGraphicsObjectContainer::setGraphicsObject(class QGraphicsObject *)
+ ?setGridScaledImage@QDeclarativeBorderImage@@AAEXABVQDeclarativeGridScaledImage@@@Z @ 2433 NONAME ; void QDeclarativeBorderImage::setGridScaledImage(class QDeclarativeGridScaledImage const &)
+ ?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 2434 NONAME ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment)
+ ?setHAlign@QDeclarativeTextEdit@@QAEXW4HAlignment@1@@Z @ 2435 NONAME ; void QDeclarativeTextEdit::setHAlign(enum QDeclarativeTextEdit::HAlignment)
+ ?setHAlign@QDeclarativeTextInput@@QAEXW4HAlignment@1@@Z @ 2436 NONAME ; void QDeclarativeTextInput::setHAlign(enum QDeclarativeTextInput::HAlignment)
+ ?setHeader@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2437 NONAME ; void QDeclarativeListView::setHeader(class QDeclarativeComponent *)
+ ?setHeight@QDeclarativeItem@@QAEXM@Z @ 2438 NONAME ; void QDeclarativeItem::setHeight(float)
+ ?setHeight@QDeclarativeParentChange@@QAEXM@Z @ 2439 NONAME ; void QDeclarativeParentChange::setHeight(float)
+ ?setHighlight@QDeclarativeGridView@@QAEXPAVQDeclarativeComponent@@@Z @ 2440 NONAME ; void QDeclarativeGridView::setHighlight(class QDeclarativeComponent *)
+ ?setHighlight@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2441 NONAME ; void QDeclarativeListView::setHighlight(class QDeclarativeComponent *)
+ ?setHighlightFollowsCurrentItem@QDeclarativeGridView@@QAEX_N@Z @ 2442 NONAME ; void QDeclarativeGridView::setHighlightFollowsCurrentItem(bool)
+ ?setHighlightFollowsCurrentItem@QDeclarativeListView@@QAEX_N@Z @ 2443 NONAME ; void QDeclarativeListView::setHighlightFollowsCurrentItem(bool)
+ ?setHighlightMoveSpeed@QDeclarativeListView@@QAEXM@Z @ 2444 NONAME ; void QDeclarativeListView::setHighlightMoveSpeed(float)
+ ?setHighlightRangeMode@QDeclarativeListView@@QAEXW4HighlightRangeMode@1@@Z @ 2445 NONAME ; void QDeclarativeListView::setHighlightRangeMode(enum QDeclarativeListView::HighlightRangeMode)
+ ?setHighlightResizeSpeed@QDeclarativeListView@@QAEXM@Z @ 2446 NONAME ; void QDeclarativeListView::setHighlightResizeSpeed(float)
+ ?setHorizontalCenter@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2447 NONAME ; void QDeclarativeAnchorChanges::setHorizontalCenter(class QDeclarativeAnchorLine const &)
+ ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2448 NONAME ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &)
+ ?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 2449 NONAME ; void QDeclarativeAnchors::setHorizontalCenterOffset(float)
+ ?setHorizontalTileMode@QDeclarativeBorderImage@@QAEXW4TileMode@1@@Z @ 2450 NONAME ; void QDeclarativeBorderImage::setHorizontalTileMode(enum QDeclarativeBorderImage::TileMode)
+ ?setHovered@QDeclarativeMouseArea@@IAEX_N@Z @ 2451 NONAME ; void QDeclarativeMouseArea::setHovered(bool)
+ ?setHtml@QDeclarativeWebView@@QAEXABVQString@@ABVQUrl@@@Z @ 2452 NONAME ; void QDeclarativeWebView::setHtml(class QString const &, class QUrl const &)
+ ?setIdProperty@QDeclarativeContextPrivate@@QAEXHPAVQObject@@@Z @ 2453 NONAME ; void QDeclarativeContextPrivate::setIdProperty(int, class QObject *)
+ ?setIdPropertyData@QDeclarativeContextPrivate@@QAEXPAVQDeclarativeIntegerCache@@@Z @ 2454 NONAME ; void QDeclarativeContextPrivate::setIdPropertyData(class QDeclarativeIntegerCache *)
+ ?setImplicitHeight@QDeclarativeItem@@IAEXM@Z @ 2455 NONAME ; void QDeclarativeItem::setImplicitHeight(float)
+ ?setImplicitWidth@QDeclarativeItem@@IAEXM@Z @ 2456 NONAME ; void QDeclarativeItem::setImplicitWidth(float)
+ ?setInputMask@QDeclarativeTextInput@@QAEXABVQString@@@Z @ 2457 NONAME ; void QDeclarativeTextInput::setInputMask(class QString const &)
+ ?setInteractive@QDeclarativeFlickable@@QAEX_N@Z @ 2458 NONAME ; void QDeclarativeFlickable::setInteractive(bool)
+ ?setInterval@QDeclarativeTimer@@QAEXH@Z @ 2459 NONAME ; void QDeclarativeTimer::setInterval(int)
+ ?setIsExplicit@QDeclarativePropertyChanges@@QAEX_N@Z @ 2460 NONAME ; void QDeclarativePropertyChanges::setIsExplicit(bool)
+ ?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 2461 NONAME ; void QMetaEnumBuilder::setIsFlag(bool)
+ ?setIsKey@QDeclarativeXmlListModelRole@@QAEX_N@Z @ 2462 NONAME ; void QDeclarativeXmlListModelRole::setIsKey(bool)
+ ?setKeepMouseGrab@QDeclarativeItem@@QAEX_N@Z @ 2463 NONAME ; void QDeclarativeItem::setKeepMouseGrab(bool)
+ ?setLeft@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2464 NONAME ; void QDeclarativeAnchorChanges::setLeft(class QDeclarativeAnchorLine const &)
+ ?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2465 NONAME ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &)
+ ?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 2466 NONAME ; void QDeclarativeScaleGrid::setLeft(int)
+ ?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 2467 NONAME ; void QDeclarativeAnchors::setLeftMargin(float)
+ ?setLifeSpan@QDeclarativeParticles@@QAEXH@Z @ 2468 NONAME ; void QDeclarativeParticles::setLifeSpan(int)
+ ?setLifeSpanDeviation@QDeclarativeParticles@@QAEXH@Z @ 2469 NONAME ; void QDeclarativeParticles::setLifeSpanDeviation(int)
+ ?setLine@QDeclarativeError@@QAEXH@Z @ 2470 NONAME ; void QDeclarativeError::setLine(int)
+ ?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 2471 NONAME ; void QDeclarativeDebugFileReference::setLineNumber(int)
+ ?setList@QDeclarativeListAccessor@@QAEXABVQVariant@@PAVQDeclarativeEngine@@@Z @ 2472 NONAME ; void QDeclarativeListAccessor::setList(class QVariant const &, class QDeclarativeEngine *)
+ ?setLoading@QDeclarativePixmapReply@@AAEXXZ @ 2473 NONAME ; void QDeclarativePixmapReply::setLoading(void)
+ ?setLongStyle@QDeclarativeDateTimeFormatter@@QAEX_N@Z @ 2474 NONAME ; void QDeclarativeDateTimeFormatter::setLongStyle(bool)
+ ?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 2475 NONAME ; void QDeclarativeAnchors::setMargins(float)
+ ?setMass@QDeclarativeSpringFollow@@QAEXM@Z @ 2476 NONAME ; void QDeclarativeSpringFollow::setMass(float)
+ ?setMaxLength@QDeclarativeTextInput@@QAEXH@Z @ 2477 NONAME ; void QDeclarativeTextInput::setMaxLength(int)
+ ?setMaximumEasingTime@QDeclarativeEaseFollow@@QAEXM@Z @ 2478 NONAME ; void QDeclarativeEaseFollow::setMaximumEasingTime(float)
+ ?setMaximumFlickVelocity@QDeclarativeFlickable@@QAEXM@Z @ 2479 NONAME ; void QDeclarativeFlickable::setMaximumFlickVelocity(float)
+ ?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 2480 NONAME ; int QPacketProtocol::setMaximumPacketSize(int)
+ ?setModel@QDeclarativeGridView@@QAEXABVQVariant@@@Z @ 2481 NONAME ; void QDeclarativeGridView::setModel(class QVariant const &)
+ ?setModel@QDeclarativeListView@@QAEXABVQVariant@@@Z @ 2482 NONAME ; void QDeclarativeListView::setModel(class QVariant const &)
+ ?setModel@QDeclarativePathView@@QAEXABVQVariant@@@Z @ 2483 NONAME ; void QDeclarativePathView::setModel(class QVariant const &)
+ ?setModel@QDeclarativeRepeater@@QAEXABVQVariant@@@Z @ 2484 NONAME ; void QDeclarativeRepeater::setModel(class QVariant const &)
+ ?setModel@QDeclarativeVisualDataModel@@QAEXABVQVariant@@@Z @ 2485 NONAME ; void QDeclarativeVisualDataModel::setModel(class QVariant const &)
+ ?setModulus@QDeclarativeSpringFollow@@QAEXM@Z @ 2486 NONAME ; void QDeclarativeSpringFollow::setModulus(float)
+ ?setMotion@QDeclarativeParticles@@QAEXPAVQDeclarativeParticleMotion@@@Z @ 2487 NONAME ; void QDeclarativeParticles::setMotion(class QDeclarativeParticleMotion *)
+ ?setMove@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 2488 NONAME ; void QDeclarativeBasePositioner::setMove(class QDeclarativeTransition *)
+ ?setName@QDeclarativeFontLoader@@QAEXABVQString@@@Z @ 2489 NONAME ; void QDeclarativeFontLoader::setName(class QString const &)
+ ?setName@QDeclarativePathAttribute@@QAEXABVQString@@@Z @ 2490 NONAME ; void QDeclarativePathAttribute::setName(class QString const &)
+ ?setName@QDeclarativeState@@QAEXABVQString@@@Z @ 2491 NONAME ; void QDeclarativeState::setName(class QString const &)
+ ?setName@QDeclarativeStateChangeScript@@QAEXABVQString@@@Z @ 2492 NONAME ; void QDeclarativeStateChangeScript::setName(class QString const &)
+ ?setName@QDeclarativeXmlListModelRole@@QAEXABVQString@@@Z @ 2493 NONAME ; void QDeclarativeXmlListModelRole::setName(class QString const &)
+ ?setNamespaceDeclarations@QDeclarativeXmlListModel@@QAEXABVQString@@@Z @ 2494 NONAME ; void QDeclarativeXmlListModel::setNamespaceDeclarations(class QString const &)
+ ?setNetworkAccessManagerFactory@QDeclarativeEngine@@QAEXPAVQDeclarativeNetworkAccessManagerFactory@@@Z @ 2495 NONAME ; void QDeclarativeEngine::setNetworkAccessManagerFactory(class QDeclarativeNetworkAccessManagerFactory *)
+ ?setNewWindowComponent@QDeclarativeWebView@@QAEXPAVQDeclarativeComponent@@@Z @ 2496 NONAME ; void QDeclarativeWebView::setNewWindowComponent(class QDeclarativeComponent *)
+ ?setNewWindowParent@QDeclarativeWebView@@QAEXPAVQDeclarativeItem@@@Z @ 2497 NONAME ; void QDeclarativeWebView::setNewWindowParent(class QDeclarativeItem *)
+ ?setNotifyOnValueChanged@QDeclarativeExpression@@QAEX_N@Z @ 2498 NONAME ; void QDeclarativeExpression::setNotifyOnValueChanged(bool)
+ ?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 2499 NONAME ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &)
+ ?setNumber@QDeclarativeNumberFormatter@@QAEXABM@Z @ 2500 NONAME ; void QDeclarativeNumberFormatter::setNumber(float const &)
+ ?setObject@QDeclarativeAnchorChanges@@QAEXPAVQDeclarativeItem@@@Z @ 2501 NONAME ; void QDeclarativeAnchorChanges::setObject(class QDeclarativeItem *)
+ ?setObject@QDeclarativeBind@@QAEXPAVQObject@@@Z @ 2502 NONAME ; void QDeclarativeBind::setObject(class QObject *)
+ ?setObject@QDeclarativeParentChange@@QAEXPAVQDeclarativeItem@@@Z @ 2503 NONAME ; void QDeclarativeParentChange::setObject(class QDeclarativeItem *)
+ ?setObject@QDeclarativePropertyChanges@@QAEXPAVQObject@@@Z @ 2504 NONAME ; void QDeclarativePropertyChanges::setObject(class QObject *)
+ ?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 2505 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &)
+ ?setOffset@QDeclarativePathView@@QAEXM@Z @ 2506 NONAME ; void QDeclarativePathView::setOffset(float)
+ ?setOrientation@QDeclarativeListView@@QAEXW4Orientation@1@@Z @ 2507 NONAME ; void QDeclarativeListView::setOrientation(enum QDeclarativeListView::Orientation)
+ ?setOverShoot@QDeclarativeFlickable@@QAEX_N@Z @ 2508 NONAME ; void QDeclarativeFlickable::setOverShoot(bool)
+ ?setPace@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2509 NONAME ; void QDeclarativeParticleMotionWander::setPace(float)
+ ?setPage@QDeclarativeWebView@@QAEXPAVQWebPage@@@Z @ 2510 NONAME ; void QDeclarativeWebView::setPage(class QWebPage *)
+ ?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 2511 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
+ ?setParent@QDeclarativeItem@@QAEXPAV1@@Z @ 2512 NONAME ; void QDeclarativeItem::setParent(class QDeclarativeItem *)
+ ?setParent@QDeclarativeParentChange@@QAEXPAVQDeclarativeItem@@@Z @ 2513 NONAME ; void QDeclarativeParentChange::setParent(class QDeclarativeItem *)
+ ?setParentItem@QDeclarativeItem@@QAEXPAV1@@Z @ 2514 NONAME ; void QDeclarativeItem::setParentItem(class QDeclarativeItem *)
+ ?setPart@QDeclarativeVisualDataModel@@QAEXABVQString@@@Z @ 2515 NONAME ; void QDeclarativeVisualDataModel::setPart(class QString const &)
+ ?setPath@QDeclarativePathView@@QAEXPAVQDeclarativePath@@@Z @ 2516 NONAME ; void QDeclarativePathView::setPath(class QDeclarativePath *)
+ ?setPathItemCount@QDeclarativePathView@@QAEXH@Z @ 2517 NONAME ; void QDeclarativePathView::setPathItemCount(int)
+ ?setPaused@QDeclarativeAnimatedImage@@QAEX_N@Z @ 2518 NONAME ; void QDeclarativeAnimatedImage::setPaused(bool)
+ ?setPersistentSelection@QDeclarativeTextEdit@@QAEX_N@Z @ 2519 NONAME ; void QDeclarativeTextEdit::setPersistentSelection(bool)
+ ?setPixelCacheSize@QDeclarativePaintedItem@@QAEXH@Z @ 2520 NONAME ; void QDeclarativePaintedItem::setPixelCacheSize(int)
+ ?setPixmap@QDeclarativeImage@@QAEXABVQPixmap@@@Z @ 2521 NONAME ; void QDeclarativeImage::setPixmap(class QPixmap const &)
+ ?setPlaying@QDeclarativeAnimatedImage@@QAEX_N@Z @ 2522 NONAME ; void QDeclarativeAnimatedImage::setPlaying(bool)
+ ?setPosition@QDeclarativeGradientStop@@QAEXM@Z @ 2523 NONAME ; void QDeclarativeGradientStop::setPosition(float)
+ ?setPreferredHeight@QDeclarativeWebView@@QAEXH@Z @ 2524 NONAME ; void QDeclarativeWebView::setPreferredHeight(int)
+ ?setPreferredHighlightBegin@QDeclarativeListView@@QAEXM@Z @ 2525 NONAME ; void QDeclarativeListView::setPreferredHighlightBegin(float)
+ ?setPreferredHighlightEnd@QDeclarativeListView@@QAEXM@Z @ 2526 NONAME ; void QDeclarativeListView::setPreferredHighlightEnd(float)
+ ?setPreferredWidth@QDeclarativeWebView@@QAEXH@Z @ 2527 NONAME ; void QDeclarativeWebView::setPreferredWidth(int)
+ ?setPressDelay@QDeclarativeFlickable@@QAEXH@Z @ 2528 NONAME ; void QDeclarativeFlickable::setPressDelay(int)
+ ?setPressGrabTime@QDeclarativeWebView@@QAEXH@Z @ 2529 NONAME ; void QDeclarativeWebView::setPressGrabTime(int)
+ ?setPressed@QDeclarativeMouseArea@@IAE_N_N@Z @ 2530 NONAME ; bool QDeclarativeMouseArea::setPressed(bool)
+ ?setProperty@QDeclarativeBind@@QAEXABVQString@@@Z @ 2531 NONAME ; void QDeclarativeBind::setProperty(class QString const &)
+ ?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 2532 NONAME ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &)
+ ?setProperty@QDeclarativeViewSection@@QAEXABVQString@@@Z @ 2533 NONAME ; void QDeclarativeViewSection::setProperty(class QString const &)
+ ?setQuery@QDeclarativeXmlListModel@@QAEXABVQString@@@Z @ 2534 NONAME ; void QDeclarativeXmlListModel::setQuery(class QString const &)
+ ?setQuery@QDeclarativeXmlListModelRole@@QAEXABVQString@@@Z @ 2535 NONAME ; void QDeclarativeXmlListModelRole::setQuery(class QString const &)
+ ?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 2536 NONAME ; void QDeclarativeRectangle::setRadius(float)
+ ?setReadOnly@QDeclarativeTextEdit@@QAEX_N@Z @ 2537 NONAME ; void QDeclarativeTextEdit::setReadOnly(bool)
+ ?setReadOnly@QDeclarativeTextInput@@QAEX_N@Z @ 2538 NONAME ; void QDeclarativeTextInput::setReadOnly(bool)
+ ?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 2539 NONAME ; void QMetaPropertyBuilder::setReadable(bool)
+ ?setRenderingEnabled@QDeclarativeWebView@@QAEX_N@Z @ 2540 NONAME ; void QDeclarativeWebView::setRenderingEnabled(bool)
+ ?setRepeating@QDeclarativeTimer@@QAEX_N@Z @ 2541 NONAME ; void QDeclarativeTimer::setRepeating(bool)
+ ?setReset@QDeclarativeAnchorChanges@@QAEXABVQString@@@Z @ 2542 NONAME ; void QDeclarativeAnchorChanges::setReset(class QString const &)
+ ?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 2543 NONAME ; void QMetaPropertyBuilder::setResettable(bool)
+ ?setResizeMode@QDeclarativeLoader@@QAEXW4ResizeMode@1@@Z @ 2544 NONAME ; void QDeclarativeLoader::setResizeMode(enum QDeclarativeLoader::ResizeMode)
+ ?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 2545 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode)
+ ?setRestoreEntryValues@QDeclarativePropertyChanges@@QAEX_N@Z @ 2546 NONAME ; void QDeclarativePropertyChanges::setRestoreEntryValues(bool)
+ ?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 2547 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
+ ?setReversed@QDeclarativeTransition@@QAEX_N@Z @ 2548 NONAME ; void QDeclarativeTransition::setReversed(bool)
+ ?setReversible@QDeclarativeTransition@@QAEX_N@Z @ 2549 NONAME ; void QDeclarativeTransition::setReversible(bool)
+ ?setReversingMode@QDeclarativeEaseFollow@@QAEXW4ReversingMode@1@@Z @ 2550 NONAME ; void QDeclarativeEaseFollow::setReversingMode(enum QDeclarativeEaseFollow::ReversingMode)
+ ?setRight@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2551 NONAME ; void QDeclarativeAnchorChanges::setRight(class QDeclarativeAnchorLine const &)
+ ?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2552 NONAME ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &)
+ ?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 2553 NONAME ; void QDeclarativeScaleGrid::setRight(int)
+ ?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 2554 NONAME ; void QDeclarativeAnchors::setRightMargin(float)
+ ?setRootIndex@QDeclarativeVisualDataModel@@QAEXABVQModelIndex@@@Z @ 2555 NONAME ; void QDeclarativeVisualDataModel::setRootIndex(class QModelIndex const &)
+ ?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 2556 NONAME ; void QDeclarativeView::setRootObject(class QObject *)
+ ?setRotation@QDeclarativeParentChange@@QAEXM@Z @ 2557 NONAME ; void QDeclarativeParentChange::setRotation(float)
+ ?setRows@QDeclarativeGrid@@QAEXH@Z @ 2558 NONAME ; void QDeclarativeGrid::setRows(int)
+ ?setRunning@QDeclarativeTimer@@QAEX_N@Z @ 2559 NONAME ; void QDeclarativeTimer::setRunning(bool)
+ ?setScale@QDeclarativeParentChange@@QAEXM@Z @ 2560 NONAME ; void QDeclarativeParentChange::setScale(float)
+ ?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 2561 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *)
+ ?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 2562 NONAME ; void QDeclarativeScriptString::setScript(class QString const &)
+ ?setScript@QDeclarativeStateChangeScript@@QAEXABVQDeclarativeScriptString@@@Z @ 2563 NONAME ; void QDeclarativeStateChangeScript::setScript(class QDeclarativeScriptString const &)
+ ?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 2564 NONAME ; void QMetaPropertyBuilder::setScriptable(bool)
+ ?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 2565 NONAME ; void QDeclarativeDebuggerStatus::setSelectedState(bool)
+ ?setSelectedTextColor@QDeclarativeTextEdit@@QAEXABVQColor@@@Z @ 2566 NONAME ; void QDeclarativeTextEdit::setSelectedTextColor(class QColor const &)
+ ?setSelectedTextColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2567 NONAME ; void QDeclarativeTextInput::setSelectedTextColor(class QColor const &)
+ ?setSelectionColor@QDeclarativeTextEdit@@QAEXABVQColor@@@Z @ 2568 NONAME ; void QDeclarativeTextEdit::setSelectionColor(class QColor const &)
+ ?setSelectionColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2569 NONAME ; void QDeclarativeTextInput::setSelectionColor(class QColor const &)
+ ?setSelectionEnd@QDeclarativeTextEdit@@QAEXH@Z @ 2570 NONAME ; void QDeclarativeTextEdit::setSelectionEnd(int)
+ ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ; void QDeclarativeTextInput::setSelectionEnd(int)
+ ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ; void QDeclarativeTextEdit::setSelectionStart(int)
+ ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ; void QDeclarativeTextInput::setSelectionStart(int)
+ ?setSmooth@QDeclarativeItem@@QAEX_N@Z @ 2574 NONAME ; void QDeclarativeItem::setSmooth(bool)
+ ?setSmoothCache@QDeclarativePaintedItem@@QAEX_N@Z @ 2575 NONAME ; void QDeclarativePaintedItem::setSmoothCache(bool)
+ ?setSnapMode@QDeclarativeListView@@QAEXW4SnapMode@1@@Z @ 2576 NONAME ; void QDeclarativeListView::setSnapMode(enum QDeclarativeListView::SnapMode)
+ ?setSnapPosition@QDeclarativePathView@@QAEXM@Z @ 2577 NONAME ; void QDeclarativePathView::setSnapPosition(float)
+ ?setSource@QDeclarativeAnimatedImage@@UAEXABVQUrl@@@Z @ 2578 NONAME ; void QDeclarativeAnimatedImage::setSource(class QUrl const &)
+ ?setSource@QDeclarativeBorderImage@@UAEXABVQUrl@@@Z @ 2579 NONAME ; void QDeclarativeBorderImage::setSource(class QUrl const &)
+ ?setSource@QDeclarativeFontLoader@@QAEXABVQUrl@@@Z @ 2580 NONAME ; void QDeclarativeFontLoader::setSource(class QUrl const &)
+ ?setSource@QDeclarativeImageBase@@UAEXABVQUrl@@@Z @ 2581 NONAME ; void QDeclarativeImageBase::setSource(class QUrl const &)
+ ?setSource@QDeclarativeLoader@@QAEXABVQUrl@@@Z @ 2582 NONAME ; void QDeclarativeLoader::setSource(class QUrl const &)
+ ?setSource@QDeclarativeParticles@@QAEXABVQUrl@@@Z @ 2583 NONAME ; void QDeclarativeParticles::setSource(class QUrl const &)
+ ?setSource@QDeclarativeView@@QAEXABVQUrl@@@Z @ 2584 NONAME ; void QDeclarativeView::setSource(class QUrl const &)
+ ?setSource@QDeclarativeXmlListModel@@QAEXABVQUrl@@@Z @ 2585 NONAME ; void QDeclarativeXmlListModel::setSource(class QUrl const &)
+ ?setSourceComponent@QDeclarativeLoader@@QAEXPAVQDeclarativeComponent@@@Z @ 2586 NONAME ; void QDeclarativeLoader::setSourceComponent(class QDeclarativeComponent *)
+ ?setSourceLocation@QDeclarativeExpression@@QAEXABVQString@@H@Z @ 2587 NONAME ; void QDeclarativeExpression::setSourceLocation(class QString const &, int)
+ ?setSourceValue@QDeclarativeEaseFollow@@QAEXM@Z @ 2588 NONAME ; void QDeclarativeEaseFollow::setSourceValue(float)
+ ?setSourceValue@QDeclarativeSpringFollow@@QAEXM@Z @ 2589 NONAME ; void QDeclarativeSpringFollow::setSourceValue(float)
+ ?setSpacing@QDeclarativeBasePositioner@@QAEXH@Z @ 2590 NONAME ; void QDeclarativeBasePositioner::setSpacing(int)
+ ?setSpacing@QDeclarativeListView@@QAEXM@Z @ 2591 NONAME ; void QDeclarativeListView::setSpacing(float)
+ ?setSpring@QDeclarativeSpringFollow@@QAEXM@Z @ 2592 NONAME ; void QDeclarativeSpringFollow::setSpring(float)
+ ?setStartX@QDeclarativePath@@QAEXM@Z @ 2593 NONAME ; void QDeclarativePath::setStartX(float)
+ ?setStartY@QDeclarativePath@@QAEXM@Z @ 2594 NONAME ; void QDeclarativePath::setStartY(float)
+ ?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 2595 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
+ ?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 2596 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
+ ?setState@QDeclarativeItem@@QAEXABVQString@@@Z @ 2597 NONAME ; void QDeclarativeItem::setState(class QString const &)
+ ?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 2598 NONAME ; void QDeclarativeStateGroup::setState(class QString const &)
+ ?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 2599 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *)
+ ?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 2600 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
+ ?setStatusText@QDeclarativeWebView@@AAEXABVQString@@@Z @ 2601 NONAME ; void QDeclarativeWebView::setStatusText(class QString const &)
+ ?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 2602 NONAME ; void QMetaPropertyBuilder::setStdCppSet(bool)
+ ?setStored@QMetaPropertyBuilder@@QAEX_N@Z @ 2603 NONAME ; void QMetaPropertyBuilder::setStored(bool)
+ ?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 2604 NONAME ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle)
+ ?setStyleColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 2605 NONAME ; void QDeclarativeText::setStyleColor(class QColor const &)
+ ?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 2606 NONAME ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *)
+ ?setSynchronizedResizing@QDeclarativeGraphicsObjectContainer@@QAEX_N@Z @ 2607 NONAME ; void QDeclarativeGraphicsObjectContainer::setSynchronizedResizing(bool)
+ ?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 2608 NONAME ; void QMetaMethodBuilder::setTag(class QByteArray const &)
+ ?setTarget@QDeclarativeBehavior@@UAEXABVQDeclarativeProperty@@@Z @ 2609 NONAME ; void QDeclarativeBehavior::setTarget(class QDeclarativeProperty const &)
+ ?setTarget@QDeclarativeConnections@@QAEXPAVQObject@@@Z @ 2610 NONAME ; void QDeclarativeConnections::setTarget(class QObject *)
+ ?setTarget@QDeclarativeDrag@@QAEXPAVQDeclarativeItem@@@Z @ 2611 NONAME ; void QDeclarativeDrag::setTarget(class QDeclarativeItem *)
+ ?setTarget@QDeclarativeEaseFollow@@UAEXABVQDeclarativeProperty@@@Z @ 2612 NONAME ; void QDeclarativeEaseFollow::setTarget(class QDeclarativeProperty const &)
+ ?setTarget@QDeclarativeSpringFollow@@UAEXABVQDeclarativeProperty@@@Z @ 2613 NONAME ; void QDeclarativeSpringFollow::setTarget(class QDeclarativeProperty const &)
+ ?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 2614 NONAME ; void QDeclarativeText::setText(class QString const &)
+ ?setText@QDeclarativeTextEdit@@QAEXABVQString@@@Z @ 2615 NONAME ; void QDeclarativeTextEdit::setText(class QString const &)
+ ?setText@QDeclarativeTextInput@@QAEXABVQString@@@Z @ 2616 NONAME ; void QDeclarativeTextInput::setText(class QString const &)
+ ?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 2617 NONAME ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat)
+ ?setTextFormat@QDeclarativeTextEdit@@QAEXW4TextFormat@1@@Z @ 2618 NONAME ; void QDeclarativeTextEdit::setTextFormat(enum QDeclarativeTextEdit::TextFormat)
+ ?setTextInteractionFlags@QDeclarativeTextEdit@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 2619 NONAME ; void QDeclarativeTextEdit::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ?setTextMargin@QDeclarativeTextEdit@@QAEXM@Z @ 2620 NONAME ; void QDeclarativeTextEdit::setTextMargin(float)
+ ?setTime@QDeclarativeDateTimeFormatter@@QAEXABVQTime@@@Z @ 2621 NONAME ; void QDeclarativeDateTimeFormatter::setTime(class QTime const &)
+ ?setTimeFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2622 NONAME ; void QDeclarativeDateTimeFormatter::setTimeFormat(class QString const &)
+ ?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 2623 NONAME ; void QDeclarativeTransition::setToState(class QString const &)
+ ?setTop@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2624 NONAME ; void QDeclarativeAnchorChanges::setTop(class QDeclarativeAnchorLine const &)
+ ?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2625 NONAME ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &)
+ ?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 2626 NONAME ; void QDeclarativeScaleGrid::setTop(int)
+ ?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 2627 NONAME ; void QDeclarativeAnchors::setTopMargin(float)
+ ?setTransformOrigin@QDeclarativeItem@@QAEXW4TransformOrigin@1@@Z @ 2628 NONAME ; void QDeclarativeItem::setTransformOrigin(enum QDeclarativeItem::TransformOrigin)
+ ?setTriggeredOnStart@QDeclarativeTimer@@QAEX_N@Z @ 2629 NONAME ; void QDeclarativeTimer::setTriggeredOnStart(bool)
+ ?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 2630 NONAME ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &)
+ ?setUrl@QDeclarativeError@@QAEXABVQUrl@@@Z @ 2631 NONAME ; void QDeclarativeError::setUrl(class QUrl const &)
+ ?setUrl@QDeclarativeWebView@@QAEXABVQUrl@@@Z @ 2632 NONAME ; void QDeclarativeWebView::setUrl(class QUrl const &)
+ ?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 2633 NONAME ; void QMetaPropertyBuilder::setUser(bool)
+ ?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 2634 NONAME ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment)
+ ?setVAlign@QDeclarativeTextEdit@@QAEXW4VAlignment@1@@Z @ 2635 NONAME ; void QDeclarativeTextEdit::setVAlign(enum QDeclarativeTextEdit::VAlignment)
+ ?setValidator@QDeclarativeTextInput@@QAEXPAVQValidator@@@Z @ 2636 NONAME ; void QDeclarativeTextInput::setValidator(class QValidator *)
+ ?setValue@QDeclarativeBind@@QAEXABVQVariant@@@Z @ 2637 NONAME ; void QDeclarativeBind::setValue(class QVariant const &)
+ ?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 2638 NONAME ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &)
+ ?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 2639 NONAME ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &)
+ ?setValue@QDeclarativePathAttribute@@QAEXM@Z @ 2640 NONAME ; void QDeclarativePathAttribute::setValue(float)
+ ?setValue@QDeclarativePathPercent@@QAEXM@Z @ 2641 NONAME ; void QDeclarativePathPercent::setValue(float)
+ ?setVelocity@QDeclarativeEaseFollow@@QAEXM@Z @ 2642 NONAME ; void QDeclarativeEaseFollow::setVelocity(float)
+ ?setVelocity@QDeclarativeParticles@@QAEXM@Z @ 2643 NONAME ; void QDeclarativeParticles::setVelocity(float)
+ ?setVelocity@QDeclarativeSpringFollow@@QAEXM@Z @ 2644 NONAME ; void QDeclarativeSpringFollow::setVelocity(float)
+ ?setVelocityDeviation@QDeclarativeParticles@@QAEXM@Z @ 2645 NONAME ; void QDeclarativeParticles::setVelocityDeviation(float)
+ ?setVerticalCenter@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2646 NONAME ; void QDeclarativeAnchorChanges::setVerticalCenter(class QDeclarativeAnchorLine const &)
+ ?setVerticalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2647 NONAME ; void QDeclarativeAnchors::setVerticalCenter(class QDeclarativeAnchorLine const &)
+ ?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 2648 NONAME ; void QDeclarativeAnchors::setVerticalCenterOffset(float)
+ ?setVerticalTileMode@QDeclarativeBorderImage@@QAEXW4TileMode@1@@Z @ 2649 NONAME ; void QDeclarativeBorderImage::setVerticalTileMode(enum QDeclarativeBorderImage::TileMode)
+ ?setWhen@QDeclarativeBind@@QAEX_N@Z @ 2650 NONAME ; void QDeclarativeBind::setWhen(bool)
+ ?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 2651 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *)
+ ?setWidth@QDeclarativeItem@@QAEXM@Z @ 2652 NONAME ; void QDeclarativeItem::setWidth(float)
+ ?setWidth@QDeclarativeParentChange@@QAEXM@Z @ 2653 NONAME ; void QDeclarativeParentChange::setWidth(float)
+ ?setWidth@QDeclarativePen@@QAEXH@Z @ 2654 NONAME ; void QDeclarativePen::setWidth(int)
+ ?setWrap@QDeclarativeText@@QAEX_N@Z @ 2655 NONAME ; void QDeclarativeText::setWrap(bool)
+ ?setWrap@QDeclarativeTextEdit@@QAEX_N@Z @ 2656 NONAME ; void QDeclarativeTextEdit::setWrap(bool)
+ ?setWrapEnabled@QDeclarativeGridView@@QAEX_N@Z @ 2657 NONAME ; void QDeclarativeGridView::setWrapEnabled(bool)
+ ?setWrapEnabled@QDeclarativeListView@@QAEX_N@Z @ 2658 NONAME ; void QDeclarativeListView::setWrapEnabled(bool)
+ ?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 2659 NONAME ; void QMetaPropertyBuilder::setWritable(bool)
+ ?setX@QDeclarativeCurve@@QAEXM@Z @ 2660 NONAME ; void QDeclarativeCurve::setX(float)
+ ?setX@QDeclarativeParentChange@@QAEXM@Z @ 2661 NONAME ; void QDeclarativeParentChange::setX(float)
+ ?setXAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2662 NONAME ; void QDeclarativeParticleMotionGravity::setXAttractor(float)
+ ?setXVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2663 NONAME ; void QDeclarativeParticleMotionWander::setXVariance(float)
+ ?setXmax@QDeclarativeDrag@@QAEXM@Z @ 2664 NONAME ; void QDeclarativeDrag::setXmax(float)
+ ?setXmin@QDeclarativeDrag@@QAEXM@Z @ 2665 NONAME ; void QDeclarativeDrag::setXmin(float)
+ ?setXml@QDeclarativeXmlListModel@@QAEXABVQString@@@Z @ 2666 NONAME ; void QDeclarativeXmlListModel::setXml(class QString const &)
+ ?setY@QDeclarativeCurve@@QAEXM@Z @ 2667 NONAME ; void QDeclarativeCurve::setY(float)
+ ?setY@QDeclarativeParentChange@@QAEXM@Z @ 2668 NONAME ; void QDeclarativeParentChange::setY(float)
+ ?setYAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2669 NONAME ; void QDeclarativeParticleMotionGravity::setYAttractor(float)
+ ?setYVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2670 NONAME ; void QDeclarativeParticleMotionWander::setYVariance(float)
+ ?setYmax@QDeclarativeDrag@@QAEXM@Z @ 2671 NONAME ; void QDeclarativeDrag::setYmax(float)
+ ?setYmin@QDeclarativeDrag@@QAEXM@Z @ 2672 NONAME ; void QDeclarativeDrag::setYmin(float)
+ ?setZoomFactor@QDeclarativeWebView@@QAEXM@Z @ 2673 NONAME ; void QDeclarativeWebView::setZoomFactor(float)
+ ?settings@QDeclarativeWebView@@QBEPAVQWebSettings@@XZ @ 2674 NONAME ; class QWebSettings * QDeclarativeWebView::settings(void) const
+ ?settingsObject@QDeclarativeWebView@@QBEPAVQDeclarativeWebSettings@@XZ @ 2675 NONAME ; class QDeclarativeWebSettings * QDeclarativeWebView::settingsObject(void) const
+ ?shadow@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 2676 NONAME ; class QColor QDeclarativeSystemPalette::shadow(void) const
+ ?side@QDeclarativeFlipable@@QBE?AW4Side@1@XZ @ 2677 NONAME ; enum QDeclarativeFlipable::Side QDeclarativeFlipable::side(void) const
+ ?sideChanged@QDeclarativeFlipable@@IAEXXZ @ 2678 NONAME ; void QDeclarativeFlipable::sideChanged(void)
+ ?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 2679 NONAME ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const
+ ?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 2680 NONAME ; class QByteArray QMetaMethodBuilder::signature(void) const
+ ?size@QDeclarativePropertyMap@@QBEHXZ @ 2681 NONAME ; int QDeclarativePropertyMap::size(void) const
+ ?sizeChange@QDeclarativeGridView@@AAEXXZ @ 2682 NONAME ; void QDeclarativeGridView::sizeChange(void)
+ ?sizeChanged@QDeclarativeView@@AAEXXZ @ 2683 NONAME ; void QDeclarativeView::sizeChanged(void)
+ ?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 2684 NONAME ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *)
+ ?sizeHint@QDeclarativeView@@UBE?AVQSize@@XZ @ 2685 NONAME ; class QSize QDeclarativeView::sizeHint(void) const
+ ?smooth@QDeclarativeItem@@QBE_NXZ @ 2686 NONAME ; bool QDeclarativeItem::smooth(void) const
+ ?smoothCache@QDeclarativePaintedItem@@QBE_NXZ @ 2687 NONAME ; bool QDeclarativePaintedItem::smoothCache(void) const
+ ?smoothChanged@QDeclarativeItem@@IAEXXZ @ 2688 NONAME ; void QDeclarativeItem::smoothChanged(void)
+ ?snapMode@QDeclarativeListView@@QBE?AW4SnapMode@1@XZ @ 2689 NONAME ; enum QDeclarativeListView::SnapMode QDeclarativeListView::snapMode(void) const
+ ?snapPosition@QDeclarativePathView@@QBEMXZ @ 2690 NONAME ; float QDeclarativePathView::snapPosition(void) const
+ ?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 2691 NONAME ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const
+ ?source@QDeclarativeFontLoader@@QBE?AVQUrl@@XZ @ 2692 NONAME ; class QUrl QDeclarativeFontLoader::source(void) const
+ ?source@QDeclarativeImageBase@@QBE?AVQUrl@@XZ @ 2693 NONAME ; class QUrl QDeclarativeImageBase::source(void) const
+ ?source@QDeclarativeLoader@@QBE?AVQUrl@@XZ @ 2694 NONAME ; class QUrl QDeclarativeLoader::source(void) const
+ ?source@QDeclarativeParticles@@QBE?AVQUrl@@XZ @ 2695 NONAME ; class QUrl QDeclarativeParticles::source(void) const
+ ?source@QDeclarativeView@@QBE?AVQUrl@@XZ @ 2696 NONAME ; class QUrl QDeclarativeView::source(void) const
+ ?source@QDeclarativeXmlListModel@@QBE?AVQUrl@@XZ @ 2697 NONAME ; class QUrl QDeclarativeXmlListModel::source(void) const
+ ?sourceChanged@QDeclarativeEaseFollow@@IAEXXZ @ 2698 NONAME ; void QDeclarativeEaseFollow::sourceChanged(void)
+ ?sourceChanged@QDeclarativeImageBase@@IAEXABVQUrl@@@Z @ 2699 NONAME ; void QDeclarativeImageBase::sourceChanged(class QUrl const &)
+ ?sourceChanged@QDeclarativeLoader@@IAEXXZ @ 2700 NONAME ; void QDeclarativeLoader::sourceChanged(void)
+ ?sourceChanged@QDeclarativeParticles@@IAEXXZ @ 2701 NONAME ; void QDeclarativeParticles::sourceChanged(void)
+ ?sourceComponent@QDeclarativeLoader@@QBEPAVQDeclarativeComponent@@XZ @ 2702 NONAME ; class QDeclarativeComponent * QDeclarativeLoader::sourceComponent(void) const
+ ?sourceFile@QDeclarativeExpression@@QBE?AVQString@@XZ @ 2703 NONAME ; class QString QDeclarativeExpression::sourceFile(void) const
+ ?sourceValue@QDeclarativeEaseFollow@@QBEMXZ @ 2704 NONAME ; float QDeclarativeEaseFollow::sourceValue(void) const
+ ?sourceValue@QDeclarativeSpringFollow@@QBEMXZ @ 2705 NONAME ; float QDeclarativeSpringFollow::sourceValue(void) const
+ ?spacing@QDeclarativeBasePositioner@@QBEHXZ @ 2706 NONAME ; int QDeclarativeBasePositioner::spacing(void) const
+ ?spacing@QDeclarativeListView@@QBEMXZ @ 2707 NONAME ; float QDeclarativeListView::spacing(void) const
+ ?spacingChanged@QDeclarativeBasePositioner@@IAEXXZ @ 2708 NONAME ; void QDeclarativeBasePositioner::spacingChanged(void)
+ ?spacingChanged@QDeclarativeListView@@IAEXXZ @ 2709 NONAME ; void QDeclarativeListView::spacingChanged(void)
+ ?spring@QDeclarativeSpringFollow@@QBEMXZ @ 2710 NONAME ; float QDeclarativeSpringFollow::spring(void) const
+ ?start@QDeclarativeTimer@@QAEXXZ @ 2711 NONAME ; void QDeclarativeTimer::start(void)
+ ?startX@QDeclarativePath@@QBEMXZ @ 2712 NONAME ; float QDeclarativePath::startX(void) const
+ ?startY@QDeclarativePath@@QBEMXZ @ 2713 NONAME ; float QDeclarativePath::startY(void) const
+ ?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 2714 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
+ ?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 2715 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
+ ?state@QDeclarativeItem@@QBE?AVQString@@XZ @ 2716 NONAME ; class QString QDeclarativeItem::state(void) const
+ ?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 2717 NONAME ; class QString QDeclarativeStateGroup::state(void) const
+ ?stateChanged@QDeclarativeDebugQuery@@IAEXW4State@1@@Z @ 2718 NONAME ; void QDeclarativeDebugQuery::stateChanged(enum QDeclarativeDebugQuery::State)
+ ?stateChanged@QDeclarativeDebugWatch@@IAEXW4State@1@@Z @ 2719 NONAME ; void QDeclarativeDebugWatch::stateChanged(enum QDeclarativeDebugWatch::State)
+ ?stateChanged@QDeclarativeItem@@IAEXABVQString@@@Z @ 2720 NONAME ; void QDeclarativeItem::stateChanged(class QString const &)
+ ?stateChanged@QDeclarativeStateGroup@@IAEXABVQString@@@Z @ 2721 NONAME ; void QDeclarativeStateGroup::stateChanged(class QString const &)
+ ?stateGroup@QDeclarativeState@@QBEPAVQDeclarativeStateGroup@@XZ @ 2722 NONAME ; class QDeclarativeStateGroup * QDeclarativeState::stateGroup(void) const
+ ?states@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 2723 NONAME ; struct QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItem::states(void)
+ ?states@QDeclarativeStateGroup@@QBE?AV?$QList@PAVQDeclarativeState@@@@XZ @ 2724 NONAME ; class QList<class QDeclarativeState *> QDeclarativeStateGroup::states(void) const
+ ?statesProperty@QDeclarativeStateGroup@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 2725 NONAME ; struct QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void)
+ ?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 2726 NONAME ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const
+ ?status@QDeclarativeComponent@@QBE?AW4Status@1@XZ @ 2727 NONAME ; enum QDeclarativeComponent::Status QDeclarativeComponent::status(void) const
+ ?status@QDeclarativeFontLoader@@QBE?AW4Status@1@XZ @ 2728 NONAME ; enum QDeclarativeFontLoader::Status QDeclarativeFontLoader::status(void) const
+ ?status@QDeclarativeImageBase@@QBE?AW4Status@1@XZ @ 2729 NONAME ; enum QDeclarativeImageBase::Status QDeclarativeImageBase::status(void) const
+ ?status@QDeclarativeLoader@@QBE?AW4Status@1@XZ @ 2730 NONAME ; enum QDeclarativeLoader::Status QDeclarativeLoader::status(void) const
+ ?status@QDeclarativePixmapReply@@QBE?AW4Status@1@XZ @ 2731 NONAME ; enum QDeclarativePixmapReply::Status QDeclarativePixmapReply::status(void) const
+ ?status@QDeclarativeView@@QBE?AW4Status@1@XZ @ 2732 NONAME ; enum QDeclarativeView::Status QDeclarativeView::status(void) const
+ ?status@QDeclarativeWebView@@QBE?AW4Status@1@XZ @ 2733 NONAME ; enum QDeclarativeWebView::Status QDeclarativeWebView::status(void) const
+ ?status@QDeclarativeXmlListModel@@QBE?AW4Status@1@XZ @ 2734 NONAME ; enum QDeclarativeXmlListModel::Status QDeclarativeXmlListModel::status(void) const
+ ?statusChanged@QDeclarativeComponent@@IAEXW4Status@1@@Z @ 2735 NONAME ; void QDeclarativeComponent::statusChanged(enum QDeclarativeComponent::Status)
+ ?statusChanged@QDeclarativeFontLoader@@IAEXXZ @ 2736 NONAME ; void QDeclarativeFontLoader::statusChanged(void)
+ ?statusChanged@QDeclarativeImageBase@@IAEXW4Status@1@@Z @ 2737 NONAME ; void QDeclarativeImageBase::statusChanged(enum QDeclarativeImageBase::Status)
+ ?statusChanged@QDeclarativeLoader@@IAEXXZ @ 2738 NONAME ; void QDeclarativeLoader::statusChanged(void)
+ ?statusChanged@QDeclarativeView@@IAEXW4Status@1@@Z @ 2739 NONAME ; void QDeclarativeView::statusChanged(enum QDeclarativeView::Status)
+ ?statusChanged@QDeclarativeWebView@@IAEXW4Status@1@@Z @ 2740 NONAME ; void QDeclarativeWebView::statusChanged(enum QDeclarativeWebView::Status)
+ ?statusChanged@QDeclarativeXmlListModel@@IAEXW4Status@1@@Z @ 2741 NONAME ; void QDeclarativeXmlListModel::statusChanged(enum QDeclarativeXmlListModel::Status)
+ ?statusText@QDeclarativeWebView@@QBE?AVQString@@XZ @ 2742 NONAME ; class QString QDeclarativeWebView::statusText(void) const
+ ?statusTextChanged@QDeclarativeWebView@@IAEXXZ @ 2743 NONAME ; void QDeclarativeWebView::statusTextChanged(void)
+ ?stop@QDeclarativeTimer@@QAEXXZ @ 2744 NONAME ; void QDeclarativeTimer::stop(void)
+ ?stop@QDeclarativeTransition@@QAEXXZ @ 2745 NONAME ; void QDeclarativeTransition::stop(void)
+ ?stopAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 2746 NONAME ; class QAction * QDeclarativeWebView::stopAction(void) const
+ ?stops@QDeclarativeGradient@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeGradientStop@@@@XZ @ 2747 NONAME ; struct QDeclarativeListProperty<class QDeclarativeGradientStop> QDeclarativeGradient::stops(void)
+ ?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 2748 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &)
+ ?stringValue@QDeclarativeVisualDataModel@@UAE?AVQString@@HABV2@@Z @ 2749 NONAME ; class QString QDeclarativeVisualDataModel::stringValue(int, class QString const &)
+ ?stringValue@QDeclarativeVisualItemModel@@UAE?AVQString@@HABV2@@Z @ 2750 NONAME ; class QString QDeclarativeVisualItemModel::stringValue(int, class QString const &)
+ ?stringValue@QDeclarativeVisualModel@@UAE?AVQString@@HABV2@@Z @ 2751 NONAME ; class QString QDeclarativeVisualModel::stringValue(int, class QString const &)
+ ?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 2752 NONAME ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const
+ ?styleChanged@QDeclarativeText@@IAEXW4TextStyle@1@@Z @ 2753 NONAME ; void QDeclarativeText::styleChanged(enum QDeclarativeText::TextStyle)
+ ?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 2754 NONAME ; class QColor QDeclarativeText::styleColor(void) const
+ ?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 2755 NONAME ; void QDeclarativeText::styleColorChanged(class QColor const &)
+ ?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 2756 NONAME ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const
+ ?syncChanged@QDeclarativeSpringFollow@@IAEXXZ @ 2757 NONAME ; void QDeclarativeSpringFollow::syncChanged(void)
+ ?synchronizedResizing@QDeclarativeGraphicsObjectContainer@@QBE_NXZ @ 2758 NONAME ; bool QDeclarativeGraphicsObjectContainer::synchronizedResizing(void) const
+ ?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 2759 NONAME ; class QByteArray QMetaMethodBuilder::tag(void) const
+ ?target@QDeclarativeConnections@@QBEPAVQObject@@XZ @ 2760 NONAME ; class QObject * QDeclarativeConnections::target(void) const
+ ?target@QDeclarativeDrag@@QBEPAVQDeclarativeItem@@XZ @ 2761 NONAME ; class QDeclarativeItem * QDeclarativeDrag::target(void) const
+ ?targetChanged@QDeclarativeConnections@@IAEXXZ @ 2762 NONAME ; void QDeclarativeConnections::targetChanged(void)
+ ?targetChanged@QDeclarativeDrag@@IAEXXZ @ 2763 NONAME ; void QDeclarativeDrag::targetChanged(void)
+ ?testLiteralAssignment@QDeclarativeCompiler@@AAE_NABVQMetaProperty@@PAVValue@QDeclarativeParser@@@Z @ 2764 NONAME ; bool QDeclarativeCompiler::testLiteralAssignment(class QMetaProperty const &, class QDeclarativeParser::Value *)
+ ?testQualifiedEnumAssignment@QDeclarativeCompiler@@AAE_NABVQMetaProperty@@PAVObject@QDeclarativeParser@@PAVValue@4@PA_N@Z @ 2765 NONAME ; bool QDeclarativeCompiler::testQualifiedEnumAssignment(class QMetaProperty const &, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, bool *)
+ ?text@QDeclarativeNumberFormatter@@QBE?AVQString@@XZ @ 2766 NONAME ; class QString QDeclarativeNumberFormatter::text(void) const
+ ?text@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 2767 NONAME ; class QColor QDeclarativeSystemPalette::text(void) const
+ ?text@QDeclarativeText@@QBE?AVQString@@XZ @ 2768 NONAME ; class QString QDeclarativeText::text(void) const
+ ?text@QDeclarativeTextEdit@@QBE?AVQString@@XZ @ 2769 NONAME ; class QString QDeclarativeTextEdit::text(void) const
+ ?text@QDeclarativeTextInput@@QBE?AVQString@@XZ @ 2770 NONAME ; class QString QDeclarativeTextInput::text(void) const
+ ?textChanged@QDeclarativeDateTimeFormatter@@IAEXXZ @ 2771 NONAME ; void QDeclarativeDateTimeFormatter::textChanged(void)
+ ?textChanged@QDeclarativeNumberFormatter@@IAEXXZ @ 2772 NONAME ; void QDeclarativeNumberFormatter::textChanged(void)
+ ?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 2773 NONAME ; void QDeclarativeText::textChanged(class QString const &)
+ ?textChanged@QDeclarativeTextEdit@@IAEXABVQString@@@Z @ 2774 NONAME ; void QDeclarativeTextEdit::textChanged(class QString const &)
+ ?textChanged@QDeclarativeTextInput@@IAEXXZ @ 2775 NONAME ; void QDeclarativeTextInput::textChanged(void)
+ ?textFormat@QDeclarativeText@@QBE?AW4TextFormat@1@XZ @ 2776 NONAME ; enum QDeclarativeText::TextFormat QDeclarativeText::textFormat(void) const
+ ?textFormat@QDeclarativeTextEdit@@QBE?AW4TextFormat@1@XZ @ 2777 NONAME ; enum QDeclarativeTextEdit::TextFormat QDeclarativeTextEdit::textFormat(void) const
+ ?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 2778 NONAME ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat)
+ ?textFormatChanged@QDeclarativeTextEdit@@IAEXW4TextFormat@1@@Z @ 2779 NONAME ; void QDeclarativeTextEdit::textFormatChanged(enum QDeclarativeTextEdit::TextFormat)
+ ?textInteractionFlags@QDeclarativeTextEdit@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 2780 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QDeclarativeTextEdit::textInteractionFlags(void) const
+ ?textMargin@QDeclarativeTextEdit@@QBEMXZ @ 2781 NONAME ; float QDeclarativeTextEdit::textMargin(void) const
+ ?textMarginChanged@QDeclarativeTextEdit@@IAEXM@Z @ 2782 NONAME ; void QDeclarativeTextEdit::textMarginChanged(float)
+ ?ticked@QDeclarativeFlickable@@MAEXXZ @ 2783 NONAME ; void QDeclarativeFlickable::ticked(void)
+ ?ticked@QDeclarativePathView@@AAEXXZ @ 2784 NONAME ; void QDeclarativePathView::ticked(void)
+ ?ticked@QDeclarativeTimer@@AAEXXZ @ 2785 NONAME ; void QDeclarativeTimer::ticked(void)
+ ?time@QDeclarativeDateTimeFormatter@@QBE?AVQTime@@XZ @ 2786 NONAME ; class QTime QDeclarativeDateTimeFormatter::time(void) const
+ ?timeFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 2787 NONAME ; class QString QDeclarativeDateTimeFormatter::timeFormat(void) const
+ ?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 2788 NONAME ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *)
+ ?timeText@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 2789 NONAME ; class QString QDeclarativeDateTimeFormatter::timeText(void) const
+ ?timerEvent@QDeclarativeFlickable@@MAEXPAVQTimerEvent@@@Z @ 2790 NONAME ; void QDeclarativeFlickable::timerEvent(class QTimerEvent *)
+ ?timerEvent@QDeclarativeMouseArea@@MAEXPAVQTimerEvent@@@Z @ 2791 NONAME ; void QDeclarativeMouseArea::timerEvent(class QTimerEvent *)
+ ?timerEvent@QDeclarativeView@@MAEXPAVQTimerEvent@@@Z @ 2792 NONAME ; void QDeclarativeView::timerEvent(class QTimerEvent *)
+ ?timerEvent@QDeclarativeWebView@@MAEXPAVQTimerEvent@@@Z @ 2793 NONAME ; void QDeclarativeWebView::timerEvent(class QTimerEvent *)
+ ?title@QDeclarativeWebView@@QBE?AVQString@@XZ @ 2794 NONAME ; class QString QDeclarativeWebView::title(void) const
+ ?titleChanged@QDeclarativeWebView@@IAEXABVQString@@@Z @ 2795 NONAME ; void QDeclarativeWebView::titleChanged(class QString const &)
+ ?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 2796 NONAME ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const
+ ?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 2797 NONAME ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const
+ ?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 2798 NONAME ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const
+ ?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 2799 NONAME ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const
+ ?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 2800 NONAME ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const
+ ?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 2801 NONAME ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const
+ ?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 2802 NONAME ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *)
+ ?toQmlType@QDeclarativeCompiler@@CAPAVQDeclarativeType@@PAVObject@QDeclarativeParser@@@Z @ 2803 NONAME ; class QDeclarativeType * QDeclarativeCompiler::toQmlType(class QDeclarativeParser::Object *)
+ ?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 2804 NONAME ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const
+ ?toState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 2805 NONAME ; class QString QDeclarativeTransition::toState(void) const
+ ?toString@QDeclarativeError@@QBE?AVQString@@XZ @ 2806 NONAME ; class QString QDeclarativeError::toString(void) const
+ ?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 2807 NONAME ; class QString QDeclarativeListModel::toString(int) const
+ ?toString@QDeclarativeXmlListModel@@UBE?AVQString@@H@Z @ 2808 NONAME ; class QString QDeclarativeXmlListModel::toString(int) const
+ ?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 2809 NONAME ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const
+ ?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 2810 NONAME ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const
+ ?top@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2811 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::top(void) const
+ ?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2812 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const
+ ?top@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2813 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::top(void) const
+ ?top@QDeclarativeScaleGrid@@QBEHXZ @ 2814 NONAME ; int QDeclarativeScaleGrid::top(void) const
+ ?topChanged@QDeclarativeAnchors@@IAEXXZ @ 2815 NONAME ; void QDeclarativeAnchors::topChanged(void)
+ ?topMargin@QDeclarativeAnchors@@QBEMXZ @ 2816 NONAME ; float QDeclarativeAnchors::topMargin(void) const
+ ?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 2817 NONAME ; void QDeclarativeAnchors::topMarginChanged(void)
+ ?tr@QDeclarativeAnchorChanges@@SA?AVQString@@PBD0@Z @ 2818 NONAME ; class QString QDeclarativeAnchorChanges::tr(char const *, char const *)
+ ?tr@QDeclarativeAnchorChanges@@SA?AVQString@@PBD0H@Z @ 2819 NONAME ; class QString QDeclarativeAnchorChanges::tr(char const *, char const *, int)
+ ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 2820 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *)
+ ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 2821 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *, int)
+ ?tr@QDeclarativeAnimatedImage@@SA?AVQString@@PBD0@Z @ 2822 NONAME ; class QString QDeclarativeAnimatedImage::tr(char const *, char const *)
+ ?tr@QDeclarativeAnimatedImage@@SA?AVQString@@PBD0H@Z @ 2823 NONAME ; class QString QDeclarativeAnimatedImage::tr(char const *, char const *, int)
+ ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 2824 NONAME ; class QString QDeclarativeBasePositioner::tr(char const *, char const *)
+ ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 2825 NONAME ; class QString QDeclarativeBasePositioner::tr(char const *, char const *, int)
+ ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 2826 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *)
+ ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 2827 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *, int)
+ ?tr@QDeclarativeBind@@SA?AVQString@@PBD0@Z @ 2828 NONAME ; class QString QDeclarativeBind::tr(char const *, char const *)
+ ?tr@QDeclarativeBind@@SA?AVQString@@PBD0H@Z @ 2829 NONAME ; class QString QDeclarativeBind::tr(char const *, char const *, int)
+ ?tr@QDeclarativeBorderImage@@SA?AVQString@@PBD0@Z @ 2830 NONAME ; class QString QDeclarativeBorderImage::tr(char const *, char const *)
+ ?tr@QDeclarativeBorderImage@@SA?AVQString@@PBD0H@Z @ 2831 NONAME ; class QString QDeclarativeBorderImage::tr(char const *, char const *, int)
+ ?tr@QDeclarativeColumn@@SA?AVQString@@PBD0@Z @ 2832 NONAME ; class QString QDeclarativeColumn::tr(char const *, char const *)
+ ?tr@QDeclarativeColumn@@SA?AVQString@@PBD0H@Z @ 2833 NONAME ; class QString QDeclarativeColumn::tr(char const *, char const *, int)
+ ?tr@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 2834 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *)
+ ?tr@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 2835 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *, int)
+ ?tr@QDeclarativeConnections@@SA?AVQString@@PBD0@Z @ 2836 NONAME ; class QString QDeclarativeConnections::tr(char const *, char const *)
+ ?tr@QDeclarativeConnections@@SA?AVQString@@PBD0H@Z @ 2837 NONAME ; class QString QDeclarativeConnections::tr(char const *, char const *, int)
+ ?tr@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 2838 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *)
+ ?tr@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 2839 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *, int)
+ ?tr@QDeclarativeCurve@@SA?AVQString@@PBD0@Z @ 2840 NONAME ; class QString QDeclarativeCurve::tr(char const *, char const *)
+ ?tr@QDeclarativeCurve@@SA?AVQString@@PBD0H@Z @ 2841 NONAME ; class QString QDeclarativeCurve::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0@Z @ 2842 NONAME ; class QString QDeclarativeDateTimeFormatter::tr(char const *, char const *)
+ ?tr@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0H@Z @ 2843 NONAME ; class QString QDeclarativeDateTimeFormatter::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 2844 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 2845 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 2846 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 2847 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 2848 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 2849 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 2850 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 2851 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 2852 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 2853 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 2854 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 2855 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 2856 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 2857 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 2858 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 2859 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 2860 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 2861 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 2862 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 2863 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 2864 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 2865 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDrag@@SA?AVQString@@PBD0@Z @ 2866 NONAME ; class QString QDeclarativeDrag::tr(char const *, char const *)
+ ?tr@QDeclarativeDrag@@SA?AVQString@@PBD0H@Z @ 2867 NONAME ; class QString QDeclarativeDrag::tr(char const *, char const *, int)
+ ?tr@QDeclarativeEaseFollow@@SA?AVQString@@PBD0@Z @ 2868 NONAME ; class QString QDeclarativeEaseFollow::tr(char const *, char const *)
+ ?tr@QDeclarativeEaseFollow@@SA?AVQString@@PBD0H@Z @ 2869 NONAME ; class QString QDeclarativeEaseFollow::tr(char const *, char const *, int)
+ ?tr@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 2870 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *)
+ ?tr@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 2871 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *, int)
+ ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 2872 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *)
+ ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 2873 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int)
+ ?tr@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 2874 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *)
+ ?tr@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 2875 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *, int)
+ ?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 2876 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *)
+ ?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 2877 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFlickable@@SA?AVQString@@PBD0@Z @ 2878 NONAME ; class QString QDeclarativeFlickable::tr(char const *, char const *)
+ ?tr@QDeclarativeFlickable@@SA?AVQString@@PBD0H@Z @ 2879 NONAME ; class QString QDeclarativeFlickable::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFlipable@@SA?AVQString@@PBD0@Z @ 2880 NONAME ; class QString QDeclarativeFlipable::tr(char const *, char const *)
+ ?tr@QDeclarativeFlipable@@SA?AVQString@@PBD0H@Z @ 2881 NONAME ; class QString QDeclarativeFlipable::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFlow@@SA?AVQString@@PBD0@Z @ 2882 NONAME ; class QString QDeclarativeFlow::tr(char const *, char const *)
+ ?tr@QDeclarativeFlow@@SA?AVQString@@PBD0H@Z @ 2883 NONAME ; class QString QDeclarativeFlow::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFocusPanel@@SA?AVQString@@PBD0@Z @ 2884 NONAME ; class QString QDeclarativeFocusPanel::tr(char const *, char const *)
+ ?tr@QDeclarativeFocusPanel@@SA?AVQString@@PBD0H@Z @ 2885 NONAME ; class QString QDeclarativeFocusPanel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFocusScope@@SA?AVQString@@PBD0@Z @ 2886 NONAME ; class QString QDeclarativeFocusScope::tr(char const *, char const *)
+ ?tr@QDeclarativeFocusScope@@SA?AVQString@@PBD0H@Z @ 2887 NONAME ; class QString QDeclarativeFocusScope::tr(char const *, char const *, int)
+ ?tr@QDeclarativeFontLoader@@SA?AVQString@@PBD0@Z @ 2888 NONAME ; class QString QDeclarativeFontLoader::tr(char const *, char const *)
+ ?tr@QDeclarativeFontLoader@@SA?AVQString@@PBD0H@Z @ 2889 NONAME ; class QString QDeclarativeFontLoader::tr(char const *, char const *, int)
+ ?tr@QDeclarativeGradient@@SA?AVQString@@PBD0@Z @ 2890 NONAME ; class QString QDeclarativeGradient::tr(char const *, char const *)
+ ?tr@QDeclarativeGradient@@SA?AVQString@@PBD0H@Z @ 2891 NONAME ; class QString QDeclarativeGradient::tr(char const *, char const *, int)
+ ?tr@QDeclarativeGradientStop@@SA?AVQString@@PBD0@Z @ 2892 NONAME ; class QString QDeclarativeGradientStop::tr(char const *, char const *)
+ ?tr@QDeclarativeGradientStop@@SA?AVQString@@PBD0H@Z @ 2893 NONAME ; class QString QDeclarativeGradientStop::tr(char const *, char const *, int)
+ ?tr@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0@Z @ 2894 NONAME ; class QString QDeclarativeGraphicsObjectContainer::tr(char const *, char const *)
+ ?tr@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0H@Z @ 2895 NONAME ; class QString QDeclarativeGraphicsObjectContainer::tr(char const *, char const *, int)
+ ?tr@QDeclarativeGrid@@SA?AVQString@@PBD0@Z @ 2896 NONAME ; class QString QDeclarativeGrid::tr(char const *, char const *)
+ ?tr@QDeclarativeGrid@@SA?AVQString@@PBD0H@Z @ 2897 NONAME ; class QString QDeclarativeGrid::tr(char const *, char const *, int)
+ ?tr@QDeclarativeGridView@@SA?AVQString@@PBD0@Z @ 2898 NONAME ; class QString QDeclarativeGridView::tr(char const *, char const *)
+ ?tr@QDeclarativeGridView@@SA?AVQString@@PBD0H@Z @ 2899 NONAME ; class QString QDeclarativeGridView::tr(char const *, char const *, int)
+ ?tr@QDeclarativeImage@@SA?AVQString@@PBD0@Z @ 2900 NONAME ; class QString QDeclarativeImage::tr(char const *, char const *)
+ ?tr@QDeclarativeImage@@SA?AVQString@@PBD0H@Z @ 2901 NONAME ; class QString QDeclarativeImage::tr(char const *, char const *, int)
+ ?tr@QDeclarativeImageBase@@SA?AVQString@@PBD0@Z @ 2902 NONAME ; class QString QDeclarativeImageBase::tr(char const *, char const *)
+ ?tr@QDeclarativeImageBase@@SA?AVQString@@PBD0H@Z @ 2903 NONAME ; class QString QDeclarativeImageBase::tr(char const *, char const *, int)
+ ?tr@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 2904 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *)
+ ?tr@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 2905 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *, int)
+ ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 2906 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *)
+ ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 2907 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeListView@@SA?AVQString@@PBD0@Z @ 2908 NONAME ; class QString QDeclarativeListView::tr(char const *, char const *)
+ ?tr@QDeclarativeListView@@SA?AVQString@@PBD0H@Z @ 2909 NONAME ; class QString QDeclarativeListView::tr(char const *, char const *, int)
+ ?tr@QDeclarativeLoader@@SA?AVQString@@PBD0@Z @ 2910 NONAME ; class QString QDeclarativeLoader::tr(char const *, char const *)
+ ?tr@QDeclarativeLoader@@SA?AVQString@@PBD0H@Z @ 2911 NONAME ; class QString QDeclarativeLoader::tr(char const *, char const *, int)
+ ?tr@QDeclarativeMouseArea@@SA?AVQString@@PBD0@Z @ 2912 NONAME ; class QString QDeclarativeMouseArea::tr(char const *, char const *)
+ ?tr@QDeclarativeMouseArea@@SA?AVQString@@PBD0H@Z @ 2913 NONAME ; class QString QDeclarativeMouseArea::tr(char const *, char const *, int)
+ ?tr@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0@Z @ 2914 NONAME ; class QString QDeclarativeNumberFormatter::tr(char const *, char const *)
+ ?tr@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0H@Z @ 2915 NONAME ; class QString QDeclarativeNumberFormatter::tr(char const *, char const *, int)
+ ?tr@QDeclarativePaintedItem@@SA?AVQString@@PBD0@Z @ 2916 NONAME ; class QString QDeclarativePaintedItem::tr(char const *, char const *)
+ ?tr@QDeclarativePaintedItem@@SA?AVQString@@PBD0H@Z @ 2917 NONAME ; class QString QDeclarativePaintedItem::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParentChange@@SA?AVQString@@PBD0@Z @ 2918 NONAME ; class QString QDeclarativeParentChange::tr(char const *, char const *)
+ ?tr@QDeclarativeParentChange@@SA?AVQString@@PBD0H@Z @ 2919 NONAME ; class QString QDeclarativeParentChange::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParticleMotion@@SA?AVQString@@PBD0@Z @ 2920 NONAME ; class QString QDeclarativeParticleMotion::tr(char const *, char const *)
+ ?tr@QDeclarativeParticleMotion@@SA?AVQString@@PBD0H@Z @ 2921 NONAME ; class QString QDeclarativeParticleMotion::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0@Z @ 2922 NONAME ; class QString QDeclarativeParticleMotionGravity::tr(char const *, char const *)
+ ?tr@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0H@Z @ 2923 NONAME ; class QString QDeclarativeParticleMotionGravity::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0@Z @ 2924 NONAME ; class QString QDeclarativeParticleMotionLinear::tr(char const *, char const *)
+ ?tr@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0H@Z @ 2925 NONAME ; class QString QDeclarativeParticleMotionLinear::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0@Z @ 2926 NONAME ; class QString QDeclarativeParticleMotionWander::tr(char const *, char const *)
+ ?tr@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0H@Z @ 2927 NONAME ; class QString QDeclarativeParticleMotionWander::tr(char const *, char const *, int)
+ ?tr@QDeclarativeParticles@@SA?AVQString@@PBD0@Z @ 2928 NONAME ; class QString QDeclarativeParticles::tr(char const *, char const *)
+ ?tr@QDeclarativeParticles@@SA?AVQString@@PBD0H@Z @ 2929 NONAME ; class QString QDeclarativeParticles::tr(char const *, char const *, int)
+ ?tr@QDeclarativePath@@SA?AVQString@@PBD0@Z @ 2930 NONAME ; class QString QDeclarativePath::tr(char const *, char const *)
+ ?tr@QDeclarativePath@@SA?AVQString@@PBD0H@Z @ 2931 NONAME ; class QString QDeclarativePath::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathAttribute@@SA?AVQString@@PBD0@Z @ 2932 NONAME ; class QString QDeclarativePathAttribute::tr(char const *, char const *)
+ ?tr@QDeclarativePathAttribute@@SA?AVQString@@PBD0H@Z @ 2933 NONAME ; class QString QDeclarativePathAttribute::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathCubic@@SA?AVQString@@PBD0@Z @ 2934 NONAME ; class QString QDeclarativePathCubic::tr(char const *, char const *)
+ ?tr@QDeclarativePathCubic@@SA?AVQString@@PBD0H@Z @ 2935 NONAME ; class QString QDeclarativePathCubic::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathElement@@SA?AVQString@@PBD0@Z @ 2936 NONAME ; class QString QDeclarativePathElement::tr(char const *, char const *)
+ ?tr@QDeclarativePathElement@@SA?AVQString@@PBD0H@Z @ 2937 NONAME ; class QString QDeclarativePathElement::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathLine@@SA?AVQString@@PBD0@Z @ 2938 NONAME ; class QString QDeclarativePathLine::tr(char const *, char const *)
+ ?tr@QDeclarativePathLine@@SA?AVQString@@PBD0H@Z @ 2939 NONAME ; class QString QDeclarativePathLine::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathPercent@@SA?AVQString@@PBD0@Z @ 2940 NONAME ; class QString QDeclarativePathPercent::tr(char const *, char const *)
+ ?tr@QDeclarativePathPercent@@SA?AVQString@@PBD0H@Z @ 2941 NONAME ; class QString QDeclarativePathPercent::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathQuad@@SA?AVQString@@PBD0@Z @ 2942 NONAME ; class QString QDeclarativePathQuad::tr(char const *, char const *)
+ ?tr@QDeclarativePathQuad@@SA?AVQString@@PBD0H@Z @ 2943 NONAME ; class QString QDeclarativePathQuad::tr(char const *, char const *, int)
+ ?tr@QDeclarativePathView@@SA?AVQString@@PBD0@Z @ 2944 NONAME ; class QString QDeclarativePathView::tr(char const *, char const *)
+ ?tr@QDeclarativePathView@@SA?AVQString@@PBD0H@Z @ 2945 NONAME ; class QString QDeclarativePathView::tr(char const *, char const *, int)
+ ?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 2946 NONAME ; class QString QDeclarativePen::tr(char const *, char const *)
+ ?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 2947 NONAME ; class QString QDeclarativePen::tr(char const *, char const *, int)
+ ?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 2948 NONAME ; class QString QDeclarativePixmapReply::tr(char const *, char const *)
+ ?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 2949 NONAME ; class QString QDeclarativePixmapReply::tr(char const *, char const *, int)
+ ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 2950 NONAME ; class QString QDeclarativePropertyChanges::tr(char const *, char const *)
+ ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 2951 NONAME ; class QString QDeclarativePropertyChanges::tr(char const *, char const *, int)
+ ?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 2952 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *)
+ ?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 2953 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *, int)
+ ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 2954 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *)
+ ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 2955 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *, int)
+ ?tr@QDeclarativeRepeater@@SA?AVQString@@PBD0@Z @ 2956 NONAME ; class QString QDeclarativeRepeater::tr(char const *, char const *)
+ ?tr@QDeclarativeRepeater@@SA?AVQString@@PBD0H@Z @ 2957 NONAME ; class QString QDeclarativeRepeater::tr(char const *, char const *, int)
+ ?tr@QDeclarativeRow@@SA?AVQString@@PBD0@Z @ 2958 NONAME ; class QString QDeclarativeRow::tr(char const *, char const *)
+ ?tr@QDeclarativeRow@@SA?AVQString@@PBD0H@Z @ 2959 NONAME ; class QString QDeclarativeRow::tr(char const *, char const *, int)
+ ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 2960 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *)
+ ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 2961 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int)
+ ?tr@QDeclarativeSpringFollow@@SA?AVQString@@PBD0@Z @ 2962 NONAME ; class QString QDeclarativeSpringFollow::tr(char const *, char const *)
+ ?tr@QDeclarativeSpringFollow@@SA?AVQString@@PBD0H@Z @ 2963 NONAME ; class QString QDeclarativeSpringFollow::tr(char const *, char const *, int)
+ ?tr@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 2964 NONAME ; class QString QDeclarativeState::tr(char const *, char const *)
+ ?tr@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 2965 NONAME ; class QString QDeclarativeState::tr(char const *, char const *, int)
+ ?tr@QDeclarativeStateChangeScript@@SA?AVQString@@PBD0@Z @ 2966 NONAME ; class QString QDeclarativeStateChangeScript::tr(char const *, char const *)
+ ?tr@QDeclarativeStateChangeScript@@SA?AVQString@@PBD0H@Z @ 2967 NONAME ; class QString QDeclarativeStateChangeScript::tr(char const *, char const *, int)
+ ?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 2968 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *)
+ ?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 2969 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *, int)
+ ?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 2970 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *)
+ ?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 2971 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *, int)
+ ?tr@QDeclarativeSystemPalette@@SA?AVQString@@PBD0@Z @ 2972 NONAME ; class QString QDeclarativeSystemPalette::tr(char const *, char const *)
+ ?tr@QDeclarativeSystemPalette@@SA?AVQString@@PBD0H@Z @ 2973 NONAME ; class QString QDeclarativeSystemPalette::tr(char const *, char const *, int)
+ ?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 2974 NONAME ; class QString QDeclarativeText::tr(char const *, char const *)
+ ?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 2975 NONAME ; class QString QDeclarativeText::tr(char const *, char const *, int)
+ ?tr@QDeclarativeTextEdit@@SA?AVQString@@PBD0@Z @ 2976 NONAME ; class QString QDeclarativeTextEdit::tr(char const *, char const *)
+ ?tr@QDeclarativeTextEdit@@SA?AVQString@@PBD0H@Z @ 2977 NONAME ; class QString QDeclarativeTextEdit::tr(char const *, char const *, int)
+ ?tr@QDeclarativeTextInput@@SA?AVQString@@PBD0@Z @ 2978 NONAME ; class QString QDeclarativeTextInput::tr(char const *, char const *)
+ ?tr@QDeclarativeTextInput@@SA?AVQString@@PBD0H@Z @ 2979 NONAME ; class QString QDeclarativeTextInput::tr(char const *, char const *, int)
+ ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 2980 NONAME ; class QString QDeclarativeTimer::tr(char const *, char const *)
+ ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 2981 NONAME ; class QString QDeclarativeTimer::tr(char const *, char const *, int)
+ ?tr@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 2982 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *)
+ ?tr@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 2983 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *, int)
+ ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 2984 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *)
+ ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 2985 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *, int)
+ ?tr@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 2986 NONAME ; class QString QDeclarativeView::tr(char const *, char const *)
+ ?tr@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 2987 NONAME ; class QString QDeclarativeView::tr(char const *, char const *, int)
+ ?tr@QDeclarativeViewSection@@SA?AVQString@@PBD0@Z @ 2988 NONAME ; class QString QDeclarativeViewSection::tr(char const *, char const *)
+ ?tr@QDeclarativeViewSection@@SA?AVQString@@PBD0H@Z @ 2989 NONAME ; class QString QDeclarativeViewSection::tr(char const *, char const *, int)
+ ?tr@QDeclarativeVisualDataModel@@SA?AVQString@@PBD0@Z @ 2990 NONAME ; class QString QDeclarativeVisualDataModel::tr(char const *, char const *)
+ ?tr@QDeclarativeVisualDataModel@@SA?AVQString@@PBD0H@Z @ 2991 NONAME ; class QString QDeclarativeVisualDataModel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeVisualItemModel@@SA?AVQString@@PBD0@Z @ 2992 NONAME ; class QString QDeclarativeVisualItemModel::tr(char const *, char const *)
+ ?tr@QDeclarativeVisualItemModel@@SA?AVQString@@PBD0H@Z @ 2993 NONAME ; class QString QDeclarativeVisualItemModel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeVisualModel@@SA?AVQString@@PBD0@Z @ 2994 NONAME ; class QString QDeclarativeVisualModel::tr(char const *, char const *)
+ ?tr@QDeclarativeVisualModel@@SA?AVQString@@PBD0H@Z @ 2995 NONAME ; class QString QDeclarativeVisualModel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeWebPage@@SA?AVQString@@PBD0@Z @ 2996 NONAME ; class QString QDeclarativeWebPage::tr(char const *, char const *)
+ ?tr@QDeclarativeWebPage@@SA?AVQString@@PBD0H@Z @ 2997 NONAME ; class QString QDeclarativeWebPage::tr(char const *, char const *, int)
+ ?tr@QDeclarativeWebView@@SA?AVQString@@PBD0@Z @ 2998 NONAME ; class QString QDeclarativeWebView::tr(char const *, char const *)
+ ?tr@QDeclarativeWebView@@SA?AVQString@@PBD0H@Z @ 2999 NONAME ; class QString QDeclarativeWebView::tr(char const *, char const *, int)
+ ?tr@QDeclarativeXmlListModel@@SA?AVQString@@PBD0@Z @ 3000 NONAME ; class QString QDeclarativeXmlListModel::tr(char const *, char const *)
+ ?tr@QDeclarativeXmlListModel@@SA?AVQString@@PBD0H@Z @ 3001 NONAME ; class QString QDeclarativeXmlListModel::tr(char const *, char const *, int)
+ ?tr@QDeclarativeXmlListModelRole@@SA?AVQString@@PBD0@Z @ 3002 NONAME ; class QString QDeclarativeXmlListModelRole::tr(char const *, char const *)
+ ?tr@QDeclarativeXmlListModelRole@@SA?AVQString@@PBD0H@Z @ 3003 NONAME ; class QString QDeclarativeXmlListModelRole::tr(char const *, char const *, int)
+ ?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 3004 NONAME ; class QString QListModelInterface::tr(char const *, char const *)
+ ?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 3005 NONAME ; class QString QListModelInterface::tr(char const *, char const *, int)
+ ?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 3006 NONAME ; class QString QPacketProtocol::tr(char const *, char const *)
+ ?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 3007 NONAME ; class QString QPacketProtocol::tr(char const *, char const *, int)
+ ?trUtf8@QDeclarativeAnchorChanges@@SA?AVQString@@PBD0@Z @ 3008 NONAME ; class QString QDeclarativeAnchorChanges::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeAnchorChanges@@SA?AVQString@@PBD0H@Z @ 3009 NONAME ; class QString QDeclarativeAnchorChanges::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 3010 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 3011 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeAnimatedImage@@SA?AVQString@@PBD0@Z @ 3012 NONAME ; class QString QDeclarativeAnimatedImage::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeAnimatedImage@@SA?AVQString@@PBD0H@Z @ 3013 NONAME ; class QString QDeclarativeAnimatedImage::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 3014 NONAME ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 3015 NONAME ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 3016 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 3017 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBind@@SA?AVQString@@PBD0@Z @ 3018 NONAME ; class QString QDeclarativeBind::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeBind@@SA?AVQString@@PBD0H@Z @ 3019 NONAME ; class QString QDeclarativeBind::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBorderImage@@SA?AVQString@@PBD0@Z @ 3020 NONAME ; class QString QDeclarativeBorderImage::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeBorderImage@@SA?AVQString@@PBD0H@Z @ 3021 NONAME ; class QString QDeclarativeBorderImage::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeColumn@@SA?AVQString@@PBD0@Z @ 3022 NONAME ; class QString QDeclarativeColumn::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeColumn@@SA?AVQString@@PBD0H@Z @ 3023 NONAME ; class QString QDeclarativeColumn::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 3024 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 3025 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeConnections@@SA?AVQString@@PBD0@Z @ 3026 NONAME ; class QString QDeclarativeConnections::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeConnections@@SA?AVQString@@PBD0H@Z @ 3027 NONAME ; class QString QDeclarativeConnections::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 3028 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 3029 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeCurve@@SA?AVQString@@PBD0@Z @ 3030 NONAME ; class QString QDeclarativeCurve::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeCurve@@SA?AVQString@@PBD0H@Z @ 3031 NONAME ; class QString QDeclarativeCurve::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0@Z @ 3032 NONAME ; class QString QDeclarativeDateTimeFormatter::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0H@Z @ 3033 NONAME ; class QString QDeclarativeDateTimeFormatter::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 3034 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 3035 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 3036 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 3037 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 3038 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 3039 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 3040 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 3041 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 3042 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 3043 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 3044 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 3045 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 3046 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 3047 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 3048 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 3049 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 3050 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 3051 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 3052 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 3053 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 3054 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 3055 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDrag@@SA?AVQString@@PBD0@Z @ 3056 NONAME ; class QString QDeclarativeDrag::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDrag@@SA?AVQString@@PBD0H@Z @ 3057 NONAME ; class QString QDeclarativeDrag::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeEaseFollow@@SA?AVQString@@PBD0@Z @ 3058 NONAME ; class QString QDeclarativeEaseFollow::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeEaseFollow@@SA?AVQString@@PBD0H@Z @ 3059 NONAME ; class QString QDeclarativeEaseFollow::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 3060 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 3061 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 3062 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 3063 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 3064 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 3065 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 3066 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 3067 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFlickable@@SA?AVQString@@PBD0@Z @ 3068 NONAME ; class QString QDeclarativeFlickable::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFlickable@@SA?AVQString@@PBD0H@Z @ 3069 NONAME ; class QString QDeclarativeFlickable::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFlipable@@SA?AVQString@@PBD0@Z @ 3070 NONAME ; class QString QDeclarativeFlipable::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFlipable@@SA?AVQString@@PBD0H@Z @ 3071 NONAME ; class QString QDeclarativeFlipable::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFlow@@SA?AVQString@@PBD0@Z @ 3072 NONAME ; class QString QDeclarativeFlow::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFlow@@SA?AVQString@@PBD0H@Z @ 3073 NONAME ; class QString QDeclarativeFlow::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFocusPanel@@SA?AVQString@@PBD0@Z @ 3074 NONAME ; class QString QDeclarativeFocusPanel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFocusPanel@@SA?AVQString@@PBD0H@Z @ 3075 NONAME ; class QString QDeclarativeFocusPanel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFocusScope@@SA?AVQString@@PBD0@Z @ 3076 NONAME ; class QString QDeclarativeFocusScope::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFocusScope@@SA?AVQString@@PBD0H@Z @ 3077 NONAME ; class QString QDeclarativeFocusScope::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeFontLoader@@SA?AVQString@@PBD0@Z @ 3078 NONAME ; class QString QDeclarativeFontLoader::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeFontLoader@@SA?AVQString@@PBD0H@Z @ 3079 NONAME ; class QString QDeclarativeFontLoader::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeGradient@@SA?AVQString@@PBD0@Z @ 3080 NONAME ; class QString QDeclarativeGradient::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeGradient@@SA?AVQString@@PBD0H@Z @ 3081 NONAME ; class QString QDeclarativeGradient::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeGradientStop@@SA?AVQString@@PBD0@Z @ 3082 NONAME ; class QString QDeclarativeGradientStop::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeGradientStop@@SA?AVQString@@PBD0H@Z @ 3083 NONAME ; class QString QDeclarativeGradientStop::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0@Z @ 3084 NONAME ; class QString QDeclarativeGraphicsObjectContainer::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0H@Z @ 3085 NONAME ; class QString QDeclarativeGraphicsObjectContainer::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeGrid@@SA?AVQString@@PBD0@Z @ 3086 NONAME ; class QString QDeclarativeGrid::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeGrid@@SA?AVQString@@PBD0H@Z @ 3087 NONAME ; class QString QDeclarativeGrid::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeGridView@@SA?AVQString@@PBD0@Z @ 3088 NONAME ; class QString QDeclarativeGridView::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeGridView@@SA?AVQString@@PBD0H@Z @ 3089 NONAME ; class QString QDeclarativeGridView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeImage@@SA?AVQString@@PBD0@Z @ 3090 NONAME ; class QString QDeclarativeImage::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeImage@@SA?AVQString@@PBD0H@Z @ 3091 NONAME ; class QString QDeclarativeImage::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeImageBase@@SA?AVQString@@PBD0@Z @ 3092 NONAME ; class QString QDeclarativeImageBase::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeImageBase@@SA?AVQString@@PBD0H@Z @ 3093 NONAME ; class QString QDeclarativeImageBase::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 3094 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 3095 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 3096 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 3097 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeListView@@SA?AVQString@@PBD0@Z @ 3098 NONAME ; class QString QDeclarativeListView::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeListView@@SA?AVQString@@PBD0H@Z @ 3099 NONAME ; class QString QDeclarativeListView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeLoader@@SA?AVQString@@PBD0@Z @ 3100 NONAME ; class QString QDeclarativeLoader::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeLoader@@SA?AVQString@@PBD0H@Z @ 3101 NONAME ; class QString QDeclarativeLoader::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeMouseArea@@SA?AVQString@@PBD0@Z @ 3102 NONAME ; class QString QDeclarativeMouseArea::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeMouseArea@@SA?AVQString@@PBD0H@Z @ 3103 NONAME ; class QString QDeclarativeMouseArea::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0@Z @ 3104 NONAME ; class QString QDeclarativeNumberFormatter::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0H@Z @ 3105 NONAME ; class QString QDeclarativeNumberFormatter::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePaintedItem@@SA?AVQString@@PBD0@Z @ 3106 NONAME ; class QString QDeclarativePaintedItem::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePaintedItem@@SA?AVQString@@PBD0H@Z @ 3107 NONAME ; class QString QDeclarativePaintedItem::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParentChange@@SA?AVQString@@PBD0@Z @ 3108 NONAME ; class QString QDeclarativeParentChange::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParentChange@@SA?AVQString@@PBD0H@Z @ 3109 NONAME ; class QString QDeclarativeParentChange::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParticleMotion@@SA?AVQString@@PBD0@Z @ 3110 NONAME ; class QString QDeclarativeParticleMotion::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParticleMotion@@SA?AVQString@@PBD0H@Z @ 3111 NONAME ; class QString QDeclarativeParticleMotion::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0@Z @ 3112 NONAME ; class QString QDeclarativeParticleMotionGravity::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0H@Z @ 3113 NONAME ; class QString QDeclarativeParticleMotionGravity::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0@Z @ 3114 NONAME ; class QString QDeclarativeParticleMotionLinear::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0H@Z @ 3115 NONAME ; class QString QDeclarativeParticleMotionLinear::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0@Z @ 3116 NONAME ; class QString QDeclarativeParticleMotionWander::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0H@Z @ 3117 NONAME ; class QString QDeclarativeParticleMotionWander::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeParticles@@SA?AVQString@@PBD0@Z @ 3118 NONAME ; class QString QDeclarativeParticles::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeParticles@@SA?AVQString@@PBD0H@Z @ 3119 NONAME ; class QString QDeclarativeParticles::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePath@@SA?AVQString@@PBD0@Z @ 3120 NONAME ; class QString QDeclarativePath::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePath@@SA?AVQString@@PBD0H@Z @ 3121 NONAME ; class QString QDeclarativePath::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathAttribute@@SA?AVQString@@PBD0@Z @ 3122 NONAME ; class QString QDeclarativePathAttribute::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathAttribute@@SA?AVQString@@PBD0H@Z @ 3123 NONAME ; class QString QDeclarativePathAttribute::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathCubic@@SA?AVQString@@PBD0@Z @ 3124 NONAME ; class QString QDeclarativePathCubic::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathCubic@@SA?AVQString@@PBD0H@Z @ 3125 NONAME ; class QString QDeclarativePathCubic::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathElement@@SA?AVQString@@PBD0@Z @ 3126 NONAME ; class QString QDeclarativePathElement::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathElement@@SA?AVQString@@PBD0H@Z @ 3127 NONAME ; class QString QDeclarativePathElement::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathLine@@SA?AVQString@@PBD0@Z @ 3128 NONAME ; class QString QDeclarativePathLine::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathLine@@SA?AVQString@@PBD0H@Z @ 3129 NONAME ; class QString QDeclarativePathLine::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathPercent@@SA?AVQString@@PBD0@Z @ 3130 NONAME ; class QString QDeclarativePathPercent::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathPercent@@SA?AVQString@@PBD0H@Z @ 3131 NONAME ; class QString QDeclarativePathPercent::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathQuad@@SA?AVQString@@PBD0@Z @ 3132 NONAME ; class QString QDeclarativePathQuad::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathQuad@@SA?AVQString@@PBD0H@Z @ 3133 NONAME ; class QString QDeclarativePathQuad::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePathView@@SA?AVQString@@PBD0@Z @ 3134 NONAME ; class QString QDeclarativePathView::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePathView@@SA?AVQString@@PBD0H@Z @ 3135 NONAME ; class QString QDeclarativePathView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 3136 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 3137 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 3138 NONAME ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 3139 NONAME ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 3140 NONAME ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 3141 NONAME ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 3142 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 3143 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 3144 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 3145 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeRepeater@@SA?AVQString@@PBD0@Z @ 3146 NONAME ; class QString QDeclarativeRepeater::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeRepeater@@SA?AVQString@@PBD0H@Z @ 3147 NONAME ; class QString QDeclarativeRepeater::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeRow@@SA?AVQString@@PBD0@Z @ 3148 NONAME ; class QString QDeclarativeRow::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeRow@@SA?AVQString@@PBD0H@Z @ 3149 NONAME ; class QString QDeclarativeRow::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 3150 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 3151 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeSpringFollow@@SA?AVQString@@PBD0@Z @ 3152 NONAME ; class QString QDeclarativeSpringFollow::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeSpringFollow@@SA?AVQString@@PBD0H@Z @ 3153 NONAME ; class QString QDeclarativeSpringFollow::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 3154 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 3155 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeStateChangeScript@@SA?AVQString@@PBD0@Z @ 3156 NONAME ; class QString QDeclarativeStateChangeScript::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeStateChangeScript@@SA?AVQString@@PBD0H@Z @ 3157 NONAME ; class QString QDeclarativeStateChangeScript::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 3158 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 3159 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 3160 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 3161 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeSystemPalette@@SA?AVQString@@PBD0@Z @ 3162 NONAME ; class QString QDeclarativeSystemPalette::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeSystemPalette@@SA?AVQString@@PBD0H@Z @ 3163 NONAME ; class QString QDeclarativeSystemPalette::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 3164 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 3165 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeTextEdit@@SA?AVQString@@PBD0@Z @ 3166 NONAME ; class QString QDeclarativeTextEdit::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeTextEdit@@SA?AVQString@@PBD0H@Z @ 3167 NONAME ; class QString QDeclarativeTextEdit::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeTextInput@@SA?AVQString@@PBD0@Z @ 3168 NONAME ; class QString QDeclarativeTextInput::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeTextInput@@SA?AVQString@@PBD0H@Z @ 3169 NONAME ; class QString QDeclarativeTextInput::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 3170 NONAME ; class QString QDeclarativeTimer::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 3171 NONAME ; class QString QDeclarativeTimer::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 3172 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 3173 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 3174 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 3175 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 3176 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 3177 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeViewSection@@SA?AVQString@@PBD0@Z @ 3178 NONAME ; class QString QDeclarativeViewSection::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeViewSection@@SA?AVQString@@PBD0H@Z @ 3179 NONAME ; class QString QDeclarativeViewSection::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeVisualDataModel@@SA?AVQString@@PBD0@Z @ 3180 NONAME ; class QString QDeclarativeVisualDataModel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeVisualDataModel@@SA?AVQString@@PBD0H@Z @ 3181 NONAME ; class QString QDeclarativeVisualDataModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeVisualItemModel@@SA?AVQString@@PBD0@Z @ 3182 NONAME ; class QString QDeclarativeVisualItemModel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeVisualItemModel@@SA?AVQString@@PBD0H@Z @ 3183 NONAME ; class QString QDeclarativeVisualItemModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeVisualModel@@SA?AVQString@@PBD0@Z @ 3184 NONAME ; class QString QDeclarativeVisualModel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeVisualModel@@SA?AVQString@@PBD0H@Z @ 3185 NONAME ; class QString QDeclarativeVisualModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeWebPage@@SA?AVQString@@PBD0@Z @ 3186 NONAME ; class QString QDeclarativeWebPage::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeWebPage@@SA?AVQString@@PBD0H@Z @ 3187 NONAME ; class QString QDeclarativeWebPage::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeWebView@@SA?AVQString@@PBD0@Z @ 3188 NONAME ; class QString QDeclarativeWebView::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeWebView@@SA?AVQString@@PBD0H@Z @ 3189 NONAME ; class QString QDeclarativeWebView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeXmlListModel@@SA?AVQString@@PBD0@Z @ 3190 NONAME ; class QString QDeclarativeXmlListModel::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeXmlListModel@@SA?AVQString@@PBD0H@Z @ 3191 NONAME ; class QString QDeclarativeXmlListModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeXmlListModelRole@@SA?AVQString@@PBD0@Z @ 3192 NONAME ; class QString QDeclarativeXmlListModelRole::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeXmlListModelRole@@SA?AVQString@@PBD0H@Z @ 3193 NONAME ; class QString QDeclarativeXmlListModelRole::trUtf8(char const *, char const *, int)
+ ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 3194 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *)
+ ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 3195 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *, int)
+ ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 3196 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *)
+ ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 3197 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *, int)
+ ?trackedPositionChanged@QDeclarativeGridView@@AAEXXZ @ 3198 NONAME ; void QDeclarativeGridView::trackedPositionChanged(void)
+ ?trackedPositionChanged@QDeclarativeListView@@AAEXXZ @ 3199 NONAME ; void QDeclarativeListView::trackedPositionChanged(void)
+ ?transform@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 3200 NONAME ; struct QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void)
+ ?transformOrigin@QDeclarativeItem@@QBE?AW4TransformOrigin@1@XZ @ 3201 NONAME ; enum QDeclarativeItem::TransformOrigin QDeclarativeItem::transformOrigin(void) const
+ ?transformOriginChanged@QDeclarativeItem@@IAEXW4TransformOrigin@1@@Z @ 3202 NONAME ; void QDeclarativeItem::transformOriginChanged(enum QDeclarativeItem::TransformOrigin)
+ ?transitions@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3203 NONAME ; struct QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItem::transitions(void)
+ ?transitionsProperty@QDeclarativeStateGroup@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3204 NONAME ; struct QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void)
+ ?triggered@QDeclarativeTimer@@IAEXXZ @ 3205 NONAME ; void QDeclarativeTimer::triggered(void)
+ ?triggeredOnStart@QDeclarativeTimer@@QBE_NXZ @ 3206 NONAME ; bool QDeclarativeTimer::triggeredOnStart(void) const
+ ?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 3207 NONAME ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const
+ ?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 3208 NONAME ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const
+ ?type@QDeclarativeListAccessor@@QBE?AW4Type@1@XZ @ 3209 NONAME ; enum QDeclarativeListAccessor::Type QDeclarativeListAccessor::type(void) const
+ ?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 3210 NONAME ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const
+ ?type@QDeclarativeProperty@@QBE?AW4Type@1@XZ @ 3211 NONAME ; enum QDeclarativeProperty::Type QDeclarativeProperty::type(void) const
+ ?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 3212 NONAME ; class QByteArray QMetaPropertyBuilder::type(void) const
+ ?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 3213 NONAME ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int)
+ ?typeId@QDeclarativeType@@QBEHXZ @ 3214 NONAME ; int QDeclarativeType::typeId(void) const
+ ?typeName@QDeclarativeAnchorChanges@@UBE?AVQString@@XZ @ 3215 NONAME ; class QString QDeclarativeAnchorChanges::typeName(void) const
+ ?typeName@QDeclarativeParentChange@@UBE?AVQString@@XZ @ 3216 NONAME ; class QString QDeclarativeParentChange::typeName(void) const
+ ?typeName@QDeclarativeStateChangeScript@@UBE?AVQString@@XZ @ 3217 NONAME ; class QString QDeclarativeStateChangeScript::typeName(void) const
+ ?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 3218 NONAME ; class QByteArray QDeclarativeType::typeName(void) const
+ ?update@QDeclarativeTimer@@AAEXXZ @ 3219 NONAME ; void QDeclarativeTimer::update(void)
+ ?updateAutoState@QDeclarativeStateGroup@@AAE_NXZ @ 3220 NONAME ; bool QDeclarativeStateGroup::updateAutoState(void)
+ ?updateGradient@QDeclarativeGradientStop@@AAEXXZ @ 3221 NONAME ; void QDeclarativeGradientStop::updateGradient(void)
+ ?updateImgCache@QDeclarativeTextEdit@@AAEXABVQRectF@@@Z @ 3222 NONAME ; void QDeclarativeTextEdit::updateImgCache(class QRectF const &)
+ ?updatePaintedGeometry@QDeclarativeImage@@IAEXXZ @ 3223 NONAME ; void QDeclarativeImage::updatePaintedGeometry(void)
+ ?updateRect@QDeclarativeTextInput@@AAEXABVQRect@@@Z @ 3224 NONAME ; void QDeclarativeTextInput::updateRect(class QRect const &)
+ ?updateSelectionMarkers@QDeclarativeTextEdit@@AAEXXZ @ 3225 NONAME ; void QDeclarativeTextEdit::updateSelectionMarkers(void)
+ ?updateSize@QDeclarativeTextEdit@@AAEXXZ @ 3226 NONAME ; void QDeclarativeTextEdit::updateSize(void)
+ ?updateSize@QDeclarativeTextInput@@AAEX_N@Z @ 3227 NONAME ; void QDeclarativeTextInput::updateSize(bool)
+ ?updated@QDeclarativeGradient@@IAEXXZ @ 3228 NONAME ; void QDeclarativeGradient::updated(void)
+ ?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 3229 NONAME ; class QString QDeclarativeDomImport::uri(void) const
+ ?url@QDeclarativeComponent@@QBE?AVQUrl@@XZ @ 3230 NONAME ; class QUrl QDeclarativeComponent::url(void) const
+ ?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 3231 NONAME ; class QUrl QDeclarativeDebugFileReference::url(void) const
+ ?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 3232 NONAME ; class QUrl QDeclarativeDomObject::url(void) const
+ ?url@QDeclarativeError@@QBE?AVQUrl@@XZ @ 3233 NONAME ; class QUrl QDeclarativeError::url(void) const
+ ?url@QDeclarativePixmapReply@@QBEABVQUrl@@XZ @ 3234 NONAME ; class QUrl const & QDeclarativePixmapReply::url(void) const
+ ?url@QDeclarativeWebView@@QBE?AVQUrl@@XZ @ 3235 NONAME ; class QUrl QDeclarativeWebView::url(void) const
+ ?urlChanged@QDeclarativeWebView@@IAEXXZ @ 3236 NONAME ; void QDeclarativeWebView::urlChanged(void)
+ ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4UsedAnchor@QDeclarativeAnchors@@@@XZ @ 3237 NONAME ; class QFlags<enum QDeclarativeAnchors::UsedAnchor> QDeclarativeAnchors::usedAnchors(void) const
+ ?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 3238 NONAME ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const
+ ?vAlign@QDeclarativeTextEdit@@QBE?AW4VAlignment@1@XZ @ 3239 NONAME ; enum QDeclarativeTextEdit::VAlignment QDeclarativeTextEdit::vAlign(void) const
+ ?vHeight@QDeclarativeFlickable@@IBEMXZ @ 3240 NONAME ; float QDeclarativeFlickable::vHeight(void) const
+ ?vWidth@QDeclarativeFlickable@@IBEMXZ @ 3241 NONAME ; float QDeclarativeFlickable::vWidth(void) const
+ ?validator@QDeclarativeTextInput@@QBEPAVQValidator@@XZ @ 3242 NONAME ; class QValidator * QDeclarativeTextInput::validator(void) const
+ ?validatorChanged@QDeclarativeTextInput@@IAEXXZ @ 3243 NONAME ; void QDeclarativeTextInput::validatorChanged(void)
+ ?value@QDeclarativeBind@@QBE?AVQVariant@@XZ @ 3244 NONAME ; class QVariant QDeclarativeBind::value(void) const
+ ?value@QDeclarativeDebugPropertyReference@@QBE?AVQVariant@@XZ @ 3245 NONAME ; class QVariant QDeclarativeDebugPropertyReference::value(void) const
+ ?value@QDeclarativeDomProperty@@QBE?AVQDeclarativeDomValue@@XZ @ 3246 NONAME ; class QDeclarativeDomValue QDeclarativeDomProperty::value(void) const
+ ?value@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 3247 NONAME ; class QVariant QDeclarativeExpression::value(bool *)
+ ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 3248 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const
+ ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 3249 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(int) const
+ ?value@QDeclarativePathAttribute@@QBEMXZ @ 3250 NONAME ; float QDeclarativePathAttribute::value(void) const
+ ?value@QDeclarativePathPercent@@QBEMXZ @ 3251 NONAME ; float QDeclarativePathPercent::value(void) const
+ ?value@QDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 3252 NONAME ; class QVariant QDeclarativePropertyMap::value(class QString const &) const
+ ?value@QDeclarativeSpringFollow@@QBEMXZ @ 3253 NONAME ; float QDeclarativeSpringFollow::value(void) const
+ ?value@QMetaEnumBuilder@@QBEHH@Z @ 3254 NONAME ; int QMetaEnumBuilder::value(int) const
+ ?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 3255 NONAME ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &)
+ ?valueChanged@QDeclarativeExpression@@IAEXXZ @ 3256 NONAME ; void QDeclarativeExpression::valueChanged(void)
+ ?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@@Z @ 3257 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &)
+ ?valueChanged@QDeclarativeSpringFollow@@IAEXM@Z @ 3258 NONAME ; void QDeclarativeSpringFollow::valueChanged(float)
+ ?valueForNode@QDeclarativeListModel@@ABE?AVQVariant@@PAUModelNode@@@Z @ 3259 NONAME ; class QVariant QDeclarativeListModel::valueForNode(struct ModelNode *) const
+ ?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 3260 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int)
+ ?valueTypeName@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 3261 NONAME ; class QString QDeclarativeDebugPropertyReference::valueTypeName(void) const
+ ?values@QDeclarativeDomList@@QBE?AV?$QList@VQDeclarativeDomValue@@@@XZ @ 3262 NONAME ; class QList<class QDeclarativeDomValue> QDeclarativeDomList::values(void) const
+ ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 3263 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &)
+ ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 3264 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *)
+ ?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 3265 NONAME ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *)
+ ?velocity@QDeclarativeEaseFollow@@QBEMXZ @ 3266 NONAME ; float QDeclarativeEaseFollow::velocity(void) const
+ ?velocity@QDeclarativeParticles@@QBEMXZ @ 3267 NONAME ; float QDeclarativeParticles::velocity(void) const
+ ?velocity@QDeclarativeSpringFollow@@QBEMXZ @ 3268 NONAME ; float QDeclarativeSpringFollow::velocity(void) const
+ ?velocityChanged@QDeclarativeEaseFollow@@IAEXXZ @ 3269 NONAME ; void QDeclarativeEaseFollow::velocityChanged(void)
+ ?velocityChanged@QDeclarativeParticles@@IAEXXZ @ 3270 NONAME ; void QDeclarativeParticles::velocityChanged(void)
+ ?velocityDeviation@QDeclarativeParticles@@QBEMXZ @ 3271 NONAME ; float QDeclarativeParticles::velocityDeviation(void) const
+ ?velocityDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 3272 NONAME ; void QDeclarativeParticles::velocityDeviationChanged(void)
+ ?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 3273 NONAME ; class QString QDeclarativeDomImport::version(void) const
+ ?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 3274 NONAME ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment)
+ ?verticalAlignmentChanged@QDeclarativeTextEdit@@IAEXW4VAlignment@1@@Z @ 3275 NONAME ; void QDeclarativeTextEdit::verticalAlignmentChanged(enum QDeclarativeTextEdit::VAlignment)
+ ?verticalCenter@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3276 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::verticalCenter(void) const
+ ?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3277 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const
+ ?verticalCenter@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3278 NONAME ; class QDeclarativeAnchorLine QDeclarativeItem::verticalCenter(void) const
+ ?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 3279 NONAME ; void QDeclarativeAnchors::verticalCenterChanged(void)
+ ?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 3280 NONAME ; float QDeclarativeAnchors::verticalCenterOffset(void) const
+ ?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 3281 NONAME ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void)
+ ?verticalTileMode@QDeclarativeBorderImage@@QBE?AW4TileMode@1@XZ @ 3282 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeBorderImage::verticalTileMode(void) const
+ ?verticalTileModeChanged@QDeclarativeBorderImage@@IAEXXZ @ 3283 NONAME ; void QDeclarativeBorderImage::verticalTileModeChanged(void)
+ ?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 3284 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const
+ ?verticalVelocity@QDeclarativeFlickable@@QBEMXZ @ 3285 NONAME ; float QDeclarativeFlickable::verticalVelocity(void) const
+ ?verticalVelocityChanged@QDeclarativeFlickable@@IAEXXZ @ 3286 NONAME ; void QDeclarativeFlickable::verticalVelocityChanged(void)
+ ?viewItem@QDeclarativeWebPage@@AAEPAVQDeclarativeWebView@@XZ @ 3287 NONAME ; class QDeclarativeWebView * QDeclarativeWebPage::viewItem(void)
+ ?viewport@QDeclarativeFlickable@@QAEPAVQDeclarativeItem@@XZ @ 3288 NONAME ; class QDeclarativeItem * QDeclarativeFlickable::viewport(void)
+ ?viewportMoved@QDeclarativeFlickable@@MAEXXZ @ 3289 NONAME ; void QDeclarativeFlickable::viewportMoved(void)
+ ?viewportMoved@QDeclarativeGridView@@MAEXXZ @ 3290 NONAME ; void QDeclarativeGridView::viewportMoved(void)
+ ?viewportMoved@QDeclarativeListView@@MAEXXZ @ 3291 NONAME ; void QDeclarativeListView::viewportMoved(void)
+ ?visibleArea@QDeclarativeFlickable@@IAEPAVQDeclarativeFlickableVisibleArea@@XZ @ 3292 NONAME ; class QDeclarativeFlickableVisibleArea * QDeclarativeFlickable::visibleArea(void)
+ ?waitForClients@QDeclarativeDebugService@@SAXXZ @ 3293 NONAME ; void QDeclarativeDebugService::waitForClients(void)
+ ?wantsFocus@QDeclarativeItem@@QBE_NXZ @ 3294 NONAME ; bool QDeclarativeItem::wantsFocus(void) const
+ ?wantsFocusChanged@QDeclarativeItem@@IAEXXZ @ 3295 NONAME ; void QDeclarativeItem::wantsFocusChanged(void)
+ ?wheelEvent@QDeclarativeFlickable@@MAEXPAVQGraphicsSceneWheelEvent@@@Z @ 3296 NONAME ; void QDeclarativeFlickable::wheelEvent(class QGraphicsSceneWheelEvent *)
+ ?when@QDeclarativeBind@@QBE_NXZ @ 3297 NONAME ; bool QDeclarativeBind::when(void) const
+ ?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 3298 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const
+ ?width@QDeclarativeItem@@QBEMXZ @ 3299 NONAME ; float QDeclarativeItem::width(void) const
+ ?width@QDeclarativeParentChange@@QBEMXZ @ 3300 NONAME ; float QDeclarativeParentChange::width(void) const
+ ?width@QDeclarativePen@@QBEHXZ @ 3301 NONAME ; int QDeclarativePen::width(void) const
+ ?widthChange@QDeclarativeFlickable@@IAEXXZ @ 3302 NONAME ; void QDeclarativeFlickable::widthChange(void)
+ ?widthChanged@QDeclarativeItem@@IAEXXZ @ 3303 NONAME ; void QDeclarativeItem::widthChanged(void)
+ ?widthIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3304 NONAME ; bool QDeclarativeParentChange::widthIsSet(void) const
+ ?widthValid@QDeclarativeItem@@IBE_NXZ @ 3305 NONAME ; bool QDeclarativeItem::widthValid(void) const
+ ?window@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 3306 NONAME ; class QColor QDeclarativeSystemPalette::window(void) const
+ ?windowObjectCleared@QDeclarativeWebView@@AAEXXZ @ 3307 NONAME ; void QDeclarativeWebView::windowObjectCleared(void)
+ ?windowText@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 3308 NONAME ; class QColor QDeclarativeSystemPalette::windowText(void) const
+ ?wrap@QDeclarativeText@@QBE_NXZ @ 3309 NONAME ; bool QDeclarativeText::wrap(void) const
+ ?wrap@QDeclarativeTextEdit@@QBE_NXZ @ 3310 NONAME ; bool QDeclarativeTextEdit::wrap(void) const
+ ?wrapChanged@QDeclarativeText@@IAEX_N@Z @ 3311 NONAME ; void QDeclarativeText::wrapChanged(bool)
+ ?wrapChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 3312 NONAME ; void QDeclarativeTextEdit::wrapChanged(bool)
+ ?write@QDeclarativeBehavior@@UAEXABVQVariant@@@Z @ 3313 NONAME ; void QDeclarativeBehavior::write(class QVariant const &)
+ ?write@QDeclarativeProperty@@QBE_NABVQVariant@@@Z @ 3314 NONAME ; bool QDeclarativeProperty::write(class QVariant const &) const
+ ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@@Z @ 3315 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &)
+ ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 3316 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *)
+ ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeEngine@@@Z @ 3317 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeEngine *)
+ ?x@QDeclarativeCurve@@QBEMXZ @ 3318 NONAME ; float QDeclarativeCurve::x(void) const
+ ?x@QDeclarativeParentChange@@QBEMXZ @ 3319 NONAME ; float QDeclarativeParentChange::x(void) const
+ ?xAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3320 NONAME ; float QDeclarativeParticleMotionGravity::xAttractor(void) const
+ ?xIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3321 NONAME ; bool QDeclarativeParentChange::xIsSet(void) const
+ ?xToPos@QDeclarativeTextInput@@QAEHH@Z @ 3322 NONAME ; int QDeclarativeTextInput::xToPos(int)
+ ?xVariance@QDeclarativeParticleMotionWander@@QBEMXZ @ 3323 NONAME ; float QDeclarativeParticleMotionWander::xVariance(void) const
+ ?xattractorChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 3324 NONAME ; void QDeclarativeParticleMotionGravity::xattractorChanged(void)
+ ?xflick@QDeclarativeFlickable@@IBE_NXZ @ 3325 NONAME ; bool QDeclarativeFlickable::xflick(void) const
+ ?xmax@QDeclarativeDrag@@QBEMXZ @ 3326 NONAME ; float QDeclarativeDrag::xmax(void) const
+ ?xmin@QDeclarativeDrag@@QBEMXZ @ 3327 NONAME ; float QDeclarativeDrag::xmin(void) const
+ ?xml@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 3328 NONAME ; class QString QDeclarativeXmlListModel::xml(void) const
+ ?xvarianceChanged@QDeclarativeParticleMotionWander@@IAEXXZ @ 3329 NONAME ; void QDeclarativeParticleMotionWander::xvarianceChanged(void)
+ ?y@QDeclarativeCurve@@QBEMXZ @ 3330 NONAME ; float QDeclarativeCurve::y(void) const
+ ?y@QDeclarativeParentChange@@QBEMXZ @ 3331 NONAME ; float QDeclarativeParentChange::y(void) const
+ ?yAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3332 NONAME ; float QDeclarativeParticleMotionGravity::yAttractor(void) const
+ ?yIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3333 NONAME ; bool QDeclarativeParentChange::yIsSet(void) const
+ ?yVariance@QDeclarativeParticleMotionWander@@QBEMXZ @ 3334 NONAME ; float QDeclarativeParticleMotionWander::yVariance(void) const
+ ?yattractorChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 3335 NONAME ; void QDeclarativeParticleMotionGravity::yattractorChanged(void)
+ ?yflick@QDeclarativeFlickable@@IBE_NXZ @ 3336 NONAME ; bool QDeclarativeFlickable::yflick(void) const
+ ?ymax@QDeclarativeDrag@@QBEMXZ @ 3337 NONAME ; float QDeclarativeDrag::ymax(void) const
+ ?ymin@QDeclarativeDrag@@QBEMXZ @ 3338 NONAME ; float QDeclarativeDrag::ymin(void) const
+ ?yvarianceChanged@QDeclarativeParticleMotionWander@@IAEXXZ @ 3339 NONAME ; void QDeclarativeParticleMotionWander::yvarianceChanged(void)
+ ?zoomFactor@QDeclarativeWebView@@QBEMXZ @ 3340 NONAME ; float QDeclarativeWebView::zoomFactor(void) const
+ ?zoomFactorChanged@QDeclarativeWebView@@IAEXXZ @ 3341 NONAME ; void QDeclarativeWebView::zoomFactorChanged(void)
+ ?zoomTo@QDeclarativeWebView@@IAEXMHH@Z @ 3342 NONAME ; void QDeclarativeWebView::zoomTo(float, int, int)
+ ?staticMetaObject@QDeclarativePathElement@@2UQMetaObject@@B @ 3343 NONAME ; struct QMetaObject const QDeclarativePathElement::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 3344 NONAME ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject
+ ?staticMetaObject@QDeclarativeTextInput@@2UQMetaObject@@B @ 3345 NONAME ; struct QMetaObject const QDeclarativeTextInput::staticMetaObject
+ ?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 3346 NONAME ; struct QMetaObject const QDeclarativeListModel::staticMetaObject
+ ?staticMetaObject@QDeclarativeSpringFollow@@2UQMetaObject@@B @ 3347 NONAME ; struct QMetaObject const QDeclarativeSpringFollow::staticMetaObject
+ ?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 3348 NONAME ; struct QMetaObject const QDeclarativePen::staticMetaObject
+ ?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 3349 NONAME ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject
+ ?staticMetaObject@QDeclarativeItem@@2UQMetaObject@@B @ 3350 NONAME ; struct QMetaObject const QDeclarativeItem::staticMetaObject
+ ?staticMetaObject@QDeclarativeColumn@@2UQMetaObject@@B @ 3351 NONAME ; struct QMetaObject const QDeclarativeColumn::staticMetaObject
+ ?staticMetaObject@QDeclarativeGradient@@2UQMetaObject@@B @ 3352 NONAME ; struct QMetaObject const QDeclarativeGradient::staticMetaObject
+ ?staticMetaObject@QDeclarativeGraphicsObjectContainer@@2UQMetaObject@@B @ 3353 NONAME ; struct QMetaObject const QDeclarativeGraphicsObjectContainer::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugWatch@@2UQMetaObject@@B @ 3354 NONAME ; struct QMetaObject const QDeclarativeDebugWatch::staticMetaObject
+ ?staticMetaObject@QDeclarativeStateGroup@@2UQMetaObject@@B @ 3355 NONAME ; struct QMetaObject const QDeclarativeStateGroup::staticMetaObject
+ ?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 3356 NONAME ; struct QMetaObject const QPacketProtocol::staticMetaObject
+ ?staticMetaObject@QDeclarativeListView@@2UQMetaObject@@B @ 3357 NONAME ; struct QMetaObject const QDeclarativeListView::staticMetaObject
+ ?staticMetaObject@QDeclarativeLoader@@2UQMetaObject@@B @ 3358 NONAME ; struct QMetaObject const QDeclarativeLoader::staticMetaObject
+ ?staticMetaObject@QDeclarativeTransition@@2UQMetaObject@@B @ 3359 NONAME ; struct QMetaObject const QDeclarativeTransition::staticMetaObject
+ ?staticMetaObject@QDeclarativeStateChangeScript@@2UQMetaObject@@B @ 3360 NONAME ; struct QMetaObject const QDeclarativeStateChangeScript::staticMetaObject
+ ?staticMetaObject@QDeclarativeGridView@@2UQMetaObject@@B @ 3361 NONAME ; struct QMetaObject const QDeclarativeGridView::staticMetaObject
+ ?staticMetaObject@QDeclarativeFlow@@2UQMetaObject@@B @ 3362 NONAME ; struct QMetaObject const QDeclarativeFlow::staticMetaObject
+ ?staticMetaObject@QDeclarativeParentChange@@2UQMetaObject@@B @ 3363 NONAME ; struct QMetaObject const QDeclarativeParentChange::staticMetaObject
+ ?staticMetaObject@QDeclarativeCurve@@2UQMetaObject@@B @ 3364 NONAME ; struct QMetaObject const QDeclarativeCurve::staticMetaObject
+ ?staticMetaObject@QDeclarativeImage@@2UQMetaObject@@B @ 3365 NONAME ; struct QMetaObject const QDeclarativeImage::staticMetaObject
+ ?staticMetaObject@QDeclarativeEaseFollow@@2UQMetaObject@@B @ 3366 NONAME ; struct QMetaObject const QDeclarativeEaseFollow::staticMetaObject
+ ?staticMetaObject@QDeclarativePixmapReply@@2UQMetaObject@@B @ 3367 NONAME ; struct QMetaObject const QDeclarativePixmapReply::staticMetaObject
+ ?staticMetaObject@QDeclarativeDateTimeFormatter@@2UQMetaObject@@B @ 3368 NONAME ; struct QMetaObject const QDeclarativeDateTimeFormatter::staticMetaObject
+ ?staticMetaObject@QDeclarativePathQuad@@2UQMetaObject@@B @ 3369 NONAME ; struct QMetaObject const QDeclarativePathQuad::staticMetaObject
+ ?staticMetaObject@QDeclarativeContext@@2UQMetaObject@@B @ 3370 NONAME ; struct QMetaObject const QDeclarativeContext::staticMetaObject
+ ?staticMetaObject@QDeclarativeWebPage@@2UQMetaObject@@B @ 3371 NONAME ; struct QMetaObject const QDeclarativeWebPage::staticMetaObject
+ ?staticMetaObject@QDeclarativeAnchorChanges@@2UQMetaObject@@B @ 3372 NONAME ; struct QMetaObject const QDeclarativeAnchorChanges::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugService@@2UQMetaObject@@B @ 3373 NONAME ; struct QMetaObject const QDeclarativeDebugService::staticMetaObject
+ ?staticMetaObject@QDeclarativeEngine@@2UQMetaObject@@B @ 3374 NONAME ; struct QMetaObject const QDeclarativeEngine::staticMetaObject
+ ?staticMetaObject@QDeclarativeFlickable@@2UQMetaObject@@B @ 3375 NONAME ; struct QMetaObject const QDeclarativeFlickable::staticMetaObject
+ ?staticMetaObject@QDeclarativeParticleMotionGravity@@2UQMetaObject@@B @ 3376 NONAME ; struct QMetaObject const QDeclarativeParticleMotionGravity::staticMetaObject
+ ?staticMetaObject@QDeclarativePathCubic@@2UQMetaObject@@B @ 3377 NONAME ; struct QMetaObject const QDeclarativePathCubic::staticMetaObject
+ ?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 3378 NONAME ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject
+ ?staticMetaObject@QDeclarativeRepeater@@2UQMetaObject@@B @ 3379 NONAME ; struct QMetaObject const QDeclarativeRepeater::staticMetaObject
+ ?staticMetaObject@QDeclarativeVisualModel@@2UQMetaObject@@B @ 3380 NONAME ; struct QMetaObject const QDeclarativeVisualModel::staticMetaObject
+ ?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 3381 NONAME ; struct QMetaObject const QDeclarativeText::staticMetaObject
+ ?staticMetaObject@QDeclarativeExtensionPlugin@@2UQMetaObject@@B @ 3382 NONAME ; struct QMetaObject const QDeclarativeExtensionPlugin::staticMetaObject
+ ?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 3383 NONAME ; struct QMetaObject const QDeclarativeValueType::staticMetaObject
+ ?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 3384 NONAME ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject
+ ?staticMetaObject@QDeclarativeWebView@@2UQMetaObject@@B @ 3385 NONAME ; struct QMetaObject const QDeclarativeWebView::staticMetaObject
+ ?staticMetaObject@QDeclarativeRow@@2UQMetaObject@@B @ 3386 NONAME ; struct QMetaObject const QDeclarativeRow::staticMetaObject
+ ?staticMetaObject@QDeclarativeGrid@@2UQMetaObject@@B @ 3387 NONAME ; struct QMetaObject const QDeclarativeGrid::staticMetaObject
+ ?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 3388 NONAME ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject
+ ?staticMetaObject@QDeclarativeConnections@@2UQMetaObject@@B @ 3389 NONAME ; struct QMetaObject const QDeclarativeConnections::staticMetaObject
+ ?staticMetaObject@QDeclarativePathLine@@2UQMetaObject@@B @ 3390 NONAME ; struct QMetaObject const QDeclarativePathLine::staticMetaObject
+ ?staticMetaObject@QDeclarativePaintedItem@@2UQMetaObject@@B @ 3391 NONAME ; struct QMetaObject const QDeclarativePaintedItem::staticMetaObject
+ ?staticMetaObject@QDeclarativePropertyChanges@@2UQMetaObject@@B @ 3392 NONAME ; struct QMetaObject const QDeclarativePropertyChanges::staticMetaObject
+ ?staticMetaObject@QDeclarativeGradientStop@@2UQMetaObject@@B @ 3393 NONAME ; struct QMetaObject const QDeclarativeGradientStop::staticMetaObject
+ ?staticMetaObject@QDeclarativeImageBase@@2UQMetaObject@@B @ 3394 NONAME ; struct QMetaObject const QDeclarativeImageBase::staticMetaObject
+ ?staticMetaObject@QDeclarativeTimer@@2UQMetaObject@@B @ 3395 NONAME ; struct QMetaObject const QDeclarativeTimer::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 3396 NONAME ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject
+ ?staticMetaObject@QDeclarativeMouseArea@@2UQMetaObject@@B @ 3397 NONAME ; struct QMetaObject const QDeclarativeMouseArea::staticMetaObject
+ ?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 3398 NONAME ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject
+ ?staticMetaObject@QDeclarativePropertyMap@@2UQMetaObject@@B @ 3399 NONAME ; struct QMetaObject const QDeclarativePropertyMap::staticMetaObject
+ ?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 3400 NONAME ; struct QMetaObject const QListModelInterface::staticMetaObject
+ ?staticMetaObject@QDeclarativePathAttribute@@2UQMetaObject@@B @ 3401 NONAME ; struct QMetaObject const QDeclarativePathAttribute::staticMetaObject
+ ?staticMetaObject@QDeclarativeVisualItemModel@@2UQMetaObject@@B @ 3402 NONAME ; struct QMetaObject const QDeclarativeVisualItemModel::staticMetaObject
+ ?staticMetaObject@QDeclarativeBind@@2UQMetaObject@@B @ 3403 NONAME ; struct QMetaObject const QDeclarativeBind::staticMetaObject
+ ?staticMetaObject@QDeclarativeAnimatedImage@@2UQMetaObject@@B @ 3404 NONAME ; struct QMetaObject const QDeclarativeAnimatedImage::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 3405 NONAME ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject
+ ?attachedProperties@QDeclarativePathView@@0V?$QHash@PAVQObject@@PAV1@@@A @ 3406 NONAME ; class QHash<class QObject *, class QObject *> QDeclarativePathView::attachedProperties
+ ?staticMetaObject@QDeclarativeParticles@@2UQMetaObject@@B @ 3407 NONAME ; struct QMetaObject const QDeclarativeParticles::staticMetaObject
+ ?staticMetaObject@QDeclarativePath@@2UQMetaObject@@B @ 3408 NONAME ; struct QMetaObject const QDeclarativePath::staticMetaObject
+ ?staticMetaObject@QDeclarativeTextEdit@@2UQMetaObject@@B @ 3409 NONAME ; struct QMetaObject const QDeclarativeTextEdit::staticMetaObject
+ ?staticMetaObject@QDeclarativePathPercent@@2UQMetaObject@@B @ 3410 NONAME ; struct QMetaObject const QDeclarativePathPercent::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugObjectExpressionWatch@@2UQMetaObject@@B @ 3411 NONAME ; struct QMetaObject const QDeclarativeDebugObjectExpressionWatch::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 3412 NONAME ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject
+ ?staticMetaObject@QDeclarativeFlipable@@2UQMetaObject@@B @ 3413 NONAME ; struct QMetaObject const QDeclarativeFlipable::staticMetaObject
+ ?staticMetaObject@QDeclarativeBasePositioner@@2UQMetaObject@@B @ 3414 NONAME ; struct QMetaObject const QDeclarativeBasePositioner::staticMetaObject
+ ?staticMetaObject@QDeclarativeState@@2UQMetaObject@@B @ 3415 NONAME ; struct QMetaObject const QDeclarativeState::staticMetaObject
+ ?staticMetaObject@QDeclarativeParticleMotionWander@@2UQMetaObject@@B @ 3416 NONAME ; struct QMetaObject const QDeclarativeParticleMotionWander::staticMetaObject
+ ?staticMetaObject@QDeclarativePathView@@2UQMetaObject@@B @ 3417 NONAME ; struct QMetaObject const QDeclarativePathView::staticMetaObject
+ ?staticMetaObject@QDeclarativeExpression@@2UQMetaObject@@B @ 3418 NONAME ; struct QMetaObject const QDeclarativeExpression::staticMetaObject
+ ?staticMetaObject@QDeclarativeView@@2UQMetaObject@@B @ 3419 NONAME ; struct QMetaObject const QDeclarativeView::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 3420 NONAME ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 3421 NONAME ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject
+ ?staticMetaObject@QDeclarativeStateOperation@@2UQMetaObject@@B @ 3422 NONAME ; struct QMetaObject const QDeclarativeStateOperation::staticMetaObject
+ ?staticMetaObject@QDeclarativeVisualDataModel@@2UQMetaObject@@B @ 3423 NONAME ; struct QMetaObject const QDeclarativeVisualDataModel::staticMetaObject
+ ?staticMetaObject@QDeclarativeNumberFormatter@@2UQMetaObject@@B @ 3424 NONAME ; struct QMetaObject const QDeclarativeNumberFormatter::staticMetaObject
+ ?staticMetaObject@QDeclarativeParticleMotionLinear@@2UQMetaObject@@B @ 3425 NONAME ; struct QMetaObject const QDeclarativeParticleMotionLinear::staticMetaObject
+ ?staticMetaObject@QDeclarativeFontLoader@@2UQMetaObject@@B @ 3426 NONAME ; struct QMetaObject const QDeclarativeFontLoader::staticMetaObject
+ ?staticMetaObject@QDeclarativeSystemPalette@@2UQMetaObject@@B @ 3427 NONAME ; struct QMetaObject const QDeclarativeSystemPalette::staticMetaObject
+ ?staticMetaObject@QDeclarativeParticleMotion@@2UQMetaObject@@B @ 3428 NONAME ; struct QMetaObject const QDeclarativeParticleMotion::staticMetaObject
+ ?staticMetaObject@QDeclarativeViewSection@@2UQMetaObject@@B @ 3429 NONAME ; struct QMetaObject const QDeclarativeViewSection::staticMetaObject
+ ?staticMetaObject@QDeclarativeXmlListModelRole@@2UQMetaObject@@B @ 3430 NONAME ; struct QMetaObject const QDeclarativeXmlListModelRole::staticMetaObject
+ ?staticMetaObject@QDeclarativeXmlListModel@@2UQMetaObject@@B @ 3431 NONAME ; struct QMetaObject const QDeclarativeXmlListModel::staticMetaObject
+ ?staticMetaObject@QDeclarativeBorderImage@@2UQMetaObject@@B @ 3432 NONAME ; struct QMetaObject const QDeclarativeBorderImage::staticMetaObject
+ ?staticMetaObject@QDeclarativeFocusPanel@@2UQMetaObject@@B @ 3433 NONAME ; struct QMetaObject const QDeclarativeFocusPanel::staticMetaObject
+ ?staticMetaObject@QDeclarativeFocusScope@@2UQMetaObject@@B @ 3434 NONAME ; struct QMetaObject const QDeclarativeFocusScope::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugQuery@@2UQMetaObject@@B @ 3435 NONAME ; struct QMetaObject const QDeclarativeDebugQuery::staticMetaObject
+ ?staticMetaObject@QDeclarativeDrag@@2UQMetaObject@@B @ 3436 NONAME ; struct QMetaObject const QDeclarativeDrag::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 3437 NONAME ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject
+ ?staticMetaObject@QDeclarativeComponent@@2UQMetaObject@@B @ 3438 NONAME ; struct QMetaObject const QDeclarativeComponent::staticMetaObject
+ ??0QDeclarativeAbstractBinding@@QAE@XZ @ 3439 NONAME ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void)
+ ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 3440 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *)
+ ??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContext@@ABVQString@@H2@Z @ 3441 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContext *, class QString const &, int, class QObject *)
+ ??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 3442 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &)
+ ??0QDeclarativePropertyPrivate@@QAE@XZ @ 3443 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void)
+ ??1QDeclarativeAbstractBinding@@UAE@XZ @ 3444 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void)
+ ??1QDeclarativeBinding@@UAE@XZ @ 3445 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void)
+ ??1QDeclarativePropertyPrivate@@QAE@XZ @ 3446 NONAME ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void)
+ ??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 3447 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int)
+ ??_EQDeclarativeBinding@@UAE@I@Z @ 3448 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int)
+ ?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 3449 NONAME ; void QDeclarativeAbstractBinding::addToObject(class QObject *)
+ ?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 3450 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &)
+ ?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 3451 NONAME ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *)
+ ?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 3452 NONAME ; void QDeclarativeAbstractBinding::clear(void)
+ ?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 3453 NONAME ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void)
+ ?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 3454 NONAME ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const
+ ?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 3455 NONAME ; void QDeclarativeAbstractBinding::destroy(void)
+ ?enabled@QDeclarativeBinding@@QBE_NXZ @ 3456 NONAME ; bool QDeclarativeBinding::enabled(void) const
+ ?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 3457 NONAME ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *)
+ ?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 3458 NONAME ; class QString QDeclarativeAbstractBinding::expression(void) const
+ ?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 3459 NONAME ; class QString QDeclarativeBinding::expression(void) const
+ ?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 3460 NONAME ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void)
+ ?initDefault@QDeclarativePropertyPrivate@@QAEXPAVQObject@@@Z @ 3461 NONAME ; void QDeclarativePropertyPrivate::initDefault(class QObject *)
+ ?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 3462 NONAME ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &)
+ ?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 3463 NONAME ; bool QDeclarativePropertyPrivate::isValueType(void) const
+ ?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 3464 NONAME ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const
+ ?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 3465 NONAME ; class QDeclarativeProperty QDeclarativeBinding::property(void) const
+ ?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 3466 NONAME ; int QDeclarativeBinding::propertyIndex(void)
+ ?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 3467 NONAME ; int QDeclarativePropertyPrivate::propertyType(void) const
+ ?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 3468 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const
+ ?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3469 NONAME ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 3470 NONAME ; void * QDeclarativeBinding::qt_metacast(char const *)
+ ?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 3471 NONAME ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int)
+ ?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 3472 NONAME ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void)
+ ?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 3473 NONAME ; void QDeclarativeAbstractBinding::removeFromObject(void)
+ ?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContext@@@Z @ 3474 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContext *)
+ ?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 3475 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int)
+ ?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 3476 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int)
+ ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3477 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@ABUData@QDeclarativePropertyCache@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3478 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, struct QDeclarativePropertyCache::Data const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 3479 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool)
+ ?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3480 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3481 NONAME ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 3482 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *)
+ ?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 3483 NONAME ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &)
+ ?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 3484 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &)
+ ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 3485 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *)
+ ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 3486 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 3487 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 3488 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int)
+ ?update@QDeclarativeAbstractBinding@@QAEXXZ @ 3489 NONAME ; void QDeclarativeAbstractBinding::update(void)
+ ?update@QDeclarativeBinding@@QAEXXZ @ 3490 NONAME ; void QDeclarativeBinding::update(void)
+ ?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3491 NONAME ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 3492 NONAME ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &)
+ ?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3493 NONAME ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContext@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3494 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContext *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 3495 NONAME ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int)
+ ?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3496 NONAME ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 3497 NONAME ; struct QMetaObject const QDeclarativeBinding::staticMetaObject
+
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index 4f30cb5811..93791638fd 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -3961,7 +3961,7 @@ EXPORTS
?drawPixmap@QPainter@@QAEXHHABVQPixmap@@HHHH@Z @ 3960 NONAME ; void QPainter::drawPixmap(int, int, class QPixmap const &, int, int, int, int)
?drawPixmap@QPainter@@QAEXHHHHABVQPixmap@@@Z @ 3961 NONAME ; void QPainter::drawPixmap(int, int, int, int, class QPixmap const &)
?drawPixmap@QPainter@@QAEXHHHHABVQPixmap@@HHHH@Z @ 3962 NONAME ; void QPainter::drawPixmap(int, int, int, int, class QPixmap const &, int, int, int, int)
- ?drawPixmaps@QPaintEngineEx@@UAEXPBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 3963 NONAME ; void QPaintEngineEx::drawPixmaps(struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
+ ?drawPixmaps@QPaintEngineEx@@UAEXPBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 3963 NONAME ABSENT ; void QPaintEngineEx::drawPixmaps(struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
?drawPoint@QPainter@@QAEXABVQPoint@@@Z @ 3964 NONAME ; void QPainter::drawPoint(class QPoint const &)
?drawPoint@QPainter@@QAEXABVQPointF@@@Z @ 3965 NONAME ; void QPainter::drawPoint(class QPointF const &)
?drawPoint@QPainter@@QAEXHH@Z @ 3966 NONAME ; void QPainter::drawPoint(int, int)
@@ -7291,7 +7291,7 @@ EXPORTS
?polishEvent@QGraphicsWidget@@MAEXXZ @ 7290 NONAME ; void QGraphicsWidget::polishEvent(void)
?polygon@QGraphicsPolygonItem@@QBE?AVQPolygonF@@XZ @ 7291 NONAME ; class QPolygonF QGraphicsPolygonItem::polygon(void) const
?polygonFlags@QVectorPath@@SAIW4PolygonDrawMode@QPaintEngine@@@Z @ 7292 NONAME ; unsigned int QVectorPath::polygonFlags(enum QPaintEngine::PolygonDrawMode)
- ?populate@QTextureGlyphCache@@QAEXABVQTextItemInt@@ABV?$QVarLengthArray@I$0BAA@@@ABV?$QVarLengthArray@UQFixedPoint@@$0BAA@@@@Z @ 7293 NONAME ; void QTextureGlyphCache::populate(class QTextItemInt const &, class QVarLengthArray<unsigned int, 256> const &, class QVarLengthArray<struct QFixedPoint, 256> const &)
+ ?populate@QTextureGlyphCache@@QAEXABVQTextItemInt@@ABV?$QVarLengthArray@I$0BAA@@@ABV?$QVarLengthArray@UQFixedPoint@@$0BAA@@@@Z @ 7293 NONAME ABSENT ; void QTextureGlyphCache::populate(class QTextItemInt const &, class QVarLengthArray<unsigned int, 256> const &, class QVarLengthArray<struct QFixedPoint, 256> const &)
?popup@QCompleter@@QBEPAVQAbstractItemView@@XZ @ 7294 NONAME ; class QAbstractItemView * QCompleter::popup(void) const
?popup@QMenu@@QAEXABVQPoint@@PAVQAction@@@Z @ 7295 NONAME ; void QMenu::popup(class QPoint const &, class QAction *)
?popupMode@QToolButton@@QBE?AW4ToolButtonPopupMode@1@XZ @ 7296 NONAME ; enum QToolButton::ToolButtonPopupMode QToolButton::popupMode(void) const
@@ -7389,7 +7389,7 @@ EXPORTS
?qAlpha@@YAHI@Z @ 7388 NONAME ; int qAlpha(unsigned int)
?qBlue@@YAHI@Z @ 7389 NONAME ; int qBlue(unsigned int)
?qDrawBorderPixmap@@YAXPAVQPainter@@ABVQRect@@ABVQMargins@@ABVQPixmap@@12ABUQTileRules@@V?$QFlags@W4DrawingHint@QDrawBorderPixmap@@@@@Z @ 7390 NONAME ; void qDrawBorderPixmap(class QPainter *, class QRect const &, class QMargins const &, class QPixmap const &, class QRect const &, class QMargins const &, struct QTileRules const &, class QFlags<enum QDrawBorderPixmap::DrawingHint>)
- ?qDrawPixmaps@@YAXPAVQPainter@@PBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 7391 NONAME ; void qDrawPixmaps(class QPainter *, struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
+ ?qDrawPixmaps@@YAXPAVQPainter@@PBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 7391 NONAME ABSENT ; void qDrawPixmaps(class QPainter *, struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
?qDrawPlainRect@@YAXPAVQPainter@@ABVQRect@@ABVQColor@@HPBVQBrush@@@Z @ 7392 NONAME ; void qDrawPlainRect(class QPainter *, class QRect const &, class QColor const &, int, class QBrush const *)
?qDrawPlainRect@@YAXPAVQPainter@@HHHHABVQColor@@HPBVQBrush@@@Z @ 7393 NONAME ; void qDrawPlainRect(class QPainter *, int, int, int, int, class QColor const &, int, class QBrush const *)
?qDrawShadeLine@@YAXPAVQPainter@@ABVQPoint@@1ABVQPalette@@_NHH@Z @ 7394 NONAME ; void qDrawShadeLine(class QPainter *, class QPoint const &, class QPoint const &, class QPalette const &, bool, int, int)
@@ -12601,4 +12601,125 @@ EXPORTS
?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12600 NONAME ABSENT ; void QEglProperties::setPixelFormat(enum QImage::Format)
?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12601 NONAME ABSENT ; class QEglContext * QEglContext::currentContext(enum QEgl::API)
?errorString@QEglContext@@SA?AVQString@@H@Z @ 12602 NONAME ABSENT ; class QString QEglContext::errorString(int)
+ ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12603 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &)
+ ??0FileInfo@QZipReader@@QAE@XZ @ 12604 NONAME ; QZipReader::FileInfo::FileInfo(void)
+ ??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12605 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void)
+ ??0QGraphicsViewPrivate@@QAE@XZ @ 12606 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void)
+ ??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12607 NONAME ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat)
+ ??0QStaticText@@QAE@ABV0@@Z @ 12608 NONAME ; QStaticText::QStaticText(class QStaticText const &)
+ ??0QStaticText@@QAE@ABVQString@@ABVQSizeF@@@Z @ 12609 NONAME ; QStaticText::QStaticText(class QString const &, class QSizeF const &)
+ ??0QStaticText@@QAE@XZ @ 12610 NONAME ; QStaticText::QStaticText(void)
+ ??0QStaticTextItem@@QAE@XZ @ 12611 NONAME ; QStaticTextItem::QStaticTextItem(void)
+ ??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12612 NONAME ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12613 NONAME ; QZipReader::QZipReader(class QIODevice *)
+ ??1FileInfo@QZipReader@@QAE@XZ @ 12614 NONAME ; QZipReader::FileInfo::~FileInfo(void)
+ ??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12615 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void)
+ ??1QGraphicsViewPrivate@@UAE@XZ @ 12616 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void)
+ ??1QStaticText@@QAE@XZ @ 12617 NONAME ; QStaticText::~QStaticText(void)
+ ??1QStaticTextItem@@QAE@XZ @ 12618 NONAME ; QStaticTextItem::~QStaticTextItem(void)
+ ??1QZipReader@@QAE@XZ @ 12619 NONAME ; QZipReader::~QZipReader(void)
+ ??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12620 NONAME ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &)
+ ??4QStaticText@@QAEAAV0@ABV0@@Z @ 12621 NONAME ; class QStaticText & QStaticText::operator=(class QStaticText const &)
+ ??8QStaticText@@QBE_NABV0@@Z @ 12622 NONAME ; bool QStaticText::operator==(class QStaticText const &) const
+ ??9QStaticText@@QBE_NABV0@@Z @ 12623 NONAME ; bool QStaticText::operator!=(class QStaticText const &) const
+ ??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12624 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int)
+ ??_EQGraphicsViewPrivate@@UAE@I@Z @ 12625 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int)
+ ?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12626 NONAME ; void QAbstractScrollAreaPrivate::_q_hslide(int)
+ ?_q_setViewportCursor@QGraphicsViewPrivate@@QAEXABVQCursor@@@Z @ 12627 NONAME ; void QGraphicsViewPrivate::_q_setViewportCursor(class QCursor const &)
+ ?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12628 NONAME ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void)
+ ?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12629 NONAME ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void)
+ ?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12630 NONAME ; void QAbstractScrollAreaPrivate::_q_vslide(int)
+ ?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12631 NONAME ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int)
+ ?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12632 NONAME ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const
+ ?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12633 NONAME ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat)
+ ?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12634 NONAME ; bool QGraphicsWidget::autoFillBackground(void) const
+ ?canKeypadNavigate@QWidgetPrivate@@SA_NW4Orientation@Qt@@@Z @ 12635 NONAME ; bool QWidgetPrivate::canKeypadNavigate(enum Qt::Orientation)
+ ?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12636 NONAME ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor)
+ ?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12637 NONAME ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks)
+ ?close@QZipReader@@QAEXXZ @ 12638 NONAME ; void QZipReader::close(void)
+ ?constBits@QImage@@QBEPBEXZ @ 12639 NONAME ; unsigned char const * QImage::constBits(void) const
+ ?constScanLine@QImage@@QBEPBEH@Z @ 12640 NONAME ; unsigned char const * QImage::constScanLine(int) const
+ ?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12641 NONAME ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const
+ ?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12642 NONAME ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?count@QZipReader@@QBEHXZ @ 12643 NONAME ; int QZipReader::count(void) const
+ ?create@Fragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12644 NONAME ; class QPainter::Fragment QPainter::Fragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
+ ?detach@QStaticText@@AAEXXZ @ 12645 NONAME ; void QStaticText::detach(void)
+ ?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12646 NONAME ; void QFileSystemModel::directoryLoaded(class QString const &)
+ ?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12647 NONAME ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void)
+ ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12648 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>)
+ ?drawPixmapFragments@QPainter@@QAEXPBVFragment@1@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12649 NONAME ; void QPainter::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>)
+ ?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12650 NONAME ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &)
+ ?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12651 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
+ ?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12652 NONAME ; void QPainter::drawStaticText(int, int, class QStaticText const &)
+ ?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12653 NONAME ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const
+ ?exists@QZipReader@@QBE_NXZ @ 12654 NONAME ; bool QZipReader::exists(void) const
+ ?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12655 NONAME ; bool QZipReader::extractAll(class QString const &) const
+ ?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12656 NONAME ; class QByteArray QZipReader::fileData(class QString const &) const
+ ?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12657 NONAME ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const
+ ?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12658 NONAME ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const
+ ?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12659 NONAME ; void QIntValidator::fixup(class QString &) const
+ ?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12660 NONAME ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *)
+ ?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12661 NONAME ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape)
+ ?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12662 NONAME ; class QBezier QBezier::getSubRange(float, float) const
+ ?hasSelectedText@QLabel@@QBE_NXZ @ 12663 NONAME ; bool QLabel::hasSelectedText(void) const
+ ?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12664 NONAME ; long long QGraphicsViewPrivate::horizontalScroll(void) const
+ ?inTabWidget@QWidgetPrivate@@SA_NPAVQWidget@@@Z @ 12665 NONAME ; bool QWidgetPrivate::inTabWidget(class QWidget *)
+ ?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12666 NONAME ; void QAbstractScrollAreaPrivate::init(void)
+ ?isImageCached@QImagePixmapCleanupHooks@@SA_NABVQImage@@@Z @ 12667 NONAME ; bool QImagePixmapCleanupHooks::isImageCached(class QImage const &)
+ ?isPixmapCached@QImagePixmapCleanupHooks@@SA_NABVQPixmap@@@Z @ 12668 NONAME ; bool QImagePixmapCleanupHooks::isPixmapCached(class QPixmap const &)
+ ?isReadable@QZipReader@@QBE_NXZ @ 12669 NONAME ; bool QZipReader::isReadable(void) const
+ ?isValidColor@QColor@@SA_NABVQString@@@Z @ 12670 NONAME ; bool QColor::isValidColor(class QString const &)
+ ?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12671 NONAME ; void QAbstractScrollAreaPrivate::layoutChildren(void)
+ ?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12672 NONAME ; class QBezier QBezier::mapBy(class QTransform const &) const
+ ?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12673 NONAME ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const
+ ?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12674 NONAME ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const
+ ?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12675 NONAME ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const
+ ?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12676 NONAME ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const
+ ?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12677 NONAME ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const
+ ?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12678 NONAME ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const
+ ?maximumSize@QStaticText@@QBE?AVQSizeF@@XZ @ 12679 NONAME ; class QSizeF QStaticText::maximumSize(void) const
+ ?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12680 NONAME ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *)
+ ?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12681 NONAME ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const
+ ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12682 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
+ ?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12683 NONAME ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *)
+ ?positionInBlock@QTextCursor@@QBEHXZ @ 12684 NONAME ; int QTextCursor::positionInBlock(void) const
+ ?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12685 NONAME ; void QStaticText::prepare(class QTransform const &, class QFont const &)
+ ?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12686 NONAME ; void QGraphicsViewPrivate::processPendingUpdates(void)
+ ?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12687 NONAME ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void)
+ ?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12688 NONAME ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const
+ ?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12689 NONAME ; class QGraphicsView * QGraphicsViewPrivate::q_func(void)
+ ?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12690 NONAME ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const
+ ?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12691 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
+ ?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12692 NONAME ; void QGraphicsViewPrivate::recalculateContentSize(void)
+ ?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12693 NONAME ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool)
+ ?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12694 NONAME ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation)
+ ?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12695 NONAME ; void QGraphicsViewPrivate::replayLastMouseEvent(void)
+ ?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12696 NONAME ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const
+ ?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12697 NONAME ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy)
+ ?selectedText@QLabel@@QBE?AVQString@@XZ @ 12698 NONAME ; class QString QLabel::selectedText(void) const
+ ?selectionStart@QLabel@@QBEHXZ @ 12699 NONAME ; int QLabel::selectionStart(void) const
+ ?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12700 NONAME ; void QGraphicsWidget::setAutoFillBackground(bool)
+ ?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12701 NONAME ; bool QColor::setColorFromString(class QString const &)
+ ?setMaximumSize@QStaticText@@QAEXABVQSizeF@@@Z @ 12702 NONAME ; void QStaticText::setMaximumSize(class QSizeF const &)
+ ?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12703 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
+ ?setSelection@QLabel@@QAEXHH@Z @ 12704 NONAME ; void QLabel::setSelection(int, int)
+ ?setText@QStaticText@@QAEXABVQString@@@Z @ 12705 NONAME ; void QStaticText::setText(class QString const &)
+ ?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12706 NONAME ; void QStaticText::setTextFormat(enum Qt::TextFormat)
+ ?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12707 NONAME ; void QStaticTextItem::setUserData(class QStaticTextUserData *)
+ ?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12708 NONAME ; class QSizeF QStaticText::size(void) const
+ ?status@QZipReader@@QBE?AW4Status@1@XZ @ 12709 NONAME ; enum QZipReader::Status QZipReader::status(void) const
+ ?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12710 NONAME ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *)
+ ?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12711 NONAME ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *)
+ ?text@QStaticText@@QBE?AVQString@@XZ @ 12712 NONAME ; class QString QStaticText::text(void) const
+ ?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12713 NONAME ; enum Qt::TextFormat QStaticText::textFormat(void) const
+ ?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12714 NONAME ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *)
+ ?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12715 NONAME ; void QGraphicsViewPrivate::updateAll(void)
+ ?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12716 NONAME ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void)
+ ?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12717 NONAME ; void QGraphicsViewPrivate::updateLastCenterPoint(void)
+ ?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12718 NONAME ; bool QGraphicsViewPrivate::updateRect(class QRect const &)
+ ?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRegion@@@Z @ 12719 NONAME ; bool QGraphicsViewPrivate::updateRegion(class QRegion const &)
+ ?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12720 NONAME ; void QGraphicsViewPrivate::updateScroll(void)
+ ?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12721 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const
+ ?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12722 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *)
+ ?visibilityChanged@QToolBar@@IAEX_N@Z @ 12723 NONAME ; void QToolBar::visibilityChanged(bool)
diff --git a/src/s60installs/bwins/QtMultimediau.def b/src/s60installs/bwins/QtMultimediau.def
index 58532ce6bd..629db3304e 100644
--- a/src/s60installs/bwins/QtMultimediau.def
+++ b/src/s60installs/bwins/QtMultimediau.def
@@ -268,4 +268,655 @@ EXPORTS
?staticMetaObject@QAbstractAudioOutput@@2UQMetaObject@@B @ 267 NONAME ; struct QMetaObject const QAbstractAudioOutput::staticMetaObject
?staticMetaObject@QAudioOutput@@2UQMetaObject@@B @ 268 NONAME ; struct QMetaObject const QAudioOutput::staticMetaObject
?staticMetaObject@QAbstractAudioInput@@2UQMetaObject@@B @ 269 NONAME ; struct QMetaObject const QAbstractAudioInput::staticMetaObject
+ ??0QGraphicsVideoItem@@QAE@PAVQGraphicsItem@@@Z @ 270 NONAME ; QGraphicsVideoItem::QGraphicsVideoItem(class QGraphicsItem *)
+ ??0QLocalMediaPlaylistProvider@@QAE@PAVQObject@@@Z @ 271 NONAME ; QLocalMediaPlaylistProvider::QLocalMediaPlaylistProvider(class QObject *)
+ ??0QMediaContent@@QAE@ABV0@@Z @ 272 NONAME ; QMediaContent::QMediaContent(class QMediaContent const &)
+ ??0QMediaContent@@QAE@ABV?$QList@VQMediaResource@@@@@Z @ 273 NONAME ; QMediaContent::QMediaContent(class QList<class QMediaResource> const &)
+ ??0QMediaContent@@QAE@ABVQMediaResource@@@Z @ 274 NONAME ; QMediaContent::QMediaContent(class QMediaResource const &)
+ ??0QMediaContent@@QAE@ABVQNetworkRequest@@@Z @ 275 NONAME ; QMediaContent::QMediaContent(class QNetworkRequest const &)
+ ??0QMediaContent@@QAE@ABVQUrl@@@Z @ 276 NONAME ; QMediaContent::QMediaContent(class QUrl const &)
+ ??0QMediaContent@@QAE@XZ @ 277 NONAME ; QMediaContent::QMediaContent(void)
+ ??0QMediaControl@@IAE@AAVQMediaControlPrivate@@PAVQObject@@@Z @ 278 NONAME ; QMediaControl::QMediaControl(class QMediaControlPrivate &, class QObject *)
+ ??0QMediaControl@@IAE@PAVQObject@@@Z @ 279 NONAME ; QMediaControl::QMediaControl(class QObject *)
+ ??0QMediaObject@@IAE@AAVQMediaObjectPrivate@@PAVQObject@@PAVQMediaService@@@Z @ 280 NONAME ; QMediaObject::QMediaObject(class QMediaObjectPrivate &, class QObject *, class QMediaService *)
+ ??0QMediaObject@@IAE@PAVQObject@@PAVQMediaService@@@Z @ 281 NONAME ; QMediaObject::QMediaObject(class QObject *, class QMediaService *)
+ ??0QMediaPlayer@@QAE@PAVQObject@@V?$QFlags@W4Flag@QMediaPlayer@@@@PAVQMediaServiceProvider@@@Z @ 282 NONAME ; QMediaPlayer::QMediaPlayer(class QObject *, class QFlags<enum QMediaPlayer::Flag>, class QMediaServiceProvider *)
+ ??0QMediaPlayerControl@@IAE@PAVQObject@@@Z @ 283 NONAME ; QMediaPlayerControl::QMediaPlayerControl(class QObject *)
+ ??0QMediaPlaylist@@QAE@PAVQObject@@@Z @ 284 NONAME ; QMediaPlaylist::QMediaPlaylist(class QObject *)
+ ??0QMediaPlaylistControl@@IAE@PAVQObject@@@Z @ 285 NONAME ; QMediaPlaylistControl::QMediaPlaylistControl(class QObject *)
+ ??0QMediaPlaylistIOPlugin@@QAE@PAVQObject@@@Z @ 286 NONAME ; QMediaPlaylistIOPlugin::QMediaPlaylistIOPlugin(class QObject *)
+ ??0QMediaPlaylistNavigator@@QAE@PAVQMediaPlaylistProvider@@PAVQObject@@@Z @ 287 NONAME ; QMediaPlaylistNavigator::QMediaPlaylistNavigator(class QMediaPlaylistProvider *, class QObject *)
+ ??0QMediaPlaylistProvider@@IAE@AAVQMediaPlaylistProviderPrivate@@PAVQObject@@@Z @ 288 NONAME ; QMediaPlaylistProvider::QMediaPlaylistProvider(class QMediaPlaylistProviderPrivate &, class QObject *)
+ ??0QMediaPlaylistProvider@@QAE@PAVQObject@@@Z @ 289 NONAME ; QMediaPlaylistProvider::QMediaPlaylistProvider(class QObject *)
+ ??0QMediaResource@@QAE@ABV0@@Z @ 290 NONAME ; QMediaResource::QMediaResource(class QMediaResource const &)
+ ??0QMediaResource@@QAE@ABVQNetworkRequest@@ABVQString@@@Z @ 291 NONAME ; QMediaResource::QMediaResource(class QNetworkRequest const &, class QString const &)
+ ??0QMediaResource@@QAE@ABVQUrl@@ABVQString@@@Z @ 292 NONAME ; QMediaResource::QMediaResource(class QUrl const &, class QString const &)
+ ??0QMediaResource@@QAE@XZ @ 293 NONAME ; QMediaResource::QMediaResource(void)
+ ??0QMediaService@@IAE@AAVQMediaServicePrivate@@PAVQObject@@@Z @ 294 NONAME ; QMediaService::QMediaService(class QMediaServicePrivate &, class QObject *)
+ ??0QMediaService@@IAE@PAVQObject@@@Z @ 295 NONAME ; QMediaService::QMediaService(class QObject *)
+ ??0QMediaServiceProviderHint@@QAE@ABV0@@Z @ 296 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QMediaServiceProviderHint const &)
+ ??0QMediaServiceProviderHint@@QAE@ABVQByteArray@@@Z @ 297 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QByteArray const &)
+ ??0QMediaServiceProviderHint@@QAE@ABVQString@@ABVQStringList@@@Z @ 298 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QString const &, class QStringList const &)
+ ??0QMediaServiceProviderHint@@QAE@V?$QFlags@W4Feature@QMediaServiceProviderHint@@@@@Z @ 299 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QFlags<enum QMediaServiceProviderHint::Feature>)
+ ??0QMediaServiceProviderHint@@QAE@XZ @ 300 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(void)
+ ??0QMediaTimeInterval@@QAE@ABV0@@Z @ 301 NONAME ; QMediaTimeInterval::QMediaTimeInterval(class QMediaTimeInterval const &)
+ ??0QMediaTimeInterval@@QAE@XZ @ 302 NONAME ; QMediaTimeInterval::QMediaTimeInterval(void)
+ ??0QMediaTimeInterval@@QAE@_J0@Z @ 303 NONAME ; QMediaTimeInterval::QMediaTimeInterval(long long, long long)
+ ??0QMediaTimeRange@@QAE@ABV0@@Z @ 304 NONAME ; QMediaTimeRange::QMediaTimeRange(class QMediaTimeRange const &)
+ ??0QMediaTimeRange@@QAE@ABVQMediaTimeInterval@@@Z @ 305 NONAME ; QMediaTimeRange::QMediaTimeRange(class QMediaTimeInterval const &)
+ ??0QMediaTimeRange@@QAE@XZ @ 306 NONAME ; QMediaTimeRange::QMediaTimeRange(void)
+ ??0QMediaTimeRange@@QAE@_J0@Z @ 307 NONAME ; QMediaTimeRange::QMediaTimeRange(long long, long long)
+ ??0QMetaDataControl@@IAE@PAVQObject@@@Z @ 308 NONAME ; QMetaDataControl::QMetaDataControl(class QObject *)
+ ??0QPainterVideoSurface@@QAE@PAVQObject@@@Z @ 309 NONAME ; QPainterVideoSurface::QPainterVideoSurface(class QObject *)
+ ??0QVideoDeviceControl@@IAE@PAVQObject@@@Z @ 310 NONAME ; QVideoDeviceControl::QVideoDeviceControl(class QObject *)
+ ??0QVideoOutputControl@@IAE@PAVQObject@@@Z @ 311 NONAME ; QVideoOutputControl::QVideoOutputControl(class QObject *)
+ ??0QVideoRendererControl@@IAE@PAVQObject@@@Z @ 312 NONAME ; QVideoRendererControl::QVideoRendererControl(class QObject *)
+ ??0QVideoWidget@@QAE@PAVQWidget@@@Z @ 313 NONAME ; QVideoWidget::QVideoWidget(class QWidget *)
+ ??0QVideoWidgetControl@@IAE@PAVQObject@@@Z @ 314 NONAME ; QVideoWidgetControl::QVideoWidgetControl(class QObject *)
+ ??0QVideoWindowControl@@IAE@PAVQObject@@@Z @ 315 NONAME ; QVideoWindowControl::QVideoWindowControl(class QObject *)
+ ??1QGraphicsVideoItem@@UAE@XZ @ 316 NONAME ; QGraphicsVideoItem::~QGraphicsVideoItem(void)
+ ??1QLocalMediaPlaylistProvider@@UAE@XZ @ 317 NONAME ; QLocalMediaPlaylistProvider::~QLocalMediaPlaylistProvider(void)
+ ??1QMediaContent@@QAE@XZ @ 318 NONAME ; QMediaContent::~QMediaContent(void)
+ ??1QMediaControl@@UAE@XZ @ 319 NONAME ; QMediaControl::~QMediaControl(void)
+ ??1QMediaObject@@UAE@XZ @ 320 NONAME ; QMediaObject::~QMediaObject(void)
+ ??1QMediaPlayer@@UAE@XZ @ 321 NONAME ; QMediaPlayer::~QMediaPlayer(void)
+ ??1QMediaPlayerControl@@UAE@XZ @ 322 NONAME ; QMediaPlayerControl::~QMediaPlayerControl(void)
+ ??1QMediaPlaylist@@UAE@XZ @ 323 NONAME ; QMediaPlaylist::~QMediaPlaylist(void)
+ ??1QMediaPlaylistControl@@UAE@XZ @ 324 NONAME ; QMediaPlaylistControl::~QMediaPlaylistControl(void)
+ ??1QMediaPlaylistIOInterface@@UAE@XZ @ 325 NONAME ; QMediaPlaylistIOInterface::~QMediaPlaylistIOInterface(void)
+ ??1QMediaPlaylistIOPlugin@@UAE@XZ @ 326 NONAME ; QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin(void)
+ ??1QMediaPlaylistNavigator@@UAE@XZ @ 327 NONAME ; QMediaPlaylistNavigator::~QMediaPlaylistNavigator(void)
+ ??1QMediaPlaylistProvider@@UAE@XZ @ 328 NONAME ; QMediaPlaylistProvider::~QMediaPlaylistProvider(void)
+ ??1QMediaPlaylistReader@@UAE@XZ @ 329 NONAME ; QMediaPlaylistReader::~QMediaPlaylistReader(void)
+ ??1QMediaPlaylistWriter@@UAE@XZ @ 330 NONAME ; QMediaPlaylistWriter::~QMediaPlaylistWriter(void)
+ ??1QMediaResource@@QAE@XZ @ 331 NONAME ; QMediaResource::~QMediaResource(void)
+ ??1QMediaService@@UAE@XZ @ 332 NONAME ; QMediaService::~QMediaService(void)
+ ??1QMediaServiceFeaturesInterface@@UAE@XZ @ 333 NONAME ; QMediaServiceFeaturesInterface::~QMediaServiceFeaturesInterface(void)
+ ??1QMediaServiceProvider@@UAE@XZ @ 334 NONAME ; QMediaServiceProvider::~QMediaServiceProvider(void)
+ ??1QMediaServiceProviderHint@@QAE@XZ @ 335 NONAME ; QMediaServiceProviderHint::~QMediaServiceProviderHint(void)
+ ??1QMediaServiceSupportedDevicesInterface@@UAE@XZ @ 336 NONAME ; QMediaServiceSupportedDevicesInterface::~QMediaServiceSupportedDevicesInterface(void)
+ ??1QMediaServiceSupportedFormatsInterface@@UAE@XZ @ 337 NONAME ; QMediaServiceSupportedFormatsInterface::~QMediaServiceSupportedFormatsInterface(void)
+ ??1QMediaTimeRange@@QAE@XZ @ 338 NONAME ; QMediaTimeRange::~QMediaTimeRange(void)
+ ??1QMetaDataControl@@UAE@XZ @ 339 NONAME ; QMetaDataControl::~QMetaDataControl(void)
+ ??1QPainterVideoSurface@@UAE@XZ @ 340 NONAME ; QPainterVideoSurface::~QPainterVideoSurface(void)
+ ??1QVideoDeviceControl@@UAE@XZ @ 341 NONAME ; QVideoDeviceControl::~QVideoDeviceControl(void)
+ ??1QVideoOutputControl@@UAE@XZ @ 342 NONAME ; QVideoOutputControl::~QVideoOutputControl(void)
+ ??1QVideoRendererControl@@UAE@XZ @ 343 NONAME ; QVideoRendererControl::~QVideoRendererControl(void)
+ ??1QVideoWidget@@UAE@XZ @ 344 NONAME ; QVideoWidget::~QVideoWidget(void)
+ ??1QVideoWidgetControl@@UAE@XZ @ 345 NONAME ; QVideoWidgetControl::~QVideoWidgetControl(void)
+ ??1QVideoWindowControl@@UAE@XZ @ 346 NONAME ; QVideoWindowControl::~QVideoWindowControl(void)
+ ??4QMediaContent@@QAEAAV0@ABV0@@Z @ 347 NONAME ; class QMediaContent & QMediaContent::operator=(class QMediaContent const &)
+ ??4QMediaResource@@QAEAAV0@ABV0@@Z @ 348 NONAME ; class QMediaResource & QMediaResource::operator=(class QMediaResource const &)
+ ??4QMediaServiceProviderHint@@QAEAAV0@ABV0@@Z @ 349 NONAME ; class QMediaServiceProviderHint & QMediaServiceProviderHint::operator=(class QMediaServiceProviderHint const &)
+ ??4QMediaTimeRange@@QAEAAV0@ABV0@@Z @ 350 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator=(class QMediaTimeRange const &)
+ ??4QMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 351 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator=(class QMediaTimeInterval const &)
+ ??8@YA_NABVQMediaTimeInterval@@0@Z @ 352 NONAME ; bool operator==(class QMediaTimeInterval const &, class QMediaTimeInterval const &)
+ ??8@YA_NABVQMediaTimeRange@@0@Z @ 353 NONAME ; bool operator==(class QMediaTimeRange const &, class QMediaTimeRange const &)
+ ??8QMediaContent@@QBE_NABV0@@Z @ 354 NONAME ; bool QMediaContent::operator==(class QMediaContent const &) const
+ ??8QMediaResource@@QBE_NABV0@@Z @ 355 NONAME ; bool QMediaResource::operator==(class QMediaResource const &) const
+ ??8QMediaServiceProviderHint@@QBE_NABV0@@Z @ 356 NONAME ; bool QMediaServiceProviderHint::operator==(class QMediaServiceProviderHint const &) const
+ ??9@YA_NABVQMediaTimeInterval@@0@Z @ 357 NONAME ; bool operator!=(class QMediaTimeInterval const &, class QMediaTimeInterval const &)
+ ??9@YA_NABVQMediaTimeRange@@0@Z @ 358 NONAME ; bool operator!=(class QMediaTimeRange const &, class QMediaTimeRange const &)
+ ??9QMediaContent@@QBE_NABV0@@Z @ 359 NONAME ; bool QMediaContent::operator!=(class QMediaContent const &) const
+ ??9QMediaResource@@QBE_NABV0@@Z @ 360 NONAME ; bool QMediaResource::operator!=(class QMediaResource const &) const
+ ??9QMediaServiceProviderHint@@QBE_NABV0@@Z @ 361 NONAME ; bool QMediaServiceProviderHint::operator!=(class QMediaServiceProviderHint const &) const
+ ??G@YA?AVQMediaTimeRange@@ABV0@0@Z @ 362 NONAME ; class QMediaTimeRange operator-(class QMediaTimeRange const &, class QMediaTimeRange const &)
+ ??H@YA?AVQMediaTimeRange@@ABV0@0@Z @ 363 NONAME ; class QMediaTimeRange operator+(class QMediaTimeRange const &, class QMediaTimeRange const &)
+ ??YQMediaTimeRange@@QAEAAV0@ABV0@@Z @ 364 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator+=(class QMediaTimeRange const &)
+ ??YQMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 365 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator+=(class QMediaTimeInterval const &)
+ ??ZQMediaTimeRange@@QAEAAV0@ABV0@@Z @ 366 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator-=(class QMediaTimeRange const &)
+ ??ZQMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 367 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator-=(class QMediaTimeInterval const &)
+ ??_EQGraphicsVideoItem@@UAE@I@Z @ 368 NONAME ; QGraphicsVideoItem::~QGraphicsVideoItem(unsigned int)
+ ??_EQLocalMediaPlaylistProvider@@UAE@I@Z @ 369 NONAME ; QLocalMediaPlaylistProvider::~QLocalMediaPlaylistProvider(unsigned int)
+ ??_EQMediaControl@@UAE@I@Z @ 370 NONAME ; QMediaControl::~QMediaControl(unsigned int)
+ ??_EQMediaObject@@UAE@I@Z @ 371 NONAME ; QMediaObject::~QMediaObject(unsigned int)
+ ??_EQMediaPlayer@@UAE@I@Z @ 372 NONAME ; QMediaPlayer::~QMediaPlayer(unsigned int)
+ ??_EQMediaPlayerControl@@UAE@I@Z @ 373 NONAME ; QMediaPlayerControl::~QMediaPlayerControl(unsigned int)
+ ??_EQMediaPlaylist@@UAE@I@Z @ 374 NONAME ; QMediaPlaylist::~QMediaPlaylist(unsigned int)
+ ??_EQMediaPlaylistControl@@UAE@I@Z @ 375 NONAME ; QMediaPlaylistControl::~QMediaPlaylistControl(unsigned int)
+ ??_EQMediaPlaylistIOInterface@@UAE@I@Z @ 376 NONAME ; QMediaPlaylistIOInterface::~QMediaPlaylistIOInterface(unsigned int)
+ ??_EQMediaPlaylistIOPlugin@@UAE@I@Z @ 377 NONAME ; QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin(unsigned int)
+ ??_EQMediaPlaylistNavigator@@UAE@I@Z @ 378 NONAME ; QMediaPlaylistNavigator::~QMediaPlaylistNavigator(unsigned int)
+ ??_EQMediaPlaylistProvider@@UAE@I@Z @ 379 NONAME ; QMediaPlaylistProvider::~QMediaPlaylistProvider(unsigned int)
+ ??_EQMediaPlaylistReader@@UAE@I@Z @ 380 NONAME ; QMediaPlaylistReader::~QMediaPlaylistReader(unsigned int)
+ ??_EQMediaPlaylistWriter@@UAE@I@Z @ 381 NONAME ; QMediaPlaylistWriter::~QMediaPlaylistWriter(unsigned int)
+ ??_EQMediaService@@UAE@I@Z @ 382 NONAME ; QMediaService::~QMediaService(unsigned int)
+ ??_EQMediaServiceFeaturesInterface@@UAE@I@Z @ 383 NONAME ; QMediaServiceFeaturesInterface::~QMediaServiceFeaturesInterface(unsigned int)
+ ??_EQMediaServiceProvider@@UAE@I@Z @ 384 NONAME ; QMediaServiceProvider::~QMediaServiceProvider(unsigned int)
+ ??_EQMediaServiceSupportedDevicesInterface@@UAE@I@Z @ 385 NONAME ; QMediaServiceSupportedDevicesInterface::~QMediaServiceSupportedDevicesInterface(unsigned int)
+ ??_EQMediaServiceSupportedFormatsInterface@@UAE@I@Z @ 386 NONAME ; QMediaServiceSupportedFormatsInterface::~QMediaServiceSupportedFormatsInterface(unsigned int)
+ ??_EQMetaDataControl@@UAE@I@Z @ 387 NONAME ; QMetaDataControl::~QMetaDataControl(unsigned int)
+ ??_EQPainterVideoSurface@@UAE@I@Z @ 388 NONAME ; QPainterVideoSurface::~QPainterVideoSurface(unsigned int)
+ ??_EQVideoDeviceControl@@UAE@I@Z @ 389 NONAME ; QVideoDeviceControl::~QVideoDeviceControl(unsigned int)
+ ??_EQVideoOutputControl@@UAE@I@Z @ 390 NONAME ; QVideoOutputControl::~QVideoOutputControl(unsigned int)
+ ??_EQVideoRendererControl@@UAE@I@Z @ 391 NONAME ; QVideoRendererControl::~QVideoRendererControl(unsigned int)
+ ??_EQVideoWidget@@UAE@I@Z @ 392 NONAME ; QVideoWidget::~QVideoWidget(unsigned int)
+ ??_EQVideoWidgetControl@@UAE@I@Z @ 393 NONAME ; QVideoWidgetControl::~QVideoWidgetControl(unsigned int)
+ ??_EQVideoWindowControl@@UAE@I@Z @ 394 NONAME ; QVideoWindowControl::~QVideoWindowControl(unsigned int)
+ ?activated@QMediaPlaylistNavigator@@IAEXABVQMediaContent@@@Z @ 395 NONAME ; void QMediaPlaylistNavigator::activated(class QMediaContent const &)
+ ?addInterval@QMediaTimeRange@@QAEXABVQMediaTimeInterval@@@Z @ 396 NONAME ; void QMediaTimeRange::addInterval(class QMediaTimeInterval const &)
+ ?addInterval@QMediaTimeRange@@QAEX_J0@Z @ 397 NONAME ; void QMediaTimeRange::addInterval(long long, long long)
+ ?addMedia@QLocalMediaPlaylistProvider@@UAE_NABV?$QList@VQMediaContent@@@@@Z @ 398 NONAME ; bool QLocalMediaPlaylistProvider::addMedia(class QList<class QMediaContent> const &)
+ ?addMedia@QLocalMediaPlaylistProvider@@UAE_NABVQMediaContent@@@Z @ 399 NONAME ; bool QLocalMediaPlaylistProvider::addMedia(class QMediaContent const &)
+ ?addMedia@QMediaPlaylist@@QAE_NABV?$QList@VQMediaContent@@@@@Z @ 400 NONAME ; bool QMediaPlaylist::addMedia(class QList<class QMediaContent> const &)
+ ?addMedia@QMediaPlaylist@@QAE_NABVQMediaContent@@@Z @ 401 NONAME ; bool QMediaPlaylist::addMedia(class QMediaContent const &)
+ ?addMedia@QMediaPlaylistProvider@@UAE_NABV?$QList@VQMediaContent@@@@@Z @ 402 NONAME ; bool QMediaPlaylistProvider::addMedia(class QList<class QMediaContent> const &)
+ ?addMedia@QMediaPlaylistProvider@@UAE_NABVQMediaContent@@@Z @ 403 NONAME ; bool QMediaPlaylistProvider::addMedia(class QMediaContent const &)
+ ?addPropertyWatch@QMediaObject@@IAEXABVQByteArray@@@Z @ 404 NONAME ; void QMediaObject::addPropertyWatch(class QByteArray const &)
+ ?addTimeRange@QMediaTimeRange@@QAEXABV1@@Z @ 405 NONAME ; void QMediaTimeRange::addTimeRange(class QMediaTimeRange const &)
+ ?aspectRatioMode@QGraphicsVideoItem@@QBE?AW4AspectRatioMode@Qt@@XZ @ 406 NONAME ; enum Qt::AspectRatioMode QGraphicsVideoItem::aspectRatioMode(void) const
+ ?aspectRatioMode@QVideoWidget@@QBE?AW4AspectRatioMode@1@XZ @ 407 NONAME ; enum QVideoWidget::AspectRatioMode QVideoWidget::aspectRatioMode(void) const
+ ?audioAvailableChanged@QMediaPlayer@@IAEX_N@Z @ 408 NONAME ; void QMediaPlayer::audioAvailableChanged(bool)
+ ?audioAvailableChanged@QMediaPlayerControl@@IAEX_N@Z @ 409 NONAME ; void QMediaPlayerControl::audioAvailableChanged(bool)
+ ?audioBitRate@QMediaResource@@QBEHXZ @ 410 NONAME ; int QMediaResource::audioBitRate(void) const
+ ?audioCodec@QMediaResource@@QBE?AVQString@@XZ @ 411 NONAME ; class QString QMediaResource::audioCodec(void) const
+ ?availabilityChanged@QMediaObject@@IAEX_N@Z @ 412 NONAME ; void QMediaObject::availabilityChanged(bool)
+ ?availabilityError@QMediaObject@@UBE?AW4AvailabilityError@QtMultimedia@@XZ @ 413 NONAME ; enum QtMultimedia::AvailabilityError QMediaObject::availabilityError(void) const
+ ?availableExtendedMetaData@QMediaObject@@QBE?AVQStringList@@XZ @ 414 NONAME ; class QStringList QMediaObject::availableExtendedMetaData(void) const
+ ?availableMetaData@QMediaObject@@QBE?AV?$QList@W4MetaData@QtMultimedia@@@@XZ @ 415 NONAME ; class QList<enum QtMultimedia::MetaData> QMediaObject::availableMetaData(void) const
+ ?availableOutputsChanged@QVideoOutputControl@@IAEXABV?$QList@W4Output@QVideoOutputControl@@@@@Z @ 416 NONAME ; void QVideoOutputControl::availableOutputsChanged(class QList<enum QVideoOutputControl::Output> const &)
+ ?availablePlaybackRangesChanged@QMediaPlayerControl@@IAEXABVQMediaTimeRange@@@Z @ 417 NONAME ; void QMediaPlayerControl::availablePlaybackRangesChanged(class QMediaTimeRange const &)
+ ?bind@QMediaObject@@UAEXPAVQObject@@@Z @ 418 NONAME ; void QMediaObject::bind(class QObject *)
+ ?bind@QMediaPlayer@@UAEXPAVQObject@@@Z @ 419 NONAME ; void QMediaPlayer::bind(class QObject *)
+ ?boundingRect@QGraphicsVideoItem@@UBE?AVQRectF@@XZ @ 420 NONAME ; class QRectF QGraphicsVideoItem::boundingRect(void) const
+ ?brightness@QPainterVideoSurface@@QBEHXZ @ 421 NONAME ; int QPainterVideoSurface::brightness(void) const
+ ?brightness@QVideoWidget@@QBEHXZ @ 422 NONAME ; int QVideoWidget::brightness(void) const
+ ?brightnessChanged@QVideoWidget@@IAEXH@Z @ 423 NONAME ; void QVideoWidget::brightnessChanged(int)
+ ?brightnessChanged@QVideoWidgetControl@@IAEXH@Z @ 424 NONAME ; void QVideoWidgetControl::brightnessChanged(int)
+ ?brightnessChanged@QVideoWindowControl@@IAEXH@Z @ 425 NONAME ; void QVideoWindowControl::brightnessChanged(int)
+ ?bufferStatus@QMediaPlayer@@QBEHXZ @ 426 NONAME ; int QMediaPlayer::bufferStatus(void) const
+ ?bufferStatusChanged@QMediaPlayer@@IAEXH@Z @ 427 NONAME ; void QMediaPlayer::bufferStatusChanged(int)
+ ?bufferStatusChanged@QMediaPlayerControl@@IAEXH@Z @ 428 NONAME ; void QMediaPlayerControl::bufferStatusChanged(int)
+ ?canonicalRequest@QMediaContent@@QBE?AVQNetworkRequest@@XZ @ 429 NONAME ; class QNetworkRequest QMediaContent::canonicalRequest(void) const
+ ?canonicalResource@QMediaContent@@QBE?AVQMediaResource@@XZ @ 430 NONAME ; class QMediaResource QMediaContent::canonicalResource(void) const
+ ?canonicalUrl@QMediaContent@@QBE?AVQUrl@@XZ @ 431 NONAME ; class QUrl QMediaContent::canonicalUrl(void) const
+ ?channelCount@QAudioFormat@@QBEHXZ @ 432 NONAME ; int QAudioFormat::channelCount(void) const
+ ?channelCount@QMediaResource@@QBEHXZ @ 433 NONAME ; int QMediaResource::channelCount(void) const
+ ?clear@QLocalMediaPlaylistProvider@@UAE_NXZ @ 434 NONAME ; bool QLocalMediaPlaylistProvider::clear(void)
+ ?clear@QMediaPlaylist@@QAE_NXZ @ 435 NONAME ; bool QMediaPlaylist::clear(void)
+ ?clear@QMediaPlaylistProvider@@UAE_NXZ @ 436 NONAME ; bool QMediaPlaylistProvider::clear(void)
+ ?clear@QMediaTimeRange@@QAEXXZ @ 437 NONAME ; void QMediaTimeRange::clear(void)
+ ?codecs@QMediaServiceProviderHint@@QBE?AVQStringList@@XZ @ 438 NONAME ; class QStringList QMediaServiceProviderHint::codecs(void) const
+ ?contains@QMediaTimeInterval@@QBE_N_J@Z @ 439 NONAME ; bool QMediaTimeInterval::contains(long long) const
+ ?contains@QMediaTimeRange@@QBE_N_J@Z @ 440 NONAME ; bool QMediaTimeRange::contains(long long) const
+ ?contrast@QPainterVideoSurface@@QBEHXZ @ 441 NONAME ; int QPainterVideoSurface::contrast(void) const
+ ?contrast@QVideoWidget@@QBEHXZ @ 442 NONAME ; int QVideoWidget::contrast(void) const
+ ?contrastChanged@QVideoWidget@@IAEXH@Z @ 443 NONAME ; void QVideoWidget::contrastChanged(int)
+ ?contrastChanged@QVideoWidgetControl@@IAEXH@Z @ 444 NONAME ; void QVideoWidgetControl::contrastChanged(int)
+ ?contrastChanged@QVideoWindowControl@@IAEXH@Z @ 445 NONAME ; void QVideoWindowControl::contrastChanged(int)
+ ?createPainter@QPainterVideoSurface@@AAEXXZ @ 446 NONAME ; void QPainterVideoSurface::createPainter(void)
+ ?currentIndex@QMediaPlaylist@@QBEHXZ @ 447 NONAME ; int QMediaPlaylist::currentIndex(void) const
+ ?currentIndex@QMediaPlaylistNavigator@@QBEHXZ @ 448 NONAME ; int QMediaPlaylistNavigator::currentIndex(void) const
+ ?currentIndexChanged@QMediaPlaylist@@IAEXH@Z @ 449 NONAME ; void QMediaPlaylist::currentIndexChanged(int)
+ ?currentIndexChanged@QMediaPlaylistControl@@IAEXH@Z @ 450 NONAME ; void QMediaPlaylistControl::currentIndexChanged(int)
+ ?currentIndexChanged@QMediaPlaylistNavigator@@IAEXH@Z @ 451 NONAME ; void QMediaPlaylistNavigator::currentIndexChanged(int)
+ ?currentItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@XZ @ 452 NONAME ; class QMediaContent QMediaPlaylistNavigator::currentItem(void) const
+ ?currentMedia@QMediaPlaylist@@QBE?AVQMediaContent@@XZ @ 453 NONAME ; class QMediaContent QMediaPlaylist::currentMedia(void) const
+ ?currentMediaChanged@QMediaPlaylist@@IAEXABVQMediaContent@@@Z @ 454 NONAME ; void QMediaPlaylist::currentMediaChanged(class QMediaContent const &)
+ ?currentMediaChanged@QMediaPlaylistControl@@IAEXABVQMediaContent@@@Z @ 455 NONAME ; void QMediaPlaylistControl::currentMediaChanged(class QMediaContent const &)
+ ?d_func@QGraphicsVideoItem@@AAEPAVQGraphicsVideoItemPrivate@@XZ @ 456 NONAME ; class QGraphicsVideoItemPrivate * QGraphicsVideoItem::d_func(void)
+ ?d_func@QGraphicsVideoItem@@ABEPBVQGraphicsVideoItemPrivate@@XZ @ 457 NONAME ; class QGraphicsVideoItemPrivate const * QGraphicsVideoItem::d_func(void) const
+ ?d_func@QLocalMediaPlaylistProvider@@AAEPAVQLocalMediaPlaylistProviderPrivate@@XZ @ 458 NONAME ; class QLocalMediaPlaylistProviderPrivate * QLocalMediaPlaylistProvider::d_func(void)
+ ?d_func@QLocalMediaPlaylistProvider@@ABEPBVQLocalMediaPlaylistProviderPrivate@@XZ @ 459 NONAME ; class QLocalMediaPlaylistProviderPrivate const * QLocalMediaPlaylistProvider::d_func(void) const
+ ?d_func@QMediaControl@@AAEPAVQMediaControlPrivate@@XZ @ 460 NONAME ; class QMediaControlPrivate * QMediaControl::d_func(void)
+ ?d_func@QMediaControl@@ABEPBVQMediaControlPrivate@@XZ @ 461 NONAME ; class QMediaControlPrivate const * QMediaControl::d_func(void) const
+ ?d_func@QMediaObject@@AAEPAVQMediaObjectPrivate@@XZ @ 462 NONAME ; class QMediaObjectPrivate * QMediaObject::d_func(void)
+ ?d_func@QMediaObject@@ABEPBVQMediaObjectPrivate@@XZ @ 463 NONAME ; class QMediaObjectPrivate const * QMediaObject::d_func(void) const
+ ?d_func@QMediaPlayer@@AAEPAVQMediaPlayerPrivate@@XZ @ 464 NONAME ; class QMediaPlayerPrivate * QMediaPlayer::d_func(void)
+ ?d_func@QMediaPlayer@@ABEPBVQMediaPlayerPrivate@@XZ @ 465 NONAME ; class QMediaPlayerPrivate const * QMediaPlayer::d_func(void) const
+ ?d_func@QMediaPlaylist@@AAEPAVQMediaPlaylistPrivate@@XZ @ 466 NONAME ; class QMediaPlaylistPrivate * QMediaPlaylist::d_func(void)
+ ?d_func@QMediaPlaylist@@ABEPBVQMediaPlaylistPrivate@@XZ @ 467 NONAME ; class QMediaPlaylistPrivate const * QMediaPlaylist::d_func(void) const
+ ?d_func@QMediaPlaylistNavigator@@AAEPAVQMediaPlaylistNavigatorPrivate@@XZ @ 468 NONAME ; class QMediaPlaylistNavigatorPrivate * QMediaPlaylistNavigator::d_func(void)
+ ?d_func@QMediaPlaylistNavigator@@ABEPBVQMediaPlaylistNavigatorPrivate@@XZ @ 469 NONAME ; class QMediaPlaylistNavigatorPrivate const * QMediaPlaylistNavigator::d_func(void) const
+ ?d_func@QMediaPlaylistProvider@@AAEPAVQMediaPlaylistProviderPrivate@@XZ @ 470 NONAME ; class QMediaPlaylistProviderPrivate * QMediaPlaylistProvider::d_func(void)
+ ?d_func@QMediaPlaylistProvider@@ABEPBVQMediaPlaylistProviderPrivate@@XZ @ 471 NONAME ; class QMediaPlaylistProviderPrivate const * QMediaPlaylistProvider::d_func(void) const
+ ?d_func@QMediaService@@AAEPAVQMediaServicePrivate@@XZ @ 472 NONAME ; class QMediaServicePrivate * QMediaService::d_func(void)
+ ?d_func@QMediaService@@ABEPBVQMediaServicePrivate@@XZ @ 473 NONAME ; class QMediaServicePrivate const * QMediaService::d_func(void) const
+ ?d_func@QVideoWidget@@AAEPAVQVideoWidgetPrivate@@XZ @ 474 NONAME ; class QVideoWidgetPrivate * QVideoWidget::d_func(void)
+ ?d_func@QVideoWidget@@ABEPBVQVideoWidgetPrivate@@XZ @ 475 NONAME ; class QVideoWidgetPrivate const * QVideoWidget::d_func(void) const
+ ?dataSize@QMediaResource@@QBE_JXZ @ 476 NONAME ; long long QMediaResource::dataSize(void) const
+ ?defaultServiceProvider@QMediaServiceProvider@@SAPAV1@XZ @ 477 NONAME ; class QMediaServiceProvider * QMediaServiceProvider::defaultServiceProvider(void)
+ ?device@QMediaServiceProviderHint@@QBE?AVQByteArray@@XZ @ 478 NONAME ; class QByteArray QMediaServiceProviderHint::device(void) const
+ ?deviceDescription@QMediaServiceProvider@@UAE?AVQString@@ABVQByteArray@@0@Z @ 479 NONAME ; class QString QMediaServiceProvider::deviceDescription(class QByteArray const &, class QByteArray const &)
+ ?devices@QMediaServiceProvider@@UBE?AV?$QList@VQByteArray@@@@ABVQByteArray@@@Z @ 480 NONAME ; class QList<class QByteArray> QMediaServiceProvider::devices(class QByteArray const &) const
+ ?devicesChanged@QVideoDeviceControl@@IAEXXZ @ 481 NONAME ; void QVideoDeviceControl::devicesChanged(void)
+ ?duration@QMediaPlayer@@QBE_JXZ @ 482 NONAME ; long long QMediaPlayer::duration(void) const
+ ?durationChanged@QMediaPlayer@@IAEX_J@Z @ 483 NONAME ; void QMediaPlayer::durationChanged(long long)
+ ?durationChanged@QMediaPlayerControl@@IAEX_J@Z @ 484 NONAME ; void QMediaPlayerControl::durationChanged(long long)
+ ?earliestTime@QMediaTimeRange@@QBE_JXZ @ 485 NONAME ; long long QMediaTimeRange::earliestTime(void) const
+ ?end@QMediaTimeInterval@@QBE_JXZ @ 486 NONAME ; long long QMediaTimeInterval::end(void) const
+ ?error@QMediaPlayer@@IAEXW4Error@1@@Z @ 487 NONAME ; void QMediaPlayer::error(enum QMediaPlayer::Error)
+ ?error@QMediaPlayer@@QBE?AW4Error@1@XZ @ 488 NONAME ; enum QMediaPlayer::Error QMediaPlayer::error(void) const
+ ?error@QMediaPlayerControl@@IAEXHABVQString@@@Z @ 489 NONAME ; void QMediaPlayerControl::error(int, class QString const &)
+ ?error@QMediaPlaylist@@QBE?AW4Error@1@XZ @ 490 NONAME ; enum QMediaPlaylist::Error QMediaPlaylist::error(void) const
+ ?errorString@QMediaPlayer@@QBE?AVQString@@XZ @ 491 NONAME ; class QString QMediaPlayer::errorString(void) const
+ ?errorString@QMediaPlaylist@@QBE?AVQString@@XZ @ 492 NONAME ; class QString QMediaPlaylist::errorString(void) const
+ ?event@QVideoWidget@@MAE_NPAVQEvent@@@Z @ 493 NONAME ; bool QVideoWidget::event(class QEvent *)
+ ?extendedMetaData@QMediaObject@@QBE?AVQVariant@@ABVQString@@@Z @ 494 NONAME ; class QVariant QMediaObject::extendedMetaData(class QString const &) const
+ ?features@QMediaServiceProviderHint@@QBE?AV?$QFlags@W4Feature@QMediaServiceProviderHint@@@@XZ @ 495 NONAME ; class QFlags<enum QMediaServiceProviderHint::Feature> QMediaServiceProviderHint::features(void) const
+ ?frameChanged@QPainterVideoSurface@@IAEXXZ @ 496 NONAME ; void QPainterVideoSurface::frameChanged(void)
+ ?fullScreenChanged@QVideoWidget@@IAEX_N@Z @ 497 NONAME ; void QVideoWidget::fullScreenChanged(bool)
+ ?fullScreenChanged@QVideoWidgetControl@@IAEX_N@Z @ 498 NONAME ; void QVideoWidgetControl::fullScreenChanged(bool)
+ ?fullScreenChanged@QVideoWindowControl@@IAEX_N@Z @ 499 NONAME ; void QVideoWindowControl::fullScreenChanged(bool)
+ ?getStaticMetaObject@QGraphicsVideoItem@@SAABUQMetaObject@@XZ @ 500 NONAME ; struct QMetaObject const & QGraphicsVideoItem::getStaticMetaObject(void)
+ ?getStaticMetaObject@QLocalMediaPlaylistProvider@@SAABUQMetaObject@@XZ @ 501 NONAME ; struct QMetaObject const & QLocalMediaPlaylistProvider::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaControl@@SAABUQMetaObject@@XZ @ 502 NONAME ; struct QMetaObject const & QMediaControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaObject@@SAABUQMetaObject@@XZ @ 503 NONAME ; struct QMetaObject const & QMediaObject::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlayer@@SAABUQMetaObject@@XZ @ 504 NONAME ; struct QMetaObject const & QMediaPlayer::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlayerControl@@SAABUQMetaObject@@XZ @ 505 NONAME ; struct QMetaObject const & QMediaPlayerControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlaylist@@SAABUQMetaObject@@XZ @ 506 NONAME ; struct QMetaObject const & QMediaPlaylist::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlaylistControl@@SAABUQMetaObject@@XZ @ 507 NONAME ; struct QMetaObject const & QMediaPlaylistControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlaylistIOPlugin@@SAABUQMetaObject@@XZ @ 508 NONAME ; struct QMetaObject const & QMediaPlaylistIOPlugin::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlaylistNavigator@@SAABUQMetaObject@@XZ @ 509 NONAME ; struct QMetaObject const & QMediaPlaylistNavigator::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaPlaylistProvider@@SAABUQMetaObject@@XZ @ 510 NONAME ; struct QMetaObject const & QMediaPlaylistProvider::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaService@@SAABUQMetaObject@@XZ @ 511 NONAME ; struct QMetaObject const & QMediaService::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaServiceProvider@@SAABUQMetaObject@@XZ @ 512 NONAME ; struct QMetaObject const & QMediaServiceProvider::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMediaServiceProviderPlugin@@SAABUQMetaObject@@XZ @ 513 NONAME ; struct QMetaObject const & QMediaServiceProviderPlugin::getStaticMetaObject(void)
+ ?getStaticMetaObject@QMetaDataControl@@SAABUQMetaObject@@XZ @ 514 NONAME ; struct QMetaObject const & QMetaDataControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QPainterVideoSurface@@SAABUQMetaObject@@XZ @ 515 NONAME ; struct QMetaObject const & QPainterVideoSurface::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoDeviceControl@@SAABUQMetaObject@@XZ @ 516 NONAME ; struct QMetaObject const & QVideoDeviceControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoOutputControl@@SAABUQMetaObject@@XZ @ 517 NONAME ; struct QMetaObject const & QVideoOutputControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoRendererControl@@SAABUQMetaObject@@XZ @ 518 NONAME ; struct QMetaObject const & QVideoRendererControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoWidget@@SAABUQMetaObject@@XZ @ 519 NONAME ; struct QMetaObject const & QVideoWidget::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoWidgetControl@@SAABUQMetaObject@@XZ @ 520 NONAME ; struct QMetaObject const & QVideoWidgetControl::getStaticMetaObject(void)
+ ?getStaticMetaObject@QVideoWindowControl@@SAABUQMetaObject@@XZ @ 521 NONAME ; struct QMetaObject const & QVideoWindowControl::getStaticMetaObject(void)
+ ?hasSupport@QMediaPlayer@@SA?AW4SupportEstimate@QtMultimedia@@ABVQString@@ABVQStringList@@V?$QFlags@W4Flag@QMediaPlayer@@@@@Z @ 522 NONAME ; enum QtMultimedia::SupportEstimate QMediaPlayer::hasSupport(class QString const &, class QStringList const &, class QFlags<enum QMediaPlayer::Flag>)
+ ?hasSupport@QMediaServiceProvider@@UBE?AW4SupportEstimate@QtMultimedia@@ABVQByteArray@@ABVQString@@ABVQStringList@@H@Z @ 523 NONAME ; enum QtMultimedia::SupportEstimate QMediaServiceProvider::hasSupport(class QByteArray const &, class QString const &, class QStringList const &, int) const
+ ?hideEvent@QVideoWidget@@MAEXPAVQHideEvent@@@Z @ 524 NONAME ; void QVideoWidget::hideEvent(class QHideEvent *)
+ ?hue@QPainterVideoSurface@@QBEHXZ @ 525 NONAME ; int QPainterVideoSurface::hue(void) const
+ ?hue@QVideoWidget@@QBEHXZ @ 526 NONAME ; int QVideoWidget::hue(void) const
+ ?hueChanged@QVideoWidget@@IAEXH@Z @ 527 NONAME ; void QVideoWidget::hueChanged(int)
+ ?hueChanged@QVideoWidgetControl@@IAEXH@Z @ 528 NONAME ; void QVideoWidgetControl::hueChanged(int)
+ ?hueChanged@QVideoWindowControl@@IAEXH@Z @ 529 NONAME ; void QVideoWindowControl::hueChanged(int)
+ ?insertMedia@QLocalMediaPlaylistProvider@@UAE_NHABV?$QList@VQMediaContent@@@@@Z @ 530 NONAME ; bool QLocalMediaPlaylistProvider::insertMedia(int, class QList<class QMediaContent> const &)
+ ?insertMedia@QLocalMediaPlaylistProvider@@UAE_NHABVQMediaContent@@@Z @ 531 NONAME ; bool QLocalMediaPlaylistProvider::insertMedia(int, class QMediaContent const &)
+ ?insertMedia@QMediaPlaylist@@QAE_NHABV?$QList@VQMediaContent@@@@@Z @ 532 NONAME ; bool QMediaPlaylist::insertMedia(int, class QList<class QMediaContent> const &)
+ ?insertMedia@QMediaPlaylist@@QAE_NHABVQMediaContent@@@Z @ 533 NONAME ; bool QMediaPlaylist::insertMedia(int, class QMediaContent const &)
+ ?insertMedia@QMediaPlaylistProvider@@UAE_NHABV?$QList@VQMediaContent@@@@@Z @ 534 NONAME ; bool QMediaPlaylistProvider::insertMedia(int, class QList<class QMediaContent> const &)
+ ?insertMedia@QMediaPlaylistProvider@@UAE_NHABVQMediaContent@@@Z @ 535 NONAME ; bool QMediaPlaylistProvider::insertMedia(int, class QMediaContent const &)
+ ?intervals@QMediaTimeRange@@QBE?AV?$QList@VQMediaTimeInterval@@@@XZ @ 536 NONAME ; class QList<class QMediaTimeInterval> QMediaTimeRange::intervals(void) const
+ ?isAudioAvailable@QMediaPlayer@@QBE_NXZ @ 537 NONAME ; bool QMediaPlayer::isAudioAvailable(void) const
+ ?isAvailable@QMediaObject@@UBE_NXZ @ 538 NONAME ; bool QMediaObject::isAvailable(void) const
+ ?isContinuous@QMediaTimeRange@@QBE_NXZ @ 539 NONAME ; bool QMediaTimeRange::isContinuous(void) const
+ ?isEmpty@QMediaPlaylist@@QBE_NXZ @ 540 NONAME ; bool QMediaPlaylist::isEmpty(void) const
+ ?isEmpty@QMediaTimeRange@@QBE_NXZ @ 541 NONAME ; bool QMediaTimeRange::isEmpty(void) const
+ ?isFormatSupported@QPainterVideoSurface@@QBE_NABVQVideoSurfaceFormat@@PAV2@@Z @ 542 NONAME ; bool QPainterVideoSurface::isFormatSupported(class QVideoSurfaceFormat const &, class QVideoSurfaceFormat *) const
+ ?isMetaDataAvailable@QMediaObject@@QBE_NXZ @ 543 NONAME ; bool QMediaObject::isMetaDataAvailable(void) const
+ ?isMetaDataWritable@QMediaObject@@QBE_NXZ @ 544 NONAME ; bool QMediaObject::isMetaDataWritable(void) const
+ ?isMuted@QMediaPlayer@@QBE_NXZ @ 545 NONAME ; bool QMediaPlayer::isMuted(void) const
+ ?isNormal@QMediaTimeInterval@@QBE_NXZ @ 546 NONAME ; bool QMediaTimeInterval::isNormal(void) const
+ ?isNull@QMediaContent@@QBE_NXZ @ 547 NONAME ; bool QMediaContent::isNull(void) const
+ ?isNull@QMediaResource@@QBE_NXZ @ 548 NONAME ; bool QMediaResource::isNull(void) const
+ ?isNull@QMediaServiceProviderHint@@QBE_NXZ @ 549 NONAME ; bool QMediaServiceProviderHint::isNull(void) const
+ ?isReadOnly@QLocalMediaPlaylistProvider@@UBE_NXZ @ 550 NONAME ; bool QLocalMediaPlaylistProvider::isReadOnly(void) const
+ ?isReadOnly@QMediaPlaylist@@QBE_NXZ @ 551 NONAME ; bool QMediaPlaylist::isReadOnly(void) const
+ ?isReadOnly@QMediaPlaylistProvider@@UBE_NXZ @ 552 NONAME ; bool QMediaPlaylistProvider::isReadOnly(void) const
+ ?isReady@QPainterVideoSurface@@QBE_NXZ @ 553 NONAME ; bool QPainterVideoSurface::isReady(void) const
+ ?isSeekable@QMediaPlayer@@QBE_NXZ @ 554 NONAME ; bool QMediaPlayer::isSeekable(void) const
+ ?isVideoAvailable@QMediaPlayer@@QBE_NXZ @ 555 NONAME ; bool QMediaPlayer::isVideoAvailable(void) const
+ ?itemAt@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 556 NONAME ; class QMediaContent QMediaPlaylistNavigator::itemAt(int) const
+ ?itemChange@QGraphicsVideoItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 557 NONAME ; class QVariant QGraphicsVideoItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?jump@QMediaPlaylistNavigator@@QAEXH@Z @ 558 NONAME ; void QMediaPlaylistNavigator::jump(int)
+ ?language@QMediaResource@@QBE?AVQString@@XZ @ 559 NONAME ; class QString QMediaResource::language(void) const
+ ?latestTime@QMediaTimeRange@@QBE_JXZ @ 560 NONAME ; long long QMediaTimeRange::latestTime(void) const
+ ?load@QMediaPlaylist@@QAEXABVQUrl@@PBD@Z @ 561 NONAME ; void QMediaPlaylist::load(class QUrl const &, char const *)
+ ?load@QMediaPlaylist@@QAEXPAVQIODevice@@PBD@Z @ 562 NONAME ; void QMediaPlaylist::load(class QIODevice *, char const *)
+ ?load@QMediaPlaylistProvider@@UAE_NABVQUrl@@PBD@Z @ 563 NONAME ; bool QMediaPlaylistProvider::load(class QUrl const &, char const *)
+ ?load@QMediaPlaylistProvider@@UAE_NPAVQIODevice@@PBD@Z @ 564 NONAME ; bool QMediaPlaylistProvider::load(class QIODevice *, char const *)
+ ?loadFailed@QMediaPlaylist@@IAEXXZ @ 565 NONAME ; void QMediaPlaylist::loadFailed(void)
+ ?loadFailed@QMediaPlaylistProvider@@IAEXW4Error@QMediaPlaylist@@ABVQString@@@Z @ 566 NONAME ; void QMediaPlaylistProvider::loadFailed(enum QMediaPlaylist::Error, class QString const &)
+ ?loaded@QMediaPlaylist@@IAEXXZ @ 567 NONAME ; void QMediaPlaylist::loaded(void)
+ ?loaded@QMediaPlaylistProvider@@IAEXXZ @ 568 NONAME ; void QMediaPlaylistProvider::loaded(void)
+ ?media@QLocalMediaPlaylistProvider@@UBE?AVQMediaContent@@H@Z @ 569 NONAME ; class QMediaContent QLocalMediaPlaylistProvider::media(int) const
+ ?media@QMediaPlayer@@QBE?AVQMediaContent@@XZ @ 570 NONAME ; class QMediaContent QMediaPlayer::media(void) const
+ ?media@QMediaPlaylist@@QBE?AVQMediaContent@@H@Z @ 571 NONAME ; class QMediaContent QMediaPlaylist::media(int) const
+ ?mediaAboutToBeInserted@QMediaPlaylist@@IAEXHH@Z @ 572 NONAME ; void QMediaPlaylist::mediaAboutToBeInserted(int, int)
+ ?mediaAboutToBeInserted@QMediaPlaylistProvider@@IAEXHH@Z @ 573 NONAME ; void QMediaPlaylistProvider::mediaAboutToBeInserted(int, int)
+ ?mediaAboutToBeRemoved@QMediaPlaylist@@IAEXHH@Z @ 574 NONAME ; void QMediaPlaylist::mediaAboutToBeRemoved(int, int)
+ ?mediaAboutToBeRemoved@QMediaPlaylistProvider@@IAEXHH@Z @ 575 NONAME ; void QMediaPlaylistProvider::mediaAboutToBeRemoved(int, int)
+ ?mediaChanged@QMediaPlayer@@IAEXABVQMediaContent@@@Z @ 576 NONAME ; void QMediaPlayer::mediaChanged(class QMediaContent const &)
+ ?mediaChanged@QMediaPlayerControl@@IAEXABVQMediaContent@@@Z @ 577 NONAME ; void QMediaPlayerControl::mediaChanged(class QMediaContent const &)
+ ?mediaChanged@QMediaPlaylist@@IAEXHH@Z @ 578 NONAME ; void QMediaPlaylist::mediaChanged(int, int)
+ ?mediaChanged@QMediaPlaylistProvider@@IAEXHH@Z @ 579 NONAME ; void QMediaPlaylistProvider::mediaChanged(int, int)
+ ?mediaCount@QLocalMediaPlaylistProvider@@UBEHXZ @ 580 NONAME ; int QLocalMediaPlaylistProvider::mediaCount(void) const
+ ?mediaCount@QMediaPlaylist@@QBEHXZ @ 581 NONAME ; int QMediaPlaylist::mediaCount(void) const
+ ?mediaInserted@QMediaPlaylist@@IAEXHH@Z @ 582 NONAME ; void QMediaPlaylist::mediaInserted(int, int)
+ ?mediaInserted@QMediaPlaylistProvider@@IAEXHH@Z @ 583 NONAME ; void QMediaPlaylistProvider::mediaInserted(int, int)
+ ?mediaObject@QGraphicsVideoItem@@QBEPAVQMediaObject@@XZ @ 584 NONAME ; class QMediaObject * QGraphicsVideoItem::mediaObject(void) const
+ ?mediaObject@QMediaPlaylist@@QBEPAVQMediaObject@@XZ @ 585 NONAME ; class QMediaObject * QMediaPlaylist::mediaObject(void) const
+ ?mediaObject@QVideoWidget@@QBEPAVQMediaObject@@XZ @ 586 NONAME ; class QMediaObject * QVideoWidget::mediaObject(void) const
+ ?mediaRemoved@QMediaPlaylist@@IAEXHH@Z @ 587 NONAME ; void QMediaPlaylist::mediaRemoved(int, int)
+ ?mediaRemoved@QMediaPlaylistProvider@@IAEXHH@Z @ 588 NONAME ; void QMediaPlaylistProvider::mediaRemoved(int, int)
+ ?mediaStatus@QMediaPlayer@@QBE?AW4MediaStatus@1@XZ @ 589 NONAME ; enum QMediaPlayer::MediaStatus QMediaPlayer::mediaStatus(void) const
+ ?mediaStatusChanged@QMediaPlayer@@IAEXW4MediaStatus@1@@Z @ 590 NONAME ; void QMediaPlayer::mediaStatusChanged(enum QMediaPlayer::MediaStatus)
+ ?mediaStatusChanged@QMediaPlayerControl@@IAEXW4MediaStatus@QMediaPlayer@@@Z @ 591 NONAME ; void QMediaPlayerControl::mediaStatusChanged(enum QMediaPlayer::MediaStatus)
+ ?mediaStream@QMediaPlayer@@QBEPBVQIODevice@@XZ @ 592 NONAME ; class QIODevice const * QMediaPlayer::mediaStream(void) const
+ ?metaData@QMediaObject@@QBE?AVQVariant@@W4MetaData@QtMultimedia@@@Z @ 593 NONAME ; class QVariant QMediaObject::metaData(enum QtMultimedia::MetaData) const
+ ?metaDataAvailableChanged@QMediaObject@@IAEX_N@Z @ 594 NONAME ; void QMediaObject::metaDataAvailableChanged(bool)
+ ?metaDataAvailableChanged@QMetaDataControl@@IAEX_N@Z @ 595 NONAME ; void QMetaDataControl::metaDataAvailableChanged(bool)
+ ?metaDataChanged@QMediaObject@@IAEXXZ @ 596 NONAME ; void QMediaObject::metaDataChanged(void)
+ ?metaDataChanged@QMetaDataControl@@IAEXXZ @ 597 NONAME ; void QMetaDataControl::metaDataChanged(void)
+ ?metaDataWritableChanged@QMediaObject@@IAEX_N@Z @ 598 NONAME ; void QMediaObject::metaDataWritableChanged(bool)
+ ?metaObject@QGraphicsVideoItem@@UBEPBUQMetaObject@@XZ @ 599 NONAME ; struct QMetaObject const * QGraphicsVideoItem::metaObject(void) const
+ ?metaObject@QLocalMediaPlaylistProvider@@UBEPBUQMetaObject@@XZ @ 600 NONAME ; struct QMetaObject const * QLocalMediaPlaylistProvider::metaObject(void) const
+ ?metaObject@QMediaControl@@UBEPBUQMetaObject@@XZ @ 601 NONAME ; struct QMetaObject const * QMediaControl::metaObject(void) const
+ ?metaObject@QMediaObject@@UBEPBUQMetaObject@@XZ @ 602 NONAME ; struct QMetaObject const * QMediaObject::metaObject(void) const
+ ?metaObject@QMediaPlayer@@UBEPBUQMetaObject@@XZ @ 603 NONAME ; struct QMetaObject const * QMediaPlayer::metaObject(void) const
+ ?metaObject@QMediaPlayerControl@@UBEPBUQMetaObject@@XZ @ 604 NONAME ; struct QMetaObject const * QMediaPlayerControl::metaObject(void) const
+ ?metaObject@QMediaPlaylist@@UBEPBUQMetaObject@@XZ @ 605 NONAME ; struct QMetaObject const * QMediaPlaylist::metaObject(void) const
+ ?metaObject@QMediaPlaylistControl@@UBEPBUQMetaObject@@XZ @ 606 NONAME ; struct QMetaObject const * QMediaPlaylistControl::metaObject(void) const
+ ?metaObject@QMediaPlaylistIOPlugin@@UBEPBUQMetaObject@@XZ @ 607 NONAME ; struct QMetaObject const * QMediaPlaylistIOPlugin::metaObject(void) const
+ ?metaObject@QMediaPlaylistNavigator@@UBEPBUQMetaObject@@XZ @ 608 NONAME ; struct QMetaObject const * QMediaPlaylistNavigator::metaObject(void) const
+ ?metaObject@QMediaPlaylistProvider@@UBEPBUQMetaObject@@XZ @ 609 NONAME ; struct QMetaObject const * QMediaPlaylistProvider::metaObject(void) const
+ ?metaObject@QMediaService@@UBEPBUQMetaObject@@XZ @ 610 NONAME ; struct QMetaObject const * QMediaService::metaObject(void) const
+ ?metaObject@QMediaServiceProvider@@UBEPBUQMetaObject@@XZ @ 611 NONAME ; struct QMetaObject const * QMediaServiceProvider::metaObject(void) const
+ ?metaObject@QMediaServiceProviderPlugin@@UBEPBUQMetaObject@@XZ @ 612 NONAME ; struct QMetaObject const * QMediaServiceProviderPlugin::metaObject(void) const
+ ?metaObject@QMetaDataControl@@UBEPBUQMetaObject@@XZ @ 613 NONAME ; struct QMetaObject const * QMetaDataControl::metaObject(void) const
+ ?metaObject@QPainterVideoSurface@@UBEPBUQMetaObject@@XZ @ 614 NONAME ; struct QMetaObject const * QPainterVideoSurface::metaObject(void) const
+ ?metaObject@QVideoDeviceControl@@UBEPBUQMetaObject@@XZ @ 615 NONAME ; struct QMetaObject const * QVideoDeviceControl::metaObject(void) const
+ ?metaObject@QVideoOutputControl@@UBEPBUQMetaObject@@XZ @ 616 NONAME ; struct QMetaObject const * QVideoOutputControl::metaObject(void) const
+ ?metaObject@QVideoRendererControl@@UBEPBUQMetaObject@@XZ @ 617 NONAME ; struct QMetaObject const * QVideoRendererControl::metaObject(void) const
+ ?metaObject@QVideoWidget@@UBEPBUQMetaObject@@XZ @ 618 NONAME ; struct QMetaObject const * QVideoWidget::metaObject(void) const
+ ?metaObject@QVideoWidgetControl@@UBEPBUQMetaObject@@XZ @ 619 NONAME ; struct QMetaObject const * QVideoWidgetControl::metaObject(void) const
+ ?metaObject@QVideoWindowControl@@UBEPBUQMetaObject@@XZ @ 620 NONAME ; struct QMetaObject const * QVideoWindowControl::metaObject(void) const
+ ?mimeType@QMediaResource@@QBE?AVQString@@XZ @ 621 NONAME ; class QString QMediaResource::mimeType(void) const
+ ?mimeType@QMediaServiceProviderHint@@QBE?AVQString@@XZ @ 622 NONAME ; class QString QMediaServiceProviderHint::mimeType(void) const
+ ?moveEvent@QVideoWidget@@MAEXPAVQMoveEvent@@@Z @ 623 NONAME ; void QVideoWidget::moveEvent(class QMoveEvent *)
+ ?mutedChanged@QMediaPlayer@@IAEX_N@Z @ 624 NONAME ; void QMediaPlayer::mutedChanged(bool)
+ ?mutedChanged@QMediaPlayerControl@@IAEX_N@Z @ 625 NONAME ; void QMediaPlayerControl::mutedChanged(bool)
+ ?nativeSize@QGraphicsVideoItem@@QBE?AVQSizeF@@XZ @ 626 NONAME ; class QSizeF QGraphicsVideoItem::nativeSize(void) const
+ ?nativeSizeChanged@QGraphicsVideoItem@@IAEXABVQSizeF@@@Z @ 627 NONAME ; void QGraphicsVideoItem::nativeSizeChanged(class QSizeF const &)
+ ?nativeSizeChanged@QVideoWindowControl@@IAEXXZ @ 628 NONAME ; void QVideoWindowControl::nativeSizeChanged(void)
+ ?next@QMediaPlaylist@@QAEXXZ @ 629 NONAME ; void QMediaPlaylist::next(void)
+ ?next@QMediaPlaylistNavigator@@QAEXXZ @ 630 NONAME ; void QMediaPlaylistNavigator::next(void)
+ ?nextIndex@QMediaPlaylist@@QBEHH@Z @ 631 NONAME ; int QMediaPlaylist::nextIndex(int) const
+ ?nextIndex@QMediaPlaylistNavigator@@QBEHH@Z @ 632 NONAME ; int QMediaPlaylistNavigator::nextIndex(int) const
+ ?nextItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 633 NONAME ; class QMediaContent QMediaPlaylistNavigator::nextItem(int) const
+ ?normalized@QMediaTimeInterval@@QBE?AV1@XZ @ 634 NONAME ; class QMediaTimeInterval QMediaTimeInterval::normalized(void) const
+ ?notifyInterval@QMediaObject@@QBEHXZ @ 635 NONAME ; int QMediaObject::notifyInterval(void) const
+ ?notifyIntervalChanged@QMediaObject@@IAEXH@Z @ 636 NONAME ; void QMediaObject::notifyIntervalChanged(int)
+ ?offset@QGraphicsVideoItem@@QBE?AVQPointF@@XZ @ 637 NONAME ; class QPointF QGraphicsVideoItem::offset(void) const
+ ?paint@QGraphicsVideoItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 638 NONAME ; void QGraphicsVideoItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QPainterVideoSurface@@QAEXPAVQPainter@@ABVQRectF@@1@Z @ 639 NONAME ; void QPainterVideoSurface::paint(class QPainter *, class QRectF const &, class QRectF const &)
+ ?paintEvent@QVideoWidget@@MAEXPAVQPaintEvent@@@Z @ 640 NONAME ; void QVideoWidget::paintEvent(class QPaintEvent *)
+ ?pause@QMediaPlayer@@QAEXXZ @ 641 NONAME ; void QMediaPlayer::pause(void)
+ ?play@QMediaPlayer@@QAEXXZ @ 642 NONAME ; void QMediaPlayer::play(void)
+ ?playbackMode@QMediaPlaylist@@QBE?AW4PlaybackMode@1@XZ @ 643 NONAME ; enum QMediaPlaylist::PlaybackMode QMediaPlaylist::playbackMode(void) const
+ ?playbackMode@QMediaPlaylistNavigator@@QBE?AW4PlaybackMode@QMediaPlaylist@@XZ @ 644 NONAME ; enum QMediaPlaylist::PlaybackMode QMediaPlaylistNavigator::playbackMode(void) const
+ ?playbackModeChanged@QMediaPlaylist@@IAEXW4PlaybackMode@1@@Z @ 645 NONAME ; void QMediaPlaylist::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
+ ?playbackModeChanged@QMediaPlaylistControl@@IAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 646 NONAME ; void QMediaPlaylistControl::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
+ ?playbackModeChanged@QMediaPlaylistNavigator@@IAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 647 NONAME ; void QMediaPlaylistNavigator::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
+ ?playbackRate@QMediaPlayer@@QBEMXZ @ 648 NONAME ; float QMediaPlayer::playbackRate(void) const
+ ?playbackRateChanged@QMediaPlayer@@IAEXM@Z @ 649 NONAME ; void QMediaPlayer::playbackRateChanged(float)
+ ?playbackRateChanged@QMediaPlayerControl@@IAEXM@Z @ 650 NONAME ; void QMediaPlayerControl::playbackRateChanged(float)
+ ?playlist@QMediaPlaylistNavigator@@QBEPAVQMediaPlaylistProvider@@XZ @ 651 NONAME ; class QMediaPlaylistProvider * QMediaPlaylistNavigator::playlist(void) const
+ ?playlistProviderChanged@QMediaPlaylistControl@@IAEXXZ @ 652 NONAME ; void QMediaPlaylistControl::playlistProviderChanged(void)
+ ?position@QMediaPlayer@@QBE_JXZ @ 653 NONAME ; long long QMediaPlayer::position(void) const
+ ?positionChanged@QMediaPlayer@@IAEX_J@Z @ 654 NONAME ; void QMediaPlayer::positionChanged(long long)
+ ?positionChanged@QMediaPlayerControl@@IAEX_J@Z @ 655 NONAME ; void QMediaPlayerControl::positionChanged(long long)
+ ?present@QPainterVideoSurface@@UAE_NABVQVideoFrame@@@Z @ 656 NONAME ; bool QPainterVideoSurface::present(class QVideoFrame const &)
+ ?previous@QMediaPlaylist@@QAEXXZ @ 657 NONAME ; void QMediaPlaylist::previous(void)
+ ?previous@QMediaPlaylistNavigator@@QAEXXZ @ 658 NONAME ; void QMediaPlaylistNavigator::previous(void)
+ ?previousIndex@QMediaPlaylist@@QBEHH@Z @ 659 NONAME ; int QMediaPlaylist::previousIndex(int) const
+ ?previousIndex@QMediaPlaylistNavigator@@QBEHH@Z @ 660 NONAME ; int QMediaPlaylistNavigator::previousIndex(int) const
+ ?previousItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 661 NONAME ; class QMediaContent QMediaPlaylistNavigator::previousItem(int) const
+ ?qRegisterDeclarativeElements@QtMultimedia@@YAXPBD@Z @ 662 NONAME ; void QtMultimedia::qRegisterDeclarativeElements(char const *)
+ ?qt_metacall@QGraphicsVideoItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 663 NONAME ; int QGraphicsVideoItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QLocalMediaPlaylistProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 664 NONAME ; int QLocalMediaPlaylistProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 665 NONAME ; int QMediaControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 666 NONAME ; int QMediaObject::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlayer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 667 NONAME ; int QMediaPlayer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlayerControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 668 NONAME ; int QMediaPlayerControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlaylist@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 669 NONAME ; int QMediaPlaylist::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlaylistControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 670 NONAME ; int QMediaPlaylistControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlaylistIOPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 671 NONAME ; int QMediaPlaylistIOPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlaylistNavigator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 672 NONAME ; int QMediaPlaylistNavigator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaPlaylistProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 673 NONAME ; int QMediaPlaylistProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 674 NONAME ; int QMediaService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaServiceProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 675 NONAME ; int QMediaServiceProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMediaServiceProviderPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 676 NONAME ; int QMediaServiceProviderPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QMetaDataControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 677 NONAME ; int QMetaDataControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QPainterVideoSurface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 678 NONAME ; int QPainterVideoSurface::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoDeviceControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 679 NONAME ; int QVideoDeviceControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoOutputControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 680 NONAME ; int QVideoOutputControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoRendererControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 681 NONAME ; int QVideoRendererControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 682 NONAME ; int QVideoWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoWidgetControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 683 NONAME ; int QVideoWidgetControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QVideoWindowControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 684 NONAME ; int QVideoWindowControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QGraphicsVideoItem@@UAEPAXPBD@Z @ 685 NONAME ; void * QGraphicsVideoItem::qt_metacast(char const *)
+ ?qt_metacast@QLocalMediaPlaylistProvider@@UAEPAXPBD@Z @ 686 NONAME ; void * QLocalMediaPlaylistProvider::qt_metacast(char const *)
+ ?qt_metacast@QMediaControl@@UAEPAXPBD@Z @ 687 NONAME ; void * QMediaControl::qt_metacast(char const *)
+ ?qt_metacast@QMediaObject@@UAEPAXPBD@Z @ 688 NONAME ; void * QMediaObject::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlayer@@UAEPAXPBD@Z @ 689 NONAME ; void * QMediaPlayer::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlayerControl@@UAEPAXPBD@Z @ 690 NONAME ; void * QMediaPlayerControl::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlaylist@@UAEPAXPBD@Z @ 691 NONAME ; void * QMediaPlaylist::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlaylistControl@@UAEPAXPBD@Z @ 692 NONAME ; void * QMediaPlaylistControl::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlaylistIOPlugin@@UAEPAXPBD@Z @ 693 NONAME ; void * QMediaPlaylistIOPlugin::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlaylistNavigator@@UAEPAXPBD@Z @ 694 NONAME ; void * QMediaPlaylistNavigator::qt_metacast(char const *)
+ ?qt_metacast@QMediaPlaylistProvider@@UAEPAXPBD@Z @ 695 NONAME ; void * QMediaPlaylistProvider::qt_metacast(char const *)
+ ?qt_metacast@QMediaService@@UAEPAXPBD@Z @ 696 NONAME ; void * QMediaService::qt_metacast(char const *)
+ ?qt_metacast@QMediaServiceProvider@@UAEPAXPBD@Z @ 697 NONAME ; void * QMediaServiceProvider::qt_metacast(char const *)
+ ?qt_metacast@QMediaServiceProviderPlugin@@UAEPAXPBD@Z @ 698 NONAME ; void * QMediaServiceProviderPlugin::qt_metacast(char const *)
+ ?qt_metacast@QMetaDataControl@@UAEPAXPBD@Z @ 699 NONAME ; void * QMetaDataControl::qt_metacast(char const *)
+ ?qt_metacast@QPainterVideoSurface@@UAEPAXPBD@Z @ 700 NONAME ; void * QPainterVideoSurface::qt_metacast(char const *)
+ ?qt_metacast@QVideoDeviceControl@@UAEPAXPBD@Z @ 701 NONAME ; void * QVideoDeviceControl::qt_metacast(char const *)
+ ?qt_metacast@QVideoOutputControl@@UAEPAXPBD@Z @ 702 NONAME ; void * QVideoOutputControl::qt_metacast(char const *)
+ ?qt_metacast@QVideoRendererControl@@UAEPAXPBD@Z @ 703 NONAME ; void * QVideoRendererControl::qt_metacast(char const *)
+ ?qt_metacast@QVideoWidget@@UAEPAXPBD@Z @ 704 NONAME ; void * QVideoWidget::qt_metacast(char const *)
+ ?qt_metacast@QVideoWidgetControl@@UAEPAXPBD@Z @ 705 NONAME ; void * QVideoWidgetControl::qt_metacast(char const *)
+ ?qt_metacast@QVideoWindowControl@@UAEPAXPBD@Z @ 706 NONAME ; void * QVideoWindowControl::qt_metacast(char const *)
+ ?removeInterval@QMediaTimeRange@@QAEXABVQMediaTimeInterval@@@Z @ 707 NONAME ; void QMediaTimeRange::removeInterval(class QMediaTimeInterval const &)
+ ?removeInterval@QMediaTimeRange@@QAEX_J0@Z @ 708 NONAME ; void QMediaTimeRange::removeInterval(long long, long long)
+ ?removeMedia@QLocalMediaPlaylistProvider@@UAE_NH@Z @ 709 NONAME ; bool QLocalMediaPlaylistProvider::removeMedia(int)
+ ?removeMedia@QLocalMediaPlaylistProvider@@UAE_NHH@Z @ 710 NONAME ; bool QLocalMediaPlaylistProvider::removeMedia(int, int)
+ ?removeMedia@QMediaPlaylist@@QAE_NH@Z @ 711 NONAME ; bool QMediaPlaylist::removeMedia(int)
+ ?removeMedia@QMediaPlaylist@@QAE_NHH@Z @ 712 NONAME ; bool QMediaPlaylist::removeMedia(int, int)
+ ?removeMedia@QMediaPlaylistProvider@@UAE_NH@Z @ 713 NONAME ; bool QMediaPlaylistProvider::removeMedia(int)
+ ?removeMedia@QMediaPlaylistProvider@@UAE_NHH@Z @ 714 NONAME ; bool QMediaPlaylistProvider::removeMedia(int, int)
+ ?removePropertyWatch@QMediaObject@@IAEXABVQByteArray@@@Z @ 715 NONAME ; void QMediaObject::removePropertyWatch(class QByteArray const &)
+ ?removeTimeRange@QMediaTimeRange@@QAEXABV1@@Z @ 716 NONAME ; void QMediaTimeRange::removeTimeRange(class QMediaTimeRange const &)
+ ?request@QMediaResource@@QBE?AVQNetworkRequest@@XZ @ 717 NONAME ; class QNetworkRequest QMediaResource::request(void) const
+ ?resizeEvent@QVideoWidget@@MAEXPAVQResizeEvent@@@Z @ 718 NONAME ; void QVideoWidget::resizeEvent(class QResizeEvent *)
+ ?resolution@QMediaResource@@QBE?AVQSize@@XZ @ 719 NONAME ; class QSize QMediaResource::resolution(void) const
+ ?resources@QMediaContent@@QBE?AV?$QList@VQMediaResource@@@@XZ @ 720 NONAME ; class QList<class QMediaResource> QMediaContent::resources(void) const
+ ?sampleRate@QAudioFormat@@QBEHXZ @ 721 NONAME ; int QAudioFormat::sampleRate(void) const
+ ?sampleRate@QMediaResource@@QBEHXZ @ 722 NONAME ; int QMediaResource::sampleRate(void) const
+ ?saturation@QPainterVideoSurface@@QBEHXZ @ 723 NONAME ; int QPainterVideoSurface::saturation(void) const
+ ?saturation@QVideoWidget@@QBEHXZ @ 724 NONAME ; int QVideoWidget::saturation(void) const
+ ?saturationChanged@QVideoWidget@@IAEXH@Z @ 725 NONAME ; void QVideoWidget::saturationChanged(int)
+ ?saturationChanged@QVideoWidgetControl@@IAEXH@Z @ 726 NONAME ; void QVideoWidgetControl::saturationChanged(int)
+ ?saturationChanged@QVideoWindowControl@@IAEXH@Z @ 727 NONAME ; void QVideoWindowControl::saturationChanged(int)
+ ?save@QMediaPlaylist@@QAE_NABVQUrl@@PBD@Z @ 728 NONAME ; bool QMediaPlaylist::save(class QUrl const &, char const *)
+ ?save@QMediaPlaylist@@QAE_NPAVQIODevice@@PBD@Z @ 729 NONAME ; bool QMediaPlaylist::save(class QIODevice *, char const *)
+ ?save@QMediaPlaylistProvider@@UAE_NABVQUrl@@PBD@Z @ 730 NONAME ; bool QMediaPlaylistProvider::save(class QUrl const &, char const *)
+ ?save@QMediaPlaylistProvider@@UAE_NPAVQIODevice@@PBD@Z @ 731 NONAME ; bool QMediaPlaylistProvider::save(class QIODevice *, char const *)
+ ?seekableChanged@QMediaPlayer@@IAEX_N@Z @ 732 NONAME ; void QMediaPlayer::seekableChanged(bool)
+ ?seekableChanged@QMediaPlayerControl@@IAEX_N@Z @ 733 NONAME ; void QMediaPlayerControl::seekableChanged(bool)
+ ?selectedDeviceChanged@QVideoDeviceControl@@IAEXABVQString@@@Z @ 734 NONAME ; void QVideoDeviceControl::selectedDeviceChanged(class QString const &)
+ ?selectedDeviceChanged@QVideoDeviceControl@@IAEXH@Z @ 735 NONAME ; void QVideoDeviceControl::selectedDeviceChanged(int)
+ ?service@QMediaObject@@UBEPAVQMediaService@@XZ @ 736 NONAME ; class QMediaService * QMediaObject::service(void) const
+ ?setAspectRatioMode@QGraphicsVideoItem@@QAEXW4AspectRatioMode@Qt@@@Z @ 737 NONAME ; void QGraphicsVideoItem::setAspectRatioMode(enum Qt::AspectRatioMode)
+ ?setAspectRatioMode@QVideoWidget@@QAEXW4AspectRatioMode@1@@Z @ 738 NONAME ; void QVideoWidget::setAspectRatioMode(enum QVideoWidget::AspectRatioMode)
+ ?setAudioBitRate@QMediaResource@@QAEXH@Z @ 739 NONAME ; void QMediaResource::setAudioBitRate(int)
+ ?setAudioCodec@QMediaResource@@QAEXABVQString@@@Z @ 740 NONAME ; void QMediaResource::setAudioCodec(class QString const &)
+ ?setBrightness@QPainterVideoSurface@@QAEXH@Z @ 741 NONAME ; void QPainterVideoSurface::setBrightness(int)
+ ?setBrightness@QVideoWidget@@QAEXH@Z @ 742 NONAME ; void QVideoWidget::setBrightness(int)
+ ?setChannelCount@QAudioFormat@@QAEXH@Z @ 743 NONAME ; void QAudioFormat::setChannelCount(int)
+ ?setChannelCount@QMediaResource@@QAEXH@Z @ 744 NONAME ; void QMediaResource::setChannelCount(int)
+ ?setContrast@QPainterVideoSurface@@QAEXH@Z @ 745 NONAME ; void QPainterVideoSurface::setContrast(int)
+ ?setContrast@QVideoWidget@@QAEXH@Z @ 746 NONAME ; void QVideoWidget::setContrast(int)
+ ?setCurrentIndex@QMediaPlaylist@@QAEXH@Z @ 747 NONAME ; void QMediaPlaylist::setCurrentIndex(int)
+ ?setDataSize@QMediaResource@@QAEX_J@Z @ 748 NONAME ; void QMediaResource::setDataSize(long long)
+ ?setExtendedMetaData@QMediaObject@@QAEXABVQString@@ABVQVariant@@@Z @ 749 NONAME ; void QMediaObject::setExtendedMetaData(class QString const &, class QVariant const &)
+ ?setFullScreen@QVideoWidget@@QAEX_N@Z @ 750 NONAME ; void QVideoWidget::setFullScreen(bool)
+ ?setHue@QPainterVideoSurface@@QAEXH@Z @ 751 NONAME ; void QPainterVideoSurface::setHue(int)
+ ?setHue@QVideoWidget@@QAEXH@Z @ 752 NONAME ; void QVideoWidget::setHue(int)
+ ?setLanguage@QMediaResource@@QAEXABVQString@@@Z @ 753 NONAME ; void QMediaResource::setLanguage(class QString const &)
+ ?setMedia@QMediaPlayer@@QAEXABVQMediaContent@@PAVQIODevice@@@Z @ 754 NONAME ; void QMediaPlayer::setMedia(class QMediaContent const &, class QIODevice *)
+ ?setMediaObject@QGraphicsVideoItem@@QAEXPAVQMediaObject@@@Z @ 755 NONAME ; void QGraphicsVideoItem::setMediaObject(class QMediaObject *)
+ ?setMediaObject@QMediaPlaylist@@QAEXPAVQMediaObject@@@Z @ 756 NONAME ; void QMediaPlaylist::setMediaObject(class QMediaObject *)
+ ?setMediaObject@QVideoWidget@@QAEXPAVQMediaObject@@@Z @ 757 NONAME ; void QVideoWidget::setMediaObject(class QMediaObject *)
+ ?setMetaData@QMediaObject@@QAEXW4MetaData@QtMultimedia@@ABVQVariant@@@Z @ 758 NONAME ; void QMediaObject::setMetaData(enum QtMultimedia::MetaData, class QVariant const &)
+ ?setMuted@QMediaPlayer@@QAEX_N@Z @ 759 NONAME ; void QMediaPlayer::setMuted(bool)
+ ?setNotifyInterval@QMediaObject@@QAEXH@Z @ 760 NONAME ; void QMediaObject::setNotifyInterval(int)
+ ?setOffset@QGraphicsVideoItem@@QAEXABVQPointF@@@Z @ 761 NONAME ; void QGraphicsVideoItem::setOffset(class QPointF const &)
+ ?setPlaybackMode@QMediaPlaylist@@QAEXW4PlaybackMode@1@@Z @ 762 NONAME ; void QMediaPlaylist::setPlaybackMode(enum QMediaPlaylist::PlaybackMode)
+ ?setPlaybackMode@QMediaPlaylistNavigator@@QAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 763 NONAME ; void QMediaPlaylistNavigator::setPlaybackMode(enum QMediaPlaylist::PlaybackMode)
+ ?setPlaybackRate@QMediaPlayer@@QAEXM@Z @ 764 NONAME ; void QMediaPlayer::setPlaybackRate(float)
+ ?setPlaylist@QMediaPlaylistNavigator@@QAEXPAVQMediaPlaylistProvider@@@Z @ 765 NONAME ; void QMediaPlaylistNavigator::setPlaylist(class QMediaPlaylistProvider *)
+ ?setPosition@QMediaPlayer@@QAEX_J@Z @ 766 NONAME ; void QMediaPlayer::setPosition(long long)
+ ?setReady@QPainterVideoSurface@@QAEX_N@Z @ 767 NONAME ; void QPainterVideoSurface::setReady(bool)
+ ?setResolution@QMediaResource@@QAEXABVQSize@@@Z @ 768 NONAME ; void QMediaResource::setResolution(class QSize const &)
+ ?setResolution@QMediaResource@@QAEXHH@Z @ 769 NONAME ; void QMediaResource::setResolution(int, int)
+ ?setSampleRate@QAudioFormat@@QAEXH@Z @ 770 NONAME ; void QAudioFormat::setSampleRate(int)
+ ?setSampleRate@QMediaResource@@QAEXH@Z @ 771 NONAME ; void QMediaResource::setSampleRate(int)
+ ?setSaturation@QPainterVideoSurface@@QAEXH@Z @ 772 NONAME ; void QPainterVideoSurface::setSaturation(int)
+ ?setSaturation@QVideoWidget@@QAEXH@Z @ 773 NONAME ; void QVideoWidget::setSaturation(int)
+ ?setSize@QGraphicsVideoItem@@QAEXABVQSizeF@@@Z @ 774 NONAME ; void QGraphicsVideoItem::setSize(class QSizeF const &)
+ ?setVideoBitRate@QMediaResource@@QAEXH@Z @ 775 NONAME ; void QMediaResource::setVideoBitRate(int)
+ ?setVideoCodec@QMediaResource@@QAEXABVQString@@@Z @ 776 NONAME ; void QMediaResource::setVideoCodec(class QString const &)
+ ?setVolume@QMediaPlayer@@QAEXH@Z @ 777 NONAME ; void QMediaPlayer::setVolume(int)
+ ?setupMetaData@QMediaObject@@AAEXXZ @ 778 NONAME ; void QMediaObject::setupMetaData(void)
+ ?showEvent@QVideoWidget@@MAEXPAVQShowEvent@@@Z @ 779 NONAME ; void QVideoWidget::showEvent(class QShowEvent *)
+ ?shuffle@QLocalMediaPlaylistProvider@@UAEXXZ @ 780 NONAME ; void QLocalMediaPlaylistProvider::shuffle(void)
+ ?shuffle@QMediaPlaylist@@QAEXXZ @ 781 NONAME ; void QMediaPlaylist::shuffle(void)
+ ?shuffle@QMediaPlaylistProvider@@UAEXXZ @ 782 NONAME ; void QMediaPlaylistProvider::shuffle(void)
+ ?size@QGraphicsVideoItem@@QBE?AVQSizeF@@XZ @ 783 NONAME ; class QSizeF QGraphicsVideoItem::size(void) const
+ ?sizeHint@QVideoWidget@@UBE?AVQSize@@XZ @ 784 NONAME ; class QSize QVideoWidget::sizeHint(void) const
+ ?start@QMediaTimeInterval@@QBE_JXZ @ 785 NONAME ; long long QMediaTimeInterval::start(void) const
+ ?start@QPainterVideoSurface@@UAE_NABVQVideoSurfaceFormat@@@Z @ 786 NONAME ; bool QPainterVideoSurface::start(class QVideoSurfaceFormat const &)
+ ?state@QMediaPlayer@@QBE?AW4State@1@XZ @ 787 NONAME ; enum QMediaPlayer::State QMediaPlayer::state(void) const
+ ?stateChanged@QMediaPlayer@@IAEXW4State@1@@Z @ 788 NONAME ; void QMediaPlayer::stateChanged(enum QMediaPlayer::State)
+ ?stateChanged@QMediaPlayerControl@@IAEXW4State@QMediaPlayer@@@Z @ 789 NONAME ; void QMediaPlayerControl::stateChanged(enum QMediaPlayer::State)
+ ?stop@QMediaPlayer@@QAEXXZ @ 790 NONAME ; void QMediaPlayer::stop(void)
+ ?stop@QPainterVideoSurface@@UAEXXZ @ 791 NONAME ; void QPainterVideoSurface::stop(void)
+ ?supportedChannelCounts@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 792 NONAME ; class QList<int> QAudioDeviceInfo::supportedChannelCounts(void) const
+ ?supportedMimeTypes@QMediaPlayer@@SA?AVQStringList@@V?$QFlags@W4Flag@QMediaPlayer@@@@@Z @ 793 NONAME ; class QStringList QMediaPlayer::supportedMimeTypes(class QFlags<enum QMediaPlayer::Flag>)
+ ?supportedMimeTypes@QMediaServiceProvider@@UBE?AVQStringList@@ABVQByteArray@@H@Z @ 794 NONAME ; class QStringList QMediaServiceProvider::supportedMimeTypes(class QByteArray const &, int) const
+ ?supportedPixelFormats@QPainterVideoSurface@@UBE?AV?$QList@W4PixelFormat@QVideoFrame@@@@W4HandleType@QAbstractVideoBuffer@@@Z @ 795 NONAME ; class QList<enum QVideoFrame::PixelFormat> QPainterVideoSurface::supportedPixelFormats(enum QAbstractVideoBuffer::HandleType) const
+ ?supportedSampleRates@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 796 NONAME ; class QList<int> QAudioDeviceInfo::supportedSampleRates(void) const
+ ?surroundingItemsChanged@QMediaPlaylistNavigator@@IAEXXZ @ 797 NONAME ; void QMediaPlaylistNavigator::surroundingItemsChanged(void)
+ ?tr@QGraphicsVideoItem@@SA?AVQString@@PBD0@Z @ 798 NONAME ; class QString QGraphicsVideoItem::tr(char const *, char const *)
+ ?tr@QGraphicsVideoItem@@SA?AVQString@@PBD0H@Z @ 799 NONAME ; class QString QGraphicsVideoItem::tr(char const *, char const *, int)
+ ?tr@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 800 NONAME ; class QString QLocalMediaPlaylistProvider::tr(char const *, char const *)
+ ?tr@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 801 NONAME ; class QString QLocalMediaPlaylistProvider::tr(char const *, char const *, int)
+ ?tr@QMediaControl@@SA?AVQString@@PBD0@Z @ 802 NONAME ; class QString QMediaControl::tr(char const *, char const *)
+ ?tr@QMediaControl@@SA?AVQString@@PBD0H@Z @ 803 NONAME ; class QString QMediaControl::tr(char const *, char const *, int)
+ ?tr@QMediaObject@@SA?AVQString@@PBD0@Z @ 804 NONAME ; class QString QMediaObject::tr(char const *, char const *)
+ ?tr@QMediaObject@@SA?AVQString@@PBD0H@Z @ 805 NONAME ; class QString QMediaObject::tr(char const *, char const *, int)
+ ?tr@QMediaPlayer@@SA?AVQString@@PBD0@Z @ 806 NONAME ; class QString QMediaPlayer::tr(char const *, char const *)
+ ?tr@QMediaPlayer@@SA?AVQString@@PBD0H@Z @ 807 NONAME ; class QString QMediaPlayer::tr(char const *, char const *, int)
+ ?tr@QMediaPlayerControl@@SA?AVQString@@PBD0@Z @ 808 NONAME ; class QString QMediaPlayerControl::tr(char const *, char const *)
+ ?tr@QMediaPlayerControl@@SA?AVQString@@PBD0H@Z @ 809 NONAME ; class QString QMediaPlayerControl::tr(char const *, char const *, int)
+ ?tr@QMediaPlaylist@@SA?AVQString@@PBD0@Z @ 810 NONAME ; class QString QMediaPlaylist::tr(char const *, char const *)
+ ?tr@QMediaPlaylist@@SA?AVQString@@PBD0H@Z @ 811 NONAME ; class QString QMediaPlaylist::tr(char const *, char const *, int)
+ ?tr@QMediaPlaylistControl@@SA?AVQString@@PBD0@Z @ 812 NONAME ; class QString QMediaPlaylistControl::tr(char const *, char const *)
+ ?tr@QMediaPlaylistControl@@SA?AVQString@@PBD0H@Z @ 813 NONAME ; class QString QMediaPlaylistControl::tr(char const *, char const *, int)
+ ?tr@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0@Z @ 814 NONAME ; class QString QMediaPlaylistIOPlugin::tr(char const *, char const *)
+ ?tr@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0H@Z @ 815 NONAME ; class QString QMediaPlaylistIOPlugin::tr(char const *, char const *, int)
+ ?tr@QMediaPlaylistNavigator@@SA?AVQString@@PBD0@Z @ 816 NONAME ; class QString QMediaPlaylistNavigator::tr(char const *, char const *)
+ ?tr@QMediaPlaylistNavigator@@SA?AVQString@@PBD0H@Z @ 817 NONAME ; class QString QMediaPlaylistNavigator::tr(char const *, char const *, int)
+ ?tr@QMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 818 NONAME ; class QString QMediaPlaylistProvider::tr(char const *, char const *)
+ ?tr@QMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 819 NONAME ; class QString QMediaPlaylistProvider::tr(char const *, char const *, int)
+ ?tr@QMediaService@@SA?AVQString@@PBD0@Z @ 820 NONAME ; class QString QMediaService::tr(char const *, char const *)
+ ?tr@QMediaService@@SA?AVQString@@PBD0H@Z @ 821 NONAME ; class QString QMediaService::tr(char const *, char const *, int)
+ ?tr@QMediaServiceProvider@@SA?AVQString@@PBD0@Z @ 822 NONAME ; class QString QMediaServiceProvider::tr(char const *, char const *)
+ ?tr@QMediaServiceProvider@@SA?AVQString@@PBD0H@Z @ 823 NONAME ; class QString QMediaServiceProvider::tr(char const *, char const *, int)
+ ?tr@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0@Z @ 824 NONAME ; class QString QMediaServiceProviderPlugin::tr(char const *, char const *)
+ ?tr@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0H@Z @ 825 NONAME ; class QString QMediaServiceProviderPlugin::tr(char const *, char const *, int)
+ ?tr@QMetaDataControl@@SA?AVQString@@PBD0@Z @ 826 NONAME ; class QString QMetaDataControl::tr(char const *, char const *)
+ ?tr@QMetaDataControl@@SA?AVQString@@PBD0H@Z @ 827 NONAME ; class QString QMetaDataControl::tr(char const *, char const *, int)
+ ?tr@QPainterVideoSurface@@SA?AVQString@@PBD0@Z @ 828 NONAME ; class QString QPainterVideoSurface::tr(char const *, char const *)
+ ?tr@QPainterVideoSurface@@SA?AVQString@@PBD0H@Z @ 829 NONAME ; class QString QPainterVideoSurface::tr(char const *, char const *, int)
+ ?tr@QVideoDeviceControl@@SA?AVQString@@PBD0@Z @ 830 NONAME ; class QString QVideoDeviceControl::tr(char const *, char const *)
+ ?tr@QVideoDeviceControl@@SA?AVQString@@PBD0H@Z @ 831 NONAME ; class QString QVideoDeviceControl::tr(char const *, char const *, int)
+ ?tr@QVideoOutputControl@@SA?AVQString@@PBD0@Z @ 832 NONAME ; class QString QVideoOutputControl::tr(char const *, char const *)
+ ?tr@QVideoOutputControl@@SA?AVQString@@PBD0H@Z @ 833 NONAME ; class QString QVideoOutputControl::tr(char const *, char const *, int)
+ ?tr@QVideoRendererControl@@SA?AVQString@@PBD0@Z @ 834 NONAME ; class QString QVideoRendererControl::tr(char const *, char const *)
+ ?tr@QVideoRendererControl@@SA?AVQString@@PBD0H@Z @ 835 NONAME ; class QString QVideoRendererControl::tr(char const *, char const *, int)
+ ?tr@QVideoWidget@@SA?AVQString@@PBD0@Z @ 836 NONAME ; class QString QVideoWidget::tr(char const *, char const *)
+ ?tr@QVideoWidget@@SA?AVQString@@PBD0H@Z @ 837 NONAME ; class QString QVideoWidget::tr(char const *, char const *, int)
+ ?tr@QVideoWidgetControl@@SA?AVQString@@PBD0@Z @ 838 NONAME ; class QString QVideoWidgetControl::tr(char const *, char const *)
+ ?tr@QVideoWidgetControl@@SA?AVQString@@PBD0H@Z @ 839 NONAME ; class QString QVideoWidgetControl::tr(char const *, char const *, int)
+ ?tr@QVideoWindowControl@@SA?AVQString@@PBD0@Z @ 840 NONAME ; class QString QVideoWindowControl::tr(char const *, char const *)
+ ?tr@QVideoWindowControl@@SA?AVQString@@PBD0H@Z @ 841 NONAME ; class QString QVideoWindowControl::tr(char const *, char const *, int)
+ ?trUtf8@QGraphicsVideoItem@@SA?AVQString@@PBD0@Z @ 842 NONAME ; class QString QGraphicsVideoItem::trUtf8(char const *, char const *)
+ ?trUtf8@QGraphicsVideoItem@@SA?AVQString@@PBD0H@Z @ 843 NONAME ; class QString QGraphicsVideoItem::trUtf8(char const *, char const *, int)
+ ?trUtf8@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 844 NONAME ; class QString QLocalMediaPlaylistProvider::trUtf8(char const *, char const *)
+ ?trUtf8@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 845 NONAME ; class QString QLocalMediaPlaylistProvider::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaControl@@SA?AVQString@@PBD0@Z @ 846 NONAME ; class QString QMediaControl::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaControl@@SA?AVQString@@PBD0H@Z @ 847 NONAME ; class QString QMediaControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaObject@@SA?AVQString@@PBD0@Z @ 848 NONAME ; class QString QMediaObject::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaObject@@SA?AVQString@@PBD0H@Z @ 849 NONAME ; class QString QMediaObject::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlayer@@SA?AVQString@@PBD0@Z @ 850 NONAME ; class QString QMediaPlayer::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlayer@@SA?AVQString@@PBD0H@Z @ 851 NONAME ; class QString QMediaPlayer::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlayerControl@@SA?AVQString@@PBD0@Z @ 852 NONAME ; class QString QMediaPlayerControl::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlayerControl@@SA?AVQString@@PBD0H@Z @ 853 NONAME ; class QString QMediaPlayerControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlaylist@@SA?AVQString@@PBD0@Z @ 854 NONAME ; class QString QMediaPlaylist::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlaylist@@SA?AVQString@@PBD0H@Z @ 855 NONAME ; class QString QMediaPlaylist::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlaylistControl@@SA?AVQString@@PBD0@Z @ 856 NONAME ; class QString QMediaPlaylistControl::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlaylistControl@@SA?AVQString@@PBD0H@Z @ 857 NONAME ; class QString QMediaPlaylistControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0@Z @ 858 NONAME ; class QString QMediaPlaylistIOPlugin::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0H@Z @ 859 NONAME ; class QString QMediaPlaylistIOPlugin::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlaylistNavigator@@SA?AVQString@@PBD0@Z @ 860 NONAME ; class QString QMediaPlaylistNavigator::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlaylistNavigator@@SA?AVQString@@PBD0H@Z @ 861 NONAME ; class QString QMediaPlaylistNavigator::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 862 NONAME ; class QString QMediaPlaylistProvider::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 863 NONAME ; class QString QMediaPlaylistProvider::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaService@@SA?AVQString@@PBD0@Z @ 864 NONAME ; class QString QMediaService::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaService@@SA?AVQString@@PBD0H@Z @ 865 NONAME ; class QString QMediaService::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaServiceProvider@@SA?AVQString@@PBD0@Z @ 866 NONAME ; class QString QMediaServiceProvider::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaServiceProvider@@SA?AVQString@@PBD0H@Z @ 867 NONAME ; class QString QMediaServiceProvider::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0@Z @ 868 NONAME ; class QString QMediaServiceProviderPlugin::trUtf8(char const *, char const *)
+ ?trUtf8@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0H@Z @ 869 NONAME ; class QString QMediaServiceProviderPlugin::trUtf8(char const *, char const *, int)
+ ?trUtf8@QMetaDataControl@@SA?AVQString@@PBD0@Z @ 870 NONAME ; class QString QMetaDataControl::trUtf8(char const *, char const *)
+ ?trUtf8@QMetaDataControl@@SA?AVQString@@PBD0H@Z @ 871 NONAME ; class QString QMetaDataControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QPainterVideoSurface@@SA?AVQString@@PBD0@Z @ 872 NONAME ; class QString QPainterVideoSurface::trUtf8(char const *, char const *)
+ ?trUtf8@QPainterVideoSurface@@SA?AVQString@@PBD0H@Z @ 873 NONAME ; class QString QPainterVideoSurface::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoDeviceControl@@SA?AVQString@@PBD0@Z @ 874 NONAME ; class QString QVideoDeviceControl::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoDeviceControl@@SA?AVQString@@PBD0H@Z @ 875 NONAME ; class QString QVideoDeviceControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoOutputControl@@SA?AVQString@@PBD0@Z @ 876 NONAME ; class QString QVideoOutputControl::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoOutputControl@@SA?AVQString@@PBD0H@Z @ 877 NONAME ; class QString QVideoOutputControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoRendererControl@@SA?AVQString@@PBD0@Z @ 878 NONAME ; class QString QVideoRendererControl::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoRendererControl@@SA?AVQString@@PBD0H@Z @ 879 NONAME ; class QString QVideoRendererControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoWidget@@SA?AVQString@@PBD0@Z @ 880 NONAME ; class QString QVideoWidget::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoWidget@@SA?AVQString@@PBD0H@Z @ 881 NONAME ; class QString QVideoWidget::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoWidgetControl@@SA?AVQString@@PBD0@Z @ 882 NONAME ; class QString QVideoWidgetControl::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoWidgetControl@@SA?AVQString@@PBD0H@Z @ 883 NONAME ; class QString QVideoWidgetControl::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVideoWindowControl@@SA?AVQString@@PBD0@Z @ 884 NONAME ; class QString QVideoWindowControl::trUtf8(char const *, char const *)
+ ?trUtf8@QVideoWindowControl@@SA?AVQString@@PBD0H@Z @ 885 NONAME ; class QString QVideoWindowControl::trUtf8(char const *, char const *, int)
+ ?translated@QMediaTimeInterval@@QBE?AV1@_J@Z @ 886 NONAME ; class QMediaTimeInterval QMediaTimeInterval::translated(long long) const
+ ?type@QMediaServiceProviderHint@@QBE?AW4Type@1@XZ @ 887 NONAME ; enum QMediaServiceProviderHint::Type QMediaServiceProviderHint::type(void) const
+ ?unbind@QMediaObject@@UAEXPAVQObject@@@Z @ 888 NONAME ; void QMediaObject::unbind(class QObject *)
+ ?unbind@QMediaPlayer@@UAEXPAVQObject@@@Z @ 889 NONAME ; void QMediaPlayer::unbind(class QObject *)
+ ?url@QMediaResource@@QBE?AVQUrl@@XZ @ 890 NONAME ; class QUrl QMediaResource::url(void) const
+ ?videoAvailableChanged@QMediaPlayer@@IAEX_N@Z @ 891 NONAME ; void QMediaPlayer::videoAvailableChanged(bool)
+ ?videoAvailableChanged@QMediaPlayerControl@@IAEX_N@Z @ 892 NONAME ; void QMediaPlayerControl::videoAvailableChanged(bool)
+ ?videoBitRate@QMediaResource@@QBEHXZ @ 893 NONAME ; int QMediaResource::videoBitRate(void) const
+ ?videoCodec@QMediaResource@@QBE?AVQString@@XZ @ 894 NONAME ; class QString QMediaResource::videoCodec(void) const
+ ?volume@QMediaPlayer@@QBEHXZ @ 895 NONAME ; int QMediaPlayer::volume(void) const
+ ?volumeChanged@QMediaPlayer@@IAEXH@Z @ 896 NONAME ; void QMediaPlayer::volumeChanged(int)
+ ?volumeChanged@QMediaPlayerControl@@IAEXH@Z @ 897 NONAME ; void QMediaPlayerControl::volumeChanged(int)
+ ?writableChanged@QMetaDataControl@@IAEX_N@Z @ 898 NONAME ; void QMetaDataControl::writableChanged(bool)
+ ?staticMetaObject@QMediaPlaylistProvider@@2UQMetaObject@@B @ 899 NONAME ; struct QMetaObject const QMediaPlaylistProvider::staticMetaObject
+ ?staticMetaObject@QVideoWidget@@2UQMetaObject@@B @ 900 NONAME ; struct QMetaObject const QVideoWidget::staticMetaObject
+ ?staticMetaObject@QMediaPlaylistControl@@2UQMetaObject@@B @ 901 NONAME ; struct QMetaObject const QMediaPlaylistControl::staticMetaObject
+ ?staticMetaObject@QMediaControl@@2UQMetaObject@@B @ 902 NONAME ; struct QMetaObject const QMediaControl::staticMetaObject
+ ?staticMetaObject@QLocalMediaPlaylistProvider@@2UQMetaObject@@B @ 903 NONAME ; struct QMetaObject const QLocalMediaPlaylistProvider::staticMetaObject
+ ?staticMetaObject@QMediaServiceProviderPlugin@@2UQMetaObject@@B @ 904 NONAME ; struct QMetaObject const QMediaServiceProviderPlugin::staticMetaObject
+ ?staticMetaObject@QVideoOutputControl@@2UQMetaObject@@B @ 905 NONAME ; struct QMetaObject const QVideoOutputControl::staticMetaObject
+ ?staticMetaObject@QMetaDataControl@@2UQMetaObject@@B @ 906 NONAME ; struct QMetaObject const QMetaDataControl::staticMetaObject
+ ?staticMetaObject@QMediaPlayer@@2UQMetaObject@@B @ 907 NONAME ; struct QMetaObject const QMediaPlayer::staticMetaObject
+ ?staticMetaObject@QMediaService@@2UQMetaObject@@B @ 908 NONAME ; struct QMetaObject const QMediaService::staticMetaObject
+ ?staticMetaObject@QMediaObject@@2UQMetaObject@@B @ 909 NONAME ; struct QMetaObject const QMediaObject::staticMetaObject
+ ?staticMetaObject@QMediaPlaylist@@2UQMetaObject@@B @ 910 NONAME ; struct QMetaObject const QMediaPlaylist::staticMetaObject
+ ?staticMetaObject@QMediaServiceProvider@@2UQMetaObject@@B @ 911 NONAME ; struct QMetaObject const QMediaServiceProvider::staticMetaObject
+ ?staticMetaObject@QMediaPlayerControl@@2UQMetaObject@@B @ 912 NONAME ; struct QMetaObject const QMediaPlayerControl::staticMetaObject
+ ?staticMetaObject@QMediaPlaylistNavigator@@2UQMetaObject@@B @ 913 NONAME ; struct QMetaObject const QMediaPlaylistNavigator::staticMetaObject
+ ?staticMetaObject@QVideoWidgetControl@@2UQMetaObject@@B @ 914 NONAME ; struct QMetaObject const QVideoWidgetControl::staticMetaObject
+ ?staticMetaObject@QVideoWindowControl@@2UQMetaObject@@B @ 915 NONAME ; struct QMetaObject const QVideoWindowControl::staticMetaObject
+ ?staticMetaObject@QVideoDeviceControl@@2UQMetaObject@@B @ 916 NONAME ; struct QMetaObject const QVideoDeviceControl::staticMetaObject
+ ?staticMetaObject@QVideoRendererControl@@2UQMetaObject@@B @ 917 NONAME ; struct QMetaObject const QVideoRendererControl::staticMetaObject
+ ?staticMetaObject@QPainterVideoSurface@@2UQMetaObject@@B @ 918 NONAME ; struct QMetaObject const QPainterVideoSurface::staticMetaObject
+ ?staticMetaObject@QMediaPlaylistIOPlugin@@2UQMetaObject@@B @ 919 NONAME ; struct QMetaObject const QMediaPlaylistIOPlugin::staticMetaObject
+ ?staticMetaObject@QGraphicsVideoItem@@2UQMetaObject@@B @ 920 NONAME ; struct QMetaObject const QGraphicsVideoItem::staticMetaObject
diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def
index 3d604fc1a2..a24e0f5d6e 100644
--- a/src/s60installs/bwins/QtNetworku.def
+++ b/src/s60installs/bwins/QtNetworku.def
@@ -962,4 +962,168 @@ EXPORTS
?staticMetaObject@QTcpServer@@2UQMetaObject@@B @ 961 NONAME ; struct QMetaObject const QTcpServer::staticMetaObject
?staticMetaObject@QUdpSocket@@2UQMetaObject@@B @ 962 NONAME ; struct QMetaObject const QUdpSocket::staticMetaObject
?staticMetaObject@QAbstractSocket@@2UQMetaObject@@B @ 963 NONAME ; struct QMetaObject const QAbstractSocket::staticMetaObject
+ ??0QBearerEngine@@QAE@PAVQObject@@@Z @ 964 NONAME ; QBearerEngine::QBearerEngine(class QObject *)
+ ??0QBearerEnginePlugin@@QAE@PAVQObject@@@Z @ 965 NONAME ; QBearerEnginePlugin::QBearerEnginePlugin(class QObject *)
+ ??0QNetworkConfiguration@@QAE@ABV0@@Z @ 966 NONAME ; QNetworkConfiguration::QNetworkConfiguration(class QNetworkConfiguration const &)
+ ??0QNetworkConfiguration@@QAE@XZ @ 967 NONAME ; QNetworkConfiguration::QNetworkConfiguration(void)
+ ??0QNetworkConfigurationManager@@QAE@PAVQObject@@@Z @ 968 NONAME ; QNetworkConfigurationManager::QNetworkConfigurationManager(class QObject *)
+ ??0QNetworkConfigurationManagerPrivate@@QAE@XZ @ 969 NONAME ; QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate(void)
+ ??0QNetworkSession@@QAE@ABVQNetworkConfiguration@@PAVQObject@@@Z @ 970 NONAME ; QNetworkSession::QNetworkSession(class QNetworkConfiguration const &, class QObject *)
+ ??0QNetworkSessionPrivate@@QAE@XZ @ 971 NONAME ; QNetworkSessionPrivate::QNetworkSessionPrivate(void)
+ ??1QBearerEngine@@UAE@XZ @ 972 NONAME ; QBearerEngine::~QBearerEngine(void)
+ ??1QBearerEngineFactoryInterface@@UAE@XZ @ 973 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(void)
+ ??1QBearerEnginePlugin@@UAE@XZ @ 974 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(void)
+ ??1QNetworkConfiguration@@QAE@XZ @ 975 NONAME ; QNetworkConfiguration::~QNetworkConfiguration(void)
+ ??1QNetworkConfigurationManager@@UAE@XZ @ 976 NONAME ; QNetworkConfigurationManager::~QNetworkConfigurationManager(void)
+ ??1QNetworkConfigurationManagerPrivate@@UAE@XZ @ 977 NONAME ; QNetworkConfigurationManagerPrivate::~QNetworkConfigurationManagerPrivate(void)
+ ??1QNetworkSession@@UAE@XZ @ 978 NONAME ; QNetworkSession::~QNetworkSession(void)
+ ??1QNetworkSessionPrivate@@UAE@XZ @ 979 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(void)
+ ??4QNetworkConfiguration@@QAEAAV0@ABV0@@Z @ 980 NONAME ; class QNetworkConfiguration & QNetworkConfiguration::operator=(class QNetworkConfiguration const &)
+ ??8QNetworkConfiguration@@QBE_NABV0@@Z @ 981 NONAME ; bool QNetworkConfiguration::operator==(class QNetworkConfiguration const &) const
+ ??9QNetworkConfiguration@@QBE_NABV0@@Z @ 982 NONAME ; bool QNetworkConfiguration::operator!=(class QNetworkConfiguration const &) const
+ ??_EQBearerEngine@@UAE@I@Z @ 983 NONAME ; QBearerEngine::~QBearerEngine(unsigned int)
+ ??_EQBearerEngineFactoryInterface@@UAE@I@Z @ 984 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(unsigned int)
+ ??_EQBearerEnginePlugin@@UAE@I@Z @ 985 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(unsigned int)
+ ??_EQNetworkConfigurationManager@@UAE@I@Z @ 986 NONAME ; QNetworkConfigurationManager::~QNetworkConfigurationManager(unsigned int)
+ ??_EQNetworkConfigurationManagerPrivate@@UAE@I@Z @ 987 NONAME ; QNetworkConfigurationManagerPrivate::~QNetworkConfigurationManagerPrivate(unsigned int)
+ ??_EQNetworkSession@@UAE@I@Z @ 988 NONAME ; QNetworkSession::~QNetworkSession(unsigned int)
+ ??_EQNetworkSessionPrivate@@UAE@I@Z @ 989 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(unsigned int)
+ ?abort@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 990 NONAME ; void QNetworkConfigurationManagerPrivate::abort(void)
+ ?accept@QNetworkSession@@QAEXXZ @ 991 NONAME ; void QNetworkSession::accept(void)
+ ?activeConfiguration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 992 NONAME ; class QNetworkConfiguration QNetworkAccessManager::activeConfiguration(void) const
+ ?activeTime@QNetworkSession@@QBE_KXZ @ 993 NONAME ; unsigned long long QNetworkSession::activeTime(void) const
+ ?allConfigurations@QNetworkConfigurationManager@@QBE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 994 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(class QFlags<enum QNetworkConfiguration::StateFlag>) const
+ ?bearerName@QNetworkConfiguration@@QBE?AVQString@@XZ @ 995 NONAME ; class QString QNetworkConfiguration::bearerName(void) const
+ ?bytesReceived@QNetworkSession@@QBE_KXZ @ 996 NONAME ; unsigned long long QNetworkSession::bytesReceived(void) const
+ ?bytesWritten@QNetworkSession@@QBE_KXZ @ 997 NONAME ; unsigned long long QNetworkSession::bytesWritten(void) const
+ ?capabilities@QNetworkConfigurationManager@@QBE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 998 NONAME ; class QFlags<enum QNetworkConfigurationManager::Capability> QNetworkConfigurationManager::capabilities(void) const
+ ?children@QNetworkConfiguration@@QBE?AV?$QList@VQNetworkConfiguration@@@@XZ @ 999 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfiguration::children(void) const
+ ?close@QNetworkSession@@QAEXXZ @ 1000 NONAME ; void QNetworkSession::close(void)
+ ?closed@QNetworkSession@@IAEXXZ @ 1001 NONAME ; void QNetworkSession::closed(void)
+ ?closed@QNetworkSessionPrivate@@IAEXXZ @ 1002 NONAME ; void QNetworkSessionPrivate::closed(void)
+ ?configuration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 1003 NONAME ; class QNetworkConfiguration QNetworkAccessManager::configuration(void) const
+ ?configuration@QNetworkSession@@QBE?AVQNetworkConfiguration@@XZ @ 1004 NONAME ; class QNetworkConfiguration QNetworkSession::configuration(void) const
+ ?configurationAdded@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1005 NONAME ; void QBearerEngine::configurationAdded(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationAdded@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1006 NONAME ; void QNetworkConfigurationManager::configurationAdded(class QNetworkConfiguration const &)
+ ?configurationAdded@QNetworkConfigurationManagerPrivate@@AAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1007 NONAME ; void QNetworkConfigurationManagerPrivate::configurationAdded(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationAdded@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1008 NONAME ; void QNetworkConfigurationManagerPrivate::configurationAdded(class QNetworkConfiguration const &)
+ ?configurationChanged@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1009 NONAME ; void QBearerEngine::configurationChanged(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationChanged@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1010 NONAME ; void QNetworkConfigurationManager::configurationChanged(class QNetworkConfiguration const &)
+ ?configurationChanged@QNetworkConfigurationManagerPrivate@@AAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1011 NONAME ; void QNetworkConfigurationManagerPrivate::configurationChanged(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationChanged@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1012 NONAME ; void QNetworkConfigurationManagerPrivate::configurationChanged(class QNetworkConfiguration const &)
+ ?configurationFromIdentifier@QNetworkConfigurationManager@@QBE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1013 NONAME ; class QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(class QString const &) const
+ ?configurationRemoved@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1014 NONAME ; void QBearerEngine::configurationRemoved(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationRemoved@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1015 NONAME ; void QNetworkConfigurationManager::configurationRemoved(class QNetworkConfiguration const &)
+ ?configurationRemoved@QNetworkConfigurationManagerPrivate@@AAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1016 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+ ?configurationRemoved@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1017 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QNetworkConfiguration const &)
+ ?configurationUpdateComplete@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 1018 NONAME ; void QNetworkConfigurationManagerPrivate::configurationUpdateComplete(void)
+ ?connectNotify@QNetworkSession@@MAEXPBD@Z @ 1019 NONAME ; void QNetworkSession::connectNotify(char const *)
+ ?defaultConfiguration@QNetworkConfigurationManager@@QBE?AVQNetworkConfiguration@@XZ @ 1020 NONAME ; class QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration(void) const
+ ?disconnectNotify@QNetworkSession@@MAEXPBD@Z @ 1021 NONAME ; void QNetworkSession::disconnectNotify(char const *)
+ ?engines@QNetworkConfigurationManagerPrivate@@QAE?AV?$QList@PAVQBearerEngine@@@@XZ @ 1022 NONAME ; class QList<class QBearerEngine *> QNetworkConfigurationManagerPrivate::engines(void)
+ ?error@QNetworkSession@@IAEXW4SessionError@1@@Z @ 1023 NONAME ; void QNetworkSession::error(enum QNetworkSession::SessionError)
+ ?error@QNetworkSession@@QBE?AW4SessionError@1@XZ @ 1024 NONAME ; enum QNetworkSession::SessionError QNetworkSession::error(void) const
+ ?error@QNetworkSessionPrivate@@IAEXW4SessionError@QNetworkSession@@@Z @ 1025 NONAME ; void QNetworkSessionPrivate::error(enum QNetworkSession::SessionError)
+ ?errorString@QNetworkSession@@QBE?AVQString@@XZ @ 1026 NONAME ; class QString QNetworkSession::errorString(void) const
+ ?getStaticMetaObject@QBearerEngine@@SAABUQMetaObject@@XZ @ 1027 NONAME ; struct QMetaObject const & QBearerEngine::getStaticMetaObject(void)
+ ?getStaticMetaObject@QBearerEnginePlugin@@SAABUQMetaObject@@XZ @ 1028 NONAME ; struct QMetaObject const & QBearerEnginePlugin::getStaticMetaObject(void)
+ ?getStaticMetaObject@QNetworkConfigurationManager@@SAABUQMetaObject@@XZ @ 1029 NONAME ; struct QMetaObject const & QNetworkConfigurationManager::getStaticMetaObject(void)
+ ?getStaticMetaObject@QNetworkConfigurationManagerPrivate@@SAABUQMetaObject@@XZ @ 1030 NONAME ; struct QMetaObject const & QNetworkConfigurationManagerPrivate::getStaticMetaObject(void)
+ ?getStaticMetaObject@QNetworkSession@@SAABUQMetaObject@@XZ @ 1031 NONAME ; struct QMetaObject const & QNetworkSession::getStaticMetaObject(void)
+ ?getStaticMetaObject@QNetworkSessionPrivate@@SAABUQMetaObject@@XZ @ 1032 NONAME ; struct QMetaObject const & QNetworkSessionPrivate::getStaticMetaObject(void)
+ ?identifier@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1033 NONAME ; class QString QNetworkConfiguration::identifier(void) const
+ ?ignore@QNetworkSession@@QAEXXZ @ 1034 NONAME ; void QNetworkSession::ignore(void)
+ ?interface@QNetworkSession@@QBE?AVQNetworkInterface@@XZ @ 1035 NONAME ; class QNetworkInterface QNetworkSession::interface(void) const
+ ?isOnline@QNetworkConfigurationManager@@QBE_NXZ @ 1036 NONAME ; bool QNetworkConfigurationManager::isOnline(void) const
+ ?isOpen@QNetworkSession@@QBE_NXZ @ 1037 NONAME ; bool QNetworkSession::isOpen(void) const
+ ?isRoamingAvailable@QNetworkConfiguration@@QBE_NXZ @ 1038 NONAME ; bool QNetworkConfiguration::isRoamingAvailable(void) const
+ ?isValid@QNetworkConfiguration@@QBE_NXZ @ 1039 NONAME ; bool QNetworkConfiguration::isValid(void) const
+ ?metaObject@QBearerEngine@@UBEPBUQMetaObject@@XZ @ 1040 NONAME ; struct QMetaObject const * QBearerEngine::metaObject(void) const
+ ?metaObject@QBearerEnginePlugin@@UBEPBUQMetaObject@@XZ @ 1041 NONAME ; struct QMetaObject const * QBearerEnginePlugin::metaObject(void) const
+ ?metaObject@QNetworkConfigurationManager@@UBEPBUQMetaObject@@XZ @ 1042 NONAME ; struct QMetaObject const * QNetworkConfigurationManager::metaObject(void) const
+ ?metaObject@QNetworkConfigurationManagerPrivate@@UBEPBUQMetaObject@@XZ @ 1043 NONAME ; struct QMetaObject const * QNetworkConfigurationManagerPrivate::metaObject(void) const
+ ?metaObject@QNetworkSession@@UBEPBUQMetaObject@@XZ @ 1044 NONAME ; struct QMetaObject const * QNetworkSession::metaObject(void) const
+ ?metaObject@QNetworkSessionPrivate@@UBEPBUQMetaObject@@XZ @ 1045 NONAME ; struct QMetaObject const * QNetworkSessionPrivate::metaObject(void) const
+ ?migrate@QNetworkSession@@QAEXXZ @ 1046 NONAME ; void QNetworkSession::migrate(void)
+ ?name@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1047 NONAME ; class QString QNetworkConfiguration::name(void) const
+ ?networkAccessChanged@QNetworkAccessManager@@IAEX_N@Z @ 1048 NONAME ; void QNetworkAccessManager::networkAccessChanged(bool)
+ ?networkAccessEnabled@QNetworkAccessManager@@QBE_NXZ @ 1049 NONAME ; bool QNetworkAccessManager::networkAccessEnabled(void) const
+ ?networkSessionOnline@QNetworkAccessManager@@IAEXXZ @ 1050 NONAME ; void QNetworkAccessManager::networkSessionOnline(void)
+ ?newConfigurationActivated@QNetworkSession@@IAEXXZ @ 1051 NONAME ; void QNetworkSession::newConfigurationActivated(void)
+ ?newConfigurationActivated@QNetworkSessionPrivate@@IAEXXZ @ 1052 NONAME ; void QNetworkSessionPrivate::newConfigurationActivated(void)
+ ?onlineStateChanged@QNetworkConfigurationManager@@IAEX_N@Z @ 1053 NONAME ; void QNetworkConfigurationManager::onlineStateChanged(bool)
+ ?onlineStateChanged@QNetworkConfigurationManagerPrivate@@IAEX_N@Z @ 1054 NONAME ; void QNetworkConfigurationManagerPrivate::onlineStateChanged(bool)
+ ?open@QNetworkSession@@QAEXXZ @ 1055 NONAME ; void QNetworkSession::open(void)
+ ?opened@QNetworkSession@@IAEXXZ @ 1056 NONAME ; void QNetworkSession::opened(void)
+ ?performAsyncConfigurationUpdate@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1057 NONAME ; void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate(void)
+ ?preferredConfigurationChanged@QNetworkSession@@IAEXABVQNetworkConfiguration@@_N@Z @ 1058 NONAME ; void QNetworkSession::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
+ ?preferredConfigurationChanged@QNetworkSessionPrivate@@IAEXABVQNetworkConfiguration@@_N@Z @ 1059 NONAME ; void QNetworkSessionPrivate::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
+ ?priority@QNetworkRequest@@QBE?AW4Priority@1@XZ @ 1060 NONAME ; enum QNetworkRequest::Priority QNetworkRequest::priority(void) const
+ ?privateConfiguration@QNetworkSessionPrivate@@IBE?AV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@ABVQNetworkConfiguration@@@Z @ 1061 NONAME ; class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate> QNetworkSessionPrivate::privateConfiguration(class QNetworkConfiguration const &) const
+ ?purpose@QNetworkConfiguration@@QBE?AW4Purpose@1@XZ @ 1062 NONAME ; enum QNetworkConfiguration::Purpose QNetworkConfiguration::purpose(void) const
+ ?qNetworkConfigurationManagerPrivate@@YAPAVQNetworkConfigurationManagerPrivate@@XZ @ 1063 NONAME ; class QNetworkConfigurationManagerPrivate * qNetworkConfigurationManagerPrivate(void)
+ ?qt_metacall@QBearerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1064 NONAME ; int QBearerEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QBearerEnginePlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1065 NONAME ; int QBearerEnginePlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QNetworkConfigurationManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1066 NONAME ; int QNetworkConfigurationManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QNetworkConfigurationManagerPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1067 NONAME ; int QNetworkConfigurationManagerPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QNetworkSession@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1068 NONAME ; int QNetworkSession::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QNetworkSessionPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1069 NONAME ; int QNetworkSessionPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QBearerEngine@@UAEPAXPBD@Z @ 1070 NONAME ; void * QBearerEngine::qt_metacast(char const *)
+ ?qt_metacast@QBearerEnginePlugin@@UAEPAXPBD@Z @ 1071 NONAME ; void * QBearerEnginePlugin::qt_metacast(char const *)
+ ?qt_metacast@QNetworkConfigurationManager@@UAEPAXPBD@Z @ 1072 NONAME ; void * QNetworkConfigurationManager::qt_metacast(char const *)
+ ?qt_metacast@QNetworkConfigurationManagerPrivate@@UAEPAXPBD@Z @ 1073 NONAME ; void * QNetworkConfigurationManagerPrivate::qt_metacast(char const *)
+ ?qt_metacast@QNetworkSession@@UAEPAXPBD@Z @ 1074 NONAME ; void * QNetworkSession::qt_metacast(char const *)
+ ?qt_metacast@QNetworkSessionPrivate@@UAEPAXPBD@Z @ 1075 NONAME ; void * QNetworkSessionPrivate::qt_metacast(char const *)
+ ?quitPendingWaitsForOpened@QNetworkSessionPrivate@@IAEXXZ @ 1076 NONAME ; void QNetworkSessionPrivate::quitPendingWaitsForOpened(void)
+ ?rawHeaderPairs@QNetworkReply@@QBEABV?$QList@U?$QPair@VQByteArray@@V1@@@@@XZ @ 1077 NONAME ; class QList<struct QPair<class QByteArray, class QByteArray> > const & QNetworkReply::rawHeaderPairs(void) const
+ ?reject@QNetworkSession@@QAEXXZ @ 1078 NONAME ; void QNetworkSession::reject(void)
+ ?sendCustomRequest@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@ABVQByteArray@@PAVQIODevice@@@Z @ 1079 NONAME ; class QNetworkReply * QNetworkAccessManager::sendCustomRequest(class QNetworkRequest const &, class QByteArray const &, class QIODevice *)
+ ?sessionProperty@QNetworkSession@@QBE?AVQVariant@@ABVQString@@@Z @ 1080 NONAME ; class QVariant QNetworkSession::sessionProperty(class QString const &) const
+ ?setALREnabled@QNetworkSessionPrivate@@UAEX_N@Z @ 1081 NONAME ; void QNetworkSessionPrivate::setALREnabled(bool)
+ ?setConfiguration@QNetworkAccessManager@@QAEXABVQNetworkConfiguration@@@Z @ 1082 NONAME ; void QNetworkAccessManager::setConfiguration(class QNetworkConfiguration const &)
+ ?setNetworkAccessEnabled@QNetworkAccessManager@@QAEX_N@Z @ 1083 NONAME ; void QNetworkAccessManager::setNetworkAccessEnabled(bool)
+ ?setPriority@QNetworkRequest@@QAEXW4Priority@1@@Z @ 1084 NONAME ; void QNetworkRequest::setPriority(enum QNetworkRequest::Priority)
+ ?setPrivateConfiguration@QNetworkSessionPrivate@@IBEXAAVQNetworkConfiguration@@V?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1085 NONAME ; void QNetworkSessionPrivate::setPrivateConfiguration(class QNetworkConfiguration &, class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>) const
+ ?setSessionProperty@QNetworkSession@@QAEXABVQString@@ABVQVariant@@@Z @ 1086 NONAME ; void QNetworkSession::setSessionProperty(class QString const &, class QVariant const &)
+ ?state@QNetworkConfiguration@@QBE?AV?$QFlags@W4StateFlag@QNetworkConfiguration@@@@XZ @ 1087 NONAME ; class QFlags<enum QNetworkConfiguration::StateFlag> QNetworkConfiguration::state(void) const
+ ?state@QNetworkSession@@QBE?AW4State@1@XZ @ 1088 NONAME ; enum QNetworkSession::State QNetworkSession::state(void) const
+ ?stateChanged@QNetworkSession@@IAEXW4State@1@@Z @ 1089 NONAME ; void QNetworkSession::stateChanged(enum QNetworkSession::State)
+ ?stateChanged@QNetworkSessionPrivate@@IAEXW4State@QNetworkSession@@@Z @ 1090 NONAME ; void QNetworkSessionPrivate::stateChanged(enum QNetworkSession::State)
+ ?stop@QNetworkSession@@QAEXXZ @ 1091 NONAME ; void QNetworkSession::stop(void)
+ ?tr@QBearerEngine@@SA?AVQString@@PBD0@Z @ 1092 NONAME ; class QString QBearerEngine::tr(char const *, char const *)
+ ?tr@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1093 NONAME ; class QString QBearerEngine::tr(char const *, char const *, int)
+ ?tr@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1094 NONAME ; class QString QBearerEnginePlugin::tr(char const *, char const *)
+ ?tr@QBearerEnginePlugin@@SA?AVQString@@PBD0H@Z @ 1095 NONAME ; class QString QBearerEnginePlugin::tr(char const *, char const *, int)
+ ?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1096 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *)
+ ?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0H@Z @ 1097 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *, int)
+ ?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1098 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *)
+ ?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0H@Z @ 1099 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *, int)
+ ?tr@QNetworkSession@@SA?AVQString@@PBD0@Z @ 1100 NONAME ; class QString QNetworkSession::tr(char const *, char const *)
+ ?tr@QNetworkSession@@SA?AVQString@@PBD0H@Z @ 1101 NONAME ; class QString QNetworkSession::tr(char const *, char const *, int)
+ ?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0@Z @ 1102 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *)
+ ?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0H@Z @ 1103 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *, int)
+ ?trUtf8@QBearerEngine@@SA?AVQString@@PBD0@Z @ 1104 NONAME ; class QString QBearerEngine::trUtf8(char const *, char const *)
+ ?trUtf8@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1105 NONAME ; class QString QBearerEngine::trUtf8(char const *, char const *, int)
+ ?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1106 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *)
+ ?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0H@Z @ 1107 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *, int)
+ ?trUtf8@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1108 NONAME ; class QString QNetworkConfigurationManager::trUtf8(char const *, char const *)
+ ?trUtf8@QNetworkConfigurationManager@@SA?AVQString@@PBD0H@Z @ 1109 NONAME ; class QString QNetworkConfigurationManager::trUtf8(char const *, char const *, int)
+ ?trUtf8@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1110 NONAME ; class QString QNetworkConfigurationManagerPrivate::trUtf8(char const *, char const *)
+ ?trUtf8@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0H@Z @ 1111 NONAME ; class QString QNetworkConfigurationManagerPrivate::trUtf8(char const *, char const *, int)
+ ?trUtf8@QNetworkSession@@SA?AVQString@@PBD0@Z @ 1112 NONAME ; class QString QNetworkSession::trUtf8(char const *, char const *)
+ ?trUtf8@QNetworkSession@@SA?AVQString@@PBD0H@Z @ 1113 NONAME ; class QString QNetworkSession::trUtf8(char const *, char const *, int)
+ ?trUtf8@QNetworkSessionPrivate@@SA?AVQString@@PBD0@Z @ 1114 NONAME ; class QString QNetworkSessionPrivate::trUtf8(char const *, char const *)
+ ?trUtf8@QNetworkSessionPrivate@@SA?AVQString@@PBD0H@Z @ 1115 NONAME ; class QString QNetworkSessionPrivate::trUtf8(char const *, char const *, int)
+ ?type@QNetworkConfiguration@@QBE?AW4Type@1@XZ @ 1116 NONAME ; enum QNetworkConfiguration::Type QNetworkConfiguration::type(void) const
+ ?updateCompleted@QBearerEngine@@IAEXXZ @ 1117 NONAME ; void QBearerEngine::updateCompleted(void)
+ ?updateCompleted@QNetworkConfigurationManager@@IAEXXZ @ 1118 NONAME ; void QNetworkConfigurationManager::updateCompleted(void)
+ ?updateConfigurations@QNetworkConfigurationManager@@QAEXXZ @ 1119 NONAME ; void QNetworkConfigurationManager::updateConfigurations(void)
+ ?updateConfigurations@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1120 NONAME ; void QNetworkConfigurationManagerPrivate::updateConfigurations(void)
+ ?waitForOpened@QNetworkSession@@QAE_NH@Z @ 1121 NONAME ; bool QNetworkSession::waitForOpened(int)
+ ?staticMetaObject@QNetworkSessionPrivate@@2UQMetaObject@@B @ 1122 NONAME ; struct QMetaObject const QNetworkSessionPrivate::staticMetaObject
+ ?staticMetaObject@QBearerEngine@@2UQMetaObject@@B @ 1123 NONAME ; struct QMetaObject const QBearerEngine::staticMetaObject
+ ?staticMetaObject@QNetworkSession@@2UQMetaObject@@B @ 1124 NONAME ; struct QMetaObject const QNetworkSession::staticMetaObject
+ ?staticMetaObject@QNetworkConfigurationManager@@2UQMetaObject@@B @ 1125 NONAME ; struct QMetaObject const QNetworkConfigurationManager::staticMetaObject
+ ?staticMetaObject@QBearerEnginePlugin@@2UQMetaObject@@B @ 1126 NONAME ; struct QMetaObject const QBearerEnginePlugin::staticMetaObject
+ ?staticMetaObject@QNetworkConfigurationManagerPrivate@@2UQMetaObject@@B @ 1127 NONAME ; struct QMetaObject const QNetworkConfigurationManagerPrivate::staticMetaObject
diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def
index 19f70373e8..dd467edfea 100644
--- a/src/s60installs/bwins/QtScriptu.def
+++ b/src/s60installs/bwins/QtScriptu.def
@@ -257,7 +257,7 @@ EXPORTS
?processEventsInterval@QScriptEngine@@QBEHXZ @ 256 NONAME ; int QScriptEngine::processEventsInterval(void) const
?property@QScriptClass@@UAE?AVQScriptValue@@ABV2@ABVQScriptString@@I@Z @ 257 NONAME ; class QScriptValue QScriptClass::property(class QScriptValue const &, class QScriptString const &, unsigned int)
?property@QScriptDeclarativeClass@@SA?AVQScriptValue@@ABV2@ABQAX@Z @ 258 NONAME ; class QScriptValue QScriptDeclarativeClass::property(class QScriptValue const &, void * const const &)
- ?property@QScriptDeclarativeClass@@UAE?AVQScriptValue@@PAUObject@1@ABQAX@Z @ 259 NONAME ; class QScriptValue QScriptDeclarativeClass::property(struct QScriptDeclarativeClass::Object *, void * const const &)
+ ?property@QScriptDeclarativeClass@@UAE?AVQScriptValue@@PAUObject@1@ABQAX@Z @ 259 NONAME ABSENT ; class QScriptValue QScriptDeclarativeClass::property(struct QScriptDeclarativeClass::Object *, void * const const &)
?property@QScriptValue@@QBE?AV1@ABVQScriptString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 260 NONAME ; class QScriptValue QScriptValue::property(class QScriptString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
?property@QScriptValue@@QBE?AV1@ABVQString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 261 NONAME ; class QScriptValue QScriptValue::property(class QString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
?property@QScriptValue@@QBE?AV1@IABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 262 NONAME ; class QScriptValue QScriptValue::property(unsigned int, class QFlags<enum QScriptValue::ResolveFlag> const &) const
@@ -370,4 +370,29 @@ EXPORTS
?staticMetaObject@QScriptExtensionPlugin@@2UQMetaObject@@B @ 369 NONAME ; struct QMetaObject const QScriptExtensionPlugin::staticMetaObject
?staticMetaObject@QScriptEngine@@2UQMetaObject@@B @ 370 NONAME ; struct QMetaObject const QScriptEngine::staticMetaObject
?isQObject@QScriptDeclarativeClass@@UBE_NXZ @ 371 NONAME ; bool QScriptDeclarativeClass::isQObject(void) const
+ ??0Value@QScriptDeclarativeClass@@QAE@ABV01@@Z @ 372 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptDeclarativeClass::Value const &)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQScriptValue@@@Z @ 373 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QScriptValue const &)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQString@@@Z @ 374 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QString const &)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@H@Z @ 375 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, int)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@I@Z @ 376 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, unsigned int)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@M@Z @ 377 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, float)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@N@Z @ 378 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, double)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@_N@Z @ 379 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, bool)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@ABVQScriptValue@@@Z @ 380 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, class QScriptValue const &)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@ABVQString@@@Z @ 381 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, class QString const &)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@H@Z @ 382 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, int)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@I@Z @ 383 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, unsigned int)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@M@Z @ 384 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, float)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@N@Z @ 385 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, double)
+ ??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@_N@Z @ 386 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, bool)
+ ??0Value@QScriptDeclarativeClass@@QAE@XZ @ 387 NONAME ; QScriptDeclarativeClass::Value::Value(void)
+ ??1Value@QScriptDeclarativeClass@@QAE@XZ @ 388 NONAME ; QScriptDeclarativeClass::Value::~Value(void)
+ ?call@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@PAVQScriptContext@@@Z @ 389 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::call(struct QScriptDeclarativeClass::Object *, class QScriptContext *)
+ ?functionValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 390 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::functionValue(class QScriptValue const &, void * const const &)
+ ?newObjectValue@QScriptDeclarativeClass@@SA?AVValue@1@PAVQScriptEngine@@PAV1@PAUObject@1@@Z @ 391 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::newObjectValue(class QScriptEngine *, class QScriptDeclarativeClass *, struct QScriptDeclarativeClass::Object *)
+ ?property@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@ABQAX@Z @ 392 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::property(struct QScriptDeclarativeClass::Object *, void * const const &)
+ ?propertyValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 393 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::propertyValue(class QScriptValue const &, void * const const &)
+ ?setSupportsCall@QScriptDeclarativeClass@@QAEX_N@Z @ 394 NONAME ; void QScriptDeclarativeClass::setSupportsCall(bool)
+ ?supportsCall@QScriptDeclarativeClass@@QBE_NXZ @ 395 NONAME ; bool QScriptDeclarativeClass::supportsCall(void) const
+ ?toScriptValue@Value@QScriptDeclarativeClass@@QBE?AVQScriptValue@@PAVQScriptEngine@@@Z @ 396 NONAME ; class QScriptValue QScriptDeclarativeClass::Value::toScriptValue(class QScriptEngine *) const
diff --git a/src/s60installs/bwins/QtTestu.def b/src/s60installs/bwins/QtTestu.def
index 1da9c13014..47198e275a 100644
--- a/src/s60installs/bwins/QtTestu.def
+++ b/src/s60installs/bwins/QtTestu.def
@@ -24,7 +24,7 @@ EXPORTS
?defaultKeyDelay@QTest@@YAHXZ @ 23 NONAME ; int QTest::defaultKeyDelay(void)
?defaultKeyVerbose@QTest@@YA_NXZ @ 24 NONAME ; bool QTest::defaultKeyVerbose(void)
?defaultMouseDelay@QTest@@YAHXZ @ 25 NONAME ; int QTest::defaultMouseDelay(void)
- ?endBenchmarkMeasurement@QTest@@YA_JXZ @ 26 NONAME ; long long QTest::endBenchmarkMeasurement(void)
+ ?endBenchmarkMeasurement@QTest@@YA_JXZ @ 26 NONAME ABSENT ; long long QTest::endBenchmarkMeasurement(void)
?enterLoop@QTestEventLoop@@QAEXH@Z @ 27 NONAME ; void QTestEventLoop::enterLoop(int)
?exitLoop@QTestEventLoop@@QAEXXZ @ 28 NONAME ; void QTestEventLoop::exitLoop(void)
?getStaticMetaObject@QTestEventLoop@@SAABUQMetaObject@@XZ @ 29 NONAME ; struct QMetaObject const & QTestEventLoop::getStaticMetaObject(void)
@@ -75,4 +75,6 @@ EXPORTS
?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0@Z @ 74 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *)
?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0H@Z @ 75 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *, int)
?staticMetaObject@QTestEventLoop@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const QTestEventLoop::staticMetaObject
+ ?endBenchmarkMeasurement@QTest@@YA_KXZ @ 77 NONAME ; unsigned long long QTest::endBenchmarkMeasurement(void)
+ ?setBenchmarkResult@QTest@@YAXMW4QBenchmarkMetric@1@@Z @ 78 NONAME ; void QTest::setBenchmarkResult(float, enum QTest::QBenchmarkMetric)
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index a427ff9c6a..c86eb8cbb6 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -3634,4 +3634,24 @@ EXPORTS
_ZTVN13QStateMachine11SignalEventE @ 3633 NONAME
_ZTVN13QStateMachine12WrappedEventE @ 3634 NONAME
_ZN11QMetaObject13disconnectOneEPK7QObjectiS2_i @ 3635 NONAME
+ _Z14qDecodeDataUrlRK4QUrl @ 3636 NONAME
+ _Z18qDetectCPUFeaturesv @ 3637 NONAME
+ _ZN10QByteArray7replaceEiiPKci @ 3638 NONAME
+ _ZN12QTextDecoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3639 NONAME
+ _ZN12QTextDecoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3640 NONAME
+ _ZN12QTextEncoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3641 NONAME
+ _ZN12QTextEncoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3642 NONAME
+ _ZN7QStringC1EPK5QChar @ 3643 NONAME
+ _ZN7QStringC2EPK5QChar @ 3644 NONAME
+ _ZN8QVariantC1ERK12QEasingCurve @ 3645 NONAME
+ _ZN8QVariantC2ERK12QEasingCurve @ 3646 NONAME
+ _ZN9QListData11detach_growEPii @ 3647 NONAME
+ _ZN9QListData6appendEi @ 3648 NONAME
+ _ZN9QListData6detachEi @ 3649 NONAME
+ _ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3650 NONAME
+ _ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3651 NONAME
+ _ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3652 NONAME
+ _ZNK8QVariant13toEasingCurveEv @ 3653 NONAME
+ _ZlsR11QDataStreamRK12QEasingCurve @ 3654 NONAME
+ _ZrsR11QDataStreamR12QEasingCurve @ 3655 NONAME
diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def
new file mode 100644
index 0000000000..e4fc7a3d8b
--- /dev/null
+++ b/src/s60installs/eabi/QtDeclarativeu.def
@@ -0,0 +1,3540 @@
+EXPORTS
+ _Z10qmlContextPK7QObject @ 1 NONAME
+ _Z18qmlExecuteDeferredP7QObject @ 2 NONAME
+ _Z27qmlAttachedPropertiesObjectPiPK7QObjectPK11QMetaObjectb @ 3 NONAME
+ _Z31qmlAttachedPropertiesObjectByIdiPK7QObjectb @ 4 NONAME
+ _Z7qmlInfoPK7QObject @ 5 NONAME
+ _Z9qmlEnginePK7QObject @ 6 NONAME
+ _ZN15QDeclarativePen10penChangedEv @ 7 NONAME
+ _ZN15QDeclarativePen11qt_metacallEN11QMetaObject4CallEiPPv @ 8 NONAME
+ _ZN15QDeclarativePen11qt_metacastEPKc @ 9 NONAME
+ _ZN15QDeclarativePen16staticMetaObjectE @ 10 NONAME DATA 16
+ _ZN15QDeclarativePen19getStaticMetaObjectEv @ 11 NONAME
+ _ZN15QDeclarativePen8setColorERK6QColor @ 12 NONAME
+ _ZN15QDeclarativePen8setWidthEi @ 13 NONAME
+ _ZN15QDeclarativeRow11qt_metacallEN11QMetaObject4CallEiPPv @ 14 NONAME
+ _ZN15QDeclarativeRow11qt_metacastEPKc @ 15 NONAME
+ _ZN15QDeclarativeRow13doPositioningEv @ 16 NONAME
+ _ZN15QDeclarativeRow16staticMetaObjectE @ 17 NONAME DATA 16
+ _ZN15QDeclarativeRow19getStaticMetaObjectEv @ 18 NONAME
+ _ZN15QDeclarativeRowC1EP16QDeclarativeItem @ 19 NONAME
+ _ZN15QDeclarativeRowC2EP16QDeclarativeItem @ 20 NONAME
+ _ZN15QPacketAutoSendC1EP15QPacketProtocol @ 21 NONAME
+ _ZN15QPacketAutoSendC2EP15QPacketProtocol @ 22 NONAME
+ _ZN15QPacketAutoSendD0Ev @ 23 NONAME
+ _ZN15QPacketAutoSendD1Ev @ 24 NONAME
+ _ZN15QPacketAutoSendD2Ev @ 25 NONAME
+ _ZN15QPacketProtocol11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME
+ _ZN15QPacketProtocol11qt_metacastEPKc @ 27 NONAME
+ _ZN15QPacketProtocol13invalidPacketEv @ 28 NONAME
+ _ZN15QPacketProtocol13packetWrittenEv @ 29 NONAME
+ _ZN15QPacketProtocol16staticMetaObjectE @ 30 NONAME DATA 16
+ _ZN15QPacketProtocol19getStaticMetaObjectEv @ 31 NONAME
+ _ZN15QPacketProtocol20setMaximumPacketSizeEi @ 32 NONAME
+ _ZN15QPacketProtocol4readEv @ 33 NONAME
+ _ZN15QPacketProtocol4sendERK7QPacket @ 34 NONAME
+ _ZN15QPacketProtocol4sendEv @ 35 NONAME
+ _ZN15QPacketProtocol5clearEv @ 36 NONAME
+ _ZN15QPacketProtocol6deviceEv @ 37 NONAME
+ _ZN15QPacketProtocol9readyReadEv @ 38 NONAME
+ _ZN15QPacketProtocolC1EP9QIODeviceP7QObject @ 39 NONAME
+ _ZN15QPacketProtocolC2EP9QIODeviceP7QObject @ 40 NONAME
+ _ZN15QPacketProtocolD0Ev @ 41 NONAME
+ _ZN15QPacketProtocolD1Ev @ 42 NONAME
+ _ZN15QPacketProtocolD2Ev @ 43 NONAME
+ _ZN15QPerformanceLog11displayDataEv @ 44 NONAME
+ _ZN15QPerformanceLog5clearEv @ 45 NONAME
+ _ZN16QDeclarativeBind11qt_metacallEN11QMetaObject4CallEiPPv @ 46 NONAME
+ _ZN16QDeclarativeBind11qt_metacastEPKc @ 47 NONAME
+ _ZN16QDeclarativeBind11setPropertyERK7QString @ 48 NONAME
+ _ZN16QDeclarativeBind16staticMetaObjectE @ 49 NONAME DATA 16
+ _ZN16QDeclarativeBind17componentCompleteEv @ 50 NONAME
+ _ZN16QDeclarativeBind19getStaticMetaObjectEv @ 51 NONAME
+ _ZN16QDeclarativeBind4evalEv @ 52 NONAME
+ _ZN16QDeclarativeBind6objectEv @ 53 NONAME
+ _ZN16QDeclarativeBind7setWhenEb @ 54 NONAME
+ _ZN16QDeclarativeBind8setValueERK8QVariant @ 55 NONAME
+ _ZN16QDeclarativeBind9setObjectEP7QObject @ 56 NONAME
+ _ZN16QDeclarativeBindC1EP7QObject @ 57 NONAME
+ _ZN16QDeclarativeBindC2EP7QObject @ 58 NONAME
+ _ZN16QDeclarativeBindD0Ev @ 59 NONAME
+ _ZN16QDeclarativeBindD1Ev @ 60 NONAME
+ _ZN16QDeclarativeBindD2Ev @ 61 NONAME
+ _ZN16QDeclarativeDrag11axisChangedEv @ 62 NONAME
+ _ZN16QDeclarativeDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 63 NONAME
+ _ZN16QDeclarativeDrag11qt_metacastEPKc @ 64 NONAME
+ _ZN16QDeclarativeDrag13targetChangedEv @ 65 NONAME
+ _ZN16QDeclarativeDrag15maximumXChangedEv @ 66 NONAME
+ _ZN16QDeclarativeDrag15maximumYChangedEv @ 67 NONAME
+ _ZN16QDeclarativeDrag15minimumXChangedEv @ 68 NONAME
+ _ZN16QDeclarativeDrag15minimumYChangedEv @ 69 NONAME
+ _ZN16QDeclarativeDrag16staticMetaObjectE @ 70 NONAME DATA 16
+ _ZN16QDeclarativeDrag19getStaticMetaObjectEv @ 71 NONAME
+ _ZN16QDeclarativeDrag7setAxisENS_4AxisE @ 72 NONAME
+ _ZN16QDeclarativeDrag7setXmaxEf @ 73 NONAME
+ _ZN16QDeclarativeDrag7setXminEf @ 74 NONAME
+ _ZN16QDeclarativeDrag7setYmaxEf @ 75 NONAME
+ _ZN16QDeclarativeDrag7setYminEf @ 76 NONAME
+ _ZN16QDeclarativeDrag9setTargetEP16QDeclarativeItem @ 77 NONAME
+ _ZN16QDeclarativeDragC1EP7QObject @ 78 NONAME
+ _ZN16QDeclarativeDragC2EP7QObject @ 79 NONAME
+ _ZN16QDeclarativeDragD0Ev @ 80 NONAME
+ _ZN16QDeclarativeDragD1Ev @ 81 NONAME
+ _ZN16QDeclarativeDragD2Ev @ 82 NONAME
+ _ZN16QDeclarativeFlow11flowChangedEv @ 83 NONAME
+ _ZN16QDeclarativeFlow11qt_metacallEN11QMetaObject4CallEiPPv @ 84 NONAME
+ _ZN16QDeclarativeFlow11qt_metacastEPKc @ 85 NONAME
+ _ZN16QDeclarativeFlow13doPositioningEv @ 86 NONAME
+ _ZN16QDeclarativeFlow16staticMetaObjectE @ 87 NONAME DATA 16
+ _ZN16QDeclarativeFlow19getStaticMetaObjectEv @ 88 NONAME
+ _ZN16QDeclarativeFlow7setFlowENS_4FlowE @ 89 NONAME
+ _ZN16QDeclarativeFlowC1EP16QDeclarativeItem @ 90 NONAME
+ _ZN16QDeclarativeFlowC2EP16QDeclarativeItem @ 91 NONAME
+ _ZN16QDeclarativeGrid10setColumnsEi @ 92 NONAME
+ _ZN16QDeclarativeGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 93 NONAME
+ _ZN16QDeclarativeGrid11qt_metacastEPKc @ 94 NONAME
+ _ZN16QDeclarativeGrid11rowsChangedEv @ 95 NONAME
+ _ZN16QDeclarativeGrid13doPositioningEv @ 96 NONAME
+ _ZN16QDeclarativeGrid14columnsChangedEv @ 97 NONAME
+ _ZN16QDeclarativeGrid16staticMetaObjectE @ 98 NONAME DATA 16
+ _ZN16QDeclarativeGrid19getStaticMetaObjectEv @ 99 NONAME
+ _ZN16QDeclarativeGrid7setRowsEi @ 100 NONAME
+ _ZN16QDeclarativeGridC1EP16QDeclarativeItem @ 101 NONAME
+ _ZN16QDeclarativeGridC2EP16QDeclarativeItem @ 102 NONAME
+ _ZN16QDeclarativeInfoC1EPK7QObject @ 103 NONAME
+ _ZN16QDeclarativeInfoC2EPK7QObject @ 104 NONAME
+ _ZN16QDeclarativeInfoD1Ev @ 105 NONAME
+ _ZN16QDeclarativeInfoD2Ev @ 106 NONAME
+ _ZN16QDeclarativeItem10classBeginEv @ 107 NONAME
+ _ZN16QDeclarativeItem10fxChildrenEv @ 108 NONAME
+ _ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 109 NONAME
+ _ZN16QDeclarativeItem10resetWidthEv @ 110 NONAME
+ _ZN16QDeclarativeItem10sceneEventEP6QEvent @ 111 NONAME
+ _ZN16QDeclarativeItem11clipChangedEv @ 112 NONAME
+ _ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 113 NONAME
+ _ZN16QDeclarativeItem11qt_metacastEPKc @ 114 NONAME
+ _ZN16QDeclarativeItem11resetHeightEv @ 115 NONAME
+ _ZN16QDeclarativeItem11transitionsEv @ 116 NONAME
+ _ZN16QDeclarativeItem12childrenRectEv @ 117 NONAME
+ _ZN16QDeclarativeItem12focusChangedEb @ 118 NONAME
+ _ZN16QDeclarativeItem12focusChangedEv @ 119 NONAME
+ _ZN16QDeclarativeItem12stateChangedERK7QString @ 120 NONAME
+ _ZN16QDeclarativeItem12widthChangedEv @ 121 NONAME
+ _ZN16QDeclarativeItem13heightChangedEv @ 122 NONAME
+ _ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 123 NONAME
+ _ZN16QDeclarativeItem13parentChangedEv @ 124 NONAME
+ _ZN16QDeclarativeItem13setParentItemEPS_ @ 125 NONAME
+ _ZN16QDeclarativeItem13smoothChangedEv @ 126 NONAME
+ _ZN16QDeclarativeItem15childrenChangedEv @ 127 NONAME
+ _ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 128 NONAME
+ _ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 129 NONAME
+ _ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 130 NONAME
+ _ZN16QDeclarativeItem16setImplicitWidthEf @ 131 NONAME
+ _ZN16QDeclarativeItem16setKeepMouseGrabEb @ 132 NONAME
+ _ZN16QDeclarativeItem16staticMetaObjectE @ 133 NONAME DATA 16
+ _ZN16QDeclarativeItem17componentCompleteEv @ 134 NONAME
+ _ZN16QDeclarativeItem17setBaselineOffsetEf @ 135 NONAME
+ _ZN16QDeclarativeItem17setImplicitHeightEf @ 136 NONAME
+ _ZN16QDeclarativeItem17wantsFocusChangedEv @ 137 NONAME
+ _ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 138 NONAME
+ _ZN16QDeclarativeItem19childrenRectChangedEv @ 139 NONAME
+ _ZN16QDeclarativeItem19getStaticMetaObjectEv @ 140 NONAME
+ _ZN16QDeclarativeItem21baselineOffsetChangedEv @ 141 NONAME
+ _ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 142 NONAME
+ _ZN16QDeclarativeItem4dataEv @ 143 NONAME
+ _ZN16QDeclarativeItem5eventEP6QEvent @ 144 NONAME
+ _ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 145 NONAME
+ _ZN16QDeclarativeItem6statesEv @ 146 NONAME
+ _ZN16QDeclarativeItem7anchorsEv @ 147 NONAME
+ _ZN16QDeclarativeItem7setClipEb @ 148 NONAME
+ _ZN16QDeclarativeItem8setFocusEb @ 149 NONAME
+ _ZN16QDeclarativeItem8setStateERK7QString @ 150 NONAME
+ _ZN16QDeclarativeItem8setWidthEf @ 151 NONAME
+ _ZN16QDeclarativeItem9resourcesEv @ 152 NONAME
+ _ZN16QDeclarativeItem9setHeightEf @ 153 NONAME
+ _ZN16QDeclarativeItem9setSmoothEb @ 154 NONAME
+ _ZN16QDeclarativeItem9transformEv @ 155 NONAME
+ _ZN16QDeclarativeItemC1EPS_ @ 156 NONAME
+ _ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 157 NONAME
+ _ZN16QDeclarativeItemC2EPS_ @ 158 NONAME
+ _ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 159 NONAME
+ _ZN16QDeclarativeItemD0Ev @ 160 NONAME
+ _ZN16QDeclarativeItemD1Ev @ 161 NONAME
+ _ZN16QDeclarativeItemD2Ev @ 162 NONAME
+ _ZN16QDeclarativePath11interpolateEiRK7QStringf @ 163 NONAME
+ _ZN16QDeclarativePath11processPathEv @ 164 NONAME
+ _ZN16QDeclarativePath11qt_metacallEN11QMetaObject4CallEiPPv @ 165 NONAME
+ _ZN16QDeclarativePath11qt_metacastEPKc @ 166 NONAME
+ _ZN16QDeclarativePath12pathElementsEv @ 167 NONAME
+ _ZN16QDeclarativePath16staticMetaObjectE @ 168 NONAME DATA 16
+ _ZN16QDeclarativePath17componentCompleteEv @ 169 NONAME
+ _ZN16QDeclarativePath19getStaticMetaObjectEv @ 170 NONAME
+ _ZN16QDeclarativePath7changedEv @ 171 NONAME
+ _ZN16QDeclarativePath8endpointERK7QString @ 172 NONAME
+ _ZN16QDeclarativePath9setStartXEf @ 173 NONAME
+ _ZN16QDeclarativePath9setStartYEf @ 174 NONAME
+ _ZN16QDeclarativePathC1EP7QObject @ 175 NONAME
+ _ZN16QDeclarativePathC2EP7QObject @ 176 NONAME
+ _ZN16QDeclarativePathD0Ev @ 177 NONAME
+ _ZN16QDeclarativePathD1Ev @ 178 NONAME
+ _ZN16QDeclarativePathD2Ev @ 179 NONAME
+ _ZN16QDeclarativeText11fontChangedERK5QFont @ 180 NONAME
+ _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 181 NONAME
+ _ZN16QDeclarativeText11qt_metacastEPKc @ 182 NONAME
+ _ZN16QDeclarativeText11textChangedERK7QString @ 183 NONAME
+ _ZN16QDeclarativeText11wrapChangedEb @ 184 NONAME
+ _ZN16QDeclarativeText12colorChangedERK6QColor @ 185 NONAME
+ _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 186 NONAME
+ _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 187 NONAME
+ _ZN16QDeclarativeText13linkActivatedERK7QString @ 188 NONAME
+ _ZN16QDeclarativeText13setStyleColorERK6QColor @ 189 NONAME
+ _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 190 NONAME
+ _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 191 NONAME
+ _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 192 NONAME
+ _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 193 NONAME
+ _ZN16QDeclarativeText16staticMetaObjectE @ 194 NONAME DATA 16
+ _ZN16QDeclarativeText17componentCompleteEv @ 195 NONAME
+ _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 196 NONAME
+ _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 197 NONAME
+ _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 198 NONAME
+ _ZN16QDeclarativeText19getStaticMetaObjectEv @ 199 NONAME
+ _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 200 NONAME
+ _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 201 NONAME
+ _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 202 NONAME
+ _ZN16QDeclarativeText7setFontERK5QFont @ 203 NONAME
+ _ZN16QDeclarativeText7setTextERK7QString @ 204 NONAME
+ _ZN16QDeclarativeText7setWrapEb @ 205 NONAME
+ _ZN16QDeclarativeText8setColorERK6QColor @ 206 NONAME
+ _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 207 NONAME
+ _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 208 NONAME
+ _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 209 NONAME
+ _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 210 NONAME
+ _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 211 NONAME
+ _ZN16QDeclarativeTextD0Ev @ 212 NONAME
+ _ZN16QDeclarativeTextD1Ev @ 213 NONAME
+ _ZN16QDeclarativeTextD2Ev @ 214 NONAME
+ _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 215 NONAME
+ _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 216 NONAME
+ _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 217 NONAME
+ _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 218 NONAME
+ _ZN16QDeclarativeTypeD1Ev @ 219 NONAME
+ _ZN16QDeclarativeTypeD2Ev @ 220 NONAME
+ _ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 221 NONAME
+ _ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 222 NONAME
+ _ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 223 NONAME
+ _ZN16QDeclarativeView11qt_metacastEPKc @ 224 NONAME
+ _ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 225 NONAME
+ _ZN16QDeclarativeView11rootContextEv @ 226 NONAME
+ _ZN16QDeclarativeView11sizeChangedEv @ 227 NONAME
+ _ZN16QDeclarativeView12sceneResizedE5QSize @ 228 NONAME
+ _ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 229 NONAME
+ _ZN16QDeclarativeView13setRootObjectEP7QObject @ 230 NONAME
+ _ZN16QDeclarativeView13statusChangedENS_6StatusE @ 231 NONAME
+ _ZN16QDeclarativeView15continueExecuteEv @ 232 NONAME
+ _ZN16QDeclarativeView16staticMetaObjectE @ 233 NONAME DATA 16
+ _ZN16QDeclarativeView19getStaticMetaObjectEv @ 234 NONAME
+ _ZN16QDeclarativeView6engineEv @ 235 NONAME
+ _ZN16QDeclarativeView9setSourceERK4QUrl @ 236 NONAME
+ _ZN16QDeclarativeViewC1EP7QWidget @ 237 NONAME
+ _ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 238 NONAME
+ _ZN16QDeclarativeViewC2EP7QWidget @ 239 NONAME
+ _ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 240 NONAME
+ _ZN16QDeclarativeViewD0Ev @ 241 NONAME
+ _ZN16QDeclarativeViewD1Ev @ 242 NONAME
+ _ZN16QDeclarativeViewD2Ev @ 243 NONAME
+ _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 244 NONAME
+ _ZN16QMetaEnumBuilder9removeKeyEi @ 245 NONAME
+ _ZN16QMetaEnumBuilder9setIsFlagEb @ 246 NONAME
+ _ZN17QDeclarativeCurve11qt_metacallEN11QMetaObject4CallEiPPv @ 247 NONAME
+ _ZN17QDeclarativeCurve11qt_metacastEPKc @ 248 NONAME
+ _ZN17QDeclarativeCurve16staticMetaObjectE @ 249 NONAME DATA 16
+ _ZN17QDeclarativeCurve19getStaticMetaObjectEv @ 250 NONAME
+ _ZN17QDeclarativeCurve4setXEf @ 251 NONAME
+ _ZN17QDeclarativeCurve4setYEf @ 252 NONAME
+ _ZN17QDeclarativeError14setDescriptionERK7QString @ 253 NONAME
+ _ZN17QDeclarativeError6setUrlERK4QUrl @ 254 NONAME
+ _ZN17QDeclarativeError7setLineEi @ 255 NONAME
+ _ZN17QDeclarativeError9setColumnEi @ 256 NONAME
+ _ZN17QDeclarativeErrorC1ERKS_ @ 257 NONAME
+ _ZN17QDeclarativeErrorC1Ev @ 258 NONAME
+ _ZN17QDeclarativeErrorC2ERKS_ @ 259 NONAME
+ _ZN17QDeclarativeErrorC2Ev @ 260 NONAME
+ _ZN17QDeclarativeErrorD1Ev @ 261 NONAME
+ _ZN17QDeclarativeErrorD2Ev @ 262 NONAME
+ _ZN17QDeclarativeErroraSERKS_ @ 263 NONAME
+ _ZN17QDeclarativeImage11qt_metacallEN11QMetaObject4CallEiPPv @ 264 NONAME
+ _ZN17QDeclarativeImage11qt_metacastEPKc @ 265 NONAME
+ _ZN17QDeclarativeImage11setFillModeENS_8FillModeE @ 266 NONAME
+ _ZN17QDeclarativeImage15fillModeChangedEv @ 267 NONAME
+ _ZN17QDeclarativeImage15geometryChangedERK6QRectFS2_ @ 268 NONAME
+ _ZN17QDeclarativeImage16staticMetaObjectE @ 269 NONAME DATA 16
+ _ZN17QDeclarativeImage19getStaticMetaObjectEv @ 270 NONAME
+ _ZN17QDeclarativeImage21updatePaintedGeometryEv @ 271 NONAME
+ _ZN17QDeclarativeImage22paintedGeometryChangedEv @ 272 NONAME
+ _ZN17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 273 NONAME
+ _ZN17QDeclarativeImage9setPixmapERK7QPixmap @ 274 NONAME
+ _ZN17QDeclarativeImageC1EP16QDeclarativeItem @ 275 NONAME
+ _ZN17QDeclarativeImageC1ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 276 NONAME
+ _ZN17QDeclarativeImageC2EP16QDeclarativeItem @ 277 NONAME
+ _ZN17QDeclarativeImageC2ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 278 NONAME
+ _ZN17QDeclarativeImageD0Ev @ 279 NONAME
+ _ZN17QDeclarativeImageD1Ev @ 280 NONAME
+ _ZN17QDeclarativeImageD2Ev @ 281 NONAME
+ _ZN17QDeclarativeState10setExtendsERK7QString @ 282 NONAME
+ _ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 283 NONAME
+ _ZN17QDeclarativeState11qt_metacastEPKc @ 284 NONAME
+ _ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 285 NONAME
+ _ZN17QDeclarativeState16staticMetaObjectE @ 286 NONAME DATA 16
+ _ZN17QDeclarativeState19getStaticMetaObjectEv @ 287 NONAME
+ _ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 288 NONAME
+ _ZN17QDeclarativeState6cancelEv @ 289 NONAME
+ _ZN17QDeclarativeState7changesEv @ 290 NONAME
+ _ZN17QDeclarativeState7setNameERK7QString @ 291 NONAME
+ _ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 292 NONAME
+ _ZN17QDeclarativeState9completedEv @ 293 NONAME
+ _ZN17QDeclarativeStateC1EP7QObject @ 294 NONAME
+ _ZN17QDeclarativeStateC2EP7QObject @ 295 NONAME
+ _ZN17QDeclarativeStateD0Ev @ 296 NONAME
+ _ZN17QDeclarativeStateD1Ev @ 297 NONAME
+ _ZN17QDeclarativeStateD2Ev @ 298 NONAME
+ _ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 299 NONAME
+ _ZN17QDeclarativeTimer10classBeginEv @ 300 NONAME
+ _ZN17QDeclarativeTimer10setRunningEb @ 301 NONAME
+ _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 302 NONAME
+ _ZN17QDeclarativeTimer11qt_metacastEPKc @ 303 NONAME
+ _ZN17QDeclarativeTimer11setIntervalEi @ 304 NONAME
+ _ZN17QDeclarativeTimer12setRepeatingEb @ 305 NONAME
+ _ZN17QDeclarativeTimer14runningChangedEv @ 306 NONAME
+ _ZN17QDeclarativeTimer16staticMetaObjectE @ 307 NONAME DATA 16
+ _ZN17QDeclarativeTimer17componentCompleteEv @ 308 NONAME
+ _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 309 NONAME
+ _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 310 NONAME
+ _ZN17QDeclarativeTimer4stopEv @ 311 NONAME
+ _ZN17QDeclarativeTimer5startEv @ 312 NONAME
+ _ZN17QDeclarativeTimer6tickedEv @ 313 NONAME
+ _ZN17QDeclarativeTimer6updateEv @ 314 NONAME
+ _ZN17QDeclarativeTimer7restartEv @ 315 NONAME
+ _ZN17QDeclarativeTimer8finishedEv @ 316 NONAME
+ _ZN17QDeclarativeTimer9triggeredEv @ 317 NONAME
+ _ZN17QDeclarativeTimerC1EP7QObject @ 318 NONAME
+ _ZN17QDeclarativeTimerC2EP7QObject @ 319 NONAME
+ _ZN18QDeclarativeAction17deleteFromBindingEv @ 320 NONAME
+ _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 321 NONAME
+ _ZN18QDeclarativeActionC1Ev @ 322 NONAME
+ _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 323 NONAME
+ _ZN18QDeclarativeActionC2Ev @ 324 NONAME
+ _ZN18QDeclarativeColumn11qt_metacallEN11QMetaObject4CallEiPPv @ 325 NONAME
+ _ZN18QDeclarativeColumn11qt_metacastEPKc @ 326 NONAME
+ _ZN18QDeclarativeColumn13doPositioningEv @ 327 NONAME
+ _ZN18QDeclarativeColumn16staticMetaObjectE @ 328 NONAME DATA 16
+ _ZN18QDeclarativeColumn19getStaticMetaObjectEv @ 329 NONAME
+ _ZN18QDeclarativeColumnC1EP16QDeclarativeItem @ 330 NONAME
+ _ZN18QDeclarativeColumnC2EP16QDeclarativeItem @ 331 NONAME
+ _ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 332 NONAME
+ _ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 333 NONAME
+ _ZN18QDeclarativeEngine11qt_metacastEPKc @ 334 NONAME
+ _ZN18QDeclarativeEngine11rootContextEv @ 335 NONAME
+ _ZN18QDeclarativeEngine13addImportPathERK7QString @ 336 NONAME
+ _ZN18QDeclarativeEngine15importExtensionERK7QStringS2_ @ 337 NONAME
+ _ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 338 NONAME
+ _ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 339 NONAME
+ _ZN18QDeclarativeEngine16staticMetaObjectE @ 340 NONAME DATA 16
+ _ZN18QDeclarativeEngine19clearComponentCacheEv @ 341 NONAME
+ _ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 342 NONAME
+ _ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 343 NONAME
+ _ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 344 NONAME
+ _ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 345 NONAME
+ _ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 346 NONAME
+ _ZN18QDeclarativeEngine4quitEv @ 347 NONAME
+ _ZN18QDeclarativeEngineC1EP7QObject @ 348 NONAME
+ _ZN18QDeclarativeEngineC2EP7QObject @ 349 NONAME
+ _ZN18QDeclarativeEngineD0Ev @ 350 NONAME
+ _ZN18QDeclarativeEngineD1Ev @ 351 NONAME
+ _ZN18QDeclarativeEngineD2Ev @ 352 NONAME
+ _ZN18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 353 NONAME
+ _ZN18QDeclarativeLoader11eventFilterEP7QObjectP6QEvent @ 354 NONAME
+ _ZN18QDeclarativeLoader11itemChangedEv @ 355 NONAME
+ _ZN18QDeclarativeLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 356 NONAME
+ _ZN18QDeclarativeLoader11qt_metacastEPKc @ 357 NONAME
+ _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 358 NONAME
+ _ZN18QDeclarativeLoader13sourceChangedEv @ 359 NONAME
+ _ZN18QDeclarativeLoader13statusChangedEv @ 360 NONAME
+ _ZN18QDeclarativeLoader15geometryChangedERK6QRectFS2_ @ 361 NONAME
+ _ZN18QDeclarativeLoader15progressChangedEv @ 362 NONAME
+ _ZN18QDeclarativeLoader16staticMetaObjectE @ 363 NONAME DATA 16
+ _ZN18QDeclarativeLoader17resizeModeChangedEv @ 364 NONAME
+ _ZN18QDeclarativeLoader18setSourceComponentEP21QDeclarativeComponent @ 365 NONAME
+ _ZN18QDeclarativeLoader19getStaticMetaObjectEv @ 366 NONAME
+ _ZN18QDeclarativeLoader9setSourceERK4QUrl @ 367 NONAME
+ _ZN18QDeclarativeLoaderC1EP16QDeclarativeItem @ 368 NONAME
+ _ZN18QDeclarativeLoaderC2EP16QDeclarativeItem @ 369 NONAME
+ _ZN18QDeclarativeLoaderD0Ev @ 370 NONAME
+ _ZN18QDeclarativeLoaderD1Ev @ 371 NONAME
+ _ZN18QDeclarativeLoaderD2Ev @ 372 NONAME
+ _ZN18QMetaMethodBuilder13setAttributesEi @ 373 NONAME
+ _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 374 NONAME
+ _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 375 NONAME
+ _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 376 NONAME
+ _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 377 NONAME
+ _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 378 NONAME
+ _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 379 NONAME
+ _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 380 NONAME
+ _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 381 NONAME
+ _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 382 NONAME
+ _ZN18QMetaObjectBuilder12removeMethodEi @ 383 NONAME
+ _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 384 NONAME
+ _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 385 NONAME
+ _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 386 NONAME
+ _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 387 NONAME
+ _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 388 NONAME
+ _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 389 NONAME
+ _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 390 NONAME
+ _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 391 NONAME
+ _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 392 NONAME
+ _ZN18QMetaObjectBuilder14removePropertyEi @ 393 NONAME
+ _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 394 NONAME
+ _ZN18QMetaObjectBuilder15removeClassInfoEi @ 395 NONAME
+ _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 396 NONAME
+ _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 397 NONAME
+ _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 398 NONAME
+ _ZN18QMetaObjectBuilder17removeConstructorEi @ 399 NONAME
+ _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 400 NONAME
+ _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 401 NONAME
+ _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 402 NONAME
+ _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 403 NONAME
+ _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 404 NONAME
+ _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 405 NONAME
+ _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 406 NONAME
+ _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 407 NONAME
+ _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 408 NONAME
+ _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 409 NONAME
+ _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 410 NONAME
+ _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 411 NONAME
+ _ZN18QMetaObjectBuilderC1Ev @ 412 NONAME
+ _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 413 NONAME
+ _ZN18QMetaObjectBuilderC2Ev @ 414 NONAME
+ _ZN18QMetaObjectBuilderD0Ev @ 415 NONAME
+ _ZN18QMetaObjectBuilderD1Ev @ 416 NONAME
+ _ZN18QMetaObjectBuilderD2Ev @ 417 NONAME
+ _ZN19QDeclarativeAnchors10classBeginEv @ 418 NONAME
+ _ZN19QDeclarativeAnchors10resetRightEv @ 419 NONAME
+ _ZN19QDeclarativeAnchors10setMarginsEf @ 420 NONAME
+ _ZN19QDeclarativeAnchors10topChangedEv @ 421 NONAME
+ _ZN19QDeclarativeAnchors11fillChangedEv @ 422 NONAME
+ _ZN19QDeclarativeAnchors11leftChangedEv @ 423 NONAME
+ _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 424 NONAME
+ _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 425 NONAME
+ _ZN19QDeclarativeAnchors11resetBottomEv @ 426 NONAME
+ _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 427 NONAME
+ _ZN19QDeclarativeAnchors11setCenterInEP16QDeclarativeItem @ 428 NONAME
+ _ZN19QDeclarativeAnchors12rightChangedEv @ 429 NONAME
+ _ZN19QDeclarativeAnchors12setTopMarginEf @ 430 NONAME
+ _ZN19QDeclarativeAnchors13bottomChangedEv @ 431 NONAME
+ _ZN19QDeclarativeAnchors13resetBaselineEv @ 432 NONAME
+ _ZN19QDeclarativeAnchors13resetCenterInEv @ 433 NONAME
+ _ZN19QDeclarativeAnchors13setLeftMarginEf @ 434 NONAME
+ _ZN19QDeclarativeAnchors14marginsChangedEv @ 435 NONAME
+ _ZN19QDeclarativeAnchors14setRightMarginEf @ 436 NONAME
+ _ZN19QDeclarativeAnchors15baselineChangedEv @ 437 NONAME
+ _ZN19QDeclarativeAnchors15centerInChangedEv @ 438 NONAME
+ _ZN19QDeclarativeAnchors15setBottomMarginEf @ 439 NONAME
+ _ZN19QDeclarativeAnchors16staticMetaObjectE @ 440 NONAME DATA 16
+ _ZN19QDeclarativeAnchors16topMarginChangedEv @ 441 NONAME
+ _ZN19QDeclarativeAnchors17componentCompleteEv @ 442 NONAME
+ _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 443 NONAME
+ _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 444 NONAME
+ _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 445 NONAME
+ _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 446 NONAME
+ _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 447 NONAME
+ _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 448 NONAME
+ _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 449 NONAME
+ _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 450 NONAME
+ _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 451 NONAME
+ _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 452 NONAME
+ _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 453 NONAME
+ _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 454 NONAME
+ _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 455 NONAME
+ _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 456 NONAME
+ _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 457 NONAME
+ _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 458 NONAME
+ _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 459 NONAME
+ _ZN19QDeclarativeAnchors7setFillEP16QDeclarativeItem @ 460 NONAME
+ _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 461 NONAME
+ _ZN19QDeclarativeAnchors8resetTopEv @ 462 NONAME
+ _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 463 NONAME
+ _ZN19QDeclarativeAnchors9resetFillEv @ 464 NONAME
+ _ZN19QDeclarativeAnchors9resetLeftEv @ 465 NONAME
+ _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 466 NONAME
+ _ZN19QDeclarativeAnchorsC1EP16QDeclarativeItemP7QObject @ 467 NONAME
+ _ZN19QDeclarativeAnchorsC1EP7QObject @ 468 NONAME
+ _ZN19QDeclarativeAnchorsC2EP16QDeclarativeItemP7QObject @ 469 NONAME
+ _ZN19QDeclarativeAnchorsC2EP7QObject @ 470 NONAME
+ _ZN19QDeclarativeAnchorsD0Ev @ 471 NONAME
+ _ZN19QDeclarativeAnchorsD1Ev @ 472 NONAME
+ _ZN19QDeclarativeAnchorsD2Ev @ 473 NONAME
+ _ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 474 NONAME
+ _ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 475 NONAME
+ _ZN19QDeclarativeContext11qt_metacastEPKc @ 476 NONAME
+ _ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 477 NONAME
+ _ZN19QDeclarativeContext16addDefaultObjectEP7QObject @ 478 NONAME
+ _ZN19QDeclarativeContext16staticMetaObjectE @ 479 NONAME DATA 16
+ _ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 480 NONAME
+ _ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 481 NONAME
+ _ZN19QDeclarativeContext19getStaticMetaObjectEv @ 482 NONAME
+ _ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 483 NONAME
+ _ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 484 NONAME
+ _ZN19QDeclarativeContextC1EPS_P7QObject @ 485 NONAME
+ _ZN19QDeclarativeContextC1EPS_P7QObjectb @ 486 NONAME
+ _ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 487 NONAME
+ _ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 488 NONAME
+ _ZN19QDeclarativeContextC2EPS_P7QObject @ 489 NONAME
+ _ZN19QDeclarativeContextC2EPS_P7QObjectb @ 490 NONAME
+ _ZN19QDeclarativeContextD0Ev @ 491 NONAME
+ _ZN19QDeclarativeContextD1Ev @ 492 NONAME
+ _ZN19QDeclarativeContextD2Ev @ 493 NONAME
+ _ZN19QDeclarativeDomListC1ERKS_ @ 494 NONAME
+ _ZN19QDeclarativeDomListC1Ev @ 495 NONAME
+ _ZN19QDeclarativeDomListC2ERKS_ @ 496 NONAME
+ _ZN19QDeclarativeDomListC2Ev @ 497 NONAME
+ _ZN19QDeclarativeDomListD1Ev @ 498 NONAME
+ _ZN19QDeclarativeDomListD2Ev @ 499 NONAME
+ _ZN19QDeclarativeDomListaSERKS_ @ 500 NONAME
+ _ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 501 NONAME
+ _ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 502 NONAME
+ _ZN19QDeclarativeWebPage10chooseFileEP9QWebFrameRK7QString @ 503 NONAME
+ _ZN19QDeclarativeWebPage11qt_metacallEN11QMetaObject4CallEiPPv @ 504 NONAME
+ _ZN19QDeclarativeWebPage11qt_metacastEPKc @ 505 NONAME
+ _ZN19QDeclarativeWebPage12createPluginERK7QStringRK4QUrlRK11QStringListS8_ @ 506 NONAME
+ _ZN19QDeclarativeWebPage12createWindowEN8QWebPage13WebWindowTypeE @ 507 NONAME
+ _ZN19QDeclarativeWebPage15javaScriptAlertEP9QWebFrameRK7QString @ 508 NONAME
+ _ZN19QDeclarativeWebPage16javaScriptPromptEP9QWebFrameRK7QStringS4_PS2_ @ 509 NONAME
+ _ZN19QDeclarativeWebPage16staticMetaObjectE @ 510 NONAME DATA 16
+ _ZN19QDeclarativeWebPage17javaScriptConfirmEP9QWebFrameRK7QString @ 511 NONAME
+ _ZN19QDeclarativeWebPage19getStaticMetaObjectEv @ 512 NONAME
+ _ZN19QDeclarativeWebPage24javaScriptConsoleMessageERK7QStringiS2_ @ 513 NONAME
+ _ZN19QDeclarativeWebPage8viewItemEv @ 514 NONAME
+ _ZN19QDeclarativeWebPageC1EP19QDeclarativeWebView @ 515 NONAME
+ _ZN19QDeclarativeWebPageC2EP19QDeclarativeWebView @ 516 NONAME
+ _ZN19QDeclarativeWebPageD0Ev @ 517 NONAME
+ _ZN19QDeclarativeWebPageD1Ev @ 518 NONAME
+ _ZN19QDeclarativeWebPageD2Ev @ 519 NONAME
+ _ZN19QDeclarativeWebView10loadFailedEv @ 520 NONAME
+ _ZN19QDeclarativeWebView10sceneEventEP6QEvent @ 521 NONAME
+ _ZN19QDeclarativeWebView10setContentERK10QByteArrayRK7QStringRK4QUrl @ 522 NONAME
+ _ZN19QDeclarativeWebView10timerEventEP11QTimerEvent @ 523 NONAME
+ _ZN19QDeclarativeWebView10urlChangedEv @ 524 NONAME
+ _ZN19QDeclarativeWebView11doubleClickEii @ 525 NONAME
+ _ZN19QDeclarativeWebView11htmlChangedEv @ 526 NONAME
+ _ZN19QDeclarativeWebView11iconChangedEv @ 527 NONAME
+ _ZN19QDeclarativeWebView11loadStartedEv @ 528 NONAME
+ _ZN19QDeclarativeWebView11qt_metacallEN11QMetaObject4CallEiPPv @ 529 NONAME
+ _ZN19QDeclarativeWebView11qt_metacastEPKc @ 530 NONAME
+ _ZN19QDeclarativeWebView12createWindowEN8QWebPage13WebWindowTypeE @ 531 NONAME
+ _ZN19QDeclarativeWebView12drawContentsEP8QPainterRK5QRect @ 532 NONAME
+ _ZN19QDeclarativeWebView12focusChangedEb @ 533 NONAME
+ _ZN19QDeclarativeWebView12loadFinishedEv @ 534 NONAME
+ _ZN19QDeclarativeWebView12titleChangedERK7QString @ 535 NONAME
+ _ZN19QDeclarativeWebView13doLoadStartedEv @ 536 NONAME
+ _ZN19QDeclarativeWebView13heuristicZoomEiif @ 537 NONAME
+ _ZN19QDeclarativeWebView13initialLayoutEv @ 538 NONAME
+ _ZN19QDeclarativeWebView13keyPressEventEP9QKeyEvent @ 539 NONAME
+ _ZN19QDeclarativeWebView13setStatusTextERK7QString @ 540 NONAME
+ _ZN19QDeclarativeWebView13setZoomFactorEf @ 541 NONAME
+ _ZN19QDeclarativeWebView13statusChangedENS_6StatusE @ 542 NONAME
+ _ZN19QDeclarativeWebView14doLoadFinishedEb @ 543 NONAME
+ _ZN19QDeclarativeWebView14doLoadProgressEi @ 544 NONAME
+ _ZN19QDeclarativeWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 545 NONAME
+ _ZN19QDeclarativeWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 546 NONAME
+ _ZN19QDeclarativeWebView14pageUrlChangedEv @ 547 NONAME
+ _ZN19QDeclarativeWebView15expandToWebPageEv @ 548 NONAME
+ _ZN19QDeclarativeWebView15geometryChangedERK6QRectFS2_ @ 549 NONAME
+ _ZN19QDeclarativeWebView15keyReleaseEventEP9QKeyEvent @ 550 NONAME
+ _ZN19QDeclarativeWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 551 NONAME
+ _ZN19QDeclarativeWebView15progressChangedEv @ 552 NONAME
+ _ZN19QDeclarativeWebView16setPressGrabTimeEi @ 553 NONAME
+ _ZN19QDeclarativeWebView16staticMetaObjectE @ 554 NONAME DATA 16
+ _ZN19QDeclarativeWebView17componentCompleteEv @ 555 NONAME
+ _ZN19QDeclarativeWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 556 NONAME
+ _ZN19QDeclarativeWebView17setPreferredWidthEi @ 557 NONAME
+ _ZN19QDeclarativeWebView17statusTextChangedEv @ 558 NONAME
+ _ZN19QDeclarativeWebView17zoomFactorChangedEv @ 559 NONAME
+ _ZN19QDeclarativeWebView18evaluateJavaScriptERK7QString @ 560 NONAME
+ _ZN19QDeclarativeWebView18setNewWindowParentEP16QDeclarativeItem @ 561 NONAME
+ _ZN19QDeclarativeWebView18setPreferredHeightEi @ 562 NONAME
+ _ZN19QDeclarativeWebView19getStaticMetaObjectEv @ 563 NONAME
+ _ZN19QDeclarativeWebView19setRenderingEnabledEb @ 564 NONAME
+ _ZN19QDeclarativeWebView19windowObjectClearedEv @ 565 NONAME
+ _ZN19QDeclarativeWebView20pressGrabTimeChangedEv @ 566 NONAME
+ _ZN19QDeclarativeWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 567 NONAME
+ _ZN19QDeclarativeWebView21preferredWidthChangedEv @ 568 NONAME
+ _ZN19QDeclarativeWebView21qmlAttachedPropertiesEP7QObject @ 569 NONAME
+ _ZN19QDeclarativeWebView21setNewWindowComponentEP21QDeclarativeComponent @ 570 NONAME
+ _ZN19QDeclarativeWebView22newWindowParentChangedEv @ 571 NONAME
+ _ZN19QDeclarativeWebView22preferredHeightChangedEv @ 572 NONAME
+ _ZN19QDeclarativeWebView23javaScriptWindowObjectsEv @ 573 NONAME
+ _ZN19QDeclarativeWebView23noteContentsSizeChangedERK5QSize @ 574 NONAME
+ _ZN19QDeclarativeWebView23renderingEnabledChangedEv @ 575 NONAME
+ _ZN19QDeclarativeWebView25newWindowComponentChangedEv @ 576 NONAME
+ _ZN19QDeclarativeWebView27sceneMouseEventToMouseEventEP24QGraphicsSceneMouseEvent @ 577 NONAME
+ _ZN19QDeclarativeWebView31sceneHoverMoveEventToMouseEventEP24QGraphicsSceneHoverEvent @ 578 NONAME
+ _ZN19QDeclarativeWebView4initEv @ 579 NONAME
+ _ZN19QDeclarativeWebView4loadERK15QNetworkRequestN21QNetworkAccessManager9OperationERK10QByteArray @ 580 NONAME
+ _ZN19QDeclarativeWebView5alertERK7QString @ 581 NONAME
+ _ZN19QDeclarativeWebView6setUrlERK4QUrl @ 582 NONAME
+ _ZN19QDeclarativeWebView6zoomToEfii @ 583 NONAME
+ _ZN19QDeclarativeWebView7setHtmlERK7QStringRK4QUrl @ 584 NONAME
+ _ZN19QDeclarativeWebView7setPageEP8QWebPage @ 585 NONAME
+ _ZN19QDeclarativeWebView9paintPageERK5QRect @ 586 NONAME
+ _ZN19QDeclarativeWebViewC1EP16QDeclarativeItem @ 587 NONAME
+ _ZN19QDeclarativeWebViewC2EP16QDeclarativeItem @ 588 NONAME
+ _ZN19QDeclarativeWebViewD0Ev @ 589 NONAME
+ _ZN19QDeclarativeWebViewD1Ev @ 590 NONAME
+ _ZN19QDeclarativeWebViewD2Ev @ 591 NONAME
+ _ZN19QListModelInterface10itemsMovedEiii @ 592 NONAME
+ _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 593 NONAME
+ _ZN19QListModelInterface11qt_metacastEPKc @ 594 NONAME
+ _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 595 NONAME
+ _ZN19QListModelInterface12itemsRemovedEii @ 596 NONAME
+ _ZN19QListModelInterface13itemsInsertedEii @ 597 NONAME
+ _ZN19QListModelInterface16staticMetaObjectE @ 598 NONAME DATA 16
+ _ZN19QListModelInterface19getStaticMetaObjectEv @ 599 NONAME
+ _ZN20QDeclarativeBehavior10setEnabledEb @ 600 NONAME
+ _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 601 NONAME
+ _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 602 NONAME
+ _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 603 NONAME
+ _ZN20QDeclarativeBehavior14enabledChangedEv @ 604 NONAME
+ _ZN20QDeclarativeBehavior16staticMetaObjectE @ 605 NONAME DATA 16
+ _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 606 NONAME
+ _ZN20QDeclarativeBehavior5writeERK8QVariant @ 607 NONAME
+ _ZN20QDeclarativeBehavior9animationEv @ 608 NONAME
+ _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 609 NONAME
+ _ZN20QDeclarativeBehaviorC1EP7QObject @ 610 NONAME
+ _ZN20QDeclarativeBehaviorC2EP7QObject @ 611 NONAME
+ _ZN20QDeclarativeBehaviorD0Ev @ 612 NONAME
+ _ZN20QDeclarativeBehaviorD1Ev @ 613 NONAME
+ _ZN20QDeclarativeBehaviorD2Ev @ 614 NONAME
+ _ZN20QDeclarativeCompiler11buildObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 615 NONAME
+ _ZN20QDeclarativeCompiler11buildScriptEPN18QDeclarativeParser6ObjectES2_ @ 616 NONAME
+ _ZN20QDeclarativeCompiler11buildSignalEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 617 NONAME
+ _ZN20QDeclarativeCompiler11compileTreeEPN18QDeclarativeParser6ObjectE @ 618 NONAME
+ _ZN20QDeclarativeCompiler12buildBindingEPN18QDeclarativeParser5ValueEPNS0_8PropertyERKNS_14BindingContextE @ 619 NONAME
+ _ZN20QDeclarativeCompiler12compileAliasER18QMetaObjectBuilderR10QByteArrayPN18QDeclarativeParser6ObjectERKNS5_15DynamicPropertyE @ 620 NONAME
+ _ZN20QDeclarativeCompiler12genComponentEPN18QDeclarativeParser6ObjectE @ 621 NONAME
+ _ZN20QDeclarativeCompiler13buildPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 622 NONAME
+ _ZN20QDeclarativeCompiler13genObjectBodyEPN18QDeclarativeParser6ObjectE @ 623 NONAME
+ _ZN20QDeclarativeCompiler14buildComponentEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 624 NONAME
+ _ZN20QDeclarativeCompiler14buildSubObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 625 NONAME
+ _ZN20QDeclarativeCompiler14componentStateEPN18QDeclarativeParser6ObjectE @ 626 NONAME
+ _ZN20QDeclarativeCompiler15buildIdPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 627 NONAME
+ _ZN20QDeclarativeCompiler15genContextCacheEv @ 628 NONAME
+ _ZN20QDeclarativeCompiler15genListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 629 NONAME
+ _ZN20QDeclarativeCompiler15genPropertyDataEPN18QDeclarativeParser8PropertyE @ 630 NONAME
+ _ZN20QDeclarativeCompiler16buildDynamicMetaEPN18QDeclarativeParser6ObjectENS_15DynamicMetaModeE @ 631 NONAME
+ _ZN20QDeclarativeCompiler16checkDynamicMetaEPN18QDeclarativeParser6ObjectE @ 632 NONAME
+ _ZN20QDeclarativeCompiler16componentTypeRefEv @ 633 NONAME
+ _ZN20QDeclarativeCompiler16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 634 NONAME
+ _ZN20QDeclarativeCompiler16genValuePropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 635 NONAME
+ _ZN20QDeclarativeCompiler16genValueTypeDataEPN18QDeclarativeParser8PropertyES2_ @ 636 NONAME
+ _ZN20QDeclarativeCompiler17buildListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 637 NONAME
+ _ZN20QDeclarativeCompiler17doesPropertyExistEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 638 NONAME
+ _ZN20QDeclarativeCompiler18deferredPropertiesEPN18QDeclarativeParser6ObjectE @ 639 NONAME
+ _ZN20QDeclarativeCompiler18saveComponentStateEv @ 640 NONAME
+ _ZN20QDeclarativeCompiler19addBindingReferenceERKNS_16BindingReferenceE @ 641 NONAME
+ _ZN20QDeclarativeCompiler20buildGroupedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 642 NONAME
+ _ZN20QDeclarativeCompiler20genBindingAssignmentEPN18QDeclarativeParser5ValueEPNS0_8PropertyEPNS0_6ObjectES4_ @ 643 NONAME
+ _ZN20QDeclarativeCompiler20genLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 644 NONAME
+ _ZN20QDeclarativeCompiler20isSignalPropertyNameERK10QByteArray @ 645 NONAME
+ _ZN20QDeclarativeCompiler21buildAttachedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 646 NONAME
+ _ZN20QDeclarativeCompiler21genPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES2_ @ 647 NONAME
+ _ZN20QDeclarativeCompiler21testLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 648 NONAME
+ _ZN20QDeclarativeCompiler22buildComponentFromRootEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 649 NONAME
+ _ZN20QDeclarativeCompiler22buildValueTypePropertyEP7QObjectPN18QDeclarativeParser6ObjectES4_RKNS_14BindingContextE @ 650 NONAME
+ _ZN20QDeclarativeCompiler22completeComponentBuildEv @ 651 NONAME
+ _ZN20QDeclarativeCompiler22isAttachedPropertyNameERK10QByteArray @ 652 NONAME
+ _ZN20QDeclarativeCompiler23buildPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 653 NONAME
+ _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 654 NONAME
+ _ZN20QDeclarativeCompiler25buildScriptStringPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 655 NONAME
+ _ZN20QDeclarativeCompiler26mergeDynamicMetaPropertiesEPN18QDeclarativeParser6ObjectE @ 656 NONAME
+ _ZN20QDeclarativeCompiler27testQualifiedEnumAssignmentERK13QMetaPropertyPN18QDeclarativeParser6ObjectEPNS3_5ValueEPb @ 657 NONAME
+ _ZN20QDeclarativeCompiler29buildPropertyObjectAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 658 NONAME
+ _ZN20QDeclarativeCompiler30buildPropertyLiteralAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 659 NONAME
+ _ZN20QDeclarativeCompiler5addIdERK7QStringPN18QDeclarativeParser6ObjectE @ 660 NONAME
+ _ZN20QDeclarativeCompiler5resetEP24QDeclarativeCompiledData @ 661 NONAME
+ _ZN20QDeclarativeCompiler7compileEP18QDeclarativeEngineP29QDeclarativeCompositeTypeDataP24QDeclarativeCompiledData @ 662 NONAME
+ _ZN20QDeclarativeCompiler9canCoerceEiPN18QDeclarativeParser6ObjectE @ 663 NONAME
+ _ZN20QDeclarativeCompiler9canCoerceEii @ 664 NONAME
+ _ZN20QDeclarativeCompiler9dumpStatsEv @ 665 NONAME
+ _ZN20QDeclarativeCompiler9genObjectEPN18QDeclarativeParser6ObjectE @ 666 NONAME
+ _ZN20QDeclarativeCompiler9isValidIdERK7QString @ 667 NONAME
+ _ZN20QDeclarativeCompiler9toQmlTypeEPN18QDeclarativeParser6ObjectE @ 668 NONAME
+ _ZN20QDeclarativeCompilerC1Ev @ 669 NONAME
+ _ZN20QDeclarativeCompilerC2Ev @ 670 NONAME
+ _ZN20QDeclarativeDomValueC1ERKS_ @ 671 NONAME
+ _ZN20QDeclarativeDomValueC1Ev @ 672 NONAME
+ _ZN20QDeclarativeDomValueC2ERKS_ @ 673 NONAME
+ _ZN20QDeclarativeDomValueC2Ev @ 674 NONAME
+ _ZN20QDeclarativeDomValueD1Ev @ 675 NONAME
+ _ZN20QDeclarativeDomValueD2Ev @ 676 NONAME
+ _ZN20QDeclarativeDomValueaSERKS_ @ 677 NONAME
+ _ZN20QDeclarativeFlipable11qt_metacallEN11QMetaObject4CallEiPPv @ 678 NONAME
+ _ZN20QDeclarativeFlipable11qt_metacastEPKc @ 679 NONAME
+ _ZN20QDeclarativeFlipable11sideChangedEv @ 680 NONAME
+ _ZN20QDeclarativeFlipable16staticMetaObjectE @ 681 NONAME DATA 16
+ _ZN20QDeclarativeFlipable19getStaticMetaObjectEv @ 682 NONAME
+ _ZN20QDeclarativeFlipable4backEv @ 683 NONAME
+ _ZN20QDeclarativeFlipable5frontEv @ 684 NONAME
+ _ZN20QDeclarativeFlipable7setBackEP16QDeclarativeItem @ 685 NONAME
+ _ZN20QDeclarativeFlipable8setFrontEP16QDeclarativeItem @ 686 NONAME
+ _ZN20QDeclarativeFlipableC1EP16QDeclarativeItem @ 687 NONAME
+ _ZN20QDeclarativeFlipableC2EP16QDeclarativeItem @ 688 NONAME
+ _ZN20QDeclarativeFlipableD0Ev @ 689 NONAME
+ _ZN20QDeclarativeFlipableD1Ev @ 690 NONAME
+ _ZN20QDeclarativeFlipableD2Ev @ 691 NONAME
+ _ZN20QDeclarativeGradient11qt_metacallEN11QMetaObject4CallEiPPv @ 692 NONAME
+ _ZN20QDeclarativeGradient11qt_metacastEPKc @ 693 NONAME
+ _ZN20QDeclarativeGradient16staticMetaObjectE @ 694 NONAME DATA 16
+ _ZN20QDeclarativeGradient19getStaticMetaObjectEv @ 695 NONAME
+ _ZN20QDeclarativeGradient7updatedEv @ 696 NONAME
+ _ZN20QDeclarativeGradient8doUpdateEv @ 697 NONAME
+ _ZN20QDeclarativeGridView10itemsMovedEiii @ 698 NONAME
+ _ZN20QDeclarativeGridView10modelResetEv @ 699 NONAME
+ _ZN20QDeclarativeGridView10sizeChangeEv @ 700 NONAME
+ _ZN20QDeclarativeGridView11createdItemEiP16QDeclarativeItem @ 701 NONAME
+ _ZN20QDeclarativeGridView11currentItemEv @ 702 NONAME
+ _ZN20QDeclarativeGridView11qt_metacallEN11QMetaObject4CallEiPPv @ 703 NONAME
+ _ZN20QDeclarativeGridView11qt_metacastEPKc @ 704 NONAME
+ _ZN20QDeclarativeGridView11setDelegateEP21QDeclarativeComponent @ 705 NONAME
+ _ZN20QDeclarativeGridView12countChangedEv @ 706 NONAME
+ _ZN20QDeclarativeGridView12itemsRemovedEii @ 707 NONAME
+ _ZN20QDeclarativeGridView12setCellWidthEi @ 708 NONAME
+ _ZN20QDeclarativeGridView12setHighlightEP21QDeclarativeComponent @ 709 NONAME
+ _ZN20QDeclarativeGridView13highlightItemEv @ 710 NONAME
+ _ZN20QDeclarativeGridView13itemsInsertedEii @ 711 NONAME
+ _ZN20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 712 NONAME
+ _ZN20QDeclarativeGridView13setCellHeightEi @ 713 NONAME
+ _ZN20QDeclarativeGridView13viewportMovedEv @ 714 NONAME
+ _ZN20QDeclarativeGridView14destroyRemovedEv @ 715 NONAME
+ _ZN20QDeclarativeGridView14destroyingItemEP16QDeclarativeItem @ 716 NONAME
+ _ZN20QDeclarativeGridView14setCacheBufferEi @ 717 NONAME
+ _ZN20QDeclarativeGridView14setWrapEnabledEb @ 718 NONAME
+ _ZN20QDeclarativeGridView15setCurrentIndexEi @ 719 NONAME
+ _ZN20QDeclarativeGridView16cellWidthChangedEv @ 720 NONAME
+ _ZN20QDeclarativeGridView16highlightChangedEv @ 721 NONAME
+ _ZN20QDeclarativeGridView16staticMetaObjectE @ 722 NONAME DATA 16
+ _ZN20QDeclarativeGridView17cellHeightChangedEv @ 723 NONAME
+ _ZN20QDeclarativeGridView17componentCompleteEv @ 724 NONAME
+ _ZN20QDeclarativeGridView18moveCurrentIndexUpEv @ 725 NONAME
+ _ZN20QDeclarativeGridView19currentIndexChangedEv @ 726 NONAME
+ _ZN20QDeclarativeGridView19getStaticMetaObjectEv @ 727 NONAME
+ _ZN20QDeclarativeGridView19positionViewAtIndexEi @ 728 NONAME
+ _ZN20QDeclarativeGridView20moveCurrentIndexDownEv @ 729 NONAME
+ _ZN20QDeclarativeGridView20moveCurrentIndexLeftEv @ 730 NONAME
+ _ZN20QDeclarativeGridView21moveCurrentIndexRightEv @ 731 NONAME
+ _ZN20QDeclarativeGridView21qmlAttachedPropertiesEP7QObject @ 732 NONAME
+ _ZN20QDeclarativeGridView22trackedPositionChangedEv @ 733 NONAME
+ _ZN20QDeclarativeGridView30setHighlightFollowsCurrentItemEb @ 734 NONAME
+ _ZN20QDeclarativeGridView6layoutEv @ 735 NONAME
+ _ZN20QDeclarativeGridView6refillEv @ 736 NONAME
+ _ZN20QDeclarativeGridView7setFlowENS_4FlowE @ 737 NONAME
+ _ZN20QDeclarativeGridView8setModelERK8QVariant @ 738 NONAME
+ _ZN20QDeclarativeGridViewC1EP16QDeclarativeItem @ 739 NONAME
+ _ZN20QDeclarativeGridViewC2EP16QDeclarativeItem @ 740 NONAME
+ _ZN20QDeclarativeGridViewD0Ev @ 741 NONAME
+ _ZN20QDeclarativeGridViewD1Ev @ 742 NONAME
+ _ZN20QDeclarativeGridViewD2Ev @ 743 NONAME
+ _ZN20QDeclarativeListView10itemsMovedEiii @ 744 NONAME
+ _ZN20QDeclarativeListView10modelResetEv @ 745 NONAME
+ _ZN20QDeclarativeListView10setSpacingEf @ 746 NONAME
+ _ZN20QDeclarativeListView11animStoppedEv @ 747 NONAME
+ _ZN20QDeclarativeListView11createdItemEiP16QDeclarativeItem @ 748 NONAME
+ _ZN20QDeclarativeListView11currentItemEv @ 749 NONAME
+ _ZN20QDeclarativeListView11qt_metacallEN11QMetaObject4CallEiPPv @ 750 NONAME
+ _ZN20QDeclarativeListView11qt_metacastEPKc @ 751 NONAME
+ _ZN20QDeclarativeListView11setDelegateEP21QDeclarativeComponent @ 752 NONAME
+ _ZN20QDeclarativeListView11setSnapModeENS_8SnapModeE @ 753 NONAME
+ _ZN20QDeclarativeListView12countChangedEv @ 754 NONAME
+ _ZN20QDeclarativeListView12itemsRemovedEii @ 755 NONAME
+ _ZN20QDeclarativeListView12setHighlightEP21QDeclarativeComponent @ 756 NONAME
+ _ZN20QDeclarativeListView13highlightItemEv @ 757 NONAME
+ _ZN20QDeclarativeListView13itemsInsertedEii @ 758 NONAME
+ _ZN20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 759 NONAME
+ _ZN20QDeclarativeListView13viewportMovedEv @ 760 NONAME
+ _ZN20QDeclarativeListView14destroyRemovedEv @ 761 NONAME
+ _ZN20QDeclarativeListView14destroyingItemEP16QDeclarativeItem @ 762 NONAME
+ _ZN20QDeclarativeListView14setCacheBufferEi @ 763 NONAME
+ _ZN20QDeclarativeListView14setOrientationENS_11OrientationE @ 764 NONAME
+ _ZN20QDeclarativeListView14setWrapEnabledEb @ 765 NONAME
+ _ZN20QDeclarativeListView14spacingChangedEv @ 766 NONAME
+ _ZN20QDeclarativeListView15sectionCriteriaEv @ 767 NONAME
+ _ZN20QDeclarativeListView15setCurrentIndexEi @ 768 NONAME
+ _ZN20QDeclarativeListView16highlightChangedEv @ 769 NONAME
+ _ZN20QDeclarativeListView16staticMetaObjectE @ 770 NONAME DATA 16
+ _ZN20QDeclarativeListView17componentCompleteEv @ 771 NONAME
+ _ZN20QDeclarativeListView18orientationChangedEv @ 772 NONAME
+ _ZN20QDeclarativeListView19currentIndexChangedEv @ 773 NONAME
+ _ZN20QDeclarativeListView19getStaticMetaObjectEv @ 774 NONAME
+ _ZN20QDeclarativeListView19positionViewAtIndexEi @ 775 NONAME
+ _ZN20QDeclarativeListView21currentSectionChangedEv @ 776 NONAME
+ _ZN20QDeclarativeListView21decrementCurrentIndexEv @ 777 NONAME
+ _ZN20QDeclarativeListView21incrementCurrentIndexEv @ 778 NONAME
+ _ZN20QDeclarativeListView21qmlAttachedPropertiesEP7QObject @ 779 NONAME
+ _ZN20QDeclarativeListView21setHighlightMoveSpeedEf @ 780 NONAME
+ _ZN20QDeclarativeListView21setHighlightRangeModeENS_18HighlightRangeModeE @ 781 NONAME
+ _ZN20QDeclarativeListView22trackedPositionChangedEv @ 782 NONAME
+ _ZN20QDeclarativeListView23setHighlightResizeSpeedEf @ 783 NONAME
+ _ZN20QDeclarativeListView24setPreferredHighlightEndEf @ 784 NONAME
+ _ZN20QDeclarativeListView25highlightMoveSpeedChangedEv @ 785 NONAME
+ _ZN20QDeclarativeListView26setPreferredHighlightBeginEf @ 786 NONAME
+ _ZN20QDeclarativeListView27highlightResizeSpeedChangedEv @ 787 NONAME
+ _ZN20QDeclarativeListView30setHighlightFollowsCurrentItemEb @ 788 NONAME
+ _ZN20QDeclarativeListView6refillEv @ 789 NONAME
+ _ZN20QDeclarativeListView8setModelERK8QVariant @ 790 NONAME
+ _ZN20QDeclarativeListView9setFooterEP21QDeclarativeComponent @ 791 NONAME
+ _ZN20QDeclarativeListView9setHeaderEP21QDeclarativeComponent @ 792 NONAME
+ _ZN20QDeclarativeListViewC1EP16QDeclarativeItem @ 793 NONAME
+ _ZN20QDeclarativeListViewC2EP16QDeclarativeItem @ 794 NONAME
+ _ZN20QDeclarativeListViewD0Ev @ 795 NONAME
+ _ZN20QDeclarativeListViewD1Ev @ 796 NONAME
+ _ZN20QDeclarativeListViewD2Ev @ 797 NONAME
+ _ZN20QDeclarativeMetaType11isInterfaceEi @ 798 NONAME
+ _ZN20QDeclarativeMetaType12interfaceIIdEi @ 799 NONAME
+ _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 800 NONAME
+ _ZN20QDeclarativeMetaType12typeCategoryEi @ 801 NONAME
+ _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 802 NONAME
+ _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 803 NONAME
+ _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 804 NONAME
+ _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 805 NONAME
+ _ZN20QDeclarativeMetaType21customStringConverterEi @ 806 NONAME
+ _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 807 NONAME
+ _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 808 NONAME
+ _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 809 NONAME
+ _ZN20QDeclarativeMetaType4copyEiPvPKv @ 810 NONAME
+ _ZN20QDeclarativeMetaType6isListEi @ 811 NONAME
+ _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 812 NONAME
+ _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 813 NONAME
+ _ZN20QDeclarativeMetaType7qmlTypeEi @ 814 NONAME
+ _ZN20QDeclarativeMetaType8listTypeEi @ 815 NONAME
+ _ZN20QDeclarativeMetaType8qmlTypesEv @ 816 NONAME
+ _ZN20QDeclarativeMetaType9isQObjectEi @ 817 NONAME
+ _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 818 NONAME
+ _ZN20QDeclarativePathLine11qt_metacallEN11QMetaObject4CallEiPPv @ 819 NONAME
+ _ZN20QDeclarativePathLine11qt_metacastEPKc @ 820 NONAME
+ _ZN20QDeclarativePathLine16staticMetaObjectE @ 821 NONAME DATA 16
+ _ZN20QDeclarativePathLine19getStaticMetaObjectEv @ 822 NONAME
+ _ZN20QDeclarativePathLine9addToPathER12QPainterPath @ 823 NONAME
+ _ZN20QDeclarativePathQuad11qt_metacallEN11QMetaObject4CallEiPPv @ 824 NONAME
+ _ZN20QDeclarativePathQuad11qt_metacastEPKc @ 825 NONAME
+ _ZN20QDeclarativePathQuad11setControlXEf @ 826 NONAME
+ _ZN20QDeclarativePathQuad11setControlYEf @ 827 NONAME
+ _ZN20QDeclarativePathQuad16staticMetaObjectE @ 828 NONAME DATA 16
+ _ZN20QDeclarativePathQuad19getStaticMetaObjectEv @ 829 NONAME
+ _ZN20QDeclarativePathQuad9addToPathER12QPainterPath @ 830 NONAME
+ _ZN20QDeclarativePathView10modelResetEv @ 831 NONAME
+ _ZN20QDeclarativePathView11createdItemEiP16QDeclarativeItem @ 832 NONAME
+ _ZN20QDeclarativePathView11qt_metacallEN11QMetaObject4CallEiPPv @ 833 NONAME
+ _ZN20QDeclarativePathView11qt_metacastEPKc @ 834 NONAME
+ _ZN20QDeclarativePathView11setDelegateEP21QDeclarativeComponent @ 835 NONAME
+ _ZN20QDeclarativePathView12itemsRemovedEii @ 836 NONAME
+ _ZN20QDeclarativePathView13itemsInsertedEii @ 837 NONAME
+ _ZN20QDeclarativePathView13offsetChangedEv @ 838 NONAME
+ _ZN20QDeclarativePathView13setDragMarginEf @ 839 NONAME
+ _ZN20QDeclarativePathView14destroyingItemEP16QDeclarativeItem @ 840 NONAME
+ _ZN20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 841 NONAME
+ _ZN20QDeclarativePathView14sendMouseEventEP24QGraphicsSceneMouseEvent @ 842 NONAME
+ _ZN20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 843 NONAME
+ _ZN20QDeclarativePathView15setCurrentIndexEi @ 844 NONAME
+ _ZN20QDeclarativePathView15setSnapPositionEf @ 845 NONAME
+ _ZN20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 846 NONAME
+ _ZN20QDeclarativePathView16setPathItemCountEi @ 847 NONAME
+ _ZN20QDeclarativePathView16staticMetaObjectE @ 848 NONAME DATA 16
+ _ZN20QDeclarativePathView17componentCompleteEv @ 849 NONAME
+ _ZN20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 850 NONAME
+ _ZN20QDeclarativePathView18attachedPropertiesE @ 851 NONAME DATA 4
+ _ZN20QDeclarativePathView19currentIndexChangedEv @ 852 NONAME
+ _ZN20QDeclarativePathView19getStaticMetaObjectEv @ 853 NONAME
+ _ZN20QDeclarativePathView21qmlAttachedPropertiesEP7QObject @ 854 NONAME
+ _ZN20QDeclarativePathView6refillEv @ 855 NONAME
+ _ZN20QDeclarativePathView6tickedEv @ 856 NONAME
+ _ZN20QDeclarativePathView7setPathEP16QDeclarativePath @ 857 NONAME
+ _ZN20QDeclarativePathView8setModelERK8QVariant @ 858 NONAME
+ _ZN20QDeclarativePathView9setOffsetEf @ 859 NONAME
+ _ZN20QDeclarativePathViewC1EP16QDeclarativeItem @ 860 NONAME
+ _ZN20QDeclarativePathViewC2EP16QDeclarativeItem @ 861 NONAME
+ _ZN20QDeclarativePathViewD0Ev @ 862 NONAME
+ _ZN20QDeclarativePathViewD1Ev @ 863 NONAME
+ _ZN20QDeclarativePathViewD2Ev @ 864 NONAME
+ _ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 865 NONAME
+ _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 866 NONAME
+ _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 867 NONAME
+ _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 868 NONAME
+ _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 869 NONAME
+ _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 870 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObject @ 871 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 872 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 873 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 874 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 875 NONAME
+ _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 876 NONAME
+ _ZN20QDeclarativePropertyC1ERKS_ @ 877 NONAME
+ _ZN20QDeclarativePropertyC1Ev @ 878 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObject @ 879 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 880 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 881 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 882 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 883 NONAME
+ _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 884 NONAME
+ _ZN20QDeclarativePropertyC2ERKS_ @ 885 NONAME
+ _ZN20QDeclarativePropertyC2Ev @ 886 NONAME
+ _ZN20QDeclarativePropertyD1Ev @ 887 NONAME
+ _ZN20QDeclarativePropertyD2Ev @ 888 NONAME
+ _ZN20QDeclarativePropertyaSERKS_ @ 889 NONAME
+ _ZN20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 890 NONAME
+ _ZN20QDeclarativeRepeater10itemsMovedEiii @ 891 NONAME
+ _ZN20QDeclarativeRepeater10modelResetEv @ 892 NONAME
+ _ZN20QDeclarativeRepeater10regenerateEv @ 893 NONAME
+ _ZN20QDeclarativeRepeater11qt_metacallEN11QMetaObject4CallEiPPv @ 894 NONAME
+ _ZN20QDeclarativeRepeater11qt_metacastEPKc @ 895 NONAME
+ _ZN20QDeclarativeRepeater11setDelegateEP21QDeclarativeComponent @ 896 NONAME
+ _ZN20QDeclarativeRepeater12countChangedEv @ 897 NONAME
+ _ZN20QDeclarativeRepeater12itemsRemovedEii @ 898 NONAME
+ _ZN20QDeclarativeRepeater12modelChangedEv @ 899 NONAME
+ _ZN20QDeclarativeRepeater13itemsInsertedEii @ 900 NONAME
+ _ZN20QDeclarativeRepeater15delegateChangedEv @ 901 NONAME
+ _ZN20QDeclarativeRepeater16staticMetaObjectE @ 902 NONAME DATA 16
+ _ZN20QDeclarativeRepeater17componentCompleteEv @ 903 NONAME
+ _ZN20QDeclarativeRepeater19getStaticMetaObjectEv @ 904 NONAME
+ _ZN20QDeclarativeRepeater5clearEv @ 905 NONAME
+ _ZN20QDeclarativeRepeater8setModelERK8QVariant @ 906 NONAME
+ _ZN20QDeclarativeRepeaterC1EP16QDeclarativeItem @ 907 NONAME
+ _ZN20QDeclarativeRepeaterC2EP16QDeclarativeItem @ 908 NONAME
+ _ZN20QDeclarativeRepeaterD0Ev @ 909 NONAME
+ _ZN20QDeclarativeRepeaterD1Ev @ 910 NONAME
+ _ZN20QDeclarativeRepeaterD2Ev @ 911 NONAME
+ _ZN20QDeclarativeTextEdit10updateSizeEv @ 912 NONAME
+ _ZN20QDeclarativeTextEdit11fontChangedERK5QFont @ 913 NONAME
+ _ZN20QDeclarativeTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 914 NONAME
+ _ZN20QDeclarativeTextEdit11qt_metacastEPKc @ 915 NONAME
+ _ZN20QDeclarativeTextEdit11setReadOnlyEb @ 916 NONAME
+ _ZN20QDeclarativeTextEdit11textChangedERK7QString @ 917 NONAME
+ _ZN20QDeclarativeTextEdit11wrapChangedEb @ 918 NONAME
+ _ZN20QDeclarativeTextEdit12colorChangedERK6QColor @ 919 NONAME
+ _ZN20QDeclarativeTextEdit12drawContentsEP8QPainterRK5QRect @ 920 NONAME
+ _ZN20QDeclarativeTextEdit12focusChangedEb @ 921 NONAME
+ _ZN20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 922 NONAME
+ _ZN20QDeclarativeTextEdit13q_textChangedEv @ 923 NONAME
+ _ZN20QDeclarativeTextEdit13setTextFormatENS_10TextFormatE @ 924 NONAME
+ _ZN20QDeclarativeTextEdit13setTextMarginEf @ 925 NONAME
+ _ZN20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 926 NONAME
+ _ZN20QDeclarativeTextEdit14updateImgCacheERK6QRectF @ 927 NONAME
+ _ZN20QDeclarativeTextEdit15geometryChangedERK6QRectFS2_ @ 928 NONAME
+ _ZN20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 929 NONAME
+ _ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 930 NONAME
+ _ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 931 NONAME
+ _ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 932 NONAME
+ _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 933 NONAME
+ _ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 934 NONAME
+ _ZN20QDeclarativeTextEdit16selectionChangedEv @ 935 NONAME
+ _ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 936 NONAME
+ _ZN20QDeclarativeTextEdit16staticMetaObjectE @ 937 NONAME DATA 16
+ _ZN20QDeclarativeTextEdit17componentCompleteEv @ 938 NONAME
+ _ZN20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 939 NONAME
+ _ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 940 NONAME
+ _ZN20QDeclarativeTextEdit17setCursorPositionEi @ 941 NONAME
+ _ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 942 NONAME
+ _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 943 NONAME
+ _ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 944 NONAME
+ _ZN20QDeclarativeTextEdit17textMarginChangedEf @ 945 NONAME
+ _ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 946 NONAME
+ _ZN20QDeclarativeTextEdit18moveCursorDelegateEv @ 947 NONAME
+ _ZN20QDeclarativeTextEdit19focusOnPressChangedEb @ 948 NONAME
+ _ZN20QDeclarativeTextEdit19getStaticMetaObjectEv @ 949 NONAME
+ _ZN20QDeclarativeTextEdit19selectionEndChangedEv @ 950 NONAME
+ _ZN20QDeclarativeTextEdit20cursorVisibleChangedEb @ 951 NONAME
+ _ZN20QDeclarativeTextEdit20setSelectedTextColorERK6QColor @ 952 NONAME
+ _ZN20QDeclarativeTextEdit21cursorDelegateChangedEv @ 953 NONAME
+ _ZN20QDeclarativeTextEdit21cursorPositionChangedEv @ 954 NONAME
+ _ZN20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 955 NONAME
+ _ZN20QDeclarativeTextEdit21selectionColorChangedERK6QColor @ 956 NONAME
+ _ZN20QDeclarativeTextEdit21selectionStartChangedEv @ 957 NONAME
+ _ZN20QDeclarativeTextEdit22setPersistentSelectionEb @ 958 NONAME
+ _ZN20QDeclarativeTextEdit22updateSelectionMarkersEv @ 959 NONAME
+ _ZN20QDeclarativeTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 960 NONAME
+ _ZN20QDeclarativeTextEdit24selectedTextColorChangedERK6QColor @ 961 NONAME
+ _ZN20QDeclarativeTextEdit24verticalAlignmentChangedENS_10VAlignmentE @ 962 NONAME
+ _ZN20QDeclarativeTextEdit26horizontalAlignmentChangedENS_10HAlignmentE @ 963 NONAME
+ _ZN20QDeclarativeTextEdit26persistentSelectionChangedEb @ 964 NONAME
+ _ZN20QDeclarativeTextEdit5eventEP6QEvent @ 965 NONAME
+ _ZN20QDeclarativeTextEdit7setFontERK5QFont @ 966 NONAME
+ _ZN20QDeclarativeTextEdit7setTextERK7QString @ 967 NONAME
+ _ZN20QDeclarativeTextEdit7setWrapEb @ 968 NONAME
+ _ZN20QDeclarativeTextEdit8setColorERK6QColor @ 969 NONAME
+ _ZN20QDeclarativeTextEdit9selectAllEv @ 970 NONAME
+ _ZN20QDeclarativeTextEdit9setHAlignENS_10HAlignmentE @ 971 NONAME
+ _ZN20QDeclarativeTextEdit9setVAlignENS_10VAlignmentE @ 972 NONAME
+ _ZN20QDeclarativeTextEditC1EP16QDeclarativeItem @ 973 NONAME
+ _ZN20QDeclarativeTextEditC2EP16QDeclarativeItem @ 974 NONAME
+ _ZN20QMetaPropertyBuilder10setDynamicEb @ 975 NONAME
+ _ZN20QMetaPropertyBuilder11setEditableEb @ 976 NONAME
+ _ZN20QMetaPropertyBuilder11setReadableEb @ 977 NONAME
+ _ZN20QMetaPropertyBuilder11setWritableEb @ 978 NONAME
+ _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 979 NONAME
+ _ZN20QMetaPropertyBuilder13setDesignableEb @ 980 NONAME
+ _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 981 NONAME
+ _ZN20QMetaPropertyBuilder13setResettableEb @ 982 NONAME
+ _ZN20QMetaPropertyBuilder13setScriptableEb @ 983 NONAME
+ _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 984 NONAME
+ _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 985 NONAME
+ _ZN20QMetaPropertyBuilder7setUserEb @ 986 NONAME
+ _ZN20QMetaPropertyBuilder9setStoredEb @ 987 NONAME
+ _ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 988 NONAME
+ _ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 989 NONAME
+ _ZN21QDeclarativeComponent11qt_metacastEPKc @ 990 NONAME
+ _ZN21QDeclarativeComponent12createObjectEv @ 991 NONAME
+ _ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 992 NONAME
+ _ZN21QDeclarativeComponent14completeCreateEv @ 993 NONAME
+ _ZN21QDeclarativeComponent15progressChangedEf @ 994 NONAME
+ _ZN21QDeclarativeComponent16staticMetaObjectE @ 995 NONAME DATA 16
+ _ZN21QDeclarativeComponent18setCreationContextEP19QDeclarativeContext @ 996 NONAME
+ _ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 997 NONAME
+ _ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 998 NONAME
+ _ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 999 NONAME
+ _ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 1000 NONAME
+ _ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 1001 NONAME
+ _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 1002 NONAME
+ _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 1003 NONAME
+ _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 1004 NONAME
+ _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 1005 NONAME
+ _ZN21QDeclarativeComponentC1EP7QObject @ 1006 NONAME
+ _ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 1007 NONAME
+ _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 1008 NONAME
+ _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 1009 NONAME
+ _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 1010 NONAME
+ _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 1011 NONAME
+ _ZN21QDeclarativeComponentC2EP7QObject @ 1012 NONAME
+ _ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 1013 NONAME
+ _ZN21QDeclarativeComponentD0Ev @ 1014 NONAME
+ _ZN21QDeclarativeComponentD1Ev @ 1015 NONAME
+ _ZN21QDeclarativeComponentD2Ev @ 1016 NONAME
+ _ZN21QDeclarativeDomImportC1ERKS_ @ 1017 NONAME
+ _ZN21QDeclarativeDomImportC1Ev @ 1018 NONAME
+ _ZN21QDeclarativeDomImportC2ERKS_ @ 1019 NONAME
+ _ZN21QDeclarativeDomImportC2Ev @ 1020 NONAME
+ _ZN21QDeclarativeDomImportD1Ev @ 1021 NONAME
+ _ZN21QDeclarativeDomImportD2Ev @ 1022 NONAME
+ _ZN21QDeclarativeDomImportaSERKS_ @ 1023 NONAME
+ _ZN21QDeclarativeDomObjectC1ERKS_ @ 1024 NONAME
+ _ZN21QDeclarativeDomObjectC1Ev @ 1025 NONAME
+ _ZN21QDeclarativeDomObjectC2ERKS_ @ 1026 NONAME
+ _ZN21QDeclarativeDomObjectC2Ev @ 1027 NONAME
+ _ZN21QDeclarativeDomObjectD1Ev @ 1028 NONAME
+ _ZN21QDeclarativeDomObjectD2Ev @ 1029 NONAME
+ _ZN21QDeclarativeDomObjectaSERKS_ @ 1030 NONAME
+ _ZN21QDeclarativeFlickable10flickEndedEv @ 1031 NONAME
+ _ZN21QDeclarativeFlickable10timerEventEP11QTimerEvent @ 1032 NONAME
+ _ZN21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 1033 NONAME
+ _ZN21QDeclarativeFlickable11cancelFlickEv @ 1034 NONAME
+ _ZN21QDeclarativeFlickable11pageChangedEv @ 1035 NONAME
+ _ZN21QDeclarativeFlickable11qt_metacallEN11QMetaObject4CallEiPPv @ 1036 NONAME
+ _ZN21QDeclarativeFlickable11qt_metacastEPKc @ 1037 NONAME
+ _ZN21QDeclarativeFlickable11setContentXEf @ 1038 NONAME
+ _ZN21QDeclarativeFlickable11setContentYEf @ 1039 NONAME
+ _ZN21QDeclarativeFlickable11visibleAreaEv @ 1040 NONAME
+ _ZN21QDeclarativeFlickable11widthChangeEv @ 1041 NONAME
+ _ZN21QDeclarativeFlickable12flickStartedEv @ 1042 NONAME
+ _ZN21QDeclarativeFlickable12heightChangeEv @ 1043 NONAME
+ _ZN21QDeclarativeFlickable12setOverShootEb @ 1044 NONAME
+ _ZN21QDeclarativeFlickable13flickableDataEv @ 1045 NONAME
+ _ZN21QDeclarativeFlickable13movementEndedEv @ 1046 NONAME
+ _ZN21QDeclarativeFlickable13movingChangedEv @ 1047 NONAME
+ _ZN21QDeclarativeFlickable13setPressDelayEi @ 1048 NONAME
+ _ZN21QDeclarativeFlickable13viewportMovedEv @ 1049 NONAME
+ _ZN21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1050 NONAME
+ _ZN21QDeclarativeFlickable14movementEndingEv @ 1051 NONAME
+ _ZN21QDeclarativeFlickable14sendMouseEventEP24QGraphicsSceneMouseEvent @ 1052 NONAME
+ _ZN21QDeclarativeFlickable14setInteractiveEb @ 1053 NONAME
+ _ZN21QDeclarativeFlickable15contentXChangedEv @ 1054 NONAME
+ _ZN21QDeclarativeFlickable15contentYChangedEv @ 1055 NONAME
+ _ZN21QDeclarativeFlickable15flickingChangedEv @ 1056 NONAME
+ _ZN21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 1057 NONAME
+ _ZN21QDeclarativeFlickable15movementStartedEv @ 1058 NONAME
+ _ZN21QDeclarativeFlickable15setContentWidthEf @ 1059 NONAME
+ _ZN21QDeclarativeFlickable16movementStartingEv @ 1060 NONAME
+ _ZN21QDeclarativeFlickable16overShootChangedEv @ 1061 NONAME
+ _ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 1062 NONAME
+ _ZN21QDeclarativeFlickable16setContentHeightEf @ 1063 NONAME
+ _ZN21QDeclarativeFlickable16staticMetaObjectE @ 1064 NONAME DATA 16
+ _ZN21QDeclarativeFlickable17flickableChildrenEv @ 1065 NONAME
+ _ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1066 NONAME
+ _ZN21QDeclarativeFlickable17pressDelayChangedEv @ 1067 NONAME
+ _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1068 NONAME
+ _ZN21QDeclarativeFlickable18interactiveChangedEv @ 1069 NONAME
+ _ZN21QDeclarativeFlickable19contentWidthChangedEv @ 1070 NONAME
+ _ZN21QDeclarativeFlickable19getStaticMetaObjectEv @ 1071 NONAME
+ _ZN21QDeclarativeFlickable19isAtBoundaryChangedEv @ 1072 NONAME
+ _ZN21QDeclarativeFlickable20contentHeightChangedEv @ 1073 NONAME
+ _ZN21QDeclarativeFlickable20setFlickDecelerationEf @ 1074 NONAME
+ _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1075 NONAME
+ _ZN21QDeclarativeFlickable23setMaximumFlickVelocityEf @ 1076 NONAME
+ _ZN21QDeclarativeFlickable23verticalVelocityChangedEv @ 1077 NONAME
+ _ZN21QDeclarativeFlickable24flickDecelerationChangedEv @ 1078 NONAME
+ _ZN21QDeclarativeFlickable25horizontalVelocityChangedEv @ 1079 NONAME
+ _ZN21QDeclarativeFlickable27maximumFlickVelocityChangedEv @ 1080 NONAME
+ _ZN21QDeclarativeFlickable6tickedEv @ 1081 NONAME
+ _ZN21QDeclarativeFlickable8viewportEv @ 1082 NONAME
+ _ZN21QDeclarativeFlickableC1EP16QDeclarativeItem @ 1083 NONAME
+ _ZN21QDeclarativeFlickableC1ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1084 NONAME
+ _ZN21QDeclarativeFlickableC2EP16QDeclarativeItem @ 1085 NONAME
+ _ZN21QDeclarativeFlickableC2ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1086 NONAME
+ _ZN21QDeclarativeFlickableD0Ev @ 1087 NONAME
+ _ZN21QDeclarativeFlickableD1Ev @ 1088 NONAME
+ _ZN21QDeclarativeFlickableD2Ev @ 1089 NONAME
+ _ZN21QDeclarativeImageBase11qt_metacallEN11QMetaObject4CallEiPPv @ 1090 NONAME
+ _ZN21QDeclarativeImageBase11qt_metacastEPKc @ 1091 NONAME
+ _ZN21QDeclarativeImageBase13pixmapChangedEv @ 1092 NONAME
+ _ZN21QDeclarativeImageBase13sourceChangedERK4QUrl @ 1093 NONAME
+ _ZN21QDeclarativeImageBase13statusChangedENS_6StatusE @ 1094 NONAME
+ _ZN21QDeclarativeImageBase15progressChangedEf @ 1095 NONAME
+ _ZN21QDeclarativeImageBase15requestFinishedEv @ 1096 NONAME
+ _ZN21QDeclarativeImageBase15requestProgressExx @ 1097 NONAME
+ _ZN21QDeclarativeImageBase15setAsynchronousEb @ 1098 NONAME
+ _ZN21QDeclarativeImageBase16staticMetaObjectE @ 1099 NONAME DATA 16
+ _ZN21QDeclarativeImageBase17componentCompleteEv @ 1100 NONAME
+ _ZN21QDeclarativeImageBase19asynchronousChangedEv @ 1101 NONAME
+ _ZN21QDeclarativeImageBase19getStaticMetaObjectEv @ 1102 NONAME
+ _ZN21QDeclarativeImageBase4loadEv @ 1103 NONAME
+ _ZN21QDeclarativeImageBase9setSourceERK4QUrl @ 1104 NONAME
+ _ZN21QDeclarativeImageBaseC1ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1105 NONAME
+ _ZN21QDeclarativeImageBaseC2ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1106 NONAME
+ _ZN21QDeclarativeImageBaseD0Ev @ 1107 NONAME
+ _ZN21QDeclarativeImageBaseD1Ev @ 1108 NONAME
+ _ZN21QDeclarativeImageBaseD2Ev @ 1109 NONAME
+ _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1110 NONAME
+ _ZN21QDeclarativeListModel11qt_metacastEPKc @ 1111 NONAME
+ _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 1112 NONAME
+ _ZN21QDeclarativeListModel12countChangedEi @ 1113 NONAME
+ _ZN21QDeclarativeListModel16staticMetaObjectE @ 1114 NONAME DATA 16
+ _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 1115 NONAME
+ _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 1116 NONAME
+ _ZN21QDeclarativeListModel4moveEiii @ 1117 NONAME
+ _ZN21QDeclarativeListModel5clearEv @ 1118 NONAME
+ _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 1119 NONAME
+ _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 1120 NONAME
+ _ZN21QDeclarativeListModel6removeEi @ 1121 NONAME
+ _ZN21QDeclarativeListModelC1EP7QObject @ 1122 NONAME
+ _ZN21QDeclarativeListModelC2EP7QObject @ 1123 NONAME
+ _ZN21QDeclarativeListModelD0Ev @ 1124 NONAME
+ _ZN21QDeclarativeListModelD1Ev @ 1125 NONAME
+ _ZN21QDeclarativeListModelD2Ev @ 1126 NONAME
+ _ZN21QDeclarativeMouseArea10sceneEventEP6QEvent @ 1127 NONAME
+ _ZN21QDeclarativeMouseArea10setEnabledEb @ 1128 NONAME
+ _ZN21QDeclarativeMouseArea10setHoveredEb @ 1129 NONAME
+ _ZN21QDeclarativeMouseArea10setPressedEb @ 1130 NONAME
+ _ZN21QDeclarativeMouseArea10timerEventEP11QTimerEvent @ 1131 NONAME
+ _ZN21QDeclarativeMouseArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1132 NONAME
+ _ZN21QDeclarativeMouseArea11qt_metacastEPKc @ 1133 NONAME
+ _ZN21QDeclarativeMouseArea12pressAndHoldEP22QDeclarativeMouseEvent @ 1134 NONAME
+ _ZN21QDeclarativeMouseArea13doubleClickedEP22QDeclarativeMouseEvent @ 1135 NONAME
+ _ZN21QDeclarativeMouseArea14enabledChangedEv @ 1136 NONAME
+ _ZN21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 1137 NONAME
+ _ZN21QDeclarativeMouseArea14hoveredChangedEv @ 1138 NONAME
+ _ZN21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1139 NONAME
+ _ZN21QDeclarativeMouseArea14pressedChangedEv @ 1140 NONAME
+ _ZN21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 1141 NONAME
+ _ZN21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 1142 NONAME
+ _ZN21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 1143 NONAME
+ _ZN21QDeclarativeMouseArea15positionChangedEP22QDeclarativeMouseEvent @ 1144 NONAME
+ _ZN21QDeclarativeMouseArea16staticMetaObjectE @ 1145 NONAME DATA 16
+ _ZN21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1146 NONAME
+ _ZN21QDeclarativeMouseArea18setAcceptedButtonsE6QFlagsIN2Qt11MouseButtonEE @ 1147 NONAME
+ _ZN21QDeclarativeMouseArea19getStaticMetaObjectEv @ 1148 NONAME
+ _ZN21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 1149 NONAME
+ _ZN21QDeclarativeMouseArea22acceptedButtonsChangedEv @ 1150 NONAME
+ _ZN21QDeclarativeMouseArea4dragEv @ 1151 NONAME
+ _ZN21QDeclarativeMouseArea6exitedEv @ 1152 NONAME
+ _ZN21QDeclarativeMouseArea7clickedEP22QDeclarativeMouseEvent @ 1153 NONAME
+ _ZN21QDeclarativeMouseArea7enteredEv @ 1154 NONAME
+ _ZN21QDeclarativeMouseArea7pressedEP22QDeclarativeMouseEvent @ 1155 NONAME
+ _ZN21QDeclarativeMouseArea8releasedEP22QDeclarativeMouseEvent @ 1156 NONAME
+ _ZN21QDeclarativeMouseAreaC1EP16QDeclarativeItem @ 1157 NONAME
+ _ZN21QDeclarativeMouseAreaC2EP16QDeclarativeItem @ 1158 NONAME
+ _ZN21QDeclarativeMouseAreaD0Ev @ 1159 NONAME
+ _ZN21QDeclarativeMouseAreaD1Ev @ 1160 NONAME
+ _ZN21QDeclarativeMouseAreaD2Ev @ 1161 NONAME
+ _ZN21QDeclarativeParticles11imageLoadedEv @ 1162 NONAME
+ _ZN21QDeclarativeParticles11qt_metacallEN11QMetaObject4CallEiPPv @ 1163 NONAME
+ _ZN21QDeclarativeParticles11qt_metacastEPKc @ 1164 NONAME
+ _ZN21QDeclarativeParticles11setLifeSpanEi @ 1165 NONAME
+ _ZN21QDeclarativeParticles11setVelocityEf @ 1166 NONAME
+ _ZN21QDeclarativeParticles12angleChangedEv @ 1167 NONAME
+ _ZN21QDeclarativeParticles12countChangedEv @ 1168 NONAME
+ _ZN21QDeclarativeParticles13motionChangedEv @ 1169 NONAME
+ _ZN21QDeclarativeParticles13sourceChangedEv @ 1170 NONAME
+ _ZN21QDeclarativeParticles15emittingChangedEv @ 1171 NONAME
+ _ZN21QDeclarativeParticles15lifeSpanChangedEv @ 1172 NONAME
+ _ZN21QDeclarativeParticles15setEmissionRateEi @ 1173 NONAME
+ _ZN21QDeclarativeParticles15velocityChangedEv @ 1174 NONAME
+ _ZN21QDeclarativeParticles16staticMetaObjectE @ 1175 NONAME DATA 16
+ _ZN21QDeclarativeParticles17componentCompleteEv @ 1176 NONAME
+ _ZN21QDeclarativeParticles17setAngleDeviationEf @ 1177 NONAME
+ _ZN21QDeclarativeParticles17setFadeInDurationEi @ 1178 NONAME
+ _ZN21QDeclarativeParticles18setFadeOutDurationEi @ 1179 NONAME
+ _ZN21QDeclarativeParticles19emissionRateChangedEv @ 1180 NONAME
+ _ZN21QDeclarativeParticles19getStaticMetaObjectEv @ 1181 NONAME
+ _ZN21QDeclarativeParticles19setEmissionVarianceEf @ 1182 NONAME
+ _ZN21QDeclarativeParticles20setLifeSpanDeviationEi @ 1183 NONAME
+ _ZN21QDeclarativeParticles20setVelocityDeviationEf @ 1184 NONAME
+ _ZN21QDeclarativeParticles21angleDeviationChangedEv @ 1185 NONAME
+ _ZN21QDeclarativeParticles21fadeInDurationChangedEv @ 1186 NONAME
+ _ZN21QDeclarativeParticles22fadeOutDurationChangedEv @ 1187 NONAME
+ _ZN21QDeclarativeParticles23emissionVarianceChangedEv @ 1188 NONAME
+ _ZN21QDeclarativeParticles24lifeSpanDeviationChangedEv @ 1189 NONAME
+ _ZN21QDeclarativeParticles24velocityDeviationChangedEv @ 1190 NONAME
+ _ZN21QDeclarativeParticles5burstEii @ 1191 NONAME
+ _ZN21QDeclarativeParticles5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1192 NONAME
+ _ZN21QDeclarativeParticles8setAngleEf @ 1193 NONAME
+ _ZN21QDeclarativeParticles8setCountEi @ 1194 NONAME
+ _ZN21QDeclarativeParticles9setMotionEP26QDeclarativeParticleMotion @ 1195 NONAME
+ _ZN21QDeclarativeParticles9setSourceERK4QUrl @ 1196 NONAME
+ _ZN21QDeclarativeParticlesC1EP16QDeclarativeItem @ 1197 NONAME
+ _ZN21QDeclarativeParticlesC2EP16QDeclarativeItem @ 1198 NONAME
+ _ZN21QDeclarativeParticlesD0Ev @ 1199 NONAME
+ _ZN21QDeclarativeParticlesD1Ev @ 1200 NONAME
+ _ZN21QDeclarativeParticlesD2Ev @ 1201 NONAME
+ _ZN21QDeclarativePathCubic11qt_metacallEN11QMetaObject4CallEiPPv @ 1202 NONAME
+ _ZN21QDeclarativePathCubic11qt_metacastEPKc @ 1203 NONAME
+ _ZN21QDeclarativePathCubic12setControl1XEf @ 1204 NONAME
+ _ZN21QDeclarativePathCubic12setControl1YEf @ 1205 NONAME
+ _ZN21QDeclarativePathCubic12setControl2XEf @ 1206 NONAME
+ _ZN21QDeclarativePathCubic12setControl2YEf @ 1207 NONAME
+ _ZN21QDeclarativePathCubic16staticMetaObjectE @ 1208 NONAME DATA 16
+ _ZN21QDeclarativePathCubic19getStaticMetaObjectEv @ 1209 NONAME
+ _ZN21QDeclarativePathCubic9addToPathER12QPainterPath @ 1210 NONAME
+ _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 1211 NONAME
+ _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 1212 NONAME
+ _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 1213 NONAME
+ _ZN21QDeclarativeRectangle12colorChangedEv @ 1214 NONAME
+ _ZN21QDeclarativeRectangle13radiusChangedEv @ 1215 NONAME
+ _ZN21QDeclarativeRectangle16staticMetaObjectE @ 1216 NONAME DATA 16
+ _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 1217 NONAME
+ _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 1218 NONAME
+ _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 1219 NONAME
+ _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1220 NONAME
+ _ZN21QDeclarativeRectangle6borderEv @ 1221 NONAME
+ _ZN21QDeclarativeRectangle8doUpdateEv @ 1222 NONAME
+ _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 1223 NONAME
+ _ZN21QDeclarativeRectangle8setColorERK6QColor @ 1224 NONAME
+ _ZN21QDeclarativeRectangle9setRadiusEf @ 1225 NONAME
+ _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 1226 NONAME
+ _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 1227 NONAME
+ _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 1228 NONAME
+ _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 1229 NONAME
+ _ZN21QDeclarativeScaleGrid13borderChangedEv @ 1230 NONAME
+ _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 1231 NONAME DATA 16
+ _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 1232 NONAME
+ _ZN21QDeclarativeScaleGrid6setTopEi @ 1233 NONAME
+ _ZN21QDeclarativeScaleGrid7setLeftEi @ 1234 NONAME
+ _ZN21QDeclarativeScaleGrid8setRightEi @ 1235 NONAME
+ _ZN21QDeclarativeScaleGrid9setBottomEi @ 1236 NONAME
+ _ZN21QDeclarativeScaleGridC1EP7QObject @ 1237 NONAME
+ _ZN21QDeclarativeScaleGridC2EP7QObject @ 1238 NONAME
+ _ZN21QDeclarativeScaleGridD0Ev @ 1239 NONAME
+ _ZN21QDeclarativeScaleGridD1Ev @ 1240 NONAME
+ _ZN21QDeclarativeScaleGridD2Ev @ 1241 NONAME
+ _ZN21QDeclarativeTextInput10moveCursorEv @ 1242 NONAME
+ _ZN21QDeclarativeTextInput10updateRectERK5QRect @ 1243 NONAME
+ _ZN21QDeclarativeTextInput10updateSizeEb @ 1244 NONAME
+ _ZN21QDeclarativeTextInput11fontChangedERK5QFont @ 1245 NONAME
+ _ZN21QDeclarativeTextInput11qt_metacallEN11QMetaObject4CallEiPPv @ 1246 NONAME
+ _ZN21QDeclarativeTextInput11qt_metacastEPKc @ 1247 NONAME
+ _ZN21QDeclarativeTextInput11setEchoModeENS_8EchoModeE @ 1248 NONAME
+ _ZN21QDeclarativeTextInput11setReadOnlyEb @ 1249 NONAME
+ _ZN21QDeclarativeTextInput11textChangedEv @ 1250 NONAME
+ _ZN21QDeclarativeTextInput12colorChangedERK6QColor @ 1251 NONAME
+ _ZN21QDeclarativeTextInput12createCursorEv @ 1252 NONAME
+ _ZN21QDeclarativeTextInput12drawContentsEP8QPainterRK5QRect @ 1253 NONAME
+ _ZN21QDeclarativeTextInput12focusChangedEb @ 1254 NONAME
+ _ZN21QDeclarativeTextInput12setInputMaskERK7QString @ 1255 NONAME
+ _ZN21QDeclarativeTextInput12setMaxLengthEi @ 1256 NONAME
+ _ZN21QDeclarativeTextInput12setValidatorEP10QValidator @ 1257 NONAME
+ _ZN21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 1258 NONAME
+ _ZN21QDeclarativeTextInput13q_textChangedEv @ 1259 NONAME
+ _ZN21QDeclarativeTextInput15echoModeChangedENS_8EchoModeE @ 1260 NONAME
+ _ZN21QDeclarativeTextInput15geometryChangedERK6QRectFS2_ @ 1261 NONAME
+ _ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1262 NONAME
+ _ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1263 NONAME
+ _ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1264 NONAME
+ _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1265 NONAME
+ _ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1266 NONAME
+ _ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1267 NONAME
+ _ZN21QDeclarativeTextInput16selectionChangedEv @ 1268 NONAME
+ _ZN21QDeclarativeTextInput16setCursorVisibleEb @ 1269 NONAME
+ _ZN21QDeclarativeTextInput16staticMetaObjectE @ 1270 NONAME DATA 16
+ _ZN21QDeclarativeTextInput16validatorChangedEv @ 1271 NONAME
+ _ZN21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1272 NONAME
+ _ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1273 NONAME
+ _ZN21QDeclarativeTextInput17setCursorPositionEi @ 1274 NONAME
+ _ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1275 NONAME
+ _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1276 NONAME
+ _ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1277 NONAME
+ _ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1278 NONAME
+ _ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1279 NONAME
+ _ZN21QDeclarativeTextInput19selectionEndChangedEv @ 1280 NONAME
+ _ZN21QDeclarativeTextInput20cursorVisibleChangedEb @ 1281 NONAME
+ _ZN21QDeclarativeTextInput20maximumLengthChangedEi @ 1282 NONAME
+ _ZN21QDeclarativeTextInput20setSelectedTextColorERK6QColor @ 1283 NONAME
+ _ZN21QDeclarativeTextInput21cursorDelegateChangedEv @ 1284 NONAME
+ _ZN21QDeclarativeTextInput21cursorPositionChangedEv @ 1285 NONAME
+ _ZN21QDeclarativeTextInput21selectionColorChangedERK6QColor @ 1286 NONAME
+ _ZN21QDeclarativeTextInput21selectionStartChangedEv @ 1287 NONAME
+ _ZN21QDeclarativeTextInput22acceptableInputChangedEv @ 1288 NONAME
+ _ZN21QDeclarativeTextInput24selectedTextColorChangedERK6QColor @ 1289 NONAME
+ _ZN21QDeclarativeTextInput26horizontalAlignmentChangedENS_10HAlignmentE @ 1290 NONAME
+ _ZN21QDeclarativeTextInput5eventEP6QEvent @ 1291 NONAME
+ _ZN21QDeclarativeTextInput6xToPosEi @ 1292 NONAME
+ _ZN21QDeclarativeTextInput7setFontERK5QFont @ 1293 NONAME
+ _ZN21QDeclarativeTextInput7setTextERK7QString @ 1294 NONAME
+ _ZN21QDeclarativeTextInput8acceptedEv @ 1295 NONAME
+ _ZN21QDeclarativeTextInput8setColorERK6QColor @ 1296 NONAME
+ _ZN21QDeclarativeTextInput9selectAllEv @ 1297 NONAME
+ _ZN21QDeclarativeTextInput9setHAlignENS_10HAlignmentE @ 1298 NONAME
+ _ZN21QDeclarativeTextInputC1EP16QDeclarativeItem @ 1299 NONAME
+ _ZN21QDeclarativeTextInputC2EP16QDeclarativeItem @ 1300 NONAME
+ _ZN21QDeclarativeTextInputD0Ev @ 1301 NONAME
+ _ZN21QDeclarativeTextInputD1Ev @ 1302 NONAME
+ _ZN21QDeclarativeTextInputD2Ev @ 1303 NONAME
+ _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 1304 NONAME
+ _ZN21QDeclarativeValueType11qt_metacastEPKc @ 1305 NONAME
+ _ZN21QDeclarativeValueType16staticMetaObjectE @ 1306 NONAME DATA 16
+ _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 1307 NONAME
+ _ZN21QDeclarativeValueTypeC2EP7QObject @ 1308 NONAME
+ _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1309 NONAME
+ _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 1310 NONAME
+ _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 1311 NONAME
+ _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 1312 NONAME DATA 16
+ _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 1313 NONAME
+ _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 1314 NONAME
+ _ZN22QDeclarativeDebugQueryC1EP7QObject @ 1315 NONAME
+ _ZN22QDeclarativeDebugQueryC2EP7QObject @ 1316 NONAME
+ _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1317 NONAME
+ _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 1318 NONAME
+ _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 1319 NONAME
+ _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 1320 NONAME
+ _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 1321 NONAME DATA 16
+ _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 1322 NONAME
+ _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 1323 NONAME
+ _ZN22QDeclarativeDebugWatchC1EP7QObject @ 1324 NONAME
+ _ZN22QDeclarativeDebugWatchC2EP7QObject @ 1325 NONAME
+ _ZN22QDeclarativeDebugWatchD0Ev @ 1326 NONAME
+ _ZN22QDeclarativeDebugWatchD1Ev @ 1327 NONAME
+ _ZN22QDeclarativeDebugWatchD2Ev @ 1328 NONAME
+ _ZN22QDeclarativeEaseFollow10setEnabledEb @ 1329 NONAME
+ _ZN22QDeclarativeEaseFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1330 NONAME
+ _ZN22QDeclarativeEaseFollow11qt_metacastEPKc @ 1331 NONAME
+ _ZN22QDeclarativeEaseFollow11setDurationEf @ 1332 NONAME
+ _ZN22QDeclarativeEaseFollow11setVelocityEf @ 1333 NONAME
+ _ZN22QDeclarativeEaseFollow13sourceChangedEv @ 1334 NONAME
+ _ZN22QDeclarativeEaseFollow14enabledChangedEv @ 1335 NONAME
+ _ZN22QDeclarativeEaseFollow14setSourceValueEf @ 1336 NONAME
+ _ZN22QDeclarativeEaseFollow15durationChangedEv @ 1337 NONAME
+ _ZN22QDeclarativeEaseFollow15velocityChangedEv @ 1338 NONAME
+ _ZN22QDeclarativeEaseFollow16setReversingModeENS_13ReversingModeE @ 1339 NONAME
+ _ZN22QDeclarativeEaseFollow16staticMetaObjectE @ 1340 NONAME DATA 16
+ _ZN22QDeclarativeEaseFollow19getStaticMetaObjectEv @ 1341 NONAME
+ _ZN22QDeclarativeEaseFollow20reversingModeChangedEv @ 1342 NONAME
+ _ZN22QDeclarativeEaseFollow20setMaximumEasingTimeEf @ 1343 NONAME
+ _ZN22QDeclarativeEaseFollow24maximumEasingTimeChangedEv @ 1344 NONAME
+ _ZN22QDeclarativeEaseFollow9setTargetERK20QDeclarativeProperty @ 1345 NONAME
+ _ZN22QDeclarativeEaseFollowC1EP7QObject @ 1346 NONAME
+ _ZN22QDeclarativeEaseFollowC2EP7QObject @ 1347 NONAME
+ _ZN22QDeclarativeEaseFollowD0Ev @ 1348 NONAME
+ _ZN22QDeclarativeEaseFollowD1Ev @ 1349 NONAME
+ _ZN22QDeclarativeEaseFollowD2Ev @ 1350 NONAME
+ _ZN22QDeclarativeExpression10__q_notifyEv @ 1351 NONAME
+ _ZN22QDeclarativeExpression10clearErrorEv @ 1352 NONAME
+ _ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 1353 NONAME
+ _ZN22QDeclarativeExpression11qt_metacastEPKc @ 1354 NONAME
+ _ZN22QDeclarativeExpression12valueChangedEv @ 1355 NONAME
+ _ZN22QDeclarativeExpression13setExpressionERK7QString @ 1356 NONAME
+ _ZN22QDeclarativeExpression16staticMetaObjectE @ 1357 NONAME DATA 16
+ _ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 1358 NONAME
+ _ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 1359 NONAME
+ _ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 1360 NONAME
+ _ZN22QDeclarativeExpression5valueEPb @ 1361 NONAME
+ _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1362 NONAME
+ _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1363 NONAME
+ _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1364 NONAME
+ _ZN22QDeclarativeExpressionC1Ev @ 1365 NONAME
+ _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1366 NONAME
+ _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1367 NONAME
+ _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1368 NONAME
+ _ZN22QDeclarativeExpressionC2Ev @ 1369 NONAME
+ _ZN22QDeclarativeExpressionD0Ev @ 1370 NONAME
+ _ZN22QDeclarativeExpressionD1Ev @ 1371 NONAME
+ _ZN22QDeclarativeExpressionD2Ev @ 1372 NONAME
+ _ZN22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 1373 NONAME
+ _ZN22QDeclarativeFocusPanel11qt_metacallEN11QMetaObject4CallEiPPv @ 1374 NONAME
+ _ZN22QDeclarativeFocusPanel11qt_metacastEPKc @ 1375 NONAME
+ _ZN22QDeclarativeFocusPanel13activeChangedEv @ 1376 NONAME
+ _ZN22QDeclarativeFocusPanel16staticMetaObjectE @ 1377 NONAME DATA 16
+ _ZN22QDeclarativeFocusPanel19getStaticMetaObjectEv @ 1378 NONAME
+ _ZN22QDeclarativeFocusPanelC1EP16QDeclarativeItem @ 1379 NONAME
+ _ZN22QDeclarativeFocusPanelC2EP16QDeclarativeItem @ 1380 NONAME
+ _ZN22QDeclarativeFocusPanelD0Ev @ 1381 NONAME
+ _ZN22QDeclarativeFocusPanelD1Ev @ 1382 NONAME
+ _ZN22QDeclarativeFocusPanelD2Ev @ 1383 NONAME
+ _ZN22QDeclarativeFocusScope11qt_metacallEN11QMetaObject4CallEiPPv @ 1384 NONAME
+ _ZN22QDeclarativeFocusScope11qt_metacastEPKc @ 1385 NONAME
+ _ZN22QDeclarativeFocusScope16staticMetaObjectE @ 1386 NONAME DATA 16
+ _ZN22QDeclarativeFocusScope19getStaticMetaObjectEv @ 1387 NONAME
+ _ZN22QDeclarativeFocusScopeC1EP16QDeclarativeItem @ 1388 NONAME
+ _ZN22QDeclarativeFocusScopeC2EP16QDeclarativeItem @ 1389 NONAME
+ _ZN22QDeclarativeFocusScopeD0Ev @ 1390 NONAME
+ _ZN22QDeclarativeFocusScopeD1Ev @ 1391 NONAME
+ _ZN22QDeclarativeFocusScopeD2Ev @ 1392 NONAME
+ _ZN22QDeclarativeFontLoader11nameChangedEv @ 1393 NONAME
+ _ZN22QDeclarativeFontLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 1394 NONAME
+ _ZN22QDeclarativeFontLoader11qt_metacastEPKc @ 1395 NONAME
+ _ZN22QDeclarativeFontLoader13replyFinishedEv @ 1396 NONAME
+ _ZN22QDeclarativeFontLoader13statusChangedEv @ 1397 NONAME
+ _ZN22QDeclarativeFontLoader16staticMetaObjectE @ 1398 NONAME DATA 16
+ _ZN22QDeclarativeFontLoader19getStaticMetaObjectEv @ 1399 NONAME
+ _ZN22QDeclarativeFontLoader7setNameERK7QString @ 1400 NONAME
+ _ZN22QDeclarativeFontLoader9setSourceERK4QUrl @ 1401 NONAME
+ _ZN22QDeclarativeFontLoaderC1EP7QObject @ 1402 NONAME
+ _ZN22QDeclarativeFontLoaderC2EP7QObject @ 1403 NONAME
+ _ZN22QDeclarativeFontLoaderD0Ev @ 1404 NONAME
+ _ZN22QDeclarativeFontLoaderD1Ev @ 1405 NONAME
+ _ZN22QDeclarativeFontLoaderD2Ev @ 1406 NONAME
+ _ZN22QDeclarativeStateGroup10classBeginEv @ 1407 NONAME
+ _ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1408 NONAME
+ _ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 1409 NONAME
+ _ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 1410 NONAME
+ _ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 1411 NONAME
+ _ZN22QDeclarativeStateGroup14statesPropertyEv @ 1412 NONAME
+ _ZN22QDeclarativeStateGroup15updateAutoStateEv @ 1413 NONAME
+ _ZN22QDeclarativeStateGroup16staticMetaObjectE @ 1414 NONAME DATA 16
+ _ZN22QDeclarativeStateGroup17componentCompleteEv @ 1415 NONAME
+ _ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 1416 NONAME
+ _ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 1417 NONAME
+ _ZN22QDeclarativeStateGroup8setStateERK7QString @ 1418 NONAME
+ _ZN22QDeclarativeStateGroupC1EP7QObject @ 1419 NONAME
+ _ZN22QDeclarativeStateGroupC2EP7QObject @ 1420 NONAME
+ _ZN22QDeclarativeStateGroupD0Ev @ 1421 NONAME
+ _ZN22QDeclarativeStateGroupD1Ev @ 1422 NONAME
+ _ZN22QDeclarativeStateGroupD2Ev @ 1423 NONAME
+ _ZN22QDeclarativeStyledText5parseERK7QStringR11QTextLayout @ 1424 NONAME
+ _ZN22QDeclarativeStyledTextC1ERK7QStringR11QTextLayout @ 1425 NONAME
+ _ZN22QDeclarativeStyledTextC2ERK7QStringR11QTextLayout @ 1426 NONAME
+ _ZN22QDeclarativeStyledTextD1Ev @ 1427 NONAME
+ _ZN22QDeclarativeStyledTextD2Ev @ 1428 NONAME
+ _ZN22QDeclarativeTransition10animationsEv @ 1429 NONAME
+ _ZN22QDeclarativeTransition10setToStateERK7QString @ 1430 NONAME
+ _ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 1431 NONAME
+ _ZN22QDeclarativeTransition11qt_metacastEPKc @ 1432 NONAME
+ _ZN22QDeclarativeTransition11setReversedEb @ 1433 NONAME
+ _ZN22QDeclarativeTransition12setFromStateERK7QString @ 1434 NONAME
+ _ZN22QDeclarativeTransition13setReversibleEb @ 1435 NONAME
+ _ZN22QDeclarativeTransition16staticMetaObjectE @ 1436 NONAME DATA 16
+ _ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 1437 NONAME
+ _ZN22QDeclarativeTransition4stopEv @ 1438 NONAME
+ _ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 1439 NONAME
+ _ZN22QDeclarativeTransitionC1EP7QObject @ 1440 NONAME
+ _ZN22QDeclarativeTransitionC2EP7QObject @ 1441 NONAME
+ _ZN22QDeclarativeTransitionD0Ev @ 1442 NONAME
+ _ZN22QDeclarativeTransitionD1Ev @ 1443 NONAME
+ _ZN22QDeclarativeTransitionD2Ev @ 1444 NONAME
+ _ZN23QDeclarativeBorderImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1445 NONAME
+ _ZN23QDeclarativeBorderImage11qt_metacastEPKc @ 1446 NONAME
+ _ZN23QDeclarativeBorderImage15requestFinishedEv @ 1447 NONAME
+ _ZN23QDeclarativeBorderImage16staticMetaObjectE @ 1448 NONAME DATA 16
+ _ZN23QDeclarativeBorderImage18sciRequestFinishedEv @ 1449 NONAME
+ _ZN23QDeclarativeBorderImage18setGridScaledImageERK27QDeclarativeGridScaledImage @ 1450 NONAME
+ _ZN23QDeclarativeBorderImage19getStaticMetaObjectEv @ 1451 NONAME
+ _ZN23QDeclarativeBorderImage19setVerticalTileModeENS_8TileModeE @ 1452 NONAME
+ _ZN23QDeclarativeBorderImage21setHorizontalTileModeENS_8TileModeE @ 1453 NONAME
+ _ZN23QDeclarativeBorderImage23verticalTileModeChangedEv @ 1454 NONAME
+ _ZN23QDeclarativeBorderImage25horizontalTileModeChangedEv @ 1455 NONAME
+ _ZN23QDeclarativeBorderImage4loadEv @ 1456 NONAME
+ _ZN23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1457 NONAME
+ _ZN23QDeclarativeBorderImage6borderEv @ 1458 NONAME
+ _ZN23QDeclarativeBorderImage9setSourceERK4QUrl @ 1459 NONAME
+ _ZN23QDeclarativeBorderImageC1EP16QDeclarativeItem @ 1460 NONAME
+ _ZN23QDeclarativeBorderImageC2EP16QDeclarativeItem @ 1461 NONAME
+ _ZN23QDeclarativeBorderImageD0Ev @ 1462 NONAME
+ _ZN23QDeclarativeBorderImageD1Ev @ 1463 NONAME
+ _ZN23QDeclarativeBorderImageD2Ev @ 1464 NONAME
+ _ZN23QDeclarativeConnections11qt_metacallEN11QMetaObject4CallEiPPv @ 1465 NONAME
+ _ZN23QDeclarativeConnections11qt_metacastEPKc @ 1466 NONAME
+ _ZN23QDeclarativeConnections13targetChangedEv @ 1467 NONAME
+ _ZN23QDeclarativeConnections14connectSignalsEv @ 1468 NONAME
+ _ZN23QDeclarativeConnections16staticMetaObjectE @ 1469 NONAME DATA 16
+ _ZN23QDeclarativeConnections17componentCompleteEv @ 1470 NONAME
+ _ZN23QDeclarativeConnections19getStaticMetaObjectEv @ 1471 NONAME
+ _ZN23QDeclarativeConnections9setTargetEP7QObject @ 1472 NONAME
+ _ZN23QDeclarativeConnectionsC1EP7QObject @ 1473 NONAME
+ _ZN23QDeclarativeConnectionsC2EP7QObject @ 1474 NONAME
+ _ZN23QDeclarativeConnectionsD0Ev @ 1475 NONAME
+ _ZN23QDeclarativeConnectionsD1Ev @ 1476 NONAME
+ _ZN23QDeclarativeConnectionsD2Ev @ 1477 NONAME
+ _ZN23QDeclarativeDebugClient10setEnabledEb @ 1478 NONAME
+ _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 1479 NONAME
+ _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 1480 NONAME
+ _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 1481 NONAME
+ _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 1482 NONAME
+ _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 1483 NONAME DATA 16
+ _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 1484 NONAME
+ _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 1485 NONAME
+ _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 1486 NONAME
+ _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 1487 NONAME
+ _ZN23QDeclarativeDomDocumentC1ERKS_ @ 1488 NONAME
+ _ZN23QDeclarativeDomDocumentC1Ev @ 1489 NONAME
+ _ZN23QDeclarativeDomDocumentC2ERKS_ @ 1490 NONAME
+ _ZN23QDeclarativeDomDocumentC2Ev @ 1491 NONAME
+ _ZN23QDeclarativeDomDocumentD1Ev @ 1492 NONAME
+ _ZN23QDeclarativeDomDocumentD2Ev @ 1493 NONAME
+ _ZN23QDeclarativeDomDocumentaSERKS_ @ 1494 NONAME
+ _ZN23QDeclarativeDomPropertyC1ERKS_ @ 1495 NONAME
+ _ZN23QDeclarativeDomPropertyC1Ev @ 1496 NONAME
+ _ZN23QDeclarativeDomPropertyC2ERKS_ @ 1497 NONAME
+ _ZN23QDeclarativeDomPropertyC2Ev @ 1498 NONAME
+ _ZN23QDeclarativeDomPropertyD1Ev @ 1499 NONAME
+ _ZN23QDeclarativeDomPropertyD2Ev @ 1500 NONAME
+ _ZN23QDeclarativeDomPropertyaSERKS_ @ 1501 NONAME
+ _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 1502 NONAME
+ _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 1503 NONAME
+ _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 1504 NONAME
+ _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 1505 NONAME
+ _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 1506 NONAME DATA 16
+ _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 1507 NONAME
+ _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 1508 NONAME
+ _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 1509 NONAME
+ _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 1510 NONAME
+ _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 1511 NONAME
+ _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 1512 NONAME
+ _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 1513 NONAME
+ _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 1514 NONAME
+ _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 1515 NONAME
+ _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 1516 NONAME
+ _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 1517 NONAME
+ _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 1518 NONAME
+ _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1519 NONAME
+ _ZN23QDeclarativePaintedItem10clearCacheEv @ 1520 NONAME
+ _ZN23QDeclarativePaintedItem10dirtyCacheERK5QRect @ 1521 NONAME
+ _ZN23QDeclarativePaintedItem11qt_metacallEN11QMetaObject4CallEiPPv @ 1522 NONAME
+ _ZN23QDeclarativePaintedItem11qt_metacastEPKc @ 1523 NONAME
+ _ZN23QDeclarativePaintedItem12setFillColorERK6QColor @ 1524 NONAME
+ _ZN23QDeclarativePaintedItem14setCacheFrozenEb @ 1525 NONAME
+ _ZN23QDeclarativePaintedItem14setSmoothCacheEb @ 1526 NONAME
+ _ZN23QDeclarativePaintedItem15setContentsSizeERK5QSize @ 1527 NONAME
+ _ZN23QDeclarativePaintedItem16fillColorChangedEv @ 1528 NONAME
+ _ZN23QDeclarativePaintedItem16setContentsScaleEf @ 1529 NONAME
+ _ZN23QDeclarativePaintedItem16staticMetaObjectE @ 1530 NONAME DATA 16
+ _ZN23QDeclarativePaintedItem17setPixelCacheSizeEi @ 1531 NONAME
+ _ZN23QDeclarativePaintedItem19contentsSizeChangedEv @ 1532 NONAME
+ _ZN23QDeclarativePaintedItem19getStaticMetaObjectEv @ 1533 NONAME
+ _ZN23QDeclarativePaintedItem20contentsScaleChangedEv @ 1534 NONAME
+ _ZN23QDeclarativePaintedItem4initEv @ 1535 NONAME
+ _ZN23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1536 NONAME
+ _ZN23QDeclarativePaintedItemC2EP16QDeclarativeItem @ 1537 NONAME
+ _ZN23QDeclarativePaintedItemC2ER30QDeclarativePaintedItemPrivateP16QDeclarativeItem @ 1538 NONAME
+ _ZN23QDeclarativePaintedItemD0Ev @ 1539 NONAME
+ _ZN23QDeclarativePaintedItemD1Ev @ 1540 NONAME
+ _ZN23QDeclarativePaintedItemD2Ev @ 1541 NONAME
+ _ZN23QDeclarativePathElement11qt_metacallEN11QMetaObject4CallEiPPv @ 1542 NONAME
+ _ZN23QDeclarativePathElement11qt_metacastEPKc @ 1543 NONAME
+ _ZN23QDeclarativePathElement16staticMetaObjectE @ 1544 NONAME DATA 16
+ _ZN23QDeclarativePathElement19getStaticMetaObjectEv @ 1545 NONAME
+ _ZN23QDeclarativePathElement7changedEv @ 1546 NONAME
+ _ZN23QDeclarativePathPercent11qt_metacallEN11QMetaObject4CallEiPPv @ 1547 NONAME
+ _ZN23QDeclarativePathPercent11qt_metacastEPKc @ 1548 NONAME
+ _ZN23QDeclarativePathPercent16staticMetaObjectE @ 1549 NONAME DATA 16
+ _ZN23QDeclarativePathPercent19getStaticMetaObjectEv @ 1550 NONAME
+ _ZN23QDeclarativePathPercent8setValueEf @ 1551 NONAME
+ _ZN23QDeclarativePixmapCache15pendingRequestsEv @ 1552 NONAME
+ _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapb @ 1553 NONAME
+ _ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 1554 NONAME
+ _ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrl @ 1555 NONAME
+ _ZN23QDeclarativePixmapReply10setLoadingEv @ 1556 NONAME
+ _ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 1557 NONAME
+ _ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 1558 NONAME
+ _ZN23QDeclarativePixmapReply16downloadProgressExx @ 1559 NONAME
+ _ZN23QDeclarativePixmapReply16staticMetaObjectE @ 1560 NONAME DATA 16
+ _ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 1561 NONAME
+ _ZN23QDeclarativePixmapReply5eventEP6QEvent @ 1562 NONAME
+ _ZN23QDeclarativePixmapReply6addRefEv @ 1563 NONAME
+ _ZN23QDeclarativePixmapReply7releaseEb @ 1564 NONAME
+ _ZN23QDeclarativePixmapReply8finishedEv @ 1565 NONAME
+ _ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrl @ 1566 NONAME
+ _ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrl @ 1567 NONAME
+ _ZN23QDeclarativePixmapReplyD0Ev @ 1568 NONAME
+ _ZN23QDeclarativePixmapReplyD1Ev @ 1569 NONAME
+ _ZN23QDeclarativePixmapReplyD2Ev @ 1570 NONAME
+ _ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 1571 NONAME
+ _ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 1572 NONAME
+ _ZN23QDeclarativePropertyMap12valueChangedERK7QString @ 1573 NONAME
+ _ZN23QDeclarativePropertyMap16staticMetaObjectE @ 1574 NONAME DATA 16
+ _ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 1575 NONAME
+ _ZN23QDeclarativePropertyMap5clearERK7QString @ 1576 NONAME
+ _ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 1577 NONAME
+ _ZN23QDeclarativePropertyMapC1EP7QObject @ 1578 NONAME
+ _ZN23QDeclarativePropertyMapC2EP7QObject @ 1579 NONAME
+ _ZN23QDeclarativePropertyMapD0Ev @ 1580 NONAME
+ _ZN23QDeclarativePropertyMapD1Ev @ 1581 NONAME
+ _ZN23QDeclarativePropertyMapD2Ev @ 1582 NONAME
+ _ZN23QDeclarativePropertyMapixERK7QString @ 1583 NONAME
+ _ZN23QDeclarativeViewSection11qt_metacallEN11QMetaObject4CallEiPPv @ 1584 NONAME
+ _ZN23QDeclarativeViewSection11qt_metacastEPKc @ 1585 NONAME
+ _ZN23QDeclarativeViewSection11setCriteriaENS_15SectionCriteriaE @ 1586 NONAME
+ _ZN23QDeclarativeViewSection11setDelegateEP21QDeclarativeComponent @ 1587 NONAME
+ _ZN23QDeclarativeViewSection11setPropertyERK7QString @ 1588 NONAME
+ _ZN23QDeclarativeViewSection13sectionStringERK7QString @ 1589 NONAME
+ _ZN23QDeclarativeViewSection15delegateChangedEv @ 1590 NONAME
+ _ZN23QDeclarativeViewSection16staticMetaObjectE @ 1591 NONAME DATA 16
+ _ZN23QDeclarativeViewSection19getStaticMetaObjectEv @ 1592 NONAME
+ _ZN23QDeclarativeViewSection7changedEv @ 1593 NONAME
+ _ZN23QDeclarativeVisualModel10itemsMovedEiii @ 1594 NONAME
+ _ZN23QDeclarativeVisualModel10modelResetEv @ 1595 NONAME
+ _ZN23QDeclarativeVisualModel11createdItemEiP16QDeclarativeItem @ 1596 NONAME
+ _ZN23QDeclarativeVisualModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1597 NONAME
+ _ZN23QDeclarativeVisualModel11qt_metacastEPKc @ 1598 NONAME
+ _ZN23QDeclarativeVisualModel12countChangedEv @ 1599 NONAME
+ _ZN23QDeclarativeVisualModel12itemsRemovedEii @ 1600 NONAME
+ _ZN23QDeclarativeVisualModel13itemsInsertedEii @ 1601 NONAME
+ _ZN23QDeclarativeVisualModel14destroyingItemEP16QDeclarativeItem @ 1602 NONAME
+ _ZN23QDeclarativeVisualModel16staticMetaObjectE @ 1603 NONAME DATA 16
+ _ZN23QDeclarativeVisualModel19getStaticMetaObjectEv @ 1604 NONAME
+ _ZN24QDeclarativeCustomParser11clearErrorsEv @ 1605 NONAME
+ _ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 1606 NONAME
+ _ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 1607 NONAME
+ _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 1608 NONAME
+ _ZN24QDeclarativeDebugService11objectForIdEi @ 1609 NONAME
+ _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 1610 NONAME
+ _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 1611 NONAME
+ _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 1612 NONAME
+ _ZN24QDeclarativeDebugService14enabledChangedEb @ 1613 NONAME
+ _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 1614 NONAME
+ _ZN24QDeclarativeDebugService14waitForClientsEv @ 1615 NONAME
+ _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 1616 NONAME
+ _ZN24QDeclarativeDebugService16staticMetaObjectE @ 1617 NONAME DATA 16
+ _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 1618 NONAME
+ _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 1619 NONAME
+ _ZN24QDeclarativeDebugService19notifyOnServerStartEP7QObjectPKc @ 1620 NONAME
+ _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 1621 NONAME
+ _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 1622 NONAME
+ _ZN24QDeclarativeDomComponentC1ERKS_ @ 1623 NONAME
+ _ZN24QDeclarativeDomComponentC1Ev @ 1624 NONAME
+ _ZN24QDeclarativeDomComponentC2ERKS_ @ 1625 NONAME
+ _ZN24QDeclarativeDomComponentC2Ev @ 1626 NONAME
+ _ZN24QDeclarativeDomComponentD1Ev @ 1627 NONAME
+ _ZN24QDeclarativeDomComponentD2Ev @ 1628 NONAME
+ _ZN24QDeclarativeDomComponentaSERKS_ @ 1629 NONAME
+ _ZN24QDeclarativeGradientStop11qt_metacallEN11QMetaObject4CallEiPPv @ 1630 NONAME
+ _ZN24QDeclarativeGradientStop11qt_metacastEPKc @ 1631 NONAME
+ _ZN24QDeclarativeGradientStop14updateGradientEv @ 1632 NONAME
+ _ZN24QDeclarativeGradientStop16staticMetaObjectE @ 1633 NONAME DATA 16
+ _ZN24QDeclarativeGradientStop19getStaticMetaObjectEv @ 1634 NONAME
+ _ZN24QDeclarativeListAccessor7setListERK8QVariantP18QDeclarativeEngine @ 1635 NONAME
+ _ZN24QDeclarativeListAccessorC1Ev @ 1636 NONAME
+ _ZN24QDeclarativeListAccessorC2Ev @ 1637 NONAME
+ _ZN24QDeclarativeListAccessorD1Ev @ 1638 NONAME
+ _ZN24QDeclarativeListAccessorD2Ev @ 1639 NONAME
+ _ZN24QDeclarativeParentChange11qt_metacallEN11QMetaObject4CallEiPPv @ 1640 NONAME
+ _ZN24QDeclarativeParentChange11qt_metacastEPKc @ 1641 NONAME
+ _ZN24QDeclarativeParentChange11setRotationEf @ 1642 NONAME
+ _ZN24QDeclarativeParentChange12isReversableEv @ 1643 NONAME
+ _ZN24QDeclarativeParentChange13saveOriginalsEv @ 1644 NONAME
+ _ZN24QDeclarativeParentChange16staticMetaObjectE @ 1645 NONAME DATA 16
+ _ZN24QDeclarativeParentChange17saveCurrentValuesEv @ 1646 NONAME
+ _ZN24QDeclarativeParentChange19getStaticMetaObjectEv @ 1647 NONAME
+ _ZN24QDeclarativeParentChange4setXEf @ 1648 NONAME
+ _ZN24QDeclarativeParentChange4setYEf @ 1649 NONAME
+ _ZN24QDeclarativeParentChange6rewindEv @ 1650 NONAME
+ _ZN24QDeclarativeParentChange7actionsEv @ 1651 NONAME
+ _ZN24QDeclarativeParentChange7executeEv @ 1652 NONAME
+ _ZN24QDeclarativeParentChange7reverseEv @ 1653 NONAME
+ _ZN24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 1654 NONAME
+ _ZN24QDeclarativeParentChange8setScaleEf @ 1655 NONAME
+ _ZN24QDeclarativeParentChange8setWidthEf @ 1656 NONAME
+ _ZN24QDeclarativeParentChange9setHeightEf @ 1657 NONAME
+ _ZN24QDeclarativeParentChange9setObjectEP16QDeclarativeItem @ 1658 NONAME
+ _ZN24QDeclarativeParentChange9setParentEP16QDeclarativeItem @ 1659 NONAME
+ _ZN24QDeclarativeParentChangeC1EP7QObject @ 1660 NONAME
+ _ZN24QDeclarativeParentChangeC2EP7QObject @ 1661 NONAME
+ _ZN24QDeclarativeParentChangeD0Ev @ 1662 NONAME
+ _ZN24QDeclarativeParentChangeD1Ev @ 1663 NONAME
+ _ZN24QDeclarativeParentChangeD2Ev @ 1664 NONAME
+ _ZN24QDeclarativeParserStatus10classBeginEv @ 1665 NONAME
+ _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1666 NONAME
+ _ZN24QDeclarativeParserStatusC1Ev @ 1667 NONAME
+ _ZN24QDeclarativeParserStatusC2Ev @ 1668 NONAME
+ _ZN24QDeclarativeParserStatusD0Ev @ 1669 NONAME
+ _ZN24QDeclarativeParserStatusD1Ev @ 1670 NONAME
+ _ZN24QDeclarativeParserStatusD2Ev @ 1671 NONAME
+ _ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 1672 NONAME
+ _ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 1673 NONAME
+ _ZN24QDeclarativeScriptString9setScriptERK7QString @ 1674 NONAME
+ _ZN24QDeclarativeScriptStringC1ERKS_ @ 1675 NONAME
+ _ZN24QDeclarativeScriptStringC1Ev @ 1676 NONAME
+ _ZN24QDeclarativeScriptStringC2ERKS_ @ 1677 NONAME
+ _ZN24QDeclarativeScriptStringC2Ev @ 1678 NONAME
+ _ZN24QDeclarativeScriptStringD1Ev @ 1679 NONAME
+ _ZN24QDeclarativeScriptStringD2Ev @ 1680 NONAME
+ _ZN24QDeclarativeScriptStringaSERKS_ @ 1681 NONAME
+ _ZN24QDeclarativeSpringFollow10setDampingEf @ 1682 NONAME
+ _ZN24QDeclarativeSpringFollow10setEnabledEb @ 1683 NONAME
+ _ZN24QDeclarativeSpringFollow10setEpsilonEf @ 1684 NONAME
+ _ZN24QDeclarativeSpringFollow10setModulusEf @ 1685 NONAME
+ _ZN24QDeclarativeSpringFollow11massChangedEv @ 1686 NONAME
+ _ZN24QDeclarativeSpringFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1687 NONAME
+ _ZN24QDeclarativeSpringFollow11qt_metacastEPKc @ 1688 NONAME
+ _ZN24QDeclarativeSpringFollow11setVelocityEf @ 1689 NONAME
+ _ZN24QDeclarativeSpringFollow11syncChangedEv @ 1690 NONAME
+ _ZN24QDeclarativeSpringFollow12valueChangedEf @ 1691 NONAME
+ _ZN24QDeclarativeSpringFollow14modulusChangedEv @ 1692 NONAME
+ _ZN24QDeclarativeSpringFollow14setSourceValueEf @ 1693 NONAME
+ _ZN24QDeclarativeSpringFollow16staticMetaObjectE @ 1694 NONAME DATA 16
+ _ZN24QDeclarativeSpringFollow19getStaticMetaObjectEv @ 1695 NONAME
+ _ZN24QDeclarativeSpringFollow7setMassEf @ 1696 NONAME
+ _ZN24QDeclarativeSpringFollow9setSpringEf @ 1697 NONAME
+ _ZN24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 1698 NONAME
+ _ZN24QDeclarativeSpringFollowC1EP7QObject @ 1699 NONAME
+ _ZN24QDeclarativeSpringFollowC2EP7QObject @ 1700 NONAME
+ _ZN24QDeclarativeSpringFollowD0Ev @ 1701 NONAME
+ _ZN24QDeclarativeSpringFollowD1Ev @ 1702 NONAME
+ _ZN24QDeclarativeSpringFollowD2Ev @ 1703 NONAME
+ _ZN24QDeclarativeXmlListModel10classBeginEv @ 1704 NONAME
+ _ZN24QDeclarativeXmlListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1705 NONAME
+ _ZN24QDeclarativeXmlListModel11qt_metacastEPKc @ 1706 NONAME
+ _ZN24QDeclarativeXmlListModel11roleObjectsEv @ 1707 NONAME
+ _ZN24QDeclarativeXmlListModel12countChangedEv @ 1708 NONAME
+ _ZN24QDeclarativeXmlListModel13statusChangedENS_6StatusE @ 1709 NONAME
+ _ZN24QDeclarativeXmlListModel14queryCompletedEii @ 1710 NONAME
+ _ZN24QDeclarativeXmlListModel15progressChangedEf @ 1711 NONAME
+ _ZN24QDeclarativeXmlListModel15requestFinishedEv @ 1712 NONAME
+ _ZN24QDeclarativeXmlListModel15requestProgressExx @ 1713 NONAME
+ _ZN24QDeclarativeXmlListModel16staticMetaObjectE @ 1714 NONAME DATA 16
+ _ZN24QDeclarativeXmlListModel17componentCompleteEv @ 1715 NONAME
+ _ZN24QDeclarativeXmlListModel19getStaticMetaObjectEv @ 1716 NONAME
+ _ZN24QDeclarativeXmlListModel24setNamespaceDeclarationsERK7QString @ 1717 NONAME
+ _ZN24QDeclarativeXmlListModel6reloadEv @ 1718 NONAME
+ _ZN24QDeclarativeXmlListModel6setXmlERK7QString @ 1719 NONAME
+ _ZN24QDeclarativeXmlListModel8setQueryERK7QString @ 1720 NONAME
+ _ZN24QDeclarativeXmlListModel9setSourceERK4QUrl @ 1721 NONAME
+ _ZN24QDeclarativeXmlListModelC1EP7QObject @ 1722 NONAME
+ _ZN24QDeclarativeXmlListModelC2EP7QObject @ 1723 NONAME
+ _ZN24QDeclarativeXmlListModelD0Ev @ 1724 NONAME
+ _ZN24QDeclarativeXmlListModelD1Ev @ 1725 NONAME
+ _ZN24QDeclarativeXmlListModelD2Ev @ 1726 NONAME
+ _ZN25QDeclarativeAnchorChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1727 NONAME
+ _ZN25QDeclarativeAnchorChanges11qt_metacastEPKc @ 1728 NONAME
+ _ZN25QDeclarativeAnchorChanges11setBaselineERK22QDeclarativeAnchorLine @ 1729 NONAME
+ _ZN25QDeclarativeAnchorChanges12extraActionsEv @ 1730 NONAME
+ _ZN25QDeclarativeAnchorChanges12isReversableEv @ 1731 NONAME
+ _ZN25QDeclarativeAnchorChanges13saveOriginalsEv @ 1732 NONAME
+ _ZN25QDeclarativeAnchorChanges15changesBindingsEv @ 1733 NONAME
+ _ZN25QDeclarativeAnchorChanges16staticMetaObjectE @ 1734 NONAME DATA 16
+ _ZN25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 1735 NONAME
+ _ZN25QDeclarativeAnchorChanges17setVerticalCenterERK22QDeclarativeAnchorLine @ 1736 NONAME
+ _ZN25QDeclarativeAnchorChanges19getStaticMetaObjectEv @ 1737 NONAME
+ _ZN25QDeclarativeAnchorChanges19setHorizontalCenterERK22QDeclarativeAnchorLine @ 1738 NONAME
+ _ZN25QDeclarativeAnchorChanges20clearForwardBindingsEv @ 1739 NONAME
+ _ZN25QDeclarativeAnchorChanges20clearReverseBindingsEv @ 1740 NONAME
+ _ZN25QDeclarativeAnchorChanges6rewindEv @ 1741 NONAME
+ _ZN25QDeclarativeAnchorChanges6setTopERK22QDeclarativeAnchorLine @ 1742 NONAME
+ _ZN25QDeclarativeAnchorChanges7actionsEv @ 1743 NONAME
+ _ZN25QDeclarativeAnchorChanges7executeEv @ 1744 NONAME
+ _ZN25QDeclarativeAnchorChanges7reverseEv @ 1745 NONAME
+ _ZN25QDeclarativeAnchorChanges7setLeftERK22QDeclarativeAnchorLine @ 1746 NONAME
+ _ZN25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 1747 NONAME
+ _ZN25QDeclarativeAnchorChanges8setResetERK7QString @ 1748 NONAME
+ _ZN25QDeclarativeAnchorChanges8setRightERK22QDeclarativeAnchorLine @ 1749 NONAME
+ _ZN25QDeclarativeAnchorChanges9setBottomERK22QDeclarativeAnchorLine @ 1750 NONAME
+ _ZN25QDeclarativeAnchorChanges9setObjectEP16QDeclarativeItem @ 1751 NONAME
+ _ZN25QDeclarativeAnchorChangesC1EP7QObject @ 1752 NONAME
+ _ZN25QDeclarativeAnchorChangesC2EP7QObject @ 1753 NONAME
+ _ZN25QDeclarativeAnchorChangesD0Ev @ 1754 NONAME
+ _ZN25QDeclarativeAnchorChangesD1Ev @ 1755 NONAME
+ _ZN25QDeclarativeAnchorChangesD2Ev @ 1756 NONAME
+ _ZN25QDeclarativeAnimatedImage10setPlayingEb @ 1757 NONAME
+ _ZN25QDeclarativeAnimatedImage11movieUpdateEv @ 1758 NONAME
+ _ZN25QDeclarativeAnimatedImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1759 NONAME
+ _ZN25QDeclarativeAnimatedImage11qt_metacastEPKc @ 1760 NONAME
+ _ZN25QDeclarativeAnimatedImage12frameChangedEv @ 1761 NONAME
+ _ZN25QDeclarativeAnimatedImage13pausedChangedEv @ 1762 NONAME
+ _ZN25QDeclarativeAnimatedImage14playingChangedEv @ 1763 NONAME
+ _ZN25QDeclarativeAnimatedImage15setCurrentFrameEi @ 1764 NONAME
+ _ZN25QDeclarativeAnimatedImage16staticMetaObjectE @ 1765 NONAME DATA 16
+ _ZN25QDeclarativeAnimatedImage17componentCompleteEv @ 1766 NONAME
+ _ZN25QDeclarativeAnimatedImage19getStaticMetaObjectEv @ 1767 NONAME
+ _ZN25QDeclarativeAnimatedImage20movieRequestFinishedEv @ 1768 NONAME
+ _ZN25QDeclarativeAnimatedImage20playingStatusChangedEv @ 1769 NONAME
+ _ZN25QDeclarativeAnimatedImage9setPausedEb @ 1770 NONAME
+ _ZN25QDeclarativeAnimatedImage9setSourceERK4QUrl @ 1771 NONAME
+ _ZN25QDeclarativeAnimatedImageC1EP16QDeclarativeItem @ 1772 NONAME
+ _ZN25QDeclarativeAnimatedImageC2EP16QDeclarativeItem @ 1773 NONAME
+ _ZN25QDeclarativeAnimatedImageD0Ev @ 1774 NONAME
+ _ZN25QDeclarativeAnimatedImageD1Ev @ 1775 NONAME
+ _ZN25QDeclarativeAnimatedImageD2Ev @ 1776 NONAME
+ _ZN25QDeclarativeImageProviderD0Ev @ 1777 NONAME
+ _ZN25QDeclarativeImageProviderD1Ev @ 1778 NONAME
+ _ZN25QDeclarativeImageProviderD2Ev @ 1779 NONAME
+ _ZN25QDeclarativeListReferenceC1EP7QObjectPKcP18QDeclarativeEngine @ 1780 NONAME
+ _ZN25QDeclarativeListReferenceC1ERKS_ @ 1781 NONAME
+ _ZN25QDeclarativeListReferenceC1Ev @ 1782 NONAME
+ _ZN25QDeclarativeListReferenceC2EP7QObjectPKcP18QDeclarativeEngine @ 1783 NONAME
+ _ZN25QDeclarativeListReferenceC2ERKS_ @ 1784 NONAME
+ _ZN25QDeclarativeListReferenceC2Ev @ 1785 NONAME
+ _ZN25QDeclarativeListReferenceD1Ev @ 1786 NONAME
+ _ZN25QDeclarativeListReferenceD2Ev @ 1787 NONAME
+ _ZN25QDeclarativeListReferenceaSERKS_ @ 1788 NONAME
+ _ZN25QDeclarativePathAttribute11qt_metacallEN11QMetaObject4CallEiPPv @ 1789 NONAME
+ _ZN25QDeclarativePathAttribute11qt_metacastEPKc @ 1790 NONAME
+ _ZN25QDeclarativePathAttribute16staticMetaObjectE @ 1791 NONAME DATA 16
+ _ZN25QDeclarativePathAttribute19getStaticMetaObjectEv @ 1792 NONAME
+ _ZN25QDeclarativePathAttribute7setNameERK7QString @ 1793 NONAME
+ _ZN25QDeclarativePathAttribute8setValueEf @ 1794 NONAME
+ _ZN25QDeclarativeSystemPalette11eventFilterEP7QObjectP6QEvent @ 1795 NONAME
+ _ZN25QDeclarativeSystemPalette11qt_metacallEN11QMetaObject4CallEiPPv @ 1796 NONAME
+ _ZN25QDeclarativeSystemPalette11qt_metacastEPKc @ 1797 NONAME
+ _ZN25QDeclarativeSystemPalette13setColorGroupENS_10ColorGroupE @ 1798 NONAME
+ _ZN25QDeclarativeSystemPalette14paletteChangedEv @ 1799 NONAME
+ _ZN25QDeclarativeSystemPalette16staticMetaObjectE @ 1800 NONAME DATA 16
+ _ZN25QDeclarativeSystemPalette19getStaticMetaObjectEv @ 1801 NONAME
+ _ZN25QDeclarativeSystemPalette5eventEP6QEvent @ 1802 NONAME
+ _ZN25QDeclarativeSystemPaletteC1EP7QObject @ 1803 NONAME
+ _ZN25QDeclarativeSystemPaletteC2EP7QObject @ 1804 NONAME
+ _ZN25QDeclarativeSystemPaletteD0Ev @ 1805 NONAME
+ _ZN25QDeclarativeSystemPaletteD1Ev @ 1806 NONAME
+ _ZN25QDeclarativeSystemPaletteD2Ev @ 1807 NONAME
+ _ZN26QDeclarativeBasePositioner10addChangedEv @ 1808 NONAME
+ _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1809 NONAME
+ _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1810 NONAME
+ _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1811 NONAME
+ _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1812 NONAME
+ _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1813 NONAME
+ _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1814 NONAME
+ _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1815 NONAME
+ _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1816 NONAME DATA 16
+ _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1817 NONAME
+ _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1818 NONAME
+ _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1819 NONAME
+ _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1820 NONAME
+ _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1821 NONAME
+ _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1822 NONAME
+ _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1823 NONAME
+ _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1824 NONAME
+ _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1825 NONAME
+ _ZN26QDeclarativeBasePositionerD0Ev @ 1826 NONAME
+ _ZN26QDeclarativeBasePositionerD1Ev @ 1827 NONAME
+ _ZN26QDeclarativeBasePositionerD2Ev @ 1828 NONAME
+ _ZN26QDeclarativeContextPrivate10context_atEP24QDeclarativeListPropertyI7QObjectEi @ 1829 NONAME
+ _ZN26QDeclarativeContextPrivate13context_countEP24QDeclarativeListPropertyI7QObjectE @ 1830 NONAME
+ _ZN26QDeclarativeContextPrivate13setIdPropertyEiP7QObject @ 1831 NONAME
+ _ZN26QDeclarativeContextPrivate17invalidateEnginesEv @ 1832 NONAME
+ _ZN26QDeclarativeContextPrivate17setIdPropertyDataEP24QDeclarativeIntegerCache @ 1833 NONAME
+ _ZN26QDeclarativeContextPrivate18refreshExpressionsEv @ 1834 NONAME
+ _ZN26QDeclarativeContextPrivate4initEv @ 1835 NONAME
+ _ZN26QDeclarativeContextPrivate9addScriptERKN18QDeclarativeParser6Object11ScriptBlockEP7QObject @ 1836 NONAME
+ _ZN26QDeclarativeContextPrivate9destroyedEPNS_12ContextGuardE @ 1837 NONAME
+ _ZN26QDeclarativeContextPrivateC1Ev @ 1838 NONAME
+ _ZN26QDeclarativeContextPrivateC2Ev @ 1839 NONAME
+ _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 1840 NONAME
+ _ZN26QDeclarativeDebuggerStatusD0Ev @ 1841 NONAME
+ _ZN26QDeclarativeDebuggerStatusD1Ev @ 1842 NONAME
+ _ZN26QDeclarativeDebuggerStatusD2Ev @ 1843 NONAME
+ _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 1844 NONAME
+ _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 1845 NONAME
+ _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 1846 NONAME
+ _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 1847 NONAME
+ _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 1848 NONAME
+ _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 1849 NONAME
+ _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 1850 NONAME
+ _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 1851 NONAME
+ _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 1852 NONAME
+ _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1853 NONAME
+ _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 1854 NONAME
+ _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1855 NONAME
+ _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 1856 NONAME
+ _ZN26QDeclarativeOpenMetaObjectD0Ev @ 1857 NONAME
+ _ZN26QDeclarativeOpenMetaObjectD1Ev @ 1858 NONAME
+ _ZN26QDeclarativeOpenMetaObjectD2Ev @ 1859 NONAME
+ _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 1860 NONAME
+ _ZN26QDeclarativeParticleMotion11qt_metacallEN11QMetaObject4CallEiPPv @ 1861 NONAME
+ _ZN26QDeclarativeParticleMotion11qt_metacastEPKc @ 1862 NONAME
+ _ZN26QDeclarativeParticleMotion16staticMetaObjectE @ 1863 NONAME DATA 16
+ _ZN26QDeclarativeParticleMotion19getStaticMetaObjectEv @ 1864 NONAME
+ _ZN26QDeclarativeParticleMotion7advanceER20QDeclarativeParticlei @ 1865 NONAME
+ _ZN26QDeclarativeParticleMotion7createdER20QDeclarativeParticle @ 1866 NONAME
+ _ZN26QDeclarativeParticleMotion7destroyER20QDeclarativeParticle @ 1867 NONAME
+ _ZN26QDeclarativeParticleMotionC1EP7QObject @ 1868 NONAME
+ _ZN26QDeclarativeParticleMotionC2EP7QObject @ 1869 NONAME
+ _ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 1870 NONAME
+ _ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 1871 NONAME
+ _ZN26QDeclarativeStateOperation16staticMetaObjectE @ 1872 NONAME DATA 16
+ _ZN26QDeclarativeStateOperation19getStaticMetaObjectEv @ 1873 NONAME
+ _ZN26QDeclarativeStateOperation7actionsEv @ 1874 NONAME
+ _ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 1875 NONAME
+ _ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 1876 NONAME
+ _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 1877 NONAME
+ _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 1878 NONAME
+ _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 1879 NONAME DATA 16
+ _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 1880 NONAME
+ _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 1881 NONAME
+ _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 1882 NONAME
+ _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 1883 NONAME
+ _ZN27QDeclarativeDomValueBindingC1Ev @ 1884 NONAME
+ _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 1885 NONAME
+ _ZN27QDeclarativeDomValueBindingC2Ev @ 1886 NONAME
+ _ZN27QDeclarativeDomValueBindingD1Ev @ 1887 NONAME
+ _ZN27QDeclarativeDomValueBindingD2Ev @ 1888 NONAME
+ _ZN27QDeclarativeDomValueBindingaSERKS_ @ 1889 NONAME
+ _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 1890 NONAME
+ _ZN27QDeclarativeDomValueLiteralC1Ev @ 1891 NONAME
+ _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 1892 NONAME
+ _ZN27QDeclarativeDomValueLiteralC2Ev @ 1893 NONAME
+ _ZN27QDeclarativeDomValueLiteralD1Ev @ 1894 NONAME
+ _ZN27QDeclarativeDomValueLiteralD2Ev @ 1895 NONAME
+ _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 1896 NONAME
+ _ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1897 NONAME
+ _ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 1898 NONAME
+ _ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1899 NONAME
+ _ZN27QDeclarativeExtensionPlugin16staticMetaObjectE @ 1900 NONAME DATA 16
+ _ZN27QDeclarativeExtensionPlugin19getStaticMetaObjectEv @ 1901 NONAME
+ _ZN27QDeclarativeExtensionPluginC2EP7QObject @ 1902 NONAME
+ _ZN27QDeclarativeExtensionPluginD0Ev @ 1903 NONAME
+ _ZN27QDeclarativeExtensionPluginD1Ev @ 1904 NONAME
+ _ZN27QDeclarativeExtensionPluginD2Ev @ 1905 NONAME
+ _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 1906 NONAME
+ _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 1907 NONAME
+ _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 1908 NONAME
+ _ZN27QDeclarativeGridScaledImageC1Ev @ 1909 NONAME
+ _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 1910 NONAME
+ _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 1911 NONAME
+ _ZN27QDeclarativeGridScaledImageC2Ev @ 1912 NONAME
+ _ZN27QDeclarativeGridScaledImageaSERKS_ @ 1913 NONAME
+ _ZN27QDeclarativeNumberFormatter10classBeginEv @ 1914 NONAME
+ _ZN27QDeclarativeNumberFormatter11qt_metacallEN11QMetaObject4CallEiPPv @ 1915 NONAME
+ _ZN27QDeclarativeNumberFormatter11qt_metacastEPKc @ 1916 NONAME
+ _ZN27QDeclarativeNumberFormatter11textChangedEv @ 1917 NONAME
+ _ZN27QDeclarativeNumberFormatter16staticMetaObjectE @ 1918 NONAME DATA 16
+ _ZN27QDeclarativeNumberFormatter17componentCompleteEv @ 1919 NONAME
+ _ZN27QDeclarativeNumberFormatter19getStaticMetaObjectEv @ 1920 NONAME
+ _ZN27QDeclarativeNumberFormatter9setFormatERK7QString @ 1921 NONAME
+ _ZN27QDeclarativeNumberFormatter9setNumberERKf @ 1922 NONAME
+ _ZN27QDeclarativeNumberFormatterC1EP7QObject @ 1923 NONAME
+ _ZN27QDeclarativeNumberFormatterC2EP7QObject @ 1924 NONAME
+ _ZN27QDeclarativeNumberFormatterD0Ev @ 1925 NONAME
+ _ZN27QDeclarativeNumberFormatterD1Ev @ 1926 NONAME
+ _ZN27QDeclarativeNumberFormatterD2Ev @ 1927 NONAME
+ _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1928 NONAME
+ _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1929 NONAME
+ _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1930 NONAME
+ _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1931 NONAME DATA 16
+ _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1932 NONAME
+ _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1933 NONAME
+ _ZN27QDeclarativePropertyChanges7actionsEv @ 1934 NONAME
+ _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1935 NONAME
+ _ZN27QDeclarativePropertyChangesC1Ev @ 1936 NONAME
+ _ZN27QDeclarativePropertyChangesC2Ev @ 1937 NONAME
+ _ZN27QDeclarativePropertyChangesD0Ev @ 1938 NONAME
+ _ZN27QDeclarativePropertyChangesD1Ev @ 1939 NONAME
+ _ZN27QDeclarativePropertyChangesD2Ev @ 1940 NONAME
+ _ZN27QDeclarativeVisualDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1941 NONAME
+ _ZN27QDeclarativeVisualDataModel11qt_metacastEPKc @ 1942 NONAME
+ _ZN27QDeclarativeVisualDataModel11setDelegateEP21QDeclarativeComponent @ 1943 NONAME
+ _ZN27QDeclarativeVisualDataModel11stringValueEiRK7QString @ 1944 NONAME
+ _ZN27QDeclarativeVisualDataModel12_q_rowsMovedERK11QModelIndexiiS2_i @ 1945 NONAME
+ _ZN27QDeclarativeVisualDataModel12completeItemEv @ 1946 NONAME
+ _ZN27QDeclarativeVisualDataModel12setRootIndexERK11QModelIndex @ 1947 NONAME
+ _ZN27QDeclarativeVisualDataModel13_q_itemsMovedEiii @ 1948 NONAME
+ _ZN27QDeclarativeVisualDataModel13_q_modelResetEv @ 1949 NONAME
+ _ZN27QDeclarativeVisualDataModel14_q_dataChangedERK11QModelIndexS2_ @ 1950 NONAME
+ _ZN27QDeclarativeVisualDataModel14_q_rowsRemovedERK11QModelIndexii @ 1951 NONAME
+ _ZN27QDeclarativeVisualDataModel14createdPackageEiP19QDeclarativePackage @ 1952 NONAME
+ _ZN27QDeclarativeVisualDataModel15_q_itemsChangedEiiRK5QListIiE @ 1953 NONAME
+ _ZN27QDeclarativeVisualDataModel15_q_itemsRemovedEii @ 1954 NONAME
+ _ZN27QDeclarativeVisualDataModel15_q_rowsInsertedERK11QModelIndexii @ 1955 NONAME
+ _ZN27QDeclarativeVisualDataModel16_q_itemsInsertedEii @ 1956 NONAME
+ _ZN27QDeclarativeVisualDataModel16rootIndexChangedEv @ 1957 NONAME
+ _ZN27QDeclarativeVisualDataModel16staticMetaObjectE @ 1958 NONAME DATA 16
+ _ZN27QDeclarativeVisualDataModel17_q_createdPackageEiP19QDeclarativePackage @ 1959 NONAME
+ _ZN27QDeclarativeVisualDataModel17destroyingPackageEP19QDeclarativePackage @ 1960 NONAME
+ _ZN27QDeclarativeVisualDataModel19getStaticMetaObjectEv @ 1961 NONAME
+ _ZN27QDeclarativeVisualDataModel20_q_destroyingPackageEP19QDeclarativePackage @ 1962 NONAME
+ _ZN27QDeclarativeVisualDataModel4itemEiRK10QByteArrayb @ 1963 NONAME
+ _ZN27QDeclarativeVisualDataModel4itemEib @ 1964 NONAME
+ _ZN27QDeclarativeVisualDataModel5partsEv @ 1965 NONAME
+ _ZN27QDeclarativeVisualDataModel7releaseEP16QDeclarativeItem @ 1966 NONAME
+ _ZN27QDeclarativeVisualDataModel7setPartERK7QString @ 1967 NONAME
+ _ZN27QDeclarativeVisualDataModel8evaluateEiRK7QStringP7QObject @ 1968 NONAME
+ _ZN27QDeclarativeVisualDataModel8setModelERK8QVariant @ 1969 NONAME
+ _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1970 NONAME
+ _ZN27QDeclarativeVisualDataModelC1Ev @ 1971 NONAME
+ _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1972 NONAME
+ _ZN27QDeclarativeVisualDataModelC2Ev @ 1973 NONAME
+ _ZN27QDeclarativeVisualDataModelD0Ev @ 1974 NONAME
+ _ZN27QDeclarativeVisualDataModelD1Ev @ 1975 NONAME
+ _ZN27QDeclarativeVisualDataModelD2Ev @ 1976 NONAME
+ _ZN27QDeclarativeVisualItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1977 NONAME
+ _ZN27QDeclarativeVisualItemModel11qt_metacastEPKc @ 1978 NONAME
+ _ZN27QDeclarativeVisualItemModel11stringValueEiRK7QString @ 1979 NONAME
+ _ZN27QDeclarativeVisualItemModel12completeItemEv @ 1980 NONAME
+ _ZN27QDeclarativeVisualItemModel15childrenChangedEv @ 1981 NONAME
+ _ZN27QDeclarativeVisualItemModel16staticMetaObjectE @ 1982 NONAME DATA 16
+ _ZN27QDeclarativeVisualItemModel19getStaticMetaObjectEv @ 1983 NONAME
+ _ZN27QDeclarativeVisualItemModel21qmlAttachedPropertiesEP7QObject @ 1984 NONAME
+ _ZN27QDeclarativeVisualItemModel4itemEib @ 1985 NONAME
+ _ZN27QDeclarativeVisualItemModel7releaseEP16QDeclarativeItem @ 1986 NONAME
+ _ZN27QDeclarativeVisualItemModel8childrenEv @ 1987 NONAME
+ _ZN27QDeclarativeVisualItemModel8evaluateEiRK7QStringP7QObject @ 1988 NONAME
+ _ZN27QDeclarativeVisualItemModelC1Ev @ 1989 NONAME
+ _ZN27QDeclarativeVisualItemModelC2Ev @ 1990 NONAME
+ _ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 1991 NONAME
+ _ZN28QDeclarativeCustomParserNodeC1Ev @ 1992 NONAME
+ _ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 1993 NONAME
+ _ZN28QDeclarativeCustomParserNodeC2Ev @ 1994 NONAME
+ _ZN28QDeclarativeCustomParserNodeD1Ev @ 1995 NONAME
+ _ZN28QDeclarativeCustomParserNodeD2Ev @ 1996 NONAME
+ _ZN28QDeclarativeCustomParserNodeaSERKS_ @ 1997 NONAME
+ _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1998 NONAME
+ _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 1999 NONAME
+ _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 2000 NONAME DATA 16
+ _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 2001 NONAME
+ _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 2002 NONAME
+ _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 2003 NONAME
+ _ZN28QDeclarativeDebugObjectQueryD0Ev @ 2004 NONAME
+ _ZN28QDeclarativeDebugObjectQueryD1Ev @ 2005 NONAME
+ _ZN28QDeclarativeDebugObjectQueryD2Ev @ 2006 NONAME
+ _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 2007 NONAME
+ _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 2008 NONAME
+ _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 2009 NONAME
+ _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 2010 NONAME
+ _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 2011 NONAME
+ _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 2012 NONAME
+ _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 2013 NONAME
+ _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 2014 NONAME
+ _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 2015 NONAME
+ _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 2016 NONAME
+ _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 2017 NONAME
+ _ZN28QDeclarativeValueTypeFactoryC1Ev @ 2018 NONAME
+ _ZN28QDeclarativeValueTypeFactoryC2Ev @ 2019 NONAME
+ _ZN28QDeclarativeValueTypeFactoryD1Ev @ 2020 NONAME
+ _ZN28QDeclarativeValueTypeFactoryD2Ev @ 2021 NONAME
+ _ZN28QDeclarativeXmlListModelRole11qt_metacallEN11QMetaObject4CallEiPPv @ 2022 NONAME
+ _ZN28QDeclarativeXmlListModelRole11qt_metacastEPKc @ 2023 NONAME
+ _ZN28QDeclarativeXmlListModelRole16staticMetaObjectE @ 2024 NONAME DATA 16
+ _ZN28QDeclarativeXmlListModelRole19getStaticMetaObjectEv @ 2025 NONAME
+ _ZN29QDeclarativeDateTimeFormatter10classBeginEv @ 2026 NONAME
+ _ZN29QDeclarativeDateTimeFormatter11qt_metacallEN11QMetaObject4CallEiPPv @ 2027 NONAME
+ _ZN29QDeclarativeDateTimeFormatter11qt_metacastEPKc @ 2028 NONAME
+ _ZN29QDeclarativeDateTimeFormatter11setDateTimeERK9QDateTime @ 2029 NONAME
+ _ZN29QDeclarativeDateTimeFormatter11textChangedEv @ 2030 NONAME
+ _ZN29QDeclarativeDateTimeFormatter12setLongStyleEb @ 2031 NONAME
+ _ZN29QDeclarativeDateTimeFormatter13setDateFormatERK7QString @ 2032 NONAME
+ _ZN29QDeclarativeDateTimeFormatter13setTimeFormatERK7QString @ 2033 NONAME
+ _ZN29QDeclarativeDateTimeFormatter16staticMetaObjectE @ 2034 NONAME DATA 16
+ _ZN29QDeclarativeDateTimeFormatter17componentCompleteEv @ 2035 NONAME
+ _ZN29QDeclarativeDateTimeFormatter17setDateTimeFormatERK7QString @ 2036 NONAME
+ _ZN29QDeclarativeDateTimeFormatter19getStaticMetaObjectEv @ 2037 NONAME
+ _ZN29QDeclarativeDateTimeFormatter7setDateERK5QDate @ 2038 NONAME
+ _ZN29QDeclarativeDateTimeFormatter7setTimeERK5QTime @ 2039 NONAME
+ _ZN29QDeclarativeDateTimeFormatterC1EP7QObject @ 2040 NONAME
+ _ZN29QDeclarativeDateTimeFormatterC2EP7QObject @ 2041 NONAME
+ _ZN29QDeclarativeDateTimeFormatterD0Ev @ 2042 NONAME
+ _ZN29QDeclarativeDateTimeFormatterD1Ev @ 2043 NONAME
+ _ZN29QDeclarativeDateTimeFormatterD2Ev @ 2044 NONAME
+ _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2045 NONAME
+ _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 2046 NONAME
+ _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 2047 NONAME DATA 16
+ _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 2048 NONAME
+ _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 2049 NONAME
+ _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 2050 NONAME
+ _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 2051 NONAME
+ _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 2052 NONAME
+ _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 2053 NONAME
+ _ZN29QDeclarativeStateChangeScript11qt_metacallEN11QMetaObject4CallEiPPv @ 2054 NONAME
+ _ZN29QDeclarativeStateChangeScript11qt_metacastEPKc @ 2055 NONAME
+ _ZN29QDeclarativeStateChangeScript16staticMetaObjectE @ 2056 NONAME DATA 16
+ _ZN29QDeclarativeStateChangeScript19getStaticMetaObjectEv @ 2057 NONAME
+ _ZN29QDeclarativeStateChangeScript7actionsEv @ 2058 NONAME
+ _ZN29QDeclarativeStateChangeScript7executeEv @ 2059 NONAME
+ _ZN29QDeclarativeStateChangeScript7setNameERK7QString @ 2060 NONAME
+ _ZN29QDeclarativeStateChangeScript9setScriptERK24QDeclarativeScriptString @ 2061 NONAME
+ _ZN29QDeclarativeStateChangeScriptC1EP7QObject @ 2062 NONAME
+ _ZN29QDeclarativeStateChangeScriptC2EP7QObject @ 2063 NONAME
+ _ZN29QDeclarativeStateChangeScriptD0Ev @ 2064 NONAME
+ _ZN29QDeclarativeStateChangeScriptD1Ev @ 2065 NONAME
+ _ZN29QDeclarativeStateChangeScriptD2Ev @ 2066 NONAME
+ _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 2067 NONAME
+ _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 2068 NONAME
+ _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 2069 NONAME
+ _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 2070 NONAME
+ _ZN30QDeclarativeDebugFileReferenceC1Ev @ 2071 NONAME
+ _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 2072 NONAME
+ _ZN30QDeclarativeDebugFileReferenceC2Ev @ 2073 NONAME
+ _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 2074 NONAME
+ _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2075 NONAME
+ _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 2076 NONAME
+ _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 2077 NONAME DATA 16
+ _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 2078 NONAME
+ _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 2079 NONAME
+ _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 2080 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 2081 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 2082 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 2083 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 2084 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 2085 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 2086 NONAME
+ _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 2087 NONAME
+ _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 2088 NONAME
+ _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 2089 NONAME
+ _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 2090 NONAME
+ _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 2091 NONAME
+ _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 2092 NONAME
+ _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 2093 NONAME
+ _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 2094 NONAME
+ _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 2095 NONAME
+ _ZN31QDeclarativeDomValueValueSourceC1Ev @ 2096 NONAME
+ _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 2097 NONAME
+ _ZN31QDeclarativeDomValueValueSourceC2Ev @ 2098 NONAME
+ _ZN31QDeclarativeDomValueValueSourceD1Ev @ 2099 NONAME
+ _ZN31QDeclarativeDomValueValueSourceD2Ev @ 2100 NONAME
+ _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 2101 NONAME
+ _ZN31QDeclarativePropertyValueSourceC2Ev @ 2102 NONAME
+ _ZN31QDeclarativePropertyValueSourceD0Ev @ 2103 NONAME
+ _ZN31QDeclarativePropertyValueSourceD1Ev @ 2104 NONAME
+ _ZN31QDeclarativePropertyValueSourceD2Ev @ 2105 NONAME
+ _ZN32QDeclarativeCustomParserPropertyC1ERKS_ @ 2106 NONAME
+ _ZN32QDeclarativeCustomParserPropertyC1Ev @ 2107 NONAME
+ _ZN32QDeclarativeCustomParserPropertyC2ERKS_ @ 2108 NONAME
+ _ZN32QDeclarativeCustomParserPropertyC2Ev @ 2109 NONAME
+ _ZN32QDeclarativeCustomParserPropertyD1Ev @ 2110 NONAME
+ _ZN32QDeclarativeCustomParserPropertyD2Ev @ 2111 NONAME
+ _ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 2112 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 2113 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 2114 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 2115 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 2116 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 2117 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 2118 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 2119 NONAME
+ _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2120 NONAME
+ _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 2121 NONAME
+ _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 2122 NONAME DATA 16
+ _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 2123 NONAME
+ _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 2124 NONAME
+ _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 2125 NONAME
+ _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 2126 NONAME
+ _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 2127 NONAME
+ _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 2128 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 2129 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 2130 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 2131 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 2132 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 2133 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 2134 NONAME
+ _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 2135 NONAME
+ _ZN32QDeclarativeParticleMotionLinear11qt_metacallEN11QMetaObject4CallEiPPv @ 2136 NONAME
+ _ZN32QDeclarativeParticleMotionLinear11qt_metacastEPKc @ 2137 NONAME
+ _ZN32QDeclarativeParticleMotionLinear16staticMetaObjectE @ 2138 NONAME DATA 16
+ _ZN32QDeclarativeParticleMotionLinear19getStaticMetaObjectEv @ 2139 NONAME
+ _ZN32QDeclarativeParticleMotionLinear7advanceER20QDeclarativeParticlei @ 2140 NONAME
+ _ZN32QDeclarativeParticleMotionWander11paceChangedEv @ 2141 NONAME
+ _ZN32QDeclarativeParticleMotionWander11qt_metacallEN11QMetaObject4CallEiPPv @ 2142 NONAME
+ _ZN32QDeclarativeParticleMotionWander11qt_metacastEPKc @ 2143 NONAME
+ _ZN32QDeclarativeParticleMotionWander12setXVarianceEf @ 2144 NONAME
+ _ZN32QDeclarativeParticleMotionWander12setYVarianceEf @ 2145 NONAME
+ _ZN32QDeclarativeParticleMotionWander16staticMetaObjectE @ 2146 NONAME DATA 16
+ _ZN32QDeclarativeParticleMotionWander16xvarianceChangedEv @ 2147 NONAME
+ _ZN32QDeclarativeParticleMotionWander16yvarianceChangedEv @ 2148 NONAME
+ _ZN32QDeclarativeParticleMotionWander19getStaticMetaObjectEv @ 2149 NONAME
+ _ZN32QDeclarativeParticleMotionWander7advanceER20QDeclarativeParticlei @ 2150 NONAME
+ _ZN32QDeclarativeParticleMotionWander7createdER20QDeclarativeParticle @ 2151 NONAME
+ _ZN32QDeclarativeParticleMotionWander7destroyER20QDeclarativeParticle @ 2152 NONAME
+ _ZN32QDeclarativeParticleMotionWander7setPaceEf @ 2153 NONAME
+ _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 2154 NONAME
+ _ZN33QDeclarativeDebugContextReferenceC1Ev @ 2155 NONAME
+ _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 2156 NONAME
+ _ZN33QDeclarativeDebugContextReferenceC2Ev @ 2157 NONAME
+ _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 2158 NONAME
+ _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2159 NONAME
+ _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 2160 NONAME
+ _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 2161 NONAME DATA 16
+ _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 2162 NONAME
+ _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 2163 NONAME
+ _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 2164 NONAME
+ _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 2165 NONAME
+ _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 2166 NONAME
+ _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 2167 NONAME
+ _ZN33QDeclarativeParticleMotionGravity11qt_metacallEN11QMetaObject4CallEiPPv @ 2168 NONAME
+ _ZN33QDeclarativeParticleMotionGravity11qt_metacastEPKc @ 2169 NONAME
+ _ZN33QDeclarativeParticleMotionGravity13setXAttractorEf @ 2170 NONAME
+ _ZN33QDeclarativeParticleMotionGravity13setYAttractorEf @ 2171 NONAME
+ _ZN33QDeclarativeParticleMotionGravity15setAccelerationEf @ 2172 NONAME
+ _ZN33QDeclarativeParticleMotionGravity16staticMetaObjectE @ 2173 NONAME DATA 16
+ _ZN33QDeclarativeParticleMotionGravity17xattractorChangedEv @ 2174 NONAME
+ _ZN33QDeclarativeParticleMotionGravity17yattractorChangedEv @ 2175 NONAME
+ _ZN33QDeclarativeParticleMotionGravity19accelerationChangedEv @ 2176 NONAME
+ _ZN33QDeclarativeParticleMotionGravity19getStaticMetaObjectEv @ 2177 NONAME
+ _ZN33QDeclarativeParticleMotionGravity7advanceER20QDeclarativeParticlei @ 2178 NONAME
+ _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 2179 NONAME
+ _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 2180 NONAME
+ _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 2181 NONAME
+ _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 2182 NONAME
+ _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 2183 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 2184 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer11eventFilterEP7QObjectP6QEvent @ 2185 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 2186 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer11qt_metacastEPKc @ 2187 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer16staticMetaObjectE @ 2188 NONAME DATA 16
+ _ZN35QDeclarativeGraphicsObjectContainer17setGraphicsObjectEP15QGraphicsObject @ 2189 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer19getStaticMetaObjectEv @ 2190 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainer23setSynchronizedResizingEb @ 2191 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainerC1EP16QDeclarativeItem @ 2192 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainerC2EP16QDeclarativeItem @ 2193 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainerD0Ev @ 2194 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainerD1Ev @ 2195 NONAME
+ _ZN35QDeclarativeGraphicsObjectContainerD2Ev @ 2196 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 2197 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 2198 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 2199 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 2200 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 2201 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 2202 NONAME
+ _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 2203 NONAME
+ _ZN36QDeclarativePropertyValueInterceptorC2Ev @ 2204 NONAME
+ _ZN36QDeclarativePropertyValueInterceptorD0Ev @ 2205 NONAME
+ _ZN36QDeclarativePropertyValueInterceptorD1Ev @ 2206 NONAME
+ _ZN36QDeclarativePropertyValueInterceptorD2Ev @ 2207 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2208 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 2209 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 2210 NONAME DATA 16
+ _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 2211 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 2212 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 2213 NONAME
+ _ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 2214 NONAME
+ _ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 2215 NONAME
+ _ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 2216 NONAME
+ _ZN7QPacket5clearEv @ 2217 NONAME
+ _ZN7QPacketC1ERK10QByteArray @ 2218 NONAME
+ _ZN7QPacketC1ERKS_ @ 2219 NONAME
+ _ZN7QPacketC1Ev @ 2220 NONAME
+ _ZN7QPacketC2ERK10QByteArray @ 2221 NONAME
+ _ZN7QPacketC2ERKS_ @ 2222 NONAME
+ _ZN7QPacketC2Ev @ 2223 NONAME
+ _ZN7QPacketD0Ev @ 2224 NONAME
+ _ZN7QPacketD1Ev @ 2225 NONAME
+ _ZN7QPacketD2Ev @ 2226 NONAME
+ _ZNK15QDeclarativePen10metaObjectEv @ 2227 NONAME
+ _ZNK15QDeclarativeRow10metaObjectEv @ 2228 NONAME
+ _ZNK15QPacketProtocol10metaObjectEv @ 2229 NONAME
+ _ZNK15QPacketProtocol16packetsAvailableEv @ 2230 NONAME
+ _ZNK15QPacketProtocol17maximumPacketSizeEv @ 2231 NONAME
+ _ZNK16QDeclarativeBind10metaObjectEv @ 2232 NONAME
+ _ZNK16QDeclarativeBind4whenEv @ 2233 NONAME
+ _ZNK16QDeclarativeBind5valueEv @ 2234 NONAME
+ _ZNK16QDeclarativeBind8propertyEv @ 2235 NONAME
+ _ZNK16QDeclarativeDrag10metaObjectEv @ 2236 NONAME
+ _ZNK16QDeclarativeDrag4axisEv @ 2237 NONAME
+ _ZNK16QDeclarativeDrag4xmaxEv @ 2238 NONAME
+ _ZNK16QDeclarativeDrag4xminEv @ 2239 NONAME
+ _ZNK16QDeclarativeDrag4ymaxEv @ 2240 NONAME
+ _ZNK16QDeclarativeDrag4yminEv @ 2241 NONAME
+ _ZNK16QDeclarativeDrag6targetEv @ 2242 NONAME
+ _ZNK16QDeclarativeFlow10metaObjectEv @ 2243 NONAME
+ _ZNK16QDeclarativeFlow4flowEv @ 2244 NONAME
+ _ZNK16QDeclarativeGrid10metaObjectEv @ 2245 NONAME
+ _ZNK16QDeclarativeItem10metaObjectEv @ 2246 NONAME
+ _ZNK16QDeclarativeItem10parentItemEv @ 2247 NONAME
+ _ZNK16QDeclarativeItem10wantsFocusEv @ 2248 NONAME
+ _ZNK16QDeclarativeItem10widthValidEv @ 2249 NONAME
+ _ZNK16QDeclarativeItem11heightValidEv @ 2250 NONAME
+ _ZNK16QDeclarativeItem12boundingRectEv @ 2251 NONAME
+ _ZNK16QDeclarativeItem13implicitWidthEv @ 2252 NONAME
+ _ZNK16QDeclarativeItem13keepMouseGrabEv @ 2253 NONAME
+ _ZNK16QDeclarativeItem14baselineOffsetEv @ 2254 NONAME
+ _ZNK16QDeclarativeItem14implicitHeightEv @ 2255 NONAME
+ _ZNK16QDeclarativeItem14verticalCenterEv @ 2256 NONAME
+ _ZNK16QDeclarativeItem15transformOriginEv @ 2257 NONAME
+ _ZNK16QDeclarativeItem16horizontalCenterEv @ 2258 NONAME
+ _ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 2259 NONAME
+ _ZNK16QDeclarativeItem19isComponentCompleteEv @ 2260 NONAME
+ _ZNK16QDeclarativeItem3topEv @ 2261 NONAME
+ _ZNK16QDeclarativeItem4clipEv @ 2262 NONAME
+ _ZNK16QDeclarativeItem4leftEv @ 2263 NONAME
+ _ZNK16QDeclarativeItem5rightEv @ 2264 NONAME
+ _ZNK16QDeclarativeItem5stateEv @ 2265 NONAME
+ _ZNK16QDeclarativeItem5widthEv @ 2266 NONAME
+ _ZNK16QDeclarativeItem6bottomEv @ 2267 NONAME
+ _ZNK16QDeclarativeItem6heightEv @ 2268 NONAME
+ _ZNK16QDeclarativeItem6smoothEv @ 2269 NONAME
+ _ZNK16QDeclarativeItem8baselineEv @ 2270 NONAME
+ _ZNK16QDeclarativeItem8hasFocusEv @ 2271 NONAME
+ _ZNK16QDeclarativePath10attributesEv @ 2272 NONAME
+ _ZNK16QDeclarativePath10metaObjectEv @ 2273 NONAME
+ _ZNK16QDeclarativePath11attributeAtERK7QStringf @ 2274 NONAME
+ _ZNK16QDeclarativePath16createPointCacheEv @ 2275 NONAME
+ _ZNK16QDeclarativePath4pathEv @ 2276 NONAME
+ _ZNK16QDeclarativePath6startXEv @ 2277 NONAME
+ _ZNK16QDeclarativePath6startYEv @ 2278 NONAME
+ _ZNK16QDeclarativePath7pointAtEf @ 2279 NONAME
+ _ZNK16QDeclarativePath8isClosedEv @ 2280 NONAME
+ _ZNK16QDeclarativeText10metaObjectEv @ 2281 NONAME
+ _ZNK16QDeclarativeText10styleColorEv @ 2282 NONAME
+ _ZNK16QDeclarativeText10textFormatEv @ 2283 NONAME
+ _ZNK16QDeclarativeText4fontEv @ 2284 NONAME
+ _ZNK16QDeclarativeText4textEv @ 2285 NONAME
+ _ZNK16QDeclarativeText4wrapEv @ 2286 NONAME
+ _ZNK16QDeclarativeText5colorEv @ 2287 NONAME
+ _ZNK16QDeclarativeText5styleEv @ 2288 NONAME
+ _ZNK16QDeclarativeText6hAlignEv @ 2289 NONAME
+ _ZNK16QDeclarativeText6vAlignEv @ 2290 NONAME
+ _ZNK16QDeclarativeText9elideModeEv @ 2291 NONAME
+ _ZNK16QDeclarativeType10metaObjectEv @ 2292 NONAME
+ _ZNK16QDeclarativeType11isInterfaceEv @ 2293 NONAME
+ _ZNK16QDeclarativeType11qListTypeIdEv @ 2294 NONAME
+ _ZNK16QDeclarativeType11qmlTypeNameEv @ 2295 NONAME
+ _ZNK16QDeclarativeType12customParserEv @ 2296 NONAME
+ _ZNK16QDeclarativeType12interfaceIIdEv @ 2297 NONAME
+ _ZNK16QDeclarativeType12majorVersionEv @ 2298 NONAME
+ _ZNK16QDeclarativeType12minorVersionEv @ 2299 NONAME
+ _ZNK16QDeclarativeType14baseMetaObjectEv @ 2300 NONAME
+ _ZNK16QDeclarativeType16parserStatusCastEv @ 2301 NONAME
+ _ZNK16QDeclarativeType18availableInVersionEii @ 2302 NONAME
+ _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 2303 NONAME
+ _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 2304 NONAME
+ _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 2305 NONAME
+ _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 2306 NONAME
+ _ZNK16QDeclarativeType5indexEv @ 2307 NONAME
+ _ZNK16QDeclarativeType6createEv @ 2308 NONAME
+ _ZNK16QDeclarativeType6typeIdEv @ 2309 NONAME
+ _ZNK16QDeclarativeType8typeNameEv @ 2310 NONAME
+ _ZNK16QDeclarativeView10metaObjectEv @ 2311 NONAME
+ _ZNK16QDeclarativeView10resizeModeEv @ 2312 NONAME
+ _ZNK16QDeclarativeView10rootObjectEv @ 2313 NONAME
+ _ZNK16QDeclarativeView6errorsEv @ 2314 NONAME
+ _ZNK16QDeclarativeView6sourceEv @ 2315 NONAME
+ _ZNK16QDeclarativeView6statusEv @ 2316 NONAME
+ _ZNK16QDeclarativeView8sizeHintEv @ 2317 NONAME
+ _ZNK16QMetaEnumBuilder3keyEi @ 2318 NONAME
+ _ZNK16QMetaEnumBuilder4nameEv @ 2319 NONAME
+ _ZNK16QMetaEnumBuilder5valueEi @ 2320 NONAME
+ _ZNK16QMetaEnumBuilder6d_funcEv @ 2321 NONAME
+ _ZNK16QMetaEnumBuilder6isFlagEv @ 2322 NONAME
+ _ZNK16QMetaEnumBuilder8keyCountEv @ 2323 NONAME
+ _ZNK17QDeclarativeCurve10metaObjectEv @ 2324 NONAME
+ _ZNK17QDeclarativeCurve1xEv @ 2325 NONAME
+ _ZNK17QDeclarativeCurve1yEv @ 2326 NONAME
+ _ZNK17QDeclarativeError11descriptionEv @ 2327 NONAME
+ _ZNK17QDeclarativeError3urlEv @ 2328 NONAME
+ _ZNK17QDeclarativeError4lineEv @ 2329 NONAME
+ _ZNK17QDeclarativeError6columnEv @ 2330 NONAME
+ _ZNK17QDeclarativeError7isValidEv @ 2331 NONAME
+ _ZNK17QDeclarativeError8toStringEv @ 2332 NONAME
+ _ZNK17QDeclarativeImage10metaObjectEv @ 2333 NONAME
+ _ZNK17QDeclarativeImage12paintedWidthEv @ 2334 NONAME
+ _ZNK17QDeclarativeImage13paintedHeightEv @ 2335 NONAME
+ _ZNK17QDeclarativeImage6pixmapEv @ 2336 NONAME
+ _ZNK17QDeclarativeImage8fillModeEv @ 2337 NONAME
+ _ZNK17QDeclarativeState10metaObjectEv @ 2338 NONAME
+ _ZNK17QDeclarativeState10stateGroupEv @ 2339 NONAME
+ _ZNK17QDeclarativeState11isWhenKnownEv @ 2340 NONAME
+ _ZNK17QDeclarativeState11operationAtEi @ 2341 NONAME
+ _ZNK17QDeclarativeState14operationCountEv @ 2342 NONAME
+ _ZNK17QDeclarativeState4nameEv @ 2343 NONAME
+ _ZNK17QDeclarativeState4whenEv @ 2344 NONAME
+ _ZNK17QDeclarativeState7extendsEv @ 2345 NONAME
+ _ZNK17QDeclarativeTimer10metaObjectEv @ 2346 NONAME
+ _ZNK17QDeclarativeTimer11isRepeatingEv @ 2347 NONAME
+ _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 2348 NONAME
+ _ZNK17QDeclarativeTimer8intervalEv @ 2349 NONAME
+ _ZNK17QDeclarativeTimer9isRunningEv @ 2350 NONAME
+ _ZNK18QDeclarativeColumn10metaObjectEv @ 2351 NONAME
+ _ZNK18QDeclarativeEngine10metaObjectEv @ 2352 NONAME
+ _ZNK18QDeclarativeEngine13imageProviderERK7QString @ 2353 NONAME
+ _ZNK18QDeclarativeEngine18offlineStoragePathEv @ 2354 NONAME
+ _ZNK18QDeclarativeEngine20networkAccessManagerEv @ 2355 NONAME
+ _ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 2356 NONAME
+ _ZNK18QDeclarativeEngine7baseUrlEv @ 2357 NONAME
+ _ZNK18QDeclarativeLoader10metaObjectEv @ 2358 NONAME
+ _ZNK18QDeclarativeLoader10resizeModeEv @ 2359 NONAME
+ _ZNK18QDeclarativeLoader15sourceComponentEv @ 2360 NONAME
+ _ZNK18QDeclarativeLoader4itemEv @ 2361 NONAME
+ _ZNK18QDeclarativeLoader6sourceEv @ 2362 NONAME
+ _ZNK18QDeclarativeLoader6statusEv @ 2363 NONAME
+ _ZNK18QDeclarativeLoader8progressEv @ 2364 NONAME
+ _ZNK18QMetaMethodBuilder10attributesEv @ 2365 NONAME
+ _ZNK18QMetaMethodBuilder10methodTypeEv @ 2366 NONAME
+ _ZNK18QMetaMethodBuilder10returnTypeEv @ 2367 NONAME
+ _ZNK18QMetaMethodBuilder14parameterNamesEv @ 2368 NONAME
+ _ZNK18QMetaMethodBuilder3tagEv @ 2369 NONAME
+ _ZNK18QMetaMethodBuilder5indexEv @ 2370 NONAME
+ _ZNK18QMetaMethodBuilder6accessEv @ 2371 NONAME
+ _ZNK18QMetaMethodBuilder6d_funcEv @ 2372 NONAME
+ _ZNK18QMetaMethodBuilder9signatureEv @ 2373 NONAME
+ _ZNK18QMetaObjectBuilder10enumeratorEi @ 2374 NONAME
+ _ZNK18QMetaObjectBuilder10superClassEv @ 2375 NONAME
+ _ZNK18QMetaObjectBuilder11constructorEi @ 2376 NONAME
+ _ZNK18QMetaObjectBuilder11methodCountEv @ 2377 NONAME
+ _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 2378 NONAME
+ _ZNK18QMetaObjectBuilder13classInfoNameEi @ 2379 NONAME
+ _ZNK18QMetaObjectBuilder13propertyCountEv @ 2380 NONAME
+ _ZNK18QMetaObjectBuilder14classInfoCountEv @ 2381 NONAME
+ _ZNK18QMetaObjectBuilder14classInfoValueEi @ 2382 NONAME
+ _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 2383 NONAME
+ _ZNK18QMetaObjectBuilder16constructorCountEv @ 2384 NONAME
+ _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 2385 NONAME
+ _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 2386 NONAME
+ _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 2387 NONAME
+ _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 2388 NONAME
+ _ZNK18QMetaObjectBuilder5flagsEv @ 2389 NONAME
+ _ZNK18QMetaObjectBuilder6methodEi @ 2390 NONAME
+ _ZNK18QMetaObjectBuilder8propertyEi @ 2391 NONAME
+ _ZNK18QMetaObjectBuilder9classNameEv @ 2392 NONAME
+ _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 2393 NONAME
+ _ZNK19QDeclarativeAnchors10leftMarginEv @ 2394 NONAME
+ _ZNK19QDeclarativeAnchors10metaObjectEv @ 2395 NONAME
+ _ZNK19QDeclarativeAnchors11rightMarginEv @ 2396 NONAME
+ _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 2397 NONAME
+ _ZNK19QDeclarativeAnchors12bottomMarginEv @ 2398 NONAME
+ _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 2399 NONAME
+ _ZNK19QDeclarativeAnchors14verticalCenterEv @ 2400 NONAME
+ _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 2401 NONAME
+ _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 2402 NONAME
+ _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 2403 NONAME
+ _ZNK19QDeclarativeAnchors3topEv @ 2404 NONAME
+ _ZNK19QDeclarativeAnchors4fillEv @ 2405 NONAME
+ _ZNK19QDeclarativeAnchors4leftEv @ 2406 NONAME
+ _ZNK19QDeclarativeAnchors5rightEv @ 2407 NONAME
+ _ZNK19QDeclarativeAnchors6bottomEv @ 2408 NONAME
+ _ZNK19QDeclarativeAnchors7marginsEv @ 2409 NONAME
+ _ZNK19QDeclarativeAnchors8baselineEv @ 2410 NONAME
+ _ZNK19QDeclarativeAnchors8centerInEv @ 2411 NONAME
+ _ZNK19QDeclarativeAnchors9topMarginEv @ 2412 NONAME
+ _ZNK19QDeclarativeContext10metaObjectEv @ 2413 NONAME
+ _ZNK19QDeclarativeContext13parentContextEv @ 2414 NONAME
+ _ZNK19QDeclarativeContext15contextPropertyERK7QString @ 2415 NONAME
+ _ZNK19QDeclarativeContext6engineEv @ 2416 NONAME
+ _ZNK19QDeclarativeContext7baseUrlEv @ 2417 NONAME
+ _ZNK19QDeclarativeDomList14commaPositionsEv @ 2418 NONAME
+ _ZNK19QDeclarativeDomList6lengthEv @ 2419 NONAME
+ _ZNK19QDeclarativeDomList6valuesEv @ 2420 NONAME
+ _ZNK19QDeclarativeDomList8positionEv @ 2421 NONAME
+ _ZNK19QDeclarativeWebPage10metaObjectEv @ 2422 NONAME
+ _ZNK19QDeclarativeWebView10backActionEv @ 2423 NONAME
+ _ZNK19QDeclarativeWebView10metaObjectEv @ 2424 NONAME
+ _ZNK19QDeclarativeWebView10statusTextEv @ 2425 NONAME
+ _ZNK19QDeclarativeWebView10stopActionEv @ 2426 NONAME
+ _ZNK19QDeclarativeWebView10zoomFactorEv @ 2427 NONAME
+ _ZNK19QDeclarativeWebView12reloadActionEv @ 2428 NONAME
+ _ZNK19QDeclarativeWebView13elementAreaAtEiiii @ 2429 NONAME
+ _ZNK19QDeclarativeWebView13forwardActionEv @ 2430 NONAME
+ _ZNK19QDeclarativeWebView13pressGrabTimeEv @ 2431 NONAME
+ _ZNK19QDeclarativeWebView14preferredWidthEv @ 2432 NONAME
+ _ZNK19QDeclarativeWebView14settingsObjectEv @ 2433 NONAME
+ _ZNK19QDeclarativeWebView15newWindowParentEv @ 2434 NONAME
+ _ZNK19QDeclarativeWebView15preferredHeightEv @ 2435 NONAME
+ _ZNK19QDeclarativeWebView16renderingEnabledEv @ 2436 NONAME
+ _ZNK19QDeclarativeWebView18newWindowComponentEv @ 2437 NONAME
+ _ZNK19QDeclarativeWebView3urlEv @ 2438 NONAME
+ _ZNK19QDeclarativeWebView4htmlEv @ 2439 NONAME
+ _ZNK19QDeclarativeWebView4iconEv @ 2440 NONAME
+ _ZNK19QDeclarativeWebView4pageEv @ 2441 NONAME
+ _ZNK19QDeclarativeWebView5titleEv @ 2442 NONAME
+ _ZNK19QDeclarativeWebView6statusEv @ 2443 NONAME
+ _ZNK19QDeclarativeWebView7historyEv @ 2444 NONAME
+ _ZNK19QDeclarativeWebView8progressEv @ 2445 NONAME
+ _ZNK19QDeclarativeWebView8settingsEv @ 2446 NONAME
+ _ZNK19QListModelInterface10metaObjectEv @ 2447 NONAME
+ _ZNK20QDeclarativeBehavior10metaObjectEv @ 2448 NONAME
+ _ZNK20QDeclarativeBehavior7enabledEv @ 2449 NONAME
+ _ZNK20QDeclarativeCompiler6errorsEv @ 2450 NONAME
+ _ZNK20QDeclarativeCompiler7isErrorEv @ 2451 NONAME
+ _ZNK20QDeclarativeDomValue13isValueSourceEv @ 2452 NONAME
+ _ZNK20QDeclarativeDomValue13toValueSourceEv @ 2453 NONAME
+ _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 2454 NONAME
+ _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 2455 NONAME
+ _ZNK20QDeclarativeDomValue4typeEv @ 2456 NONAME
+ _ZNK20QDeclarativeDomValue6isListEv @ 2457 NONAME
+ _ZNK20QDeclarativeDomValue6lengthEv @ 2458 NONAME
+ _ZNK20QDeclarativeDomValue6toListEv @ 2459 NONAME
+ _ZNK20QDeclarativeDomValue8isObjectEv @ 2460 NONAME
+ _ZNK20QDeclarativeDomValue8positionEv @ 2461 NONAME
+ _ZNK20QDeclarativeDomValue8toObjectEv @ 2462 NONAME
+ _ZNK20QDeclarativeDomValue9isBindingEv @ 2463 NONAME
+ _ZNK20QDeclarativeDomValue9isInvalidEv @ 2464 NONAME
+ _ZNK20QDeclarativeDomValue9isLiteralEv @ 2465 NONAME
+ _ZNK20QDeclarativeDomValue9toBindingEv @ 2466 NONAME
+ _ZNK20QDeclarativeDomValue9toLiteralEv @ 2467 NONAME
+ _ZNK20QDeclarativeFlipable10metaObjectEv @ 2468 NONAME
+ _ZNK20QDeclarativeFlipable4sideEv @ 2469 NONAME
+ _ZNK20QDeclarativeGradient10metaObjectEv @ 2470 NONAME
+ _ZNK20QDeclarativeGradient8gradientEv @ 2471 NONAME
+ _ZNK20QDeclarativeGridView10cellHeightEv @ 2472 NONAME
+ _ZNK20QDeclarativeGridView10maxXExtentEv @ 2473 NONAME
+ _ZNK20QDeclarativeGridView10maxYExtentEv @ 2474 NONAME
+ _ZNK20QDeclarativeGridView10metaObjectEv @ 2475 NONAME
+ _ZNK20QDeclarativeGridView10minXExtentEv @ 2476 NONAME
+ _ZNK20QDeclarativeGridView10minYExtentEv @ 2477 NONAME
+ _ZNK20QDeclarativeGridView11cacheBufferEv @ 2478 NONAME
+ _ZNK20QDeclarativeGridView12currentIndexEv @ 2479 NONAME
+ _ZNK20QDeclarativeGridView13isWrapEnabledEv @ 2480 NONAME
+ _ZNK20QDeclarativeGridView27highlightFollowsCurrentItemEv @ 2481 NONAME
+ _ZNK20QDeclarativeGridView4flowEv @ 2482 NONAME
+ _ZNK20QDeclarativeGridView5countEv @ 2483 NONAME
+ _ZNK20QDeclarativeGridView5modelEv @ 2484 NONAME
+ _ZNK20QDeclarativeGridView8delegateEv @ 2485 NONAME
+ _ZNK20QDeclarativeGridView9cellWidthEv @ 2486 NONAME
+ _ZNK20QDeclarativeGridView9highlightEv @ 2487 NONAME
+ _ZNK20QDeclarativeListView10maxXExtentEv @ 2488 NONAME
+ _ZNK20QDeclarativeListView10maxYExtentEv @ 2489 NONAME
+ _ZNK20QDeclarativeListView10metaObjectEv @ 2490 NONAME
+ _ZNK20QDeclarativeListView10minXExtentEv @ 2491 NONAME
+ _ZNK20QDeclarativeListView10minYExtentEv @ 2492 NONAME
+ _ZNK20QDeclarativeListView11cacheBufferEv @ 2493 NONAME
+ _ZNK20QDeclarativeListView11orientationEv @ 2494 NONAME
+ _ZNK20QDeclarativeListView12currentIndexEv @ 2495 NONAME
+ _ZNK20QDeclarativeListView13isWrapEnabledEv @ 2496 NONAME
+ _ZNK20QDeclarativeListView14currentSectionEv @ 2497 NONAME
+ _ZNK20QDeclarativeListView18highlightMoveSpeedEv @ 2498 NONAME
+ _ZNK20QDeclarativeListView18highlightRangeModeEv @ 2499 NONAME
+ _ZNK20QDeclarativeListView20highlightResizeSpeedEv @ 2500 NONAME
+ _ZNK20QDeclarativeListView21preferredHighlightEndEv @ 2501 NONAME
+ _ZNK20QDeclarativeListView23preferredHighlightBeginEv @ 2502 NONAME
+ _ZNK20QDeclarativeListView27highlightFollowsCurrentItemEv @ 2503 NONAME
+ _ZNK20QDeclarativeListView5countEv @ 2504 NONAME
+ _ZNK20QDeclarativeListView5modelEv @ 2505 NONAME
+ _ZNK20QDeclarativeListView6footerEv @ 2506 NONAME
+ _ZNK20QDeclarativeListView6headerEv @ 2507 NONAME
+ _ZNK20QDeclarativeListView7spacingEv @ 2508 NONAME
+ _ZNK20QDeclarativeListView8delegateEv @ 2509 NONAME
+ _ZNK20QDeclarativeListView8snapModeEv @ 2510 NONAME
+ _ZNK20QDeclarativeListView9highlightEv @ 2511 NONAME
+ _ZNK20QDeclarativePathLine10metaObjectEv @ 2512 NONAME
+ _ZNK20QDeclarativePathQuad10metaObjectEv @ 2513 NONAME
+ _ZNK20QDeclarativePathQuad8controlXEv @ 2514 NONAME
+ _ZNK20QDeclarativePathQuad8controlYEv @ 2515 NONAME
+ _ZNK20QDeclarativePathView10dragMarginEv @ 2516 NONAME
+ _ZNK20QDeclarativePathView10metaObjectEv @ 2517 NONAME
+ _ZNK20QDeclarativePathView12currentIndexEv @ 2518 NONAME
+ _ZNK20QDeclarativePathView12snapPositionEv @ 2519 NONAME
+ _ZNK20QDeclarativePathView13pathItemCountEv @ 2520 NONAME
+ _ZNK20QDeclarativePathView4pathEv @ 2521 NONAME
+ _ZNK20QDeclarativePathView5countEv @ 2522 NONAME
+ _ZNK20QDeclarativePathView5modelEv @ 2523 NONAME
+ _ZNK20QDeclarativePathView6offsetEv @ 2524 NONAME
+ _ZNK20QDeclarativePathView8delegateEv @ 2525 NONAME
+ _ZNK20QDeclarativeProperty10isPropertyEv @ 2526 NONAME
+ _ZNK20QDeclarativeProperty10isWritableEv @ 2527 NONAME
+ _ZNK20QDeclarativeProperty12isDesignableEv @ 2528 NONAME
+ _ZNK20QDeclarativeProperty12isResettableEv @ 2529 NONAME
+ _ZNK20QDeclarativeProperty12propertyTypeEv @ 2530 NONAME
+ _ZNK20QDeclarativeProperty15hasNotifySignalEv @ 2531 NONAME
+ _ZNK20QDeclarativeProperty16isSignalPropertyEv @ 2532 NONAME
+ _ZNK20QDeclarativeProperty16propertyTypeNameEv @ 2533 NONAME
+ _ZNK20QDeclarativeProperty17needsNotifySignalEv @ 2534 NONAME
+ _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 2535 NONAME
+ _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 2536 NONAME
+ _ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 2537 NONAME
+ _ZNK20QDeclarativeProperty4nameEv @ 2538 NONAME
+ _ZNK20QDeclarativeProperty4readEv @ 2539 NONAME
+ _ZNK20QDeclarativeProperty4typeEv @ 2540 NONAME
+ _ZNK20QDeclarativeProperty5indexEv @ 2541 NONAME
+ _ZNK20QDeclarativeProperty5resetEv @ 2542 NONAME
+ _ZNK20QDeclarativeProperty5writeERK8QVariant @ 2543 NONAME
+ _ZNK20QDeclarativeProperty6methodEv @ 2544 NONAME
+ _ZNK20QDeclarativeProperty6objectEv @ 2545 NONAME
+ _ZNK20QDeclarativeProperty7isValidEv @ 2546 NONAME
+ _ZNK20QDeclarativeProperty8propertyEv @ 2547 NONAME
+ _ZNK20QDeclarativePropertyeqERKS_ @ 2548 NONAME
+ _ZNK20QDeclarativeRepeater10metaObjectEv @ 2549 NONAME
+ _ZNK20QDeclarativeRepeater5countEv @ 2550 NONAME
+ _ZNK20QDeclarativeRepeater5modelEv @ 2551 NONAME
+ _ZNK20QDeclarativeRepeater8delegateEv @ 2552 NONAME
+ _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2553 NONAME
+ _ZNK20QDeclarativeTextEdit10isReadOnlyEv @ 2554 NONAME
+ _ZNK20QDeclarativeTextEdit10metaObjectEv @ 2555 NONAME
+ _ZNK20QDeclarativeTextEdit10textFormatEv @ 2556 NONAME
+ _ZNK20QDeclarativeTextEdit10textMarginEv @ 2557 NONAME
+ _ZNK20QDeclarativeTextEdit12focusOnPressEv @ 2558 NONAME
+ _ZNK20QDeclarativeTextEdit12selectedTextEv @ 2559 NONAME
+ _ZNK20QDeclarativeTextEdit12selectionEndEv @ 2560 NONAME
+ _ZNK20QDeclarativeTextEdit14cursorDelegateEv @ 2561 NONAME
+ _ZNK20QDeclarativeTextEdit14cursorPositionEv @ 2562 NONAME
+ _ZNK20QDeclarativeTextEdit14selectionColorEv @ 2563 NONAME
+ _ZNK20QDeclarativeTextEdit14selectionStartEv @ 2564 NONAME
+ _ZNK20QDeclarativeTextEdit15isCursorVisibleEv @ 2565 NONAME
+ _ZNK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 2566 NONAME
+ _ZNK20QDeclarativeTextEdit17selectedTextColorEv @ 2567 NONAME
+ _ZNK20QDeclarativeTextEdit19persistentSelectionEv @ 2568 NONAME
+ _ZNK20QDeclarativeTextEdit20textInteractionFlagsEv @ 2569 NONAME
+ _ZNK20QDeclarativeTextEdit4fontEv @ 2570 NONAME
+ _ZNK20QDeclarativeTextEdit4textEv @ 2571 NONAME
+ _ZNK20QDeclarativeTextEdit4wrapEv @ 2572 NONAME
+ _ZNK20QDeclarativeTextEdit5colorEv @ 2573 NONAME
+ _ZNK20QDeclarativeTextEdit6hAlignEv @ 2574 NONAME
+ _ZNK20QDeclarativeTextEdit6vAlignEv @ 2575 NONAME
+ _ZNK20QMetaPropertyBuilder10isEditableEv @ 2576 NONAME
+ _ZNK20QMetaPropertyBuilder10isReadableEv @ 2577 NONAME
+ _ZNK20QMetaPropertyBuilder10isWritableEv @ 2578 NONAME
+ _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 2579 NONAME
+ _ZNK20QMetaPropertyBuilder12isDesignableEv @ 2580 NONAME
+ _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 2581 NONAME
+ _ZNK20QMetaPropertyBuilder12isResettableEv @ 2582 NONAME
+ _ZNK20QMetaPropertyBuilder12isScriptableEv @ 2583 NONAME
+ _ZNK20QMetaPropertyBuilder12notifySignalEv @ 2584 NONAME
+ _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 2585 NONAME
+ _ZNK20QMetaPropertyBuilder4nameEv @ 2586 NONAME
+ _ZNK20QMetaPropertyBuilder4typeEv @ 2587 NONAME
+ _ZNK20QMetaPropertyBuilder6d_funcEv @ 2588 NONAME
+ _ZNK20QMetaPropertyBuilder6isUserEv @ 2589 NONAME
+ _ZNK20QMetaPropertyBuilder8isStoredEv @ 2590 NONAME
+ _ZNK20QMetaPropertyBuilder9isDynamicEv @ 2591 NONAME
+ _ZNK21QDeclarativeComponent10metaObjectEv @ 2592 NONAME
+ _ZNK21QDeclarativeComponent12errorsStringEv @ 2593 NONAME
+ _ZNK21QDeclarativeComponent15creationContextEv @ 2594 NONAME
+ _ZNK21QDeclarativeComponent3urlEv @ 2595 NONAME
+ _ZNK21QDeclarativeComponent6errorsEv @ 2596 NONAME
+ _ZNK21QDeclarativeComponent6isNullEv @ 2597 NONAME
+ _ZNK21QDeclarativeComponent6statusEv @ 2598 NONAME
+ _ZNK21QDeclarativeComponent7isErrorEv @ 2599 NONAME
+ _ZNK21QDeclarativeComponent7isReadyEv @ 2600 NONAME
+ _ZNK21QDeclarativeComponent8progressEv @ 2601 NONAME
+ _ZNK21QDeclarativeComponent9isLoadingEv @ 2602 NONAME
+ _ZNK21QDeclarativeDomImport3uriEv @ 2603 NONAME
+ _ZNK21QDeclarativeDomImport4typeEv @ 2604 NONAME
+ _ZNK21QDeclarativeDomImport7versionEv @ 2605 NONAME
+ _ZNK21QDeclarativeDomImport9qualifierEv @ 2606 NONAME
+ _ZNK21QDeclarativeDomObject10objectTypeEv @ 2607 NONAME
+ _ZNK21QDeclarativeDomObject10propertiesEv @ 2608 NONAME
+ _ZNK21QDeclarativeDomObject11isComponentEv @ 2609 NONAME
+ _ZNK21QDeclarativeDomObject11toComponentEv @ 2610 NONAME
+ _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 2611 NONAME
+ _ZNK21QDeclarativeDomObject14customTypeDataEv @ 2612 NONAME
+ _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 2613 NONAME
+ _ZNK21QDeclarativeDomObject15objectClassNameEv @ 2614 NONAME
+ _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 2615 NONAME
+ _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 2616 NONAME
+ _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 2617 NONAME
+ _ZNK21QDeclarativeDomObject3urlEv @ 2618 NONAME
+ _ZNK21QDeclarativeDomObject6lengthEv @ 2619 NONAME
+ _ZNK21QDeclarativeDomObject7isValidEv @ 2620 NONAME
+ _ZNK21QDeclarativeDomObject8objectIdEv @ 2621 NONAME
+ _ZNK21QDeclarativeDomObject8positionEv @ 2622 NONAME
+ _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 2623 NONAME
+ _ZNK21QDeclarativeFlickable10isFlickingEv @ 2624 NONAME
+ _ZNK21QDeclarativeFlickable10maxXExtentEv @ 2625 NONAME
+ _ZNK21QDeclarativeFlickable10maxYExtentEv @ 2626 NONAME
+ _ZNK21QDeclarativeFlickable10metaObjectEv @ 2627 NONAME
+ _ZNK21QDeclarativeFlickable10minXExtentEv @ 2628 NONAME
+ _ZNK21QDeclarativeFlickable10minYExtentEv @ 2629 NONAME
+ _ZNK21QDeclarativeFlickable10pressDelayEv @ 2630 NONAME
+ _ZNK21QDeclarativeFlickable12contentWidthEv @ 2631 NONAME
+ _ZNK21QDeclarativeFlickable13contentHeightEv @ 2632 NONAME
+ _ZNK21QDeclarativeFlickable13isInteractiveEv @ 2633 NONAME
+ _ZNK21QDeclarativeFlickable14flickDirectionEv @ 2634 NONAME
+ _ZNK21QDeclarativeFlickable14isAtXBeginningEv @ 2635 NONAME
+ _ZNK21QDeclarativeFlickable14isAtYBeginningEv @ 2636 NONAME
+ _ZNK21QDeclarativeFlickable16verticalVelocityEv @ 2637 NONAME
+ _ZNK21QDeclarativeFlickable17flickDecelerationEv @ 2638 NONAME
+ _ZNK21QDeclarativeFlickable18horizontalVelocityEv @ 2639 NONAME
+ _ZNK21QDeclarativeFlickable20maximumFlickVelocityEv @ 2640 NONAME
+ _ZNK21QDeclarativeFlickable6vWidthEv @ 2641 NONAME
+ _ZNK21QDeclarativeFlickable6xflickEv @ 2642 NONAME
+ _ZNK21QDeclarativeFlickable6yflickEv @ 2643 NONAME
+ _ZNK21QDeclarativeFlickable7vHeightEv @ 2644 NONAME
+ _ZNK21QDeclarativeFlickable8contentXEv @ 2645 NONAME
+ _ZNK21QDeclarativeFlickable8contentYEv @ 2646 NONAME
+ _ZNK21QDeclarativeFlickable8isAtXEndEv @ 2647 NONAME
+ _ZNK21QDeclarativeFlickable8isAtYEndEv @ 2648 NONAME
+ _ZNK21QDeclarativeFlickable8isMovingEv @ 2649 NONAME
+ _ZNK21QDeclarativeFlickable9overShootEv @ 2650 NONAME
+ _ZNK21QDeclarativeImageBase10metaObjectEv @ 2651 NONAME
+ _ZNK21QDeclarativeImageBase12asynchronousEv @ 2652 NONAME
+ _ZNK21QDeclarativeImageBase6sourceEv @ 2653 NONAME
+ _ZNK21QDeclarativeImageBase6statusEv @ 2654 NONAME
+ _ZNK21QDeclarativeImageBase8progressEv @ 2655 NONAME
+ _ZNK21QDeclarativeListModel10checkRolesEv @ 2656 NONAME
+ _ZNK21QDeclarativeListModel10metaObjectEv @ 2657 NONAME
+ _ZNK21QDeclarativeListModel12valueForNodeEP9ModelNode @ 2658 NONAME
+ _ZNK21QDeclarativeListModel3getEi @ 2659 NONAME
+ _ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 2660 NONAME
+ _ZNK21QDeclarativeListModel4dataEii @ 2661 NONAME
+ _ZNK21QDeclarativeListModel5countEv @ 2662 NONAME
+ _ZNK21QDeclarativeListModel5rolesEv @ 2663 NONAME
+ _ZNK21QDeclarativeListModel7addRoleERK7QString @ 2664 NONAME
+ _ZNK21QDeclarativeListModel8toStringEi @ 2665 NONAME
+ _ZNK21QDeclarativeMouseArea10metaObjectEv @ 2666 NONAME
+ _ZNK21QDeclarativeMouseArea14pressedButtonsEv @ 2667 NONAME
+ _ZNK21QDeclarativeMouseArea15acceptedButtonsEv @ 2668 NONAME
+ _ZNK21QDeclarativeMouseArea6mouseXEv @ 2669 NONAME
+ _ZNK21QDeclarativeMouseArea6mouseYEv @ 2670 NONAME
+ _ZNK21QDeclarativeMouseArea7hoveredEv @ 2671 NONAME
+ _ZNK21QDeclarativeMouseArea7pressedEv @ 2672 NONAME
+ _ZNK21QDeclarativeMouseArea9isEnabledEv @ 2673 NONAME
+ _ZNK21QDeclarativeParticles10metaObjectEv @ 2674 NONAME
+ _ZNK21QDeclarativeParticles12emissionRateEv @ 2675 NONAME
+ _ZNK21QDeclarativeParticles14angleDeviationEv @ 2676 NONAME
+ _ZNK21QDeclarativeParticles14fadeInDurationEv @ 2677 NONAME
+ _ZNK21QDeclarativeParticles15fadeOutDurationEv @ 2678 NONAME
+ _ZNK21QDeclarativeParticles16emissionVarianceEv @ 2679 NONAME
+ _ZNK21QDeclarativeParticles17lifeSpanDeviationEv @ 2680 NONAME
+ _ZNK21QDeclarativeParticles17velocityDeviationEv @ 2681 NONAME
+ _ZNK21QDeclarativeParticles5angleEv @ 2682 NONAME
+ _ZNK21QDeclarativeParticles5countEv @ 2683 NONAME
+ _ZNK21QDeclarativeParticles6motionEv @ 2684 NONAME
+ _ZNK21QDeclarativeParticles6sourceEv @ 2685 NONAME
+ _ZNK21QDeclarativeParticles8lifeSpanEv @ 2686 NONAME
+ _ZNK21QDeclarativeParticles8velocityEv @ 2687 NONAME
+ _ZNK21QDeclarativePathCubic10metaObjectEv @ 2688 NONAME
+ _ZNK21QDeclarativePathCubic9control1XEv @ 2689 NONAME
+ _ZNK21QDeclarativePathCubic9control1YEv @ 2690 NONAME
+ _ZNK21QDeclarativePathCubic9control2XEv @ 2691 NONAME
+ _ZNK21QDeclarativePathCubic9control2YEv @ 2692 NONAME
+ _ZNK21QDeclarativeRectangle10metaObjectEv @ 2693 NONAME
+ _ZNK21QDeclarativeRectangle12boundingRectEv @ 2694 NONAME
+ _ZNK21QDeclarativeRectangle5colorEv @ 2695 NONAME
+ _ZNK21QDeclarativeRectangle6radiusEv @ 2696 NONAME
+ _ZNK21QDeclarativeRectangle8gradientEv @ 2697 NONAME
+ _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2698 NONAME
+ _ZNK21QDeclarativeScaleGrid6isNullEv @ 2699 NONAME
+ _ZNK21QDeclarativeTextInput10cursorRectEv @ 2700 NONAME
+ _ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2701 NONAME
+ _ZNK21QDeclarativeTextInput10metaObjectEv @ 2702 NONAME
+ _ZNK21QDeclarativeTextInput12focusOnPressEv @ 2703 NONAME
+ _ZNK21QDeclarativeTextInput12selectedTextEv @ 2704 NONAME
+ _ZNK21QDeclarativeTextInput12selectionEndEv @ 2705 NONAME
+ _ZNK21QDeclarativeTextInput14cursorDelegateEv @ 2706 NONAME
+ _ZNK21QDeclarativeTextInput14cursorPositionEv @ 2707 NONAME
+ _ZNK21QDeclarativeTextInput14selectionColorEv @ 2708 NONAME
+ _ZNK21QDeclarativeTextInput14selectionStartEv @ 2709 NONAME
+ _ZNK21QDeclarativeTextInput15isCursorVisibleEv @ 2710 NONAME
+ _ZNK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 2711 NONAME
+ _ZNK21QDeclarativeTextInput17selectedTextColorEv @ 2712 NONAME
+ _ZNK21QDeclarativeTextInput18hasAcceptableInputEv @ 2713 NONAME
+ _ZNK21QDeclarativeTextInput4fontEv @ 2714 NONAME
+ _ZNK21QDeclarativeTextInput4textEv @ 2715 NONAME
+ _ZNK21QDeclarativeTextInput5colorEv @ 2716 NONAME
+ _ZNK21QDeclarativeTextInput6hAlignEv @ 2717 NONAME
+ _ZNK21QDeclarativeTextInput8echoModeEv @ 2718 NONAME
+ _ZNK21QDeclarativeTextInput9inputMaskEv @ 2719 NONAME
+ _ZNK21QDeclarativeTextInput9maxLengthEv @ 2720 NONAME
+ _ZNK21QDeclarativeTextInput9validatorEv @ 2721 NONAME
+ _ZNK21QDeclarativeValueType10metaObjectEv @ 2722 NONAME
+ _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 2723 NONAME
+ _ZNK22QDeclarativeDebugQuery5stateEv @ 2724 NONAME
+ _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 2725 NONAME
+ _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 2726 NONAME
+ _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 2727 NONAME
+ _ZNK22QDeclarativeDebugWatch5stateEv @ 2728 NONAME
+ _ZNK22QDeclarativeDebugWatch7queryIdEv @ 2729 NONAME
+ _ZNK22QDeclarativeEaseFollow10metaObjectEv @ 2730 NONAME
+ _ZNK22QDeclarativeEaseFollow11sourceValueEv @ 2731 NONAME
+ _ZNK22QDeclarativeEaseFollow13reversingModeEv @ 2732 NONAME
+ _ZNK22QDeclarativeEaseFollow17maximumEasingTimeEv @ 2733 NONAME
+ _ZNK22QDeclarativeEaseFollow7enabledEv @ 2734 NONAME
+ _ZNK22QDeclarativeEaseFollow8durationEv @ 2735 NONAME
+ _ZNK22QDeclarativeEaseFollow8velocityEv @ 2736 NONAME
+ _ZNK22QDeclarativeExpression10expressionEv @ 2737 NONAME
+ _ZNK22QDeclarativeExpression10lineNumberEv @ 2738 NONAME
+ _ZNK22QDeclarativeExpression10metaObjectEv @ 2739 NONAME
+ _ZNK22QDeclarativeExpression10sourceFileEv @ 2740 NONAME
+ _ZNK22QDeclarativeExpression11scopeObjectEv @ 2741 NONAME
+ _ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 2742 NONAME
+ _ZNK22QDeclarativeExpression5errorEv @ 2743 NONAME
+ _ZNK22QDeclarativeExpression6engineEv @ 2744 NONAME
+ _ZNK22QDeclarativeExpression7contextEv @ 2745 NONAME
+ _ZNK22QDeclarativeExpression8hasErrorEv @ 2746 NONAME
+ _ZNK22QDeclarativeFocusPanel10metaObjectEv @ 2747 NONAME
+ _ZNK22QDeclarativeFocusScope10metaObjectEv @ 2748 NONAME
+ _ZNK22QDeclarativeFontLoader10metaObjectEv @ 2749 NONAME
+ _ZNK22QDeclarativeFontLoader4nameEv @ 2750 NONAME
+ _ZNK22QDeclarativeFontLoader6sourceEv @ 2751 NONAME
+ _ZNK22QDeclarativeFontLoader6statusEv @ 2752 NONAME
+ _ZNK22QDeclarativeStateGroup10metaObjectEv @ 2753 NONAME
+ _ZNK22QDeclarativeStateGroup5stateEv @ 2754 NONAME
+ _ZNK22QDeclarativeStateGroup6statesEv @ 2755 NONAME
+ _ZNK22QDeclarativeStateGroup9findStateERK7QString @ 2756 NONAME
+ _ZNK22QDeclarativeTransition10metaObjectEv @ 2757 NONAME
+ _ZNK22QDeclarativeTransition10reversibleEv @ 2758 NONAME
+ _ZNK22QDeclarativeTransition7toStateEv @ 2759 NONAME
+ _ZNK22QDeclarativeTransition9fromStateEv @ 2760 NONAME
+ _ZNK23QDeclarativeBorderImage10metaObjectEv @ 2761 NONAME
+ _ZNK23QDeclarativeBorderImage16verticalTileModeEv @ 2762 NONAME
+ _ZNK23QDeclarativeBorderImage18horizontalTileModeEv @ 2763 NONAME
+ _ZNK23QDeclarativeConnections10metaObjectEv @ 2764 NONAME
+ _ZNK23QDeclarativeConnections6targetEv @ 2765 NONAME
+ _ZNK23QDeclarativeDebugClient10metaObjectEv @ 2766 NONAME
+ _ZNK23QDeclarativeDebugClient11isConnectedEv @ 2767 NONAME
+ _ZNK23QDeclarativeDebugClient4nameEv @ 2768 NONAME
+ _ZNK23QDeclarativeDebugClient9isEnabledEv @ 2769 NONAME
+ _ZNK23QDeclarativeDomDocument10rootObjectEv @ 2770 NONAME
+ _ZNK23QDeclarativeDomDocument6errorsEv @ 2771 NONAME
+ _ZNK23QDeclarativeDomDocument7importsEv @ 2772 NONAME
+ _ZNK23QDeclarativeDomProperty12propertyNameEv @ 2773 NONAME
+ _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 2774 NONAME
+ _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 2775 NONAME
+ _ZNK23QDeclarativeDomProperty5valueEv @ 2776 NONAME
+ _ZNK23QDeclarativeDomProperty6lengthEv @ 2777 NONAME
+ _ZNK23QDeclarativeDomProperty7isValidEv @ 2778 NONAME
+ _ZNK23QDeclarativeDomProperty8positionEv @ 2779 NONAME
+ _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 2780 NONAME
+ _ZNK23QDeclarativePaintedItem10metaObjectEv @ 2781 NONAME
+ _ZNK23QDeclarativePaintedItem11smoothCacheEv @ 2782 NONAME
+ _ZNK23QDeclarativePaintedItem12contentsSizeEv @ 2783 NONAME
+ _ZNK23QDeclarativePaintedItem13contentsScaleEv @ 2784 NONAME
+ _ZNK23QDeclarativePaintedItem14pixelCacheSizeEv @ 2785 NONAME
+ _ZNK23QDeclarativePaintedItem9fillColorEv @ 2786 NONAME
+ _ZNK23QDeclarativePathElement10metaObjectEv @ 2787 NONAME
+ _ZNK23QDeclarativePathPercent10metaObjectEv @ 2788 NONAME
+ _ZNK23QDeclarativePathPercent5valueEv @ 2789 NONAME
+ _ZNK23QDeclarativePixmapReply10metaObjectEv @ 2790 NONAME
+ _ZNK23QDeclarativePixmapReply3urlEv @ 2791 NONAME
+ _ZNK23QDeclarativePixmapReply6statusEv @ 2792 NONAME
+ _ZNK23QDeclarativePixmapReply9isLoadingEv @ 2793 NONAME
+ _ZNK23QDeclarativePropertyMap10metaObjectEv @ 2794 NONAME
+ _ZNK23QDeclarativePropertyMap4keysEv @ 2795 NONAME
+ _ZNK23QDeclarativePropertyMap4sizeEv @ 2796 NONAME
+ _ZNK23QDeclarativePropertyMap5countEv @ 2797 NONAME
+ _ZNK23QDeclarativePropertyMap5valueERK7QString @ 2798 NONAME
+ _ZNK23QDeclarativePropertyMap7isEmptyEv @ 2799 NONAME
+ _ZNK23QDeclarativePropertyMap8containsERK7QString @ 2800 NONAME
+ _ZNK23QDeclarativePropertyMapixERK7QString @ 2801 NONAME
+ _ZNK23QDeclarativeViewSection10metaObjectEv @ 2802 NONAME
+ _ZNK23QDeclarativeVisualModel10metaObjectEv @ 2803 NONAME
+ _ZNK24QDeclarativeDebugService10metaObjectEv @ 2804 NONAME
+ _ZNK24QDeclarativeDebugService4nameEv @ 2805 NONAME
+ _ZNK24QDeclarativeDebugService9isEnabledEv @ 2806 NONAME
+ _ZNK24QDeclarativeDomComponent13componentRootEv @ 2807 NONAME
+ _ZNK24QDeclarativeGradientStop10metaObjectEv @ 2808 NONAME
+ _ZNK24QDeclarativeListAccessor2atEi @ 2809 NONAME
+ _ZNK24QDeclarativeListAccessor4listEv @ 2810 NONAME
+ _ZNK24QDeclarativeListAccessor5countEv @ 2811 NONAME
+ _ZNK24QDeclarativeListAccessor7isValidEv @ 2812 NONAME
+ _ZNK24QDeclarativeParentChange10metaObjectEv @ 2813 NONAME
+ _ZNK24QDeclarativeParentChange10scaleIsSetEv @ 2814 NONAME
+ _ZNK24QDeclarativeParentChange10widthIsSetEv @ 2815 NONAME
+ _ZNK24QDeclarativeParentChange11heightIsSetEv @ 2816 NONAME
+ _ZNK24QDeclarativeParentChange13rotationIsSetEv @ 2817 NONAME
+ _ZNK24QDeclarativeParentChange14originalParentEv @ 2818 NONAME
+ _ZNK24QDeclarativeParentChange1xEv @ 2819 NONAME
+ _ZNK24QDeclarativeParentChange1yEv @ 2820 NONAME
+ _ZNK24QDeclarativeParentChange5scaleEv @ 2821 NONAME
+ _ZNK24QDeclarativeParentChange5widthEv @ 2822 NONAME
+ _ZNK24QDeclarativeParentChange6heightEv @ 2823 NONAME
+ _ZNK24QDeclarativeParentChange6objectEv @ 2824 NONAME
+ _ZNK24QDeclarativeParentChange6parentEv @ 2825 NONAME
+ _ZNK24QDeclarativeParentChange6xIsSetEv @ 2826 NONAME
+ _ZNK24QDeclarativeParentChange6yIsSetEv @ 2827 NONAME
+ _ZNK24QDeclarativeParentChange8rotationEv @ 2828 NONAME
+ _ZNK24QDeclarativeParentChange8typeNameEv @ 2829 NONAME
+ _ZNK24QDeclarativeScriptString11scopeObjectEv @ 2830 NONAME
+ _ZNK24QDeclarativeScriptString6scriptEv @ 2831 NONAME
+ _ZNK24QDeclarativeScriptString7contextEv @ 2832 NONAME
+ _ZNK24QDeclarativeSpringFollow10metaObjectEv @ 2833 NONAME
+ _ZNK24QDeclarativeSpringFollow11sourceValueEv @ 2834 NONAME
+ _ZNK24QDeclarativeSpringFollow4massEv @ 2835 NONAME
+ _ZNK24QDeclarativeSpringFollow5valueEv @ 2836 NONAME
+ _ZNK24QDeclarativeSpringFollow6inSyncEv @ 2837 NONAME
+ _ZNK24QDeclarativeSpringFollow6springEv @ 2838 NONAME
+ _ZNK24QDeclarativeSpringFollow7dampingEv @ 2839 NONAME
+ _ZNK24QDeclarativeSpringFollow7enabledEv @ 2840 NONAME
+ _ZNK24QDeclarativeSpringFollow7epsilonEv @ 2841 NONAME
+ _ZNK24QDeclarativeSpringFollow7modulusEv @ 2842 NONAME
+ _ZNK24QDeclarativeSpringFollow8velocityEv @ 2843 NONAME
+ _ZNK24QDeclarativeXmlListModel10metaObjectEv @ 2844 NONAME
+ _ZNK24QDeclarativeXmlListModel21namespaceDeclarationsEv @ 2845 NONAME
+ _ZNK24QDeclarativeXmlListModel3xmlEv @ 2846 NONAME
+ _ZNK24QDeclarativeXmlListModel4dataEiRK5QListIiE @ 2847 NONAME
+ _ZNK24QDeclarativeXmlListModel4dataEii @ 2848 NONAME
+ _ZNK24QDeclarativeXmlListModel5countEv @ 2849 NONAME
+ _ZNK24QDeclarativeXmlListModel5queryEv @ 2850 NONAME
+ _ZNK24QDeclarativeXmlListModel5rolesEv @ 2851 NONAME
+ _ZNK24QDeclarativeXmlListModel6sourceEv @ 2852 NONAME
+ _ZNK24QDeclarativeXmlListModel6statusEv @ 2853 NONAME
+ _ZNK24QDeclarativeXmlListModel8progressEv @ 2854 NONAME
+ _ZNK24QDeclarativeXmlListModel8toStringEi @ 2855 NONAME
+ _ZNK25QDeclarativeAnchorChanges10metaObjectEv @ 2856 NONAME
+ _ZNK25QDeclarativeAnchorChanges14verticalCenterEv @ 2857 NONAME
+ _ZNK25QDeclarativeAnchorChanges16horizontalCenterEv @ 2858 NONAME
+ _ZNK25QDeclarativeAnchorChanges3topEv @ 2859 NONAME
+ _ZNK25QDeclarativeAnchorChanges4leftEv @ 2860 NONAME
+ _ZNK25QDeclarativeAnchorChanges5resetEv @ 2861 NONAME
+ _ZNK25QDeclarativeAnchorChanges5rightEv @ 2862 NONAME
+ _ZNK25QDeclarativeAnchorChanges6bottomEv @ 2863 NONAME
+ _ZNK25QDeclarativeAnchorChanges6objectEv @ 2864 NONAME
+ _ZNK25QDeclarativeAnchorChanges8baselineEv @ 2865 NONAME
+ _ZNK25QDeclarativeAnchorChanges8typeNameEv @ 2866 NONAME
+ _ZNK25QDeclarativeAnimatedImage10frameCountEv @ 2867 NONAME
+ _ZNK25QDeclarativeAnimatedImage10metaObjectEv @ 2868 NONAME
+ _ZNK25QDeclarativeAnimatedImage12currentFrameEv @ 2869 NONAME
+ _ZNK25QDeclarativeAnimatedImage8isPausedEv @ 2870 NONAME
+ _ZNK25QDeclarativeAnimatedImage9isPlayingEv @ 2871 NONAME
+ _ZNK25QDeclarativeListReference15listElementTypeEv @ 2872 NONAME
+ _ZNK25QDeclarativeListReference2atEi @ 2873 NONAME
+ _ZNK25QDeclarativeListReference5canAtEv @ 2874 NONAME
+ _ZNK25QDeclarativeListReference5clearEv @ 2875 NONAME
+ _ZNK25QDeclarativeListReference5countEv @ 2876 NONAME
+ _ZNK25QDeclarativeListReference6appendEP7QObject @ 2877 NONAME
+ _ZNK25QDeclarativeListReference6objectEv @ 2878 NONAME
+ _ZNK25QDeclarativeListReference7isValidEv @ 2879 NONAME
+ _ZNK25QDeclarativeListReference8canClearEv @ 2880 NONAME
+ _ZNK25QDeclarativeListReference8canCountEv @ 2881 NONAME
+ _ZNK25QDeclarativeListReference9canAppendEv @ 2882 NONAME
+ _ZNK25QDeclarativePathAttribute10metaObjectEv @ 2883 NONAME
+ _ZNK25QDeclarativePathAttribute4nameEv @ 2884 NONAME
+ _ZNK25QDeclarativePathAttribute5valueEv @ 2885 NONAME
+ _ZNK25QDeclarativeSystemPalette10buttonTextEv @ 2886 NONAME
+ _ZNK25QDeclarativeSystemPalette10colorGroupEv @ 2887 NONAME
+ _ZNK25QDeclarativeSystemPalette10metaObjectEv @ 2888 NONAME
+ _ZNK25QDeclarativeSystemPalette10windowTextEv @ 2889 NONAME
+ _ZNK25QDeclarativeSystemPalette13alternateBaseEv @ 2890 NONAME
+ _ZNK25QDeclarativeSystemPalette15highlightedTextEv @ 2891 NONAME
+ _ZNK25QDeclarativeSystemPalette3midEv @ 2892 NONAME
+ _ZNK25QDeclarativeSystemPalette4baseEv @ 2893 NONAME
+ _ZNK25QDeclarativeSystemPalette4darkEv @ 2894 NONAME
+ _ZNK25QDeclarativeSystemPalette4textEv @ 2895 NONAME
+ _ZNK25QDeclarativeSystemPalette5lightEv @ 2896 NONAME
+ _ZNK25QDeclarativeSystemPalette6buttonEv @ 2897 NONAME
+ _ZNK25QDeclarativeSystemPalette6shadowEv @ 2898 NONAME
+ _ZNK25QDeclarativeSystemPalette6windowEv @ 2899 NONAME
+ _ZNK25QDeclarativeSystemPalette8midlightEv @ 2900 NONAME
+ _ZNK25QDeclarativeSystemPalette9highlightEv @ 2901 NONAME
+ _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 2902 NONAME
+ _ZNK26QDeclarativeBasePositioner3addEv @ 2903 NONAME
+ _ZNK26QDeclarativeBasePositioner4moveEv @ 2904 NONAME
+ _ZNK26QDeclarativeBasePositioner7spacingEv @ 2905 NONAME
+ _ZNK26QDeclarativeOpenMetaObject4nameEi @ 2906 NONAME
+ _ZNK26QDeclarativeOpenMetaObject4typeEv @ 2907 NONAME
+ _ZNK26QDeclarativeOpenMetaObject5countEv @ 2908 NONAME
+ _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 2909 NONAME
+ _ZNK26QDeclarativeOpenMetaObject5valueEi @ 2910 NONAME
+ _ZNK26QDeclarativeOpenMetaObject6objectEv @ 2911 NONAME
+ _ZNK26QDeclarativeOpenMetaObject6parentEv @ 2912 NONAME
+ _ZNK26QDeclarativeParticleMotion10metaObjectEv @ 2913 NONAME
+ _ZNK26QDeclarativeStateOperation10metaObjectEv @ 2914 NONAME
+ _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 2915 NONAME
+ _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 2916 NONAME
+ _ZNK27QDeclarativeDomValueBinding7bindingEv @ 2917 NONAME
+ _ZNK27QDeclarativeDomValueLiteral7literalEv @ 2918 NONAME
+ _ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 2919 NONAME
+ _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 2920 NONAME
+ _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 2921 NONAME
+ _ZNK27QDeclarativeGridScaledImage7isValidEv @ 2922 NONAME
+ _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 2923 NONAME
+ _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 2924 NONAME
+ _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 2925 NONAME
+ _ZNK27QDeclarativeNumberFormatter10metaObjectEv @ 2926 NONAME
+ _ZNK27QDeclarativeNumberFormatter4textEv @ 2927 NONAME
+ _ZNK27QDeclarativeNumberFormatter6formatEv @ 2928 NONAME
+ _ZNK27QDeclarativeNumberFormatter6numberEv @ 2929 NONAME
+ _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 2930 NONAME
+ _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 2931 NONAME
+ _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 2932 NONAME
+ _ZNK27QDeclarativePropertyChanges6objectEv @ 2933 NONAME
+ _ZNK27QDeclarativeVisualDataModel10metaObjectEv @ 2934 NONAME
+ _ZNK27QDeclarativeVisualDataModel4partEv @ 2935 NONAME
+ _ZNK27QDeclarativeVisualDataModel5countEv @ 2936 NONAME
+ _ZNK27QDeclarativeVisualDataModel5modelEv @ 2937 NONAME
+ _ZNK27QDeclarativeVisualDataModel7indexOfEP16QDeclarativeItemP7QObject @ 2938 NONAME
+ _ZNK27QDeclarativeVisualDataModel8delegateEv @ 2939 NONAME
+ _ZNK27QDeclarativeVisualDataModel9rootIndexEv @ 2940 NONAME
+ _ZNK27QDeclarativeVisualItemModel10metaObjectEv @ 2941 NONAME
+ _ZNK27QDeclarativeVisualItemModel5countEv @ 2942 NONAME
+ _ZNK27QDeclarativeVisualItemModel7indexOfEP16QDeclarativeItemP7QObject @ 2943 NONAME
+ _ZNK27QDeclarativeVisualItemModel7isValidEv @ 2944 NONAME
+ _ZNK28QDeclarativeCustomParserNode10propertiesEv @ 2945 NONAME
+ _ZNK28QDeclarativeCustomParserNode4nameEv @ 2946 NONAME
+ _ZNK28QDeclarativeCustomParserNode8locationEv @ 2947 NONAME
+ _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 2948 NONAME
+ _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 2949 NONAME
+ _ZNK28QDeclarativeXmlListModelRole10metaObjectEv @ 2950 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter10dateFormatEv @ 2951 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter10metaObjectEv @ 2952 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter10timeFormatEv @ 2953 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter12dateTimeTextEv @ 2954 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter14dateTimeFormatEv @ 2955 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter4dateEv @ 2956 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter4timeEv @ 2957 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter8dateTextEv @ 2958 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter8dateTimeEv @ 2959 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter8timeTextEv @ 2960 NONAME
+ _ZNK29QDeclarativeDateTimeFormatter9longStyleEv @ 2961 NONAME
+ _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 2962 NONAME
+ _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 2963 NONAME
+ _ZNK29QDeclarativeStateChangeScript10metaObjectEv @ 2964 NONAME
+ _ZNK29QDeclarativeStateChangeScript4nameEv @ 2965 NONAME
+ _ZNK29QDeclarativeStateChangeScript6scriptEv @ 2966 NONAME
+ _ZNK29QDeclarativeStateChangeScript8typeNameEv @ 2967 NONAME
+ _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 2968 NONAME
+ _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 2969 NONAME
+ _ZNK30QDeclarativeDebugFileReference3urlEv @ 2970 NONAME
+ _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 2971 NONAME
+ _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 2972 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 2973 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 2974 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 2975 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 2976 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 2977 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 2978 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 2979 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 2980 NONAME
+ _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 2981 NONAME
+ _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 2982 NONAME
+ _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 2983 NONAME
+ _ZNK31QDeclarativeDomValueValueSource6objectEv @ 2984 NONAME
+ _ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 2985 NONAME
+ _ZNK32QDeclarativeCustomParserProperty4nameEv @ 2986 NONAME
+ _ZNK32QDeclarativeCustomParserProperty6isListEv @ 2987 NONAME
+ _ZNK32QDeclarativeCustomParserProperty8locationEv @ 2988 NONAME
+ _ZNK32QDeclarativeDebugEngineReference4nameEv @ 2989 NONAME
+ _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 2990 NONAME
+ _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 2991 NONAME
+ _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 2992 NONAME
+ _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 2993 NONAME
+ _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 2994 NONAME
+ _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 2995 NONAME
+ _ZNK32QDeclarativeDebugObjectReference4nameEv @ 2996 NONAME
+ _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 2997 NONAME
+ _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 2998 NONAME
+ _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 2999 NONAME
+ _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 3000 NONAME
+ _ZNK32QDeclarativeParticleMotionLinear10metaObjectEv @ 3001 NONAME
+ _ZNK32QDeclarativeParticleMotionWander10metaObjectEv @ 3002 NONAME
+ _ZNK33QDeclarativeDebugContextReference4nameEv @ 3003 NONAME
+ _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 3004 NONAME
+ _ZNK33QDeclarativeDebugContextReference7objectsEv @ 3005 NONAME
+ _ZNK33QDeclarativeDebugContextReference8contextsEv @ 3006 NONAME
+ _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 3007 NONAME
+ _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 3008 NONAME
+ _ZNK33QDeclarativeParticleMotionGravity10metaObjectEv @ 3009 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 3010 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 3011 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 3012 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 3013 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 3014 NONAME
+ _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 3015 NONAME
+ _ZNK35QDeclarativeGraphicsObjectContainer10metaObjectEv @ 3016 NONAME
+ _ZNK35QDeclarativeGraphicsObjectContainer14graphicsObjectEv @ 3017 NONAME
+ _ZNK35QDeclarativeGraphicsObjectContainer20synchronizedResizingEv @ 3018 NONAME
+ _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 3019 NONAME
+ _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 3020 NONAME
+ _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 3021 NONAME
+ _ZNK7QPacket7isEmptyEv @ 3022 NONAME
+ _ZTI15QDeclarativePen @ 3023 NONAME
+ _ZTI15QDeclarativeRow @ 3024 NONAME
+ _ZTI15QPacketAutoSend @ 3025 NONAME
+ _ZTI15QPacketProtocol @ 3026 NONAME
+ _ZTI16QDeclarativeBind @ 3027 NONAME
+ _ZTI16QDeclarativeDrag @ 3028 NONAME
+ _ZTI16QDeclarativeFlow @ 3029 NONAME
+ _ZTI16QDeclarativeGrid @ 3030 NONAME
+ _ZTI16QDeclarativeItem @ 3031 NONAME
+ _ZTI16QDeclarativePath @ 3032 NONAME
+ _ZTI16QDeclarativeText @ 3033 NONAME
+ _ZTI16QDeclarativeView @ 3034 NONAME
+ _ZTI17QDeclarativeCurve @ 3035 NONAME
+ _ZTI17QDeclarativeImage @ 3036 NONAME
+ _ZTI17QDeclarativeState @ 3037 NONAME
+ _ZTI17QDeclarativeTimer @ 3038 NONAME
+ _ZTI18QDeclarativeColumn @ 3039 NONAME
+ _ZTI18QDeclarativeEngine @ 3040 NONAME
+ _ZTI18QDeclarativeLoader @ 3041 NONAME
+ _ZTI18QMetaObjectBuilder @ 3042 NONAME
+ _ZTI19QDeclarativeAnchors @ 3043 NONAME
+ _ZTI19QDeclarativeContext @ 3044 NONAME
+ _ZTI19QDeclarativeWebPage @ 3045 NONAME
+ _ZTI19QDeclarativeWebView @ 3046 NONAME
+ _ZTI19QListModelInterface @ 3047 NONAME
+ _ZTI20QDeclarativeBehavior @ 3048 NONAME
+ _ZTI20QDeclarativeFlipable @ 3049 NONAME
+ _ZTI20QDeclarativeGradient @ 3050 NONAME
+ _ZTI20QDeclarativeGridView @ 3051 NONAME
+ _ZTI20QDeclarativeListView @ 3052 NONAME
+ _ZTI20QDeclarativePathLine @ 3053 NONAME
+ _ZTI20QDeclarativePathQuad @ 3054 NONAME
+ _ZTI20QDeclarativePathView @ 3055 NONAME
+ _ZTI20QDeclarativeRepeater @ 3056 NONAME
+ _ZTI20QDeclarativeTextEdit @ 3057 NONAME
+ _ZTI21QDeclarativeComponent @ 3058 NONAME
+ _ZTI21QDeclarativeFlickable @ 3059 NONAME
+ _ZTI21QDeclarativeImageBase @ 3060 NONAME
+ _ZTI21QDeclarativeListModel @ 3061 NONAME
+ _ZTI21QDeclarativeMouseArea @ 3062 NONAME
+ _ZTI21QDeclarativeParticles @ 3063 NONAME
+ _ZTI21QDeclarativePathCubic @ 3064 NONAME
+ _ZTI21QDeclarativeRectangle @ 3065 NONAME
+ _ZTI21QDeclarativeScaleGrid @ 3066 NONAME
+ _ZTI21QDeclarativeTextInput @ 3067 NONAME
+ _ZTI21QDeclarativeValueType @ 3068 NONAME
+ _ZTI22QDeclarativeDebugQuery @ 3069 NONAME
+ _ZTI22QDeclarativeDebugWatch @ 3070 NONAME
+ _ZTI22QDeclarativeEaseFollow @ 3071 NONAME
+ _ZTI22QDeclarativeExpression @ 3072 NONAME
+ _ZTI22QDeclarativeFocusPanel @ 3073 NONAME
+ _ZTI22QDeclarativeFocusScope @ 3074 NONAME
+ _ZTI22QDeclarativeFontLoader @ 3075 NONAME
+ _ZTI22QDeclarativeStateGroup @ 3076 NONAME
+ _ZTI22QDeclarativeTransition @ 3077 NONAME
+ _ZTI23QDeclarativeBorderImage @ 3078 NONAME
+ _ZTI23QDeclarativeConnections @ 3079 NONAME
+ _ZTI23QDeclarativeDebugClient @ 3080 NONAME
+ _ZTI23QDeclarativeEngineDebug @ 3081 NONAME
+ _ZTI23QDeclarativePaintedItem @ 3082 NONAME
+ _ZTI23QDeclarativePathElement @ 3083 NONAME
+ _ZTI23QDeclarativePathPercent @ 3084 NONAME
+ _ZTI23QDeclarativePixmapReply @ 3085 NONAME
+ _ZTI23QDeclarativePropertyMap @ 3086 NONAME
+ _ZTI23QDeclarativeViewSection @ 3087 NONAME
+ _ZTI23QDeclarativeVisualModel @ 3088 NONAME
+ _ZTI24QDeclarativeCustomParser @ 3089 NONAME
+ _ZTI24QDeclarativeDebugService @ 3090 NONAME
+ _ZTI24QDeclarativeGradientStop @ 3091 NONAME
+ _ZTI24QDeclarativeParentChange @ 3092 NONAME
+ _ZTI24QDeclarativeParserStatus @ 3093 NONAME
+ _ZTI24QDeclarativeSpringFollow @ 3094 NONAME
+ _ZTI24QDeclarativeXmlListModel @ 3095 NONAME
+ _ZTI25QDeclarativeAnchorChanges @ 3096 NONAME
+ _ZTI25QDeclarativeAnimatedImage @ 3097 NONAME
+ _ZTI25QDeclarativeImageProvider @ 3098 NONAME
+ _ZTI25QDeclarativePathAttribute @ 3099 NONAME
+ _ZTI25QDeclarativeSystemPalette @ 3100 NONAME
+ _ZTI26QDeclarativeBasePositioner @ 3101 NONAME
+ _ZTI26QDeclarativeContextPrivate @ 3102 NONAME
+ _ZTI26QDeclarativeDebuggerStatus @ 3103 NONAME
+ _ZTI26QDeclarativeOpenMetaObject @ 3104 NONAME
+ _ZTI26QDeclarativeParticleMotion @ 3105 NONAME
+ _ZTI26QDeclarativeStateOperation @ 3106 NONAME
+ _ZTI27QDeclarativeDebugConnection @ 3107 NONAME
+ _ZTI27QDeclarativeExtensionPlugin @ 3108 NONAME
+ _ZTI27QDeclarativeNumberFormatter @ 3109 NONAME
+ _ZTI27QDeclarativePropertyChanges @ 3110 NONAME
+ _ZTI27QDeclarativeVisualDataModel @ 3111 NONAME
+ _ZTI27QDeclarativeVisualItemModel @ 3112 NONAME
+ _ZTI28QDeclarativeDebugObjectQuery @ 3113 NONAME
+ _ZTI28QDeclarativeXmlListModelRole @ 3114 NONAME
+ _ZTI29QDeclarativeDateTimeFormatter @ 3115 NONAME
+ _ZTI29QDeclarativeDebugEnginesQuery @ 3116 NONAME
+ _ZTI29QDeclarativeStateChangeScript @ 3117 NONAME
+ _ZTI30QDeclarativeDebugPropertyWatch @ 3118 NONAME
+ _ZTI30QDeclarativeExtensionInterface @ 3119 NONAME
+ _ZTI30QDeclarativeOpenMetaObjectType @ 3120 NONAME
+ _ZTI31QDeclarativePropertyValueSource @ 3121 NONAME
+ _ZTI32QDeclarativeDebugExpressionQuery @ 3122 NONAME
+ _ZTI32QDeclarativeParticleMotionLinear @ 3123 NONAME
+ _ZTI32QDeclarativeParticleMotionWander @ 3124 NONAME
+ _ZTI33QDeclarativeDebugRootContextQuery @ 3125 NONAME
+ _ZTI33QDeclarativeParticleMotionGravity @ 3126 NONAME
+ _ZTI35QDeclarativeGraphicsObjectContainer @ 3127 NONAME
+ _ZTI36QDeclarativePropertyValueInterceptor @ 3128 NONAME
+ _ZTI38QDeclarativeDebugObjectExpressionWatch @ 3129 NONAME
+ _ZTI39QDeclarativeNetworkAccessManagerFactory @ 3130 NONAME
+ _ZTI7QPacket @ 3131 NONAME
+ _ZTV15QDeclarativePen @ 3132 NONAME
+ _ZTV15QDeclarativeRow @ 3133 NONAME
+ _ZTV15QPacketAutoSend @ 3134 NONAME
+ _ZTV15QPacketProtocol @ 3135 NONAME
+ _ZTV16QDeclarativeBind @ 3136 NONAME
+ _ZTV16QDeclarativeDrag @ 3137 NONAME
+ _ZTV16QDeclarativeFlow @ 3138 NONAME
+ _ZTV16QDeclarativeGrid @ 3139 NONAME
+ _ZTV16QDeclarativeItem @ 3140 NONAME
+ _ZTV16QDeclarativePath @ 3141 NONAME
+ _ZTV16QDeclarativeText @ 3142 NONAME
+ _ZTV16QDeclarativeView @ 3143 NONAME
+ _ZTV17QDeclarativeCurve @ 3144 NONAME
+ _ZTV17QDeclarativeImage @ 3145 NONAME
+ _ZTV17QDeclarativeState @ 3146 NONAME
+ _ZTV17QDeclarativeTimer @ 3147 NONAME
+ _ZTV18QDeclarativeColumn @ 3148 NONAME
+ _ZTV18QDeclarativeEngine @ 3149 NONAME
+ _ZTV18QDeclarativeLoader @ 3150 NONAME
+ _ZTV18QMetaObjectBuilder @ 3151 NONAME
+ _ZTV19QDeclarativeAnchors @ 3152 NONAME
+ _ZTV19QDeclarativeContext @ 3153 NONAME
+ _ZTV19QDeclarativeWebPage @ 3154 NONAME
+ _ZTV19QDeclarativeWebView @ 3155 NONAME
+ _ZTV19QListModelInterface @ 3156 NONAME
+ _ZTV20QDeclarativeBehavior @ 3157 NONAME
+ _ZTV20QDeclarativeFlipable @ 3158 NONAME
+ _ZTV20QDeclarativeGradient @ 3159 NONAME
+ _ZTV20QDeclarativeGridView @ 3160 NONAME
+ _ZTV20QDeclarativeListView @ 3161 NONAME
+ _ZTV20QDeclarativePathLine @ 3162 NONAME
+ _ZTV20QDeclarativePathQuad @ 3163 NONAME
+ _ZTV20QDeclarativePathView @ 3164 NONAME
+ _ZTV20QDeclarativeRepeater @ 3165 NONAME
+ _ZTV20QDeclarativeTextEdit @ 3166 NONAME
+ _ZTV21QDeclarativeComponent @ 3167 NONAME
+ _ZTV21QDeclarativeFlickable @ 3168 NONAME
+ _ZTV21QDeclarativeImageBase @ 3169 NONAME
+ _ZTV21QDeclarativeListModel @ 3170 NONAME
+ _ZTV21QDeclarativeMouseArea @ 3171 NONAME
+ _ZTV21QDeclarativeParticles @ 3172 NONAME
+ _ZTV21QDeclarativePathCubic @ 3173 NONAME
+ _ZTV21QDeclarativeRectangle @ 3174 NONAME
+ _ZTV21QDeclarativeScaleGrid @ 3175 NONAME
+ _ZTV21QDeclarativeTextInput @ 3176 NONAME
+ _ZTV21QDeclarativeValueType @ 3177 NONAME
+ _ZTV22QDeclarativeDebugQuery @ 3178 NONAME
+ _ZTV22QDeclarativeDebugWatch @ 3179 NONAME
+ _ZTV22QDeclarativeEaseFollow @ 3180 NONAME
+ _ZTV22QDeclarativeExpression @ 3181 NONAME
+ _ZTV22QDeclarativeFocusPanel @ 3182 NONAME
+ _ZTV22QDeclarativeFocusScope @ 3183 NONAME
+ _ZTV22QDeclarativeFontLoader @ 3184 NONAME
+ _ZTV22QDeclarativeStateGroup @ 3185 NONAME
+ _ZTV22QDeclarativeTransition @ 3186 NONAME
+ _ZTV23QDeclarativeBorderImage @ 3187 NONAME
+ _ZTV23QDeclarativeConnections @ 3188 NONAME
+ _ZTV23QDeclarativeDebugClient @ 3189 NONAME
+ _ZTV23QDeclarativeEngineDebug @ 3190 NONAME
+ _ZTV23QDeclarativePaintedItem @ 3191 NONAME
+ _ZTV23QDeclarativePathElement @ 3192 NONAME
+ _ZTV23QDeclarativePathPercent @ 3193 NONAME
+ _ZTV23QDeclarativePixmapReply @ 3194 NONAME
+ _ZTV23QDeclarativePropertyMap @ 3195 NONAME
+ _ZTV23QDeclarativeViewSection @ 3196 NONAME
+ _ZTV23QDeclarativeVisualModel @ 3197 NONAME
+ _ZTV24QDeclarativeCustomParser @ 3198 NONAME
+ _ZTV24QDeclarativeDebugService @ 3199 NONAME
+ _ZTV24QDeclarativeGradientStop @ 3200 NONAME
+ _ZTV24QDeclarativeParentChange @ 3201 NONAME
+ _ZTV24QDeclarativeParserStatus @ 3202 NONAME
+ _ZTV24QDeclarativeSpringFollow @ 3203 NONAME
+ _ZTV24QDeclarativeXmlListModel @ 3204 NONAME
+ _ZTV25QDeclarativeAnchorChanges @ 3205 NONAME
+ _ZTV25QDeclarativeAnimatedImage @ 3206 NONAME
+ _ZTV25QDeclarativeImageProvider @ 3207 NONAME
+ _ZTV25QDeclarativePathAttribute @ 3208 NONAME
+ _ZTV25QDeclarativeSystemPalette @ 3209 NONAME
+ _ZTV26QDeclarativeBasePositioner @ 3210 NONAME
+ _ZTV26QDeclarativeContextPrivate @ 3211 NONAME
+ _ZTV26QDeclarativeDebuggerStatus @ 3212 NONAME
+ _ZTV26QDeclarativeOpenMetaObject @ 3213 NONAME
+ _ZTV26QDeclarativeParticleMotion @ 3214 NONAME
+ _ZTV26QDeclarativeStateOperation @ 3215 NONAME
+ _ZTV27QDeclarativeDebugConnection @ 3216 NONAME
+ _ZTV27QDeclarativeExtensionPlugin @ 3217 NONAME
+ _ZTV27QDeclarativeNumberFormatter @ 3218 NONAME
+ _ZTV27QDeclarativePropertyChanges @ 3219 NONAME
+ _ZTV27QDeclarativeVisualDataModel @ 3220 NONAME
+ _ZTV27QDeclarativeVisualItemModel @ 3221 NONAME
+ _ZTV28QDeclarativeDebugObjectQuery @ 3222 NONAME
+ _ZTV28QDeclarativeXmlListModelRole @ 3223 NONAME
+ _ZTV29QDeclarativeDateTimeFormatter @ 3224 NONAME
+ _ZTV29QDeclarativeDebugEnginesQuery @ 3225 NONAME
+ _ZTV29QDeclarativeStateChangeScript @ 3226 NONAME
+ _ZTV30QDeclarativeDebugPropertyWatch @ 3227 NONAME
+ _ZTV30QDeclarativeOpenMetaObjectType @ 3228 NONAME
+ _ZTV31QDeclarativePropertyValueSource @ 3229 NONAME
+ _ZTV32QDeclarativeDebugExpressionQuery @ 3230 NONAME
+ _ZTV32QDeclarativeParticleMotionLinear @ 3231 NONAME
+ _ZTV32QDeclarativeParticleMotionWander @ 3232 NONAME
+ _ZTV33QDeclarativeDebugRootContextQuery @ 3233 NONAME
+ _ZTV33QDeclarativeParticleMotionGravity @ 3234 NONAME
+ _ZTV35QDeclarativeGraphicsObjectContainer @ 3235 NONAME
+ _ZTV36QDeclarativePropertyValueInterceptor @ 3236 NONAME
+ _ZTV38QDeclarativeDebugObjectExpressionWatch @ 3237 NONAME
+ _ZTV39QDeclarativeNetworkAccessManagerFactory @ 3238 NONAME
+ _ZTV7QPacket @ 3239 NONAME
+ _ZThn16_N16QDeclarativeItem10classBeginEv @ 3240 NONAME
+ _ZThn16_N16QDeclarativeItem17componentCompleteEv @ 3241 NONAME
+ _ZThn16_N16QDeclarativeItemD0Ev @ 3242 NONAME
+ _ZThn16_N16QDeclarativeItemD1Ev @ 3243 NONAME
+ _ZThn16_N16QDeclarativeText17componentCompleteEv @ 3244 NONAME
+ _ZThn16_N16QDeclarativeTextD0Ev @ 3245 NONAME
+ _ZThn16_N16QDeclarativeTextD1Ev @ 3246 NONAME
+ _ZThn16_N17QDeclarativeImageD0Ev @ 3247 NONAME
+ _ZThn16_N17QDeclarativeImageD1Ev @ 3248 NONAME
+ _ZThn16_N18QDeclarativeLoaderD0Ev @ 3249 NONAME
+ _ZThn16_N18QDeclarativeLoaderD1Ev @ 3250 NONAME
+ _ZThn16_N19QDeclarativeWebView17componentCompleteEv @ 3251 NONAME
+ _ZThn16_N19QDeclarativeWebViewD0Ev @ 3252 NONAME
+ _ZThn16_N19QDeclarativeWebViewD1Ev @ 3253 NONAME
+ _ZThn16_N20QDeclarativeFlipableD0Ev @ 3254 NONAME
+ _ZThn16_N20QDeclarativeFlipableD1Ev @ 3255 NONAME
+ _ZThn16_N20QDeclarativeGridView17componentCompleteEv @ 3256 NONAME
+ _ZThn16_N20QDeclarativeGridViewD0Ev @ 3257 NONAME
+ _ZThn16_N20QDeclarativeGridViewD1Ev @ 3258 NONAME
+ _ZThn16_N20QDeclarativeListView17componentCompleteEv @ 3259 NONAME
+ _ZThn16_N20QDeclarativeListViewD0Ev @ 3260 NONAME
+ _ZThn16_N20QDeclarativeListViewD1Ev @ 3261 NONAME
+ _ZThn16_N20QDeclarativePathView17componentCompleteEv @ 3262 NONAME
+ _ZThn16_N20QDeclarativePathViewD0Ev @ 3263 NONAME
+ _ZThn16_N20QDeclarativePathViewD1Ev @ 3264 NONAME
+ _ZThn16_N20QDeclarativeRepeater17componentCompleteEv @ 3265 NONAME
+ _ZThn16_N20QDeclarativeRepeaterD0Ev @ 3266 NONAME
+ _ZThn16_N20QDeclarativeRepeaterD1Ev @ 3267 NONAME
+ _ZThn16_N20QDeclarativeTextEdit17componentCompleteEv @ 3268 NONAME
+ _ZThn16_N21QDeclarativeFlickableD0Ev @ 3269 NONAME
+ _ZThn16_N21QDeclarativeFlickableD1Ev @ 3270 NONAME
+ _ZThn16_N21QDeclarativeImageBase17componentCompleteEv @ 3271 NONAME
+ _ZThn16_N21QDeclarativeImageBaseD0Ev @ 3272 NONAME
+ _ZThn16_N21QDeclarativeImageBaseD1Ev @ 3273 NONAME
+ _ZThn16_N21QDeclarativeMouseAreaD0Ev @ 3274 NONAME
+ _ZThn16_N21QDeclarativeMouseAreaD1Ev @ 3275 NONAME
+ _ZThn16_N21QDeclarativeParticles17componentCompleteEv @ 3276 NONAME
+ _ZThn16_N21QDeclarativeParticlesD0Ev @ 3277 NONAME
+ _ZThn16_N21QDeclarativeParticlesD1Ev @ 3278 NONAME
+ _ZThn16_N21QDeclarativeTextInputD0Ev @ 3279 NONAME
+ _ZThn16_N21QDeclarativeTextInputD1Ev @ 3280 NONAME
+ _ZThn16_N22QDeclarativeFocusPanelD0Ev @ 3281 NONAME
+ _ZThn16_N22QDeclarativeFocusPanelD1Ev @ 3282 NONAME
+ _ZThn16_N22QDeclarativeFocusScopeD0Ev @ 3283 NONAME
+ _ZThn16_N22QDeclarativeFocusScopeD1Ev @ 3284 NONAME
+ _ZThn16_N23QDeclarativeBorderImageD0Ev @ 3285 NONAME
+ _ZThn16_N23QDeclarativeBorderImageD1Ev @ 3286 NONAME
+ _ZThn16_N23QDeclarativePaintedItemD0Ev @ 3287 NONAME
+ _ZThn16_N23QDeclarativePaintedItemD1Ev @ 3288 NONAME
+ _ZThn16_N25QDeclarativeAnimatedImage17componentCompleteEv @ 3289 NONAME
+ _ZThn16_N25QDeclarativeAnimatedImageD0Ev @ 3290 NONAME
+ _ZThn16_N25QDeclarativeAnimatedImageD1Ev @ 3291 NONAME
+ _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 3292 NONAME
+ _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 3293 NONAME
+ _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 3294 NONAME
+ _ZThn16_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3295 NONAME
+ _ZThn16_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3296 NONAME
+ _ZThn8_N16QDeclarativeBind17componentCompleteEv @ 3297 NONAME
+ _ZThn8_N16QDeclarativeBindD0Ev @ 3298 NONAME
+ _ZThn8_N16QDeclarativeBindD1Ev @ 3299 NONAME
+ _ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3300 NONAME
+ _ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 3301 NONAME
+ _ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 3302 NONAME
+ _ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 3303 NONAME
+ _ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 3304 NONAME
+ _ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3305 NONAME
+ _ZThn8_N16QDeclarativeItemD0Ev @ 3306 NONAME
+ _ZThn8_N16QDeclarativeItemD1Ev @ 3307 NONAME
+ _ZThn8_N16QDeclarativePath17componentCompleteEv @ 3308 NONAME
+ _ZThn8_N16QDeclarativePathD0Ev @ 3309 NONAME
+ _ZThn8_N16QDeclarativePathD1Ev @ 3310 NONAME
+ _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 3311 NONAME
+ _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3312 NONAME
+ _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3313 NONAME
+ _ZThn8_N16QDeclarativeTextD0Ev @ 3314 NONAME
+ _ZThn8_N16QDeclarativeTextD1Ev @ 3315 NONAME
+ _ZThn8_N16QDeclarativeViewD0Ev @ 3316 NONAME
+ _ZThn8_N16QDeclarativeViewD1Ev @ 3317 NONAME
+ _ZThn8_N17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3318 NONAME
+ _ZThn8_N17QDeclarativeImageD0Ev @ 3319 NONAME
+ _ZThn8_N17QDeclarativeImageD1Ev @ 3320 NONAME
+ _ZThn8_N17QDeclarativeTimer10classBeginEv @ 3321 NONAME
+ _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 3322 NONAME
+ _ZThn8_N18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3323 NONAME
+ _ZThn8_N18QDeclarativeLoaderD0Ev @ 3324 NONAME
+ _ZThn8_N18QDeclarativeLoaderD1Ev @ 3325 NONAME
+ _ZThn8_N19QDeclarativeWebView10sceneEventEP6QEvent @ 3326 NONAME
+ _ZThn8_N19QDeclarativeWebView13keyPressEventEP9QKeyEvent @ 3327 NONAME
+ _ZThn8_N19QDeclarativeWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3328 NONAME
+ _ZThn8_N19QDeclarativeWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3329 NONAME
+ _ZThn8_N19QDeclarativeWebView15keyReleaseEventEP9QKeyEvent @ 3330 NONAME
+ _ZThn8_N19QDeclarativeWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3331 NONAME
+ _ZThn8_N19QDeclarativeWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3332 NONAME
+ _ZThn8_N19QDeclarativeWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3333 NONAME
+ _ZThn8_N19QDeclarativeWebViewD0Ev @ 3334 NONAME
+ _ZThn8_N19QDeclarativeWebViewD1Ev @ 3335 NONAME
+ _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 3336 NONAME
+ _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 3337 NONAME
+ _ZThn8_N20QDeclarativeBehaviorD0Ev @ 3338 NONAME
+ _ZThn8_N20QDeclarativeBehaviorD1Ev @ 3339 NONAME
+ _ZThn8_N20QDeclarativeFlipableD0Ev @ 3340 NONAME
+ _ZThn8_N20QDeclarativeFlipableD1Ev @ 3341 NONAME
+ _ZThn8_N20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 3342 NONAME
+ _ZThn8_N20QDeclarativeGridViewD0Ev @ 3343 NONAME
+ _ZThn8_N20QDeclarativeGridViewD1Ev @ 3344 NONAME
+ _ZThn8_N20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 3345 NONAME
+ _ZThn8_N20QDeclarativeListViewD0Ev @ 3346 NONAME
+ _ZThn8_N20QDeclarativeListViewD1Ev @ 3347 NONAME
+ _ZThn8_N20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3348 NONAME
+ _ZThn8_N20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3349 NONAME
+ _ZThn8_N20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3350 NONAME
+ _ZThn8_N20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3351 NONAME
+ _ZThn8_N20QDeclarativePathViewD0Ev @ 3352 NONAME
+ _ZThn8_N20QDeclarativePathViewD1Ev @ 3353 NONAME
+ _ZThn8_N20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3354 NONAME
+ _ZThn8_N20QDeclarativeRepeaterD0Ev @ 3355 NONAME
+ _ZThn8_N20QDeclarativeRepeaterD1Ev @ 3356 NONAME
+ _ZThn8_N20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 3357 NONAME
+ _ZThn8_N20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3358 NONAME
+ _ZThn8_N20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 3359 NONAME
+ _ZThn8_N20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 3360 NONAME
+ _ZThn8_N20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 3361 NONAME
+ _ZThn8_N20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3362 NONAME
+ _ZThn8_N20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3363 NONAME
+ _ZThn8_N21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 3364 NONAME
+ _ZThn8_N21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3365 NONAME
+ _ZThn8_N21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 3366 NONAME
+ _ZThn8_N21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3367 NONAME
+ _ZThn8_N21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3368 NONAME
+ _ZThn8_N21QDeclarativeFlickableD0Ev @ 3369 NONAME
+ _ZThn8_N21QDeclarativeFlickableD1Ev @ 3370 NONAME
+ _ZThn8_N21QDeclarativeImageBaseD0Ev @ 3371 NONAME
+ _ZThn8_N21QDeclarativeImageBaseD1Ev @ 3372 NONAME
+ _ZThn8_N21QDeclarativeMouseArea10sceneEventEP6QEvent @ 3373 NONAME
+ _ZThn8_N21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3374 NONAME
+ _ZThn8_N21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3375 NONAME
+ _ZThn8_N21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 3376 NONAME
+ _ZThn8_N21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3377 NONAME
+ _ZThn8_N21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 3378 NONAME
+ _ZThn8_N21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3379 NONAME
+ _ZThn8_N21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3380 NONAME
+ _ZThn8_N21QDeclarativeMouseAreaD0Ev @ 3381 NONAME
+ _ZThn8_N21QDeclarativeMouseAreaD1Ev @ 3382 NONAME
+ _ZThn8_N21QDeclarativeParticles5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3383 NONAME
+ _ZThn8_N21QDeclarativeParticlesD0Ev @ 3384 NONAME
+ _ZThn8_N21QDeclarativeParticlesD1Ev @ 3385 NONAME
+ _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3386 NONAME
+ _ZThn8_N21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 3387 NONAME
+ _ZThn8_N21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 3388 NONAME
+ _ZThn8_N21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3389 NONAME
+ _ZThn8_N21QDeclarativeTextInputD0Ev @ 3390 NONAME
+ _ZThn8_N21QDeclarativeTextInputD1Ev @ 3391 NONAME
+ _ZThn8_N22QDeclarativeEaseFollow9setTargetERK20QDeclarativeProperty @ 3392 NONAME
+ _ZThn8_N22QDeclarativeEaseFollowD0Ev @ 3393 NONAME
+ _ZThn8_N22QDeclarativeEaseFollowD1Ev @ 3394 NONAME
+ _ZThn8_N22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 3395 NONAME
+ _ZThn8_N22QDeclarativeFocusPanelD0Ev @ 3396 NONAME
+ _ZThn8_N22QDeclarativeFocusPanelD1Ev @ 3397 NONAME
+ _ZThn8_N22QDeclarativeFocusScopeD0Ev @ 3398 NONAME
+ _ZThn8_N22QDeclarativeFocusScopeD1Ev @ 3399 NONAME
+ _ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 3400 NONAME
+ _ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 3401 NONAME
+ _ZThn8_N22QDeclarativeStateGroupD0Ev @ 3402 NONAME
+ _ZThn8_N22QDeclarativeStateGroupD1Ev @ 3403 NONAME
+ _ZThn8_N23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3404 NONAME
+ _ZThn8_N23QDeclarativeBorderImageD0Ev @ 3405 NONAME
+ _ZThn8_N23QDeclarativeBorderImageD1Ev @ 3406 NONAME
+ _ZThn8_N23QDeclarativeConnections17componentCompleteEv @ 3407 NONAME
+ _ZThn8_N23QDeclarativeConnectionsD0Ev @ 3408 NONAME
+ _ZThn8_N23QDeclarativeConnectionsD1Ev @ 3409 NONAME
+ _ZThn8_N23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3410 NONAME
+ _ZThn8_N23QDeclarativePaintedItemD0Ev @ 3411 NONAME
+ _ZThn8_N23QDeclarativePaintedItemD1Ev @ 3412 NONAME
+ _ZThn8_N24QDeclarativeParentChange12isReversableEv @ 3413 NONAME
+ _ZThn8_N24QDeclarativeParentChange13saveOriginalsEv @ 3414 NONAME
+ _ZThn8_N24QDeclarativeParentChange17saveCurrentValuesEv @ 3415 NONAME
+ _ZThn8_N24QDeclarativeParentChange6rewindEv @ 3416 NONAME
+ _ZThn8_N24QDeclarativeParentChange7executeEv @ 3417 NONAME
+ _ZThn8_N24QDeclarativeParentChange7reverseEv @ 3418 NONAME
+ _ZThn8_N24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 3419 NONAME
+ _ZThn8_N24QDeclarativeParentChangeD0Ev @ 3420 NONAME
+ _ZThn8_N24QDeclarativeParentChangeD1Ev @ 3421 NONAME
+ _ZThn8_N24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 3422 NONAME
+ _ZThn8_N24QDeclarativeSpringFollowD0Ev @ 3423 NONAME
+ _ZThn8_N24QDeclarativeSpringFollowD1Ev @ 3424 NONAME
+ _ZThn8_N24QDeclarativeXmlListModel10classBeginEv @ 3425 NONAME
+ _ZThn8_N24QDeclarativeXmlListModel17componentCompleteEv @ 3426 NONAME
+ _ZThn8_N24QDeclarativeXmlListModelD0Ev @ 3427 NONAME
+ _ZThn8_N24QDeclarativeXmlListModelD1Ev @ 3428 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges12extraActionsEv @ 3429 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges12isReversableEv @ 3430 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges13saveOriginalsEv @ 3431 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges15changesBindingsEv @ 3432 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 3433 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges20clearForwardBindingsEv @ 3434 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges20clearReverseBindingsEv @ 3435 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges6rewindEv @ 3436 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges7executeEv @ 3437 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges7reverseEv @ 3438 NONAME
+ _ZThn8_N25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 3439 NONAME
+ _ZThn8_N25QDeclarativeAnchorChangesD0Ev @ 3440 NONAME
+ _ZThn8_N25QDeclarativeAnchorChangesD1Ev @ 3441 NONAME
+ _ZThn8_N25QDeclarativeAnimatedImageD0Ev @ 3442 NONAME
+ _ZThn8_N25QDeclarativeAnimatedImageD1Ev @ 3443 NONAME
+ _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3444 NONAME
+ _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 3445 NONAME
+ _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 3446 NONAME
+ _ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 3447 NONAME
+ _ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 3448 NONAME
+ _ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 3449 NONAME
+ _ZThn8_N27QDeclarativeNumberFormatter10classBeginEv @ 3450 NONAME
+ _ZThn8_N27QDeclarativeNumberFormatter17componentCompleteEv @ 3451 NONAME
+ _ZThn8_N27QDeclarativeNumberFormatterD0Ev @ 3452 NONAME
+ _ZThn8_N27QDeclarativeNumberFormatterD1Ev @ 3453 NONAME
+ _ZThn8_N29QDeclarativeDateTimeFormatter10classBeginEv @ 3454 NONAME
+ _ZThn8_N29QDeclarativeDateTimeFormatter17componentCompleteEv @ 3455 NONAME
+ _ZThn8_N29QDeclarativeDateTimeFormatterD0Ev @ 3456 NONAME
+ _ZThn8_N29QDeclarativeDateTimeFormatterD1Ev @ 3457 NONAME
+ _ZThn8_N29QDeclarativeStateChangeScript7executeEv @ 3458 NONAME
+ _ZThn8_N29QDeclarativeStateChangeScriptD0Ev @ 3459 NONAME
+ _ZThn8_N29QDeclarativeStateChangeScriptD1Ev @ 3460 NONAME
+ _ZThn8_N35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3461 NONAME
+ _ZThn8_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3462 NONAME
+ _ZThn8_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3463 NONAME
+ _ZThn8_NK16QDeclarativeItem12boundingRectEv @ 3464 NONAME
+ _ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 3465 NONAME
+ _ZThn8_NK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 3466 NONAME
+ _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 3467 NONAME
+ _ZThn8_NK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 3468 NONAME
+ _ZThn8_NK24QDeclarativeParentChange8typeNameEv @ 3469 NONAME
+ _ZThn8_NK25QDeclarativeAnchorChanges8typeNameEv @ 3470 NONAME
+ _ZThn8_NK29QDeclarativeStateChangeScript8typeNameEv @ 3471 NONAME
+ _Zls6QDebugP16QDeclarativeItem @ 3472 NONAME
+ _Zls6QDebugRK17QDeclarativeError @ 3473 NONAME
+ _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3474 NONAME
+ _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3475 NONAME
+ _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3476 NONAME
+ _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3477 NONAME
+ _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3478 NONAME
+ _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 3479 NONAME
+ _ZN19QDeclarativeBinding11qt_metacastEPKc @ 3480 NONAME
+ _ZN19QDeclarativeBinding13propertyIndexEv @ 3481 NONAME
+ _ZN19QDeclarativeBinding16staticMetaObjectE @ 3482 NONAME DATA 16
+ _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 3483 NONAME
+ _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3484 NONAME
+ _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 3485 NONAME
+ _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP19QDeclarativeContextRK7QStringiS4_ @ 3486 NONAME
+ _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 3487 NONAME
+ _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP19QDeclarativeContextRK7QStringiS4_ @ 3488 NONAME
+ _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 3489 NONAME
+ _ZN19QDeclarativeBindingD0Ev @ 3490 NONAME
+ _ZN19QDeclarativeBindingD1Ev @ 3491 NONAME
+ _ZN19QDeclarativeBindingD2Ev @ 3492 NONAME
+ _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3493 NONAME
+ _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 3494 NONAME
+ _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 3495 NONAME
+ _ZN27QDeclarativeAbstractBinding5clearEv @ 3496 NONAME
+ _ZN27QDeclarativeAbstractBinding7destroyEv @ 3497 NONAME
+ _ZN27QDeclarativeAbstractBindingC2Ev @ 3498 NONAME
+ _ZN27QDeclarativeAbstractBindingD0Ev @ 3499 NONAME
+ _ZN27QDeclarativeAbstractBindingD1Ev @ 3500 NONAME
+ _ZN27QDeclarativeAbstractBindingD2Ev @ 3501 NONAME
+ _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 3502 NONAME
+ _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectRKN25QDeclarativePropertyCache4DataEP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 3503 NONAME
+ _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 3504 NONAME
+ _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 3505 NONAME
+ _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 3506 NONAME
+ _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 3507 NONAME
+ _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 3508 NONAME
+ _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 3509 NONAME
+ _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 3510 NONAME
+ _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 3511 NONAME
+ _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 3512 NONAME
+ _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 3513 NONAME
+ _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 3514 NONAME
+ _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 3515 NONAME
+ _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 3516 NONAME
+ _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP19QDeclarativeContext6QFlagsINS_9WriteFlagEE @ 3517 NONAME
+ _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 3518 NONAME
+ _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 3519 NONAME
+ _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP19QDeclarativeContext @ 3520 NONAME
+ _ZNK19QDeclarativeBinding10expressionEv @ 3521 NONAME
+ _ZNK19QDeclarativeBinding10metaObjectEv @ 3522 NONAME
+ _ZNK19QDeclarativeBinding7enabledEv @ 3523 NONAME
+ _ZNK19QDeclarativeBinding8propertyEv @ 3524 NONAME
+ _ZNK27QDeclarativeAbstractBinding10expressionEv @ 3525 NONAME
+ _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 3526 NONAME
+ _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 3527 NONAME
+ _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 3528 NONAME
+ _ZTI19QDeclarativeBinding @ 3529 NONAME
+ _ZTI27QDeclarativeAbstractBinding @ 3530 NONAME
+ _ZTV19QDeclarativeBinding @ 3531 NONAME
+ _ZTV27QDeclarativeAbstractBinding @ 3532 NONAME
+ _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3533 NONAME
+ _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 3534 NONAME
+ _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3535 NONAME
+ _ZThn8_N19QDeclarativeBindingD0Ev @ 3536 NONAME
+ _ZThn8_N19QDeclarativeBindingD1Ev @ 3537 NONAME
+ _ZThn8_NK19QDeclarativeBinding10expressionEv @ 3538 NONAME
+
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index 5cf700b3c3..b82fe4cd2a 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -1,7 +1,7 @@
EXPORTS
_Z11qFadeEffectP7QWidgeti @ 1 NONAME
_Z11qt_image_idRK6QImage @ 2 NONAME
- _Z12qDrawPixmapsP8QPainterPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS1_11DrawingHintEE @ 3 NONAME
+ _Z12qDrawPixmapsP8QPainterPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS1_11DrawingHintEE @ 3 NONAME ABSENT
_Z12qt_pixmap_idRK7QPixmap @ 4 NONAME
_Z13qDrawWinPanelP8QPainterRK5QRectRK8QPalettebPK6QBrush @ 5 NONAME
_Z13qDrawWinPanelP8QPainteriiiiRK8QPalettebPK6QBrush @ 6 NONAME
@@ -2906,7 +2906,7 @@ EXPORTS
_ZN14QPaintEngineEx10drawPointsEPK7QPointFi @ 2905 NONAME
_ZN14QPaintEngineEx11drawEllipseERK5QRect @ 2906 NONAME
_ZN14QPaintEngineEx11drawEllipseERK6QRectF @ 2907 NONAME
- _ZN14QPaintEngineEx11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 2908 NONAME
+ _ZN14QPaintEngineEx11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 2908 NONAME ABSENT
_ZN14QPaintEngineEx11drawPolygonEPK6QPointiN12QPaintEngine15PolygonDrawModeE @ 2909 NONAME
_ZN14QPaintEngineEx11drawPolygonEPK7QPointFiN12QPaintEngine15PolygonDrawModeE @ 2910 NONAME
_ZN14QPaintEngineEx11updateStateERK17QPaintEngineState @ 2911 NONAME
@@ -4223,7 +4223,7 @@ EXPORTS
_ZN18QTextBlockUserDataD0Ev @ 4222 NONAME
_ZN18QTextBlockUserDataD1Ev @ 4223 NONAME
_ZN18QTextBlockUserDataD2Ev @ 4224 NONAME
- _ZN18QTextureGlyphCache8populateERK12QTextItemIntRK15QVarLengthArrayIjLi256EERKS3_I11QFixedPointLi256EE @ 4225 NONAME
+ _ZN18QTextureGlyphCache8populateERK12QTextItemIntRK15QVarLengthArrayIjLi256EERKS3_I11QFixedPointLi256EE @ 4225 NONAME ABSENT
_ZN19QAbstractProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4226 NONAME
_ZN19QAbstractProxyModel11qt_metacastEPKc @ 4227 NONAME
_ZN19QAbstractProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4228 NONAME
@@ -11805,4 +11805,125 @@ EXPORTS
_ZN24QImagePixmapCleanupHooks34executePixmapDataModificationHooksEP11QPixmapData @ 11804 NONAME
_ZN9QS60Style10timerEventEP11QTimerEvent @ 11805 NONAME
_ZN9QS60Style11eventFilterEP7QObjectP6QEvent @ 11806 NONAME
+ _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11807 NONAME
+ _ZN10QZipReader5closeEv @ 11808 NONAME
+ _ZN10QZipReader8FileInfoC1ERKS0_ @ 11809 NONAME
+ _ZN10QZipReader8FileInfoC1Ev @ 11810 NONAME
+ _ZN10QZipReader8FileInfoC2ERKS0_ @ 11811 NONAME
+ _ZN10QZipReader8FileInfoC2Ev @ 11812 NONAME
+ _ZN10QZipReader8FileInfoD1Ev @ 11813 NONAME
+ _ZN10QZipReader8FileInfoD2Ev @ 11814 NONAME
+ _ZN10QZipReader8FileInfoaSERKS0_ @ 11815 NONAME
+ _ZN10QZipReaderC1EP9QIODevice @ 11816 NONAME
+ _ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11817 NONAME
+ _ZN10QZipReaderC2EP9QIODevice @ 11818 NONAME
+ _ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11819 NONAME
+ _ZN10QZipReaderD1Ev @ 11820 NONAME
+ _ZN10QZipReaderD2Ev @ 11821 NONAME
+ _ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11822 NONAME
+ _ZN11QStaticText14setMaximumSizeERK6QSizeF @ 11823 NONAME
+ _ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11824 NONAME
+ _ZN11QStaticText6detachEv @ 11825 NONAME
+ _ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11826 NONAME
+ _ZN11QStaticText7setTextERK7QString @ 11827 NONAME
+ _ZN11QStaticTextC1ERK7QStringRK6QSizeF @ 11828 NONAME
+ _ZN11QStaticTextC1ERKS_ @ 11829 NONAME
+ _ZN11QStaticTextC1Ev @ 11830 NONAME
+ _ZN11QStaticTextC2ERK7QStringRK6QSizeF @ 11831 NONAME
+ _ZN11QStaticTextC2ERKS_ @ 11832 NONAME
+ _ZN11QStaticTextC2Ev @ 11833 NONAME
+ _ZN11QStaticTextD1Ev @ 11834 NONAME
+ _ZN11QStaticTextD2Ev @ 11835 NONAME
+ _ZN11QStaticTextaSERKS_ @ 11836 NONAME
+ _ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11837 NONAME
+ _ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11838 NONAME
+ _ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11839 NONAME
+ _ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11840 NONAME
+ _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter8FragmentEiRK7QPixmap6QFlagsINS0_12FragmentHintEE @ 11841 NONAME
+ _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11842 NONAME
+ _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11843 NONAME
+ _ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11844 NONAME
+ _ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11845 NONAME
+ _ZN16QFileSystemModel15directoryLoadedERK7QString @ 11846 NONAME
+ _ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11847 NONAME
+ _ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11848 NONAME
+ _ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11849 NONAME
+ _ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11850 NONAME
+ _ZN20QGraphicsViewPrivate12updateRegionERK7QRegion @ 11851 NONAME
+ _ZN20QGraphicsViewPrivate12updateScrollEv @ 11852 NONAME
+ _ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11853 NONAME
+ _ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11854 NONAME
+ _ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11855 NONAME
+ _ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11856 NONAME
+ _ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11857 NONAME
+ _ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11858 NONAME
+ _ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11859 NONAME
+ _ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11860 NONAME
+ _ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11861 NONAME
+ _ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11862 NONAME
+ _ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11863 NONAME
+ _ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11864 NONAME
+ _ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11865 NONAME
+ _ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11866 NONAME
+ _ZN20QGraphicsViewPrivateC1Ev @ 11867 NONAME
+ _ZN20QGraphicsViewPrivateC2Ev @ 11868 NONAME
+ _ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11869 NONAME
+ _ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11870 NONAME
+ _ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11871 NONAME
+ _ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11872 NONAME
+ _ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11873 NONAME
+ _ZN26QAbstractScrollAreaPrivate4initEv @ 11874 NONAME
+ _ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11875 NONAME
+ _ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11876 NONAME
+ _ZN26QAbstractScrollAreaPrivateC1Ev @ 11877 NONAME
+ _ZN26QAbstractScrollAreaPrivateC2Ev @ 11878 NONAME
+ _ZN6QColor12isValidColorERK7QString @ 11879 NONAME
+ _ZN6QColor18setColorFromStringERK7QString @ 11880 NONAME
+ _ZN6QLabel12setSelectionEii @ 11881 NONAME
+ _ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11882 NONAME
+ _ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11883 NONAME
+ _ZN8QPainter19drawPixmapFragmentsEPKNS_8FragmentEiRK7QPixmap6QFlagsINS_12FragmentHintEE @ 11884 NONAME
+ _ZN8QPainter8Fragment6createERK7QPointFRK6QRectFffff @ 11885 NONAME
+ _ZN8QToolBar17visibilityChangedEb @ 11886 NONAME
+ _ZNK10QZipReader10extractAllERK7QString @ 11887 NONAME
+ _ZNK10QZipReader10isReadableEv @ 11888 NONAME
+ _ZNK10QZipReader11entryInfoAtEi @ 11889 NONAME
+ _ZNK10QZipReader12fileInfoListEv @ 11890 NONAME
+ _ZNK10QZipReader5countEv @ 11891 NONAME
+ _ZNK10QZipReader6existsEv @ 11892 NONAME
+ _ZNK10QZipReader6statusEv @ 11893 NONAME
+ _ZNK10QZipReader8fileDataERK7QString @ 11894 NONAME
+ _ZNK11QStaticText10textFormatEv @ 11895 NONAME
+ _ZNK11QStaticText11maximumSizeEv @ 11896 NONAME
+ _ZNK11QStaticText15performanceHintEv @ 11897 NONAME
+ _ZNK11QStaticText4sizeEv @ 11898 NONAME
+ _ZNK11QStaticText4textEv @ 11899 NONAME
+ _ZNK11QStaticTexteqERKS_ @ 11900 NONAME
+ _ZNK11QStaticTextneERKS_ @ 11901 NONAME
+ _ZNK11QTextCursor15positionInBlockEv @ 11902 NONAME
+ _ZNK13QIntValidator5fixupER7QString @ 11903 NONAME
+ _ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 11904 NONAME
+ _ZNK15QGraphicsWidget18autoFillBackgroundEv @ 11905 NONAME
+ _ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 11906 NONAME
+ _ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 11907 NONAME
+ _ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 11908 NONAME
+ _ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 11909 NONAME
+ _ZNK20QGraphicsViewPrivate14verticalScrollEv @ 11910 NONAME
+ _ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 11911 NONAME
+ _ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 11912 NONAME
+ _ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 11913 NONAME
+ _ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 11914 NONAME
+ _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 11915 NONAME
+ _ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 11916 NONAME
+ _ZNK6QImage13constScanLineEi @ 11917 NONAME
+ _ZNK6QImage9constBitsEv @ 11918 NONAME
+ _ZNK6QLabel12selectedTextEv @ 11919 NONAME
+ _ZNK6QLabel14selectionStartEv @ 11920 NONAME
+ _ZNK6QLabel15hasSelectedTextEv @ 11921 NONAME
+ _ZNK7QBezier11getSubRangeEff @ 11922 NONAME
+ _ZNK7QBezier5mapByERK10QTransform @ 11923 NONAME
+ _ZTI20QGraphicsViewPrivate @ 11924 NONAME
+ _ZTI26QAbstractScrollAreaPrivate @ 11925 NONAME
+ _ZTV20QGraphicsViewPrivate @ 11926 NONAME
+ _ZTV26QAbstractScrollAreaPrivate @ 11927 NONAME
diff --git a/src/s60installs/eabi/QtMultimediau.def b/src/s60installs/eabi/QtMultimediau.def
index b5fda9ac19..fbc5f7b1fd 100644
--- a/src/s60installs/eabi/QtMultimediau.def
+++ b/src/s60installs/eabi/QtMultimediau.def
@@ -295,4 +295,655 @@ EXPORTS
_ZNK21QAbstractVideoSurface13nearestFormatERK19QVideoSurfaceFormat @ 294 NONAME
_ZNK21QAbstractVideoSurface17isFormatSupportedERK19QVideoSurfaceFormat @ 295 NONAME
_ZNK21QAbstractVideoSurface8isActiveEv @ 296 NONAME
+ _ZN12QAudioFormat13setSampleRateEi @ 297 NONAME
+ _ZN12QAudioFormat15setChannelCountEi @ 298 NONAME
+ _ZN12QMediaObject11qt_metacallEN11QMetaObject4CallEiPPv @ 299 NONAME
+ _ZN12QMediaObject11qt_metacastEPKc @ 300 NONAME
+ _ZN12QMediaObject11setMetaDataEN12QtMultimedia8MetaDataERK8QVariant @ 301 NONAME
+ _ZN12QMediaObject13setupMetaDataEv @ 302 NONAME
+ _ZN12QMediaObject15metaDataChangedEv @ 303 NONAME
+ _ZN12QMediaObject16addPropertyWatchERK10QByteArray @ 304 NONAME
+ _ZN12QMediaObject16staticMetaObjectE @ 305 NONAME DATA 16
+ _ZN12QMediaObject17setNotifyIntervalEi @ 306 NONAME
+ _ZN12QMediaObject19availabilityChangedEb @ 307 NONAME
+ _ZN12QMediaObject19getStaticMetaObjectEv @ 308 NONAME
+ _ZN12QMediaObject19removePropertyWatchERK10QByteArray @ 309 NONAME
+ _ZN12QMediaObject19setExtendedMetaDataERK7QStringRK8QVariant @ 310 NONAME
+ _ZN12QMediaObject21notifyIntervalChangedEi @ 311 NONAME
+ _ZN12QMediaObject23metaDataWritableChangedEb @ 312 NONAME
+ _ZN12QMediaObject24metaDataAvailableChangedEb @ 313 NONAME
+ _ZN12QMediaObject4bindEP7QObject @ 314 NONAME
+ _ZN12QMediaObject6unbindEP7QObject @ 315 NONAME
+ _ZN12QMediaObjectC1EP7QObjectP13QMediaService @ 316 NONAME
+ _ZN12QMediaObjectC1ER19QMediaObjectPrivateP7QObjectP13QMediaService @ 317 NONAME
+ _ZN12QMediaObjectC2EP7QObjectP13QMediaService @ 318 NONAME
+ _ZN12QMediaObjectC2ER19QMediaObjectPrivateP7QObjectP13QMediaService @ 319 NONAME
+ _ZN12QMediaObjectD0Ev @ 320 NONAME
+ _ZN12QMediaObjectD1Ev @ 321 NONAME
+ _ZN12QMediaObjectD2Ev @ 322 NONAME
+ _ZN12QMediaPlayer10hasSupportERK7QStringRK11QStringList6QFlagsINS_4FlagEE @ 323 NONAME
+ _ZN12QMediaPlayer11qt_metacallEN11QMetaObject4CallEiPPv @ 324 NONAME
+ _ZN12QMediaPlayer11qt_metacastEPKc @ 325 NONAME
+ _ZN12QMediaPlayer11setPositionEx @ 326 NONAME
+ _ZN12QMediaPlayer12mediaChangedERK13QMediaContent @ 327 NONAME
+ _ZN12QMediaPlayer12mutedChangedEb @ 328 NONAME
+ _ZN12QMediaPlayer12stateChangedENS_5StateE @ 329 NONAME
+ _ZN12QMediaPlayer13volumeChangedEi @ 330 NONAME
+ _ZN12QMediaPlayer15durationChangedEx @ 331 NONAME
+ _ZN12QMediaPlayer15positionChangedEx @ 332 NONAME
+ _ZN12QMediaPlayer15seekableChangedEb @ 333 NONAME
+ _ZN12QMediaPlayer15setPlaybackRateEf @ 334 NONAME
+ _ZN12QMediaPlayer16staticMetaObjectE @ 335 NONAME DATA 16
+ _ZN12QMediaPlayer18mediaStatusChangedENS_11MediaStatusE @ 336 NONAME
+ _ZN12QMediaPlayer18supportedMimeTypesE6QFlagsINS_4FlagEE @ 337 NONAME
+ _ZN12QMediaPlayer19bufferStatusChangedEi @ 338 NONAME
+ _ZN12QMediaPlayer19getStaticMetaObjectEv @ 339 NONAME
+ _ZN12QMediaPlayer19playbackRateChangedEf @ 340 NONAME
+ _ZN12QMediaPlayer21audioAvailableChangedEb @ 341 NONAME
+ _ZN12QMediaPlayer21videoAvailableChangedEb @ 342 NONAME
+ _ZN12QMediaPlayer4bindEP7QObject @ 343 NONAME
+ _ZN12QMediaPlayer4playEv @ 344 NONAME
+ _ZN12QMediaPlayer4stopEv @ 345 NONAME
+ _ZN12QMediaPlayer5errorENS_5ErrorE @ 346 NONAME
+ _ZN12QMediaPlayer5pauseEv @ 347 NONAME
+ _ZN12QMediaPlayer6unbindEP7QObject @ 348 NONAME
+ _ZN12QMediaPlayer8setMediaERK13QMediaContentP9QIODevice @ 349 NONAME
+ _ZN12QMediaPlayer8setMutedEb @ 350 NONAME
+ _ZN12QMediaPlayer9setVolumeEi @ 351 NONAME
+ _ZN12QMediaPlayerC1EP7QObject6QFlagsINS_4FlagEEP21QMediaServiceProvider @ 352 NONAME
+ _ZN12QMediaPlayerC2EP7QObject6QFlagsINS_4FlagEEP21QMediaServiceProvider @ 353 NONAME
+ _ZN12QMediaPlayerD0Ev @ 354 NONAME
+ _ZN12QMediaPlayerD1Ev @ 355 NONAME
+ _ZN12QMediaPlayerD2Ev @ 356 NONAME
+ _ZN12QVideoWidget10hueChangedEi @ 357 NONAME
+ _ZN12QVideoWidget10paintEventEP11QPaintEvent @ 358 NONAME
+ _ZN12QVideoWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 359 NONAME
+ _ZN12QVideoWidget11qt_metacastEPKc @ 360 NONAME
+ _ZN12QVideoWidget11resizeEventEP12QResizeEvent @ 361 NONAME
+ _ZN12QVideoWidget11setContrastEi @ 362 NONAME
+ _ZN12QVideoWidget13setBrightnessEi @ 363 NONAME
+ _ZN12QVideoWidget13setFullScreenEb @ 364 NONAME
+ _ZN12QVideoWidget13setSaturationEi @ 365 NONAME
+ _ZN12QVideoWidget14setMediaObjectEP12QMediaObject @ 366 NONAME
+ _ZN12QVideoWidget15contrastChangedEi @ 367 NONAME
+ _ZN12QVideoWidget16staticMetaObjectE @ 368 NONAME DATA 16
+ _ZN12QVideoWidget17brightnessChangedEi @ 369 NONAME
+ _ZN12QVideoWidget17fullScreenChangedEb @ 370 NONAME
+ _ZN12QVideoWidget17saturationChangedEi @ 371 NONAME
+ _ZN12QVideoWidget18setAspectRatioModeENS_15AspectRatioModeE @ 372 NONAME
+ _ZN12QVideoWidget19getStaticMetaObjectEv @ 373 NONAME
+ _ZN12QVideoWidget5eventEP6QEvent @ 374 NONAME
+ _ZN12QVideoWidget6setHueEi @ 375 NONAME
+ _ZN12QVideoWidget9hideEventEP10QHideEvent @ 376 NONAME
+ _ZN12QVideoWidget9moveEventEP10QMoveEvent @ 377 NONAME
+ _ZN12QVideoWidget9showEventEP10QShowEvent @ 378 NONAME
+ _ZN12QVideoWidgetC1EP7QWidget @ 379 NONAME
+ _ZN12QVideoWidgetC2EP7QWidget @ 380 NONAME
+ _ZN12QVideoWidgetD0Ev @ 381 NONAME
+ _ZN12QVideoWidgetD1Ev @ 382 NONAME
+ _ZN12QVideoWidgetD2Ev @ 383 NONAME
+ _ZN12QtMultimedia28qRegisterDeclarativeElementsEPKc @ 384 NONAME
+ _ZN13QMediaContentC1ERK14QMediaResource @ 385 NONAME
+ _ZN13QMediaContentC1ERK15QNetworkRequest @ 386 NONAME
+ _ZN13QMediaContentC1ERK4QUrl @ 387 NONAME
+ _ZN13QMediaContentC1ERK5QListI14QMediaResourceE @ 388 NONAME
+ _ZN13QMediaContentC1ERKS_ @ 389 NONAME
+ _ZN13QMediaContentC1Ev @ 390 NONAME
+ _ZN13QMediaContentC2ERK14QMediaResource @ 391 NONAME
+ _ZN13QMediaContentC2ERK15QNetworkRequest @ 392 NONAME
+ _ZN13QMediaContentC2ERK4QUrl @ 393 NONAME
+ _ZN13QMediaContentC2ERK5QListI14QMediaResourceE @ 394 NONAME
+ _ZN13QMediaContentC2ERKS_ @ 395 NONAME
+ _ZN13QMediaContentC2Ev @ 396 NONAME
+ _ZN13QMediaContentD1Ev @ 397 NONAME
+ _ZN13QMediaContentD2Ev @ 398 NONAME
+ _ZN13QMediaContentaSERKS_ @ 399 NONAME
+ _ZN13QMediaControl11qt_metacallEN11QMetaObject4CallEiPPv @ 400 NONAME
+ _ZN13QMediaControl11qt_metacastEPKc @ 401 NONAME
+ _ZN13QMediaControl16staticMetaObjectE @ 402 NONAME DATA 16
+ _ZN13QMediaControl19getStaticMetaObjectEv @ 403 NONAME
+ _ZN13QMediaControlC1EP7QObject @ 404 NONAME
+ _ZN13QMediaControlC1ER20QMediaControlPrivateP7QObject @ 405 NONAME
+ _ZN13QMediaControlC2EP7QObject @ 406 NONAME
+ _ZN13QMediaControlC2ER20QMediaControlPrivateP7QObject @ 407 NONAME
+ _ZN13QMediaControlD0Ev @ 408 NONAME
+ _ZN13QMediaControlD1Ev @ 409 NONAME
+ _ZN13QMediaControlD2Ev @ 410 NONAME
+ _ZN13QMediaService11qt_metacallEN11QMetaObject4CallEiPPv @ 411 NONAME
+ _ZN13QMediaService11qt_metacastEPKc @ 412 NONAME
+ _ZN13QMediaService16staticMetaObjectE @ 413 NONAME DATA 16
+ _ZN13QMediaService19getStaticMetaObjectEv @ 414 NONAME
+ _ZN13QMediaServiceC2EP7QObject @ 415 NONAME
+ _ZN13QMediaServiceC2ER20QMediaServicePrivateP7QObject @ 416 NONAME
+ _ZN13QMediaServiceD0Ev @ 417 NONAME
+ _ZN13QMediaServiceD1Ev @ 418 NONAME
+ _ZN13QMediaServiceD2Ev @ 419 NONAME
+ _ZN14QMediaPlaylist10loadFailedEv @ 420 NONAME
+ _ZN14QMediaPlaylist11insertMediaEiRK13QMediaContent @ 421 NONAME
+ _ZN14QMediaPlaylist11insertMediaEiRK5QListI13QMediaContentE @ 422 NONAME
+ _ZN14QMediaPlaylist11qt_metacallEN11QMetaObject4CallEiPPv @ 423 NONAME
+ _ZN14QMediaPlaylist11qt_metacastEPKc @ 424 NONAME
+ _ZN14QMediaPlaylist11removeMediaEi @ 425 NONAME
+ _ZN14QMediaPlaylist11removeMediaEii @ 426 NONAME
+ _ZN14QMediaPlaylist12mediaChangedEii @ 427 NONAME
+ _ZN14QMediaPlaylist12mediaRemovedEii @ 428 NONAME
+ _ZN14QMediaPlaylist13mediaInsertedEii @ 429 NONAME
+ _ZN14QMediaPlaylist14setMediaObjectEP12QMediaObject @ 430 NONAME
+ _ZN14QMediaPlaylist15setCurrentIndexEi @ 431 NONAME
+ _ZN14QMediaPlaylist15setPlaybackModeENS_12PlaybackModeE @ 432 NONAME
+ _ZN14QMediaPlaylist16staticMetaObjectE @ 433 NONAME DATA 16
+ _ZN14QMediaPlaylist19currentIndexChangedEi @ 434 NONAME
+ _ZN14QMediaPlaylist19currentMediaChangedERK13QMediaContent @ 435 NONAME
+ _ZN14QMediaPlaylist19getStaticMetaObjectEv @ 436 NONAME
+ _ZN14QMediaPlaylist19playbackModeChangedENS_12PlaybackModeE @ 437 NONAME
+ _ZN14QMediaPlaylist21mediaAboutToBeRemovedEii @ 438 NONAME
+ _ZN14QMediaPlaylist22mediaAboutToBeInsertedEii @ 439 NONAME
+ _ZN14QMediaPlaylist4loadEP9QIODevicePKc @ 440 NONAME
+ _ZN14QMediaPlaylist4loadERK4QUrlPKc @ 441 NONAME
+ _ZN14QMediaPlaylist4nextEv @ 442 NONAME
+ _ZN14QMediaPlaylist4saveEP9QIODevicePKc @ 443 NONAME
+ _ZN14QMediaPlaylist4saveERK4QUrlPKc @ 444 NONAME
+ _ZN14QMediaPlaylist5clearEv @ 445 NONAME
+ _ZN14QMediaPlaylist6loadedEv @ 446 NONAME
+ _ZN14QMediaPlaylist7shuffleEv @ 447 NONAME
+ _ZN14QMediaPlaylist8addMediaERK13QMediaContent @ 448 NONAME
+ _ZN14QMediaPlaylist8addMediaERK5QListI13QMediaContentE @ 449 NONAME
+ _ZN14QMediaPlaylist8previousEv @ 450 NONAME
+ _ZN14QMediaPlaylistC1EP7QObject @ 451 NONAME
+ _ZN14QMediaPlaylistC2EP7QObject @ 452 NONAME
+ _ZN14QMediaPlaylistD0Ev @ 453 NONAME
+ _ZN14QMediaPlaylistD1Ev @ 454 NONAME
+ _ZN14QMediaPlaylistD2Ev @ 455 NONAME
+ _ZN14QMediaResource11setDataSizeEx @ 456 NONAME
+ _ZN14QMediaResource11setLanguageERK7QString @ 457 NONAME
+ _ZN14QMediaResource13setAudioCodecERK7QString @ 458 NONAME
+ _ZN14QMediaResource13setResolutionERK5QSize @ 459 NONAME
+ _ZN14QMediaResource13setResolutionEii @ 460 NONAME
+ _ZN14QMediaResource13setSampleRateEi @ 461 NONAME
+ _ZN14QMediaResource13setVideoCodecERK7QString @ 462 NONAME
+ _ZN14QMediaResource15setAudioBitRateEi @ 463 NONAME
+ _ZN14QMediaResource15setChannelCountEi @ 464 NONAME
+ _ZN14QMediaResource15setVideoBitRateEi @ 465 NONAME
+ _ZN14QMediaResourceC1ERK15QNetworkRequestRK7QString @ 466 NONAME
+ _ZN14QMediaResourceC1ERK4QUrlRK7QString @ 467 NONAME
+ _ZN14QMediaResourceC1ERKS_ @ 468 NONAME
+ _ZN14QMediaResourceC1Ev @ 469 NONAME
+ _ZN14QMediaResourceC2ERK15QNetworkRequestRK7QString @ 470 NONAME
+ _ZN14QMediaResourceC2ERK4QUrlRK7QString @ 471 NONAME
+ _ZN14QMediaResourceC2ERKS_ @ 472 NONAME
+ _ZN14QMediaResourceC2Ev @ 473 NONAME
+ _ZN14QMediaResourceD1Ev @ 474 NONAME
+ _ZN14QMediaResourceD2Ev @ 475 NONAME
+ _ZN14QMediaResourceaSERKS_ @ 476 NONAME
+ _ZN15QMediaTimeRange11addIntervalERK18QMediaTimeInterval @ 477 NONAME
+ _ZN15QMediaTimeRange11addIntervalExx @ 478 NONAME
+ _ZN15QMediaTimeRange12addTimeRangeERKS_ @ 479 NONAME
+ _ZN15QMediaTimeRange14removeIntervalERK18QMediaTimeInterval @ 480 NONAME
+ _ZN15QMediaTimeRange14removeIntervalExx @ 481 NONAME
+ _ZN15QMediaTimeRange15removeTimeRangeERKS_ @ 482 NONAME
+ _ZN15QMediaTimeRange5clearEv @ 483 NONAME
+ _ZN15QMediaTimeRangeC1ERK18QMediaTimeInterval @ 484 NONAME
+ _ZN15QMediaTimeRangeC1ERKS_ @ 485 NONAME
+ _ZN15QMediaTimeRangeC1Ev @ 486 NONAME
+ _ZN15QMediaTimeRangeC1Exx @ 487 NONAME
+ _ZN15QMediaTimeRangeC2ERK18QMediaTimeInterval @ 488 NONAME
+ _ZN15QMediaTimeRangeC2ERKS_ @ 489 NONAME
+ _ZN15QMediaTimeRangeC2Ev @ 490 NONAME
+ _ZN15QMediaTimeRangeC2Exx @ 491 NONAME
+ _ZN15QMediaTimeRangeD1Ev @ 492 NONAME
+ _ZN15QMediaTimeRangeD2Ev @ 493 NONAME
+ _ZN15QMediaTimeRangeaSERK18QMediaTimeInterval @ 494 NONAME
+ _ZN15QMediaTimeRangeaSERKS_ @ 495 NONAME
+ _ZN15QMediaTimeRangemIERK18QMediaTimeInterval @ 496 NONAME
+ _ZN15QMediaTimeRangemIERKS_ @ 497 NONAME
+ _ZN15QMediaTimeRangepLERK18QMediaTimeInterval @ 498 NONAME
+ _ZN15QMediaTimeRangepLERKS_ @ 499 NONAME
+ _ZN16QMetaDataControl11qt_metacallEN11QMetaObject4CallEiPPv @ 500 NONAME
+ _ZN16QMetaDataControl11qt_metacastEPKc @ 501 NONAME
+ _ZN16QMetaDataControl15metaDataChangedEv @ 502 NONAME
+ _ZN16QMetaDataControl15writableChangedEb @ 503 NONAME
+ _ZN16QMetaDataControl16staticMetaObjectE @ 504 NONAME DATA 16
+ _ZN16QMetaDataControl19getStaticMetaObjectEv @ 505 NONAME
+ _ZN16QMetaDataControl24metaDataAvailableChangedEb @ 506 NONAME
+ _ZN16QMetaDataControlC2EP7QObject @ 507 NONAME
+ _ZN16QMetaDataControlD0Ev @ 508 NONAME
+ _ZN16QMetaDataControlD1Ev @ 509 NONAME
+ _ZN16QMetaDataControlD2Ev @ 510 NONAME
+ _ZN18QGraphicsVideoItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 511 NONAME
+ _ZN18QGraphicsVideoItem11qt_metacallEN11QMetaObject4CallEiPPv @ 512 NONAME
+ _ZN18QGraphicsVideoItem11qt_metacastEPKc @ 513 NONAME
+ _ZN18QGraphicsVideoItem14setMediaObjectEP12QMediaObject @ 514 NONAME
+ _ZN18QGraphicsVideoItem16staticMetaObjectE @ 515 NONAME DATA 16
+ _ZN18QGraphicsVideoItem17nativeSizeChangedERK6QSizeF @ 516 NONAME
+ _ZN18QGraphicsVideoItem18setAspectRatioModeEN2Qt15AspectRatioModeE @ 517 NONAME
+ _ZN18QGraphicsVideoItem19getStaticMetaObjectEv @ 518 NONAME
+ _ZN18QGraphicsVideoItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 519 NONAME
+ _ZN18QGraphicsVideoItem7setSizeERK6QSizeF @ 520 NONAME
+ _ZN18QGraphicsVideoItem9setOffsetERK7QPointF @ 521 NONAME
+ _ZN18QGraphicsVideoItemC1EP13QGraphicsItem @ 522 NONAME
+ _ZN18QGraphicsVideoItemC2EP13QGraphicsItem @ 523 NONAME
+ _ZN18QGraphicsVideoItemD0Ev @ 524 NONAME
+ _ZN18QGraphicsVideoItemD1Ev @ 525 NONAME
+ _ZN18QGraphicsVideoItemD2Ev @ 526 NONAME
+ _ZN18QMediaTimeIntervalC1ERKS_ @ 527 NONAME
+ _ZN18QMediaTimeIntervalC1Ev @ 528 NONAME
+ _ZN18QMediaTimeIntervalC1Exx @ 529 NONAME
+ _ZN18QMediaTimeIntervalC2ERKS_ @ 530 NONAME
+ _ZN18QMediaTimeIntervalC2Ev @ 531 NONAME
+ _ZN18QMediaTimeIntervalC2Exx @ 532 NONAME
+ _ZN19QMediaPlayerControl11qt_metacallEN11QMetaObject4CallEiPPv @ 533 NONAME
+ _ZN19QMediaPlayerControl11qt_metacastEPKc @ 534 NONAME
+ _ZN19QMediaPlayerControl12mediaChangedERK13QMediaContent @ 535 NONAME
+ _ZN19QMediaPlayerControl12mutedChangedEb @ 536 NONAME
+ _ZN19QMediaPlayerControl12stateChangedEN12QMediaPlayer5StateE @ 537 NONAME
+ _ZN19QMediaPlayerControl13volumeChangedEi @ 538 NONAME
+ _ZN19QMediaPlayerControl15durationChangedEx @ 539 NONAME
+ _ZN19QMediaPlayerControl15positionChangedEx @ 540 NONAME
+ _ZN19QMediaPlayerControl15seekableChangedEb @ 541 NONAME
+ _ZN19QMediaPlayerControl16staticMetaObjectE @ 542 NONAME DATA 16
+ _ZN19QMediaPlayerControl18mediaStatusChangedEN12QMediaPlayer11MediaStatusE @ 543 NONAME
+ _ZN19QMediaPlayerControl19bufferStatusChangedEi @ 544 NONAME
+ _ZN19QMediaPlayerControl19getStaticMetaObjectEv @ 545 NONAME
+ _ZN19QMediaPlayerControl19playbackRateChangedEf @ 546 NONAME
+ _ZN19QMediaPlayerControl21audioAvailableChangedEb @ 547 NONAME
+ _ZN19QMediaPlayerControl21videoAvailableChangedEb @ 548 NONAME
+ _ZN19QMediaPlayerControl30availablePlaybackRangesChangedERK15QMediaTimeRange @ 549 NONAME
+ _ZN19QMediaPlayerControl5errorEiRK7QString @ 550 NONAME
+ _ZN19QMediaPlayerControlC2EP7QObject @ 551 NONAME
+ _ZN19QMediaPlayerControlD0Ev @ 552 NONAME
+ _ZN19QMediaPlayerControlD1Ev @ 553 NONAME
+ _ZN19QMediaPlayerControlD2Ev @ 554 NONAME
+ _ZN19QVideoDeviceControl11qt_metacallEN11QMetaObject4CallEiPPv @ 555 NONAME
+ _ZN19QVideoDeviceControl11qt_metacastEPKc @ 556 NONAME
+ _ZN19QVideoDeviceControl14devicesChangedEv @ 557 NONAME
+ _ZN19QVideoDeviceControl16staticMetaObjectE @ 558 NONAME DATA 16
+ _ZN19QVideoDeviceControl19getStaticMetaObjectEv @ 559 NONAME
+ _ZN19QVideoDeviceControl21selectedDeviceChangedERK7QString @ 560 NONAME
+ _ZN19QVideoDeviceControl21selectedDeviceChangedEi @ 561 NONAME
+ _ZN19QVideoDeviceControlC2EP7QObject @ 562 NONAME
+ _ZN19QVideoDeviceControlD0Ev @ 563 NONAME
+ _ZN19QVideoDeviceControlD1Ev @ 564 NONAME
+ _ZN19QVideoDeviceControlD2Ev @ 565 NONAME
+ _ZN19QVideoOutputControl11qt_metacallEN11QMetaObject4CallEiPPv @ 566 NONAME
+ _ZN19QVideoOutputControl11qt_metacastEPKc @ 567 NONAME
+ _ZN19QVideoOutputControl16staticMetaObjectE @ 568 NONAME DATA 16
+ _ZN19QVideoOutputControl19getStaticMetaObjectEv @ 569 NONAME
+ _ZN19QVideoOutputControl23availableOutputsChangedERK5QListINS_6OutputEE @ 570 NONAME
+ _ZN19QVideoOutputControlC2EP7QObject @ 571 NONAME
+ _ZN19QVideoOutputControlD0Ev @ 572 NONAME
+ _ZN19QVideoOutputControlD1Ev @ 573 NONAME
+ _ZN19QVideoOutputControlD2Ev @ 574 NONAME
+ _ZN19QVideoWidgetControl10hueChangedEi @ 575 NONAME
+ _ZN19QVideoWidgetControl11qt_metacallEN11QMetaObject4CallEiPPv @ 576 NONAME
+ _ZN19QVideoWidgetControl11qt_metacastEPKc @ 577 NONAME
+ _ZN19QVideoWidgetControl15contrastChangedEi @ 578 NONAME
+ _ZN19QVideoWidgetControl16staticMetaObjectE @ 579 NONAME DATA 16
+ _ZN19QVideoWidgetControl17brightnessChangedEi @ 580 NONAME
+ _ZN19QVideoWidgetControl17fullScreenChangedEb @ 581 NONAME
+ _ZN19QVideoWidgetControl17saturationChangedEi @ 582 NONAME
+ _ZN19QVideoWidgetControl19getStaticMetaObjectEv @ 583 NONAME
+ _ZN19QVideoWidgetControlC2EP7QObject @ 584 NONAME
+ _ZN19QVideoWidgetControlD0Ev @ 585 NONAME
+ _ZN19QVideoWidgetControlD1Ev @ 586 NONAME
+ _ZN19QVideoWidgetControlD2Ev @ 587 NONAME
+ _ZN19QVideoWindowControl10hueChangedEi @ 588 NONAME
+ _ZN19QVideoWindowControl11qt_metacallEN11QMetaObject4CallEiPPv @ 589 NONAME
+ _ZN19QVideoWindowControl11qt_metacastEPKc @ 590 NONAME
+ _ZN19QVideoWindowControl15contrastChangedEi @ 591 NONAME
+ _ZN19QVideoWindowControl16staticMetaObjectE @ 592 NONAME DATA 16
+ _ZN19QVideoWindowControl17brightnessChangedEi @ 593 NONAME
+ _ZN19QVideoWindowControl17fullScreenChangedEb @ 594 NONAME
+ _ZN19QVideoWindowControl17nativeSizeChangedEv @ 595 NONAME
+ _ZN19QVideoWindowControl17saturationChangedEi @ 596 NONAME
+ _ZN19QVideoWindowControl19getStaticMetaObjectEv @ 597 NONAME
+ _ZN19QVideoWindowControlC2EP7QObject @ 598 NONAME
+ _ZN19QVideoWindowControlD0Ev @ 599 NONAME
+ _ZN19QVideoWindowControlD1Ev @ 600 NONAME
+ _ZN19QVideoWindowControlD2Ev @ 601 NONAME
+ _ZN20QMediaPlaylistReaderD0Ev @ 602 NONAME
+ _ZN20QMediaPlaylistReaderD1Ev @ 603 NONAME
+ _ZN20QMediaPlaylistReaderD2Ev @ 604 NONAME
+ _ZN20QMediaPlaylistWriterD0Ev @ 605 NONAME
+ _ZN20QMediaPlaylistWriterD1Ev @ 606 NONAME
+ _ZN20QMediaPlaylistWriterD2Ev @ 607 NONAME
+ _ZN20QPainterVideoSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 608 NONAME
+ _ZN20QPainterVideoSurface11qt_metacastEPKc @ 609 NONAME
+ _ZN20QPainterVideoSurface11setContrastEi @ 610 NONAME
+ _ZN20QPainterVideoSurface12frameChangedEv @ 611 NONAME
+ _ZN20QPainterVideoSurface13createPainterEv @ 612 NONAME
+ _ZN20QPainterVideoSurface13setBrightnessEi @ 613 NONAME
+ _ZN20QPainterVideoSurface13setSaturationEi @ 614 NONAME
+ _ZN20QPainterVideoSurface16staticMetaObjectE @ 615 NONAME DATA 16
+ _ZN20QPainterVideoSurface19getStaticMetaObjectEv @ 616 NONAME
+ _ZN20QPainterVideoSurface4stopEv @ 617 NONAME
+ _ZN20QPainterVideoSurface5paintEP8QPainterRK6QRectFS4_ @ 618 NONAME
+ _ZN20QPainterVideoSurface5startERK19QVideoSurfaceFormat @ 619 NONAME
+ _ZN20QPainterVideoSurface6setHueEi @ 620 NONAME
+ _ZN20QPainterVideoSurface7presentERK11QVideoFrame @ 621 NONAME
+ _ZN20QPainterVideoSurface8setReadyEb @ 622 NONAME
+ _ZN20QPainterVideoSurfaceC1EP7QObject @ 623 NONAME
+ _ZN20QPainterVideoSurfaceC2EP7QObject @ 624 NONAME
+ _ZN20QPainterVideoSurfaceD0Ev @ 625 NONAME
+ _ZN20QPainterVideoSurfaceD1Ev @ 626 NONAME
+ _ZN20QPainterVideoSurfaceD2Ev @ 627 NONAME
+ _ZN21QMediaPlaylistControl11qt_metacallEN11QMetaObject4CallEiPPv @ 628 NONAME
+ _ZN21QMediaPlaylistControl11qt_metacastEPKc @ 629 NONAME
+ _ZN21QMediaPlaylistControl16staticMetaObjectE @ 630 NONAME DATA 16
+ _ZN21QMediaPlaylistControl19currentIndexChangedEi @ 631 NONAME
+ _ZN21QMediaPlaylistControl19currentMediaChangedERK13QMediaContent @ 632 NONAME
+ _ZN21QMediaPlaylistControl19getStaticMetaObjectEv @ 633 NONAME
+ _ZN21QMediaPlaylistControl19playbackModeChangedEN14QMediaPlaylist12PlaybackModeE @ 634 NONAME
+ _ZN21QMediaPlaylistControl23playlistProviderChangedEv @ 635 NONAME
+ _ZN21QMediaPlaylistControlC2EP7QObject @ 636 NONAME
+ _ZN21QMediaPlaylistControlD0Ev @ 637 NONAME
+ _ZN21QMediaPlaylistControlD1Ev @ 638 NONAME
+ _ZN21QMediaPlaylistControlD2Ev @ 639 NONAME
+ _ZN21QMediaServiceProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 640 NONAME
+ _ZN21QMediaServiceProvider11qt_metacastEPKc @ 641 NONAME
+ _ZN21QMediaServiceProvider16staticMetaObjectE @ 642 NONAME DATA 16
+ _ZN21QMediaServiceProvider17deviceDescriptionERK10QByteArrayS2_ @ 643 NONAME
+ _ZN21QMediaServiceProvider19getStaticMetaObjectEv @ 644 NONAME
+ _ZN21QMediaServiceProvider22defaultServiceProviderEv @ 645 NONAME
+ _ZN21QVideoRendererControl11qt_metacallEN11QMetaObject4CallEiPPv @ 646 NONAME
+ _ZN21QVideoRendererControl11qt_metacastEPKc @ 647 NONAME
+ _ZN21QVideoRendererControl16staticMetaObjectE @ 648 NONAME DATA 16
+ _ZN21QVideoRendererControl19getStaticMetaObjectEv @ 649 NONAME
+ _ZN21QVideoRendererControlC2EP7QObject @ 650 NONAME
+ _ZN21QVideoRendererControlD0Ev @ 651 NONAME
+ _ZN21QVideoRendererControlD1Ev @ 652 NONAME
+ _ZN21QVideoRendererControlD2Ev @ 653 NONAME
+ _ZN22QMediaPlaylistIOPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 654 NONAME
+ _ZN22QMediaPlaylistIOPlugin11qt_metacastEPKc @ 655 NONAME
+ _ZN22QMediaPlaylistIOPlugin16staticMetaObjectE @ 656 NONAME DATA 16
+ _ZN22QMediaPlaylistIOPlugin19getStaticMetaObjectEv @ 657 NONAME
+ _ZN22QMediaPlaylistIOPluginC2EP7QObject @ 658 NONAME
+ _ZN22QMediaPlaylistIOPluginD0Ev @ 659 NONAME
+ _ZN22QMediaPlaylistIOPluginD1Ev @ 660 NONAME
+ _ZN22QMediaPlaylistIOPluginD2Ev @ 661 NONAME
+ _ZN22QMediaPlaylistProvider10loadFailedEN14QMediaPlaylist5ErrorERK7QString @ 662 NONAME
+ _ZN22QMediaPlaylistProvider11insertMediaEiRK13QMediaContent @ 663 NONAME
+ _ZN22QMediaPlaylistProvider11insertMediaEiRK5QListI13QMediaContentE @ 664 NONAME
+ _ZN22QMediaPlaylistProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 665 NONAME
+ _ZN22QMediaPlaylistProvider11qt_metacastEPKc @ 666 NONAME
+ _ZN22QMediaPlaylistProvider11removeMediaEi @ 667 NONAME
+ _ZN22QMediaPlaylistProvider11removeMediaEii @ 668 NONAME
+ _ZN22QMediaPlaylistProvider12mediaChangedEii @ 669 NONAME
+ _ZN22QMediaPlaylistProvider12mediaRemovedEii @ 670 NONAME
+ _ZN22QMediaPlaylistProvider13mediaInsertedEii @ 671 NONAME
+ _ZN22QMediaPlaylistProvider16staticMetaObjectE @ 672 NONAME DATA 16
+ _ZN22QMediaPlaylistProvider19getStaticMetaObjectEv @ 673 NONAME
+ _ZN22QMediaPlaylistProvider21mediaAboutToBeRemovedEii @ 674 NONAME
+ _ZN22QMediaPlaylistProvider22mediaAboutToBeInsertedEii @ 675 NONAME
+ _ZN22QMediaPlaylistProvider4loadEP9QIODevicePKc @ 676 NONAME
+ _ZN22QMediaPlaylistProvider4loadERK4QUrlPKc @ 677 NONAME
+ _ZN22QMediaPlaylistProvider4saveEP9QIODevicePKc @ 678 NONAME
+ _ZN22QMediaPlaylistProvider4saveERK4QUrlPKc @ 679 NONAME
+ _ZN22QMediaPlaylistProvider5clearEv @ 680 NONAME
+ _ZN22QMediaPlaylistProvider6loadedEv @ 681 NONAME
+ _ZN22QMediaPlaylistProvider7shuffleEv @ 682 NONAME
+ _ZN22QMediaPlaylistProvider8addMediaERK13QMediaContent @ 683 NONAME
+ _ZN22QMediaPlaylistProvider8addMediaERK5QListI13QMediaContentE @ 684 NONAME
+ _ZN22QMediaPlaylistProviderC2EP7QObject @ 685 NONAME
+ _ZN22QMediaPlaylistProviderC2ER29QMediaPlaylistProviderPrivateP7QObject @ 686 NONAME
+ _ZN22QMediaPlaylistProviderD0Ev @ 687 NONAME
+ _ZN22QMediaPlaylistProviderD1Ev @ 688 NONAME
+ _ZN22QMediaPlaylistProviderD2Ev @ 689 NONAME
+ _ZN23QMediaPlaylistNavigator11qt_metacallEN11QMetaObject4CallEiPPv @ 690 NONAME
+ _ZN23QMediaPlaylistNavigator11qt_metacastEPKc @ 691 NONAME
+ _ZN23QMediaPlaylistNavigator11setPlaylistEP22QMediaPlaylistProvider @ 692 NONAME
+ _ZN23QMediaPlaylistNavigator15setPlaybackModeEN14QMediaPlaylist12PlaybackModeE @ 693 NONAME
+ _ZN23QMediaPlaylistNavigator16staticMetaObjectE @ 694 NONAME DATA 16
+ _ZN23QMediaPlaylistNavigator19currentIndexChangedEi @ 695 NONAME
+ _ZN23QMediaPlaylistNavigator19getStaticMetaObjectEv @ 696 NONAME
+ _ZN23QMediaPlaylistNavigator19playbackModeChangedEN14QMediaPlaylist12PlaybackModeE @ 697 NONAME
+ _ZN23QMediaPlaylistNavigator23surroundingItemsChangedEv @ 698 NONAME
+ _ZN23QMediaPlaylistNavigator4jumpEi @ 699 NONAME
+ _ZN23QMediaPlaylistNavigator4nextEv @ 700 NONAME
+ _ZN23QMediaPlaylistNavigator8previousEv @ 701 NONAME
+ _ZN23QMediaPlaylistNavigator9activatedERK13QMediaContent @ 702 NONAME
+ _ZN23QMediaPlaylistNavigatorC1EP22QMediaPlaylistProviderP7QObject @ 703 NONAME
+ _ZN23QMediaPlaylistNavigatorC2EP22QMediaPlaylistProviderP7QObject @ 704 NONAME
+ _ZN23QMediaPlaylistNavigatorD0Ev @ 705 NONAME
+ _ZN23QMediaPlaylistNavigatorD1Ev @ 706 NONAME
+ _ZN23QMediaPlaylistNavigatorD2Ev @ 707 NONAME
+ _ZN25QMediaServiceProviderHintC1E6QFlagsINS_7FeatureEE @ 708 NONAME
+ _ZN25QMediaServiceProviderHintC1ERK10QByteArray @ 709 NONAME
+ _ZN25QMediaServiceProviderHintC1ERK7QStringRK11QStringList @ 710 NONAME
+ _ZN25QMediaServiceProviderHintC1ERKS_ @ 711 NONAME
+ _ZN25QMediaServiceProviderHintC1Ev @ 712 NONAME
+ _ZN25QMediaServiceProviderHintC2E6QFlagsINS_7FeatureEE @ 713 NONAME
+ _ZN25QMediaServiceProviderHintC2ERK10QByteArray @ 714 NONAME
+ _ZN25QMediaServiceProviderHintC2ERK7QStringRK11QStringList @ 715 NONAME
+ _ZN25QMediaServiceProviderHintC2ERKS_ @ 716 NONAME
+ _ZN25QMediaServiceProviderHintC2Ev @ 717 NONAME
+ _ZN25QMediaServiceProviderHintD1Ev @ 718 NONAME
+ _ZN25QMediaServiceProviderHintD2Ev @ 719 NONAME
+ _ZN25QMediaServiceProviderHintaSERKS_ @ 720 NONAME
+ _ZN27QLocalMediaPlaylistProvider11insertMediaEiRK13QMediaContent @ 721 NONAME
+ _ZN27QLocalMediaPlaylistProvider11insertMediaEiRK5QListI13QMediaContentE @ 722 NONAME
+ _ZN27QLocalMediaPlaylistProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 723 NONAME
+ _ZN27QLocalMediaPlaylistProvider11qt_metacastEPKc @ 724 NONAME
+ _ZN27QLocalMediaPlaylistProvider11removeMediaEi @ 725 NONAME
+ _ZN27QLocalMediaPlaylistProvider11removeMediaEii @ 726 NONAME
+ _ZN27QLocalMediaPlaylistProvider16staticMetaObjectE @ 727 NONAME DATA 16
+ _ZN27QLocalMediaPlaylistProvider19getStaticMetaObjectEv @ 728 NONAME
+ _ZN27QLocalMediaPlaylistProvider5clearEv @ 729 NONAME
+ _ZN27QLocalMediaPlaylistProvider7shuffleEv @ 730 NONAME
+ _ZN27QLocalMediaPlaylistProvider8addMediaERK13QMediaContent @ 731 NONAME
+ _ZN27QLocalMediaPlaylistProvider8addMediaERK5QListI13QMediaContentE @ 732 NONAME
+ _ZN27QLocalMediaPlaylistProviderC1EP7QObject @ 733 NONAME
+ _ZN27QLocalMediaPlaylistProviderC2EP7QObject @ 734 NONAME
+ _ZN27QLocalMediaPlaylistProviderD0Ev @ 735 NONAME
+ _ZN27QLocalMediaPlaylistProviderD1Ev @ 736 NONAME
+ _ZN27QLocalMediaPlaylistProviderD2Ev @ 737 NONAME
+ _ZN27QMediaServiceProviderPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 738 NONAME
+ _ZN27QMediaServiceProviderPlugin11qt_metacastEPKc @ 739 NONAME
+ _ZN27QMediaServiceProviderPlugin16staticMetaObjectE @ 740 NONAME DATA 16
+ _ZN27QMediaServiceProviderPlugin19getStaticMetaObjectEv @ 741 NONAME
+ _ZNK12QAudioFormat10sampleRateEv @ 742 NONAME
+ _ZNK12QAudioFormat12channelCountEv @ 743 NONAME
+ _ZNK12QMediaObject10metaObjectEv @ 744 NONAME
+ _ZNK12QMediaObject11isAvailableEv @ 745 NONAME
+ _ZNK12QMediaObject14notifyIntervalEv @ 746 NONAME
+ _ZNK12QMediaObject16extendedMetaDataERK7QString @ 747 NONAME
+ _ZNK12QMediaObject17availabilityErrorEv @ 748 NONAME
+ _ZNK12QMediaObject17availableMetaDataEv @ 749 NONAME
+ _ZNK12QMediaObject18isMetaDataWritableEv @ 750 NONAME
+ _ZNK12QMediaObject19isMetaDataAvailableEv @ 751 NONAME
+ _ZNK12QMediaObject25availableExtendedMetaDataEv @ 752 NONAME
+ _ZNK12QMediaObject7serviceEv @ 753 NONAME
+ _ZNK12QMediaObject8metaDataEN12QtMultimedia8MetaDataE @ 754 NONAME
+ _ZNK12QMediaPlayer10isSeekableEv @ 755 NONAME
+ _ZNK12QMediaPlayer10metaObjectEv @ 756 NONAME
+ _ZNK12QMediaPlayer11errorStringEv @ 757 NONAME
+ _ZNK12QMediaPlayer11mediaStatusEv @ 758 NONAME
+ _ZNK12QMediaPlayer11mediaStreamEv @ 759 NONAME
+ _ZNK12QMediaPlayer12bufferStatusEv @ 760 NONAME
+ _ZNK12QMediaPlayer12playbackRateEv @ 761 NONAME
+ _ZNK12QMediaPlayer16isAudioAvailableEv @ 762 NONAME
+ _ZNK12QMediaPlayer16isVideoAvailableEv @ 763 NONAME
+ _ZNK12QMediaPlayer5errorEv @ 764 NONAME
+ _ZNK12QMediaPlayer5mediaEv @ 765 NONAME
+ _ZNK12QMediaPlayer5stateEv @ 766 NONAME
+ _ZNK12QMediaPlayer6volumeEv @ 767 NONAME
+ _ZNK12QMediaPlayer7isMutedEv @ 768 NONAME
+ _ZNK12QMediaPlayer8durationEv @ 769 NONAME
+ _ZNK12QMediaPlayer8positionEv @ 770 NONAME
+ _ZNK12QVideoWidget10brightnessEv @ 771 NONAME
+ _ZNK12QVideoWidget10metaObjectEv @ 772 NONAME
+ _ZNK12QVideoWidget10saturationEv @ 773 NONAME
+ _ZNK12QVideoWidget11mediaObjectEv @ 774 NONAME
+ _ZNK12QVideoWidget15aspectRatioModeEv @ 775 NONAME
+ _ZNK12QVideoWidget3hueEv @ 776 NONAME
+ _ZNK12QVideoWidget8contrastEv @ 777 NONAME
+ _ZNK12QVideoWidget8sizeHintEv @ 778 NONAME
+ _ZNK13QMediaContent12canonicalUrlEv @ 779 NONAME
+ _ZNK13QMediaContent16canonicalRequestEv @ 780 NONAME
+ _ZNK13QMediaContent17canonicalResourceEv @ 781 NONAME
+ _ZNK13QMediaContent6isNullEv @ 782 NONAME
+ _ZNK13QMediaContent9resourcesEv @ 783 NONAME
+ _ZNK13QMediaContenteqERKS_ @ 784 NONAME
+ _ZNK13QMediaContentneERKS_ @ 785 NONAME
+ _ZNK13QMediaControl10metaObjectEv @ 786 NONAME
+ _ZNK13QMediaService10metaObjectEv @ 787 NONAME
+ _ZNK14QMediaPlaylist10isReadOnlyEv @ 788 NONAME
+ _ZNK14QMediaPlaylist10mediaCountEv @ 789 NONAME
+ _ZNK14QMediaPlaylist10metaObjectEv @ 790 NONAME
+ _ZNK14QMediaPlaylist11errorStringEv @ 791 NONAME
+ _ZNK14QMediaPlaylist11mediaObjectEv @ 792 NONAME
+ _ZNK14QMediaPlaylist12currentIndexEv @ 793 NONAME
+ _ZNK14QMediaPlaylist12currentMediaEv @ 794 NONAME
+ _ZNK14QMediaPlaylist12playbackModeEv @ 795 NONAME
+ _ZNK14QMediaPlaylist13previousIndexEi @ 796 NONAME
+ _ZNK14QMediaPlaylist5errorEv @ 797 NONAME
+ _ZNK14QMediaPlaylist5mediaEi @ 798 NONAME
+ _ZNK14QMediaPlaylist7isEmptyEv @ 799 NONAME
+ _ZNK14QMediaPlaylist9nextIndexEi @ 800 NONAME
+ _ZNK14QMediaResource10audioCodecEv @ 801 NONAME
+ _ZNK14QMediaResource10resolutionEv @ 802 NONAME
+ _ZNK14QMediaResource10sampleRateEv @ 803 NONAME
+ _ZNK14QMediaResource10videoCodecEv @ 804 NONAME
+ _ZNK14QMediaResource12audioBitRateEv @ 805 NONAME
+ _ZNK14QMediaResource12channelCountEv @ 806 NONAME
+ _ZNK14QMediaResource12videoBitRateEv @ 807 NONAME
+ _ZNK14QMediaResource3urlEv @ 808 NONAME
+ _ZNK14QMediaResource6isNullEv @ 809 NONAME
+ _ZNK14QMediaResource7requestEv @ 810 NONAME
+ _ZNK14QMediaResource8dataSizeEv @ 811 NONAME
+ _ZNK14QMediaResource8languageEv @ 812 NONAME
+ _ZNK14QMediaResource8mimeTypeEv @ 813 NONAME
+ _ZNK14QMediaResourceeqERKS_ @ 814 NONAME
+ _ZNK14QMediaResourceneERKS_ @ 815 NONAME
+ _ZNK15QMediaTimeRange10latestTimeEv @ 816 NONAME
+ _ZNK15QMediaTimeRange12earliestTimeEv @ 817 NONAME
+ _ZNK15QMediaTimeRange12isContinuousEv @ 818 NONAME
+ _ZNK15QMediaTimeRange7isEmptyEv @ 819 NONAME
+ _ZNK15QMediaTimeRange8containsEx @ 820 NONAME
+ _ZNK15QMediaTimeRange9intervalsEv @ 821 NONAME
+ _ZNK16QAudioDeviceInfo20supportedSampleRatesEv @ 822 NONAME
+ _ZNK16QAudioDeviceInfo22supportedChannelCountsEv @ 823 NONAME
+ _ZNK16QMetaDataControl10metaObjectEv @ 824 NONAME
+ _ZNK18QGraphicsVideoItem10metaObjectEv @ 825 NONAME
+ _ZNK18QGraphicsVideoItem10nativeSizeEv @ 826 NONAME
+ _ZNK18QGraphicsVideoItem11mediaObjectEv @ 827 NONAME
+ _ZNK18QGraphicsVideoItem12boundingRectEv @ 828 NONAME
+ _ZNK18QGraphicsVideoItem15aspectRatioModeEv @ 829 NONAME
+ _ZNK18QGraphicsVideoItem4sizeEv @ 830 NONAME
+ _ZNK18QGraphicsVideoItem6offsetEv @ 831 NONAME
+ _ZNK18QMediaTimeInterval10normalizedEv @ 832 NONAME
+ _ZNK18QMediaTimeInterval10translatedEx @ 833 NONAME
+ _ZNK18QMediaTimeInterval3endEv @ 834 NONAME
+ _ZNK18QMediaTimeInterval5startEv @ 835 NONAME
+ _ZNK18QMediaTimeInterval8containsEx @ 836 NONAME
+ _ZNK18QMediaTimeInterval8isNormalEv @ 837 NONAME
+ _ZNK19QMediaPlayerControl10metaObjectEv @ 838 NONAME
+ _ZNK19QVideoDeviceControl10metaObjectEv @ 839 NONAME
+ _ZNK19QVideoOutputControl10metaObjectEv @ 840 NONAME
+ _ZNK19QVideoWidgetControl10metaObjectEv @ 841 NONAME
+ _ZNK19QVideoWindowControl10metaObjectEv @ 842 NONAME
+ _ZNK20QPainterVideoSurface10brightnessEv @ 843 NONAME
+ _ZNK20QPainterVideoSurface10metaObjectEv @ 844 NONAME
+ _ZNK20QPainterVideoSurface10saturationEv @ 845 NONAME
+ _ZNK20QPainterVideoSurface17isFormatSupportedERK19QVideoSurfaceFormatPS0_ @ 846 NONAME
+ _ZNK20QPainterVideoSurface21supportedPixelFormatsEN20QAbstractVideoBuffer10HandleTypeE @ 847 NONAME
+ _ZNK20QPainterVideoSurface3hueEv @ 848 NONAME
+ _ZNK20QPainterVideoSurface7isReadyEv @ 849 NONAME
+ _ZNK20QPainterVideoSurface8contrastEv @ 850 NONAME
+ _ZNK21QMediaPlaylistControl10metaObjectEv @ 851 NONAME
+ _ZNK21QMediaServiceProvider10hasSupportERK10QByteArrayRK7QStringRK11QStringListi @ 852 NONAME
+ _ZNK21QMediaServiceProvider10metaObjectEv @ 853 NONAME
+ _ZNK21QMediaServiceProvider18supportedMimeTypesERK10QByteArrayi @ 854 NONAME
+ _ZNK21QMediaServiceProvider7devicesERK10QByteArray @ 855 NONAME
+ _ZNK21QVideoRendererControl10metaObjectEv @ 856 NONAME
+ _ZNK22QMediaPlaylistIOPlugin10metaObjectEv @ 857 NONAME
+ _ZNK22QMediaPlaylistProvider10isReadOnlyEv @ 858 NONAME
+ _ZNK22QMediaPlaylistProvider10metaObjectEv @ 859 NONAME
+ _ZNK23QMediaPlaylistNavigator10metaObjectEv @ 860 NONAME
+ _ZNK23QMediaPlaylistNavigator11currentItemEv @ 861 NONAME
+ _ZNK23QMediaPlaylistNavigator12currentIndexEv @ 862 NONAME
+ _ZNK23QMediaPlaylistNavigator12playbackModeEv @ 863 NONAME
+ _ZNK23QMediaPlaylistNavigator12previousItemEi @ 864 NONAME
+ _ZNK23QMediaPlaylistNavigator13previousIndexEi @ 865 NONAME
+ _ZNK23QMediaPlaylistNavigator6itemAtEi @ 866 NONAME
+ _ZNK23QMediaPlaylistNavigator8nextItemEi @ 867 NONAME
+ _ZNK23QMediaPlaylistNavigator8playlistEv @ 868 NONAME
+ _ZNK23QMediaPlaylistNavigator9nextIndexEi @ 869 NONAME
+ _ZNK25QMediaServiceProviderHint4typeEv @ 870 NONAME
+ _ZNK25QMediaServiceProviderHint6codecsEv @ 871 NONAME
+ _ZNK25QMediaServiceProviderHint6deviceEv @ 872 NONAME
+ _ZNK25QMediaServiceProviderHint6isNullEv @ 873 NONAME
+ _ZNK25QMediaServiceProviderHint8featuresEv @ 874 NONAME
+ _ZNK25QMediaServiceProviderHint8mimeTypeEv @ 875 NONAME
+ _ZNK25QMediaServiceProviderHinteqERKS_ @ 876 NONAME
+ _ZNK25QMediaServiceProviderHintneERKS_ @ 877 NONAME
+ _ZNK27QLocalMediaPlaylistProvider10isReadOnlyEv @ 878 NONAME
+ _ZNK27QLocalMediaPlaylistProvider10mediaCountEv @ 879 NONAME
+ _ZNK27QLocalMediaPlaylistProvider10metaObjectEv @ 880 NONAME
+ _ZNK27QLocalMediaPlaylistProvider5mediaEi @ 881 NONAME
+ _ZNK27QMediaServiceProviderPlugin10metaObjectEv @ 882 NONAME
+ _ZTI12QMediaObject @ 883 NONAME
+ _ZTI12QMediaPlayer @ 884 NONAME
+ _ZTI12QVideoWidget @ 885 NONAME
+ _ZTI13QMediaControl @ 886 NONAME
+ _ZTI13QMediaService @ 887 NONAME
+ _ZTI14QMediaPlaylist @ 888 NONAME
+ _ZTI16QMetaDataControl @ 889 NONAME
+ _ZTI18QGraphicsVideoItem @ 890 NONAME
+ _ZTI19QMediaPlayerControl @ 891 NONAME
+ _ZTI19QVideoDeviceControl @ 892 NONAME
+ _ZTI19QVideoOutputControl @ 893 NONAME
+ _ZTI19QVideoWidgetControl @ 894 NONAME
+ _ZTI19QVideoWindowControl @ 895 NONAME
+ _ZTI20QMediaPlaylistReader @ 896 NONAME
+ _ZTI20QMediaPlaylistWriter @ 897 NONAME
+ _ZTI20QPainterVideoSurface @ 898 NONAME
+ _ZTI21QMediaPlaylistControl @ 899 NONAME
+ _ZTI21QMediaServiceProvider @ 900 NONAME
+ _ZTI21QVideoRendererControl @ 901 NONAME
+ _ZTI22QMediaPlaylistIOPlugin @ 902 NONAME
+ _ZTI22QMediaPlaylistProvider @ 903 NONAME
+ _ZTI23QMediaPlaylistNavigator @ 904 NONAME
+ _ZTI25QMediaPlaylistIOInterface @ 905 NONAME
+ _ZTI27QLocalMediaPlaylistProvider @ 906 NONAME
+ _ZTI27QMediaServiceProviderPlugin @ 907 NONAME
+ _ZTI37QMediaServiceProviderFactoryInterface @ 908 NONAME
+ _ZTV12QMediaObject @ 909 NONAME
+ _ZTV12QMediaPlayer @ 910 NONAME
+ _ZTV12QVideoWidget @ 911 NONAME
+ _ZTV13QMediaControl @ 912 NONAME
+ _ZTV13QMediaService @ 913 NONAME
+ _ZTV14QMediaPlaylist @ 914 NONAME
+ _ZTV16QMetaDataControl @ 915 NONAME
+ _ZTV18QGraphicsVideoItem @ 916 NONAME
+ _ZTV19QMediaPlayerControl @ 917 NONAME
+ _ZTV19QVideoDeviceControl @ 918 NONAME
+ _ZTV19QVideoOutputControl @ 919 NONAME
+ _ZTV19QVideoWidgetControl @ 920 NONAME
+ _ZTV19QVideoWindowControl @ 921 NONAME
+ _ZTV20QMediaPlaylistReader @ 922 NONAME
+ _ZTV20QMediaPlaylistWriter @ 923 NONAME
+ _ZTV20QPainterVideoSurface @ 924 NONAME
+ _ZTV21QMediaPlaylistControl @ 925 NONAME
+ _ZTV21QMediaServiceProvider @ 926 NONAME
+ _ZTV21QVideoRendererControl @ 927 NONAME
+ _ZTV22QMediaPlaylistIOPlugin @ 928 NONAME
+ _ZTV22QMediaPlaylistProvider @ 929 NONAME
+ _ZTV23QMediaPlaylistNavigator @ 930 NONAME
+ _ZTV27QLocalMediaPlaylistProvider @ 931 NONAME
+ _ZTV27QMediaServiceProviderPlugin @ 932 NONAME
+ _ZThn8_N12QVideoWidgetD0Ev @ 933 NONAME
+ _ZThn8_N12QVideoWidgetD1Ev @ 934 NONAME
+ _ZThn8_N18QGraphicsVideoItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 935 NONAME
+ _ZThn8_N18QGraphicsVideoItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 936 NONAME
+ _ZThn8_N18QGraphicsVideoItemD0Ev @ 937 NONAME
+ _ZThn8_N18QGraphicsVideoItemD1Ev @ 938 NONAME
+ _ZThn8_N22QMediaPlaylistIOPluginD0Ev @ 939 NONAME
+ _ZThn8_N22QMediaPlaylistIOPluginD1Ev @ 940 NONAME
+ _ZThn8_NK18QGraphicsVideoItem12boundingRectEv @ 941 NONAME
+ _ZeqRK15QMediaTimeRangeS1_ @ 942 NONAME
+ _ZeqRK18QMediaTimeIntervalS1_ @ 943 NONAME
+ _ZmiRK15QMediaTimeRangeS1_ @ 944 NONAME
+ _ZneRK15QMediaTimeRangeS1_ @ 945 NONAME
+ _ZneRK18QMediaTimeIntervalS1_ @ 946 NONAME
+ _ZplRK15QMediaTimeRangeS1_ @ 947 NONAME
diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def
index c37c4a0544..a27c4be424 100644
--- a/src/s60installs/eabi/QtNetworku.def
+++ b/src/s60installs/eabi/QtNetworku.def
@@ -993,4 +993,161 @@ EXPORTS
_ZN10QSslSocket15setSocketOptionEN15QAbstractSocket12SocketOptionERK8QVariant @ 992 NONAME
_ZN15QNetworkRequest20setOriginatingObjectEP7QObject @ 993 NONAME
_ZNK15QNetworkRequest17originatingObjectEv @ 994 NONAME
+ _Z35qNetworkConfigurationManagerPrivatev @ 995 NONAME
+ _ZN13QBearerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 996 NONAME
+ _ZN13QBearerEngine11qt_metacastEPKc @ 997 NONAME
+ _ZN13QBearerEngine15updateCompletedEv @ 998 NONAME
+ _ZN13QBearerEngine16staticMetaObjectE @ 999 NONAME DATA 16
+ _ZN13QBearerEngine18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1000 NONAME
+ _ZN13QBearerEngine19getStaticMetaObjectEv @ 1001 NONAME
+ _ZN13QBearerEngine20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1002 NONAME
+ _ZN13QBearerEngine20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1003 NONAME
+ _ZN13QBearerEngineC2EP7QObject @ 1004 NONAME
+ _ZN13QBearerEngineD0Ev @ 1005 NONAME
+ _ZN13QBearerEngineD1Ev @ 1006 NONAME
+ _ZN13QBearerEngineD2Ev @ 1007 NONAME
+ _ZN15QNetworkRequest11setPriorityENS_8PriorityE @ 1008 NONAME
+ _ZN15QNetworkSession11qt_metacallEN11QMetaObject4CallEiPPv @ 1009 NONAME
+ _ZN15QNetworkSession11qt_metacastEPKc @ 1010 NONAME
+ _ZN15QNetworkSession12stateChangedENS_5StateE @ 1011 NONAME
+ _ZN15QNetworkSession13connectNotifyEPKc @ 1012 NONAME
+ _ZN15QNetworkSession13waitForOpenedEi @ 1013 NONAME
+ _ZN15QNetworkSession16disconnectNotifyEPKc @ 1014 NONAME
+ _ZN15QNetworkSession16staticMetaObjectE @ 1015 NONAME DATA 16
+ _ZN15QNetworkSession18setSessionPropertyERK7QStringRK8QVariant @ 1016 NONAME
+ _ZN15QNetworkSession19getStaticMetaObjectEv @ 1017 NONAME
+ _ZN15QNetworkSession25newConfigurationActivatedEv @ 1018 NONAME
+ _ZN15QNetworkSession29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1019 NONAME
+ _ZN15QNetworkSession4openEv @ 1020 NONAME
+ _ZN15QNetworkSession4stopEv @ 1021 NONAME
+ _ZN15QNetworkSession5closeEv @ 1022 NONAME
+ _ZN15QNetworkSession5errorENS_12SessionErrorE @ 1023 NONAME
+ _ZN15QNetworkSession6acceptEv @ 1024 NONAME
+ _ZN15QNetworkSession6closedEv @ 1025 NONAME
+ _ZN15QNetworkSession6ignoreEv @ 1026 NONAME
+ _ZN15QNetworkSession6openedEv @ 1027 NONAME
+ _ZN15QNetworkSession6rejectEv @ 1028 NONAME
+ _ZN15QNetworkSession7migrateEv @ 1029 NONAME
+ _ZN15QNetworkSessionC1ERK21QNetworkConfigurationP7QObject @ 1030 NONAME
+ _ZN15QNetworkSessionC2ERK21QNetworkConfigurationP7QObject @ 1031 NONAME
+ _ZN15QNetworkSessionD0Ev @ 1032 NONAME
+ _ZN15QNetworkSessionD1Ev @ 1033 NONAME
+ _ZN15QNetworkSessionD2Ev @ 1034 NONAME
+ _ZN19QBearerEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1035 NONAME
+ _ZN19QBearerEnginePlugin11qt_metacastEPKc @ 1036 NONAME
+ _ZN19QBearerEnginePlugin16staticMetaObjectE @ 1037 NONAME DATA 16
+ _ZN19QBearerEnginePlugin19getStaticMetaObjectEv @ 1038 NONAME
+ _ZN19QBearerEnginePluginC2EP7QObject @ 1039 NONAME
+ _ZN19QBearerEnginePluginD0Ev @ 1040 NONAME
+ _ZN19QBearerEnginePluginD1Ev @ 1041 NONAME
+ _ZN19QBearerEnginePluginD2Ev @ 1042 NONAME
+ _ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1043 NONAME
+ _ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1044 NONAME
+ _ZN21QNetworkAccessManager20networkAccessChangedEb @ 1045 NONAME
+ _ZN21QNetworkAccessManager20networkSessionOnlineEv @ 1046 NONAME
+ _ZN21QNetworkAccessManager23setNetworkAccessEnabledEb @ 1047 NONAME
+ _ZN21QNetworkConfigurationC1ERKS_ @ 1048 NONAME
+ _ZN21QNetworkConfigurationC1Ev @ 1049 NONAME
+ _ZN21QNetworkConfigurationC2ERKS_ @ 1050 NONAME
+ _ZN21QNetworkConfigurationC2Ev @ 1051 NONAME
+ _ZN21QNetworkConfigurationD1Ev @ 1052 NONAME
+ _ZN21QNetworkConfigurationD2Ev @ 1053 NONAME
+ _ZN21QNetworkConfigurationaSERKS_ @ 1054 NONAME
+ _ZN22QNetworkSessionPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1055 NONAME
+ _ZN22QNetworkSessionPrivate11qt_metacastEPKc @ 1056 NONAME
+ _ZN22QNetworkSessionPrivate12stateChangedEN15QNetworkSession5StateE @ 1057 NONAME
+ _ZN22QNetworkSessionPrivate16staticMetaObjectE @ 1058 NONAME DATA 16
+ _ZN22QNetworkSessionPrivate19getStaticMetaObjectEv @ 1059 NONAME
+ _ZN22QNetworkSessionPrivate25newConfigurationActivatedEv @ 1060 NONAME
+ _ZN22QNetworkSessionPrivate25quitPendingWaitsForOpenedEv @ 1061 NONAME
+ _ZN22QNetworkSessionPrivate29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1062 NONAME
+ _ZN22QNetworkSessionPrivate5errorEN15QNetworkSession12SessionErrorE @ 1063 NONAME
+ _ZN22QNetworkSessionPrivate6closedEv @ 1064 NONAME
+ _ZN28QNetworkConfigurationManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1065 NONAME
+ _ZN28QNetworkConfigurationManager11qt_metacastEPKc @ 1066 NONAME
+ _ZN28QNetworkConfigurationManager15updateCompletedEv @ 1067 NONAME
+ _ZN28QNetworkConfigurationManager16staticMetaObjectE @ 1068 NONAME DATA 16
+ _ZN28QNetworkConfigurationManager18configurationAddedERK21QNetworkConfiguration @ 1069 NONAME
+ _ZN28QNetworkConfigurationManager18onlineStateChangedEb @ 1070 NONAME
+ _ZN28QNetworkConfigurationManager19getStaticMetaObjectEv @ 1071 NONAME
+ _ZN28QNetworkConfigurationManager20configurationChangedERK21QNetworkConfiguration @ 1072 NONAME
+ _ZN28QNetworkConfigurationManager20configurationRemovedERK21QNetworkConfiguration @ 1073 NONAME
+ _ZN28QNetworkConfigurationManager20updateConfigurationsEv @ 1074 NONAME
+ _ZN28QNetworkConfigurationManagerC1EP7QObject @ 1075 NONAME
+ _ZN28QNetworkConfigurationManagerC2EP7QObject @ 1076 NONAME
+ _ZN28QNetworkConfigurationManagerD0Ev @ 1077 NONAME
+ _ZN28QNetworkConfigurationManagerD1Ev @ 1078 NONAME
+ _ZN28QNetworkConfigurationManagerD2Ev @ 1079 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1080 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate11qt_metacastEPKc @ 1081 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate16staticMetaObjectE @ 1082 NONAME DATA 16
+ _ZN35QNetworkConfigurationManagerPrivate18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1083 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate18configurationAddedERK21QNetworkConfiguration @ 1084 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate18onlineStateChangedEb @ 1085 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate19getStaticMetaObjectEv @ 1086 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1087 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationChangedERK21QNetworkConfiguration @ 1088 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1089 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedERK21QNetworkConfiguration @ 1090 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv @ 1091 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate27configurationUpdateCompleteEv @ 1092 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate31performAsyncConfigurationUpdateEv @ 1093 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate5abortEv @ 1094 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate7enginesEv @ 1095 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateC1Ev @ 1096 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateC2Ev @ 1097 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD0Ev @ 1098 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD1Ev @ 1099 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD2Ev @ 1100 NONAME
+ _ZNK13QBearerEngine10metaObjectEv @ 1101 NONAME
+ _ZNK13QNetworkReply14rawHeaderPairsEv @ 1102 NONAME
+ _ZNK15QNetworkRequest8priorityEv @ 1103 NONAME
+ _ZNK15QNetworkSession10activeTimeEv @ 1104 NONAME
+ _ZNK15QNetworkSession10metaObjectEv @ 1105 NONAME
+ _ZNK15QNetworkSession11errorStringEv @ 1106 NONAME
+ _ZNK15QNetworkSession12bytesWrittenEv @ 1107 NONAME
+ _ZNK15QNetworkSession13bytesReceivedEv @ 1108 NONAME
+ _ZNK15QNetworkSession13configurationEv @ 1109 NONAME
+ _ZNK15QNetworkSession15sessionPropertyERK7QString @ 1110 NONAME
+ _ZNK15QNetworkSession5errorEv @ 1111 NONAME
+ _ZNK15QNetworkSession5stateEv @ 1112 NONAME
+ _ZNK15QNetworkSession6isOpenEv @ 1113 NONAME
+ _ZNK15QNetworkSession9interfaceEv @ 1114 NONAME
+ _ZNK19QBearerEnginePlugin10metaObjectEv @ 1115 NONAME
+ _ZNK21QNetworkAccessManager13configurationEv @ 1116 NONAME
+ _ZNK21QNetworkAccessManager19activeConfigurationEv @ 1117 NONAME
+ _ZNK21QNetworkAccessManager20networkAccessEnabledEv @ 1118 NONAME
+ _ZNK21QNetworkConfiguration10bearerNameEv @ 1119 NONAME
+ _ZNK21QNetworkConfiguration10identifierEv @ 1120 NONAME
+ _ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1121 NONAME
+ _ZNK21QNetworkConfiguration4nameEv @ 1122 NONAME
+ _ZNK21QNetworkConfiguration4typeEv @ 1123 NONAME
+ _ZNK21QNetworkConfiguration5stateEv @ 1124 NONAME
+ _ZNK21QNetworkConfiguration7isValidEv @ 1125 NONAME
+ _ZNK21QNetworkConfiguration7purposeEv @ 1126 NONAME
+ _ZNK21QNetworkConfiguration8childrenEv @ 1127 NONAME
+ _ZNK21QNetworkConfigurationeqERKS_ @ 1128 NONAME
+ _ZNK22QNetworkSessionPrivate10metaObjectEv @ 1129 NONAME
+ _ZNK28QNetworkConfigurationManager10metaObjectEv @ 1130 NONAME
+ _ZNK28QNetworkConfigurationManager12capabilitiesEv @ 1131 NONAME
+ _ZNK28QNetworkConfigurationManager17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1132 NONAME
+ _ZNK28QNetworkConfigurationManager20defaultConfigurationEv @ 1133 NONAME
+ _ZNK28QNetworkConfigurationManager27configurationFromIdentifierERK7QString @ 1134 NONAME
+ _ZNK28QNetworkConfigurationManager8isOnlineEv @ 1135 NONAME
+ _ZNK35QNetworkConfigurationManagerPrivate10metaObjectEv @ 1136 NONAME
+ _ZTI13QBearerEngine @ 1137 NONAME
+ _ZTI15QNetworkSession @ 1138 NONAME
+ _ZTI19QBearerEnginePlugin @ 1139 NONAME
+ _ZTI22QNetworkSessionPrivate @ 1140 NONAME
+ _ZTI28QNetworkConfigurationManager @ 1141 NONAME
+ _ZTI29QBearerEngineFactoryInterface @ 1142 NONAME
+ _ZTI35QNetworkConfigurationManagerPrivate @ 1143 NONAME
+ _ZTV13QBearerEngine @ 1144 NONAME
+ _ZTV15QNetworkSession @ 1145 NONAME
+ _ZTV19QBearerEnginePlugin @ 1146 NONAME
+ _ZTV22QNetworkSessionPrivate @ 1147 NONAME
+ _ZTV28QNetworkConfigurationManager @ 1148 NONAME
+ _ZTV35QNetworkConfigurationManagerPrivate @ 1149 NONAME
+ _ZThn8_N19QBearerEnginePluginD0Ev @ 1150 NONAME
+ _ZThn8_N19QBearerEnginePluginD1Ev @ 1151 NONAME
diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def
index 8a4be2c9cb..6a70ed3d54 100644
--- a/src/s60installs/eabi/QtScriptu.def
+++ b/src/s60installs/eabi/QtScriptu.def
@@ -394,4 +394,45 @@ EXPORTS
_ZTI23QScriptDeclarativeClass @ 393 NONAME
_ZTV23QScriptDeclarativeClass @ 394 NONAME
_ZNK23QScriptDeclarativeClass9isQObjectEv @ 395 NONAME
+ _ZN23QScriptDeclarativeClass13functionValueERK12QScriptValueRKPv @ 396 NONAME
+ _ZN23QScriptDeclarativeClass13propertyValueERK12QScriptValueRKPv @ 397 NONAME
+ _ZN23QScriptDeclarativeClass14newObjectValueEP13QScriptEnginePS_PNS_6ObjectE @ 398 NONAME
+ _ZN23QScriptDeclarativeClass15setSupportsCallEb @ 399 NONAME
+ _ZN23QScriptDeclarativeClass4callEPNS_6ObjectEP14QScriptContext @ 400 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK12QScriptValue @ 401 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK7QString @ 402 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineb @ 403 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngined @ 404 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginef @ 405 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginei @ 406 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginej @ 407 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK12QScriptValue @ 408 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK7QString @ 409 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextb @ 410 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextd @ 411 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextf @ 412 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContexti @ 413 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextj @ 414 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1ERKS0_ @ 415 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC1Ev @ 416 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK12QScriptValue @ 417 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK7QString @ 418 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineb @ 419 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngined @ 420 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginef @ 421 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginei @ 422 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginej @ 423 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK12QScriptValue @ 424 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK7QString @ 425 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextb @ 426 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextd @ 427 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextf @ 428 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContexti @ 429 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextj @ 430 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2ERKS0_ @ 431 NONAME
+ _ZN23QScriptDeclarativeClass5ValueC2Ev @ 432 NONAME
+ _ZN23QScriptDeclarativeClass5ValueD1Ev @ 433 NONAME
+ _ZN23QScriptDeclarativeClass5ValueD2Ev @ 434 NONAME
+ _ZNK23QScriptDeclarativeClass12supportsCallEv @ 435 NONAME
+ _ZNK23QScriptDeclarativeClass5Value13toScriptValueEP13QScriptEngine @ 436 NONAME
diff --git a/src/s60installs/eabi/QtTestu.def b/src/s60installs/eabi/QtTestu.def
index b66ffc1bcb..5cb95baa3f 100644
--- a/src/s60installs/eabi/QtTestu.def
+++ b/src/s60installs/eabi/QtTestu.def
@@ -69,4 +69,5 @@ EXPORTS
_ZNK9QTestData9dataCountEv @ 68 NONAME
_ZTI14QTestEventLoop @ 69 NONAME
_ZTV14QTestEventLoop @ 70 NONAME
+ _ZN5QTest18setBenchmarkResultEfNS_16QBenchmarkMetricE @ 71 NONAME
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index d2e96d1e1e..024b4d0687 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -563,7 +563,7 @@ JSC::JSValue JSC_HOST_CALL functionDisconnect(JSC::ExecState *exec, JSC::JSObjec
slot = arg1;
else {
QScript::SaveFrameHelper saveFrame(engine, exec);
- QString propertyName(QScriptEnginePrivate::toString(exec, arg1));
+ JSC::UString propertyName = QScriptEnginePrivate::toString(exec, arg1);
slot = QScriptEnginePrivate::property(exec, arg0, propertyName, QScriptValue::ResolvePrototype);
}
}
@@ -645,7 +645,7 @@ JSC::JSValue JSC_HOST_CALL functionConnect(JSC::ExecState *exec, JSC::JSObject *
slot = arg1;
else {
QScript::SaveFrameHelper saveFrame(engine, exec);
- QString propertyName = QScriptEnginePrivate::toString(exec, arg1);
+ JSC::UString propertyName = QScriptEnginePrivate::toString(exec, arg1);
slot = QScriptEnginePrivate::property(exec, arg0, propertyName, QScriptValue::ResolvePrototype);
}
}
@@ -723,19 +723,19 @@ JSC::JSValue JSC_HOST_CALL functionQsTranslate(JSC::ExecState *exec, JSC::JSObje
if ((args.size() > 4) && !args.at(4).isNumber())
return JSC::throwError(exec, JSC::GeneralError, "qsTranslate(): fifth argument (n) must be a number");
#ifndef QT_NO_QOBJECT
- QString context(args.at(0).toString(exec));
+ JSC::UString context = args.at(0).toString(exec);
#endif
- QString text(args.at(1).toString(exec));
+ JSC::UString text = args.at(1).toString(exec);
#ifndef QT_NO_QOBJECT
- QString comment;
+ JSC::UString comment;
if (args.size() > 2)
comment = args.at(2).toString(exec);
QCoreApplication::Encoding encoding = QCoreApplication::CodecForTr;
if (args.size() > 3) {
- QString encStr(args.at(3).toString(exec));
- if (encStr == QLatin1String("CodecForTr"))
+ JSC::UString encStr = args.at(3).toString(exec);
+ if (encStr == "CodecForTr")
encoding = QCoreApplication::CodecForTr;
- else if (encStr == QLatin1String("UnicodeUTF8"))
+ else if (encStr == "UnicodeUTF8")
encoding = QCoreApplication::UnicodeUTF8;
else
return JSC::throwError(exec, JSC::GeneralError, QString::fromLatin1("qsTranslate(): invalid encoding '%s'").arg(encStr));
@@ -744,11 +744,11 @@ JSC::JSValue JSC_HOST_CALL functionQsTranslate(JSC::ExecState *exec, JSC::JSObje
if (args.size() > 4)
n = args.at(4).toInt32(exec);
#endif
- QString result;
+ JSC::UString result;
#ifndef QT_NO_QOBJECT
- result = QCoreApplication::translate(context.toLatin1().constData(),
- text.toLatin1().constData(),
- comment.toLatin1().constData(),
+ result = QCoreApplication::translate(QScript::convertToLatin1(context).constData(),
+ QScript::convertToLatin1(text).constData(),
+ QScript::convertToLatin1(comment).constData(),
encoding, n);
#else
result = text;
@@ -774,25 +774,25 @@ JSC::JSValue JSC_HOST_CALL functionQsTr(JSC::ExecState *exec, JSC::JSObject*, JS
if ((args.size() > 2) && !args.at(2).isNumber())
return JSC::throwError(exec, JSC::GeneralError, "qsTranslate(): third argument (n) must be a number");
#ifndef QT_NO_QOBJECT
- QString context;
+ JSC::UString context;
QScriptContext *ctx = QScriptEnginePrivate::contextForFrame(exec);
if (ctx && ctx->parentContext())
context = QFileInfo(QScriptContextInfo(ctx->parentContext()).fileName()).baseName();
#endif
- QString text(args.at(0).toString(exec));
+ JSC::UString text = args.at(0).toString(exec);
#ifndef QT_NO_QOBJECT
- QString comment;
+ JSC::UString comment;
if (args.size() > 1)
comment = args.at(1).toString(exec);
int n = -1;
if (args.size() > 2)
n = args.at(2).toInt32(exec);
#endif
- QString result;
+ JSC::UString result;
#ifndef QT_NO_QOBJECT
- result = QCoreApplication::translate(context.toLatin1().constData(),
- text.toLatin1().constData(),
- comment.toLatin1().constData(),
+ result = QCoreApplication::translate(QScript::convertToLatin1(context).constData(),
+ QScript::convertToLatin1(text).constData(),
+ QScript::convertToLatin1(comment).constData(),
QCoreApplication::CodecForTr, n);
#else
result = text;
@@ -1580,9 +1580,9 @@ QRegExp QScriptEnginePrivate::toRegExp(JSC::ExecState *exec, JSC::JSValue value)
{
if (!isRegExp(value))
return QRegExp();
- QString pattern = toString(exec, property(exec, value, QLatin1String("source"), QScriptValue::ResolvePrototype));
+ QString pattern = toString(exec, property(exec, value, "source", QScriptValue::ResolvePrototype));
Qt::CaseSensitivity kase = Qt::CaseSensitive;
- if (toBool(exec, property(exec, value, QLatin1String("ignoreCase"), QScriptValue::ResolvePrototype)))
+ if (toBool(exec, property(exec, value, "ignoreCase", QScriptValue::ResolvePrototype)))
kase = Qt::CaseInsensitive;
return QRegExp(pattern, kase, QRegExp::RegExp2);
}
@@ -1591,7 +1591,9 @@ QRegExp QScriptEnginePrivate::toRegExp(JSC::ExecState *exec, JSC::JSValue value)
QVariant QScriptEnginePrivate::toVariant(JSC::ExecState *exec, JSC::JSValue value)
{
- if (isObject(value)) {
+ if (!value) {
+ return QVariant();
+ } else if (isObject(value)) {
if (isVariant(value))
return variantValue(value);
#ifndef QT_NO_QOBJECT
@@ -1637,7 +1639,7 @@ JSC::JSValue QScriptEnginePrivate::propertyHelper(JSC::ExecState *exec, JSC::JSV
}
if (!result && (resolveMode & QScriptValue::ResolveScope)) {
// ### check if it's a function object and look in the scope chain
- JSC::JSValue scope = property(exec, value, QString::fromLatin1("__qt_scope__"), QScriptValue::ResolveLocal);
+ JSC::JSValue scope = property(exec, value, "__qt_scope__", QScriptValue::ResolveLocal);
if (isObject(scope))
result = property(exec, scope, id, resolveMode);
}
@@ -2901,6 +2903,9 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
result = eng->newQObject(*reinterpret_cast<QObject* const *>(ptr));
break;
#endif
+ case QMetaType::QVariant:
+ result = jscValueFromVariant(exec, *reinterpret_cast<const QVariant*>(ptr));
+ break;
default:
if (type == qMetaTypeId<QScriptValue>()) {
result = eng->scriptValueToJSCValue(*reinterpret_cast<const QScriptValue*>(ptr));
@@ -2922,8 +2927,6 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
else {
QByteArray typeName = QMetaType::typeName(type);
- if (typeName == "QVariant")
- result = jscValueFromVariant(exec, *reinterpret_cast<const QVariant*>(ptr));
if (typeName.endsWith('*') && !*reinterpret_cast<void* const *>(ptr))
return JSC::jsNull();
else
@@ -3046,6 +3049,9 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
*reinterpret_cast<QVariantMap *>(ptr) = variantMapFromObject(exec, value);
return true;
} break;
+ case QMetaType::QVariant:
+ *reinterpret_cast<QVariant*>(ptr) = toVariant(exec, value);
+ return true;
default:
;
}
@@ -3096,9 +3102,6 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
return false;
*reinterpret_cast<QScriptValue*>(ptr) = eng->scriptValueFromJSCValue(value);
return true;
- } else if (name == "QVariant") {
- *reinterpret_cast<QVariant*>(ptr) = toVariant(exec, value);
- return true;
}
// lazy registration of some common list types
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index d0d020abd7..5166d89475 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -123,6 +123,9 @@ namespace QScript
inline QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec);
bool isFunction(JSC::JSValue value);
+ inline void convertToLatin1_helper(const UChar *i, int length, char *s);
+ inline QByteArray convertToLatin1(const JSC::UString &str);
+
class UStringSourceProviderWithFeedback;
struct GlobalClientData : public JSC::JSGlobalData::ClientData
@@ -165,7 +168,7 @@ public:
static inline qint32 toInt32(JSC::ExecState *, JSC::JSValue);
static inline quint32 toUInt32(JSC::ExecState *, JSC::JSValue);
static inline quint16 toUInt16(JSC::ExecState *, JSC::JSValue);
- static inline QString toString(JSC::ExecState *, JSC::JSValue);
+ static inline JSC::UString toString(JSC::ExecState *, JSC::JSValue);
static inline QDateTime toDateTime(JSC::ExecState *, JSC::JSValue);
#ifndef QT_NO_REGEXP
@@ -181,8 +184,8 @@ public:
static inline JSC::JSValue property(JSC::ExecState*, JSC::JSValue, quint32 index,
int resolveMode = QScriptValue::ResolvePrototype);
static JSC::JSValue propertyHelper(JSC::ExecState*, JSC::JSValue, quint32, int resolveMode);
- static inline JSC::JSValue property(JSC::ExecState*, JSC::JSValue, const QString &, int resolveMode);
- static inline void setProperty(JSC::ExecState*, JSC::JSValue object, const QString &name, JSC::JSValue,
+ static inline JSC::JSValue property(JSC::ExecState*, JSC::JSValue, const JSC::UString &, int resolveMode);
+ static inline void setProperty(JSC::ExecState*, JSC::JSValue object, const JSC::UString &name, JSC::JSValue,
const QScriptValue::PropertyFlags &flags = QScriptValue::KeepExistingFlags);
static void setProperty(JSC::ExecState*, JSC::JSValue object, const JSC::Identifier &id, JSC::JSValue,
const QScriptValue::PropertyFlags &flags = QScriptValue::KeepExistingFlags);
@@ -191,7 +194,7 @@ public:
static QScriptValue::PropertyFlags propertyFlags(JSC::ExecState*, JSC::JSValue value,
const JSC::Identifier &id, const QScriptValue::ResolveFlags &mode);
static inline QScriptValue::PropertyFlags propertyFlags(JSC::ExecState*, JSC::JSValue value,
- const QString &name, const QScriptValue::ResolveFlags &mode);
+ const JSC::UString &name, const QScriptValue::ResolveFlags &mode);
static bool convertValue(JSC::ExecState*, JSC::JSValue value,
int type, void *ptr);
@@ -516,6 +519,21 @@ inline bool ToBool(const QString &value)
return !value.isEmpty();
}
+inline void convertToLatin1_helper(const UChar *i, int length, char *s)
+{
+ const UChar *e = i + length;
+ while (i != e)
+ *(s++) = (uchar) *(i++);
+ *s = '\0';
+}
+
+inline QByteArray convertToLatin1(const JSC::UString &str)
+{
+ QByteArray ba(str.size(), Qt::Uninitialized);
+ convertToLatin1_helper(str.data(), str.size(), ba.data());
+ return ba;
+}
+
} // namespace QScript
inline QScriptValuePrivate *QScriptEnginePrivate::allocateScriptValuePrivate(size_t size)
@@ -629,7 +647,7 @@ inline void QScriptValuePrivate::initFrom(const QString &value)
engine->registerScriptValue(this);
}
-inline JSC::JSValue QScriptEnginePrivate::property(JSC::ExecState *exec, JSC::JSValue value, const QString &name, int resolveMode)
+inline JSC::JSValue QScriptEnginePrivate::property(JSC::ExecState *exec, JSC::JSValue value, const JSC::UString &name, int resolveMode)
{
return property(exec, value, JSC::Identifier(exec, name), resolveMode);
}
@@ -655,13 +673,13 @@ inline JSC::JSValue QScriptEnginePrivate::property(JSC::ExecState *exec, JSC::JS
}
inline QScriptValue::PropertyFlags QScriptEnginePrivate::propertyFlags(JSC::ExecState *exec, JSC::JSValue value,
- const QString &name,
+ const JSC::UString &name,
const QScriptValue::ResolveFlags &mode)
{
return propertyFlags(exec, value, JSC::Identifier(exec, name), mode);
}
-inline void QScriptEnginePrivate::setProperty(JSC::ExecState *exec, JSC::JSValue objectValue, const QString &name,
+inline void QScriptEnginePrivate::setProperty(JSC::ExecState *exec, JSC::JSValue objectValue, const JSC::UString &name,
JSC::JSValue value, const QScriptValue::PropertyFlags &flags)
{
setProperty(exec, objectValue, JSC::Identifier(exec, name), value, flags);
@@ -677,7 +695,7 @@ inline JSC::JSValue QScriptValuePrivate::property(quint32 index, int resolveMode
return QScriptEnginePrivate::property(engine->currentFrame, jscValue, index, resolveMode);
}
-inline JSC::JSValue QScriptValuePrivate::property(const QString &name, int resolveMode) const
+inline JSC::JSValue QScriptValuePrivate::property(const JSC::UString &name, int resolveMode) const
{
JSC::ExecState *exec = engine->currentFrame;
return QScriptEnginePrivate::property(exec, jscValue, JSC::Identifier(exec, name), resolveMode);
@@ -701,7 +719,7 @@ inline void QScriptValuePrivate::setProperty(quint32 index, const JSC::JSValue &
QScriptEnginePrivate::setProperty(engine->currentFrame, jscValue, index, value, flags);
}
-inline void QScriptValuePrivate::setProperty(const QString &name, const JSC::JSValue &value,
+inline void QScriptValuePrivate::setProperty(const JSC::UString &name, const JSC::JSValue &value,
const QScriptValue::PropertyFlags &flags)
{
JSC::ExecState *exec = engine->currentFrame;
@@ -919,7 +937,7 @@ inline quint16 QScriptEnginePrivate::toUInt16(JSC::ExecState *exec, JSC::JSValue
return QScript::ToUInt16(toNumber(exec, value));
}
-inline QString QScriptEnginePrivate::toString(JSC::ExecState *exec, JSC::JSValue value)
+inline JSC::UString QScriptEnginePrivate::toString(JSC::ExecState *exec, JSC::JSValue value)
{
JSC::JSValue savedException;
saveException(exec, &savedException);
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index 7f1fdaa68e..414a45cac1 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -562,7 +562,7 @@ QScriptValue QScriptValue::scope() const
if (!d || !d->isObject())
return QScriptValue();
// ### make hidden property
- JSC::JSValue result = d->property(QLatin1String("__qt_scope__"), QScriptValue::ResolveLocal);
+ JSC::JSValue result = d->property("__qt_scope__", QScriptValue::ResolveLocal);
return d->engine->scriptValueFromJSCValue(result);
}
diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h
index 77b7330dd2..089b923468 100644
--- a/src/script/api/qscriptvalue_p.h
+++ b/src/script/api/qscriptvalue_p.h
@@ -88,8 +88,8 @@ public:
inline JSC::JSValue property(const JSC::Identifier &id, int resolveMode) const;
inline JSC::JSValue property(quint32 index, int resolveMode) const;
- inline JSC::JSValue property(const QString &, int resolveMode) const;
- inline void setProperty(const QString &name, const JSC::JSValue &value,
+ inline JSC::JSValue property(const JSC::UString &, int resolveMode) const;
+ inline void setProperty(const JSC::UString &name, const JSC::JSValue &value,
const QScriptValue::PropertyFlags &flags);
inline void setProperty(const JSC::Identifier &id, const JSC::JSValue &value,
const QScriptValue::PropertyFlags &flags);
diff --git a/src/script/bridge/qscriptqobject.cpp b/src/script/bridge/qscriptqobject.cpp
index 30e5a26239..6c401f8eed 100644
--- a/src/script/bridge/qscriptqobject.cpp
+++ b/src/script/bridge/qscriptqobject.cpp
@@ -163,10 +163,40 @@ static bool isEnumerableMetaProperty(const QMetaProperty &prop,
&& (mo->indexOfProperty(prop.name()) == index);
}
-static inline QByteArray methodName(const QMetaMethod &method)
+/*! \internal
+ Calculates the length of the name of the given \a method by looking
+ for the first '(' character.
+*/
+static inline int methodNameLength(const QMetaMethod &method)
{
- QByteArray signature = method.signature();
- return signature.left(signature.indexOf('('));
+ const char *signature = method.signature();
+ const char *s = signature;
+ while (*s && (*s != '('))
+ ++s;
+ return s - signature;
+}
+
+/*! \internal
+ Makes a deep copy of the first \a nameLength characters of the given
+ method \a signature and returns the copy.
+*/
+static inline QByteArray methodName(const char *signature, int nameLength)
+{
+ return QByteArray(signature, nameLength);
+}
+
+/*! \internal
+
+ Returns true if the name of the given \a method is the same as that
+ specified by the (signature, nameLength) pair, otherwise returns
+ false.
+*/
+static inline bool methodNameEquals(const QMetaMethod &method,
+ const char *signature, int nameLength)
+{
+ const char *otherSignature = method.signature();
+ return !qstrncmp(otherSignature, signature, nameLength)
+ && (otherSignature[nameLength] == '(');
}
static QVariant variantFromValue(JSC::ExecState *exec, int targetType, JSC::JSValue value)
@@ -310,25 +340,16 @@ QList<int> QScript::QtFunction::overloadedIndexes() const
if (!maybeOverloaded())
return QList<int>();
QList<int> result;
- QString name = functionName();
const QMetaObject *meta = metaObject();
+ QMetaMethod method = meta->method(initialIndex());
+ int nameLength = methodNameLength(method);
for (int index = mostGeneralMethod() - 1; index >= 0; --index) {
- QString otherName = QString::fromLatin1(methodName(meta->method(index)));
- if (otherName == name)
+ if (methodNameEquals(meta->method(index), method.signature(), nameLength))
result.append(index);
}
return result;
}
-QString QtFunction::functionName() const
-{
- const QMetaObject *meta = metaObject();
- if (!meta)
- return QString();
- QMetaMethod method = meta->method(initialIndex());
- return QLatin1String(methodName(method));
-}
-
class QScriptMetaType
{
public:
@@ -415,8 +436,8 @@ class QScriptMetaMethod
public:
inline QScriptMetaMethod()
{ }
- inline QScriptMetaMethod(const QByteArray &name, const QVector<QScriptMetaType> &types)
- : m_name(name), m_types(types), m_firstUnresolvedIndex(-1)
+ inline QScriptMetaMethod(const QVector<QScriptMetaType> &types)
+ : m_types(types), m_firstUnresolvedIndex(-1)
{
QVector<QScriptMetaType>::const_iterator it;
for (it = m_types.constBegin(); it != m_types.constEnd(); ++it) {
@@ -429,9 +450,6 @@ public:
inline bool isValid() const
{ return !m_types.isEmpty(); }
- QByteArray name() const
- { return m_name; }
-
inline QScriptMetaType returnType() const
{ return m_types.at(0); }
@@ -460,7 +478,6 @@ public:
{ return m_types; }
private:
- QByteArray m_name;
QVector<QScriptMetaType> m_types;
int m_firstUnresolvedIndex;
};
@@ -497,7 +514,6 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
const QMetaObject *meta, int initialIndex,
bool maybeOverloaded)
{
- QByteArray funName;
QScriptMetaMethod chosenMethod;
int chosenIndex = -1;
QVarLengthArray<QVariant, 9> args;
@@ -506,15 +522,18 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
QVector<int> tooFewArgs;
QVector<int> conversionFailed;
int index;
+ int nameLength = 0;
+ const char *initialMethodSignature = 0;
exec->clearException();
QScriptEnginePrivate *engine = QScript::scriptEngineFromExec(exec);
for (index = initialIndex; index >= 0; --index) {
QMetaMethod method = metaMethod(meta, callType, index);
- if (index == initialIndex)
- funName = methodName(method);
- else {
- if (methodName(method) != funName)
+ if (index == initialIndex) {
+ initialMethodSignature = method.signature();
+ nameLength = methodNameLength(method);
+ } else {
+ if (!methodNameEquals(method, initialMethodSignature, nameLength))
continue;
}
@@ -523,19 +542,15 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
QByteArray returnTypeName = method.typeName();
int rtype = QMetaType::type(returnTypeName);
if ((rtype == 0) && !returnTypeName.isEmpty()) {
- if (returnTypeName == "QVariant") {
- types.append(QScriptMetaType::variant());
- } else {
- int enumIndex = indexOfMetaEnum(meta, returnTypeName);
- if (enumIndex != -1)
- types.append(QScriptMetaType::metaEnum(enumIndex, returnTypeName));
- else
- types.append(QScriptMetaType::unresolved(returnTypeName));
- }
+ int enumIndex = indexOfMetaEnum(meta, returnTypeName);
+ if (enumIndex != -1)
+ types.append(QScriptMetaType::metaEnum(enumIndex, returnTypeName));
+ else
+ types.append(QScriptMetaType::unresolved(returnTypeName));
} else {
if (callType == QMetaMethod::Constructor)
types.append(QScriptMetaType::metaType(QMetaType::QObjectStar, "QObject*"));
- else if (returnTypeName == "QVariant")
+ else if (rtype == QMetaType::QVariant)
types.append(QScriptMetaType::variant());
else
types.append(QScriptMetaType::metaType(rtype, returnTypeName));
@@ -547,24 +562,19 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
QByteArray argTypeName = parameterTypeNames.at(i);
int atype = QMetaType::type(argTypeName);
if (atype == 0) {
- if (argTypeName == "QVariant") {
- types.append(QScriptMetaType::variant());
- } else {
- int enumIndex = indexOfMetaEnum(meta, argTypeName);
- if (enumIndex != -1)
- types.append(QScriptMetaType::metaEnum(enumIndex, argTypeName));
- else
- types.append(QScriptMetaType::unresolved(argTypeName));
- }
- } else {
- if (argTypeName == "QVariant")
- types.append(QScriptMetaType::variant());
+ int enumIndex = indexOfMetaEnum(meta, argTypeName);
+ if (enumIndex != -1)
+ types.append(QScriptMetaType::metaEnum(enumIndex, argTypeName));
else
- types.append(QScriptMetaType::metaType(atype, argTypeName));
+ types.append(QScriptMetaType::unresolved(argTypeName));
+ } else if (atype == QMetaType::QVariant) {
+ types.append(QScriptMetaType::variant());
+ } else {
+ types.append(QScriptMetaType::metaType(atype, argTypeName));
}
}
- QScriptMetaMethod mtd = QScriptMetaMethod(methodName(method), types);
+ QScriptMetaMethod mtd = QScriptMetaMethod(types);
if (int(scriptArgs.size()) < mtd.argumentCount()) {
tooFewArgs.append(index);
@@ -654,8 +664,8 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
matchDistance += 10;
}
} else {
- QString sval = QScriptEnginePrivate::toString(exec, actual);
- int ival = m.keyToValue(sval.toLatin1());
+ JSC::UString sval = QScriptEnginePrivate::toString(exec, actual);
+ int ival = m.keyToValue(convertToLatin1(sval));
if (ival != -1) {
qVariantSetValue(v, ival);
converted = true;
@@ -839,9 +849,10 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
//#ifndef Q_SCRIPT_NO_EVENT_NOTIFY
// engine->notifyFunctionEntry(context);
//#endif
+ QString funName = QString::fromLatin1(methodName(initialMethodSignature, nameLength));
if (!conversionFailed.isEmpty()) {
QString message = QString::fromLatin1("incompatible type of argument(s) in call to %0(); candidates were\n")
- .arg(QLatin1String(funName));
+ .arg(funName);
for (int i = 0; i < conversionFailed.size(); ++i) {
if (i > 0)
message += QLatin1String("\n");
@@ -856,7 +867,7 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
QScriptMetaType unresolvedType = argsInstance.method.type(unresolvedIndex);
QString unresolvedTypeName = QString::fromLatin1(unresolvedType.name());
QString message = QString::fromLatin1("cannot call %0(): ")
- .arg(QString::fromLatin1(funName));
+ .arg(funName);
if (unresolvedIndex > 0) {
message.append(QString::fromLatin1("argument %0 has unknown type `%1'").
arg(unresolvedIndex).arg(unresolvedTypeName));
@@ -868,7 +879,7 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
result = JSC::throwError(exec, JSC::TypeError, message);
} else {
QString message = QString::fromLatin1("too few arguments in call to %0(); candidates are\n")
- .arg(QLatin1String(funName));
+ .arg(funName);
for (int i = 0; i < tooFewArgs.size(); ++i) {
if (i > 0)
message += QLatin1String("\n");
@@ -884,6 +895,7 @@ static JSC::JSValue callQtMethod(JSC::ExecState *exec, QMetaMethod::MethodType c
&& (metaArgs.args.count() == candidates.at(1).args.count())
&& (metaArgs.matchDistance == candidates.at(1).matchDistance)) {
// ambiguous call
+ QByteArray funName = methodName(initialMethodSignature, nameLength);
QString message = QString::fromLatin1("ambiguous call of overloaded function %0(); candidates were\n")
.arg(QLatin1String(funName));
for (int i = 0; i < candidates.size(); ++i) {
@@ -1045,14 +1057,7 @@ JSC::JSValue JSC_HOST_CALL QtPropertyFunction::call(
if (!callee->inherits(&QtPropertyFunction::info))
return throwError(exec, JSC::TypeError, "callee is not a QtPropertyFunction object");
QtPropertyFunction *qfun = static_cast<QtPropertyFunction*>(callee);
- QScriptEnginePrivate *eng_p = scriptEngineFromExec(exec);
- JSC::ExecState *previousFrame = eng_p->currentFrame;
- eng_p->currentFrame = exec;
- eng_p->pushContext(exec, thisValue, args, callee);
- JSC::JSValue result = qfun->execute(eng_p->currentFrame, thisValue, args);
- eng_p->popContext();
- eng_p->currentFrame = previousFrame;
- return result;
+ return qfun->execute(exec, thisValue, args);
}
JSC::JSValue QtPropertyFunction::execute(JSC::ExecState *exec,
@@ -1062,12 +1067,15 @@ JSC::JSValue QtPropertyFunction::execute(JSC::ExecState *exec,
JSC::JSValue result = JSC::jsUndefined();
QScriptEnginePrivate *engine = scriptEngineFromExec(exec);
- thisValue = engine->toUsableValue(thisValue);
- QObject *qobject = QScriptEnginePrivate::toQObject(exec, thisValue);
+ JSC::ExecState *previousFrame = engine->currentFrame;
+ engine->currentFrame = exec;
+
+ JSC::JSValue qobjectValue = engine->toUsableValue(thisValue);
+ QObject *qobject = QScriptEnginePrivate::toQObject(exec, qobjectValue);
while ((!qobject || (qobject->metaObject() != data->meta))
- && JSC::asObject(thisValue)->prototype().isObject()) {
- thisValue = JSC::asObject(thisValue)->prototype();
- qobject = QScriptEnginePrivate::toQObject(exec, thisValue);
+ && JSC::asObject(qobjectValue)->prototype().isObject()) {
+ qobjectValue = JSC::asObject(qobjectValue)->prototype();
+ qobject = QScriptEnginePrivate::toQObject(exec, qobjectValue);
}
Q_ASSERT_X(qobject, Q_FUNC_INFO, "this-object must be a QObject");
@@ -1079,14 +1087,17 @@ JSC::JSValue QtPropertyFunction::execute(JSC::ExecState *exec,
QScriptable *scriptable = scriptableFromQObject(qobject);
QScriptEngine *oldEngine = 0;
if (scriptable) {
+ engine->pushContext(exec, thisValue, args, this);
oldEngine = QScriptablePrivate::get(scriptable)->engine;
QScriptablePrivate::get(scriptable)->engine = QScriptEnginePrivate::get(engine);
}
QVariant v = prop.read(qobject);
- if (scriptable)
+ if (scriptable) {
QScriptablePrivate::get(scriptable)->engine = oldEngine;
+ engine->popContext();
+ }
result = QScriptEnginePrivate::jscValueFromVariant(exec, v);
}
@@ -1106,17 +1117,21 @@ JSC::JSValue QtPropertyFunction::execute(JSC::ExecState *exec,
QScriptable *scriptable = scriptableFromQObject(qobject);
QScriptEngine *oldEngine = 0;
if (scriptable) {
+ engine->pushContext(exec, thisValue, args, this);
oldEngine = QScriptablePrivate::get(scriptable)->engine;
QScriptablePrivate::get(scriptable)->engine = QScriptEnginePrivate::get(engine);
}
prop.write(qobject, v);
- if (scriptable)
+ if (scriptable) {
QScriptablePrivate::get(scriptable)->engine = oldEngine;
+ engine->popContext();
+ }
result = arg;
}
+ engine->currentFrame = previousFrame;
return result;
}
@@ -1168,7 +1183,7 @@ bool QObjectDelegate::getOwnPropertySlot(QScriptObject *object, JSC::ExecState *
{
//Note: this has to be kept in sync with getOwnPropertyDescriptor
#ifndef QT_NO_PROPERTIES
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
QObject *qobject = data->value;
if (!qobject) {
QString message = QString::fromLatin1("cannot access member `%0' of deleted QObject")
@@ -1249,7 +1264,7 @@ bool QObjectDelegate::getOwnPropertySlot(QScriptObject *object, JSC::ExecState *
for (index = meta->methodCount() - 1; index >= offset; --index) {
QMetaMethod method = meta->method(index);
if (hasMethodAccess(method, index, opt)
- && (methodName(method) == name)) {
+ && methodNameEquals(method, name.constData(), name.length())) {
QtFunction *fun = new (exec)QtFunction(
object, index, /*maybeOverloaded=*/true,
&exec->globalData(), eng->originalGlobalObject()->functionStructure(),
@@ -1285,7 +1300,7 @@ bool QObjectDelegate::getOwnPropertyDescriptor(QScriptObject *object, JSC::ExecS
{
//Note: this has to be kept in sync with getOwnPropertySlot abd getPropertyAttributes
#ifndef QT_NO_PROPERTIES
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
QObject *qobject = data->value;
if (!qobject) {
QString message = QString::fromLatin1("cannot access member `%0' of deleted QObject")
@@ -1381,7 +1396,7 @@ bool QObjectDelegate::getOwnPropertyDescriptor(QScriptObject *object, JSC::ExecS
for (index = meta->methodCount() - 1; index >= offset; --index) {
QMetaMethod method = meta->method(index);
if (hasMethodAccess(method, index, opt)
- && (methodName(method) == name)) {
+ && methodNameEquals(method, name.constData(), name.length())) {
QtFunction *fun = new (exec)QtFunction(
object, index, /*maybeOverloaded=*/true,
&exec->globalData(), eng->originalGlobalObject()->functionStructure(),
@@ -1419,7 +1434,7 @@ void QObjectDelegate::put(QScriptObject *object, JSC::ExecState* exec,
JSC::JSValue value, JSC::PutPropertySlot &slot)
{
#ifndef QT_NO_PROPERTIES
- QByteArray name = ((QString)propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
QObject *qobject = data->value;
if (!qobject) {
QString message = QString::fromLatin1("cannot access member `%0' of deleted QObject")
@@ -1495,7 +1510,7 @@ void QObjectDelegate::put(QScriptObject *object, JSC::ExecState* exec,
for (index = meta->methodCount() - 1; index >= offset; --index) {
QMetaMethod method = meta->method(index);
if (hasMethodAccess(method, index, opt)
- && (methodName(method) == name)) {
+ && methodNameEquals(method, name.constData(), name.length())) {
data->cachedMembers.insert(name, value);
return;
}
@@ -1517,7 +1532,7 @@ bool QObjectDelegate::deleteProperty(QScriptObject *object, JSC::ExecState *exec
bool checkDontDelete)
{
#ifndef QT_NO_PROPERTIES
- QByteArray name = ((QString)propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
QObject *qobject = data->value;
if (!qobject) {
QString message = QString::fromLatin1("cannot access member `%0' of deleted QObject")
@@ -1567,7 +1582,7 @@ bool QObjectDelegate::getPropertyAttributes(const QScriptObject *object,
{
#ifndef QT_NO_PROPERTIES
//Note: this has to be kept in sync with getOwnPropertyDescriptor and getOwnPropertySlot
- QByteArray name = ((QString)propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
QObject *qobject = data->value;
if (!qobject)
return false;
@@ -1614,7 +1629,7 @@ bool QObjectDelegate::getPropertyAttributes(const QScriptObject *object,
for (index = meta->methodCount() - 1; index >= offset; --index) {
QMetaMethod method = meta->method(index);
if (hasMethodAccess(method, index, opt)
- && (methodName(method) == name)) {
+ && methodNameEquals(method, name.constData(), name.length())) {
attributes = QObjectMemberAttribute;
if (opt & QScriptEngine::SkipMethodsInEnumeration)
attributes |= JSC::DontEnum;
@@ -1853,7 +1868,7 @@ bool QMetaObjectWrapperObject::getOwnPropertySlot(
return true;
}
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
for (int i = 0; i < meta->enumeratorCount(); ++i) {
QMetaEnum e = meta->enumerator(i);
@@ -1881,7 +1896,7 @@ void QMetaObjectWrapperObject::put(JSC::ExecState* exec, const JSC::Identifier&
}
const QMetaObject *meta = data->value;
if (meta) {
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
for (int i = 0; i < meta->enumeratorCount(); ++i) {
QMetaEnum e = meta->enumerator(i);
for (int j = 0; j < e.keyCount(); ++j) {
@@ -1901,7 +1916,7 @@ bool QMetaObjectWrapperObject::deleteProperty(
return false;
const QMetaObject *meta = data->value;
if (meta) {
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
for (int i = 0; i < meta->enumeratorCount(); ++i) {
QMetaEnum e = meta->enumerator(i);
for (int j = 0; j < e.keyCount(); ++j) {
@@ -1923,7 +1938,7 @@ bool QMetaObjectWrapperObject::getPropertyAttributes(JSC::ExecState *exec,
}
const QMetaObject *meta = data->value;
if (meta) {
- QByteArray name = QString(propertyName.ustring()).toLatin1();
+ QByteArray name = convertToLatin1(propertyName.ustring());
for (int i = 0; i < meta->enumeratorCount(); ++i) {
QMetaEnum e = meta->enumerator(i);
for (int j = 0; j < e.keyCount(); ++j) {
@@ -2174,14 +2189,12 @@ void QObjectConnectionManager::execute(int slotIndex, void **argv)
QByteArray typeName = parameterTypes.at(i);
int argType = QMetaType::type(parameterTypes.at(i));
if (!argType) {
- if (typeName == "QVariant") {
- actual = QScriptEnginePrivate::jscValueFromVariant(exec, *reinterpret_cast<QVariant*>(arg));
- } else {
- qWarning("QScriptEngine: Unable to handle unregistered datatype '%s' "
- "when invoking handler of signal %s::%s",
- typeName.constData(), meta->className(), method.signature());
- actual = JSC::jsUndefined();
- }
+ qWarning("QScriptEngine: Unable to handle unregistered datatype '%s' "
+ "when invoking handler of signal %s::%s",
+ typeName.constData(), meta->className(), method.signature());
+ actual = JSC::jsUndefined();
+ } else if (argType == QMetaType::QVariant) {
+ actual = QScriptEnginePrivate::jscValueFromVariant(exec, *reinterpret_cast<QVariant*>(arg));
} else {
actual = QScriptEnginePrivate::create(exec, argType, arg);
}
diff --git a/src/script/bridge/qscriptqobject_p.h b/src/script/bridge/qscriptqobject_p.h
index 448fa9938a..8b05d6b0fe 100644
--- a/src/script/bridge/qscriptqobject_p.h
+++ b/src/script/bridge/qscriptqobject_p.h
@@ -212,7 +212,6 @@ public:
bool maybeOverloaded() const;
int mostGeneralMethod(QMetaMethod *out = 0) const;
QList<int> overloadedIndexes() const;
- QString functionName() const;
private:
Data *data;
diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri
index aac0267ec6..8dfc50f88e 100644
--- a/src/sql/drivers/drivers.pri
+++ b/src/sql/drivers/drivers.pri
@@ -46,6 +46,7 @@ contains(sql-drivers, odbc) {
mac:!contains( LIBS, .*odbc.* ):LIBS *= -liodbc
unix:!contains( LIBS, .*odbc.* ):LIBS *= -lodbc
+ unix:DEFINES += UNICODE
win32 {
!win32-borland:LIBS *= -lodbc32
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index c0f866eae9..2261887d76 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -320,6 +320,16 @@ static bool qIsBlob(int t)
|| t == MYSQL_TYPE_LONG_BLOB;
}
+static bool qIsInteger(int t)
+{
+ return t == MYSQL_TYPE_TINY
+ || t == MYSQL_TYPE_SHORT
+ || t == MYSQL_TYPE_LONG
+ || t == MYSQL_TYPE_LONGLONG
+ || t == MYSQL_TYPE_INT24;
+}
+
+
void QMYSQLResultPrivate::bindBlobs()
{
int i;
@@ -368,6 +378,13 @@ bool QMYSQLResultPrivate::bindInValues()
fieldInfo->length = 0;
hasBlobs = true;
} else {
+ // fieldInfo->length specifies the display width, which may be too
+ // small to hold valid integer values (see
+ // http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html ), so
+ // always use the MAX_BIGINT_WIDTH for integer types
+ if (qIsInteger(fieldInfo->type)) {
+ fieldInfo->length = MAX_BIGINT_WIDTH;
+ }
fieldInfo->type = MYSQL_TYPE_STRING;
}
bind = &inBinds[i];
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 9f7d267c18..ee22bc3a98 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -71,11 +71,54 @@ QT_BEGIN_NAMESPACE
# define QSQLULEN SQLULEN
#endif
-
static const int COLNAMESIZE = 256;
//Map Qt parameter types to ODBC types
static const SQLSMALLINT qParamType[4] = { SQL_PARAM_INPUT, SQL_PARAM_INPUT, SQL_PARAM_OUTPUT, SQL_PARAM_INPUT_OUTPUT };
+inline static QString fromSQLTCHAR(const QVarLengthArray<SQLTCHAR>& input, int size=-1)
+{
+ QString result;
+
+ int realsize = qMin(size, input.size());
+ if(realsize > 0 && input[realsize-1] == 0)
+ realsize--;
+ switch(sizeof(SQLTCHAR)) {
+ case 1:
+ result=QString::fromUtf8((const char *)input.constData(), realsize);
+ break;
+ case 2:
+ result=QString::fromUtf16((const ushort *)input.constData(), realsize);
+ break;
+ case 4:
+ result=QString::fromUcs4((const uint *)input.constData(), realsize);
+ break;
+ default:
+ qCritical() << "sizeof(SQLTCHAR) is " << sizeof(SQLTCHAR) << "Don't know how to handle this";
+ }
+ return result;
+}
+
+inline static QVarLengthArray<SQLTCHAR> toSQLTCHAR(const QString &input)
+{
+ QVarLengthArray<SQLTCHAR> result;
+ result.resize(input.size());
+ switch(sizeof(SQLTCHAR)) {
+ case 1:
+ memcpy(result.data(), input.toUtf8().data(), input.size());
+ break;
+ case 2:
+ memcpy(result.data(), input.unicode(), input.size() * 2);
+ break;
+ case 4:
+ memcpy(result.data(), input.toUcs4().data(), input.size() * 4);
+ break;
+ default:
+ qCritical() << "sizeof(SQLTCHAR) is " << sizeof(SQLTCHAR) << "Don't know how to handle this";
+ }
+ result.append(0); // make sure it's null terminated, doesn't matter if it already is, it does if it isn't.
+ return result;
+}
+
class QODBCDriverPrivate
{
public:
@@ -91,8 +134,8 @@ public:
SQLHANDLE hEnv;
SQLHANDLE hDbc;
- uint unicode :1;
- uint useSchema :1;
+ bool unicode;
+ bool useSchema;
int disconnectCount;
bool isMySqlServer;
bool isMSSqlServer;
@@ -132,8 +175,8 @@ public:
SQLHANDLE dpDbc() const { return driverPrivate ? driverPrivate->hDbc : 0;}
SQLHANDLE hStmt;
- uint unicode :1;
- uint useSchema :1;
+ bool unicode;
+ bool useSchema;
QSqlRecord rInf;
QVector<QVariant> fieldCache;
@@ -170,19 +213,18 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
int i = 1;
description_[0] = 0;
- r = SQLGetDiagRec(handleType,
- handle,
- i,
- state_,
- &nativeCode_,
- 0,
- NULL,
- &msgLen);
- if(r == SQL_NO_DATA)
- return QString();
- description_.resize(msgLen+1);
do {
r = SQLGetDiagRec(handleType,
+ handle,
+ i,
+ state_,
+ &nativeCode_,
+ 0,
+ NULL,
+ &msgLen);
+ if ((r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) && msgLen > 0)
+ description_.resize(msgLen+1);
+ r = SQLGetDiagRec(handleType,
handle,
i,
state_,
@@ -195,9 +237,9 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
*nativeCode = nativeCode_;
QString tmpstore;
#ifdef UNICODE
- tmpstore = QString((const QChar*)description_.data(), msgLen);
+ tmpstore = fromSQLTCHAR(description_, msgLen);
#else
- tmpstore = QString::fromLocal8Bit((const char*)description_.data(), msgLen);
+ tmpstore = QString::fromUtf8((const char*)description_.constData(), msgLen);
#endif
if(result != tmpstore) {
if(!result.isEmpty())
@@ -216,13 +258,13 @@ static QString qODBCWarn(const QODBCPrivate* odbc, int *nativeCode = 0)
{
return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_DBC, odbc->dpDbc()) + QLatin1Char(' ')
- + qWarnODBCHandle(SQL_HANDLE_STMT, odbc->hStmt, nativeCode));
+ + qWarnODBCHandle(SQL_HANDLE_STMT, odbc->hStmt, nativeCode)).simplified();
}
static QString qODBCWarn(const QODBCDriverPrivate* odbc, int *nativeCode = 0)
{
return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
- + qWarnODBCHandle(SQL_HANDLE_DBC, odbc->hDbc, nativeCode));
+ + qWarnODBCHandle(SQL_HANDLE_DBC, odbc->hDbc, nativeCode)).simplified();
}
static void qSqlWarning(const QString& message, const QODBCPrivate* odbc)
@@ -322,17 +364,22 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
colSize = 65536;
} else {
colSize++; // make sure there is room for more than the 0 termination
- if (unicode) {
- colSize *= 2; // a tiny bit faster, since it saves a SQLGetData() call
- }
}
- QVarLengthArray<char> buf(colSize);
+ r = SQLGetData(hStmt,
+ column+1,
+ SQL_C_TCHAR,
+ NULL,
+ 0,
+ &lengthIndicator);
+ if ((r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) && lengthIndicator > 0)
+ colSize = lengthIndicator/sizeof(SQLTCHAR) + 1;
+ QVarLengthArray<SQLTCHAR> buf(colSize);
while (true) {
r = SQLGetData(hStmt,
column+1,
- unicode ? SQL_C_WCHAR : SQL_C_CHAR,
+ SQL_C_TCHAR,
(SQLPOINTER)buf.data(),
- colSize,
+ colSize*sizeof(SQLTCHAR),
&lengthIndicator);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
if (lengthIndicator == SQL_NULL_DATA || lengthIndicator == SQL_NO_TOTAL) {
@@ -344,14 +391,9 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
// contain the number of bytes returned - it contains the
// total number of bytes that CAN be fetched
// colSize-1: remove 0 termination when there is more data to fetch
- int rSize = (r == SQL_SUCCESS_WITH_INFO) ? (unicode ? colSize-2 : colSize-1) : lengthIndicator;
- if (unicode) {
- fieldVal += QString((const QChar*) buf.constData(), rSize / 2);
- } else {
- fieldVal += QString::fromAscii(buf.constData(), rSize);
- }
- memset(buf.data(), 0, colSize);
- if (lengthIndicator < colSize) {
+ int rSize = (r == SQL_SUCCESS_WITH_INFO) ? colSize : lengthIndicator/sizeof(SQLTCHAR);
+ fieldVal += fromSQLTCHAR(buf, rSize);
+ if (lengthIndicator < (unsigned int)colSize*sizeof(SQLTCHAR)) {
// workaround for Drivermanagers that don't return SQL_NO_DATA
break;
}
@@ -377,10 +419,11 @@ static QVariant qGetBinaryData(SQLHANDLE hStmt, int column)
QSQLLEN lengthIndicator = 0;
SQLRETURN r = SQL_ERROR;
- SQLTCHAR colName[COLNAMESIZE];
+ QVarLengthArray<SQLTCHAR> colName(COLNAMESIZE);
+
r = SQLDescribeCol(hStmt,
column + 1,
- colName,
+ colName.data(),
COLNAMESIZE,
&colNameLen,
&colType,
@@ -513,10 +556,10 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
SQLSMALLINT colScale;
SQLSMALLINT nullable;
SQLRETURN r = SQL_ERROR;
- SQLTCHAR colName[COLNAMESIZE];
+ QVarLengthArray<SQLTCHAR> colName(COLNAMESIZE);
r = SQLDescribeCol(p->hStmt,
i+1,
- colName,
+ colName.data(),
(SQLSMALLINT)COLNAMESIZE,
&colNameLen,
&colType,
@@ -542,9 +585,9 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
}
#ifdef UNICODE
- QString qColName((const QChar*)colName, colNameLen);
+ QString qColName(fromSQLTCHAR(colName, colNameLen));
#else
- QString qColName = QString::fromLocal8Bit((const char*)colName);
+ QString qColName = QString::fromUtf8((const char *)colName.constData());
#endif
// nullable can be SQL_NO_NULLS, SQL_NULLABLE or SQL_NULLABLE_UNKNOWN
int required = -1;
@@ -576,18 +619,21 @@ static int qGetODBCVersion(const QString &connOpts)
QChar QODBCDriverPrivate::quoteChar()
{
if (!isQuoteInitialized) {
- char driverResponse[4];
+ SQLTCHAR driverResponse[4];
SQLSMALLINT length;
int r = SQLGetInfo(hDbc,
SQL_IDENTIFIER_QUOTE_CHAR,
&driverResponse,
sizeof(driverResponse),
&length);
- if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
+ if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO)
+#ifdef UNICODE
+ quote = QChar(driverResponse[0]);
+#else
quote = QLatin1Char(driverResponse[0]);
- } else {
+#endif
+ else
quote = QLatin1Char('"');
- }
isQuoteInitialized = true;
}
return quote;
@@ -631,11 +677,11 @@ bool QODBCDriverPrivate::setConnectionOptions(const QString& connOpts)
val.utf16(); // 0 terminate
r = SQLSetConnectAttr(hDbc, SQL_ATTR_CURRENT_CATALOG,
#ifdef UNICODE
- (SQLWCHAR*) val.unicode(),
+ toSQLTCHAR(val).data(),
#else
- (SQLCHAR*) val.toLatin1().constData(),
+ (SQLCHAR*) val.toUtf8().data(),
#endif
- SQL_NTS);
+ val.length()*sizeof(SQLTCHAR));
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_METADATA_ID")) {
if (val.toUpper() == QLatin1String("SQL_TRUE")) {
v = SQL_TRUE;
@@ -653,11 +699,11 @@ bool QODBCDriverPrivate::setConnectionOptions(const QString& connOpts)
val.utf16(); // 0 terminate
r = SQLSetConnectAttr(hDbc, SQL_ATTR_TRACEFILE,
#ifdef UNICODE
- (SQLWCHAR*) val.unicode(),
+ toSQLTCHAR(val).data(),
#else
- (SQLCHAR*) val.toLatin1().constData(),
+ (SQLCHAR*) val.toUtf8().data(),
#endif
- SQL_NTS);
+ val.length()*sizeof(SQLTCHAR));
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_TRACE")) {
if (val.toUpper() == QLatin1String("SQL_OPT_TRACE_OFF")) {
v = SQL_OPT_TRACE_OFF;
@@ -867,12 +913,12 @@ bool QODBCResult::reset (const QString& query)
#ifdef UNICODE
r = SQLExecDirect(d->hStmt,
- (SQLWCHAR*) query.unicode(),
+ toSQLTCHAR(query).data(),
(SQLINTEGER) query.length());
#else
- QByteArray query8 = query.toLocal8Bit();
+ QByteArray query8 = query.toUtf8();
r = SQLExecDirect(d->hStmt,
- (SQLCHAR*) query8.constData(),
+ (SQLCHAR*) query8.data(),
(SQLINTEGER) query8.length());
#endif
if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO && r!= SQL_NO_DATA) {
@@ -1218,12 +1264,12 @@ bool QODBCResult::prepare(const QString& query)
#ifdef UNICODE
r = SQLPrepare(d->hStmt,
- (SQLWCHAR*) query.unicode(),
+ toSQLTCHAR(query).data(),
(SQLINTEGER) query.length());
#else
- QByteArray query8 = query.toLocal8Bit();
+ QByteArray query8 = query.toUtf8();
r = SQLPrepare(d->hStmt,
- (SQLCHAR*) query8.constData(),
+ (SQLCHAR*) query8.data(),
(SQLINTEGER) query8.length());
#endif
@@ -1421,42 +1467,43 @@ bool QODBCResult::exec()
case QVariant::String:
if (d->unicode) {
QString str = val.toString();
- str.utf16();
if (*ind != SQL_NULL_DATA)
- *ind = str.length() * sizeof(QChar);
- int strSize = str.length() * sizeof(QChar);
+ *ind = str.length() * sizeof(SQLTCHAR);
+ int strSize = str.length() * sizeof(SQLTCHAR);
if (bindValueType(i) & QSql::Out) {
- QByteArray ba((char*)str.constData(), str.capacity() * sizeof(QChar));
+ QVarLengthArray<SQLTCHAR> ba(toSQLTCHAR(str));
+ ba.reserve(str.capacity());
r = SQLBindParameter(d->hStmt,
i + 1,
qParamType[(QFlag)(bindValueType(i)) & QSql::InOut],
- SQL_C_WCHAR,
+ SQL_C_TCHAR,
strSize > 254 ? SQL_WLONGVARCHAR : SQL_WVARCHAR,
0, // god knows... don't change this!
0,
(void *)ba.constData(),
ba.size(),
ind);
- tmpStorage.append(ba);
+ tmpStorage.append(QByteArray((const char *)ba.constData(), ba.size()*sizeof(SQLTCHAR)));
break;
}
-
+ QByteArray strba((const char *)toSQLTCHAR(str).constData(), str.size()*sizeof(SQLTCHAR));
r = SQLBindParameter(d->hStmt,
i + 1,
qParamType[(QFlag)(bindValueType(i)) & QSql::InOut],
- SQL_C_WCHAR,
+ SQL_C_TCHAR,
strSize > 254 ? SQL_WLONGVARCHAR : SQL_WVARCHAR,
strSize,
0,
- (void *)str.constData(),
- strSize,
+ (SQLPOINTER)strba.constData(),
+ strba.size(),
ind);
+ tmpStorage.append(strba);
break;
}
else
{
- QByteArray str = val.toString().toAscii();
+ QByteArray str = val.toString().toUtf8();
if (*ind != SQL_NULL_DATA)
*ind = str.length();
int strSize = str.length();
@@ -1557,15 +1604,18 @@ bool QODBCResult::exec()
break;
case QVariant::String:
if (d->unicode) {
- if (bindValueType(i) & QSql::Out)
- values[i] = QString((QChar *)tmpStorage.takeFirst().constData());
+ if (bindValueType(i) & QSql::Out) {
+ QByteArray first = tmpStorage.takeFirst();
+ QVarLengthArray<SQLTCHAR> array;
+ array.append((SQLTCHAR *)first.constData(), first.size());
+ values[i] = fromSQLTCHAR(array, first.size()/sizeof(SQLTCHAR*));
+ }
break;
}
// fall through
default: {
- QByteArray ba = tmpStorage.takeFirst();
if (bindValueType(i) & QSql::Out)
- values[i] = QString::fromAscii(ba.constData());
+ values[i] = tmpStorage.takeFirst();
break; }
}
if (indicators[i] == SQL_NULL_DATA)
@@ -1774,19 +1824,20 @@ bool QODBCDriver::open(const QString & db,
connQStr += QLatin1String(";PWD=") + password;
SQLSMALLINT cb;
- SQLTCHAR connOut[1024];
+ QVarLengthArray<SQLTCHAR> connOut(1024);
r = SQLDriverConnect(d->hDbc,
NULL,
#ifdef UNICODE
- (SQLWCHAR*)connQStr.unicode(),
+ toSQLTCHAR(connQStr).data(),
#else
- (SQLCHAR*)connQStr.toLatin1().constData(),
+ (SQLCHAR*)connQStr.toUtf8().data(),
#endif
(SQLSMALLINT)connQStr.length(),
- connOut,
+ connOut.data(),
1024,
&cb,
- SQL_DRIVER_NOPROMPT);
+ /*SQL_DRIVER_NOPROMPT*/0);
+
if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) {
setLastError(qMakeError(tr("Unable to connect"), QSqlError::ConnectionError, d));
setOpenError(true);
@@ -1957,20 +2008,21 @@ void QODBCDriverPrivate::checkSchemaUsage()
void QODBCDriverPrivate::checkSqlServer()
{
SQLRETURN r;
- char serverString[200];
+ QVarLengthArray<SQLTCHAR> serverString(200);
SQLSMALLINT t;
+ memset(serverString.data(), 0, serverString.size() * sizeof(SQLTCHAR));
r = SQLGetInfo(hDbc,
SQL_DBMS_NAME,
- serverString,
- sizeof(serverString),
+ serverString.data(),
+ serverString.size() * sizeof(SQLTCHAR),
&t);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
QString serverType;
#ifdef UNICODE
- serverType = QString(reinterpret_cast<const QChar*>(serverString), t/sizeof(QChar));
+ serverType = fromSQLTCHAR(serverString, t/sizeof(SQLTCHAR));
#else
- serverType = QString::fromLocal8Bit(serverString, t);
+ serverType = QString::fromUtf8((const char *)serverString.constData(), t);
#endif
isMySqlServer = serverType.contains(QLatin1String("mysql"), Qt::CaseInsensitive);
isMSSqlServer = serverType.contains(QLatin1String("Microsoft SQL Server"), Qt::CaseInsensitive);
@@ -1989,18 +2041,18 @@ void QODBCDriverPrivate::checkHasSQLFetchScroll()
void QODBCDriverPrivate::checkHasMultiResults()
{
- char driverResponse[4];
+ QVarLengthArray<SQLTCHAR> driverResponse(2);
SQLSMALLINT length;
SQLRETURN r = SQLGetInfo(hDbc,
SQL_MULT_RESULT_SETS,
- driverResponse,
- sizeof(driverResponse),
+ driverResponse.data(),
+ driverResponse.size() * sizeof(SQLTCHAR),
&length);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO)
#ifdef UNICODE
- hasMultiResultSets = QString(reinterpret_cast<const QChar*>(driverResponse), length/sizeof(QChar)).startsWith(QLatin1Char('Y'));
+ hasMultiResultSets = fromSQLTCHAR(driverResponse, length/sizeof(SQLTCHAR)).startsWith(QLatin1Char('Y'));
#else
- hasMultiResultSets = QString::fromLocal8Bit(driverResponse, length).startsWith(QLatin1Char('Y'));
+ hasMultiResultSets = QString::fromUtf8((const char *)driverResponse.constData(), length).startsWith(QLatin1Char('Y'));
#endif
}
@@ -2114,9 +2166,9 @@ QStringList QODBCDriver::tables(QSql::TableType type) const
NULL,
0,
#ifdef UNICODE
- (SQLWCHAR*)joinedTableTypeString.unicode(),
+ toSQLTCHAR(joinedTableTypeString).data(),
#else
- (SQLCHAR*)joinedTableTypeString.toLatin1().constData(),
+ (SQLCHAR*)joinedTableTypeString.toUtf8().data(),
#endif
joinedTableTypeString.length() /* characters, not bytes */);
@@ -2130,6 +2182,11 @@ QStringList QODBCDriver::tables(QSql::TableType type) const
else
r = SQLFetch(hStmt);
+ if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO && r != SQL_NO_DATA) {
+ qWarning() << "QODBCDriver::tables failed to retrieve table/view list: (" << r << "," << qWarnODBCHandle(SQL_HANDLE_STMT, hStmt) << ")";
+ return QStringList();
+ }
+
while (r == SQL_SUCCESS) {
QString fieldVal = qGetStringData(hStmt, 2, -1, false);
tl.append(fieldVal);
@@ -2188,21 +2245,21 @@ QSqlIndex QODBCDriver::primaryIndex(const QString& tablename) const
SQL_IS_UINTEGER);
r = SQLPrimaryKeys(hStmt,
#ifdef UNICODE
- catalog.length() == 0 ? NULL : (SQLWCHAR*)catalog.unicode(),
+ catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toLatin1().constData(),
+ catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
#endif
catalog.length(),
#ifdef UNICODE
- schema.length() == 0 ? NULL : (SQLWCHAR*)schema.unicode(),
+ schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toLatin1().constData(),
+ schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
#endif
schema.length(),
#ifdef UNICODE
- (SQLWCHAR*)table.unicode(),
+ toSQLTCHAR(table).data(),
#else
- (SQLCHAR*)table.toLatin1().constData(),
+ (SQLCHAR*)table.toUtf8().data(),
#endif
table.length() /* in characters, not in bytes */);
@@ -2213,21 +2270,21 @@ QSqlIndex QODBCDriver::primaryIndex(const QString& tablename) const
r = SQLSpecialColumns(hStmt,
SQL_BEST_ROWID,
#ifdef UNICODE
- catalog.length() == 0 ? NULL : (SQLWCHAR*)catalog.unicode(),
+ catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toLatin1().constData(),
+ catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
#endif
catalog.length(),
#ifdef UNICODE
- schema.length() == 0 ? NULL : (SQLWCHAR*)schema.unicode(),
+ schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toLatin1().constData(),
+ schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
#endif
schema.length(),
#ifdef UNICODE
- (SQLWCHAR*)table.unicode(),
+ toSQLTCHAR(table).data(),
#else
- (SQLCHAR*)table.toLatin1().constData(),
+ (SQLCHAR*)table.toUtf8().data(),
#endif
table.length(),
SQL_SCOPE_CURROW,
@@ -2313,21 +2370,21 @@ QSqlRecord QODBCDriver::record(const QString& tablename) const
SQL_IS_UINTEGER);
r = SQLColumns(hStmt,
#ifdef UNICODE
- catalog.length() == 0 ? NULL : (SQLWCHAR*)catalog.unicode(),
+ catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toLatin1().constData(),
+ catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
#endif
catalog.length(),
#ifdef UNICODE
- schema.length() == 0 ? NULL : (SQLWCHAR*)schema.unicode(),
+ schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toLatin1().constData(),
+ schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
#endif
schema.length(),
#ifdef UNICODE
- (SQLWCHAR*)table.unicode(),
+ toSQLTCHAR(table).data(),
#else
- (SQLCHAR*)table.toLatin1().constData(),
+ (SQLCHAR*)table.toUtf8().data(),
#endif
table.length(),
NULL,
diff --git a/src/sql/drivers/odbc/qsql_odbc.h b/src/sql/drivers/odbc/qsql_odbc.h
index 836dbd6ba0..e739a3862c 100644
--- a/src/sql/drivers/odbc/qsql_odbc.h
+++ b/src/sql/drivers/odbc/qsql_odbc.h
@@ -68,7 +68,6 @@
# undef _MSC_VER
#endif
-#include <sqlucode.h>
#include <sqlext.h>
QT_BEGIN_HEADER
diff --git a/src/sql/kernel/qsqlquery.cpp b/src/sql/kernel/qsqlquery.cpp
index 6c6436ff7c..f253c8235b 100644
--- a/src/sql/kernel/qsqlquery.cpp
+++ b/src/sql/kernel/qsqlquery.cpp
@@ -822,6 +822,9 @@ bool QSqlQuery::isForwardOnly() const
scrollable. isForwardOnly() will always return the correct status of
the result set.
+ \note Calling setForwardOnly after execution of the query will result
+ in unexpected results at best, and crashes at worst.
+
\sa isForwardOnly(), next(), seek(), QSqlResult::setForwardOnly()
*/
void QSqlQuery::setForwardOnly(bool forward)
@@ -999,10 +1002,18 @@ bool QSqlQuery::execBatch(BatchExecutionMode mode)
must be included when specifying the placeholder name. If \a
paramType is QSql::Out or QSql::InOut, the placeholder will be
overwritten with data from the database after the exec() call.
+ In this case, sufficient space must be pre-allocated to store
+ the result into.
To bind a NULL value, use a null QVariant; for example, use
\c {QVariant(QVariant::String)} if you are binding a string.
+ Values cannot be bound to multiple locations in the query, eg:
+ \code
+ INSERT INTO testtable (id, name, samename) VALUES (:id, :name, :name)
+ \endcode
+ Binding to name will bind to the first :name, but not the second.
+
\sa addBindValue(), prepare(), exec(), boundValue() boundValues()
*/
void QSqlQuery::bindValue(const QString& placeholder, const QVariant& val,
diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp
index 3d63f88f94..6382b4261f 100644
--- a/src/sql/kernel/qsqlresult.cpp
+++ b/src/sql/kernel/qsqlresult.cpp
@@ -564,6 +564,9 @@ bool QSqlResult::isForwardOnly() const
scrollable. isForwardOnly() will always return the correct status of
the result set.
+ \note Calling setForwardOnly after execution of the query will result
+ in unexpected results at best, and crashes at worst.
+
\sa isForwardOnly(), fetchNext(), QSqlQuery::setForwardOnly()
*/
void QSqlResult::setForwardOnly(bool forward)
@@ -707,7 +710,15 @@ void QSqlResult::bindValue(int index, const QVariant& val, QSql::ParamType param
Binds the value \a val of parameter type \a paramType to the \a
placeholder name in the current record (row).
- Note that binding an undefined placeholder will result in undefined behavior.
+ Values cannot be bound to multiple locations in the query, eg:
+ \code
+ INSERT INTO testtable (id, name, samename) VALUES (:id, :name, :name)
+ \endcode
+ Binding to name will bind to the first :name, but not the second.
+
+ \note Binding an undefined placeholder will result in undefined behavior.
+
+ \sa QSqlQuery::bindValue()
*/
void QSqlResult::bindValue(const QString& placeholder, const QVariant& val,
QSql::ParamType paramType)
diff --git a/src/src.pro b/src/src.pro
index 1ed1144a69..56ede4fc76 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -32,6 +32,8 @@ contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
contains(QT_CONFIG, declarative): SRC_SUBDIRS += src_declarative
contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
SRC_SUBDIRS += src_plugins
+contains(QT_CONFIG, declarative): SRC_SUBDIRS += src_imports
+
# s60installs need to be at the end, because projects.pro does an ordered build,
# and s60installs depends on all the others.
symbian:SRC_SUBDIRS += src_s60installs
@@ -76,6 +78,8 @@ src_activeqt.subdir = $$QT_SOURCE_TREE/src/activeqt
src_activeqt.target = sub-activeqt
src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins
src_plugins.target = sub-plugins
+src_imports.subdir = $$QT_SOURCE_TREE/src/imports
+src_imports.target = sub-imports
src_testlib.subdir = $$QT_SOURCE_TREE/src/testlib
src_testlib.target = sub-testlib
src_javascriptcore.subdir = $$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore
@@ -110,11 +114,13 @@ src_declarative.target = sub-declarative
src_declarative.depends = src_xml src_gui src_script src_network src_svg
src_plugins.depends = src_gui src_sql src_svg src_multimedia
src_s60installs.depends = $$TOOLS_SUBDIRS $$SRC_SUBDIRS
+ src_imports.depends = src_gui src_declarative
contains(QT_CONFIG, webkit) {
src_webkit.depends = src_gui src_sql src_network src_xml
contains(QT_CONFIG, phonon):src_webkit.depends += src_phonon
contains(QT_CONFIG, xmlpatterns): src_webkit.depends += src_xmlpatterns
contains(QT_CONFIG, declarative):src_declarative.depends += src_webkit
+ src_imports.depends += src_webkit
#exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
}
contains(QT_CONFIG, qt3support): src_plugins.depends += src_qt3support
@@ -123,7 +129,6 @@ src_declarative.target = sub-declarative
src_phonon.depends += src_dbus
}
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): src_plugins.depends += src_opengl
- contains(QT_CONFIG, declarative): src_multimedia.depends += src_declarative
}
diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp
index 4a8fc0bd29..cb9086cf06 100644
--- a/src/svg/qsvggenerator.cpp
+++ b/src/svg/qsvggenerator.cpp
@@ -310,7 +310,6 @@ public:
{
*d_func()->stream << QLatin1String("fill=\"none\" ");
*d_func()->stream << QLatin1String("stroke=\"black\" ");
- *d_func()->stream << QLatin1String("vector-effect=\"non-scaling-stroke\" ");
*d_func()->stream << QLatin1String("stroke-width=\"1\" ");
*d_func()->stream << QLatin1String("fill-rule=\"evenodd\" ");
*d_func()->stream << QLatin1String("stroke-linecap=\"square\" ");
@@ -380,13 +379,10 @@ public:
break;
}
- if (spen.widthF() == 0) {
- width = QLatin1String("1");
- stream() << "vector-effect=\"non-scaling-stroke\" ";
- }
+ if (spen.widthF() == 0)
+ stream() <<"stroke-width=\"1\" ";
else
- width = QString::number(spen.widthF());
- stream() <<"stroke-width=\""<<width<<"\" ";
+ stream() <<"stroke-width=\"" << spen.widthF() << "\" ";
switch (spen.capStyle()) {
case Qt::FlatCap:
@@ -983,14 +979,11 @@ void QSvgPaintEngine::drawPath(const QPainterPath &p)
{
Q_D(QSvgPaintEngine);
- *d->stream << "<path "
- "fill-rule=";
- if (p.fillRule() == Qt::OddEvenFill)
- *d->stream << "\"evenodd\" ";
- else
- *d->stream << "\"nonzero\" ";
-
- *d->stream << "d=\"";
+ *d->stream << "<path vector-effect=\""
+ << (state->pen().isCosmetic() ? "non-scaling-stroke" : "none")
+ << "\" fill-rule=\""
+ << (p.fillRule() == Qt::OddEvenFill ? "evenodd" : "nonzero")
+ << "\" d=\"";
for (int i=0; i<p.elementCount(); ++i) {
const QPainterPath::Element &e = p.elementAt(i);
@@ -1038,7 +1031,9 @@ void QSvgPaintEngine::drawPolygon(const QPointF *points, int pointCount,
path.lineTo(points[i]);
if (mode == PolylineMode) {
- stream() << "<polyline fill=\"none\" points=\"";
+ stream() << "<polyline fill=\"none\" vector-effect=\""
+ << (state->pen().isCosmetic() ? "non-scaling-stroke" : "none")
+ << "\" points=\"";
for (int i = 0; i < pointCount; ++i) {
const QPointF &pt = points[i];
stream() << pt.x() << ',' << pt.y() << ' ';
diff --git a/src/svg/qsvggraphics.cpp b/src/svg/qsvggraphics.cpp
index cd0e1acebe..a29764ac3f 100644
--- a/src/svg/qsvggraphics.cpp
+++ b/src/svg/qsvggraphics.cpp
@@ -78,33 +78,29 @@ void QSvgAnimation::draw(QPainter *, QSvgExtraStates &)
qWarning("<animation> no implemented");
}
-static inline QRectF boundsOnStroke(const QPainterPath &path, qreal width)
+static inline QRectF boundsOnStroke(QPainter *p, const QPainterPath &path, qreal width)
{
QPainterPathStroker stroker;
stroker.setWidth(width);
QPainterPath stroke = stroker.createStroke(path);
- return stroke.boundingRect();
+ return p->transform().map(stroke).boundingRect();
}
-QSvgCircle::QSvgCircle(QSvgNode *parent, const QRectF &rect)
+QSvgEllipse::QSvgEllipse(QSvgNode *parent, const QRectF &rect)
: QSvgNode(parent), m_bounds(rect)
{
}
-QRectF QSvgCircle::bounds() const
+QRectF QSvgEllipse::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_bounds;
- else {
- QPainterPath path;
- path.addRect(m_bounds);
- return boundsOnStroke(path, sw);
- }
+ QPainterPath path;
+ path.addEllipse(m_bounds);
+ qreal sw = strokeWidth(p);
+ return qFuzzyIsNull(sw) ? p->transform().map(path).boundingRect() : boundsOnStroke(p, path, sw);
}
-void QSvgCircle::draw(QPainter *p, QSvgExtraStates &states)
+void QSvgEllipse::draw(QPainter *p, QSvgExtraStates &states)
{
applyStyle(p, states);
QT_SVG_DRAW_SHAPE(p->drawEllipse(m_bounds));
@@ -112,9 +108,8 @@ void QSvgCircle::draw(QPainter *p, QSvgExtraStates &states)
}
QSvgArc::QSvgArc(QSvgNode *parent, const QPainterPath &path)
- : QSvgNode(parent), cubic(path)
+ : QSvgNode(parent), m_path(path)
{
- m_cachedBounds = path.boundingRect();
}
void QSvgArc::draw(QPainter *p, QSvgExtraStates &states)
@@ -123,36 +118,12 @@ void QSvgArc::draw(QPainter *p, QSvgExtraStates &states)
if (p->pen().widthF() != 0) {
qreal oldOpacity = p->opacity();
p->setOpacity(oldOpacity * states.strokeOpacity);
- p->drawPath(cubic);
+ p->drawPath(m_path);
p->setOpacity(oldOpacity);
}
revertStyle(p, states);
}
-QSvgEllipse::QSvgEllipse(QSvgNode *parent, const QRectF &rect)
- : QSvgNode(parent), m_bounds(rect)
-{
-}
-
-QRectF QSvgEllipse::bounds() const
-{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_bounds;
- else {
- QPainterPath path;
- path.addEllipse(m_bounds);
- return boundsOnStroke(path, sw);
- }
-}
-
-void QSvgEllipse::draw(QPainter *p, QSvgExtraStates &states)
-{
- applyStyle(p, states);
- QT_SVG_DRAW_SHAPE(p->drawEllipse(m_bounds));
- revertStyle(p, states);
-}
-
QSvgImage::QSvgImage(QSvgNode *parent, const QImage &image,
const QRect &bounds)
: QSvgNode(parent), m_image(image),
@@ -173,7 +144,7 @@ void QSvgImage::draw(QPainter *p, QSvgExtraStates &states)
QSvgLine::QSvgLine(QSvgNode *parent, const QLineF &line)
- : QSvgNode(parent), m_bounds(line)
+ : QSvgNode(parent), m_line(line)
{
}
@@ -184,7 +155,7 @@ void QSvgLine::draw(QPainter *p, QSvgExtraStates &states)
if (p->pen().widthF() != 0) {
qreal oldOpacity = p->opacity();
p->setOpacity(oldOpacity * states.strokeOpacity);
- p->drawLine(m_bounds);
+ p->drawLine(m_line);
p->setOpacity(oldOpacity);
}
revertStyle(p, states);
@@ -203,19 +174,11 @@ void QSvgPath::draw(QPainter *p, QSvgExtraStates &states)
revertStyle(p, states);
}
-QRectF QSvgPath::bounds() const
+QRectF QSvgPath::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw)) {
- if (m_cachedBounds.isNull())
- //m_cachedBounds = m_path.controlPointRect();
- m_cachedBounds = m_path.boundingRect();
-
- return m_cachedBounds;
- }
- else {
- return boundsOnStroke(m_path, sw);
- }
+ qreal sw = strokeWidth(p);
+ return qFuzzyIsNull(sw) ? p->transform().map(m_path).boundingRect()
+ : boundsOnStroke(p, m_path, sw);
}
QSvgPolygon::QSvgPolygon(QSvgNode *parent, const QPolygonF &poly)
@@ -223,15 +186,15 @@ QSvgPolygon::QSvgPolygon(QSvgNode *parent, const QPolygonF &poly)
{
}
-QRectF QSvgPolygon::bounds() const
+QRectF QSvgPolygon::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_poly.boundingRect();
- else {
+ qreal sw = strokeWidth(p);
+ if (qFuzzyIsNull(sw)) {
+ return p->transform().map(m_poly).boundingRect();
+ } else {
QPainterPath path;
path.addPolygon(m_poly);
- return boundsOnStroke(path, sw);
+ return boundsOnStroke(p, path, sw);
}
}
@@ -274,15 +237,15 @@ QSvgRect::QSvgRect(QSvgNode *node, const QRectF &rect, int rx, int ry)
{
}
-QRectF QSvgRect::bounds() const
+QRectF QSvgRect::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_rect;
- else {
+ qreal sw = strokeWidth(p);
+ if (qFuzzyIsNull(sw)) {
+ return p->transform().mapRect(m_rect);
+ } else {
QPainterPath path;
path.addRect(m_rect);
- return boundsOnStroke(path, sw);
+ return boundsOnStroke(p, path, sw);
}
}
@@ -322,7 +285,7 @@ void QSvgText::setTextArea(const QSizeF &size)
m_type = TEXTAREA;
}
-//QRectF QSvgText::bounds() const {}
+//QRectF QSvgText::bounds(QPainter *p, QSvgExtraStates &) const {}
void QSvgText::draw(QPainter *p, QSvgExtraStates &states)
{
@@ -593,80 +556,57 @@ QSvgNode::Type QSvgVideo::type() const
return VIDEO;
}
-QRectF QSvgUse::bounds() const
-{
- if (m_link && m_bounds.isEmpty()) {
- m_bounds = m_link->bounds();
- m_bounds = QRectF(m_bounds.x()+m_start.x(),
- m_bounds.y()+m_start.y(),
- m_bounds.width(),
- m_bounds.height());
-
- return m_bounds;
- }
- return m_bounds;
-}
-
-QRectF QSvgUse::transformedBounds(const QTransform &transform) const
+QRectF QSvgUse::bounds(QPainter *p, QSvgExtraStates &states) const
{
QRectF bounds;
- QTransform t = transform;
-
- if (m_link) {
- QSvgTransformStyle *transStyle = m_style.transform;
- if (transStyle) {
- t = transStyle->qtransform() * t;
- }
- t.translate(m_start.x(), m_start.y());
-
- bounds = m_link->transformedBounds(t);
-
- return bounds;
+ if (m_link) {
+ p->translate(m_start);
+ bounds = m_link->transformedBounds(p, states);
+ p->translate(-m_start);
}
return bounds;
}
-QRectF QSvgPolyline::bounds() const
+QRectF QSvgPolyline::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_poly.boundingRect();
- else {
+ qreal sw = strokeWidth(p);
+ if (qFuzzyIsNull(sw)) {
+ return p->transform().map(m_poly).boundingRect();
+ } else {
QPainterPath path;
path.addPolygon(m_poly);
- return boundsOnStroke(path, sw);
+ return boundsOnStroke(p, path, sw);
}
}
-QRectF QSvgArc::bounds() const
+QRectF QSvgArc::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
- if (qFuzzyIsNull(sw))
- return m_cachedBounds;
- else {
- return boundsOnStroke(cubic, sw);
- }
+ qreal sw = strokeWidth(p);
+ return qFuzzyIsNull(sw) ? p->transform().map(m_path).boundingRect()
+ : boundsOnStroke(p, m_path, sw);
}
-QRectF QSvgImage::bounds() const
+QRectF QSvgImage::bounds(QPainter *p, QSvgExtraStates &) const
{
- return m_bounds;
+ return p->transform().mapRect(m_bounds);
}
-QRectF QSvgLine::bounds() const
+QRectF QSvgLine::bounds(QPainter *p, QSvgExtraStates &) const
{
- qreal sw = strokeWidth();
+ qreal sw = strokeWidth(p);
if (qFuzzyIsNull(sw)) {
- qreal minX = qMin(m_bounds.x1(), m_bounds.x2());
- qreal minY = qMin(m_bounds.y1(), m_bounds.y2());
- qreal maxX = qMax(m_bounds.x1(), m_bounds.x2());
- qreal maxY = qMax(m_bounds.y1(), m_bounds.y2());
- return QRectF(minX, minY, maxX-minX, maxY-minY);
+ QPointF p1 = p->transform().map(m_line.p1());
+ QPointF p2 = p->transform().map(m_line.p2());
+ qreal minX = qMin(p1.x(), p2.x());
+ qreal minY = qMin(p1.y(), p2.y());
+ qreal maxX = qMax(p1.x(), p2.x());
+ qreal maxY = qMax(p1.y(), p2.y());
+ return QRectF(minX, minY, maxX - minX, maxY - minY);
} else {
QPainterPath path;
- path.moveTo(m_bounds.x1(), m_bounds.y1());
- path.lineTo(m_bounds.x2(), m_bounds.y2());
- return boundsOnStroke(path, sw);
+ path.moveTo(m_line.p1());
+ path.lineTo(m_line.p2());
+ return boundsOnStroke(p, path, sw);
}
}
diff --git a/src/svg/qsvggraphics_p.h b/src/svg/qsvggraphics_p.h
index ca0677782f..fdc770ad8b 100644
--- a/src/svg/qsvggraphics_p.h
+++ b/src/svg/qsvggraphics_p.h
@@ -80,32 +80,27 @@ public:
QSvgArc(QSvgNode *parent, const QPainterPath &path);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
- QPainterPath cubic;
- QRectF m_cachedBounds;
+ QPainterPath m_path;
};
-class QSvgCircle : public QSvgNode
+class QSvgEllipse : public QSvgNode
{
public:
- QSvgCircle(QSvgNode *parent, const QRectF &rect);
+ QSvgEllipse(QSvgNode *parent, const QRectF &rect);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QRectF m_bounds;
};
-class QSvgEllipse : public QSvgNode
+class QSvgCircle : public QSvgEllipse
{
public:
- QSvgEllipse(QSvgNode *parent, const QRectF &rect);
- virtual void draw(QPainter *p, QSvgExtraStates &states);
+ QSvgCircle(QSvgNode *parent, const QRectF &rect) : QSvgEllipse(parent, rect) { }
virtual Type type() const;
- virtual QRectF bounds() const;
-private:
- QRectF m_bounds;
};
class QSvgImage : public QSvgNode
@@ -115,7 +110,7 @@ public:
const QRect &bounds);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QImage m_image;
QRect m_bounds;
@@ -127,9 +122,9 @@ public:
QSvgLine(QSvgNode *parent, const QLineF &line);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
- QLineF m_bounds;
+ QLineF m_line;
};
class QSvgPath : public QSvgNode
@@ -138,14 +133,13 @@ public:
QSvgPath(QSvgNode *parent, const QPainterPath &qpath);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
QPainterPath *qpath() {
return &m_path;
}
private:
QPainterPath m_path;
- mutable QRectF m_cachedBounds;
};
class QSvgPolygon : public QSvgNode
@@ -154,7 +148,7 @@ public:
QSvgPolygon(QSvgNode *parent, const QPolygonF &poly);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QPolygonF m_poly;
};
@@ -165,7 +159,7 @@ public:
QSvgPolyline(QSvgNode *parent, const QPolygonF &poly);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QPolygonF m_poly;
};
@@ -176,7 +170,7 @@ public:
QSvgRect(QSvgNode *paren, const QRectF &rect, int rx=0, int ry=0);
virtual Type type() const;
virtual void draw(QPainter *p, QSvgExtraStates &states);
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QRectF m_rect;
int m_rx, m_ry;
@@ -205,7 +199,7 @@ public:
void addLineBreak() {m_tspans.append(LINEBREAK);}
void setWhitespaceMode(WhitespaceMode mode) {m_mode = mode;}
- //virtual QRectF bounds() const;
+ //virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
static QSvgTspan * const LINEBREAK;
@@ -248,13 +242,11 @@ public:
QSvgUse(const QPointF &start, QSvgNode *parent, QSvgNode *link);
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- virtual QRectF bounds() const;
- virtual QRectF transformedBounds(const QTransform &transform) const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
private:
QSvgNode *m_link;
QPointF m_start;
- mutable QRectF m_bounds;
};
class QSvgVideo : public QSvgNode
diff --git a/src/svg/qsvgnode.cpp b/src/svg/qsvgnode.cpp
index 86f2af548f..f6bc1c00b9 100644
--- a/src/svg/qsvgnode.cpp
+++ b/src/svg/qsvgnode.cpp
@@ -45,6 +45,7 @@
#ifndef QT_NO_SVG
#include "qdebug.h"
+#include "qstack.h"
QT_BEGIN_NAMESPACE
@@ -114,12 +115,12 @@ void QSvgNode::appendStyleProperty(QSvgStyleProperty *prop, const QString &id)
}
}
-void QSvgNode::applyStyle(QPainter *p, QSvgExtraStates &states)
+void QSvgNode::applyStyle(QPainter *p, QSvgExtraStates &states) const
{
- m_style.apply(p, bounds(), this, states);
+ m_style.apply(p, this, states);
}
-void QSvgNode::revertStyle(QPainter *p, QSvgExtraStates &states)
+void QSvgNode::revertStyle(QPainter *p, QSvgExtraStates &states) const
{
m_style.revert(p, states);
}
@@ -195,11 +196,40 @@ QSvgFillStyleProperty * QSvgNode::styleProperty(const QString &id) const
return doc ? doc->namedStyle(rid) : 0;
}
-QRectF QSvgNode::bounds() const
+QRectF QSvgNode::bounds(QPainter *, QSvgExtraStates &) const
{
return QRectF(0, 0, 0, 0);
}
+QRectF QSvgNode::transformedBounds() const
+{
+ if (!m_cachedBounds.isEmpty())
+ return m_cachedBounds;
+
+ QImage dummy(1, 1, QImage::Format_RGB32);
+ QPainter p(&dummy);
+ QSvgExtraStates states;
+
+ QPen pen(Qt::NoBrush, 1, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin);
+ pen.setMiterLimit(4);
+ p.setPen(pen);
+
+ QStack<QSvgNode*> parentApplyStack;
+ QSvgNode *parent = m_parent;
+ while (parent) {
+ parentApplyStack.push(parent);
+ parent = parent->parent();
+ }
+
+ for (int i = parentApplyStack.size() - 1; i >= 0; --i)
+ parentApplyStack[i]->applyStyle(&p, states);
+
+ p.setWorldTransform(QTransform());
+
+ m_cachedBounds = transformedBounds(&p, states);
+ return m_cachedBounds;
+}
+
QSvgTinyDocument * QSvgNode::document() const
{
QSvgTinyDocument *doc = 0;
@@ -274,19 +304,11 @@ void QSvgNode::setVisible(bool visible)
m_visible = visible;
}
-QRectF QSvgNode::transformedBounds(const QTransform &transform) const
+QRectF QSvgNode::transformedBounds(QPainter *p, QSvgExtraStates &states) const
{
- QTransform t = transform;
-
- QSvgTransformStyle *transStyle = m_style.transform;
- if (transStyle) {
- t = transStyle->qtransform() * t;
- }
-
- QRectF rect = bounds();
-
- rect = t.mapRect(rect);
-
+ applyStyle(p, states);
+ QRectF rect = bounds(p, states);
+ revertStyle(p, states);
return rect;
}
@@ -310,15 +332,12 @@ QSvgNode::DisplayMode QSvgNode::displayMode() const
return m_displayMode;
}
-qreal QSvgNode::strokeWidth() const
+qreal QSvgNode::strokeWidth(QPainter *p)
{
- QSvgStrokeStyle *stroke = static_cast<QSvgStrokeStyle*>(
- styleProperty(QSvgStyleProperty::STROKE));
- if (!stroke)
- return 0;
- if (stroke->stroke().brush().style() == Qt::NoBrush)
+ QPen pen = p->pen();
+ if (pen.style() == Qt::NoPen || pen.brush().style() == Qt::NoBrush || pen.isCosmetic())
return 0;
- return stroke->width();
+ return pen.widthF();
}
QT_END_NAMESPACE
diff --git a/src/svg/qsvgnode_p.h b/src/svg/qsvgnode_p.h
index 15466f25b5..a34c7c0bf5 100644
--- a/src/svg/qsvgnode_p.h
+++ b/src/svg/qsvgnode_p.h
@@ -118,16 +118,17 @@ public:
QSvgNode *parent() const;
void appendStyleProperty(QSvgStyleProperty *prop, const QString &id);
- void applyStyle(QPainter *p, QSvgExtraStates &states);
- void revertStyle(QPainter *p, QSvgExtraStates &states);
+ void applyStyle(QPainter *p, QSvgExtraStates &states) const;
+ void revertStyle(QPainter *p, QSvgExtraStates &states) const;
QSvgStyleProperty *styleProperty(QSvgStyleProperty::Type type) const;
QSvgFillStyleProperty *styleProperty(const QString &id) const;
QSvgTinyDocument *document() const;
virtual Type type() const =0;
- virtual QRectF bounds() const;
- virtual QRectF transformedBounds(const QTransform &transform) const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
+ virtual QRectF transformedBounds(QPainter *p, QSvgExtraStates &states) const;
+ QRectF transformedBounds() const;
void setRequiredFeatures(const QStringList &lst);
const QStringList & requiredFeatures() const;
@@ -156,9 +157,9 @@ public:
QString xmlClass() const;
void setXmlClass(const QString &str);
protected:
- QSvgStyle m_style;
+ mutable QSvgStyle m_style;
- qreal strokeWidth() const;
+ static qreal strokeWidth(QPainter *p);
private:
QSvgNode *m_parent;
@@ -174,6 +175,7 @@ private:
QString m_class;
DisplayMode m_displayMode;
+ mutable QRectF m_cachedBounds;
friend class QSvgTinyDocument;
};
diff --git a/src/svg/qsvgstructure.cpp b/src/svg/qsvgstructure.cpp
index 34426b788e..db5cb9ee4a 100644
--- a/src/svg/qsvgstructure.cpp
+++ b/src/svg/qsvgstructure.cpp
@@ -357,15 +357,12 @@ void QSvgSwitch::init()
m_systemLanguagePrefix = m_systemLanguage.mid(0, idx);
}
-QRectF QSvgStructureNode::bounds() const
+QRectF QSvgStructureNode::bounds(QPainter *p, QSvgExtraStates &states) const
{
- if (m_bounds.isEmpty()) {
- foreach(QSvgNode *node, m_renderers) {
- m_bounds |= node->transformedBounds(QTransform());
- }
- }
-
- return m_bounds;
+ QRectF bounds;
+ foreach(QSvgNode *node, m_renderers)
+ bounds |= node->transformedBounds(p, states);
+ return bounds;
}
QSvgNode * QSvgStructureNode::previousSiblingNode(QSvgNode *n) const
diff --git a/src/svg/qsvgstructure_p.h b/src/svg/qsvgstructure_p.h
index fd6eb0a370..dd82fc05c8 100644
--- a/src/svg/qsvgstructure_p.h
+++ b/src/svg/qsvgstructure_p.h
@@ -74,14 +74,13 @@ public:
~QSvgStructureNode();
QSvgNode *scopeNode(const QString &id) const;
void addChild(QSvgNode *child, const QString &id);
- virtual QRectF bounds() const;
+ virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
QSvgNode *previousSiblingNode(QSvgNode *n) const;
QList<QSvgNode*> renderers() const { return m_renderers; }
protected:
QList<QSvgNode*> m_renderers;
QHash<QString, QSvgNode*> m_scope;
QList<QSvgStructureNode*> m_linkedScopes;
- mutable QRectF m_bounds;
};
class QSvgG : public QSvgStructureNode
diff --git a/src/svg/qsvgstyle.cpp b/src/svg/qsvgstyle.cpp
index 2b12c49af6..0d1bad9cb0 100644
--- a/src/svg/qsvgstyle.cpp
+++ b/src/svg/qsvgstyle.cpp
@@ -73,7 +73,7 @@ QSvgStyleProperty::~QSvgStyleProperty()
{
}
-void QSvgFillStyleProperty::apply(QPainter *, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgFillStyleProperty::apply(QPainter *, const QSvgNode *, QSvgExtraStates &)
{
Q_ASSERT(!"This should not be called!");
}
@@ -89,7 +89,7 @@ QSvgQualityStyle::QSvgQualityStyle(int color)
{
}
-void QSvgQualityStyle::apply(QPainter *, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgQualityStyle::apply(QPainter *, const QSvgNode *, QSvgExtraStates &)
{
}
@@ -136,7 +136,7 @@ void QSvgFillStyle::setBrush(QBrush brush)
m_fillSet = 1;
}
-void QSvgFillStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &states)
+void QSvgFillStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &states)
{
m_oldFill = p->brush();
m_oldFillRule = states.fillRule;
@@ -169,7 +169,7 @@ QSvgViewportFillStyle::QSvgViewportFillStyle(const QBrush &brush)
{
}
-void QSvgViewportFillStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgViewportFillStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &)
{
m_oldFill = p->brush();
p->setBrush(m_viewportFill);
@@ -224,7 +224,7 @@ int QSvgFontStyle::SVGToQtWeight(int weight) {
return QFont::Normal;
}
-void QSvgFontStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &states)
+void QSvgFontStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &states)
{
m_oldQFont = p->font();
m_oldSvgFont = states.svgFont;
@@ -292,7 +292,7 @@ QSvgStrokeStyle::QSvgStrokeStyle()
{
}
-void QSvgStrokeStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &states)
+void QSvgStrokeStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &states)
{
m_oldStroke = p->pen();
m_oldStrokeOpacity = states.strokeOpacity;
@@ -443,7 +443,7 @@ QSvgTransformStyle::QSvgTransformStyle(const QTransform &trans)
{
}
-void QSvgTransformStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgTransformStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &)
{
m_oldWorldTransform = p->worldTransform();
p->setWorldTransform(m_transform, true);
@@ -501,7 +501,7 @@ QSvgCompOpStyle::QSvgCompOpStyle(QPainter::CompositionMode mode)
}
-void QSvgCompOpStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgCompOpStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &)
{
m_oldMode = p->compositionMode();
p->setCompositionMode(m_mode);
@@ -521,34 +521,34 @@ QSvgStyle::~QSvgStyle()
{
}
-void QSvgStyle::apply(QPainter *p, const QRectF &rect, QSvgNode *node, QSvgExtraStates &states)
+void QSvgStyle::apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states)
{
if (quality) {
- quality->apply(p, rect, node, states);
+ quality->apply(p, node, states);
}
if (fill) {
- fill->apply(p, rect, node, states);
+ fill->apply(p, node, states);
}
if (viewportFill) {
- viewportFill->apply(p, rect, node, states);
+ viewportFill->apply(p, node, states);
}
if (font) {
- font->apply(p, rect, node, states);
+ font->apply(p, node, states);
}
if (stroke) {
- stroke->apply(p, rect, node, states);
+ stroke->apply(p, node, states);
}
if (transform) {
- transform->apply(p, rect, node, states);
+ transform->apply(p, node, states);
}
if (animateColor) {
- animateColor->apply(p, rect, node, states);
+ animateColor->apply(p, node, states);
}
//animated transforms have to be applied
@@ -572,16 +572,16 @@ void QSvgStyle::apply(QPainter *p, const QRectF &rect, QSvgNode *node, QSvgExtra
// Apply the animateTransforms after and including the last one with additive="replace".
for (; itr != animateTransforms.constEnd(); ++itr) {
if ((*itr)->animActive(totalTimeElapsed))
- (*itr)->apply(p, rect, node, states);
+ (*itr)->apply(p, node, states);
}
}
if (opacity) {
- opacity->apply(p, rect, node, states);
+ opacity->apply(p, node, states);
}
if (compop) {
- compop->apply(p, rect, node, states);
+ compop->apply(p, node, states);
}
}
@@ -655,7 +655,7 @@ void QSvgAnimateTransform::setArgs(TransformType type, Additive additive, const
m_count = args.count() / 3;
}
-void QSvgAnimateTransform::apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &)
+void QSvgAnimateTransform::apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &)
{
m_oldWorldTransform = p->worldTransform();
resolveMatrix(node);
@@ -669,7 +669,7 @@ void QSvgAnimateTransform::revert(QPainter *p, QSvgExtraStates &)
m_transformApplied = false;
}
-void QSvgAnimateTransform::resolveMatrix(QSvgNode *node)
+void QSvgAnimateTransform::resolveMatrix(const QSvgNode *node)
{
static const qreal deg2rad = qreal(0.017453292519943295769);
qreal totalTimeElapsed = node->document()->currentElapsed();
@@ -834,7 +834,7 @@ void QSvgAnimateColor::setRepeatCount(qreal repeatCount)
m_repeatCount = repeatCount;
}
-void QSvgAnimateColor::apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &)
+void QSvgAnimateColor::apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &)
{
qreal totalTimeElapsed = node->document()->currentElapsed();
if (totalTimeElapsed < m_from || m_finished)
@@ -912,7 +912,7 @@ QSvgOpacityStyle::QSvgOpacityStyle(qreal opacity)
}
-void QSvgOpacityStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
+void QSvgOpacityStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &)
{
m_oldOpacity = p->opacity();
p->setOpacity(m_opacity * m_oldOpacity);
diff --git a/src/svg/qsvgstyle_p.h b/src/svg/qsvgstyle_p.h
index 202de93a4e..af3b4e57d0 100644
--- a/src/svg/qsvgstyle_p.h
+++ b/src/svg/qsvgstyle_p.h
@@ -172,7 +172,7 @@ public:
};
public:
virtual ~QSvgStyleProperty();
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states) =0;
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states) = 0;
virtual void revert(QPainter *p, QSvgExtraStates &states) =0;
virtual Type type() const=0;
};
@@ -181,7 +181,7 @@ class QSvgFillStyleProperty : public QSvgStyleProperty
{
public:
virtual QBrush brush(QPainter *p, QSvgExtraStates &states) = 0;
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
};
@@ -189,7 +189,7 @@ class QSvgQualityStyle : public QSvgStyleProperty
{
public:
QSvgQualityStyle(int color);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
private:
@@ -221,7 +221,7 @@ class QSvgOpacityStyle : public QSvgStyleProperty
{
public:
QSvgOpacityStyle(qreal opacity);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
private:
@@ -233,7 +233,7 @@ class QSvgFillStyle : public QSvgStyleProperty
{
public:
QSvgFillStyle();
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -306,7 +306,7 @@ class QSvgViewportFillStyle : public QSvgStyleProperty
{
public:
QSvgViewportFillStyle(const QBrush &brush);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -330,7 +330,7 @@ public:
QSvgFontStyle(QSvgFont *font, QSvgTinyDocument *doc);
QSvgFontStyle();
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -410,7 +410,7 @@ class QSvgStrokeStyle : public QSvgStyleProperty
{
public:
QSvgStrokeStyle();
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -617,7 +617,7 @@ class QSvgTransformStyle : public QSvgStyleProperty
{
public:
QSvgTransformStyle(const QTransform &transform);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -654,7 +654,7 @@ public:
void setArgs(TransformType type, Additive additive, const QVector<qreal> &args);
void setFreeze(bool freeze);
void setRepeatCount(qreal repeatCount);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
QSvgAnimateTransform::Additive additiveType() const
@@ -688,7 +688,7 @@ public:
}
protected:
- void resolveMatrix(QSvgNode *node);
+ void resolveMatrix(const QSvgNode *node);
private:
qreal m_from, m_to, m_by;
qreal m_totalRunningTime;
@@ -712,7 +712,7 @@ public:
void setArgs(bool fill, const QList<QColor> &colors);
void setFreeze(bool freeze);
void setRepeatCount(qreal repeatCount);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
private:
@@ -732,7 +732,7 @@ class QSvgCompOpStyle : public QSvgStyleProperty
{
public:
QSvgCompOpStyle(QPainter::CompositionMode mode);
- virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
+ virtual void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
@@ -766,7 +766,7 @@ public:
{}
~QSvgStyle();
- void apply(QPainter *p, const QRectF &rect, QSvgNode *node, QSvgExtraStates &states);
+ void apply(QPainter *p, const QSvgNode *node, QSvgExtraStates &states);
void revert(QPainter *p, QSvgExtraStates &states);
QSvgRefCounter<QSvgQualityStyle> quality;
QSvgRefCounter<QSvgFillStyle> fill;
diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
index 17618f7396..b21b99f780 100644
--- a/src/svg/qsvgtinydocument.cpp
+++ b/src/svg/qsvgtinydocument.cpp
@@ -277,7 +277,7 @@ void QSvgTinyDocument::draw(QPainter *p, const QString &id,
p->save();
- const QRectF elementBounds = node->transformedBounds(QTransform());
+ const QRectF elementBounds = node->transformedBounds();
mapSourceToTarget(p, bounds, elementBounds);
QTransform originalTransform = p->worldTransform();
@@ -299,7 +299,7 @@ void QSvgTinyDocument::draw(QPainter *p, const QString &id,
for (int i = parentApplyStack.size() - 1; i >= 0; --i)
parentApplyStack[i]->applyStyle(p, m_states);
-
+
// Reset the world transform so that our parents don't affect
// the position
QTransform currentTransform = p->worldTransform();
@@ -432,8 +432,7 @@ QRectF QSvgTinyDocument::boundsOnElement(const QString &id) const
const QSvgNode *node = scopeNode(id);
if (!node)
node = this;
-
- return node->transformedBounds(QTransform());
+ return node->transformedBounds();
}
bool QSvgTinyDocument::elementExists(const QString &id) const
diff --git a/src/svg/qsvgtinydocument_p.h b/src/svg/qsvgtinydocument_p.h
index c03c7988e6..3b407704be 100644
--- a/src/svg/qsvgtinydocument_p.h
+++ b/src/svg/qsvgtinydocument_p.h
@@ -173,9 +173,8 @@ inline bool QSvgTinyDocument::heightPercent() const
inline QRectF QSvgTinyDocument::viewBox() const
{
- if (m_viewBox.isNull()) {
- m_viewBox = transformedBounds(QTransform());
- }
+ if (m_viewBox.isNull())
+ m_viewBox = transformedBounds();
return m_viewBox;
}
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 5c9dd55305..4590f17737 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -877,6 +877,19 @@ int qt_snprintf(char *str, int size, const char *format, ...)
return res;
}
+/*! \internal
+ Invoke a method of the object without generating warning if the method does not exist
+ */
+static void invokeMethod(QObject *obj, const char *methodName)
+{
+ const QMetaObject *metaObject = obj->metaObject();
+ int funcIndex = metaObject->indexOfMethod(methodName);
+ if (funcIndex >= 0) {
+ QMetaMethod method = metaObject->method(funcIndex);
+ method.invoke(obj, Qt::DirectConnection);
+ }
+}
+
bool Q_TESTLIB_EXPORT defaultKeyVerbose()
{
if (keyVerbose == -1) {
@@ -1213,7 +1226,7 @@ static void qInvokeTestMethodDataEntry(char *slot)
bool invokeOk;
do {
QTestResult::setCurrentTestLocation(QTestResult::InitFunc);
- QMetaObject::invokeMethod(QTest::currentTestObject, "init");
+ invokeMethod(QTest::currentTestObject, "init()");
if (QTestResult::skipCurrentTest())
break;
@@ -1233,7 +1246,7 @@ static void qInvokeTestMethodDataEntry(char *slot)
QTestResult::addFailure("Unable to execute slot", __FILE__, __LINE__);
QTestResult::setCurrentTestLocation(QTestResult::CleanupFunc);
- QMetaObject::invokeMethod(QTest::currentTestObject, "cleanup");
+ invokeMethod(QTest::currentTestObject, "cleanup()");
QTestResult::setCurrentTestLocation(QTestResult::NoWhere);
// If this test method has a benchmark, repeat until all measurements are
@@ -1300,8 +1313,9 @@ static bool qInvokeTestMethod(const char *slotName, const char *data=0)
if (curGlobalDataIndex == 0) {
QTestResult::setCurrentTestLocation(QTestResult::DataFunc);
- QTest::qt_snprintf(member, 512, "%s_data", slot);
- QMetaObject::invokeMethod(QTest::currentTestObject, member, Qt::DirectConnection);
+ QTest::qt_snprintf(member, 512, "%s_data()", slot);
+ invokeMethod(QTest::currentTestObject, member);
+
// if we encounter a SkipAll in the _data slot, we skip the whole
// testfunction, no matter how much global data exists
if (QTestResult::skipCurrentTest()) {
@@ -1466,11 +1480,11 @@ static void qInvokeTestMethods(QObject *testObject)
QTestResult::setCurrentTestFunction("initTestCase");
QTestResult::setCurrentTestLocation(QTestResult::DataFunc);
QTestTable::globalTestTable();
- QMetaObject::invokeMethod(testObject, "initTestCase_data", Qt::DirectConnection);
+ invokeMethod(testObject, "initTestCase_data()");
if (!QTestResult::skipCurrentTest() && !QTest::currentTestFailed()) {
QTestResult::setCurrentTestLocation(QTestResult::InitFunc);
- QMetaObject::invokeMethod(testObject, "initTestCase");
+ invokeMethod(testObject, "initTestCase()");
// finishedCurrentTestFunction() resets QTestResult::testFailed(), so use a local copy.
const bool previousFailed = QTestResult::testFailed();
@@ -1498,7 +1512,7 @@ static void qInvokeTestMethods(QObject *testObject)
QTestResult::setSkipCurrentTest(false);
QTestResult::setCurrentTestFunction("cleanupTestCase");
- QMetaObject::invokeMethod(testObject, "cleanupTestCase");
+ invokeMethod(testObject, "cleanupTestCase()");
}
QTestResult::finishedCurrentTestFunction();
QTestResult::setCurrentTestFunction(0);
diff --git a/src/tools/moc/util/generate_keywords.pro b/src/tools/moc/util/generate_keywords.pro
index 8dff74471f..eb04409922 100644
--- a/src/tools/moc/util/generate_keywords.pro
+++ b/src/tools/moc/util/generate_keywords.pro
@@ -10,4 +10,3 @@ INCLUDEPATH += .
# Input
SOURCES += generate_keywords.cpp
CONFIG += qt create_prl link_prl
-OBJECTS_DIR=.obj/debug-shared
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp
index 8d9ae4fbf6..015051555e 100644
--- a/src/xml/dom/qdom.cpp
+++ b/src/xml/dom/qdom.cpp
@@ -3487,6 +3487,7 @@ QDomDocumentTypePrivate::QDomDocumentTypePrivate(QDomDocumentTypePrivate* n, boo
if (p->isNotation())
// Dont use normal insert function since we would create infinite recursion
notations->map.insertMulti(p->nodeName(), p);
+ p = p->next;
}
}
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 2ea9ca7894..497e7206b9 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -1,611 +1,23 @@
-QT = core
TEMPLATE = subdirs
-# These tests use host tools and therefore can't work for cross-compiled Qt.
-!cross_compile:SUBDIRS += \
- headers \
- bic \
- compiler \
- compilerwarnings \
- linguist \
- maketestselftest \
- moc \
- uic \
- guiapplauncher \
- #atwrapper \ # These tests need significant updating,
- #uiloader \ # they have hardcoded machine names etc.
-
-Q3SUBDIRS += \
- q3accel \
- q3action \
- q3actiongroup \
- q3buttongroup \
- q3canvas \
- q3checklistitem \
- q3cstring \
- q3databrowser \
- q3dateedit \
- q3datetimeedit \
- q3deepcopy \
- q3dict \
- q3dns \
- q3dockwindow \
- q3filedialog \
- q3groupbox \
- q3hbox \
- q3header \
- q3iconview \
- q3listbox \
- q3listview \
- q3listviewitemiterator \
- q3mainwindow \
- q3popupmenu \
- q3process \
- q3progressbar \
- q3progressdialog \
- q3ptrlist \
- q3richtext \
- q3scrollview \
- q3semaphore \
- q3serversocket \
- q3socket \
- q3socketdevice \
- q3sqlcursor \
- q3sqlselectcursor \
- q3stylesheet \
- q3tabdialog \
- q3table \
- q3textbrowser \
- q3textedit \
- q3textstream \
- q3timeedit \
- q3toolbar \
- q3urloperator \
- q3valuelist \
- q3valuevector \
- q3combobox \
- q3frame \
- q3uridrag \
- q3widgetstack
-
-!cross_compile:Q3SUBDIRS += \
- uic3
-
SUBDIRS += \
-# exceptionsafety_objects \ shouldn't enable it
- languagechange \
- collections \
- exceptionsafety \
- mediaobject \
-# mediaobject_wince_ds9 \ This is Windows CE only (we test the second phonon backend ds9 here)
- modeltest \
- networkselftest \
- qabstractbutton \
- qabstractitemmodel \
- qabstractitemview \
- qabstractprintdialog \
- qabstractscrollarea \
- qabstractslider \
- qabstractsocket \
- qabstractspinbox \
- qabstracttextdocumentlayout \
- qabstractvideobuffer \
- qabstractvideosurface \
- qaccessibility \
- qaction \
- qactiongroup \
- qalgorithms \
- qanimationgroup \
- qapplication \
- qatomicint \
- qatomicpointer \
- qbitarray \
- qboxlayout \
- qbrush \
- qbuffer \
- qbuttongroup \
- qbytearray \
- qcache \
- qchar \
- qcheckbox \
- qclipboard \
- qcolor \
- qcolordialog \
- qcombobox \
- qcompleter \
- qcomplextext \
- qcoreapplication \
- qcryptographichash \
- qcssparser \
- qdatastream \
- qdatawidgetmapper \
- qdate \
- qdatetime \
- qdatetimeedit \
- qdebug \
- qdesktopservices \
- qdesktopwidget \
- qdial \
- qdialog \
- qdialogbuttonbox \
- qdir \
- qdirmodel \
- qdockwidget \
- qdom \
- qdoublespinbox \
- qdoublevalidator \
- qdrag \
- qerrormessage \
- qevent \
- qeventloop \
- qexplicitlyshareddatapointer \
- qfile \
- qfiledialog \
- qfiledialog2 \
- qfileinfo \
- qfilesystemwatcher \
- qfilesystemmodel \
- qflags \
- qfocusevent \
- qfocusframe \
- qfont \
- qfontcombobox \
- qfontdatabase \
- qfontdialog \
- qfontmetrics \
- qftp \
- qgetputenv \
- qglobal \
- qgraphicseffect \
- qgraphicseffectsource \
- qgraphicsgridlayout \
- qgraphicsitem \
- qgraphicsitemanimation \
- qgraphicsanchorlayout \
- qgraphicsanchorlayout1 \
- qgraphicslayout \
- qgraphicslayoutitem \
- qgraphicslinearlayout \
- qgraphicsobject \
- qgraphicspixmapitem \
- qgraphicspolygonitem \
- qgraphicsproxywidget \
- qgraphicsscene \
- qgraphicssceneindex \
- qgraphicstransform \
- qgraphicsvideoitem \
- qgraphicsview \
- qgraphicswidget \
- qgridlayout \
- qgroupbox \
- qguivariant \
- qhash \
- qheaderview \
- qhelpcontentmodel \
- qhelpenginecore \
- qhelpgenerator \
- qhelpindexmodel \
- qhelpprojectdata \
- qhostaddress \
- qhostinfo \
- qhttp \
- qhttpnetworkreply \
- qhttpnetworkconnection \
- qicon \
- qicoimageformat \
- qimage \
- qimageiohandler \
- qimagereader \
- qimagewriter \
- qinputdialog \
- qintvalidator \
- qiodevice \
- qitemdelegate \
- qitemeditorfactory \
- qitemmodel \
- qitemselectionmodel \
- qitemview \
- qkeysequence \
- qlabel \
- qlayout \
- qlcdnumber \
- qlibrary \
- qline \
- qlineedit \
- qlist \
- qlistview \
- qlistwidget \
- qlocale \
- qmainwindow \
- qmake \
- qmap \
- qmath \
- qmatrixnxn \
- qmdiarea \
- qmdisubwindow \
- qmenu \
- qmenubar \
- qmessagebox \
- qmetaobject \
- qmetatype \
- qmouseevent \
- qmouseevent_modal \
- qmovie \
- qmutex \
- qmutexlocker \
- qnativesocketengine \
- qnetworkcookie \
- qnetworkcookiejar \
- qnetworkinterface \
- qnetworkproxy \
- qnetworkrequest \
- qnetworkreply \
- qnetworkaccessmanager_and_qprogressdialog \
- qnumeric \
- qobject \
- qobjectrace \
- qcontiguouscache \
- qpaintengine \
- qpainter \
- qpainterpath \
- qpalette \
- qparallelanimationgroup \
- qpauseanimation \
- qpathclipper \
- qpen \
- qpicture \
- qpixmap \
- qpixmapcache \
- qpixmapfilter \
- qplaintextedit \
- qpoint \
- qpointer \
- qpolygon \
- qprinter \
- qprinterinfo \
- qprocess \
- qprocessenvironment \
- qprogressbar \
- qprogressdialog \
- qpropertyanimation \
- qpushbutton \
- qquaternion \
- qqueue \
- qradiobutton \
- qreadlocker \
- qreadwritelock \
- qrect \
- qregexp \
- qregexpvalidator \
- qregion \
- qresourceengine \
- qringbuffer \
- qscopedpointer \
- qscrollarea \
- qsemaphore \
- qsharedpointer \
- qsharedpointer_and_qwidget \
- qsequentialanimationgroup \
- qset \
- qsettings \
- qshortcut \
- qsignalmapper \
- qsignalspy \
- qsize \
- qsizef \
- qslider \
- qsocketnotifier \
- qsocks5socketengine \
- qsortfilterproxymodel \
- qsound \
- qaudiodeviceinfo \
- qaudioformat \
- qaudiooutput \
- qaudioinput \
- qmediacontent \
- qmediaobject \
- qmediaplayer \
- qmediaplaylist \
- qmediaplaylistnavigator \
- qmediapluginloader \
- qmediaresource \
- qmediaservice \
- qmediaserviceprovider \
- qmediatimerange \
- qvideowidget \
- qspinbox \
- qsplitter \
- qsql \
- qsqldatabase \
- qsqlerror \
- qsqlfield \
- qsqlquery \
- qsqlquerymodel \
- qsqlrecord \
- qsqlrelationaltablemodel \
- qsqltablemodel \
- qsqlthread \
- qsslcertificate \
- qsslcipher \
- qsslerror \
- qsslkey \
- qsslsocket \
- qstackedlayout \
- qstackedwidget \
- qstandarditem \
- qstandarditemmodel \
- qstate \
- qstatemachine \
- qstatictext \
- qstatusbar \
- qstl \
- qstring \
- qstringbuilder1 \
- qstringbuilder2 \
- qstringbuilder3 \
- qstringbuilder4 \
- qstringmatcher \
- qstringlist \
- qstringlistmodel \
- qstyle \
- qstyleoption \
- qstylesheetstyle \
- qsvgdevice \
- qsvggenerator \
- qsvgrenderer \
- qsyntaxhighlighter \
- qsystemtrayicon \
- qtabbar \
- qtableview \
- qtablewidget \
- qtabwidget \
- qtcpserver \
- qtcpsocket \
- qtemporaryfile \
- qtessellator \
- qtextblock \
- qtextboundaryfinder \
- qtextbrowser \
- qtextcodec \
- qtextcursor \
- qtextdocument \
- qtextdocumentfragment \
- qtextdocumentlayout \
- qtextedit \
- qtextformat \
- qtextlayout \
- qtextlist \
- qtextobject \
- qtextscriptengine \
- qtextstream \
- qtexttable \
- qthread \
- qthreadonce \
- qthreadstorage \
- qtime \
- qtimeline \
- qtimer \
- qtmd5 \
- qtoolbar \
- qtoolbox \
- qtoolbutton \
- qtooltip \
- qtranslator \
- qtransform \
- qtransformedscreen \
- qtreeview \
- qtreewidget \
- qtreewidgetitemiterator \
- qtwidgets \
- qudpsocket \
- qundogroup \
- qundostack \
- qurl \
- quuid \
- qvariant \
- qvarlengtharray \
- qvector \
- qvideoframe \
- qvideosurfaceformat \
- qvectornd \
- qwaitcondition \
- qwidget \
- qwidgetaction \
- qwindowsurface \
- qwineventnotifier \
- qwizard \
- qwmatrix \
- qworkspace \
- qwritelocker \
- qwsembedwidget \
- qwsinputmethod \
- qwswindowsystem \
- qx11info \
- qxml \
- qxmlinputsource \
- qxmlsimplereader \
- qxmlstream \
- selftests \
- symbols \
- qrand \
- utf8 \
- 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 \
- qnetworkconfigmanager \
- qnetworkconfiguration \
- qnetworkdiskcache \
- qnetworksession \
- qobjectperformance \
- qpainterpathstroker \
- qplugin \
- qpluginloader \
- qscrollbar \
- qsidebar \
- qsizegrip \
- qsqldriver \
- qtconcurrentfilter \
- qtconcurrentiteratekernel \
- qtconcurrentmap \
- qtconcurrentrun \
- qtconcurrentthreadengine \
- qthreadpool \
- qtipc \
- qtokenautomaton \
- qtouchevent \
- qwidget_window \
- rcc \
- windowsmobile
-
-contains(QT_CONFIG,opengl):SUBDIRS += qgl qglbuffer qgl_threads
-
-contains(QT_CONFIG,qt3support):!wince*:SUBDIRS += $$Q3SUBDIRS
-
-contains(QT_CONFIG,multimedia):contains(QT_CONFIG,declarative):SUBDIRS += qdeclarativeaudio \
- qdeclarativevideo
-
-contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter
-mac: {
- SUBDIRS += macgui \
- macplist \
- qaccessibility_mac
-}
-
-embedded:!wince* {
- SUBDIRS += qcopchannel \
- qdirectpainter \
- qmultiscreen
-}
-!win32: {
- SUBDIRS += qtextpiecetable
-}
-
-symbian {
- SUBDIRS += qsoftkeymanager \
- qs60mainapplication
-}
-
-# Enable the tests specific to QtXmlPatterns. If you add a test, remember to
-# update runQtXmlPatternsTests.sh too. Remember that this file, auto.pro, is
-# not respected by some test system, they just have a script which loop over
-# the folders.
-contains(QT_CONFIG, xmlpatterns) {
-SUBDIRS += checkxmlfiles \
- patternistexamplefiletree \
- patternistexamples \
- patternistheaders \
- qabstractmessagehandler \
- qabstracturiresolver \
- qabstractxmlforwarditerator \
- qabstractxmlnodemodel \
- qabstractxmlreceiver \
- qapplicationargumentparser \
- qautoptr \
- qsimplexmlnodemodel \
- qsourcelocation \
- qxmlformatter \
- qxmlitem \
- qxmlname \
- qxmlnamepool \
- qxmlnodemodelindex \
- qxmlquery \
- qxmlresultitems \
- qxmlschema \
- qxmlschemavalidator \
- qxmlserializer \
- xmlpatterns \
- xmlpatternsdiagnosticsts \
- xmlpatternsschema \
- xmlpatternsschemats \
- xmlpatternssdk \
- xmlpatternsvalidator \
- xmlpatternsview \
- xmlpatternsxqts \
- xmlpatternsxslts
-
-xmlpatternsdiagnosticsts.depends = xmlpatternssdk
-xmlpatternsview.depends = xmlpatternssdk
-xmlpatternsxslts.depends = xmlpatternssdk
-xmlpatternsschemats.depends = xmlpatternssdk
-}
-
-unix:!embedded:contains(QT_CONFIG, dbus):SUBDIRS += \
- qdbusabstractadaptor \
- qdbusabstractinterface \
- qdbusconnection \
- qdbusinterface \
- qdbuslocalcalls \
- qdbusmarshall \
- qdbusmetaobject \
- qdbusmetatype \
- qdbuspendingcall \
- qdbuspendingreply \
- qdbusperformance \
- qdbusreply \
- qdbusthreading \
- qdbusxmlparser
-
-contains(QT_CONFIG, script): SUBDIRS += \
- qscriptable \
- qscriptclass \
- qscriptcontext \
- qscriptcontextinfo \
- qscriptengine \
- qscriptengineagent \
- qscriptextqobject \
- qscriptjstestsuite \
- qscriptv8testsuite \
- qscriptstring \
- qscriptvalue \
- qscriptvalueiterator \
- qscriptenginedebugger
-
-contains(QT_CONFIG, webkit): SUBDIRS += \
- qwebframe \
- qwebpage \
- qwebhistoryinterface \
- qwebelement \
- qwebhistory
-
-contains(QT_CONFIG, declarative): SUBDIRS += declarative
+ corelib.pro \
+ gui.pro \
+ network.pro \
+ sql.pro \
+ xml.pro \
+ other.pro
+
+!cross_compile: SUBDIRS += host.pro
+contains(QT_CONFIG, qt3support):!wince*: SUBDIRS += qt3support.pro
+contains(QT_CONFIG, opengl): SUBDIRS += opengl.pro
+contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns.pro
+unix:!embedded:contains(QT_CONFIG, dbus): SUBDIRS += dbus.pro
+contains(QT_CONFIG, script): SUBDIRS += script.pro
+contains(QT_CONFIG, webkit): SUBDIRS += webkit.pro
+contains(QT_CONFIG, multimedia): SUBDIRS += multimedia.pro
+contains(QT_CONFIG, phonon): SUBDIRS += phonon.pro
+contains(QT_CONFIG, svg): SUBDIRS += svg.pro
+contains(QT_CONFIG, declarative): SUBDIRS += declarative
-# Following tests depends on private API
-!contains(QT_CONFIG, private_tests): SUBDIRS -= \
- qcssparser \
- qgraphicssceneindex \
- qhttpnetworkconnection \
- qhttpnetworkreply \
- qnativesocketengine \
- qnetworkreply \
- qpathclipper \
- qsocketnotifier \
- qsocks5socketengine \
- qstylesheetstyle \
- qtextpiecetable \
- xmlpatternsdiagnosticsts \
- xmlpatternsview \
- xmlpatternsxqts \
- xmlpatternsxslts
diff --git a/tests/auto/corelib.pro b/tests/auto/corelib.pro
new file mode 100644
index 0000000000..c08e3721aa
--- /dev/null
+++ b/tests/auto/corelib.pro
@@ -0,0 +1,102 @@
+# The tests in this .pro file _MUST_ use QtCore only (i.e. QT=core).
+# The test system is allowed to run these tests before the test of Qt has
+# been compiled.
+
+TEMPLATE=subdirs
+SUBDIRS=\
+ collections \
+ exceptionsafety \
+ q_func_info \
+ qanimationgroup \
+ qatomicint \
+ qatomicpointer \
+ qbitarray \
+ qbuffer \
+ qbytearray \
+ qbytearraymatcher \
+ qcache \
+ qchar \
+ qcontiguouscache \
+ qcoreapplication \
+ qcryptographichash \
+ qdate \
+ qdatetime \
+ qdebug \
+ qdiriterator \
+ qeasingcurve \
+ qevent \
+ qexplicitlyshareddatapointer \
+ qfileinfo \
+ qfilesystemwatcher \
+ qflags \
+ qfuture \
+ qfuturewatcher \
+ qgetputenv \
+ qglobal \
+ qhash \
+ qlibrary \
+ qline \
+ qmap \
+ qmargins \
+ qmath \
+ qmetatype \
+ qmutex \
+ qmutexlocker \
+ qnumeric \
+ qobject \
+ qobjectrace \
+ qplugin \
+ qpluginloader \
+ qpoint \
+ qprocessenvironment \
+ qqueue \
+ qrand \
+ qreadlocker \
+ qreadwritelock \
+ qrect \
+ qregexp \
+ qresourceengine \
+ qringbuffer \
+ qscopedpointer \
+ qsemaphore \
+ qsequentialanimationgroup \
+ qset \
+ qsharedpointer \
+ qsignalspy \
+ qsize \
+ qsizef \
+ qstate \
+ qstl \
+ qstring \
+ qstringbuilder1 \
+ qstringbuilder2 \
+ qstringbuilder3 \
+ qstringbuilder4 \
+ qstringlist \
+ qstringmatcher \
+ qtconcurrentfilter \
+ qtconcurrentiteratekernel \
+ qtconcurrentmap \
+ qtconcurrentrun \
+ qtconcurrentthreadengine \
+ qtemporaryfile \
+ qtextboundaryfinder \
+ qthread \
+ qthreadonce \
+ qthreadpool \
+ qthreadstorage \
+ qtime \
+ qtimeline \
+ qtimer \
+ qtmd5 \
+ qtokenautomaton \
+ qurl \
+ quuid \
+ qvarlengtharray \
+ qvector \
+ qwaitcondition \
+ qwineventnotifier \
+ qwritelocker \
+ selftests \
+ utf8 \
+
diff --git a/tests/auto/dbus.pro b/tests/auto/dbus.pro
new file mode 100644
index 0000000000..1c808df636
--- /dev/null
+++ b/tests/auto/dbus.pro
@@ -0,0 +1,20 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qdbusabstractadaptor \
+ qdbusabstractinterface \
+ qdbusconnection \
+ qdbuscontext \
+ qdbusinterface \
+ qdbuslocalcalls \
+ qdbusmarshall \
+ qdbusmetaobject \
+ qdbusmetatype \
+ qdbuspendingcall \
+ qdbuspendingreply \
+ qdbusperformance \
+ qdbusreply \
+ qdbusserver \
+ qdbusservicewatcher \
+ qdbusthreading \
+ qdbusxmlparser \
+
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index 42ff523d8f..143fbadf1d 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -7,9 +7,9 @@ SUBDIRS += \
qdeclarativeanimations \ # Cover
qdeclarativebehaviors \ # Cover
qdeclarativebinding \ # Cover
+ qdeclarativecomponent \ # Cover
qdeclarativeconnection \ # Cover
qdeclarativecontext \ # Cover
- qdeclarativedatetimeformatter \ # Cover
qdeclarativedebug \ # Cover
qdeclarativedebugclient \ # Cover
qdeclarativedebugservice \ # Cover
@@ -44,7 +44,6 @@ SUBDIRS += \
qdeclarativeproperty \ # Cover
qdeclarativemetatype \ # Cover
qdeclarativemoduleplugin \ # Cover
- qdeclarativenumberformatter \ # Cover
qdeclarativepixmapcache \ # Cover
qdeclarativepropertymap \ # Cover
qdeclarativeqt \ # Cover
@@ -55,6 +54,8 @@ SUBDIRS += \
qdeclarativexmllistmodel \ # Cover
qpacketprotocol \ # Cover
qdeclarativerepeater \ # Cover
+ qdeclarativeworkerscript \ # Cover
+ qdeclarativeworkerlistmodel \ # Cover
qdeclarativevaluetypes \ # Cover
qdeclarativexmlhttprequest \ # Cover
qdeclarativeimageprovider \ # Cover
diff --git a/tests/auto/declarative/examples/examples.pro b/tests/auto/declarative/examples/examples.pro
index b9bcd28451..85d2a73ce0 100644
--- a/tests/auto/declarative/examples/examples.pro
+++ b/tests/auto/declarative/examples/examples.pro
@@ -3,3 +3,5 @@ contains(QT_CONFIG,declarative): QT += declarative
macx:CONFIG -= app_bundle
SOURCES += tst_examples.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/examples/tst_examples.cpp b/tests/auto/declarative/examples/tst_examples.cpp
index 6160e7cda6..678dd5909f 100644
--- a/tests/auto/declarative/examples/tst_examples.cpp
+++ b/tests/auto/declarative/examples/tst_examples.cpp
@@ -168,10 +168,12 @@ void tst_examples::examples_data()
QString examples = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
QString demos = QLibraryInfo::location(QLibraryInfo::DemosPath);
+ QString snippets = QLatin1String(SRCDIR) + "/../../../../doc/src/snippets/";
QStringList files;
files << findQmlFiles(QDir(examples));
files << findQmlFiles(QDir(demos));
+ files << findQmlFiles(QDir(snippets));
foreach (const QString &file, files)
QTest::newRow(file.toLatin1().constData()) << file;
@@ -190,7 +192,6 @@ void tst_examples::examples()
<< "-scriptopts" << "play,testerror,exitoncomplete,exitonfailure"
<< file;
QProcess p;
-qDebug() << qmlruntime << arguments;
p.start(qmlruntime, arguments);
QVERIFY(p.waitForFinished());
QCOMPARE(p.exitStatus(), QProcess::NormalExit);
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/badtype1.qml b/tests/auto/declarative/qdeclarativeanimations/data/badtype1.qml
index 6381df3409..2629cf4f11 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/badtype1.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/badtype1.qml
@@ -7,6 +7,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: PropertyAnimation { from: "blue"; to: "green"; }
+ PropertyAnimation on x { from: "blue"; to: "green"; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/badtype2.qml b/tests/auto/declarative/qdeclarativeanimations/data/badtype2.qml
index 8d57e418eb..1543a2af2e 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/badtype2.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/badtype2.qml
@@ -7,6 +7,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { from: "blue"; to: "green"; }
+ NumberAnimation on x { from: "blue"; to: "green"; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/badtype3.qml b/tests/auto/declarative/qdeclarativeanimations/data/badtype3.qml
index c4867c3b58..aa98c3333f 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/badtype3.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/badtype3.qml
@@ -5,7 +5,7 @@ Rectangle {
height: 320
Rectangle {
color: "red"
- color: ColorAnimation { from: 10; to: 15; }
+ ColorAnimation on color { from: 10; to: 15; }
width: 50; height: 50
x: 100; y: 100
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml
index d9660b6202..408ad87cd2 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml
@@ -9,8 +9,8 @@ Rectangle {
id: redRect
width: 100; height: 100
color: Qt.rgba(1,0,0)
- x: Behavior {
- NumberAnimation { objectName: "MyAnim"; target: redRect; property: "y"; to: 300; repeat: true}
+ Behavior on x {
+ NumberAnimation { id: myAnim; objectName: "MyAnim"; target: redRect; property: "y"; to: 300; repeat: true}
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/dontStart.qml b/tests/auto/declarative/qdeclarativeanimations/data/dontStart.qml
index 36417db3df..efed058eef 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/dontStart.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/dontStart.qml
@@ -9,7 +9,7 @@ Rectangle {
id: redRect
width: 100; height: 100
color: Qt.rgba(1,0,0)
- x: SequentialAnimation {
+ SequentialAnimation on x {
running: false
NumberAnimation { objectName: "MyAnim"; running: true }
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/properties.qml b/tests/auto/declarative/qdeclarativeanimations/data/properties.qml
index 7e73f57b3e..4437815b4e 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/properties.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/properties.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { to: 200 }
+ NumberAnimation on x { to: 200 }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/properties2.qml b/tests/auto/declarative/qdeclarativeanimations/data/properties2.qml
index 6c961552b2..b1f2020822 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/properties2.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/properties2.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { targets: theRect; properties: "x"; to: 200; }
+ NumberAnimation on x { targets: theRect; properties: "x"; to: 200; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/properties3.qml b/tests/auto/declarative/qdeclarativeanimations/data/properties3.qml
index ff08885f07..0a0ed6f247 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/properties3.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/properties3.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { target: theRect; property: "x"; to: 300; }
+ NumberAnimation on x { target: theRect; property: "x"; to: 300; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/properties4.qml b/tests/auto/declarative/qdeclarativeanimations/data/properties4.qml
index dab7e5fa77..a90f004fb5 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/properties4.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/properties4.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { target: theRect; property: "y"; to: 200; }
+ NumberAnimation on x { target: theRect; property: "y"; to: 200; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/properties5.qml b/tests/auto/declarative/qdeclarativeanimations/data/properties5.qml
index 38396b15f7..7d3cec9481 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/properties5.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/properties5.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { targets: theRect; properties: "y"; to: 200; }
+ NumberAnimation on x { targets: theRect; properties: "y"; to: 200; }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/rotation.qml b/tests/auto/declarative/qdeclarativeanimations/data/rotation.qml
new file mode 100644
index 0000000000..e9c57d41db
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeanimations/data/rotation.qml
@@ -0,0 +1,48 @@
+import Qt 4.6
+
+Rectangle {
+ width: 600; height: 200
+
+ Row {
+ spacing: 5
+ Rectangle {
+ id: rr
+ objectName: "rr"
+ color: "red"
+ width: 100; height: 100
+ }
+ Rectangle {
+ id: rr2
+ objectName: "rr2"
+ color: "red"
+ width: 100; height: 100
+ }
+ Rectangle {
+ id: rr3
+ objectName: "rr3"
+ color: "red"
+ width: 100; height: 100
+ }
+ Rectangle {
+ id: rr4
+ objectName: "rr4"
+ color: "red"
+ width: 100; height: 100
+ }
+ }
+
+ states: State {
+ name: "state1"
+ PropertyChanges { target: rr; rotation: 370 }
+ PropertyChanges { target: rr2; rotation: 370 }
+ PropertyChanges { target: rr3; rotation: 370 }
+ PropertyChanges { target: rr4; rotation: 370 }
+ }
+
+ transitions: Transition {
+ RotationAnimation { target: rr; direction: RotationAnimation.Numerical; duration: 1000 }
+ RotationAnimation { target: rr2; direction: RotationAnimation.Clockwise; duration: 1000 }
+ RotationAnimation { target: rr3; direction: RotationAnimation.Counterclockwise; duration: 1000 }
+ RotationAnimation { target: rr4; direction: RotationAnimation.Shortest; duration: 1000 }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/valuesource.qml b/tests/auto/declarative/qdeclarativeanimations/data/valuesource.qml
index c35063dc27..2260440e77 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/valuesource.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/valuesource.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { id: anim; objectName: "MyAnim"; to: 200 }
+ NumberAnimation on x { id: anim; objectName: "MyAnim"; to: 200 }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/valuesource2.qml b/tests/auto/declarative/qdeclarativeanimations/data/valuesource2.qml
index 1a60542427..36d6c72787 100644
--- a/tests/auto/declarative/qdeclarativeanimations/data/valuesource2.qml
+++ b/tests/auto/declarative/qdeclarativeanimations/data/valuesource2.qml
@@ -9,6 +9,6 @@ Rectangle {
color: "red"
width: 50; height: 50
x: 100; y: 100
- x: NumberAnimation { id: anim; objectName: "MyAnim"; running: false; to: 200 }
+ NumberAnimation on x { id: anim; objectName: "MyAnim"; running: false; to: 200 }
}
}
diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
index 53c63b5792..076afea147 100644
--- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
+++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
@@ -59,6 +59,7 @@ private slots:
void simpleProperty();
void simpleNumber();
void simpleColor();
+ void simpleRotation();
void alwaysRunToEnd();
void complete();
void resume();
@@ -73,6 +74,7 @@ private slots:
void propertyValueSourceDefaultStart();
void dontStart();
void easingProperties();
+ void rotation();
};
#define QTIMED_COMPARE(lhs, rhs) do { \
@@ -168,6 +170,32 @@ void tst_qdeclarativeanimations::simpleColor()
QCOMPARE(rect.color(), QColor::fromRgbF(0.498039, 0, 0.498039, 1));
}
+void tst_qdeclarativeanimations::simpleRotation()
+{
+ QDeclarativeRectangle rect;
+ QDeclarativeRotationAnimation animation;
+ animation.setTarget(&rect);
+ animation.setProperty("rotation");
+ animation.setTo(270);
+ QVERIFY(animation.target() == &rect);
+ QVERIFY(animation.property() == "rotation");
+ QVERIFY(animation.to() == 270);
+ QVERIFY(animation.direction() == QDeclarativeRotationAnimation::Shortest);
+ animation.start();
+ QVERIFY(animation.isRunning());
+ QTest::qWait(animation.duration());
+ QTIMED_COMPARE(rect.rotation(), qreal(270));
+
+ rect.setRotation(0);
+ animation.start();
+ animation.pause();
+ QVERIFY(animation.isRunning());
+ QVERIFY(animation.isPaused());
+ animation.setCurrentTime(125);
+ QVERIFY(animation.currentTime() == 125);
+ QCOMPARE(rect.rotation(), qreal(-45));
+}
+
void tst_qdeclarativeanimations::alwaysRunToEnd()
{
QDeclarativeRectangle rect;
@@ -217,21 +245,21 @@ void tst_qdeclarativeanimations::resume()
animation.setProperty("x");
animation.setFrom(10);
animation.setTo(200);
- animation.setDuration(500);
+ animation.setDuration(1000);
QVERIFY(animation.from() == 10);
animation.start();
- QTest::qWait(100);
+ QTest::qWait(400);
animation.pause();
qreal x = rect.x();
- QVERIFY(x != qreal(200));
+ QVERIFY(x != qreal(200) && x != qreal(10));
QVERIFY(animation.isRunning());
QVERIFY(animation.isPaused());
animation.resume();
QVERIFY(animation.isRunning());
QVERIFY(!animation.isPaused());
- QTest::qWait(100);
+ QTest::qWait(400);
animation.stop();
QVERIFY(rect.x() > x);
}
@@ -667,6 +695,36 @@ void tst_qdeclarativeanimations::easingProperties()
}
}
+void tst_qdeclarativeanimations::rotation()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/rotation.qml"));
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect);
+
+ QDeclarativeRectangle *rr = rect->findChild<QDeclarativeRectangle*>("rr");
+ QDeclarativeRectangle *rr2 = rect->findChild<QDeclarativeRectangle*>("rr2");
+ QDeclarativeRectangle *rr3 = rect->findChild<QDeclarativeRectangle*>("rr3");
+ QDeclarativeRectangle *rr4 = rect->findChild<QDeclarativeRectangle*>("rr4");
+
+ rect->setState("state1");
+ QTest::qWait(800);
+ qreal r1 = rr->rotation();
+ qreal r2 = rr2->rotation();
+ qreal r3 = rr3->rotation();
+ qreal r4 = rr4->rotation();
+
+ QVERIFY(r1 > qreal(0) && r1 < qreal(370));
+ QVERIFY(r2 > qreal(0) && r2 < qreal(370));
+ QVERIFY(r3 < qreal(0) && r3 > qreal(-350));
+ QVERIFY(r4 > qreal(0) && r4 < qreal(10));
+ QCOMPARE(r1,r2);
+ QVERIFY(r4 < r2);
+
+ QTest::qWait(800);
+ QTIMED_COMPARE(rr->rotation() + rr2->rotation() + rr3->rotation() + rr4->rotation(), qreal(370*4));
+}
+
QTEST_MAIN(tst_qdeclarativeanimations)
#include "tst_qdeclarativeanimations.moc"
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/binding.qml b/tests/auto/declarative/qdeclarativebehaviors/data/binding.qml
index 201da37b87..e982f21ae3 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/binding.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/binding.qml
@@ -9,7 +9,7 @@ Rectangle {
objectName: "MyRect"
width: 100; height: 100; color: "green"
x: basex
- x: Behavior { NumberAnimation { duration: 500; } }
+ Behavior on x { NumberAnimation { duration: 500; } }
}
MouseArea {
id: clicker
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/color.qml b/tests/auto/declarative/qdeclarativebehaviors/data/color.qml
index 91dbbd1f85..f2f4742ff4 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/color.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/color.qml
@@ -7,7 +7,7 @@ Rectangle {
objectName: "MyRect"
width: 100; height: 100;
color: "green"
- color: Behavior { ColorAnimation { duration: 500; } }
+ Behavior on color { ColorAnimation { duration: 500; } }
}
MouseArea {
id: clicker
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/cpptrigger.qml b/tests/auto/declarative/qdeclarativebehaviors/data/cpptrigger.qml
index 8d032f02c7..3ea9376670 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/cpptrigger.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/cpptrigger.qml
@@ -6,6 +6,6 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior { NumberAnimation { duration: 500; } }
+ Behavior on x { NumberAnimation { duration: 500; } }
}
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/disabled.qml b/tests/auto/declarative/qdeclarativebehaviors/data/disabled.qml
index 3c7078a890..1403eb93b4 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/disabled.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/disabled.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {
+ Behavior on x {
objectName: "MyBehavior";
enabled: false
NumberAnimation { duration: 200; }
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/dontStart.qml b/tests/auto/declarative/qdeclarativebehaviors/data/dontStart.qml
index ba7cc9cbf0..12b1b7b30e 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/dontStart.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/dontStart.qml
@@ -9,7 +9,7 @@ Rectangle {
id: redRect
width: 100; height: 100
color: Qt.rgba(1,0,0)
- x: Behavior {
+ Behavior on x {
NumberAnimation { objectName: "MyAnim"; running: true }
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/empty.qml b/tests/auto/declarative/qdeclarativebehaviors/data/empty.qml
index 95d934a531..5e30f03a46 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/empty.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/empty.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {}
+ Behavior on x {}
}
MouseArea {
id: clicker
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/explicit.qml b/tests/auto/declarative/qdeclarativebehaviors/data/explicit.qml
index 1b2025a785..ca0ea548ec 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/explicit.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/explicit.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {
+ Behavior on x {
objectName: "MyBehavior";
NumberAnimation { target: rect; property: "x"; duration: 500; }
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty.qml b/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty.qml
index 14883d468a..a6c4ed9f27 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- pos: Behavior { PropertyAnimation { duration: 500; } }
+ Behavior on pos { PropertyAnimation { duration: 500; } }
}
MouseArea {
id: clicker
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty2.qml b/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty2.qml
index b43ddbcd98..2dda220683 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty2.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/groupProperty2.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- pos.x: Behavior { NumberAnimation { duration: 500; } }
+ Behavior on pos.x { NumberAnimation { duration: 500; } }
}
MouseArea {
id: clicker
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/loop.qml b/tests/auto/declarative/qdeclarativebehaviors/data/loop.qml
index 5f2c057e91..61877688cb 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/loop.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/loop.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior { NumberAnimation { duration: 200; } }
+ Behavior on x { NumberAnimation { duration: 200; } }
onXChanged: x = 100;
}
states: State {
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/nonSelecting2.qml b/tests/auto/declarative/qdeclarativebehaviors/data/nonSelecting2.qml
index f267a05f40..640a7d1d07 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/nonSelecting2.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/nonSelecting2.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {
+ Behavior on x {
objectName: "MyBehavior";
NumberAnimation { targets: rect; properties: "y"; duration: 200; }
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/parent.qml b/tests/auto/declarative/qdeclarativebehaviors/data/parent.qml
index 7c7fdcb56f..3860ec7ae4 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/parent.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/parent.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- parent: Behavior {
+ Behavior on parent {
SequentialAnimation {
PauseAnimation { duration: 500 }
PropertyAction {}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml b/tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml
index ba744b1764..6419a6b005 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {
+ Behavior on x {
objectName: "MyBehavior"
NumberAnimation { duration: 200 }
NumberAnimation { duration: 1000 }
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/scripttrigger.qml b/tests/auto/declarative/qdeclarativebehaviors/data/scripttrigger.qml
index a91ca883e2..b22441acb6 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/scripttrigger.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/scripttrigger.qml
@@ -11,6 +11,6 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior { NumberAnimation { duration: 500; } }
+ Behavior on x { NumberAnimation { duration: 500; } }
}
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/simple.qml b/tests/auto/declarative/qdeclarativebehaviors/data/simple.qml
index ac98ed05d9..c28fa9a8b1 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/data/simple.qml
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/simple.qml
@@ -6,7 +6,7 @@ Rectangle {
id: rect
objectName: "MyRect"
width: 100; height: 100; color: "green"
- x: Behavior {
+ Behavior on x {
objectName: "MyBehavior";
NumberAnimation { duration: 500; }
}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
index f87330d4a7..0bf0b81a36 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
+++ b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
@@ -260,7 +260,7 @@ void tst_qdeclarativebehaviors::reassignedAnimation()
{
QDeclarativeEngine engine;
QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/reassignedAnimation.qml"));
- QTest::ignoreMessage(QtWarningMsg, QString("QML Behavior (" + QUrl::fromLocalFile(SRCDIR "/data/reassignedAnimation.qml").toString() + ":9:12) Cannot change the animation assigned to a Behavior.").toUtf8().constData());
+ QTest::ignoreMessage(QtWarningMsg, QString("QML Behavior (" + QUrl::fromLocalFile(SRCDIR "/data/reassignedAnimation.qml").toString() + ":9:9) Cannot change the animation assigned to a Behavior.").toUtf8().constData());
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect);
QCOMPARE(qobject_cast<QDeclarativeNumberAnimation*>(
diff --git a/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
new file mode 100644
index 0000000000..c7affb7b31
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
@@ -0,0 +1,8 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+QT += script network
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativecomponent.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/qdeclarativewebview/testtypes.h b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
index 8eb703f17e..c9e304cc26 100644
--- a/tests/auto/declarative/qdeclarativewebview/testtypes.h
+++ b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
@@ -38,29 +38,38 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef TESTTYPES_H
-#define TESTTYPES_H
+#include <qtest.h>
-#include <private/qdeclarativewebview_p.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
-class MyWebView : public QDeclarativeWebView
+class tst_qdeclarativecomponent : public QObject
{
Q_OBJECT
- Q_PROPERTY(int pixelsPainted READ pixelsPainted);
-
public:
- MyWebView() : pp(0) {}
-
- int pixelsPainted() const { return pp; }
+ tst_qdeclarativecomponent() { }
- void drawContents(QPainter *p, const QRect &r);
+private slots:
+ void loadEmptyUrl();
private:
- int pp;
+ QDeclarativeEngine engine;
};
-QML_DECLARE_TYPE(MyWebView);
+void tst_qdeclarativecomponent::loadEmptyUrl()
+{
+ QDeclarativeComponent c(&engine);
+ c.loadUrl(QUrl());
+
+ QVERIFY(c.isError());
+ QCOMPARE(c.errors().count(), 1);
+ QDeclarativeError error = c.errors().first();
+ QCOMPARE(error.url(), QUrl());
+ QCOMPARE(error.line(), -1);
+ QCOMPARE(error.column(), -1);
+ QCOMPARE(error.description(), QLatin1String("Invalid empty URL"));
+}
-void registerTypes();
+QTEST_MAIN(tst_qdeclarativecomponent)
-#endif // TESTTYPES_H
+#include "tst_qdeclarativecomponent.moc"
diff --git a/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp b/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
index 5f03989930..f0117f56bb 100644
--- a/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
+++ b/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
@@ -60,6 +60,7 @@ private slots:
void setContextProperty();
void addDefaultObject();
void destruction();
+ void idAsContextProperty();
private:
QDeclarativeEngine engine;
@@ -429,6 +430,25 @@ void tst_qdeclarativecontext::destruction()
QCOMPARE(ctxt, expr.context());
}
+void tst_qdeclarativecontext::idAsContextProperty()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import Qt 4.6; QtObject { property var a; a: QtObject { id: myObject } }", QUrl());
+
+ QObject *obj = component.create();
+ QVERIFY(obj);
+
+ QVariant a = obj->property("a");
+ QVERIFY(a.userType() == QMetaType::QObjectStar);
+
+ QVariant ctxt = qmlContext(obj)->contextProperty("myObject");
+ QVERIFY(ctxt.userType() == QMetaType::QObjectStar);
+
+ QVERIFY(a == ctxt);
+
+ delete obj;
+}
+
QTEST_MAIN(tst_qdeclarativecontext)
#include "tst_qdeclarativecontext.moc"
diff --git a/tests/auto/declarative/qdeclarativedatetimeformatter/qdeclarativedatetimeformatter.pro b/tests/auto/declarative/qdeclarativedatetimeformatter/qdeclarativedatetimeformatter.pro
deleted file mode 100644
index 22f53e6d99..0000000000
--- a/tests/auto/declarative/qdeclarativedatetimeformatter/qdeclarativedatetimeformatter.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qdeclarativedatetimeformatter.cpp
diff --git a/tests/auto/declarative/qdeclarativedatetimeformatter/tst_qdeclarativedatetimeformatter.cpp b/tests/auto/declarative/qdeclarativedatetimeformatter/tst_qdeclarativedatetimeformatter.cpp
deleted file mode 100644
index 69d7900ebe..0000000000
--- a/tests/auto/declarative/qdeclarativedatetimeformatter/tst_qdeclarativedatetimeformatter.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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 <qtest.h>
-#include <QtDeclarative/qdeclarativeengine.h>
-#include <QtDeclarative/qdeclarativecomponent.h>
-#include <private/qdeclarativedatetimeformatter_p.h>
-#include <QDebug>
-
-class tst_qdeclarativedatetimeformatter : public QObject
-{
- Q_OBJECT
-public:
- tst_qdeclarativedatetimeformatter() {}
-
-private slots:
- void date();
- void time();
- void dateTime();
-};
-
-void tst_qdeclarativedatetimeformatter::date()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent formatterComponent(&engine);
- formatterComponent.setData(QByteArray("import Qt 4.6\n DateTimeFormatter { date: \"2008-12-24\" }"),
- QUrl::fromLocalFile(""));
- QDeclarativeDateTimeFormatter *formatter = qobject_cast<QDeclarativeDateTimeFormatter*>(formatterComponent.create());
- if(formatterComponent.isError())
- qDebug() << formatterComponent.errors();
- QVERIFY(formatter != 0);
-
- QDate date(2008,12,24);
- QCOMPARE(formatter->date(), date);
- QCOMPARE(formatter->dateTime().date(), date);
- QCOMPARE(formatter->dateText(),date.toString(Qt::SystemLocaleShortDate));
-
- formatter->setLongStyle(true);
- QVERIFY(formatter->longStyle());
- QCOMPARE(formatter->dateText(),date.toString(Qt::SystemLocaleLongDate));
-
- formatter->setDateFormat("ddd MMMM d yy");
- QCOMPARE(formatter->dateFormat(), QLatin1String("ddd MMMM d yy"));
- QCOMPARE(formatter->dateText(),date.toString("ddd MMMM d yy"));
-
- QVERIFY(formatter->timeText().isEmpty());
- QVERIFY(formatter->dateTimeText().isEmpty());
-
- delete formatter;
-}
-
-void tst_qdeclarativedatetimeformatter::time()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent formatterComponent(&engine);
- formatterComponent.setData("import Qt 4.6\n DateTimeFormatter { time: \"14:15:38.200\" }", QUrl::fromLocalFile(""));
- QDeclarativeDateTimeFormatter *formatter = qobject_cast<QDeclarativeDateTimeFormatter*>(formatterComponent.create());
- if(formatterComponent.isError())
- qDebug() << formatterComponent.errors();
- QVERIFY(formatter != 0);
-
- QTime time(14,15,38,200);
-
- QCOMPARE(formatter->time(),time);
- QCOMPARE(formatter->dateTime().time(),time);
-
- QCOMPARE(formatter->timeText(),time.toString(Qt::SystemLocaleShortDate));
-
- formatter->setLongStyle(true);
- QCOMPARE(formatter->timeText(),time.toString(Qt::SystemLocaleLongDate));
-
- formatter->setTimeFormat("H:m:s a");
- QCOMPARE(formatter->timeFormat(), QLatin1String("H:m:s a"));
- QCOMPARE(formatter->timeText(),time.toString("H:m:s a"));
-
- formatter->setTimeFormat("hh:mm:ss.zzz");
- QCOMPARE(formatter->timeText(),time.toString("hh:mm:ss.zzz"));
-
- QVERIFY(formatter->dateText().isEmpty());
- QVERIFY(formatter->dateTimeText().isEmpty());
-
- delete formatter;
-}
-
-void tst_qdeclarativedatetimeformatter::dateTime()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent formatterComponent(&engine);
- formatterComponent.setData("import Qt 4.6\n DateTimeFormatter { dateTime: \"1978-03-04T09:13:54\" }", QUrl::fromLocalFile(""));
- QDeclarativeDateTimeFormatter *formatter = qobject_cast<QDeclarativeDateTimeFormatter*>(formatterComponent.create());
- if(formatterComponent.isError())
- qDebug() << formatterComponent.errors();
- QVERIFY(formatter != 0);
-
- QDateTime dateTime(QDate(1978,03,04),QTime(9,13,54));
- QCOMPARE(formatter->dateTime(),dateTime);
- QCOMPARE(formatter->date(),dateTime.date());
- QCOMPARE(formatter->time(),dateTime.time());
- QCOMPARE(formatter->dateTimeText(),dateTime.toString(Qt::SystemLocaleShortDate));
-
- formatter->setLongStyle(true);
- QCOMPARE(formatter->dateTimeText(),dateTime.toString(Qt::SystemLocaleLongDate));
-
- formatter->setDateTimeFormat("M/d/yy H:m:s a");
- QCOMPARE(formatter->dateTimeFormat(), QLatin1String("M/d/yy H:m:s a"));
- QCOMPARE(formatter->dateTimeText(),dateTime.toString("M/d/yy H:m:s a"));
-
- delete formatter;
-}
-
-QTEST_MAIN(tst_qdeclarativedatetimeformatter)
-
-#include "tst_qdeclarativedatetimeformatter.moc"
diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
index 95432806b9..6cd0bdb8bd 100644
--- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
+++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
@@ -274,7 +274,7 @@ void tst_qdeclarativedom::loadComposite()
void tst_qdeclarativedom::testValueSource()
{
QByteArray qml = "import Qt 4.6\n"
- "Rectangle { height: SpringFollow { spring: 1.4; damping: .15; source: Math.min(Math.max(-130, value*2.2 - 130), 133); }}";
+ "Rectangle { SpringFollow on height { spring: 1.4; damping: .15; source: Math.min(Math.max(-130, value*2.2 - 130), 133); }}";
QDeclarativeEngine freshEngine;
QDeclarativeDomDocument document;
@@ -306,7 +306,7 @@ void tst_qdeclarativedom::testValueSource()
void tst_qdeclarativedom::testValueInterceptor()
{
QByteArray qml = "import Qt 4.6\n"
- "Rectangle { height: Behavior { NumberAnimation { duration: 100 } } }";
+ "Rectangle { Behavior on height { NumberAnimation { duration: 100 } } }";
QDeclarativeEngine freshEngine;
QDeclarativeDomDocument document;
@@ -823,8 +823,8 @@ void tst_qdeclarativedom::copy()
" property int a: 10\n"
" x: 10\n"
" y: x + 10\n"
- " z: NumberAnimation {}\n"
- " opacity: Behavior {}\n"
+ " NumberAnimation on z {}\n"
+ " Behavior on opacity {}\n"
" Component {\n"
" Item{}\n"
" }\n"
@@ -1193,18 +1193,18 @@ void tst_qdeclarativedom::copy()
void tst_qdeclarativedom::position()
{
QByteArray qml = "import Qt 4.6\n"
- /*14*/ "Item {\n"
- /*21*/ " id: myItem\n"
- /*36*/ " property int a: 10\n"
- /*59*/ " x: 10\n"
- /*69*/ " y: x + 10\n"
- /*83*/ " z: NumberAnimation {}\n"
- /*109*/ " opacity: Behavior {}\n"
- /*134*/ " Component {\n"
- /*150*/ " Item{}\n"
- /*165*/ " }\n"
- /*171*/ " children: [ Item{}, Item{} ]\n"
- /*204*/ "}\n";
+ "Item {\n"
+ " id: myItem\n"
+ " property int a: 10\n"
+ " x: 10\n"
+ " y: x + 10\n"
+ " NumberAnimation on z {}\n"
+ " Behavior on opacity {}\n"
+ " Component {\n"
+ " Item{}\n"
+ " }\n"
+ " children: [ Item{}, Item{} ]\n"
+ "}\n";
QDeclarativeDomDocument document;
@@ -1227,19 +1227,19 @@ void tst_qdeclarativedom::position()
QCOMPARE(y.length(), 1);
QDeclarativeDomProperty z = root.property("z");
- QCOMPARE(z.position(), 87);
+ QCOMPARE(z.position(), 106);
QCOMPARE(z.length(), 1);
QDeclarativeDomProperty opacity = root.property("opacity");
- QCOMPARE(opacity.position(), 113);
+ QCOMPARE(opacity.position(), 127);
QCOMPARE(opacity.length(), 7);
QDeclarativeDomProperty data = root.property("data");
- QCOMPARE(data.position(), 138);
+ QCOMPARE(data.position(), 142);
QCOMPARE(data.length(), 0);
QDeclarativeDomProperty children = root.property("children");
- QCOMPARE(children.position(), 175);
+ QCOMPARE(children.position(), 179);
QCOMPARE(children.length(), 8);
QDeclarativeDomList dataList = data.value().toList();
@@ -1249,30 +1249,30 @@ void tst_qdeclarativedom::position()
// All QDeclarativeDomObject
QCOMPARE(root.position(), 14);
- QCOMPARE(root.length(), 191);
+ QCOMPARE(root.length(), 195);
QDeclarativeDomObject numberAnimation = z.value().toValueSource().object();
- QCOMPARE(numberAnimation.position(), 90);
- QCOMPARE(numberAnimation.length(), 18);
+ QCOMPARE(numberAnimation.position(), 87);
+ QCOMPARE(numberAnimation.length(), 23);
QDeclarativeDomObject behavior = opacity.value().toValueInterceptor().object();
- QCOMPARE(behavior.position(), 122);
- QCOMPARE(behavior.length(), 11);
+ QCOMPARE(behavior.position(), 115);
+ QCOMPARE(behavior.length(), 22);
QDeclarativeDomObject component = dataList.values().at(0).toObject();
- QCOMPARE(component.position(), 138);
+ QCOMPARE(component.position(), 142);
QCOMPARE(component.length(), 32);
QDeclarativeDomObject componentRoot = component.toComponent().componentRoot();
- QCOMPARE(componentRoot.position(), 158);
+ QCOMPARE(componentRoot.position(), 162);
QCOMPARE(componentRoot.length(), 6);
QDeclarativeDomObject child1 = childrenList.values().at(0).toObject();
- QCOMPARE(child1.position(), 187);
+ QCOMPARE(child1.position(), 191);
QCOMPARE(child1.length(), 6);
QDeclarativeDomObject child2 = childrenList.values().at(1).toObject();
- QCOMPARE(child2.position(), 195);
+ QCOMPARE(child2.position(), 199);
QCOMPARE(child2.length(), 6);
// All QDeclarativeDomValue
@@ -1285,23 +1285,23 @@ void tst_qdeclarativedom::position()
QCOMPARE(yValue.length(), 6);
QDeclarativeDomValue zValue = z.value();
- QCOMPARE(zValue.position(), 90);
- QCOMPARE(zValue.length(), 18);
+ QCOMPARE(zValue.position(), 87);
+ QCOMPARE(zValue.length(), 23);
QDeclarativeDomValue opacityValue = opacity.value();
- QCOMPARE(opacityValue.position(), 122);
- QCOMPARE(opacityValue.length(), 11);
+ QCOMPARE(opacityValue.position(), 115);
+ QCOMPARE(opacityValue.length(), 22);
QDeclarativeDomValue dataValue = data.value();
- QCOMPARE(dataValue.position(), 138);
+ QCOMPARE(dataValue.position(), 142);
QCOMPARE(dataValue.length(), 32);
QDeclarativeDomValue child1Value = childrenList.values().at(0);
- QCOMPARE(child1Value.position(), 187);
+ QCOMPARE(child1Value.position(), 191);
QCOMPARE(child1Value.length(), 6);
QDeclarativeDomValue child2Value = childrenList.values().at(1);
- QCOMPARE(child2Value.position(), 195);
+ QCOMPARE(child2Value.position(), 199);
QCOMPARE(child2Value.length(), 6);
// All QDeclarativeDomList
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/attachedPropertyScope.qml b/tests/auto/declarative/qdeclarativeecmascript/data/attachedPropertyScope.qml
new file mode 100644
index 0000000000..4b5464d56e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/attachedPropertyScope.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+import Qt.test 1.0
+
+QtObject {
+ property int value: 9
+ property int value2
+
+ MyQmlObject.onMySignal: value2 = value
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/methods.5.qml b/tests/auto/declarative/qdeclarativeecmascript/data/methods.5.qml
index 3d45b152a3..5ba324adf0 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/data/methods.5.qml
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/methods.5.qml
@@ -1,7 +1,7 @@
import Qt 4.6
Item {
- property alias x: item.x
+ property alias blah: item.x
Item { id: item }
function testFunction() { return 9; }
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml
new file mode 100644
index 0000000000..4ad7f340a0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml
@@ -0,0 +1,13 @@
+import Qt 4.6
+
+Item {
+ id: root
+
+ property int foo: 12
+ property int console: 11
+
+ property bool test1: foo == 12
+ property bool test2: console != 11
+ property bool test3: root.console == 11
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scope.4.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scope.4.qml
new file mode 100644
index 0000000000..d65b6e7c7c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scope.4.qml
@@ -0,0 +1,12 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ id: a
+ property int b: 9
+
+ property int test
+ property string test2
+
+ // Should resolve to signal arguments, not to other elements in the file
+ onArgumentSignal: { test = a; test2 = b; }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.1.qml
new file mode 100644
index 0000000000..2bdd706922
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.1.qml
@@ -0,0 +1,16 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property bool test: false
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test = true;
+ }
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(testFunction);
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.2.qml
new file mode 100644
index 0000000000..fa90918d5e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.2.qml
@@ -0,0 +1,22 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property bool test: false
+
+ id: root
+
+ Script {
+ function testFunction() {
+ if (this.b == 12)
+ test = true;
+ }
+ }
+
+ Component.onCompleted: {
+ var a = new Object;
+ a.b = 12;
+ root.argumentSignal.connect(a, testFunction);
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.3.qml
new file mode 100644
index 0000000000..0d8e6efda0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.3.qml
@@ -0,0 +1,15 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property bool test: false
+
+ id: root
+
+ function testFunction() {
+ test = true;
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(testFunction);
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.4.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.4.qml
new file mode 100644
index 0000000000..3e1ff1b6c1
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.4.qml
@@ -0,0 +1,12 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property bool test: false
+
+ id: root
+
+ Component.onCompleted: root.argumentSignal.connect(methodNoArgs);
+}
+
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.5.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.5.qml
new file mode 100644
index 0000000000..3ad5cbc95d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.5.qml
@@ -0,0 +1,11 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property bool test: false
+
+ id: root
+
+ Component.onCompleted: root.argumentSignal.connect(root, methodNoArgs);
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.6.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.6.qml
new file mode 100644
index 0000000000..8c35db1f6e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptConnect.6.qml
@@ -0,0 +1,20 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property int test: 0
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test++;
+ }
+ }
+
+ Component.onCompleted: {
+ root.argumentSignal.connect(testFunction);
+ root.argumentSignal.connect(testFunction);
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.1.qml
new file mode 100644
index 0000000000..45c4f738bd
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.1.qml
@@ -0,0 +1,18 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property int test: 0
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test++;
+ }
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(testFunction);
+
+ onBasicSignal: root.argumentSignal.disconnect(testFunction);
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.2.qml
new file mode 100644
index 0000000000..a47fe74eda
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.2.qml
@@ -0,0 +1,19 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property int test: 0
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test++;
+ }
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(root, testFunction);
+
+ onBasicSignal: root.argumentSignal.disconnect(root, testFunction);
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.3.qml
new file mode 100644
index 0000000000..c95ffbf27d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.3.qml
@@ -0,0 +1,19 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property int test: 0
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test++;
+ }
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(root, testFunction);
+
+ onBasicSignal: root.argumentSignal.disconnect(testFunction);
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.4.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.4.qml
new file mode 100644
index 0000000000..342f24aa2c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptDisconnect.4.qml
@@ -0,0 +1,20 @@
+import Qt.test 1.0
+import Qt 4.6
+
+MyQmlObject {
+ property int test: 0
+
+ id: root
+
+ Script {
+ function testFunction() {
+ test++;
+ }
+ function otherFunction() {
+ }
+ }
+
+ Component.onCompleted: root.argumentSignal.connect(testFunction);
+
+ onBasicSignal: root.argumentSignal.disconnect(otherFunction);
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.1.qml
new file mode 100644
index 0000000000..9b11fa9ed9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.1.qml
@@ -0,0 +1,13 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ property string result
+
+ Script{
+ function f() {
+ result = b
+ }
+
+ }
+ onArgumentSignal: f()
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.2.qml
new file mode 100644
index 0000000000..ec727e23d8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.2.qml
@@ -0,0 +1,11 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ property string result
+ property string aProp: "hello"
+
+ Script{
+ source: "scriptScope.js"
+ }
+ onBasicSignal: f()
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.js b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.js
new file mode 100644
index 0000000000..568993023f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptScope.js
@@ -0,0 +1,5 @@
+var aProp = "world";
+
+function f() {
+ result = aProp;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
index 8fbd0714b4..a283e3f31b 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
@@ -60,10 +60,21 @@ class MyQmlAttachedObject : public QObject
{
Q_OBJECT
Q_PROPERTY(int value READ value CONSTANT)
+ Q_PROPERTY(int value2 READ value2 WRITE setValue2)
public:
- MyQmlAttachedObject(QObject *parent) : QObject(parent) {}
+ MyQmlAttachedObject(QObject *parent) : QObject(parent), m_value2(0) {}
int value() const { return 19; }
+ int value2() const { return m_value2; }
+ void setValue2(int v) { m_value2 = v; }
+
+ void emitMySignal() { emit mySignal(); }
+
+signals:
+ void mySignal();
+
+private:
+ int m_value2;
};
class MyQmlObject : public QObject
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 60c380c076..4838288cac 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -122,6 +122,10 @@ private slots:
void listToVariant();
void multiEngineObject();
void deletedObject();
+ void scriptScope();
+ void attachedPropertyScope();
+ void scriptConnect();
+ void scriptDisconnect();
void bug1();
@@ -728,6 +732,33 @@ void tst_qdeclarativeecmascript::scope()
QCOMPARE(object->property("test5").toInt(), 24);
QCOMPARE(object->property("test6").toInt(), 24);
}
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scope.3.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test1").toBool(), true);
+ QCOMPARE(object->property("test2").toBool(), true);
+ QCOMPARE(object->property("test3").toBool(), true);
+ }
+
+ // Signal argument scope
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scope.4.qml"));
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ QCOMPARE(object->property("test2").toString(), QString());
+
+ emit object->argumentSignal(13, "Argument Scope", 9);
+
+ QCOMPARE(object->property("test").toInt(), 13);
+ QCOMPARE(object->property("test2").toString(), QString("Argument Scope"));
+
+ delete object;
+ }
}
/*
@@ -1657,6 +1688,211 @@ void tst_qdeclarativeecmascript::deletedObject()
delete object;
}
+void tst_qdeclarativeecmascript::scriptScope()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptScope.1.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("result").toString(), QString());
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptScope.2.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+ emit object->basicSignal();
+ QCOMPARE(object->property("result").toString(), QLatin1String("world"));
+
+ delete object;
+ }
+}
+
+void tst_qdeclarativeecmascript::attachedPropertyScope()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("attachedPropertyScope.qml"));
+
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ MyQmlAttachedObject *attached =
+ qobject_cast<MyQmlAttachedObject *>(qmlAttachedPropertiesObject<MyQmlObject>(object));
+ QVERIFY(attached != 0);
+
+ QCOMPARE(object->property("value2").toInt(), 0);
+
+ attached->emitMySignal();
+
+ QCOMPARE(object->property("value2").toInt(), 9);
+
+ delete object;
+}
+
+void tst_qdeclarativeecmascript::scriptConnect()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.1.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toBool(), false);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toBool(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.2.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toBool(), false);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toBool(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.3.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toBool(), false);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toBool(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.4.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->methodCalled(), false);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->methodCalled(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.5.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->methodCalled(), false);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->methodCalled(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptConnect.6.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+
+ delete object;
+ }
+}
+
+void tst_qdeclarativeecmascript::scriptDisconnect()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptDisconnect.1.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 1);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->basicSignal();
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptDisconnect.2.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 1);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->basicSignal();
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptDisconnect.3.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 1);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->basicSignal();
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 3);
+
+ delete object;
+ }
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptDisconnect.4.qml"));
+
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toInt(), 0);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 1);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->basicSignal();
+ QCOMPARE(object->property("test").toInt(), 2);
+ emit object->argumentSignal(19, "Hello world!", 10.3);
+ QCOMPARE(object->property("test").toInt(), 3);
+
+ delete object;
+ }
+
+}
+
QTEST_MAIN(tst_qdeclarativeecmascript)
#include "tst_qdeclarativeecmascript.moc"
diff --git a/tests/auto/declarative/qdeclarativegridview/data/gridview-enforcerange.qml b/tests/auto/declarative/qdeclarativegridview/data/gridview-enforcerange.qml
new file mode 100644
index 0000000000..e45c4c3bef
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativegridview/data/gridview-enforcerange.qml
@@ -0,0 +1,56 @@
+import Qt 4.6
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ objectName: "wrapper"
+ height: 100
+ width: 100
+ Text {
+ text: index
+ }
+ Text {
+ y: 25
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ y: 50
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ y: 75
+ text: wrapper.y
+ }
+ }
+ }
+
+ Component {
+ id: myHighlight
+ Rectangle {
+ color: "lightsteelblue"
+ }
+ }
+
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ highlight: myHighlight
+ preferredHighlightBegin: 100
+ preferredHighlightEnd: 100
+ highlightRangeMode: "StrictlyEnforceRange"
+ focus: true
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativegridview/data/gridview.qml b/tests/auto/declarative/qdeclarativegridview/data/gridview.qml
index 344b4b5939..ba6b807132 100644
--- a/tests/auto/declarative/qdeclarativegridview/data/gridview.qml
+++ b/tests/auto/declarative/qdeclarativegridview/data/gridview.qml
@@ -1,6 +1,10 @@
import Qt 4.6
Rectangle {
+ id: root
+ property int added: -1
+ property var removed
+
width: 240
height: 320
color: "#ffffff"
@@ -33,6 +37,8 @@ Rectangle {
text: number
}
color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ GridView.onAdd: root.added = index
+ GridView.onRemove: root.removed = name
}
}
]
diff --git a/tests/auto/declarative/qdeclarativegridview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativegridview/data/propertychanges.qml
new file mode 100644
index 0000000000..da2e8d00de
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativegridview/data/propertychanges.qml
@@ -0,0 +1,69 @@
+import Qt 4.6
+
+Rectangle {
+ width: 360; height: 120; color: "white"
+ Component {
+ id: delegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+ Component {
+ id: highlightRed
+ Rectangle {
+ color: "red"
+ radius: 10
+ opacity: 0.5
+ }
+ }
+ GridView {
+ cellWidth:180
+ cellHeight:40
+ objectName: "gridView"
+ anchors.fill: parent
+ model: listModel
+ delegate: delegate
+ highlight: highlightRed
+ focus: true
+ keyNavigationWraps: true
+ cacheBuffer: 10
+ flow: GridView.LeftToRight
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ }
+ ]
+}
+
+ \ No newline at end of file
diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
index 2a60feef16..a1edc53f94 100644
--- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
+++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
@@ -39,16 +39,17 @@
**
****************************************************************************/
-#include <qdeclarativeengine.h>
-#include <qdeclarativecomponent.h>
-#include <QStringListModel>
#include <QtTest/QtTest>
-#include <private/qlistmodelinterface_p.h>
-#include <qdeclarativeview.h>
-#include <private/qdeclarativegridview_p.h>
-#include <private/qdeclarativetext_p.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarativeexpression.h>
+#include <QtGui/qstringlistmodel.h>
+#include <QtDeclarative/qdeclarativeview.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qlistmodelinterface_p.h>
+#include <QtDeclarative/private/qdeclarativegridview_p.h>
+#include <QtDeclarative/private/qdeclarativetext_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
class tst_QDeclarativeGridView : public QObject
{
@@ -66,8 +67,12 @@ private slots:
void currentIndex();
void defaultValues();
void properties();
+ void propertyChanges();
+ void componentChanges();
+ void modelChanges();
void positionViewAtIndex();
void resetModel();
+ void enforceRange();
void QTBUG_8456();
private:
@@ -91,7 +96,7 @@ public:
setRoleNames(roles);
}
- int rowCount(const QModelIndex &parent=QModelIndex()) const { return list.count(); }
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
QVariant rv;
if (role == Name)
@@ -253,7 +258,7 @@ void tst_QDeclarativeGridView::inserted()
model.insertItem(1, "Will", "9876");
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
QCOMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
@@ -264,6 +269,10 @@ void tst_QDeclarativeGridView::inserted()
QVERIFY(number != 0);
QCOMPARE(number->text(), model.number(1));
+ // Checks that onAdd is called
+ int added = canvas->rootObject()->property("added").toInt();
+ QCOMPARE(added, 1);
+
// Confirm items positioned correctly
for (int i = 0; i < model.count(); ++i) {
QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i);
@@ -274,7 +283,7 @@ void tst_QDeclarativeGridView::inserted()
model.insertItem(0, "Foo", "1111"); // zero index, and current item
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
QCOMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
@@ -296,14 +305,14 @@ void tst_QDeclarativeGridView::inserted()
for (int i = model.count(); i < 30; ++i)
model.insertItem(i, "Hello", QString::number(i));
- QTest::qWait(300);
+ QTest::qWait(100);
gridview->setContentY(120);
- QTest::qWait(300);
+ QTest::qWait(100);
// Insert item outside visible area
model.insertItem(1, "Hello", "1324");
- QTest::qWait(300);
+ QTest::qWait(100);
QVERIFY(gridview->contentY() == 120);
@@ -334,7 +343,7 @@ void tst_QDeclarativeGridView::removed()
model.removeItem(1);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1);
QVERIFY(name != 0);
@@ -343,6 +352,10 @@ void tst_QDeclarativeGridView::removed()
QVERIFY(number != 0);
QCOMPARE(number->text(), model.number(1));
+ // Checks that onRemove is called
+ QString removed = canvas->rootObject()->property("removed").toString();
+ QCOMPARE(removed, QString("Item1"));
+
// Confirm items positioned correctly
int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
for (int i = 0; i < model.count() && i < itemCount; ++i) {
@@ -357,7 +370,7 @@ void tst_QDeclarativeGridView::removed()
model.removeItem(0);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
name = findItem<QDeclarativeText>(viewport, "textName", 0);
QVERIFY(name != 0);
@@ -379,7 +392,7 @@ void tst_QDeclarativeGridView::removed()
// Remove items not visible
model.removeItem(25);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Confirm items positioned correctly
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
@@ -393,11 +406,11 @@ void tst_QDeclarativeGridView::removed()
// Remove items before visible
gridview->setContentY(120);
- QTest::qWait(500);
+ QTest::qWait(100);
gridview->setCurrentIndex(10);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Setting currentIndex above shouldn't cause view to scroll
QCOMPARE(gridview->contentY(), 120.0);
@@ -405,7 +418,7 @@ void tst_QDeclarativeGridView::removed()
model.removeItem(1);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Confirm items positioned correctly
for (int i = 6; i < 18; ++i) {
@@ -419,14 +432,14 @@ void tst_QDeclarativeGridView::removed()
// Remove currentIndex
QDeclarativeItem *oldCurrent = gridview->currentItem();
model.removeItem(9);
- QTest::qWait(500);
+ QTest::qWait(100);
QCOMPARE(gridview->currentIndex(), 9);
QVERIFY(gridview->currentItem() != oldCurrent);
gridview->setContentY(0);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Confirm items positioned correctly
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
@@ -440,7 +453,7 @@ void tst_QDeclarativeGridView::removed()
// remove item outside current view.
gridview->setCurrentIndex(32);
- QTest::qWait(500);
+ QTest::qWait(100);
gridview->setContentY(240);
model.removeItem(30);
@@ -448,21 +461,21 @@ void tst_QDeclarativeGridView::removed()
// remove current item beyond visible items.
gridview->setCurrentIndex(20);
- QTest::qWait(500);
+ QTest::qWait(100);
gridview->setContentY(0);
model.removeItem(20);
- QTest::qWait(500);
+ QTest::qWait(100);
QCOMPARE(gridview->currentIndex(), 20);
QVERIFY(gridview->currentItem() != 0);
// remove item before current, but visible
gridview->setCurrentIndex(8);
- QTest::qWait(500);
+ QTest::qWait(100);
gridview->setContentY(240);
oldCurrent = gridview->currentItem();
model.removeItem(6);
- QTest::qWait(500);
+ QTest::qWait(100);
QCOMPARE(gridview->currentIndex(), 7);
QVERIFY(gridview->currentItem() == oldCurrent);
@@ -494,7 +507,7 @@ void tst_QDeclarativeGridView::moved()
model.moveItem(1, 8);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1);
QVERIFY(name != 0);
@@ -526,7 +539,7 @@ void tst_QDeclarativeGridView::moved()
model.moveItem(1, 25);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Confirm items positioned correctly and indexes correct
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count()-1;
@@ -548,7 +561,7 @@ void tst_QDeclarativeGridView::moved()
model.moveItem(28, 8);
// let transitions settle.
- QTest::qWait(300);
+ QTest::qWait(100);
// Confirm items positioned correctly and indexes correct
for (int i = 6; i < model.count()-6 && i < itemCount+6; ++i) {
@@ -591,7 +604,7 @@ void tst_QDeclarativeGridView::currentIndex()
QDeclarativeItem *viewport = gridview->viewport();
QVERIFY(viewport != 0);
- QTest::qWait(500);
+ QTest::qWait(300);
// current item should be third item
QCOMPARE(gridview->currentIndex(), 5);
@@ -618,7 +631,7 @@ void tst_QDeclarativeGridView::currentIndex()
QCOMPARE(gridview->currentIndex(), 0);
gridview->setCurrentIndex(model.count()-1);
- QTest::qWait(500);
+ QTest::qWait(100);
QCOMPARE(gridview->currentIndex(), model.count()-1);
gridview->moveCurrentIndexRight();
@@ -647,9 +660,14 @@ void tst_QDeclarativeGridView::currentIndex()
QCOMPARE(gridview->contentY(), 0.0);
// Test keys
- qApp->setActiveWindow(canvas);
canvas->show();
- canvas->setFocus();
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QVERIFY(canvas->hasFocus());
+ QVERIFY(canvas->scene()->hasFocus());
qApp->processEvents();
QTest::keyClick(canvas, Qt::Key_Down);
@@ -660,7 +678,6 @@ void tst_QDeclarativeGridView::currentIndex()
gridview->setFlow(QDeclarativeGridView::TopToBottom);
- QEXPECT_FAIL("", "QTBUG-8475", Abort);
QTest::keyClick(canvas, Qt::Key_Right);
QCOMPARE(gridview->currentIndex(), 5);
@@ -677,8 +694,6 @@ void tst_QDeclarativeGridView::currentIndex()
// turn off auto highlight
gridview->setHighlightFollowsCurrentItem(false);
QVERIFY(gridview->highlightFollowsCurrentItem() == false);
-
- QTest::qWait(500);
QVERIFY(gridview->highlightItem());
qreal hlPosX = gridview->highlightItem()->x();
qreal hlPosY = gridview->highlightItem()->y();
@@ -729,7 +744,7 @@ void tst_QDeclarativeGridView::changeFlow()
}
ctxt->setContextProperty("testTopToBottom", QVariant(true));
- QTest::qWait(500);
+ QTest::qWait(100);
// Confirm items positioned correctly and indexes correct
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
@@ -796,6 +811,107 @@ void tst_QDeclarativeGridView::properties()
delete obj;
}
+void tst_QDeclarativeGridView::propertyChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeGridView *gridView = canvas->rootObject()->findChild<QDeclarativeGridView*>("gridView");
+ QVERIFY(gridView);
+
+ QSignalSpy keyNavigationWrapsSpy(gridView, SIGNAL(keyNavigationWrapsChanged()));
+ QSignalSpy cacheBufferSpy(gridView, SIGNAL(cacheBufferChanged()));
+ QSignalSpy flowSpy(gridView, SIGNAL(flowChanged()));
+
+ QCOMPARE(gridView->isWrapEnabled(), true);
+ QCOMPARE(gridView->cacheBuffer(), 10);
+ QCOMPARE(gridView->flow(), QDeclarativeGridView::LeftToRight);
+
+ gridView->setWrapEnabled(false);
+ gridView->setCacheBuffer(3);
+ gridView->setFlow(QDeclarativeGridView::TopToBottom);
+
+ QCOMPARE(gridView->isWrapEnabled(), false);
+ QCOMPARE(gridView->cacheBuffer(), 3);
+ QCOMPARE(gridView->flow(), QDeclarativeGridView::TopToBottom);
+
+ QCOMPARE(keyNavigationWrapsSpy.count(),1);
+ QCOMPARE(cacheBufferSpy.count(),1);
+ QCOMPARE(flowSpy.count(),1);
+
+ gridView->setWrapEnabled(false);
+ gridView->setCacheBuffer(3);
+ gridView->setFlow(QDeclarativeGridView::TopToBottom);
+
+ QCOMPARE(keyNavigationWrapsSpy.count(),1);
+ QCOMPARE(cacheBufferSpy.count(),1);
+ QCOMPARE(flowSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QDeclarativeGridView::componentChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeGridView *gridView = canvas->rootObject()->findChild<QDeclarativeGridView*>("gridView");
+ QVERIFY(gridView);
+
+ QDeclarativeComponent component(canvas->engine());
+ component.setData("import Qt 4.6; Rectangle { color: \"blue\"; }", QUrl::fromLocalFile(""));
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import Qt 4.6; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy highlightSpy(gridView, SIGNAL(highlightChanged()));
+ QSignalSpy delegateSpy(gridView, SIGNAL(delegateChanged()));
+
+ gridView->setHighlight(&component);
+ gridView->setDelegate(&delegateComponent);
+
+ QCOMPARE(gridView->highlight(), &component);
+ QCOMPARE(gridView->delegate(), &delegateComponent);
+
+ QCOMPARE(highlightSpy.count(),1);
+ QCOMPARE(delegateSpy.count(),1);
+
+ gridView->setHighlight(&component);
+ gridView->setDelegate(&delegateComponent);
+
+ QCOMPARE(highlightSpy.count(),1);
+ QCOMPARE(delegateSpy.count(),1);
+ delete canvas;
+}
+
+void tst_QDeclarativeGridView::modelChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeGridView *gridView = canvas->rootObject()->findChild<QDeclarativeGridView*>("gridView");
+ QVERIFY(gridView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QVERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(gridView, SIGNAL(modelChanged()));
+
+ gridView->setModel(modelVariant);
+ QCOMPARE(gridView->model(), modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ gridView->setModel(modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ gridView->setModel(QVariant());
+ QCOMPARE(modelSpy.count(),2);
+ delete canvas;
+}
+
void tst_QDeclarativeGridView::positionViewAtIndex()
{
QDeclarativeView *canvas = createView();
@@ -927,6 +1043,53 @@ void tst_QDeclarativeGridView::resetModel()
}
}
+void tst_QDeclarativeGridView::enforceRange()
+{
+ QDeclarativeView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview-enforcerange.qml"));
+ qApp->processEvents();
+
+ QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid");
+ QVERIFY(gridview != 0);
+
+ QCOMPARE(gridview->preferredHighlightBegin(), 100.0);
+ QCOMPARE(gridview->preferredHighlightEnd(), 100.0);
+ QCOMPARE(gridview->highlightRangeMode(), QDeclarativeGridView::StrictlyEnforceRange);
+
+ QDeclarativeItem *viewport = gridview->viewport();
+ QVERIFY(viewport != 0);
+
+ // view should be positioned at the top of the range.
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(gridview->contentY(), -100.0);
+
+ QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 0);
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), model.name(0));
+ QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 0);
+ QVERIFY(number != 0);
+ QCOMPARE(number->text(), model.number(0));
+
+ // Check currentIndex is updated when viewport moves
+ gridview->setContentY(0);
+ QCOMPARE(gridview->currentIndex(), 2);
+
+ gridview->setCurrentIndex(5);
+ QTest::qWait(500);
+ QCOMPARE(gridview->contentY(), 100.);
+
+ delete canvas;
+}
+
void tst_QDeclarativeGridView::QTBUG_8456()
{
QDeclarativeView *canvas = createView();
diff --git a/tests/auto/declarative/qdeclarativeitem/data/keynavigation.qml b/tests/auto/declarative/qdeclarativeitem/data/keynavigation.qml
index 9281a17cfe..08da901ed5 100644
--- a/tests/auto/declarative/qdeclarativeitem/data/keynavigation.qml
+++ b/tests/auto/declarative/qdeclarativeitem/data/keynavigation.qml
@@ -11,6 +11,8 @@ Grid {
color: focus ? "red" : "lightgray"
KeyNavigation.right: item2
KeyNavigation.down: item3
+ KeyNavigation.tab: item2
+ KeyNavigation.backtab: item4
}
Rectangle {
id: item2
@@ -19,6 +21,8 @@ Grid {
color: focus ? "red" : "lightgray"
KeyNavigation.left: item1
KeyNavigation.down: item4
+ KeyNavigation.tab: item3
+ KeyNavigation.backtab: item1
}
Rectangle {
id: item3
@@ -27,6 +31,8 @@ Grid {
color: focus ? "red" : "lightgray"
KeyNavigation.right: item4
KeyNavigation.up: item1
+ KeyNavigation.tab: item4
+ KeyNavigation.backtab: item2
}
Rectangle {
id: item4
@@ -35,5 +41,7 @@ Grid {
color: focus ? "red" : "lightgray"
KeyNavigation.left: item3
KeyNavigation.up: item2
+ KeyNavigation.tab: item1
+ KeyNavigation.backtab: item3
}
}
diff --git a/tests/auto/declarative/qdeclarativeitem/data/keys.qml b/tests/auto/declarative/qdeclarativeitem/data/keys.qml
index f3c1f7b546..7d34fc8463 100644
--- a/tests/auto/declarative/qdeclarativeitem/data/keys.qml
+++ b/tests/auto/declarative/qdeclarativeitem/data/keys.qml
@@ -7,6 +7,8 @@ Item {
Keys.onReturnPressed: keysTestObject.keyPress(event.key, "Return", event.modifiers)
Keys.onDigit0Pressed: keysTestObject.keyPress(event.key, event.text, event.modifiers)
Keys.onDigit9Pressed: { event.accepted = false; keysTestObject.keyPress(event.key, event.text, event.modifiers) }
+ Keys.onTabPressed: keysTestObject.keyPress(event.key, "Tab", event.modifiers)
+ Keys.onBacktabPressed: keysTestObject.keyPress(event.key, "Backtab", event.modifiers)
Keys.forwardTo: [ item2 ]
Keys.enabled: enableKeyHanding
diff --git a/tests/auto/declarative/qdeclarativeitem/data/mapCoordinates.qml b/tests/auto/declarative/qdeclarativeitem/data/mapCoordinates.qml
new file mode 100644
index 0000000000..40a21063ee
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/mapCoordinates.qml
@@ -0,0 +1,43 @@
+import Qt 4.6
+
+Item {
+ id: root; objectName: "root"
+ width: 200; height: 200
+
+ Item { id: itemA; objectName: "itemA"; x: 50; y: 50 }
+
+ Item {
+ x: 50; y: 50
+ Item { id: itemB; objectName: "itemB"; x: 100; y: 100 }
+ }
+
+ function mapAToB(x, y) {
+ var pos = itemA.mapToItem(itemB, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAFromB(x, y) {
+ var pos = itemA.mapFromItem(itemB, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAToNull(x, y) {
+ var pos = itemA.mapToItem(null, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAFromNull(x, y) {
+ var pos = itemA.mapFromItem(null, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function checkMapAToInvalid(x, y) {
+ var pos = itemA.mapToItem(1122, x, y)
+ return pos.x == undefined && pos.y == undefined
+ }
+
+ function checkMapAFromInvalid(x, y) {
+ var pos = itemA.mapFromItem(1122, x, y)
+ return pos.x == undefined && pos.y == undefined
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
index 36dcf1f6ef..bbcc86ebae 100644
--- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
+++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
@@ -58,6 +58,8 @@ private slots:
void keyNavigation();
void smooth();
void clip();
+ void mapCoordinates();
+ void mapCoordinates_data();
private:
template<typename T>
@@ -176,6 +178,26 @@ void tst_QDeclarativeItem::keys()
testObject->reset();
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Tab));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_Tab));
+ QCOMPARE(testObject->mText, QLatin1String("Tab"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Backtab));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_Backtab));
+ QCOMPARE(testObject->mText, QLatin1String("Backtab"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(false));
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1);
@@ -240,6 +262,26 @@ void tst_QDeclarativeItem::keyNavigation()
item = findItem<QDeclarativeItem>(canvas->rootObject(), "item1");
QVERIFY(item);
QVERIFY(item->hasFocus());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasFocus());
+
+ delete canvas;
}
void tst_QDeclarativeItem::smooth()
@@ -263,6 +305,8 @@ void tst_QDeclarativeItem::smooth()
QCOMPARE(spy.count(),2);
item->setSmooth(false);
QCOMPARE(spy.count(),2);
+
+ delete item;
}
void tst_QDeclarativeItem::clip()
@@ -286,6 +330,66 @@ void tst_QDeclarativeItem::clip()
QCOMPARE(spy.count(),2);
item->setClip(false);
QCOMPARE(spy.count(),2);
+
+ delete item;
+}
+
+void tst_QDeclarativeItem::mapCoordinates()
+{
+ QFETCH(int, x);
+ QFETCH(int, y);
+
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setFixedSize(300, 300);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mapCoordinates.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QDeclarativeItem *root = qobject_cast<QDeclarativeItem*>(canvas->rootObject());
+ QVERIFY(root != 0);
+ QDeclarativeItem *a = findItem<QDeclarativeItem>(canvas->rootObject(), "itemA");
+ QVERIFY(a != 0);
+ QDeclarativeItem *b = findItem<QDeclarativeItem>(canvas->rootObject(), "itemB");
+ QVERIFY(b != 0);
+
+ QVariant result;
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAToB",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QGraphicsItem*>(a)->mapToItem(b, x, y));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAFromB",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QGraphicsItem*>(a)->mapFromItem(b, x, y));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAToNull",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QGraphicsItem*>(a)->mapToScene(x, y));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAFromNull",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QGraphicsItem*>(a)->mapFromScene(x, y));
+
+ QTest::ignoreMessage(QtWarningMsg, "mapToItem() given argument \"1122\" which is neither null nor an Item");
+ QVERIFY(QMetaObject::invokeMethod(root, "checkMapAToInvalid",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QVERIFY(result.toBool());
+
+ QTest::ignoreMessage(QtWarningMsg, "mapFromItem() given argument \"1122\" which is neither null nor an Item");
+ QVERIFY(QMetaObject::invokeMethod(root, "checkMapAFromInvalid",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QVERIFY(result.toBool());
+
+ delete canvas;
+}
+
+void tst_QDeclarativeItem::mapCoordinates_data()
+{
+ QTest::addColumn<int>("x");
+ QTest::addColumn<int>("y");
+
+ for (int i=-20; i<=20; i+=10)
+ QTest::newRow(QTest::toString(i)) << i << i;
}
template<typename T>
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/assignBasicTypes.qml b/tests/auto/declarative/qdeclarativelanguage/data/assignBasicTypes.qml
index c86c96b7dc..9fe0ded459 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/assignBasicTypes.qml
+++ b/tests/auto/declarative/qdeclarativelanguage/data/assignBasicTypes.qml
@@ -10,8 +10,6 @@ MyTypeObject {
floatProperty: 8.5
colorProperty: "red"
dateProperty: "1982-11-25"
- timeProperty: "11:11:31"
- timeProperty: "11:11:32"
timeProperty: "11:11:32"
dateTimeProperty: "2009-05-12T13:22:01"
pointProperty: "99,13"
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/component.3.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/component.3.errors.txt
index 9a1314296f..450fc163bd 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/component.3.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/component.3.errors.txt
@@ -1 +1 @@
-6:9:Invalid component id specification
+6:9:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/customOnProperty.qml b/tests/auto/declarative/qdeclarativelanguage/data/customOnProperty.qml
new file mode 100644
index 0000000000..7cd6a83d65
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/customOnProperty.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+QtObject {
+ property int on
+
+ Component.onCompleted: on = 10
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/defaultGrouped.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/defaultGrouped.errors.txt
index 945d51b963..32055f6608 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/defaultGrouped.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/defaultGrouped.errors.txt
@@ -1 +1 @@
-7:9:Invalid value in grouped property
+7:9:Cannot assign a value directly to a grouped property
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/doubleSignal.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/doubleSignal.errors.txt
index 2aea251d1c..e1f7ec5bc2 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/doubleSignal.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/doubleSignal.errors.txt
@@ -1 +1 @@
-5:5:Incorrectly specified signal
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.errors.txt
new file mode 100644
index 0000000000..d4e0cc0bc4
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.errors.txt
@@ -0,0 +1 @@
+3:1:Element is not creatable.
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.qml b/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.qml
new file mode 100644
index 0000000000..a723269eb8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/enumTypes.qml
@@ -0,0 +1,4 @@
+import Qt 4.6
+
+Font {
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.errors.txt
new file mode 100644
index 0000000000..1fcb1b65f5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.errors.txt
@@ -0,0 +1 @@
+4:14:Cannot assign a value directly to a grouped property
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.qml
new file mode 100644
index 0000000000..41aa3e2923
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.10.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ grouped: "10x10"
+ grouped.value: 10
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.6.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.6.errors.txt
index 83317256e2..e1f7ec5bc2 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.6.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.6.errors.txt
@@ -1 +1 @@
-5:18:Single property assignment expected
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.errors.txt
new file mode 100644
index 0000000000..fa0da21c55
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.errors.txt
@@ -0,0 +1 @@
+5:19:Property has already been assigned a value
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.qml
new file mode 100644
index 0000000000..56fca9b990
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.8.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ pointProperty: "10x10"
+ pointProperty.x: 10
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.errors.txt
new file mode 100644
index 0000000000..6d837a7222
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.errors.txt
@@ -0,0 +1 @@
+5:20:Property has already been assigned a value
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.qml
new file mode 100644
index 0000000000..982ab26051
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidGroupedProperty.9.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ pointProperty.x: 10
+ pointProperty: "10x10"
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.2.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.2.errors.txt
index 56e3eeb6a1..2c6b8bf0f3 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.2.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.2.errors.txt
@@ -1,2 +1,2 @@
-3:5:"" is not a valid object id
+3:9:Invalid empty ID
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.4.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.4.errors.txt
index cfe87569fa..c721fe91bf 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.4.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.4.errors.txt
@@ -1 +1 @@
-4:5:Invalid use of id property
+4:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.6.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.6.errors.txt
index 160e8b5a47..7251de118f 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.6.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.6.errors.txt
@@ -1 +1 @@
-3:5:"StartsWithUpperCase" is not a valid object id
+3:9:IDs cannot start with an uppercase letter
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.errors.txt
new file mode 100644
index 0000000000..e4fd1db3f0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.errors.txt
@@ -0,0 +1 @@
+3:9:ID illegally masks global JavaScript property
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.qml
new file mode 100644
index 0000000000..d4bc539650
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.7.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+MyQmlObject {
+ id: gc
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.errors.txt
new file mode 100644
index 0000000000..b03ec6ccea
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.errors.txt
@@ -0,0 +1 @@
+3:9:IDs must contain only letters, numbers, and underscores
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.qml
new file mode 100644
index 0000000000..1ea615c32e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.8.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+MyQmlObject {
+ id: hello.world
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.errors.txt
new file mode 100644
index 0000000000..c010e79492
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.errors.txt
@@ -0,0 +1 @@
+3:9:IDs must start with a letter or underscore
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.qml
new file mode 100644
index 0000000000..57474b7212
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.9.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+MyQmlObject {
+ id: "3hello"
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.errors.txt
index 1ca678c695..c010e79492 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/invalidID.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidID.errors.txt
@@ -1 +1 @@
-3:5:"1" is not a valid object id
+3:9:IDs must start with a letter or underscore
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/listAssignment.3.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/listAssignment.3.errors.txt
index 8c7b7e9c99..c721fe91bf 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/listAssignment.3.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/listAssignment.3.errors.txt
@@ -1 +1 @@
-4:15:Can only assign one binding to lists
+4:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/method.1.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/method.1.errors.txt
new file mode 100644
index 0000000000..b10984f035
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/method.1.errors.txt
@@ -0,0 +1 @@
+3:1:Method names cannot begin with an upper case letter
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/method.1.qml b/tests/auto/declarative/qdeclarativelanguage/data/method.1.qml
new file mode 100644
index 0000000000..d9794b48f9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/method.1.qml
@@ -0,0 +1,5 @@
+import Qt 4.6
+
+QtObject {
+ function MyMethod() {}
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.qml
new file mode 100644
index 0000000000..649c49ee3a
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.1.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ intProperty: 10
+ intProperty: 11
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.qml
new file mode 100644
index 0000000000..bc21db98f8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.10.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ property int a: 10
+ a: 11
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.qml
new file mode 100644
index 0000000000..abcd216744
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.2.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ intProperty: 10
+ intProperty: a + 10
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.qml
new file mode 100644
index 0000000000..77eaba0b32
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.3.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ intProperty: a + 10
+ intProperty: 10
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.qml
new file mode 100644
index 0000000000..c16d04fea6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.4.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ intProperty: 10
+ intProperty: MyTypeObject {}
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.qml
new file mode 100644
index 0000000000..2980c5b28c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.5.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyContainer {
+ children: MyContainer {}
+ children: MyContainer {}
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.qml
new file mode 100644
index 0000000000..492c720edc
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.6.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyContainer {
+ children: MyContainer {}
+ children: [ MyContainer {}, MyContainer {} ]
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.qml
new file mode 100644
index 0000000000..2a9c1d0de8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.7.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyContainer {
+ children: [ MyContainer {}, MyContainer {} ]
+ children: MyContainer {}
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.errors.txt
new file mode 100644
index 0000000000..450fc163bd
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.errors.txt
@@ -0,0 +1 @@
+6:9:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.qml
new file mode 100644
index 0000000000..052437ea18
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.8.qml
@@ -0,0 +1,8 @@
+import Test 1.0
+
+MyTypeObject {
+ grouped {
+ value: 10
+ value: 11
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.errors.txt
new file mode 100644
index 0000000000..e1f7ec5bc2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.errors.txt
@@ -0,0 +1 @@
+5:5:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.qml b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.qml
new file mode 100644
index 0000000000..e2e954f778
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/multiSet.9.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyTypeObject {
+ grouped.value: 10
+ grouped.value: 11
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/property.6.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/property.6.errors.txt
new file mode 100644
index 0000000000..9e8d45448f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/property.6.errors.txt
@@ -0,0 +1 @@
+4:5:Property names cannot begin with an upper case letter
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/property.6.qml b/tests/auto/declarative/qdeclarativelanguage/data/property.6.qml
new file mode 100644
index 0000000000..f39bed3338
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/property.6.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+QtObject {
+ property int Hello
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/property.7.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/property.7.errors.txt
new file mode 100644
index 0000000000..9e8d45448f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/property.7.errors.txt
@@ -0,0 +1 @@
+4:5:Property names cannot begin with an upper case letter
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/property.7.qml b/tests/auto/declarative/qdeclarativelanguage/data/property.7.qml
new file mode 100644
index 0000000000..502eb22670
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/property.7.qml
@@ -0,0 +1,5 @@
+import Qt 4.6
+
+QtObject {
+ property int Hello: 10
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.2.qml
index 57a6070d06..e48526abec 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.2.qml
+++ b/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.2.qml
@@ -1,5 +1,5 @@
import Test 1.0
MyTypeObject {
- intProperty : MyCompositeValueSource {}
+ MyCompositeValueSource on intProperty {}
}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.qml b/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.qml
index ad71fcf342..22aa68250e 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.qml
+++ b/tests/auto/declarative/qdeclarativelanguage/data/propertyValueSource.qml
@@ -1,4 +1,4 @@
import Test 1.0
MyTypeObject {
- intProperty : MyPropertyValueSource {}
+ MyPropertyValueSource on intProperty {}
}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/script.8.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/script.8.errors.txt
index b5bf1a8f36..450fc163bd 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/script.8.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/script.8.errors.txt
@@ -1 +1 @@
-6:9:Invalid Script source value
+6:9:Property value set multiple times
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/signal.4.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/signal.4.errors.txt
new file mode 100644
index 0000000000..d96f9e3ed9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/signal.4.errors.txt
@@ -0,0 +1 @@
+3:1:Signal names cannot begin with an upper case letter
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/signal.4.qml b/tests/auto/declarative/qdeclarativelanguage/data/signal.4.qml
new file mode 100644
index 0000000000..7279a46c1d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/signal.4.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+QtObject {
+ signal MySignal
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.h b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
index 8ac7aa6e60..df93dc85fe 100644
--- a/tests/auto/declarative/qdeclarativelanguage/testtypes.h
+++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
@@ -62,7 +62,10 @@ public:
MyInterface() : id(913) {}
int id;
};
+
+QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(MyInterface, "com.trolltech.Qt.Test.MyInterface");
+QT_END_NAMESPACE
QML_DECLARE_INTERFACE(MyInterface);
struct MyCustomVariantType
@@ -75,17 +78,20 @@ Q_DECLARE_METATYPE(MyCustomVariantType);
class MyAttachedObject : public QObject
{
Q_OBJECT
- Q_PROPERTY(int value READ value WRITE setValue)
+ Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
Q_PROPERTY(int value2 READ value2 WRITE setValue2)
public:
MyAttachedObject(QObject *parent) : QObject(parent), m_value(0), m_value2(0) {}
int value() const { return m_value; }
- void setValue(int v) { m_value = v; }
+ void setValue(int v) { if (m_value != v) { m_value = v; emit valueChanged(); } }
int value2() const { return m_value2; }
void setValue2(int v) { m_value2 = v; }
+signals:
+ void valueChanged();
+
private:
int m_value;
int m_value2;
@@ -166,11 +172,16 @@ class MyGroupedObject : public QObject
{
Q_OBJECT
Q_PROPERTY(QDeclarativeScriptString script READ script WRITE setScript);
+ Q_PROPERTY(int value READ value WRITE setValue);
public:
QDeclarativeScriptString script() const { return m_script; }
void setScript(const QDeclarativeScriptString &s) { m_script = s; }
+ int value() const { return m_value; }
+ void setValue(int v) { m_value = v; }
+
private:
+ int m_value;
QDeclarativeScriptString m_script;
};
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index 1ba4454d73..083c55179a 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -128,6 +128,8 @@ private slots:
void qmlAttachedPropertiesObjectMethod();
+ void customOnProperty();
+
// regression tests for crashes
void crash1();
void crash2();
@@ -232,6 +234,9 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("invalidID.4") << "invalidID.4.qml" << "invalidID.4.errors.txt" << false;
QTest::newRow("invalidID.5") << "invalidID.5.qml" << "invalidID.5.errors.txt" << false;
QTest::newRow("invalidID.6") << "invalidID.6.qml" << "invalidID.6.errors.txt" << false;
+ QTest::newRow("invalidID.7") << "invalidID.7.qml" << "invalidID.7.errors.txt" << false;
+ QTest::newRow("invalidID.8") << "invalidID.8.qml" << "invalidID.8.errors.txt" << false;
+ QTest::newRow("invalidID.9") << "invalidID.9.qml" << "invalidID.9.errors.txt" << false;
QTest::newRow("unsupportedProperty") << "unsupportedProperty.qml" << "unsupportedProperty.errors.txt" << false;
QTest::newRow("nullDotProperty") << "nullDotProperty.qml" << "nullDotProperty.errors.txt" << true;
@@ -252,6 +257,9 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("invalidGroupedProperty.5") << "invalidGroupedProperty.5.qml" << "invalidGroupedProperty.5.errors.txt" << false;
QTest::newRow("invalidGroupedProperty.6") << "invalidGroupedProperty.6.qml" << "invalidGroupedProperty.6.errors.txt" << false;
QTest::newRow("invalidGroupedProperty.7") << "invalidGroupedProperty.7.qml" << "invalidGroupedProperty.7.errors.txt" << true;
+ QTest::newRow("invalidGroupedProperty.8") << "invalidGroupedProperty.8.qml" << "invalidGroupedProperty.8.errors.txt" << false;
+ QTest::newRow("invalidGroupedProperty.9") << "invalidGroupedProperty.9.qml" << "invalidGroupedProperty.9.errors.txt" << false;
+ QTest::newRow("invalidGroupedProperty.10") << "invalidGroupedProperty.10.qml" << "invalidGroupedProperty.10.errors.txt" << false;
QTest::newRow("importNamespaceConflict") << "importNamespaceConflict.qml" << "importNamespaceConflict.errors.txt" << false;
QTest::newRow("importVersionMissing (builtin)") << "importVersionMissingBuiltIn.qml" << "importVersionMissingBuiltIn.errors.txt" << false;
@@ -261,12 +269,17 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("signal.1") << "signal.1.qml" << "signal.1.errors.txt" << false;
QTest::newRow("signal.2") << "signal.2.qml" << "signal.2.errors.txt" << false;
QTest::newRow("signal.3") << "signal.3.qml" << "signal.3.errors.txt" << false;
+ QTest::newRow("signal.4") << "signal.4.qml" << "signal.4.errors.txt" << false;
+
+ QTest::newRow("method.1") << "method.1.qml" << "method.1.errors.txt" << false;
QTest::newRow("property.1") << "property.1.qml" << "property.1.errors.txt" << false;
QTest::newRow("property.2") << "property.2.qml" << "property.2.errors.txt" << false;
QTest::newRow("property.3") << "property.3.qml" << "property.3.errors.txt" << false;
QTest::newRow("property.4") << "property.4.qml" << "property.4.errors.txt" << false;
QTest::newRow("property.5") << "property.5.qml" << "property.5.errors.txt" << false;
+ QTest::newRow("property.6") << "property.6.qml" << "property.6.errors.txt" << false;
+ QTest::newRow("property.7") << "property.7.qml" << "property.7.errors.txt" << false;
QTest::newRow("Script.1") << "script.1.qml" << "script.1.errors.txt" << false;
QTest::newRow("Script.2") << "script.2.qml" << "script.2.errors.txt" << false;
@@ -288,6 +301,17 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("Component.5") << "component.5.qml" << "component.5.errors.txt" << false;
QTest::newRow("Component.6") << "component.6.qml" << "component.6.errors.txt" << false;
+ QTest::newRow("MultiSet.1") << "multiSet.1.qml" << "multiSet.1.errors.txt" << false;
+ QTest::newRow("MultiSet.2") << "multiSet.2.qml" << "multiSet.2.errors.txt" << false;
+ QTest::newRow("MultiSet.3") << "multiSet.3.qml" << "multiSet.3.errors.txt" << false;
+ QTest::newRow("MultiSet.4") << "multiSet.4.qml" << "multiSet.4.errors.txt" << false;
+ QTest::newRow("MultiSet.5") << "multiSet.5.qml" << "multiSet.5.errors.txt" << false;
+ QTest::newRow("MultiSet.6") << "multiSet.6.qml" << "multiSet.6.errors.txt" << false;
+ QTest::newRow("MultiSet.7") << "multiSet.7.qml" << "multiSet.7.errors.txt" << false;
+ QTest::newRow("MultiSet.8") << "multiSet.8.qml" << "multiSet.8.errors.txt" << false;
+ QTest::newRow("MultiSet.9") << "multiSet.9.qml" << "multiSet.9.errors.txt" << false;
+ QTest::newRow("MultiSet.10") << "multiSet.10.qml" << "multiSet.10.errors.txt" << false;
+
QTest::newRow("invalidAttachedProperty.1") << "invalidAttachedProperty.1.qml" << "invalidAttachedProperty.1.errors.txt" << false;
QTest::newRow("invalidAttachedProperty.2") << "invalidAttachedProperty.2.qml" << "invalidAttachedProperty.2.errors.txt" << false;
QTest::newRow("invalidAttachedProperty.3") << "invalidAttachedProperty.3.qml" << "invalidAttachedProperty.3.errors.txt" << false;
@@ -307,6 +331,7 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("invalidRoot") << "invalidRoot.qml" << "invalidRoot.errors.txt" << false;
QTest::newRow("missingValueTypeProperty") << "missingValueTypeProperty.qml" << "missingValueTypeProperty.errors.txt" << false;
QTest::newRow("objectValueTypeProperty") << "objectValueTypeProperty.qml" << "objectValueTypeProperty.errors.txt" << false;
+ QTest::newRow("enumTypes") << "enumTypes.qml" << "enumTypes.errors.txt" << false;
}
@@ -316,9 +341,6 @@ void tst_qdeclarativelanguage::errors()
QFETCH(QString, errorFile);
QFETCH(bool, create);
- if (file == "invalidID.6.qml")
- QTest::ignoreMessage(QtWarningMsg, "id \"StartsWithUpperCase\" is invalid: ids cannot start with uppercase letters");
-
QDeclarativeComponent component(&engine, TEST_FILE(file));
if(create) {
@@ -1378,6 +1400,19 @@ void tst_qdeclarativelanguage::crash2()
QDeclarativeComponent component(&engine, TEST_FILE("crash2.qml"));
}
+// QTBUG-8676
+void tst_qdeclarativelanguage::customOnProperty()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("customOnProperty.qml"));
+
+ VERIFY_ERRORS(0);
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("on").toInt(), 10);
+
+ delete object;
+}
void tst_qdeclarativelanguage::initTestCase()
{
diff --git a/tests/auto/declarative/qdeclarativelistview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativelistview/data/propertychanges.qml
new file mode 100644
index 0000000000..a41f003833
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelistview/data/propertychanges.qml
@@ -0,0 +1,71 @@
+import Qt 4.6
+
+Rectangle {
+ width: 180; height: 120; color: "white"
+ Component {
+ id: delegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+ Component {
+ id: highlightRed
+ Rectangle {
+ color: "red"
+ radius: 10
+ opacity: 0.5
+ }
+ }
+ ListView {
+ objectName: "listView"
+ anchors.fill: parent
+ model: listModel
+ delegate: delegate
+ highlight: highlightRed
+ focus: true
+ highlightFollowsCurrentItem: true
+ preferredHighlightBegin: 0.0
+ preferredHighlightEnd: 0.0
+ highlightRangeMode: ListView.ApplyRange
+ keyNavigationWraps: true
+ cacheBuffer: 10
+ snapMode: ListView.SnapToItem
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ }
+ ]
+}
+
+ \ No newline at end of file
diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
index f15f26bf36..75fbbf8620 100644
--- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
+++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
@@ -38,15 +38,18 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
#include <QtTest/QtTest>
-#include <QStringListModel>
-#include <private/qlistmodelinterface_p.h>
-#include <qdeclarativeview.h>
-#include <private/qdeclarativelistview_p.h>
-#include <private/qdeclarativetext_p.h>
-#include <private/qdeclarativevisualitemmodel_p.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarativeexpression.h>
+#include <QtGui/QStringListModel>
+#include <QtDeclarative/qdeclarativeview.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qdeclarativelistview_p.h>
+#include <QtDeclarative/private/qdeclarativetext_p.h>
+#include <QtDeclarative/private/qdeclarativevisualitemmodel_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
+#include <QtDeclarative/private/qlistmodelinterface_p.h>
class tst_QDeclarativeListView : public QObject
{
@@ -82,6 +85,9 @@ private slots:
void cacheBuffer();
void positionViewAtIndex();
void resetModel();
+ void propertyChanges();
+ void componentChanges();
+ void modelChanges();
private:
template <class T> void items();
@@ -240,7 +246,7 @@ public:
setRoleNames(roles);
}
- int rowCount(const QModelIndex &parent=QModelIndex()) const { return list.count(); }
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
QVariant rv;
if (role == Name)
@@ -379,6 +385,7 @@ void tst_QDeclarativeListView::items()
delete canvas;
}
+
template <class T>
void tst_QDeclarativeListView::changed()
{
@@ -443,7 +450,7 @@ void tst_QDeclarativeListView::inserted()
model.insertItem(1, "Will", "9876");
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
QCOMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
@@ -463,7 +470,7 @@ void tst_QDeclarativeListView::inserted()
model.insertItem(0, "Foo", "1111"); // zero index, and current item
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
QCOMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
@@ -484,14 +491,14 @@ void tst_QDeclarativeListView::inserted()
for (int i = model.count(); i < 30; ++i)
model.insertItem(i, "Hello", QString::number(i));
- QTest::qWait(500);
+ QTest::qWait(300);
listview->setContentY(80);
- QTest::qWait(500);
+ QTest::qWait(300);
// Insert item outside visible area
model.insertItem(1, "Hello", "1324");
- QTest::qWait(500);
+ QTest::qWait(300);
QVERIFY(listview->contentY() == 80);
@@ -536,7 +543,7 @@ void tst_QDeclarativeListView::removed(bool animated)
model.removeItem(1);
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1);
QVERIFY(name != 0);
@@ -558,7 +565,7 @@ void tst_QDeclarativeListView::removed(bool animated)
model.removeItem(0); // post: top item starts at 20
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
name = findItem<QDeclarativeText>(viewport, "textName", 0);
QVERIFY(name != 0);
@@ -579,7 +586,7 @@ void tst_QDeclarativeListView::removed(bool animated)
// Remove items not visible
model.removeItem(18);
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
// Confirm items positioned correctly
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
@@ -596,7 +603,7 @@ void tst_QDeclarativeListView::removed(bool animated)
model.removeItem(1); // post: top item will be at 40
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
// Confirm items positioned correctly
for (int i = 2; i < 18; ++i) {
@@ -610,14 +617,14 @@ void tst_QDeclarativeListView::removed(bool animated)
QVERIFY(listview->currentIndex() == 9);
QDeclarativeItem *oldCurrent = listview->currentItem();
model.removeItem(9);
- QTest::qWait(500);
+ QTest::qWait(300);
QCOMPARE(listview->currentIndex(), 9);
QVERIFY(listview->currentItem() != oldCurrent);
listview->setContentY(40); // That's the top now
// let transitions settle.
- QTest::qWait(500);
+ QTest::qWait(300);
// Confirm items positioned correctly
itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
@@ -630,20 +637,20 @@ void tst_QDeclarativeListView::removed(bool animated)
// remove current item beyond visible items.
listview->setCurrentIndex(20);
- QTest::qWait(500);
+ QTest::qWait(300);
listview->setContentY(40);
model.removeItem(20);
- QTest::qWait(500);
+ QTest::qWait(300);
QCOMPARE(listview->currentIndex(), 20);
QVERIFY(listview->currentItem() != 0);
// remove item before current, but visible
listview->setCurrentIndex(8);
- QTest::qWait(500);
+ QTest::qWait(300);
oldCurrent = listview->currentItem();
model.removeItem(6);
- QTest::qWait(500);
+ QTest::qWait(300);
QCOMPARE(listview->currentIndex(), 7);
QVERIFY(listview->currentItem() == oldCurrent);
@@ -1022,21 +1029,19 @@ void tst_QDeclarativeListView::currentIndex()
// Test keys
canvas->show();
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QVERIFY(canvas->hasFocus());
+ QVERIFY(canvas->scene()->hasFocus());
qApp->processEvents();
- QEvent wa(QEvent::WindowActivate);
- QApplication::sendEvent(canvas, &wa);
- QFocusEvent fe(QEvent::FocusIn);
- QApplication::sendEvent(canvas, &fe);
-
- QKeyEvent key(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
- QApplication::sendEvent(canvas, &key);
- QVERIFY(key.isAccepted());
+ QTest::keyClick(canvas, Qt::Key_Down);
QCOMPARE(listview->currentIndex(), 1);
- key = QKeyEvent(QEvent::KeyPress, Qt::Key_Up, Qt::NoModifier, "", false, 1);
- QApplication::sendEvent(canvas, &key);
- QVERIFY(key.isAccepted());
+ QTest::keyClick(canvas, Qt::Key_Up);
QCOMPARE(listview->currentIndex(), 0);
// turn off auto highlight
@@ -1275,6 +1280,149 @@ void tst_QDeclarativeListView::resetModel()
}
}
+void tst_QDeclarativeListView::propertyChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeListView *listView = canvas->rootObject()->findChild<QDeclarativeListView*>("listView");
+ QVERIFY(listView);
+
+ QSignalSpy highlightFollowsCurrentItemSpy(listView, SIGNAL(highlightFollowsCurrentItemChanged()));
+ QSignalSpy preferredHighlightBeginSpy(listView, SIGNAL(preferredHighlightBeginChanged()));
+ QSignalSpy preferredHighlightEndSpy(listView, SIGNAL(preferredHighlightEndChanged()));
+ QSignalSpy highlightRangeModeSpy(listView, SIGNAL(highlightRangeModeChanged()));
+ QSignalSpy keyNavigationWrapsSpy(listView, SIGNAL(keyNavigationWrapsChanged()));
+ QSignalSpy cacheBufferSpy(listView, SIGNAL(cacheBufferChanged()));
+ QSignalSpy snapModeSpy(listView, SIGNAL(snapModeChanged()));
+
+ QCOMPARE(listView->highlightFollowsCurrentItem(), true);
+ QCOMPARE(listView->preferredHighlightBegin(), 0.0);
+ QCOMPARE(listView->preferredHighlightEnd(), 0.0);
+ QCOMPARE(listView->highlightRangeMode(), QDeclarativeListView::ApplyRange);
+ QCOMPARE(listView->isWrapEnabled(), true);
+ QCOMPARE(listView->cacheBuffer(), 10);
+ QCOMPARE(listView->snapMode(), QDeclarativeListView::SnapToItem);
+
+ listView->setHighlightFollowsCurrentItem(false);
+ listView->setPreferredHighlightBegin(1.0);
+ listView->setPreferredHighlightEnd(1.0);
+ listView->setHighlightRangeMode(QDeclarativeListView::StrictlyEnforceRange);
+ listView->setWrapEnabled(false);
+ listView->setCacheBuffer(3);
+ listView->setSnapMode(QDeclarativeListView::SnapOneItem);
+
+ QCOMPARE(listView->highlightFollowsCurrentItem(), false);
+ QCOMPARE(listView->preferredHighlightBegin(), 1.0);
+ QCOMPARE(listView->preferredHighlightEnd(), 1.0);
+ QCOMPARE(listView->highlightRangeMode(), QDeclarativeListView::StrictlyEnforceRange);
+ QCOMPARE(listView->isWrapEnabled(), false);
+ QCOMPARE(listView->cacheBuffer(), 3);
+ QCOMPARE(listView->snapMode(), QDeclarativeListView::SnapOneItem);
+
+ QCOMPARE(highlightFollowsCurrentItemSpy.count(),1);
+ QCOMPARE(preferredHighlightBeginSpy.count(),1);
+ QCOMPARE(preferredHighlightEndSpy.count(),1);
+ QCOMPARE(highlightRangeModeSpy.count(),1);
+ QCOMPARE(keyNavigationWrapsSpy.count(),1);
+ QCOMPARE(cacheBufferSpy.count(),1);
+ QCOMPARE(snapModeSpy.count(),1);
+
+ listView->setHighlightFollowsCurrentItem(false);
+ listView->setPreferredHighlightBegin(1.0);
+ listView->setPreferredHighlightEnd(1.0);
+ listView->setHighlightRangeMode(QDeclarativeListView::StrictlyEnforceRange);
+ listView->setWrapEnabled(false);
+ listView->setCacheBuffer(3);
+ listView->setSnapMode(QDeclarativeListView::SnapOneItem);
+
+ QCOMPARE(highlightFollowsCurrentItemSpy.count(),1);
+ QCOMPARE(preferredHighlightBeginSpy.count(),1);
+ QCOMPARE(preferredHighlightEndSpy.count(),1);
+ QCOMPARE(highlightRangeModeSpy.count(),1);
+ QCOMPARE(keyNavigationWrapsSpy.count(),1);
+ QCOMPARE(cacheBufferSpy.count(),1);
+ QCOMPARE(snapModeSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QDeclarativeListView::componentChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeListView *listView = canvas->rootObject()->findChild<QDeclarativeListView*>("listView");
+ QVERIFY(listView);
+
+ QDeclarativeComponent component(canvas->engine());
+ component.setData("import Qt 4.6; Rectangle { color: \"blue\"; }", QUrl::fromLocalFile(""));
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import Qt 4.6; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy highlightSpy(listView, SIGNAL(highlightChanged()));
+ QSignalSpy delegateSpy(listView, SIGNAL(delegateChanged()));
+ QSignalSpy headerSpy(listView, SIGNAL(headerChanged()));
+ QSignalSpy footerSpy(listView, SIGNAL(footerChanged()));
+
+ listView->setHighlight(&component);
+ listView->setHeader(&component);
+ listView->setFooter(&component);
+ listView->setDelegate(&delegateComponent);
+
+ QCOMPARE(listView->highlight(), &component);
+ QCOMPARE(listView->header(), &component);
+ QCOMPARE(listView->footer(), &component);
+ QCOMPARE(listView->delegate(), &delegateComponent);
+
+ QCOMPARE(highlightSpy.count(),1);
+ QCOMPARE(delegateSpy.count(),1);
+ QCOMPARE(headerSpy.count(),1);
+ QCOMPARE(footerSpy.count(),1);
+
+ listView->setHighlight(&component);
+ listView->setHeader(&component);
+ listView->setFooter(&component);
+ listView->setDelegate(&delegateComponent);
+
+ QCOMPARE(highlightSpy.count(),1);
+ QCOMPARE(delegateSpy.count(),1);
+ QCOMPARE(headerSpy.count(),1);
+ QCOMPARE(footerSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QDeclarativeListView::modelChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativeListView *listView = canvas->rootObject()->findChild<QDeclarativeListView*>("listView");
+ QVERIFY(listView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QVERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(listView, SIGNAL(modelChanged()));
+
+ listView->setModel(modelVariant);
+ QCOMPARE(listView->model(), modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ listView->setModel(modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ listView->setModel(QVariant());
+ QCOMPARE(modelSpy.count(),2);
+
+ delete canvas;
+}
+
void tst_QDeclarativeListView::qListModelInterface_items()
{
items<TestModel>();
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
index f3caa7f23e..92f7aefa0b 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
@@ -50,7 +50,6 @@ class tst_qdeclarativemoduleplugin : public QObject
public:
tst_qdeclarativemoduleplugin() {
QCoreApplication::addLibraryPath(QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("plugin"));
-qDebug() << QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("plugin");
}
private slots:
diff --git a/tests/auto/declarative/qdeclarativenumberformatter/qdeclarativenumberformatter.pro b/tests/auto/declarative/qdeclarativenumberformatter/qdeclarativenumberformatter.pro
deleted file mode 100644
index 672e95c8e8..0000000000
--- a/tests/auto/declarative/qdeclarativenumberformatter/qdeclarativenumberformatter.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qdeclarativenumberformatter.cpp
diff --git a/tests/auto/declarative/qdeclarativenumberformatter/tst_qdeclarativenumberformatter.cpp b/tests/auto/declarative/qdeclarativenumberformatter/tst_qdeclarativenumberformatter.cpp
deleted file mode 100644
index 26ff3d5509..0000000000
--- a/tests/auto/declarative/qdeclarativenumberformatter/tst_qdeclarativenumberformatter.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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 <qtest.h>
-#include <QDebug>
-#include <QtDeclarative/qdeclarativeengine.h>
-#include <QtDeclarative/qdeclarativecomponent.h>
-#include <private/qnumberformat_p.h>
-#include <private/qdeclarativenumberformatter_p.h>
-
-class tst_qdeclarativenumberformatter : public QObject
-{
- Q_OBJECT
-public:
- tst_qdeclarativenumberformatter();
-
- void init() {}
- void initTestCase() {}
-
- void cleanup() {}
- void cleanupTestCase() {}
-
-private slots:
- void text_data();
- void text();
-
-private:
- QStringList strings;
- QStringList formats;
- QStringList texts;
-};
-
-tst_qdeclarativenumberformatter::tst_qdeclarativenumberformatter()
-{
- strings << "100.0"
- << "12345"
- << "1234567"
- << "0.123"
- << "0.9999"
- << "0.989"
- << "1"
- << "1.0"
- << "1.01";
-
- formats << ""
- << "0000"
- << "0000.00"
- << "##"
- << "##.##"
- << "#0.00#"
- << "##,##0.##"
- << "(000) 000 - 000"
- << "00000,000.0000";
-
- //US locale only.
- texts << "100.000000"
- << "12345.000000"
- << "1234567.000000"
- << "0.123000"
- << "0.999900"
- << "0.989000"
- << "1.000000"
- << "1.000000"
- << "1.010000" //end ""
- << "0100"
- << "12345"
- << "1234567"
- << "0000"
- << "0001"
- << "0001"
- << "0001"
- << "0001"
- << "0001" // end "0000"
- << "0100.00"
- << "12345.00"
- << "1234567.00"
- << "0000.12"
- << "0001.00"
- << "0000.99"
- << "0001.00"
- << "0001.00"
- << "0001.01" // end "0000.00"
- << "100"
- << "12345"
- << "1234567"
- << "0"
- << "1"
- << "1"
- << "1"
- << "1"
- << "1" // end "##"
- << "100"//start "##.##"
- << "12345"
- << "1234567"
- << "0.12"
- << "1"
- << "0.99"
- << "1"
- << "1"
- << "1.01" // end "##.##" -- ### EXPECT FAIL ### QNumberFormat::formatDecimal() bug
- << "100.00" //start "#0.00#"
- << "12345.00"
- << "1234567.00"
- << "0.123"
- << "1.00"
- << "0.989"
- << "1.00"
- << "1.00"
- << "1.01" //end "#0.00#"
- << "100" //start "##,##0.##"
- << "12,345"
- << "1,234,567"
- << "0.12"
- << "1"
- << "0.99"
- << "1"
- << "1"
- << "1.01" //end "##,##0.##" -- ### EXPECT FAIL ### QNumberFormat::formatDecimal() bug
- << "(000) 000 - 100" //start "(000) 000 - 000"
- << "(000) 012 - 345"
- << "(001) 234 - 567"
- << "(000) 000 - 000"
- << "(000) 000 - 001"
- << "(000) 000 - 001"
- << "(000) 000 - 001"
- << "(000) 000 - 001"
- << "(000) 000 - 001" // end "(000) 000 - 000"
- << "00,000,100.0000" // start "00000,000.0000"
- << "00,012,345.0000"
- << "01,234,567.0000"
- << "00,000,000.1230"
- << "00,000,000.9999"
- << "00,000,000.9890"
- << "00,000,001.0000"
- << "00,000,001.0000"
- << "00,000,001.0100"; // end
-
- qDebug() << "strings.size()" << strings.size()
- << "\nformats.size()" << formats.size()
- << "texts.size()" << texts.size();
-}
-
-void tst_qdeclarativenumberformatter::text_data()
-{
- QTest::addColumn<QString>("string");
- QTest::addColumn<QString>("format");
- QTest::addColumn<QString>("text");
-
- for (int j=0; j < formats.size(); j++)
- {
- for (int i=0; i < strings.size(); i++)
- {
- QTest::newRow(QString("%1, %2").arg(strings.at(i)).arg(formats.at(j)).toAscii())
- << strings.at(i) << formats.at(j) << texts.at(j*formats.size()+i);
- }
- }
-
-}
-
-void tst_qdeclarativenumberformatter::text()
-{
- QFETCH(QString, string);
- QFETCH(QString, format);
- QFETCH(QString, text);
-
- QString componentStr = QString("import Qt 4.6\nNumberFormatter { number: ") + string + QString("; format: \"") + format + QString("\" }");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent formatterComponent(&engine);
- formatterComponent.setData(componentStr.toUtf8(), QUrl::fromLocalFile(""));
- if(formatterComponent.isError())
- qDebug() << formatterComponent.errors();
- QVERIFY(formatterComponent.isReady());
- QDeclarativeNumberFormatter *formatter = qobject_cast<QDeclarativeNumberFormatter*>(formatterComponent.create());
- QVERIFY(formatter != 0);
-
- QCOMPARE(formatter->format(), format);
- QCOMPARE(formatter->text(), text);
-
- delete formatter;
-}
-
-QTEST_MAIN(tst_qdeclarativenumberformatter)
-
-#include "tst_qdeclarativenumberformatter.moc"
diff --git a/tests/auto/declarative/qdeclarativeparticles/data/particles.qml b/tests/auto/declarative/qdeclarativeparticles/data/particles.qml
index c58927e05d..0d426451fd 100644
--- a/tests/auto/declarative/qdeclarativeparticles/data/particles.qml
+++ b/tests/auto/declarative/qdeclarativeparticles/data/particles.qml
@@ -8,7 +8,7 @@ Rectangle{
objectName: "particles"
width:1; height:1; anchors.centerIn: parent; opacity: 1
lifeSpan: 100; lifeSpanDeviation: 20; count:1000;
- fadeInDuration: 20; fadeOutDuration: 20; count: -1; emissionRate: 1000
+ fadeInDuration: 20; fadeOutDuration: 20; emissionRate: 1000
angle: 0; angleDeviation: 360; velocity: 500; velocityDeviation:30
source: "particle.png"
}
diff --git a/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml b/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml
index 627f38ab64..ab1538bf77 100644
--- a/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml
+++ b/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml
@@ -33,7 +33,7 @@ Rectangle {
height: 320
model: testModel
delegate: delegate
- snapPosition: 0.01
+ snapPosition: 0.0001
path: Path {
startY: 120
startX: 160
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview.qml
index 8fa8d59d55..ae0c86aed5 100644
--- a/tests/auto/declarative/qdeclarativepathview/data/pathview.qml
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathview.qml
@@ -1,6 +1,9 @@
import Qt 4.6
Rectangle {
+ id: root
+ property int currentA: -1
+ property int currentB: -1
width: 240
height: 320
color: "#ffffff"
@@ -12,7 +15,7 @@ Rectangle {
objectName: "wrapper"
height: 20
width: 60
- color: "white"
+ color: PathView.isCurrentItem ? "lightsteelblue" : "white"
border.color: "black"
Text {
text: index
@@ -29,6 +32,12 @@ Rectangle {
objectName: "textNumber"
text: number
}
+ PathView.onCurrentItemChanged: {
+ if (PathView.isCurrentItem) {
+ root.currentA = index;
+ root.currentB = wrapper.PathView.view.currentIndex;
+ }
+ }
}
}
]
@@ -39,7 +48,7 @@ Rectangle {
height: 320
model: testModel
delegate: delegate
- snapPosition: 0.01
+ snapPosition: 0.0001
path: Path {
startY: 120
startX: 160
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview2.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview2.qml
index 0d5c98be7f..c825292f28 100644
--- a/tests/auto/declarative/qdeclarativepathview/data/pathview2.qml
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathview2.qml
@@ -1,7 +1,7 @@
import Qt 4.6
PathView {
- id: photoPathView; model: rssModel; delegate: photoDelegate
+ id: photoPathView
y: 100; width: 800; height: 330; pathItemCount: 10; z: 1
path: Path {
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml
index 412cca24d7..f8ed29fe3d 100644
--- a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml
@@ -1,9 +1,9 @@
import Qt 4.6
PathView {
- id: photoPathView; model: rssModel; delegate: photoDelegate
+ id: photoPathView
y: 100; width: 800; height: 330; pathItemCount: 4; offset: 10
- dragMargin: 24; snapPosition: 50
+ dragMargin: 24; snapPosition: 0.50
path: Path {
startX: -50; startY: 40;
diff --git a/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml
new file mode 100644
index 0000000000..db70b7bbaf
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml
@@ -0,0 +1,115 @@
+import Qt 4.6
+
+Rectangle {
+ width: 350; height: 220; color: "white"
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ opacity: PathView.opacity
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+
+ PathView {
+ snapPosition: 0.1
+ dragMargin: 5.0
+ id: pathView
+ objectName: "pathView"
+ anchors.fill: parent
+ model: listModel
+ delegate: myDelegate
+ focus: true
+ path: Path {
+ id: myPath
+ objectName: "path"
+ startX: 220; startY: 200
+ PathAttribute { name: "opacity"; value: 1.0; objectName: "pathAttribute"; }
+ PathQuad { x: 220; y: 25; controlX: 260; controlY: 75 }
+ PathAttribute { name: "opacity"; value: 0.3 }
+ PathQuad { x: 220; y: 200; controlX: -20; controlY: 75 }
+ }
+ Timer {
+ interval: 2000; running: true; repeat: true
+ onTriggered: {
+ if (pathView.path == alternatePath)
+ pathView.path = myPath;
+ else
+ pathView.path = alternatePath;
+ }
+ }
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ },
+ Path {
+ id: alternatePath
+ objectName: "alternatePath"
+ startX: 100; startY: 40
+ PathAttribute { name: "opacity"; value: 0.0 }
+ PathLine { x: 100; y: 160 }
+ PathAttribute { name: "opacity"; value: 0.2 }
+ PathLine { x: 300; y: 160 }
+ PathAttribute { name: "opacity"; value: 0.0 }
+ PathLine { x: 300; y: 40 }
+ PathAttribute { name: "opacity"; value: 0.2 }
+ PathLine { x: 100; y: 40 }
+ }
+ ]
+}
+
+
diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
index 79bc6079a2..62eb8c38dd 100644
--- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
+++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
@@ -38,20 +38,23 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <private/qdeclarativepathview_p.h>
-#include <private/qdeclarativepath_p.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarativeexpression.h>
-#include <qtest.h>
+
+#include <QtTest/QtTest>
+#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
-#include <QtDeclarative/qdeclarativeview.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qdeclarativepathview_p.h>
+#include <QtDeclarative/private/qdeclarativepath_p.h>
#include <QtDeclarative/private/qdeclarativetext_p.h>
#include <QtDeclarative/private/qdeclarativerectangle_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
+#include <QtDeclarative/private/qdeclarativevaluetype_p.h>
#include <QAbstractListModel>
#include <QStringListModel>
#include <QFile>
-#include <private/qdeclarativevaluetype_p.h>
+
#include "../../../shared/util.h"
class tst_QDeclarativePathView : public QObject
@@ -68,7 +71,13 @@ private slots:
void pathview3();
void path();
void pathMoved();
+ void setCurrentIndex();
void resetModel();
+ void propertyChanges();
+ void pathChanges();
+ void componentChanges();
+ void modelChanges();
+
private:
QDeclarativeView *createView();
@@ -120,7 +129,7 @@ public:
setRoleNames(roles);
}
- int rowCount(const QModelIndex &parent=QModelIndex()) const { return list.count(); }
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
QVariant rv;
if (role == Name)
@@ -199,6 +208,7 @@ void tst_QDeclarativePathView::items()
model.addItem("Fred", "12345");
model.addItem("John", "2345");
model.addItem("Bob", "54321");
+ model.addItem("Bill", "4321");
QDeclarativeContext *ctxt = canvas->rootContext();
ctxt->setContextProperty("testModel", &model);
@@ -413,7 +423,6 @@ void tst_QDeclarativePathView::pathMoved()
offset.setY(firstItem->height()/2);
QCOMPARE(firstItem->pos() + offset, start);
pathview->setOffset(10);
- QTest::qWait(1000);//Moving is animated?
for(int i=0; i<model.count(); i++){
QDeclarativeRectangle *curItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", i);
@@ -421,12 +430,53 @@ void tst_QDeclarativePathView::pathMoved()
}
pathview->setOffset(100);
- QTest::qWait(1000);//Moving is animated?
QCOMPARE(firstItem->pos() + offset, start);
delete canvas;
}
+void tst_QDeclarativePathView::setCurrentIndex()
+{
+ QDeclarativeView *canvas = createView();
+
+ TestModel model;
+ model.addItem("Ben", "12345");
+ model.addItem("Bohn", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Bill", "4321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview.qml"));
+ qApp->processEvents();
+
+ QDeclarativePathView *pathview = findItem<QDeclarativePathView>(canvas->rootObject(), "view");
+ QVERIFY(pathview != 0);
+
+ QDeclarativeRectangle *firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QDeclarativePath *path = qobject_cast<QDeclarativePath*>(pathview->path());
+ QVERIFY(path);
+ QPointF start = path->pointAt(0.0);
+ QPointF offset;//Center of item is at point, but pos is from corner
+ offset.setX(firstItem->width()/2);
+ offset.setY(firstItem->height()/2);
+ QCOMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 0);
+
+ pathview->setCurrentIndex(2);
+ QTest::qWait(1000);
+
+ firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 2);
+ QCOMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 2);
+
+ delete canvas;
+}
+
void tst_QDeclarativePathView::resetModel()
{
QDeclarativeView *canvas = createView();
@@ -465,6 +515,149 @@ void tst_QDeclarativePathView::resetModel()
}
}
+void tst_QDeclarativePathView::propertyChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("pathView");
+ QVERIFY(pathView);
+
+ QSignalSpy snapPositionSpy(pathView, SIGNAL(snapPositionChanged()));
+ QSignalSpy dragMarginSpy(pathView, SIGNAL(dragMarginChanged()));
+
+ QCOMPARE(pathView->snapPosition(), 0.1);
+ QCOMPARE(pathView->dragMargin(), 5.0);
+
+ pathView->setSnapPosition(0.4);
+ pathView->setDragMargin(20.0);
+
+ QCOMPARE(pathView->snapPosition(), 0.4);
+ QCOMPARE(pathView->dragMargin(), 20.0);
+
+ QCOMPARE(snapPositionSpy.count(), 1);
+ QCOMPARE(dragMarginSpy.count(), 1);
+
+ pathView->setSnapPosition(0.4);
+ pathView->setDragMargin(20.0);
+
+ QCOMPARE(snapPositionSpy.count(), 1);
+ QCOMPARE(dragMarginSpy.count(), 1);
+ delete canvas;
+}
+
+void tst_QDeclarativePathView::pathChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativePath *path = canvas->rootObject()->findChild<QDeclarativePath*>("path");
+ QVERIFY(path);
+
+ QSignalSpy startXSpy(path, SIGNAL(startXChanged()));
+ QSignalSpy startYSpy(path, SIGNAL(startYChanged()));
+
+ QCOMPARE(path->startX(), 220.0);
+ QCOMPARE(path->startY(), 200.0);
+
+ path->setStartX(240.0);
+ path->setStartY(220.0);
+
+ QCOMPARE(path->startX(), 240.0);
+ QCOMPARE(path->startY(), 220.0);
+
+ QCOMPARE(startXSpy.count(),1);
+ QCOMPARE(startYSpy.count(),1);
+
+ path->setStartX(240);
+ path->setStartY(220);
+
+ QCOMPARE(startXSpy.count(),1);
+ QCOMPARE(startYSpy.count(),1);
+
+ QDeclarativePath *alternatePath = canvas->rootObject()->findChild<QDeclarativePath*>("alternatePath");
+ QVERIFY(alternatePath);
+
+ QSignalSpy pathSpy(pathView, SIGNAL(pathChanged()));
+
+ QCOMPARE(pathView->path(), path);
+
+ pathView->setPath(alternatePath);
+ QCOMPARE(pathView->path(), alternatePath);
+ QCOMPARE(pathSpy.count(),1);
+
+ pathView->setPath(alternatePath);
+ QCOMPARE(pathSpy.count(),1);
+
+ QDeclarativePathAttribute *pathAttribute = canvas->rootObject()->findChild<QDeclarativePathAttribute*>("pathAttribute");
+ QVERIFY(pathAttribute);
+
+ QSignalSpy nameSpy(pathAttribute, SIGNAL(nameChanged()));
+ QCOMPARE(pathAttribute->name(), QString("opacity"));
+
+ pathAttribute->setName("scale");
+ QCOMPARE(pathAttribute->name(), QString("scale"));
+ QCOMPARE(nameSpy.count(),1);
+
+ pathAttribute->setName("scale");
+ QCOMPARE(nameSpy.count(),1);
+ delete canvas;
+}
+
+void tst_QDeclarativePathView::componentChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import Qt 4.6; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy delegateSpy(pathView, SIGNAL(delegateChanged()));
+
+ pathView->setDelegate(&delegateComponent);
+ QCOMPARE(pathView->delegate(), &delegateComponent);
+ QCOMPARE(delegateSpy.count(),1);
+
+ pathView->setDelegate(&delegateComponent);
+ QCOMPARE(delegateSpy.count(),1);
+ delete canvas;
+}
+
+void tst_QDeclarativePathView::modelChanges()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QVERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(pathView, SIGNAL(modelChanged()));
+
+ pathView->setModel(modelVariant);
+ QCOMPARE(pathView->model(), modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ pathView->setModel(modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ pathView->setModel(QVariant());
+ QCOMPARE(modelSpy.count(),2);
+
+ delete canvas;
+}
QDeclarativeView *tst_QDeclarativePathView::createView()
{
diff --git a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
index 3a8a892e4e..d23d74c602 100644
--- a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
+++ b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
@@ -365,7 +365,7 @@ void tst_QDeclarativePositioners::test_grid_animated()
}
void tst_QDeclarativePositioners::test_propertychanges()
{
- QDeclarativeView *canvas = createView("data/propertychanges.qml");
+ QDeclarativeView *canvas = createView(SRCDIR "/data/propertychanges.qml");
QDeclarativeGrid *grid = qobject_cast<QDeclarativeGrid*>(canvas->rootObject());
QDeclarativeTransition *rowTransition = canvas->rootObject()->findChild<QDeclarativeTransition*>("rowTransition");
diff --git a/tests/auto/declarative/qdeclarativeproperty/data/TestType.qml b/tests/auto/declarative/qdeclarativeproperty/data/TestType.qml
new file mode 100644
index 0000000000..1dfb3e1b31
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeproperty/data/TestType.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+QtObject {
+ property int a: 10
+}
+
diff --git a/tests/auto/declarative/qdeclarativeproperty/data/readSynthesizedObject.qml b/tests/auto/declarative/qdeclarativeproperty/data/readSynthesizedObject.qml
new file mode 100644
index 0000000000..8085db2f74
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeproperty/data/readSynthesizedObject.qml
@@ -0,0 +1,9 @@
+import Qt 4.6
+
+QtObject {
+ property TestType test
+
+ test: TestType {
+ property int b: 19
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
index 22e50cc558..af1e1b66c3 100644
--- a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
+++ b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
@@ -3,3 +3,5 @@ contains(QT_CONFIG,declarative): QT += declarative
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeproperty.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
index 0333d98295..9b8a643934 100644
--- a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
+++ b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
@@ -46,6 +46,14 @@
#include <private/qguard_p.h>
#include <private/qdeclarativebinding_p.h>
#include <QtGui/QLineEdit>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qdir.h>
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ QFileInfo fileInfo(__FILE__);
+ return QUrl::fromLocalFile(fileInfo.absoluteDir().filePath(QLatin1String("data/") + filename));
+}
class MyQmlObject : public QObject
{
@@ -181,6 +189,7 @@ class PropertyObject : public QObject
Q_PROPERTY(QUrl url READ url WRITE setUrl);
Q_PROPERTY(int resettableProperty READ resettableProperty WRITE setResettableProperty RESET resetProperty);
Q_PROPERTY(int propertyWithNotify READ propertyWithNotify WRITE setPropertyWithNotify NOTIFY oddlyNamedNotifySignal)
+ Q_PROPERTY(MyQmlObject *qmlObject READ qmlObject);
Q_CLASSINFO("DefaultProperty", "defaultProperty");
public:
@@ -202,6 +211,7 @@ public:
int propertyWithNotify() const { return m_propertyWithNotify; }
void setPropertyWithNotify(int i) { m_propertyWithNotify = i; emit oddlyNamedNotifySignal(); }
+ MyQmlObject *qmlObject() { return &m_qmlObject; }
signals:
void clicked();
void oddlyNamedNotifySignal();
@@ -211,6 +221,7 @@ private:
QRect m_rect;
QUrl m_url;
int m_propertyWithNotify;
+ MyQmlObject m_qmlObject;
};
QML_DECLARE_TYPE(PropertyObject);
@@ -953,6 +964,32 @@ void tst_qdeclarativeproperty::read()
QCOMPARE(p.read(), QVariant());
}
+ // Object property
+ {
+ PropertyObject o;
+ QDeclarativeProperty p(&o, "qmlObject");
+ QCOMPARE(p.propertyTypeCategory(), QDeclarativeProperty::Object);
+ QCOMPARE(p.propertyType(), qMetaTypeId<MyQmlObject*>());
+ QVariant v = p.read();
+ QVERIFY(v.userType() == QMetaType::QObjectStar);
+ QVERIFY(qvariant_cast<QObject *>(v) == o.qmlObject());
+ }
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("readSynthesizedObject.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QDeclarativeProperty p(object, "test", &engine);
+
+ QCOMPARE(p.propertyTypeCategory(), QDeclarativeProperty::Object);
+ QVERIFY(p.propertyType() != QMetaType::QObjectStar);
+
+ QVariant v = p.read();
+ QVERIFY(v.userType() == QMetaType::QObjectStar);
+ QCOMPARE(qvariant_cast<QObject *>(v)->property("a").toInt(), 10);
+ QCOMPARE(qvariant_cast<QObject *>(v)->property("b").toInt(), 19);
+ }
+
// Attached property
{
QDeclarativeComponent component(&engine);
diff --git a/tests/auto/declarative/qdeclarativeqt/data/formatting.qml b/tests/auto/declarative/qdeclarativeqt/data/formatting.qml
new file mode 100644
index 0000000000..e62749a3ac
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeqt/data/formatting.qml
@@ -0,0 +1,19 @@
+import Qt 4.6
+
+QtObject {
+ property date date1: "2008-12-24"
+ property string test1: Qt.formatDate(date1)
+ property string test2: Qt.formatDate(date1, Qt.DefaultLocaleLongDate)
+ property string test3: Qt.formatDate(date1, "ddd MMMM d yy")
+
+ property var time1: new Date(0,0,0,14,15,38,200)
+ property string test4: Qt.formatTime(time1)
+ property string test5: Qt.formatTime(time1, Qt.DefaultLocaleLongDate)
+ property string test6: Qt.formatTime(time1, "H:m:s a")
+ property string test7: Qt.formatTime(time1, "hh:mm:ss.zzz")
+
+ property var dateTime1: new Date(1978,2,4,9,13,54)
+ property string test8: Qt.formatDateTime(dateTime1)
+ property string test9: Qt.formatDateTime(dateTime1, Qt.DefaultLocaleLongDate)
+ property string test10: Qt.formatDateTime(dateTime1, "M/d/yy H:m:s a")
+}
diff --git a/tests/auto/declarative/qdeclarativeqt/data/tint.qml b/tests/auto/declarative/qdeclarativeqt/data/tint.qml
index da8afe2e5c..478245f063 100644
--- a/tests/auto/declarative/qdeclarativeqt/data/tint.qml
+++ b/tests/auto/declarative/qdeclarativeqt/data/tint.qml
@@ -3,7 +3,7 @@ import Qt 4.6
QtObject {
property color test1: Qt.tint("red", "blue");
property color test2: Qt.tint(Qt.rgba(1, 0, 0), Qt.rgba(0, 0, 0, 0));
- property color test3: Qt.tint("red", Qt.rgba(0, 0, 1, 0.5)); // XXX - what should this be?
+ property color test3: Qt.tint("red", Qt.rgba(0, 0, 1, 0.5));
property color test4: Qt.tint("red", Qt.rgba(0, 0, 1, 0.5), 10);
property color test5: Qt.tint("red")
}
diff --git a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
index 9ec68727ae..b70011b7b8 100644
--- a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
+++ b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
@@ -67,12 +67,12 @@ private slots:
void darker();
void tint();
void closestAngle();
- void playSound();
void openUrlExternally();
void md5();
void createComponent();
void createQmlObject();
void consoleLog();
+ void formatting();
private:
QDeclarativeEngine engine;
@@ -254,8 +254,8 @@ void tst_qdeclarativeqt::tint()
QCOMPARE(qvariant_cast<QColor>(object->property("test1")), QColor::fromRgbF(0, 0, 1));
QCOMPARE(qvariant_cast<QColor>(object->property("test2")), QColor::fromRgbF(1, 0, 0));
- QEXPECT_FAIL("", "QT-2424",Continue);
- QCOMPARE(qvariant_cast<QColor>(object->property("test3")), QColor::fromRgbF(1, 0, 0));
+ QColor test3 = qvariant_cast<QColor>(object->property("test3"));
+ QCOMPARE(test3.rgba(), 0xFF7F0080);
QCOMPARE(qvariant_cast<QColor>(object->property("test4")), QColor());
QCOMPARE(qvariant_cast<QColor>(object->property("test5")), QColor());
@@ -279,12 +279,6 @@ void tst_qdeclarativeqt::closestAngle()
delete object;
}
-void tst_qdeclarativeqt::playSound()
-{
- QEXPECT_FAIL("", "How do we test this?", Abort);
- QVERIFY(false);
-}
-
void tst_qdeclarativeqt::openUrlExternally()
{
QEXPECT_FAIL("", "How do we test this?", Abort);
@@ -364,6 +358,34 @@ void tst_qdeclarativeqt::consoleLog()
delete object;
}
+void tst_qdeclarativeqt::formatting()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("formatting.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QDate date1(2008,12,24);
+ QCOMPARE(object->property("date1").toDate(), date1);
+ QCOMPARE(object->property("test1").toString(), date1.toString(Qt::DefaultLocaleShortDate));
+ QCOMPARE(object->property("test2").toString(), date1.toString(Qt::DefaultLocaleLongDate));
+ QCOMPARE(object->property("test3").toString(), date1.toString("ddd MMMM d yy"));
+
+ QTime time1(14,15,38,200);
+ QCOMPARE(object->property("time1").toTime(), time1);
+ QCOMPARE(object->property("test4").toString(), time1.toString(Qt::DefaultLocaleShortDate));
+ QCOMPARE(object->property("test5").toString(), time1.toString(Qt::DefaultLocaleLongDate));
+ QCOMPARE(object->property("test6").toString(), time1.toString("H:m:s a"));
+ QCOMPARE(object->property("test7").toString(), time1.toString("hh:mm:ss.zzz"));
+
+ QDateTime dateTime1(QDate(1978,03,04),QTime(9,13,54));
+ QCOMPARE(object->property("dateTime1").toDateTime(),dateTime1);
+ QCOMPARE(object->property("test8").toString(), dateTime1.toString(Qt::DefaultLocaleShortDate));
+ QCOMPARE(object->property("test9").toString(), dateTime1.toString(Qt::DefaultLocaleLongDate));
+ QCOMPARE(object->property("test10").toString(), dateTime1.toString("M/d/yy H:m:s a"));
+
+ delete object;
+}
+
QTEST_MAIN(tst_qdeclarativeqt)
#include "tst_qdeclarativeqt.moc"
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
index b677fec13d..b1935df492 100644
--- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
+++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
@@ -663,15 +663,17 @@ void tst_qdeclarativetextedit::delegateLoading()
QVERIFY(delegate);
view->setSource(QUrl("http://localhost:42332/cursorHttpTestFail1.qml"));
view->show();
+ QTRY_VERIFY(view->status()==QDeclarativeView::Error);
view->setFocus();
QTRY_VERIFY(!view->rootObject()); // there is fail item inside this test
view->setSource(QUrl("http://localhost:42332/cursorHttpTestFail2.qml"));
view->show();
+ QTRY_VERIFY(view->status()==QDeclarativeView::Error);
view->setFocus();
QTRY_VERIFY(!view->rootObject()); // there is fail item inside this test
- //ErrorB should get a component which is ready but component.create() returns null
+ //A test should be added here with a component which is ready but component.create() returns null
//Not sure how to accomplish this with QDeclarativeTextEdits cursor delegate
- //###This could be a case of overzealous defensive programming
+ //###This was only needed for code coverage, and could be a case of overzealous defensive programming
//delegate = view->rootObject()->findChild<QDeclarativeItem*>("delegateErrorB");
//QVERIFY(!delegate);
}
diff --git a/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp b/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
index b120d5d5a2..1dfec50360 100644
--- a/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
+++ b/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
@@ -38,6 +38,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+#include <QtTest/QSignalSpy>
#include <qtest.h>
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
@@ -161,6 +162,18 @@ void tst_qdeclarativetimer::repeat()
QVERIFY(helper.count == oldCount);
QVERIFY(timer->isRunning() == false);
+ QSignalSpy spy(timer, SIGNAL(repeatChanged()));
+
+ timer->setRepeating(false);
+ QVERIFY(!timer->isRepeating());
+ QCOMPARE(spy.count(),1);
+
+ timer->setRepeating(false);
+ QCOMPARE(spy.count(),1);
+
+ timer->setRepeating(true);
+ QCOMPARE(spy.count(),2);
+
delete timer;
}
@@ -184,6 +197,18 @@ void tst_qdeclarativetimer::triggeredOnStart()
QCOMPARE(helper.count, 2);
QVERIFY(timer->isRunning() == false);
+ QSignalSpy spy(timer, SIGNAL(triggeredOnStartChanged()));
+
+ timer->setTriggeredOnStart(false);
+ QVERIFY(!timer->triggeredOnStart());
+ QCOMPARE(spy.count(),1);
+
+ timer->setTriggeredOnStart(false);
+ QCOMPARE(spy.count(),1);
+
+ timer->setTriggeredOnStart(true);
+ QCOMPARE(spy.count(),2);
+
delete timer;
}
@@ -250,6 +275,18 @@ void tst_qdeclarativetimer::changeDuration()
QCOMPARE(helper.count, 3);
QVERIFY(timer->isRunning());
+ QSignalSpy spy(timer, SIGNAL(intervalChanged()));
+
+ timer->setInterval(200);
+ QCOMPARE(timer->interval(), 200);
+ QCOMPARE(spy.count(),1);
+
+ timer->setInterval(200);
+ QCOMPARE(spy.count(),1);
+
+ timer->setInterval(300);
+ QCOMPARE(spy.count(),2);
+
delete timer;
}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.1.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.1.qml
index 0eadd507e6..cb01a80669 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.1.qml
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.1.qml
@@ -1,6 +1,6 @@
import Test 1.0
MyTypeObject {
- font.capitalization: "MixedCase"
+ font.capitalization: "AllUppercase"
}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.2.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.2.qml
index 81f1c922ef..93f1ed59bc 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.2.qml
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.2.qml
@@ -1,6 +1,6 @@
import Test 1.0
MyTypeObject {
- font.capitalization: if (1) "MixedCase"
+ font.capitalization: if (1) "AllUppercase"
}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.3.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.3.qml
new file mode 100644
index 0000000000..3be50990d5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.3.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+import Qt 4.6
+
+MyTypeObject {
+ font.capitalization: Font.AllUppercase
+}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.4.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.4.qml
new file mode 100644
index 0000000000..6b494e447d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.4.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+import Qt 4.6 as MyQt
+
+MyTypeObject {
+ font.capitalization: MyQt.Font.AllUppercase
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/valueInterceptors.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/valueInterceptors.qml
index 026ae83444..0897847d2d 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/data/valueInterceptors.qml
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/valueInterceptors.qml
@@ -3,6 +3,6 @@ import Test 1.0
MyTypeObject {
property int value: 13;
- rect.x: MyOffsetValueInterceptor {}
+ MyOffsetValueInterceptor on rect.x {}
rect.x: value
}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/valueSources.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/valueSources.qml
index d4d43915ff..717f3502c0 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/data/valueSources.qml
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/valueSources.qml
@@ -1,5 +1,5 @@
import Test 1.0
MyTypeObject {
- rect.x: MyConstantValueSource {}
+ MyConstantValueSource on rect.x {}
}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
index 69646b9b61..51f9a07285 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
+++ b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
@@ -502,10 +502,9 @@ void tst_qdeclarativevaluetypes::valueInterceptors()
QDeclarativeComponent component(&engine, TEST_FILE("valueInterceptors.qml"));
MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
checkNoErrors(component);
- QEXPECT_FAIL("", "QT-2920", Abort);
QVERIFY(object != 0);
- QCOMPARE(object->rect().x(), 26);
+ QCOMPARE(object->rect().x(), 13);
object->setProperty("value", 99);
@@ -598,7 +597,7 @@ void tst_qdeclarativevaluetypes::enums()
QDeclarativeComponent component(&engine, TEST_FILE("enums.1.qml"));
MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
QVERIFY(object != 0);
- QVERIFY(object->font().capitalization() == QFont::MixedCase);
+ QVERIFY(object->font().capitalization() == QFont::AllUppercase);
delete object;
}
@@ -606,7 +605,23 @@ void tst_qdeclarativevaluetypes::enums()
QDeclarativeComponent component(&engine, TEST_FILE("enums.2.qml"));
MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
QVERIFY(object != 0);
- QVERIFY(object->font().capitalization() == QFont::MixedCase);
+ QVERIFY(object->font().capitalization() == QFont::AllUppercase);
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("enums.3.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+ QVERIFY(object->font().capitalization() == QFont::AllUppercase);
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("enums.4.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+ QVERIFY(object->font().capitalization() == QFont::AllUppercase);
delete object;
}
}
diff --git a/tests/auto/declarative/qdeclarativewebview/data/basic.qml b/tests/auto/declarative/qdeclarativewebview/data/basic.qml
index 5394837310..f0b41ef06f 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/basic.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/basic.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
url: "basic.html"
diff --git a/tests/auto/declarative/qdeclarativewebview/data/elements.qml b/tests/auto/declarative/qdeclarativewebview/data/elements.qml
index 7c030e6449..16e578858a 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/elements.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/elements.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
url: "elements.html"
diff --git a/tests/auto/declarative/qdeclarativewebview/data/forward.png b/tests/auto/declarative/qdeclarativewebview/data/forward.png
new file mode 100644
index 0000000000..a82533e3d3
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativewebview/data/forward.png
Binary files differ
diff --git a/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml b/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml
index 07eee8885a..0e92e0ef67 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
url: "javaScript.html"
diff --git a/tests/auto/declarative/qdeclarativewebview/data/loadError.qml b/tests/auto/declarative/qdeclarativewebview/data/loadError.qml
index 1460f30990..f8272382f6 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/loadError.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/loadError.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
url: "does-not-exist.html"
diff --git a/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml b/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml
index 0bc82633d2..4d9df43174 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml
@@ -1,6 +1,7 @@
// Demonstrates opening new WebViews from HTML
import Qt 4.6
+import org.webkit 1.0
Grid {
columns: 3
diff --git a/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml
index 3dd4e51c2e..0770acfda7 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Item {
width: 240
@@ -30,4 +31,4 @@ Item {
pressGrabTime: 200
}
}
-} \ No newline at end of file
+}
diff --git a/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml b/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml
index 063b5a8c7e..9e17597fec 100644
--- a/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml
+++ b/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
html: "<p>This is a <b>string</b> set on the WebView"
diff --git a/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro b/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
index 6af0a60048..20173c6235 100644
--- a/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
+++ b/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
@@ -3,8 +3,7 @@ contains(QT_CONFIG,declarative): QT += declarative
contains(QT_CONFIG,webkit): QT += webkit
macx:CONFIG -= app_bundle
-SOURCES += tst_qdeclarativewebview.cpp testtypes.cpp
-HEADERS += testtypes.h
+SOURCES += tst_qdeclarativewebview.cpp
# Define SRCDIR equal to test's source directory
DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
index 6d1605691e..b63e14b8b7 100644
--- a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
+++ b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
@@ -43,15 +43,12 @@
#include "../../../shared/util.h"
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
-#include <private/qdeclarativewebview_p.h>
-#include <private/qdeclarativewebview_p_p.h>
#include <private/qdeclarativepositioners_p.h>
#include <QtWebKit/qwebpage.h>
#include <QtWebKit/qwebframe.h>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
#include <QtGui/qpainter.h>
-#include "testtypes.h"
class tst_qdeclarativewebview : public QObject
{
@@ -70,7 +67,7 @@ private slots:
void setHtml();
void javaScript();
void cleanupTestCase();
- void pixelCache();
+ //void pixelCache();
void newWindowParent();
void newWindowComponent();
void renderingEnabled();
@@ -89,7 +86,6 @@ private:
void tst_qdeclarativewebview::initTestCase()
{
- registerTypes();
}
static QString strippedHtml(QString html)
@@ -148,81 +144,82 @@ void tst_qdeclarativewebview::basicProperties()
checkNoErrors(component);
QWebSettings::enablePersistentStorage(tmpDir());
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->title(),QString("Basic"));
- QTRY_COMPARE(wv->icon().width(), 48);
- QCOMPARE(wv->icon(),QPixmap(SRCDIR "/data/basic.png"));
- QCOMPARE(wv->statusText(),QString("status here"));
- QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->html()));
- QCOMPARE(wv->width(), 123.0);
- QCOMPARE(wv->preferredWidth(), 0);
- QCOMPARE(wv->preferredHeight(), 0);
- QCOMPARE(wv->zoomFactor(), 1.0);
- QCOMPARE(wv->url(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
- QCOMPARE(wv->status(), QDeclarativeWebView::Ready);
- QVERIFY(wv->reloadAction());
- QVERIFY(wv->reloadAction()->isEnabled());
- QVERIFY(wv->backAction());
- QVERIFY(!wv->backAction()->isEnabled());
- QVERIFY(wv->forwardAction());
- QVERIFY(!wv->forwardAction()->isEnabled());
- QVERIFY(wv->stopAction());
- QVERIFY(!wv->stopAction()->isEnabled());
-
- wv->setPixelCacheSize(0); // mainly testing that it doesn't crash or anything!
- QCOMPARE(wv->pixelCacheSize(),0);
- wv->reloadAction()->trigger();
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("title").toString(),QString("Basic"));
+ QTRY_COMPARE(qvariant_cast<QPixmap>(wv->property("icon")).width(), 48);
+ QCOMPARE(qvariant_cast<QPixmap>(wv->property("icon")),QPixmap(SRCDIR "/data/basic.png"));
+ QCOMPARE(wv->property("statusText").toString(),QString("status here"));
+ QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->property("html").toString()));
+ QCOMPARE(wv->property("width").toDouble(), 123.0);
+ QCOMPARE(wv->property("preferredWidth").toInt(), 0);
+ QCOMPARE(wv->property("preferredHeight").toInt(), 0);
+ QCOMPARE(wv->property("zoomFactor").toDouble(), 1.0);
+ QCOMPARE(wv->property("url").toUrl(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
+ QCOMPARE(wv->property("status").toInt(), 1 /*QDeclarativeWebView::Ready*/);
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("back")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("back"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("forward")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("forward"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("stop")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("stop"))->isEnabled());
+
+ wv->setProperty("pixelCacheSize", 0); // mainly testing that it doesn't crash or anything!
+ QCOMPARE(wv->property("pixelCacheSize").toInt(),0);
+ qvariant_cast<QAction*>(wv->property("reload"))->trigger();
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
}
void tst_qdeclarativewebview::settings()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/basic.qml"));
checkNoErrors(component);
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
- QDeclarativeWebSettings *s = wv->settingsObject();
+ QObject *s = QDeclarativeProperty(wv,"settings").object();
+ QVERIFY(s != 0);
// merely tests that setting gets stored (in QWebSettings)
// behavioural tests are in WebKit.
for (int b=0; b<=1; ++b) {
bool on = !!b;
- s->setAutoLoadImages(on);
- s->setDeveloperExtrasEnabled(on);
- s->setJavaEnabled(on);
- s->setJavascriptCanAccessClipboard(on);
- s->setJavascriptCanOpenWindows(on);
- s->setJavascriptEnabled(on);
- s->setLinksIncludedInFocusChain(on);
- s->setLocalContentCanAccessRemoteUrls(on);
- s->setLocalStorageDatabaseEnabled(on);
- s->setOfflineStorageDatabaseEnabled(on);
- s->setOfflineWebApplicationCacheEnabled(on);
- s->setPluginsEnabled(on);
- s->setPrintElementBackgrounds(on);
- s->setPrivateBrowsingEnabled(on);
- s->setZoomTextOnly(on);
-
- QVERIFY(s->autoLoadImages() == on);
- QVERIFY(s->developerExtrasEnabled() == on);
- QVERIFY(s->javaEnabled() == on);
- QVERIFY(s->javascriptCanAccessClipboard() == on);
- QVERIFY(s->javascriptCanOpenWindows() == on);
- QVERIFY(s->javascriptEnabled() == on);
- QVERIFY(s->linksIncludedInFocusChain() == on);
- QVERIFY(s->localContentCanAccessRemoteUrls() == on);
- QVERIFY(s->localStorageDatabaseEnabled() == on);
- QVERIFY(s->offlineStorageDatabaseEnabled() == on);
- QVERIFY(s->offlineWebApplicationCacheEnabled() == on);
- QVERIFY(s->pluginsEnabled() == on);
- QVERIFY(s->printElementBackgrounds() == on);
- QVERIFY(s->privateBrowsingEnabled() == on);
- QVERIFY(s->zoomTextOnly() == on);
+ s->setProperty("autoLoadImages", on);
+ s->setProperty("developerExtrasEnabled", on);
+ s->setProperty("javaEnabled", on);
+ s->setProperty("javascriptCanAccessClipboard", on);
+ s->setProperty("javascriptCanOpenWindows", on);
+ s->setProperty("javascriptEnabled", on);
+ s->setProperty("linksIncludedInFocusChain", on);
+ s->setProperty("localContentCanAccessRemoteUrls", on);
+ s->setProperty("localStorageDatabaseEnabled", on);
+ s->setProperty("offlineStorageDatabaseEnabled", on);
+ s->setProperty("offlineWebApplicationCacheEnabled", on);
+ s->setProperty("pluginsEnabled", on);
+ s->setProperty("printElementBackgrounds", on);
+ s->setProperty("privateBrowsingEnabled", on);
+ s->setProperty("zoomTextOnly", on);
+
+ QVERIFY(s->property("autoLoadImages") == on);
+ QVERIFY(s->property("developerExtrasEnabled") == on);
+ QVERIFY(s->property("javaEnabled") == on);
+ QVERIFY(s->property("javascriptCanAccessClipboard") == on);
+ QVERIFY(s->property("javascriptCanOpenWindows") == on);
+ QVERIFY(s->property("javascriptEnabled") == on);
+ QVERIFY(s->property("linksIncludedInFocusChain") == on);
+ QVERIFY(s->property("localContentCanAccessRemoteUrls") == on);
+ QVERIFY(s->property("localStorageDatabaseEnabled") == on);
+ QVERIFY(s->property("offlineStorageDatabaseEnabled") == on);
+ QVERIFY(s->property("offlineWebApplicationCacheEnabled") == on);
+ QVERIFY(s->property("pluginsEnabled") == on);
+ QVERIFY(s->property("printElementBackgrounds") == on);
+ QVERIFY(s->property("privateBrowsingEnabled") == on);
+ QVERIFY(s->property("zoomTextOnly") == on);
QVERIFY(s->property("autoLoadImages") == on);
QVERIFY(s->property("developerExtrasEnabled") == on);
@@ -248,65 +245,65 @@ void tst_qdeclarativewebview::historyNav()
checkNoErrors(component);
QWebSettings::enablePersistentStorage(tmpDir());
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
for (int i=1; i<=2; ++i) {
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->title(),QString("Basic"));
- QTRY_COMPARE(wv->icon().width(), 48);
- QCOMPARE(wv->icon(),QPixmap(SRCDIR "/data/basic.png"));
- QCOMPARE(wv->statusText(),QString("status here"));
- QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->html()));
- QCOMPARE(wv->width(), 123.0);
- QCOMPARE(wv->preferredWidth(), 0);
- QCOMPARE(wv->zoomFactor(), 1.0);
- QCOMPARE(wv->url(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
- QCOMPARE(wv->status(), QDeclarativeWebView::Ready);
- QVERIFY(wv->reloadAction());
- QVERIFY(wv->reloadAction()->isEnabled());
- QVERIFY(wv->backAction());
- QVERIFY(!wv->backAction()->isEnabled());
- QVERIFY(wv->forwardAction());
- QVERIFY(!wv->forwardAction()->isEnabled());
- QVERIFY(wv->stopAction());
- QVERIFY(!wv->stopAction()->isEnabled());
-
- wv->reloadAction()->trigger();
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("title").toString(),QString("Basic"));
+ QTRY_COMPARE(qvariant_cast<QPixmap>(wv->property("icon")).width(), 48);
+ QCOMPARE(qvariant_cast<QPixmap>(wv->property("icon")),QPixmap(SRCDIR "/data/basic.png"));
+ QCOMPARE(wv->property("statusText").toString(),QString("status here"));
+ QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->property("html").toString()));
+ QCOMPARE(wv->property("width").toDouble(), 123.0);
+ QCOMPARE(wv->property("preferredWidth").toDouble(), 0.0);
+ QCOMPARE(wv->property("zoomFactor").toDouble(), 1.0);
+ QCOMPARE(wv->property("url").toUrl(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
+ QCOMPARE(wv->property("status").toInt(), 1 /*QDeclarativeWebView::Ready*/);
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("back")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("back"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("forward")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("forward"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("stop")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("stop"))->isEnabled());
+
+ qvariant_cast<QAction*>(wv->property("reload"))->trigger();
}
- wv->setUrl(QUrl::fromLocalFile(SRCDIR "/data/forward.html"));
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->title(),QString("Forward"));
- QTRY_COMPARE(wv->icon().width(), 32);
- QCOMPARE(wv->icon(),QPixmap(SRCDIR "/data/forward.png"));
- QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/forward.html")), strippedHtml(wv->html()));
- QCOMPARE(wv->url(), QUrl::fromLocalFile(SRCDIR "/data/forward.html"));
- QCOMPARE(wv->status(), QDeclarativeWebView::Ready);
- QCOMPARE(wv->statusText(),QString(""));
- QVERIFY(wv->reloadAction());
- QVERIFY(wv->reloadAction()->isEnabled());
- QVERIFY(wv->backAction());
- QVERIFY(wv->backAction()->isEnabled());
- QVERIFY(wv->forwardAction());
- QVERIFY(!wv->forwardAction()->isEnabled());
- QVERIFY(wv->stopAction());
- QVERIFY(!wv->stopAction()->isEnabled());
-
- wv->backAction()->trigger();
-
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->title(),QString("Basic"));
- QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->html()));
- QCOMPARE(wv->url(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
- QCOMPARE(wv->status(), QDeclarativeWebView::Ready);
- QVERIFY(wv->reloadAction());
- QVERIFY(wv->reloadAction()->isEnabled());
- QVERIFY(wv->backAction());
- QVERIFY(!wv->backAction()->isEnabled());
- QVERIFY(wv->forwardAction());
- QVERIFY(wv->forwardAction()->isEnabled());
- QVERIFY(wv->stopAction());
- QVERIFY(!wv->stopAction()->isEnabled());
+ wv->setProperty("url", QUrl::fromLocalFile(SRCDIR "/data/forward.html"));
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("title").toString(),QString("Forward"));
+ QTRY_COMPARE(qvariant_cast<QPixmap>(wv->property("icon")).width(), 32);
+ QCOMPARE(qvariant_cast<QPixmap>(wv->property("icon")),QPixmap(SRCDIR "/data/forward.png"));
+ QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/forward.html")), strippedHtml(wv->property("html").toString()));
+ QCOMPARE(wv->property("url").toUrl(), QUrl::fromLocalFile(SRCDIR "/data/forward.html"));
+ QCOMPARE(wv->property("status").toInt(), 1 /*QDeclarativeWebView::Ready*/);
+ QCOMPARE(wv->property("statusText").toString(),QString(""));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("back")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("back"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("forward")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("forward"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("stop")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("stop"))->isEnabled());
+
+ qvariant_cast<QAction*>(wv->property("back"))->trigger();
+
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("title").toString(),QString("Basic"));
+ QCOMPARE(strippedHtml(fileContents(SRCDIR "/data/basic.html")), strippedHtml(wv->property("html").toString()));
+ QCOMPARE(wv->property("url").toUrl(), QUrl::fromLocalFile(SRCDIR "/data/basic.html"));
+ QCOMPARE(wv->property("status").toInt(), 1 /*QDeclarativeWebView::Ready*/);
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("reload"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("back")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("back"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("forward")));
+ QVERIFY(qvariant_cast<QAction*>(wv->property("forward"))->isEnabled());
+ QVERIFY(qvariant_cast<QAction*>(wv->property("stop")));
+ QVERIFY(!qvariant_cast<QAction*>(wv->property("stop"))->isEnabled());
}
void tst_qdeclarativewebview::multipleWindows()
@@ -328,16 +325,16 @@ void tst_qdeclarativewebview::loadError()
checkNoErrors(component);
QWebSettings::enablePersistentStorage(tmpDir());
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
for (int i=1; i<=2; ++i) {
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->title(),QString(""));
- QCOMPARE(wv->statusText(),QString("")); // HTML 'status bar' text, not error message
- QCOMPARE(wv->url(), QUrl::fromLocalFile(SRCDIR "/data/does-not-exist.html")); // Unlike QWebPage, which loses url
- QCOMPARE(wv->status(), QDeclarativeWebView::Error);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("title").toString(),QString(""));
+ QCOMPARE(wv->property("statusText").toString(),QString("")); // HTML 'status bar' text, not error message
+ QCOMPARE(wv->property("url").toUrl(), QUrl::fromLocalFile(SRCDIR "/data/does-not-exist.html")); // Unlike QWebPage, which loses url
+ QCOMPARE(wv->property("status").toInt(), 3 /*QDeclarativeWebView::Error*/);
- wv->reloadAction()->trigger();
+ qvariant_cast<QAction*>(wv->property("reload"))->trigger();
}
}
@@ -345,12 +342,12 @@ void tst_qdeclarativewebview::setHtml()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/sethtml.qml"));
checkNoErrors(component);
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
- QCOMPARE(wv->html(),QString("<html><head></head><body><p>This is a <b>string</b> set on the WebView</p></body></html>"));
+ QCOMPARE(wv->property("html").toString(),QString("<html><head></head><body><p>This is a <b>string</b> set on the WebView</p></body></html>"));
QSignalSpy spy(wv, SIGNAL(htmlChanged()));
- wv->setHtml(QString("<html><head><title>Basic</title></head><body><p>text</p></body></html>"));
+ wv->setProperty("html", QString("<html><head><title>Basic</title></head><body><p>text</p></body></html>"));
QCOMPARE(spy.count(),1);
}
@@ -358,81 +355,91 @@ void tst_qdeclarativewebview::elementAreaAt()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/elements.qml"));
checkNoErrors(component);
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ /* not now it's a plugin...
QCOMPARE(wv->elementAreaAt(40,30,100,100),QRect(1,1,75,54)); // Area A in data/elements.html
QCOMPARE(wv->elementAreaAt(130,30,200,100),QRect(78,3,110,50)); // Area B
QCOMPARE(wv->elementAreaAt(40,30,400,400),QRect(0,0,310,100)); // Whole view
QCOMPARE(wv->elementAreaAt(130,30,280,280),QRect(76,1,223,54)); // Area BC
QCOMPARE(wv->elementAreaAt(130,30,400,400),QRect(0,0,310,100)); // Whole view
+ */
}
void tst_qdeclarativewebview::javaScript()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/javaScript.qml"));
checkNoErrors(component);
- QDeclarativeWebView *wv = qobject_cast<QDeclarativeWebView*>(component.create());
+ QObject *wv = component.create();
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ /* not now it's a plugin...
QCOMPARE(wv->evaluateJavaScript("123").toInt(), 123);
QCOMPARE(wv->evaluateJavaScript("window.status").toString(), QString("status here"));
QCOMPARE(wv->evaluateJavaScript("window.myjsname.qmlprop").toString(), QString("qmlvalue"));
+ */
}
+/*
+Cannot be done now that webkit is a plugin
+
void tst_qdeclarativewebview::pixelCache()
{
+
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/pixelCache.qml"));
checkNoErrors(component);
MyWebView *wv = qobject_cast<MyWebView*>(component.create());
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress"), 1.0);
QPixmap pm(150,150);
QPainter p(&pm);
wv->paint(&p,0,0);
const int expected = 120*(150+128); // 120 = width of HTML page, 150=pixmap height, 128=cache extra area
- QCOMPARE(wv->pixelsPainted(), expected);
+ QCOMPARE(wv->property("pixelsPainted"), expected);
wv->paint(&p,0,0);
- QCOMPARE(wv->pixelsPainted(), expected); // nothing new needed to be painted
- wv->setPixelCacheSize(0); // clears the cache
+ QCOMPARE(wv->property("pixelsPainted"), expected); // nothing new needed to be painted
+ wv->setProperty("pixelCacheSize", 0); // clears the cache
wv->paint(&p,0,0);
- QCOMPARE(wv->pixelsPainted(), expected*2); // everything needed to be painted
+ QCOMPARE(wv->property("pixelsPainted"), expected*2); // everything needed to be painted
// Note that painted things always go into the cache (even if they don't "fit"),
// just that they will be removed if anything else needs to be painted.
- wv->setPixelCacheSize(expected); // won't clear the cache
+ wv->setProperty("pixelCacheSize", expected); // won't clear the cache
wv->paint(&p,0,0);
- QCOMPARE(wv->pixelsPainted(), expected*2); // still there
- wv->setPixelCacheSize(expected-1); // too small - will clear the cache
+ QCOMPARE(wv->property("pixelsPainted"), expected*2); // still there
+ wv->setProperty("pixelCacheSize", expected-1); // too small - will clear the cache
wv->paint(&p,0,0);
- QCOMPARE(wv->pixelsPainted(), expected*3); // repainted
+ QCOMPARE(wv->property("pixelsPainted"), expected*3); // repainted
}
+*/
void tst_qdeclarativewebview::newWindowParent()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
checkNoErrors(component);
QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create());
- QDeclarativeWebView *wv = rootItem->findChild<QDeclarativeWebView*>("webView");
+ QObject *wv = rootItem->findChild<QObject*>("webView");
QVERIFY(rootItem != 0);
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
QDeclarativeItem* oldWindowParent = rootItem->findChild<QDeclarativeItem*>("oldWindowParent");
- QCOMPARE(wv->newWindowParent(), oldWindowParent);
+ QCOMPARE(qvariant_cast<QDeclarativeItem*>(wv->property("newWindowParent")), oldWindowParent);
QSignalSpy newWindowParentSpy(wv, SIGNAL(newWindowParentChanged()));
QDeclarativeItem* newWindowParent = rootItem->findChild<QDeclarativeItem*>("newWindowParent");
- wv->setNewWindowParent(newWindowParent);
+ wv->setProperty("newWindowParent", QVariant::fromValue(newWindowParent));
+ QVERIFY(newWindowParent);
QVERIFY(oldWindowParent);
QVERIFY(oldWindowParent->childItems().count() == 0);
- QCOMPARE(wv->newWindowParent(), newWindowParent);
+ QCOMPARE(wv->property("newWindowParent"), QVariant::fromValue(newWindowParent));
QCOMPARE(newWindowParentSpy.count(),1);
- wv->setNewWindowParent(newWindowParent);
+ wv->setProperty("newWindowParent", QVariant::fromValue(newWindowParent));
QCOMPARE(newWindowParentSpy.count(),1);
- wv->setNewWindowParent(0);
+ wv->setProperty("newWindowParent", QVariant::fromValue((QDeclarativeItem*)0));
QCOMPARE(newWindowParentSpy.count(),2);
}
@@ -441,23 +448,23 @@ void tst_qdeclarativewebview::newWindowComponent()
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
checkNoErrors(component);
QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create());
- QDeclarativeWebView *wv = rootItem->findChild<QDeclarativeWebView*>("webView");
+ QObject *wv = rootItem->findChild<QObject*>("webView");
QVERIFY(rootItem != 0);
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
QDeclarativeComponent substituteComponent(&engine);
substituteComponent.setData("import Qt 4.6; WebView { objectName: 'newWebView'; url: 'basic.html'; }", QUrl::fromLocalFile(""));
QSignalSpy newWindowComponentSpy(wv, SIGNAL(newWindowComponentChanged()));
- wv->setNewWindowComponent(&substituteComponent);
- QCOMPARE(wv->newWindowComponent(), &substituteComponent);
+ wv->setProperty("newWindowComponent", QVariant::fromValue(&substituteComponent));
+ QCOMPARE(wv->property("newWindowComponent"), QVariant::fromValue(&substituteComponent));
QCOMPARE(newWindowComponentSpy.count(),1);
- wv->setNewWindowComponent(&substituteComponent);
+ wv->setProperty("newWindowComponent", QVariant::fromValue(&substituteComponent));
QCOMPARE(newWindowComponentSpy.count(),1);
- wv->setNewWindowComponent(0);
+ wv->setProperty("newWindowComponent", QVariant::fromValue((QDeclarativeComponent*)0));
QCOMPARE(newWindowComponentSpy.count(),2);
}
@@ -466,22 +473,22 @@ void tst_qdeclarativewebview::renderingEnabled()
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
checkNoErrors(component);
QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create());
- QDeclarativeWebView *wv = rootItem->findChild<QDeclarativeWebView*>("webView");
+ QObject *wv = rootItem->findChild<QObject*>("webView");
QVERIFY(rootItem != 0);
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
- QVERIFY(wv->renderingEnabled());
+ QVERIFY(wv->property("renderingEnabled").toBool());
QSignalSpy renderingEnabledSpy(wv, SIGNAL(renderingEnabledChanged()));
- wv->setRenderingEnabled(false);
- QVERIFY(!wv->renderingEnabled());
+ wv->setProperty("renderingEnabled", false);
+ QVERIFY(!wv->property("renderingEnabled").toBool());
QCOMPARE(renderingEnabledSpy.count(),1);
- wv->setRenderingEnabled(false);
+ wv->setProperty("renderingEnabled", false);
QCOMPARE(renderingEnabledSpy.count(),1);
- wv->setRenderingEnabled(true);
+ wv->setProperty("renderingEnabled", true);
QCOMPARE(renderingEnabledSpy.count(),2);
}
@@ -490,21 +497,21 @@ void tst_qdeclarativewebview::pressGrabTime()
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
checkNoErrors(component);
QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create());
- QDeclarativeWebView *wv = rootItem->findChild<QDeclarativeWebView*>("webView");
+ QObject *wv = rootItem->findChild<QObject*>("webView");
QVERIFY(rootItem != 0);
QVERIFY(wv != 0);
- QTRY_COMPARE(wv->progress(), 1.0);
- QCOMPARE(wv->pressGrabTime(), 200);
+ QTRY_COMPARE(wv->property("progress").toDouble(), 1.0);
+ QCOMPARE(wv->property("pressGrabTime").toInt(), 200);
QSignalSpy pressGrabTimeSpy(wv, SIGNAL(pressGrabTimeChanged()));
- wv->setPressGrabTime(100);
- QCOMPARE(wv->pressGrabTime(), 100);
+ wv->setProperty("pressGrabTime", 100);
+ QCOMPARE(wv->property("pressGrabTime").toInt(), 100);
QCOMPARE(pressGrabTimeSpy.count(),1);
- wv->setPressGrabTime(100);
+ wv->setProperty("pressGrabTime", 100);
QCOMPARE(pressGrabTimeSpy.count(),1);
- wv->setPressGrabTime(0);
+ wv->setProperty("pressGrabTime", 0);
QCOMPARE(pressGrabTimeSpy.count(),2);
}
diff --git a/tests/auto/declarative/qdeclarativeworkerlistmodel/data/model.qml b/tests/auto/declarative/qdeclarativeworkerlistmodel/data/model.qml
new file mode 100644
index 0000000000..be94e0012e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerlistmodel/data/model.qml
@@ -0,0 +1,14 @@
+import Qt 4.6
+
+Item {
+ property alias model: model
+
+ WorkerListModel { id: model }
+
+ function workerModifyModel(cmd) { worker.sendMessage({'command': cmd, 'model': model}) }
+
+ WorkerScript {
+ id: worker
+ source: "script.js"
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeworkerlistmodel/data/script.js b/tests/auto/declarative/qdeclarativeworkerlistmodel/data/script.js
new file mode 100644
index 0000000000..8ee62b4442
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerlistmodel/data/script.js
@@ -0,0 +1,6 @@
+WorkerScript.onMessage = function(msg) {
+ eval("msg.model." + msg.command)
+ msg.model.sync()
+}
+
+
diff --git a/tests/auto/declarative/qdeclarativeworkerlistmodel/qdeclarativeworkerlistmodel.pro b/tests/auto/declarative/qdeclarativeworkerlistmodel/qdeclarativeworkerlistmodel.pro
new file mode 100644
index 0000000000..960dbe16c8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerlistmodel/qdeclarativeworkerlistmodel.pro
@@ -0,0 +1,9 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+QT += script
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativeworkerlistmodel.cpp
+
+# Define SRCDIR equal to test's source directory
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/qdeclarativeworkerlistmodel/tst_qdeclarativeworkerlistmodel.cpp b/tests/auto/declarative/qdeclarativeworkerlistmodel/tst_qdeclarativeworkerlistmodel.cpp
new file mode 100644
index 0000000000..11a74476bc
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerlistmodel/tst_qdeclarativeworkerlistmodel.cpp
@@ -0,0 +1,193 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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 <qtest.h>
+#include <QtCore/qdebug.h>
+
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativeitem.h>
+
+#include <private/qdeclarativeworkerscript_p.h>
+#include <private/qdeclarativelistmodel_p.h>
+#include "../../../shared/util.h"
+
+
+
+class tst_QDeclarativeWorkerListModel : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QDeclarativeWorkerListModel() {}
+private slots:
+ void clear();
+ void remove();
+ void append();
+ void insert();
+ void get();
+ void set();
+
+private:
+ QByteArray modificationWarning() const {
+ QString file = QUrl::fromLocalFile(SRCDIR "/data/model.qml").toString();
+ return QString("QML WorkerListModel (" + file + ":6:5) List can only be modified from a WorkerScript").toUtf8();
+ }
+
+ QDeclarativeEngine m_engine;
+};
+
+void tst_QDeclarativeWorkerListModel::clear()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QCOMPARE(model->count(), 0);
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "append({'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+
+ QTest::ignoreMessage(QtWarningMsg, modificationWarning().constData());
+ model->clear();
+ QCOMPARE(model->count(), 1);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "clear()")));
+ QTRY_COMPARE(model->count(), 0);
+
+ qApp->processEvents();
+}
+
+void tst_QDeclarativeWorkerListModel::remove()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "append({'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+
+ QTest::ignoreMessage(QtWarningMsg, modificationWarning().constData());
+ model->remove(0);
+ QCOMPARE(model->count(), 1);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "remove(0)")));
+ QTRY_COMPARE(model->count(), 0);
+
+ qApp->processEvents();
+}
+
+void tst_QDeclarativeWorkerListModel::append()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "append({'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+
+ QTest::ignoreMessage(QtWarningMsg, modificationWarning().constData());
+ model->append(QScriptValue(1));
+ QCOMPARE(model->count(), 1);
+
+ qApp->processEvents();
+}
+
+void tst_QDeclarativeWorkerListModel::insert()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "insert(0, {'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+
+ QTest::ignoreMessage(QtWarningMsg, modificationWarning().constData());
+ model->insert(0, QScriptValue(1));
+ QCOMPARE(model->count(), 1);
+
+ qApp->processEvents();
+}
+
+void tst_QDeclarativeWorkerListModel::get()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "append({'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+ QCOMPARE(model->get(0).property("name").toString(), QString("A"));
+
+ qApp->processEvents();
+}
+
+void tst_QDeclarativeWorkerListModel::set()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/model.qml");
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QDeclarativeWorkerListModel *model = item->property("model").value<QDeclarativeWorkerListModel*>();
+ QVERIFY(model != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "append({'name': 'A'})")));
+ QTRY_COMPARE(model->count(), 1);
+
+ QTest::ignoreMessage(QtWarningMsg, modificationWarning().constData());
+ model->set(0, QScriptValue(1));
+
+ QVERIFY(QMetaObject::invokeMethod(item, "workerModifyModel", Q_ARG(QVariant, "set(0, {'name': 'Z'})")));
+ QTRY_COMPARE(model->get(0).property("name").toString(), QString("Z"));
+
+ qApp->processEvents();
+}
+
+QTEST_MAIN(tst_QDeclarativeWorkerListModel)
+
+#include "tst_qdeclarativeworkerlistmodel.moc"
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/script.js b/tests/auto/declarative/qdeclarativeworkerscript/data/script.js
new file mode 100644
index 0000000000..09199de9be
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/script.js
@@ -0,0 +1,5 @@
+WorkerScript.onMessage = function(msg) {
+ WorkerScript.sendMessage(msg)
+}
+
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml b/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml
new file mode 100644
index 0000000000..1fce1552d2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml
@@ -0,0 +1,24 @@
+import Qt 4.6
+
+WorkerScript {
+ id: worker
+ source: "script.js"
+
+ property var response
+
+ signal done()
+
+ function testSend(value) {
+ worker.sendMessage(value)
+ }
+
+ function compareLiteralResponse(expected) {
+ var e = eval('(' + expected + ')')
+ return worker.response == e
+ }
+
+ onMessage: {
+ worker.response = messageObject
+ worker.done()
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
new file mode 100644
index 0000000000..e2b31c7e33
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
@@ -0,0 +1,8 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative script
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativeworkerscript.cpp
+
+# Define SRCDIR equal to test's source directory
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp
new file mode 100644
index 0000000000..fe2dac2207
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp
@@ -0,0 +1,182 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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 <qtest.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qtimer.h>
+#include <QtScript/qscriptengine.h>
+
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativeitem.h>
+
+#include <private/qdeclarativeworkerscript_p.h>
+#include <private/qdeclarativeengine_p.h>
+#include "../../../shared/util.h"
+
+Q_DECLARE_METATYPE(QScriptValue)
+
+class tst_QDeclarativeWorkerScript : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QDeclarativeWorkerScript() {}
+private slots:
+ void source();
+ void messaging();
+ void messaging_data();
+ void messaging_sendQObjectList();
+ void messaging_sendJsObject();
+
+private:
+ void waitForEchoMessage(QDeclarativeWorkerScript *worker) {
+ QEventLoop loop;
+ QVERIFY(connect(worker, SIGNAL(done()), &loop, SLOT(quit())));
+ QTimer timer;
+ timer.setSingleShot(true);
+ connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
+ timer.start(10000);
+ loop.exec();
+ QVERIFY(timer.isActive());
+ }
+
+ QDeclarativeEngine m_engine;
+};
+
+void tst_QDeclarativeWorkerScript::source()
+{
+ QUrl source = QUrl::fromLocalFile(SRCDIR "/data/worker.qml");
+
+ QDeclarativeComponent component(&m_engine);
+ component.setData("import Qt 4.6\nWorkerScript { source: '" + source.toString().toUtf8() + "'; }", QUrl());
+
+ QDeclarativeWorkerScript *item = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(item != 0);
+
+ QCOMPARE(item->source(), source);
+
+ qApp->processEvents();
+ delete item;
+}
+
+void tst_QDeclarativeWorkerScript::messaging()
+{
+ QFETCH(QVariant, value);
+
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/worker.qml");
+ QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(worker != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, value)));
+ waitForEchoMessage(worker);
+
+ const QMetaObject *mo = worker->metaObject();
+ QCOMPARE(mo->property(mo->indexOfProperty("response")).read(worker).value<QVariant>(), value);
+
+ qApp->processEvents();
+ delete worker;
+}
+
+void tst_QDeclarativeWorkerScript::messaging_data()
+{
+ QTest::addColumn<QVariant>("value");
+
+ QTest::newRow("invalid") << QVariant();
+ QTest::newRow("bool") << qVariantFromValue(true);
+ QTest::newRow("int") << qVariantFromValue(1001);
+ QTest::newRow("real") << qVariantFromValue(10334.323);
+ QTest::newRow("string") << qVariantFromValue(QString("More cheeeese, Gromit!"));
+ QTest::newRow("variant list") << qVariantFromValue((QVariantList() << "a" << "b" << "c"));
+}
+
+void tst_QDeclarativeWorkerScript::messaging_sendQObjectList()
+{
+ // Not allowed to send QObjects other than QDeclarativeWorkerListModelAgent
+ // instances. If objects are sent in a list, they will be sent as 'undefined'
+ // js values.
+
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/worker.qml");
+ QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(worker != 0);
+
+ QVariantList objects;
+ for (int i=0; i<3; i++)
+ objects << qVariantFromValue(new QObject(this));
+
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, qVariantFromValue(objects))));
+ waitForEchoMessage(worker);
+
+ const QMetaObject *mo = worker->metaObject();
+ QVariantList result = mo->property(mo->indexOfProperty("response")).read(worker).value<QVariantList>();
+ QCOMPARE(result, (QVariantList() << QVariant() << QVariant() << QVariant()));
+
+ qApp->processEvents();
+ delete worker;
+}
+
+void tst_QDeclarativeWorkerScript::messaging_sendJsObject()
+{
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/worker.qml");
+ QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(worker != 0);
+
+ QString jsObject = "{'name': 'zyz', 'spell power': 3101, 'haste': 1125}";
+
+ QScriptEngine *engine = QDeclarativeEnginePrivate::getScriptEngine(qmlEngine(worker));
+ QScriptValue sv = engine->newObject();
+ sv.setProperty("name", "zyz");
+ sv.setProperty("spell power", 3101);
+ sv.setProperty("haste", 1125);
+
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, qVariantFromValue(sv))));
+ waitForEchoMessage(worker);
+
+ QVariant result = qVariantFromValue(false);
+ QVERIFY(QMetaObject::invokeMethod(worker, "compareLiteralResponse", Qt::DirectConnection,
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, jsObject)));
+ QVERIFY(result.toBool());
+
+ qApp->processEvents();
+ delete worker;
+}
+
+QTEST_MAIN(tst_QDeclarativeWorkerScript)
+
+#include "tst_qdeclarativeworkerscript.moc"
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.qml b/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.qml
new file mode 100644
index 0000000000..63165ab5e3
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.qml
@@ -0,0 +1,28 @@
+import Qt 4.6
+
+QtObject {
+ property bool dataOK: false
+
+ property string responseText
+ property string responseXmlRootNodeValue
+
+ Component.onCompleted: {
+ var x = new XMLHttpRequest;
+
+ x.open("GET", "utf16.xml");
+
+ // Test to the end
+ x.onreadystatechange = function() {
+ if (x.readyState == XMLHttpRequest.DONE) {
+
+ responseText = x.responseText
+ if (x.responseXML)
+ responseXmlRootNodeValue = x.responseXML.documentElement.childNodes[0].nodeValue
+
+ dataOK = true;
+ }
+ }
+ x.send()
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.xml b/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.xml
new file mode 100644
index 0000000000..0fbb126ed8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/data/utf16.xml
Binary files differ
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
index 37d48faa4b..13ed9592e1 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
@@ -69,6 +69,7 @@ private slots:
void constructor();
void defaultState();
void open();
+ void open_data();
void open_invalid_method();
void open_sync();
void open_arg_count();
@@ -82,6 +83,7 @@ private slots:
void send_alreadySent();
void send_ignoreData();
void send_withdata();
+ void send_withdata_data();
void abort();
void abort_unsent();
void abort_opened();
@@ -94,11 +96,15 @@ private slots:
void getAllResponseHeaders_sent();
void getAllResponseHeaders_args();
void status();
+ void status_data();
void statusText();
+ void statusText_data();
void responseText();
+ void responseText_data();
void responseXML_invalid();
void invalidMethodUsage();
void redirects();
+ void nonUtf8();
// Attributes
void document();
@@ -257,99 +263,50 @@ void tst_qdeclarativexmlhttprequest::defaultState()
// Test valid XMLHttpRequest.open() calls
void tst_qdeclarativexmlhttprequest::open()
{
- // Relative url
- {
- QDeclarativeComponent component(&engine, TEST_FILE("open.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "testdocument.html");
- component.completeCreate();
-
- QCOMPARE(object->property("readyState").toBool(), true);
- QCOMPARE(object->property("openedState").toBool(), true);
- QCOMPARE(object->property("status").toBool(), true);
- QCOMPARE(object->property("statusText").toBool(), true);
- QCOMPARE(object->property("responseText").toBool(), true);
- QCOMPARE(object->property("responseXML").toBool(), true);
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
+ QFETCH(QUrl, qmlFile);
+ QFETCH(QString, url);
+ QFETCH(bool, remote);
+
+ TestHTTPServer *server = 0;
+ if (remote) {
+ server = new TestHTTPServer(SERVER_PORT);
+ QVERIFY(server->isValid());
+ QVERIFY(server->wait(TEST_FILE("open_network.expect"),
+ TEST_FILE("open_network.reply"),
+ TEST_FILE("testdocument.html")));
}
- // Absolute url
- {
- QDeclarativeComponent component(&engine, TEST_FILE("open.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", TEST_FILE("testdocument.html").toString());
- component.completeCreate();
-
- QCOMPARE(object->property("readyState").toBool(), true);
- QCOMPARE(object->property("openedState").toBool(), true);
- QCOMPARE(object->property("status").toBool(), true);
- QCOMPARE(object->property("statusText").toBool(), true);
- QCOMPARE(object->property("responseText").toBool(), true);
- QCOMPARE(object->property("responseXML").toBool(), true);
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
-
- // Absolute network url
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("open_network.expect"),
- TEST_FILE("open_network.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("open.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- QCOMPARE(object->property("readyState").toBool(), true);
- QCOMPARE(object->property("openedState").toBool(), true);
- QCOMPARE(object->property("status").toBool(), true);
- QCOMPARE(object->property("statusText").toBool(), true);
- QCOMPARE(object->property("responseText").toBool(), true);
- QCOMPARE(object->property("responseXML").toBool(), true);
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
+ QDeclarativeComponent component(&engine, qmlFile);
+ QObject *object = component.beginCreate(engine.rootContext());
+ QVERIFY(object != 0);
+ object->setProperty("url", url);
+ component.completeCreate();
- // User/pass
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("open_network.expect"),
- TEST_FILE("open_network.reply"),
- TEST_FILE("testdocument.html")));
+ QCOMPARE(object->property("readyState").toBool(), true);
+ QCOMPARE(object->property("openedState").toBool(), true);
+ QCOMPARE(object->property("status").toBool(), true);
+ QCOMPARE(object->property("statusText").toBool(), true);
+ QCOMPARE(object->property("responseText").toBool(), true);
+ QCOMPARE(object->property("responseXML").toBool(), true);
- QDeclarativeComponent component(&engine, TEST_FILE("open_user.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- QCOMPARE(object->property("readyState").toBool(), true);
- QCOMPARE(object->property("openedState").toBool(), true);
- QCOMPARE(object->property("status").toBool(), true);
- QCOMPARE(object->property("statusText").toBool(), true);
- QCOMPARE(object->property("responseText").toBool(), true);
- QCOMPARE(object->property("responseXML").toBool(), true);
+ delete server;
+ delete object;
+}
- TRY_WAIT(object->property("dataOK").toBool() == true);
+void tst_qdeclarativexmlhttprequest::open_data()
+{
+ QTest::addColumn<QUrl>("qmlFile");
+ QTest::addColumn<QString>("url");
+ QTest::addColumn<bool>("remote");
- // ### Check that the username/password were sent to the server
+ QTest::newRow("Relative url)") << TEST_FILE("open.qml") << "testdocument.html" << false;
+ QTest::newRow("Absolute url)") << TEST_FILE("open.qml") << TEST_FILE("testdocument.html").toString() << false;
+ QTest::newRow("Absolute network url)") << TEST_FILE("open.qml") << "http://127.0.0.1:14445/testdocument.html" << true;
- delete object;
- }
+ // ### Check that the username/password were sent to the server
+ QTest::newRow("User/pass") << TEST_FILE("open_user.qml") << "http://127.0.0.1:14445/testdocument.html" << true;
}
// Test that calling XMLHttpRequest.open() with an invalid method raises an exception
@@ -594,138 +551,38 @@ void tst_qdeclarativexmlhttprequest::send_ignoreData()
// Test that send()'ing data works
void tst_qdeclarativexmlhttprequest::send_withdata()
{
- // No content-type
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.1.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.1.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ QFETCH(QString, file_expected);
+ QFETCH(QString, file_qml);
- delete object;
- }
-
- // Correct content-type
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.1.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.2.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
-
- // Incorrect content-type
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.1.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.3.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
-
- // Correct content-type - out of order
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.4.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.4.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
-
- // Incorrect content-type - out of order
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.4.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.5.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
-
- // PUT
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.6.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.6.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
-
- delete object;
- }
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ QVERIFY(server.wait(TEST_FILE(file_expected),
+ TEST_FILE("send_data.reply"),
+ TEST_FILE("testdocument.html")));
- // Correct content-type - no charset
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("send_data.1.expect"),
- TEST_FILE("send_data.reply"),
- TEST_FILE("testdocument.html")));
+ QDeclarativeComponent component(&engine, TEST_FILE(file_qml));
+ QObject *object = component.beginCreate(engine.rootContext());
+ QVERIFY(object != 0);
+ object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
+ component.completeCreate();
- QDeclarativeComponent component(&engine, TEST_FILE("send_data.7.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- component.completeCreate();
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ delete object;
+}
- delete object;
- }
+void tst_qdeclarativexmlhttprequest::send_withdata_data()
+{
+ QTest::addColumn<QString>("file_expected");
+ QTest::addColumn<QString>("file_qml");
+
+ QTest::newRow("No content-type") << "send_data.1.expect" << "send_data.1.qml";
+ QTest::newRow("Correct content-type") << "send_data.1.expect" << "send_data.2.qml";
+ QTest::newRow("Incorrect content-type") << "send_data.1.expect" << "send_data.3.qml";
+ QTest::newRow("Correct content-type - out of order") << "send_data.4.expect" << "send_data.4.qml";
+ QTest::newRow("Incorrect content-type - out of order") << "send_data.4.expect" << "send_data.5.qml";
+ QTest::newRow("PUT") << "send_data.6.expect" << "send_data.6.qml";
+ QTest::newRow("Correct content-type - no charset") << "send_data.1.expect" << "send_data.7.qml";
}
// Test abort() has no effect in unsent state
@@ -940,200 +797,149 @@ void tst_qdeclarativexmlhttprequest::getAllResponseHeaders_args()
void tst_qdeclarativexmlhttprequest::status()
{
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.200.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("status.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedStatus", 200);
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ QFETCH(QUrl, replyUrl);
+ QFETCH(int, status);
- QCOMPARE(object->property("unsentException").toBool(), true);
- QCOMPARE(object->property("openedException").toBool(), true);
- QCOMPARE(object->property("sentException").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("resetException").toBool(), true);
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ QVERIFY(server.wait(TEST_FILE("status.expect"),
+ replyUrl,
+ TEST_FILE("testdocument.html")));
- delete object;
- }
+ QDeclarativeComponent component(&engine, TEST_FILE("status.qml"));
+ QObject *object = component.beginCreate(engine.rootContext());
+ QVERIFY(object != 0);
+ object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
+ object->setProperty("expectedStatus", status);
+ component.completeCreate();
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.404.reply"),
- TEST_FILE("testdocument.html")));
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- QDeclarativeComponent component(&engine, TEST_FILE("status.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedStatus", 404);
- component.completeCreate();
+ QCOMPARE(object->property("unsentException").toBool(), true);
+ QCOMPARE(object->property("openedException").toBool(), true);
+ QCOMPARE(object->property("sentException").toBool(), true);
+ QCOMPARE(object->property("headersReceived").toBool(), true);
+ QCOMPARE(object->property("loading").toBool(), true);
+ QCOMPARE(object->property("done").toBool(), true);
+ QCOMPARE(object->property("resetException").toBool(), true);
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ delete object;
+}
- QCOMPARE(object->property("unsentException").toBool(), true);
- QCOMPARE(object->property("openedException").toBool(), true);
- QCOMPARE(object->property("sentException").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("resetException").toBool(), true);
+void tst_qdeclarativexmlhttprequest::status_data()
+{
+ QTest::addColumn<QUrl>("replyUrl");
+ QTest::addColumn<int>("status");
- delete object;
- }
+ QTest::newRow("OK") << TEST_FILE("status.200.reply") << 200;
+ QTest::newRow("Not Found") << TEST_FILE("status.404.reply") << 404;
}
void tst_qdeclarativexmlhttprequest::statusText()
{
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.200.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("statusText.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedStatus", "OK");
- component.completeCreate();
-
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ QFETCH(QUrl, replyUrl);
+ QFETCH(QString, statusText);
- QCOMPARE(object->property("unsentException").toBool(), true);
- QCOMPARE(object->property("openedException").toBool(), true);
- QCOMPARE(object->property("sentException").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("resetException").toBool(), true);
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ QVERIFY(server.wait(TEST_FILE("status.expect"),
+ replyUrl,
+ TEST_FILE("testdocument.html")));
- delete object;
- }
+ QDeclarativeComponent component(&engine, TEST_FILE("statusText.qml"));
+ QObject *object = component.beginCreate(engine.rootContext());
+ QVERIFY(object != 0);
+ object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
+ object->setProperty("expectedStatus", statusText);
+ component.completeCreate();
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.404.reply"),
- TEST_FILE("testdocument.html")));
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- QDeclarativeComponent component(&engine, TEST_FILE("statusText.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedStatus", "Document not found");
- component.completeCreate();
+ QCOMPARE(object->property("unsentException").toBool(), true);
+ QCOMPARE(object->property("openedException").toBool(), true);
+ QCOMPARE(object->property("sentException").toBool(), true);
+ QCOMPARE(object->property("headersReceived").toBool(), true);
+ QCOMPARE(object->property("loading").toBool(), true);
+ QCOMPARE(object->property("done").toBool(), true);
+ QCOMPARE(object->property("resetException").toBool(), true);
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ delete object;
+}
- QCOMPARE(object->property("unsentException").toBool(), true);
- QCOMPARE(object->property("openedException").toBool(), true);
- QCOMPARE(object->property("sentException").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("resetException").toBool(), true);
+void tst_qdeclarativexmlhttprequest::statusText_data()
+{
+ QTest::addColumn<QUrl>("replyUrl");
+ QTest::addColumn<QString>("statusText");
- delete object;
- }
+ QTest::newRow("OK") << TEST_FILE("status.200.reply") << "OK";
+ QTest::newRow("Not Found") << TEST_FILE("status.404.reply") << "Document not found";
}
void tst_qdeclarativexmlhttprequest::responseText()
{
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.200.reply"),
- TEST_FILE("testdocument.html")));
-
- QDeclarativeComponent component(&engine, TEST_FILE("responseText.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedText", "QML Rocks!\n");
- component.completeCreate();
+ QFETCH(QUrl, replyUrl);
+ QFETCH(QUrl, bodyUrl);
+ QFETCH(QString, responseText);
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ QVERIFY(server.wait(TEST_FILE("status.expect"),
+ replyUrl,
+ bodyUrl));
- QCOMPARE(object->property("unsent").toBool(), true);
- QCOMPARE(object->property("opened").toBool(), true);
- QCOMPARE(object->property("sent").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("reset").toBool(), true);
+ QDeclarativeComponent component(&engine, TEST_FILE("responseText.qml"));
+ QObject *object = component.beginCreate(engine.rootContext());
+ QVERIFY(object != 0);
+ object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
+ object->setProperty("expectedText", responseText);
+ component.completeCreate();
- delete object;
- }
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.200.reply"),
- QUrl()));
+ QCOMPARE(object->property("unsent").toBool(), true);
+ QCOMPARE(object->property("opened").toBool(), true);
+ QCOMPARE(object->property("sent").toBool(), true);
+ QCOMPARE(object->property("headersReceived").toBool(), true);
+ QCOMPARE(object->property("loading").toBool(), true);
+ QCOMPARE(object->property("done").toBool(), true);
+ QCOMPARE(object->property("reset").toBool(), true);
- QDeclarativeComponent component(&engine, TEST_FILE("responseText.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedText", "");
- component.completeCreate();
+ delete object;
+}
- TRY_WAIT(object->property("dataOK").toBool() == true);
+void tst_qdeclarativexmlhttprequest::responseText_data()
+{
+ QTest::addColumn<QUrl>("replyUrl");
+ QTest::addColumn<QUrl>("bodyUrl");
+ QTest::addColumn<QString>("responseText");
- QCOMPARE(object->property("unsent").toBool(), true);
- QCOMPARE(object->property("opened").toBool(), true);
- QCOMPARE(object->property("sent").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("reset").toBool(), true);
+ QTest::newRow("OK") << TEST_FILE("status.200.reply") << TEST_FILE("testdocument.html") << "QML Rocks!\n";
+ QTest::newRow("empty body") << TEST_FILE("status.200.reply") << QUrl() << "";
+ QTest::newRow("Not Found") << TEST_FILE("status.404.reply") << TEST_FILE("testdocument.html") << "";
+}
- delete object;
- }
+void tst_qdeclarativexmlhttprequest::nonUtf8()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("utf16.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
- {
- TestHTTPServer server(SERVER_PORT);
- QVERIFY(server.isValid());
- QVERIFY(server.wait(TEST_FILE("status.expect"),
- TEST_FILE("status.404.reply"),
- TEST_FILE("testdocument.html")));
+ QString uc;
+ uc.resize(3);
+ uc[0] = QChar(0x10e3);
+ uc[1] = QChar(' ');
+ uc[2] = QChar(0x03a3);
+ QString xml = "<?xml version=\"1.0\" encoding=\"UTF-16\" standalone='yes'?>\n<root>\n" + uc + "\n</root>\n";
- QDeclarativeComponent component(&engine, TEST_FILE("responseText.qml"));
- QObject *object = component.beginCreate(engine.rootContext());
- QVERIFY(object != 0);
- object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
- object->setProperty("expectedText", "");
- component.completeCreate();
+ TRY_WAIT(object->property("dataOK").toBool() == true);
- TRY_WAIT(object->property("dataOK").toBool() == true);
+ QString responseText = object->property("responseText").toString();
+ QCOMPARE(responseText, xml);
- QCOMPARE(object->property("unsent").toBool(), true);
- QCOMPARE(object->property("opened").toBool(), true);
- QCOMPARE(object->property("sent").toBool(), true);
- QCOMPARE(object->property("headersReceived").toBool(), true);
- QCOMPARE(object->property("loading").toBool(), true);
- QCOMPARE(object->property("done").toBool(), true);
- QCOMPARE(object->property("reset").toBool(), true);
+ QString responseXmlText = object->property("responseXmlRootNodeValue").toString();
+ QCOMPARE(responseXmlText, '\n' + uc + '\n');
- delete object;
- }
+ delete object;
}
// Test that calling hte XMLHttpRequest methods on a non-XMLHttpRequest object
@@ -1168,7 +974,7 @@ void tst_qdeclarativexmlhttprequest::redirects()
TestHTTPServer server(SERVER_PORT);
QVERIFY(server.isValid());
server.addRedirect("redirect.html", "http://127.0.0.1:14445/redirecttarget.html");
- server.serveDirectory("data");
+ server.serveDirectory(SRCDIR "/data");
QDeclarativeComponent component(&engine, TEST_FILE("redirects.qml"));
QObject *object = component.beginCreate(engine.rootContext());
@@ -1187,7 +993,7 @@ void tst_qdeclarativexmlhttprequest::redirects()
TestHTTPServer server(SERVER_PORT);
QVERIFY(server.isValid());
server.addRedirect("redirect.html", "http://127.0.0.1:14445/redirectmissing.html");
- server.serveDirectory("data");
+ server.serveDirectory(SRCDIR "/data");
QDeclarativeComponent component(&engine, TEST_FILE("redirectError.qml"));
QObject *object = component.beginCreate(engine.rootContext());
@@ -1206,7 +1012,7 @@ void tst_qdeclarativexmlhttprequest::redirects()
TestHTTPServer server(SERVER_PORT);
QVERIFY(server.isValid());
server.addRedirect("redirect.html", "http://127.0.0.1:14445/redirect.html");
- server.serveDirectory("data");
+ server.serveDirectory(SRCDIR "/data");
QDeclarativeComponent component(&engine, TEST_FILE("redirectRecur.qml"));
QObject *object = component.beginCreate(engine.rootContext());
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/data/propertychanges.qml b/tests/auto/declarative/qdeclarativexmllistmodel/data/propertychanges.qml
new file mode 100644
index 0000000000..737ec81258
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/data/propertychanges.qml
@@ -0,0 +1,10 @@
+import Qt 4.6
+
+XmlListModel {
+ source: "model.xml"
+ query: "/Pets/Pet"
+ XmlRole { objectName: "role"; name: "name"; query: "name/string()" }
+ XmlRole { name: "type"; query: "type/string()" }
+ XmlRole { name: "age"; query: "age/number()" }
+ XmlRole { name: "size"; query: "size/string()" }
+}
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
index e19e03d0c1..0e5e1b0efc 100644
--- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
@@ -69,10 +69,12 @@ private slots:
void roles();
void roleErrors();
void uniqueRoleNames();
+ void reload();
void useKeys();
void useKeys_data();
void noKeysValueChanges();
void keysChanged();
+ void propertyChanges();
private:
QString makeItemXmlAndData(const QString &data, QDeclarativeXmlModelData *modelData = 0) const
@@ -116,90 +118,90 @@ private:
void tst_qdeclarativexmllistmodel::buildModel()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml"));
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 9);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
QList<int> roles;
roles << Qt::UserRole << Qt::UserRole + 1 << Qt::UserRole + 2 << Qt::UserRole + 3;
- QHash<int, QVariant> data = listModel->data(3, roles);
+ QHash<int, QVariant> data = model->data(3, roles);
QVERIFY(data.count() == 4);
QCOMPARE(data.value(Qt::UserRole).toString(), QLatin1String("Spot"));
QCOMPARE(data.value(Qt::UserRole+1).toString(), QLatin1String("Dog"));
QCOMPARE(data.value(Qt::UserRole+2).toInt(), 9);
QCOMPARE(data.value(Qt::UserRole+3).toString(), QLatin1String("Medium"));
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::missingFields()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model2.qml"));
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 9);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
QList<int> roles;
roles << Qt::UserRole << Qt::UserRole + 1 << Qt::UserRole + 2 << Qt::UserRole + 3 << Qt::UserRole + 4;
- QHash<int, QVariant> data = listModel->data(5, roles);
+ QHash<int, QVariant> data = model->data(5, roles);
QVERIFY(data.count() == 5);
QCOMPARE(data.value(Qt::UserRole+3).toString(), QLatin1String(""));
QCOMPARE(data.value(Qt::UserRole+4).toString(), QLatin1String(""));
- data = listModel->data(7, roles);
+ data = model->data(7, roles);
QVERIFY(data.count() == 5);
QCOMPARE(data.value(Qt::UserRole+2).toString(), QLatin1String(""));
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::cdata()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/recipes.qml"));
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 5);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 5);
QList<int> roles;
roles << Qt::UserRole + 2;
- QHash<int, QVariant> data = listModel->data(2, roles);
+ QHash<int, QVariant> data = model->data(2, roles);
QVERIFY(data.count() == 1);
QVERIFY(data.value(Qt::UserRole+2).toString().startsWith(QLatin1String("<html>")));
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::attributes()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/recipes.qml"));
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 5);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 5);
QList<int> roles;
roles << Qt::UserRole;
- QHash<int, QVariant> data = listModel->data(2, roles);
+ QHash<int, QVariant> data = model->data(2, roles);
QVERIFY(data.count() == 1);
QCOMPARE(data.value(Qt::UserRole).toString(), QLatin1String("Vegetable Soup"));
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::roles()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml"));
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 9);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
- QList<int> roles = listModel->roles();
+ QList<int> roles = model->roles();
QCOMPARE(roles.count(), 4);
- QCOMPARE(listModel->toString(roles.at(0)), QLatin1String("name"));
- QCOMPARE(listModel->toString(roles.at(1)), QLatin1String("type"));
- QCOMPARE(listModel->toString(roles.at(2)), QLatin1String("age"));
- QCOMPARE(listModel->toString(roles.at(3)), QLatin1String("size"));
+ QCOMPARE(model->toString(roles.at(0)), QLatin1String("name"));
+ QCOMPARE(model->toString(roles.at(1)), QLatin1String("type"));
+ QCOMPARE(model->toString(roles.at(2)), QLatin1String("age"));
+ QCOMPARE(model->toString(roles.at(3)), QLatin1String("size"));
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::roleErrors()
@@ -207,13 +209,13 @@ void tst_qdeclarativexmllistmodel::roleErrors()
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/roleErrors.qml"));
QTest::ignoreMessage(QtWarningMsg, QString("QML XmlRole (" + QUrl::fromLocalFile(SRCDIR "/data/roleErrors.qml").toString() + ":6:5) An XmlRole query must not start with '/'").toUtf8().constData());
//### make sure we receive all expected warning messages.
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 9);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
QList<int> roles;
roles << Qt::UserRole << Qt::UserRole + 1 << Qt::UserRole + 2 << Qt::UserRole + 3;
- QHash<int, QVariant> data = listModel->data(3, roles);
+ QHash<int, QVariant> data = model->data(3, roles);
QVERIFY(data.count() == 4);
//### should any of these return valid values?
@@ -224,21 +226,49 @@ void tst_qdeclarativexmllistmodel::roleErrors()
QEXPECT_FAIL("", "QT-2456", Continue);
QCOMPARE(data.value(Qt::UserRole+3), QVariant());
- delete listModel;
+ delete model;
}
void tst_qdeclarativexmllistmodel::uniqueRoleNames()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/unique.qml"));
QTest::ignoreMessage(QtWarningMsg, QString("QML XmlRole (" + QUrl::fromLocalFile(SRCDIR "/data/unique.qml").toString() + ":7:5) \"name\" duplicates a previous role name and will be disabled.").toUtf8().constData());
- QDeclarativeXmlListModel *listModel = qobject_cast<QDeclarativeXmlListModel*>(component.create());
- QVERIFY(listModel != 0);
- QTRY_COMPARE(listModel->count(), 9);
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
- QList<int> roles = listModel->roles();
+ QList<int> roles = model->roles();
QCOMPARE(roles.count(), 1);
- delete listModel;
+ delete model;
+}
+
+void tst_qdeclarativexmllistmodel::reload()
+{
+ // If no keys are used, the model should be rebuilt from scratch when
+ // reload() is called.
+
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml"));
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
+
+ QSignalSpy spyInsert(model, SIGNAL(itemsInserted(int,int)));
+ QSignalSpy spyRemove(model, SIGNAL(itemsRemoved(int,int)));
+ QSignalSpy spyCount(model, SIGNAL(countChanged()));
+
+ model->reload();
+ QTRY_COMPARE(spyCount.count(), 1);
+ QTRY_COMPARE(spyInsert.count(), 1);
+ QTRY_COMPARE(spyRemove.count(), 1);
+
+ QCOMPARE(spyInsert[0][0].toInt(), 0);
+ QCOMPARE(spyInsert[0][1].toInt(), 9);
+
+ QCOMPARE(spyRemove[0][0].toInt(), 0);
+ QCOMPARE(spyRemove[0][1].toInt(), 9);
+
+ delete model;
}
void tst_qdeclarativexmllistmodel::useKeys()
@@ -257,7 +287,7 @@ void tst_qdeclarativexmllistmodel::useKeys()
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/roleKeys.qml"));
QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
QVERIFY(model != 0);
-
+
model->setXml(oldXml);
QTRY_COMPARE(model->count(), oldCount);
@@ -292,6 +322,8 @@ void tst_qdeclarativexmllistmodel::useKeys()
QCOMPARE(spyRemove[i][0].toInt(), removeRanges[i].first);
QCOMPARE(spyRemove[i][1].toInt(), removeRanges[i].second);
}
+
+ delete model;
}
void tst_qdeclarativexmllistmodel::useKeys_data()
@@ -368,12 +400,33 @@ void tst_qdeclarativexmllistmodel::useKeys_data()
<< (QList<QDeclarativeXmlListRange>() << qMakePair(0, 1))
<< (QList<QDeclarativeXmlListRange>() << qMakePair(0, 1));
- QTest::newRow("add and remove simultaneously")
+ QTest::newRow("add and remove simultaneously, in different spots")
<< makeItemXmlAndData("name=A,age=25,sport=Football;name=B,age=35,sport=Athletics;name=C,age=45,sport=Curling;name=D,age=55,sport=Golf") << 4
<< makeItemXmlAndData("name=B,age=35,sport=Athletics;name=E,age=65,sport=Fencing", &modelData)
<< modelData
<< (QList<QDeclarativeXmlListRange>() << qMakePair(1, 1))
<< (QList<QDeclarativeXmlListRange>() << qMakePair(0, 1) << qMakePair(2,2));
+
+ QTest::newRow("insert at start, remove at end i.e. rss feed")
+ << makeItemXmlAndData("name=C,age=45,sport=Curling;name=D,age=55,sport=Golf;name=E,age=65,sport=Fencing") << 3
+ << makeItemXmlAndData("name=A,age=25,sport=Football;name=B,age=35,sport=Athletics;name=C,age=45,sport=Curling", &modelData)
+ << modelData
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(0, 2))
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(1, 2));
+
+ QTest::newRow("remove at start, insert at end")
+ << makeItemXmlAndData("name=A,age=25,sport=Football;name=B,age=35,sport=Athletics;name=C,age=45,sport=Curling") << 3
+ << makeItemXmlAndData("name=C,age=45,sport=Curling;name=D,age=55,sport=Golf;name=E,age=65,sport=Fencing", &modelData)
+ << modelData
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(1, 2))
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(0, 2));
+
+ QTest::newRow("all data has changed")
+ << makeItemXmlAndData("name=A,age=25,sport=Football;name=B,age=35") << 2
+ << makeItemXmlAndData("name=C,age=45,sport=Curling;name=D,age=55,sport=Golf", &modelData)
+ << modelData
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(0, 2))
+ << (QList<QDeclarativeXmlListRange>() << qMakePair(0, 2));
}
void tst_qdeclarativexmllistmodel::noKeysValueChanges()
@@ -392,6 +445,8 @@ void tst_qdeclarativexmllistmodel::noKeysValueChanges()
model->setXml(xml);
QTRY_COMPARE(model->count(), 2);
+ model->setXml("");
+
QSignalSpy spyInsert(model, SIGNAL(itemsInserted(int,int)));
QSignalSpy spyRemove(model, SIGNAL(itemsRemoved(int,int)));
QSignalSpy spyCount(model, SIGNAL(countChanged()));
@@ -400,18 +455,16 @@ void tst_qdeclarativexmllistmodel::noKeysValueChanges()
model->setXml(xml);
// wait for the new xml data to be set, and verify no signals were emitted
- for (int i=0; i<50; i++) {
- QTest::qWait(100);
- if (model->data(0, model->roles()[2]).toString() != QLatin1String("AussieRules"))
- break;
- }
+ QTRY_VERIFY(model->data(0, model->roles()[2]).toString() != QLatin1String("Football"));
QCOMPARE(model->data(0, model->roles()[2]).toString(), QLatin1String("AussieRules"));
QVERIFY(spyInsert.count() == 0);
QVERIFY(spyRemove.count() == 0);
QVERIFY(spyCount.count() == 0);
-
+
QCOMPARE(model->count(), 2);
+
+ delete model;
}
void tst_qdeclarativexmllistmodel::keysChanged()
@@ -428,6 +481,8 @@ void tst_qdeclarativexmllistmodel::keysChanged()
model->setXml(xml);
QTRY_COMPARE(model->count(), 2);
+ model->setXml("");
+
QSignalSpy spyInsert(model, SIGNAL(itemsInserted(int,int)));
QSignalSpy spyRemove(model, SIGNAL(itemsRemoved(int,int)));
QSignalSpy spyCount(model, SIGNAL(countChanged()));
@@ -446,6 +501,73 @@ void tst_qdeclarativexmllistmodel::keysChanged()
QCOMPARE(spyRemove[0][1].toInt(), 2);
QCOMPARE(spyCount.count(), 0);
+
+ delete model;
+}
+
+void tst_qdeclarativexmllistmodel::propertyChanges()
+{
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QTRY_COMPARE(model->count(), 9);
+
+ QDeclarativeXmlListModelRole *role = model->findChild<QDeclarativeXmlListModelRole*>("role");
+ QVERIFY(role);
+
+ QSignalSpy nameSpy(role, SIGNAL(nameChanged()));
+ QSignalSpy querySpy(role, SIGNAL(queryChanged()));
+ QSignalSpy isKeySpy(role, SIGNAL(isKeyChanged()));
+
+ role->setName("size");
+ role->setQuery("size/string()");
+ role->setIsKey(true);
+
+ QCOMPARE(role->name(), QString("size"));
+ QCOMPARE(role->query(), QString("size/string()"));
+ QVERIFY(role->isKey());
+
+ QCOMPARE(nameSpy.count(),1);
+ QCOMPARE(querySpy.count(),1);
+ QCOMPARE(isKeySpy.count(),1);
+
+ role->setName("size");
+ role->setQuery("size/string()");
+ role->setIsKey(true);
+
+ QCOMPARE(nameSpy.count(),1);
+ QCOMPARE(querySpy.count(),1);
+ QCOMPARE(isKeySpy.count(),1);
+
+ QSignalSpy sourceSpy(model, SIGNAL(sourceChanged()));
+ QSignalSpy xmlSpy(model, SIGNAL(xmlChanged()));
+ QSignalSpy modelQuerySpy(model, SIGNAL(queryChanged()));
+ QSignalSpy namespaceDeclarationsSpy(model, SIGNAL(namespaceDeclarationsChanged()));
+
+ model->setSource(QUrl(""));
+ model->setXml("<Pets><Pet><name>Polly</name><type>Parrot</type><age>12</age><size>Small</size></Pet></Pets>");
+ model->setQuery("/Pets");
+ model->setNamespaceDeclarations("declare namespace media=\"http://search.yahoo.com/mrss/\";");
+
+ QCOMPARE(model->source(), QUrl(""));
+ QCOMPARE(model->xml(), QString("<Pets><Pet><name>Polly</name><type>Parrot</type><age>12</age><size>Small</size></Pet></Pets>"));
+ QCOMPARE(model->query(), QString("/Pets"));
+ QCOMPARE(model->namespaceDeclarations(), QString("declare namespace media=\"http://search.yahoo.com/mrss/\";"));
+
+ QCOMPARE(sourceSpy.count(),1);
+ QCOMPARE(xmlSpy.count(),1);
+ QCOMPARE(modelQuerySpy.count(),1);
+ QCOMPARE(namespaceDeclarationsSpy.count(),1);
+
+ model->setSource(QUrl(""));
+ model->setXml("<Pets><Pet><name>Polly</name><type>Parrot</type><age>12</age><size>Small</size></Pet></Pets>");
+ model->setQuery("/Pets");
+ model->setNamespaceDeclarations("declare namespace media=\"http://search.yahoo.com/mrss/\";");
+
+ QCOMPARE(sourceSpy.count(),1);
+ QCOMPARE(xmlSpy.count(),1);
+ QCOMPARE(modelQuerySpy.count(),1);
+ QCOMPARE(namespaceDeclarationsSpy.count(),1);
}
QTEST_MAIN(tst_qdeclarativexmllistmodel)
diff --git a/tests/auto/declarative/runall.sh b/tests/auto/declarative/runall.sh
index 39485d3085..62e03e3155 100755
--- a/tests/auto/declarative/runall.sh
+++ b/tests/auto/declarative/runall.sh
@@ -41,37 +41,60 @@
##
############################################################################/
-Xnest :7 2>/dev/null &
-sleep 1
-trap "kill $!" EXIT
-export DISPLAY=:7
+if [ "$(uname)" = Linux ]
+then
+ Xnest :7 2>/dev/null &
+ sleep 1
+ trap "kill $!" EXIT
+ export DISPLAY=:7
+ export LANG=en_US
+ kwin 2>/dev/null &
+ sleep 1
+fi
-( make -k -j1 install 2>&1;
- for exe in $(make install | sed -n 's/^install .* "\([^"]*qt4\/tst_[^"]*\)".*/\1/p')
- do
- $exe
- done
-) |
+function filter
+{
+ exe=$1
+ skip=0
while read line
do
- case "$line" in
- make*Error) echo "$line";;
- make*Stop) echo "$line";;
- make*) ;;
- install*) ;;
- */qmake*) ;;
- */bin/moc*) ;;
- *targ.debug*) ;;
- g++*) ;;
- cd*) ;;
- PASS*) ;;
- QDEBUG*) ;;
- Makefile*) ;;
- Config*) ;;
- Totals*) ;;
- \**) ;;
- ./*) ;;
- *) echo "$line"
- esac
+ if [ $skip != 0 ]
+ then
+ let skip=skip-1
+ else
+ case "$line" in
+ make*Error) echo "$line";;
+ make*Stop) echo "$line";;
+ /*/bin/make*) ;;
+ make*) ;;
+ install*) ;;
+ QDeclarativeDebugServer:*Waiting*) ;;
+ QDeclarativeDebugServer:*Connection*) ;;
+ */qmake*) ;;
+ */bin/moc*) ;;
+ *targ.debug*) ;;
+ g++*) ;;
+ cd*) ;;
+ XFAIL*) skip=1;;
+ SKIP*) skip=1;;
+ PASS*) ;;
+ QDEBUG*) ;;
+ Makefile*) ;;
+ Config*) ;;
+ Totals*) ;;
+ \**) ;;
+ ./*) ;;
+ *tst_*) echo "$line" ;;
+ *) echo "$exe: $line"
+ esac
+ fi
done
+}
+
+make -k -j1 install 2>&1 | filter build
+for exe in $(make install | sed -n 's/^install .* "\([^"]*qt4\/tst_[^"]*\)".*/\1/p')
+do
+ echo $exe
+ $exe 2>&1 | filter $exe
+done
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png
new file mode 100644
index 0000000000..7d41abcca0
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png
new file mode 100644
index 0000000000..16b95ab3da
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png
new file mode 100644
index 0000000000..7d41abcca0
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png
new file mode 100644
index 0000000000..800bf12b5a
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png
new file mode 100644
index 0000000000..d0155bbb81
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png
new file mode 100644
index 0000000000..7d41abcca0
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml
new file mode 100644
index 0000000000..57185604aa
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml
@@ -0,0 +1,1663 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 32
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 48
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 64
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 80
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 96
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 112
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 128
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 144
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 160
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 176
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 192
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 208
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 224
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 240
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 256
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 272
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 288
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 304
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 320
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 336
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 352
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 368
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 384
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 400
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 416
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 432
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 448
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 464
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 480
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 496
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 512
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 528
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 544
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 560
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 576
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 592
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 608
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 624
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 640
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 656
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 672
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 688
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 704
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 720
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 736
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 752
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 768
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 784
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 800
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 816
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 832
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 848
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 864
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 880
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 896
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 912
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 928
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 944
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 960
+ image: "parentAnimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 992
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1008
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1024
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1040
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1056
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1072
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1088
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1104
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1120
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1136
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1152
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1168
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1184
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1200
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1216
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1232
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1248
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1264
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1280
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1296
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1312
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1328
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1344
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1360
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1376
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1392
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1408
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1424
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1440
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1456
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1472
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1488
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1504
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1520
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1536
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1552
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 1568
+ hash: "633b5668278295faa57d0cfffe8a29cb"
+ }
+ Frame {
+ msec: 1584
+ hash: "ccbf4505e0f05547d2f7ce874ab941c0"
+ }
+ Frame {
+ msec: 1600
+ hash: "be904489959fa365badb642fa9e85922"
+ }
+ Frame {
+ msec: 1616
+ hash: "de6a97ac6e2677feb223336199cbffe1"
+ }
+ Frame {
+ msec: 1632
+ hash: "997b0a547336a9bb6a67cd9beffe1831"
+ }
+ Frame {
+ msec: 1648
+ hash: "ac9a6e111050b8a7c4492f06c33d3969"
+ }
+ Frame {
+ msec: 1664
+ hash: "7313c0d2ee06e393f486670222c29bb4"
+ }
+ Frame {
+ msec: 1680
+ hash: "24cea420d03d1fdcddb1b9cf5112cbee"
+ }
+ Frame {
+ msec: 1696
+ hash: "764688785eeaa01e9c84821476911edb"
+ }
+ Frame {
+ msec: 1712
+ hash: "b24ae0cb512abfd2606ff9c20a6751bf"
+ }
+ Frame {
+ msec: 1728
+ hash: "f1daed3391f10e27435a54222df8d0ab"
+ }
+ Frame {
+ msec: 1744
+ hash: "99704e182267f2c12d0215b9c03f4d68"
+ }
+ Frame {
+ msec: 1760
+ hash: "143cd9259a41b8af5d41a5b2aaf8de64"
+ }
+ Frame {
+ msec: 1776
+ hash: "b5f0a0f838b5870c162a24cd767f068b"
+ }
+ Frame {
+ msec: 1792
+ hash: "c5c8cdcbfab7466e447eaff582bf7312"
+ }
+ Frame {
+ msec: 1808
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1824
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1840
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1856
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1872
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1888
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1904
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1920
+ image: "parentAnimation.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1952
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1968
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 1984
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2000
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2016
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2032
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2048
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2064
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2080
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2096
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2112
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2128
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2144
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2160
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2176
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2192
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2208
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2224
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2240
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2256
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2272
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2288
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2304
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2320
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2336
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2352
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2368
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2384
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2400
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2416
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2432
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2448
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2464
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2480
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2496
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 2512
+ hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8"
+ }
+ Frame {
+ msec: 2528
+ hash: "ec0e68c2e7a75fedd1091ce633dadd4f"
+ }
+ Frame {
+ msec: 2544
+ hash: "a5d60efc176dee9083a2d746e7ad8315"
+ }
+ Frame {
+ msec: 2560
+ hash: "48bcbbacf413080247f818e35e496e04"
+ }
+ Frame {
+ msec: 2576
+ hash: "c521af8efa19fbac39119ad75cd469f5"
+ }
+ Frame {
+ msec: 2592
+ hash: "0e74613c67fc9d9acb21a3d382c5efcd"
+ }
+ Frame {
+ msec: 2608
+ hash: "eeb3f4467ebd7ee678c3b7371db28519"
+ }
+ Frame {
+ msec: 2624
+ hash: "9c5b9009a35b74d0ddec8fec85f204bf"
+ }
+ Frame {
+ msec: 2640
+ hash: "aefc70824e23428aebf0a40830a57469"
+ }
+ Frame {
+ msec: 2656
+ hash: "1fa9c23760193b74b0063b4e4c434070"
+ }
+ Frame {
+ msec: 2672
+ hash: "8091700d4729163bd87521385853e608"
+ }
+ Frame {
+ msec: 2688
+ hash: "a13558e609570f9390f20a85d244fa22"
+ }
+ Frame {
+ msec: 2704
+ hash: "7be5e3609bbeb9a2c1df7d52f3953d4d"
+ }
+ Frame {
+ msec: 2720
+ hash: "51c8ae31f858121d86ef09cc9a5c5ef3"
+ }
+ Frame {
+ msec: 2736
+ hash: "84ce8f39207f4b07c2c3323425a8c238"
+ }
+ Frame {
+ msec: 2752
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2768
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2784
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2800
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2816
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2832
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2848
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2864
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2880
+ image: "parentAnimation.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2912
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2928
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2944
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2960
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2976
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 2992
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3008
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3024
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3040
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3056
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3072
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3088
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3104
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3120
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3136
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3152
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3168
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3184
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3200
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3216
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3232
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3248
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3264
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3280
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3296
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3312
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3328
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3344
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3360
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3376
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3392
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 3408
+ hash: "633b5668278295faa57d0cfffe8a29cb"
+ }
+ Frame {
+ msec: 3424
+ hash: "ccbf4505e0f05547d2f7ce874ab941c0"
+ }
+ Frame {
+ msec: 3440
+ hash: "be904489959fa365badb642fa9e85922"
+ }
+ Frame {
+ msec: 3456
+ hash: "de6a97ac6e2677feb223336199cbffe1"
+ }
+ Frame {
+ msec: 3472
+ hash: "997b0a547336a9bb6a67cd9beffe1831"
+ }
+ Frame {
+ msec: 3488
+ hash: "ac9a6e111050b8a7c4492f06c33d3969"
+ }
+ Frame {
+ msec: 3504
+ hash: "7313c0d2ee06e393f486670222c29bb4"
+ }
+ Frame {
+ msec: 3520
+ hash: "24cea420d03d1fdcddb1b9cf5112cbee"
+ }
+ Frame {
+ msec: 3536
+ hash: "764688785eeaa01e9c84821476911edb"
+ }
+ Frame {
+ msec: 3552
+ hash: "b24ae0cb512abfd2606ff9c20a6751bf"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3568
+ hash: "b24ae0cb512abfd2606ff9c20a6751bf"
+ }
+ Frame {
+ msec: 3584
+ hash: "d7bf1b48f1a03974e7f095468e07f037"
+ }
+ Frame {
+ msec: 3600
+ hash: "a59ab4fe1c22d27b5cdde949cf90e6f4"
+ }
+ Frame {
+ msec: 3616
+ hash: "7c3082720e65b8a6217bf5a5fe4d48c0"
+ }
+ Frame {
+ msec: 3632
+ hash: "350d1ff24fb8fba0ab8a6694d99544b3"
+ }
+ Frame {
+ msec: 3648
+ hash: "81d17a62c33d79ed25968ec47771d292"
+ }
+ Frame {
+ msec: 3664
+ hash: "43fd3ef88bd7a2e5bf4546f088783077"
+ }
+ Frame {
+ msec: 3680
+ hash: "041938ad2e023202db18df28f2329c8f"
+ }
+ Frame {
+ msec: 3696
+ hash: "ec8677eae06cbf77a9508953325b179e"
+ }
+ Mouse {
+ type: 4
+ button: 1
+ buttons: 1
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3712
+ hash: "ec8677eae06cbf77a9508953325b179e"
+ }
+ Frame {
+ msec: 3728
+ hash: "453026339c3901ee286831b4b41088f6"
+ }
+ Frame {
+ msec: 3744
+ hash: "d58a7a41ade691cc0acfb0303bfc3b68"
+ }
+ Frame {
+ msec: 3760
+ hash: "a200b05ef3d7e39e11513fd2f8ff1497"
+ }
+ Frame {
+ msec: 3776
+ hash: "faa1223975acdf2d4b48045d7f2ce445"
+ }
+ Frame {
+ msec: 3792
+ hash: "964d9b80d82d0fe3d3fb328a1661a60e"
+ }
+ Frame {
+ msec: 3808
+ hash: "705871bc384de93100354acb19b371b0"
+ }
+ Frame {
+ msec: 3824
+ hash: "1a4480463adfc5a3d525916b03c2c3ce"
+ }
+ Frame {
+ msec: 3840
+ image: "parentAnimation.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "9a55bdf428f45f02d9c8cf414dcd7754"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3872
+ hash: "9a55bdf428f45f02d9c8cf414dcd7754"
+ }
+ Frame {
+ msec: 3888
+ hash: "0f6d82d02ce7d79a1bdf6bf81791f321"
+ }
+ Frame {
+ msec: 3904
+ hash: "b145b9d299714020686069baec11cb71"
+ }
+ Frame {
+ msec: 3920
+ hash: "5dbf5e4151c01f10cf23b07ca1df56ab"
+ }
+ Frame {
+ msec: 3936
+ hash: "822d4397ac514673ca1015ad05c9b4ac"
+ }
+ Frame {
+ msec: 3952
+ hash: "461d35e865153d22e9a67bb0ffddefb7"
+ }
+ Frame {
+ msec: 3968
+ hash: "676fff498e6879144090d5596056c6c8"
+ }
+ Frame {
+ msec: 3984
+ hash: "854da7ed627237250e20b263f9eb9d90"
+ }
+ Frame {
+ msec: 4000
+ hash: "157ec877797883d329ff329537205d02"
+ }
+ Frame {
+ msec: 4016
+ hash: "613669ca60240fcc490d548fe802390d"
+ }
+ Frame {
+ msec: 4032
+ hash: "803e84f027c773db96f9530511e5fedb"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4048
+ hash: "803e84f027c773db96f9530511e5fedb"
+ }
+ Frame {
+ msec: 4064
+ hash: "f47cfd1f1094b782c08490be2f49c6ed"
+ }
+ Frame {
+ msec: 4080
+ hash: "db5953f3ee4e2db87e33b85464167f74"
+ }
+ Frame {
+ msec: 4096
+ hash: "8313cb750b9abc586a43b9422de08f53"
+ }
+ Frame {
+ msec: 4112
+ hash: "deb390ce992fee85c56733168b4bd1ec"
+ }
+ Frame {
+ msec: 4128
+ hash: "29a1cda3647c49731e9adcd107a2d13c"
+ }
+ Frame {
+ msec: 4144
+ hash: "bfa17a3afa06699107b217df6e4aed43"
+ }
+ Frame {
+ msec: 4160
+ hash: "8e639ef01ab6d8876c3f40adc44928c6"
+ }
+ Frame {
+ msec: 4176
+ hash: "14038aedf42de0ca62d872d317018ee0"
+ }
+ Frame {
+ msec: 4192
+ hash: "c1288465163d44ed40e28f21e0298ea6"
+ }
+ Frame {
+ msec: 4208
+ hash: "d6915f22a905737488d27e8138002f31"
+ }
+ Frame {
+ msec: 4224
+ hash: "5b1621451a5a3af40302603ec31bb8bb"
+ }
+ Frame {
+ msec: 4240
+ hash: "16fd73c0cb615cc717cdc4a6787471c2"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4256
+ hash: "16fd73c0cb615cc717cdc4a6787471c2"
+ }
+ Frame {
+ msec: 4272
+ hash: "db5caf42e11705ecdb2006e1ed6b0c4f"
+ }
+ Frame {
+ msec: 4288
+ hash: "4b7e51e4e9fb1dacb32aac11a4a46ceb"
+ }
+ Frame {
+ msec: 4304
+ hash: "63c93cda9892f733809125991af997b6"
+ }
+ Frame {
+ msec: 4320
+ hash: "0e74613c67fc9d9acb21a3d382c5efcd"
+ }
+ Frame {
+ msec: 4336
+ hash: "58e813a6619828b6c9ec9cf300ff0e2d"
+ }
+ Frame {
+ msec: 4352
+ hash: "181a6e334d745381f091bf1b55fc1690"
+ }
+ Frame {
+ msec: 4368
+ hash: "f25bbc9ddc8cc72036c49d50b45bece8"
+ }
+ Frame {
+ msec: 4384
+ hash: "88e8f0496debfee6bc2426895fe1c3d9"
+ }
+ Frame {
+ msec: 4400
+ hash: "db5953f3ee4e2db87e33b85464167f74"
+ }
+ Frame {
+ msec: 4416
+ hash: "9818a899adb916b6ba5f7537697ef062"
+ }
+ Frame {
+ msec: 4432
+ hash: "3842f40093d70089a4004fb803c05981"
+ }
+ Frame {
+ msec: 4448
+ hash: "be904489959fa365badb642fa9e85922"
+ }
+ Frame {
+ msec: 4464
+ hash: "cbae27751ff0ebce4fcc164564f4cf1b"
+ }
+ Frame {
+ msec: 4480
+ hash: "3a1b468bd3fd747bbe6b069426b170a9"
+ }
+ Frame {
+ msec: 4496
+ hash: "57fbcd580eb1607a2a7526a65842dfeb"
+ }
+ Frame {
+ msec: 4512
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4528
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4544
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4560
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4576
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4592
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4608
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4624
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4640
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 4656
+ hash: "633b5668278295faa57d0cfffe8a29cb"
+ }
+ Frame {
+ msec: 4672
+ hash: "ccbf4505e0f05547d2f7ce874ab941c0"
+ }
+ Frame {
+ msec: 4688
+ hash: "be904489959fa365badb642fa9e85922"
+ }
+ Frame {
+ msec: 4704
+ hash: "de6a97ac6e2677feb223336199cbffe1"
+ }
+ Frame {
+ msec: 4720
+ hash: "997b0a547336a9bb6a67cd9beffe1831"
+ }
+ Frame {
+ msec: 4736
+ hash: "ac9a6e111050b8a7c4492f06c33d3969"
+ }
+ Frame {
+ msec: 4752
+ hash: "7313c0d2ee06e393f486670222c29bb4"
+ }
+ Frame {
+ msec: 4768
+ hash: "24cea420d03d1fdcddb1b9cf5112cbee"
+ }
+ Frame {
+ msec: 4784
+ hash: "764688785eeaa01e9c84821476911edb"
+ }
+ Frame {
+ msec: 4800
+ image: "parentAnimation.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "f1daed3391f10e27435a54222df8d0ab"
+ }
+ Frame {
+ msec: 4832
+ hash: "99704e182267f2c12d0215b9c03f4d68"
+ }
+ Frame {
+ msec: 4848
+ hash: "143cd9259a41b8af5d41a5b2aaf8de64"
+ }
+ Frame {
+ msec: 4864
+ hash: "b5f0a0f838b5870c162a24cd767f068b"
+ }
+ Frame {
+ msec: 4880
+ hash: "c5c8cdcbfab7466e447eaff582bf7312"
+ }
+ Frame {
+ msec: 4896
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4912
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4928
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4944
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4960
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4976
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 4992
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5008
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5024
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5040
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5056
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5072
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5088
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5104
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5120
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5136
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5152
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5168
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5184
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5200
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5216
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5232
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5248
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5264
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5280
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5296
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5312
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5328
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5344
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 237; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5360
+ hash: "f1bc451d1f62cfb5dd60a7ea483d3844"
+ }
+ Frame {
+ msec: 5376
+ hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8"
+ }
+ Frame {
+ msec: 5392
+ hash: "ec0e68c2e7a75fedd1091ce633dadd4f"
+ }
+ Frame {
+ msec: 5408
+ hash: "a5d60efc176dee9083a2d746e7ad8315"
+ }
+ Frame {
+ msec: 5424
+ hash: "48bcbbacf413080247f818e35e496e04"
+ }
+ Frame {
+ msec: 5440
+ hash: "c521af8efa19fbac39119ad75cd469f5"
+ }
+ Frame {
+ msec: 5456
+ hash: "0e74613c67fc9d9acb21a3d382c5efcd"
+ }
+ Frame {
+ msec: 5472
+ hash: "eeb3f4467ebd7ee678c3b7371db28519"
+ }
+ Frame {
+ msec: 5488
+ hash: "9c5b9009a35b74d0ddec8fec85f204bf"
+ }
+ Frame {
+ msec: 5504
+ hash: "aefc70824e23428aebf0a40830a57469"
+ }
+ Frame {
+ msec: 5520
+ hash: "1fa9c23760193b74b0063b4e4c434070"
+ }
+ Frame {
+ msec: 5536
+ hash: "8091700d4729163bd87521385853e608"
+ }
+ Frame {
+ msec: 5552
+ hash: "a13558e609570f9390f20a85d244fa22"
+ }
+ Frame {
+ msec: 5568
+ hash: "7be5e3609bbeb9a2c1df7d52f3953d4d"
+ }
+ Frame {
+ msec: 5584
+ hash: "51c8ae31f858121d86ef09cc9a5c5ef3"
+ }
+ Frame {
+ msec: 5600
+ hash: "84ce8f39207f4b07c2c3323425a8c238"
+ }
+ Frame {
+ msec: 5616
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5632
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5648
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5664
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5680
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5696
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5712
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5728
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5744
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5760
+ image: "parentAnimation.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5792
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5808
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5824
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5840
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5856
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5872
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5888
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5904
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5920
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5936
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5952
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5968
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 5984
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6000
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6016
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6032
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6048
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6064
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6080
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6096
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6112
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6128
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6144
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6160
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6176
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6192
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6208
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6224
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6240
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6256
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+ Frame {
+ msec: 6272
+ hash: "4135271d78a5c63c3837a09c86f35ebe"
+ }
+}
diff --git a/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml b/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml
new file mode 100644
index 0000000000..1833cf005a
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml
@@ -0,0 +1,58 @@
+import Qt 4.6
+Rectangle {
+ width: 800;
+ height: 480;
+ color: "black";
+
+ Rectangle {
+ id: gr
+ color: "green"
+ width: 100; height: 100
+ }
+
+ MouseRegion {
+ id: mouser
+ anchors.fill: parent
+ }
+
+ Rectangle {
+ id: np
+ x: 300
+ width: 300; height: 300
+ color: "yellow"
+ clip: true
+ Rectangle {
+ color: "red"
+ x: 100; y: 100; height: 100; width: 100
+ }
+
+ }
+
+ Rectangle {
+ id: vp
+ x: 200; y: 200
+ width: 100; height: 100
+ color: "blue"
+ rotation: 45
+ scale: 2
+ }
+
+ states: State {
+ name: "state1"
+ when: mouser.pressed
+ ParentChange {
+ target: gr
+ parent: np
+ x: 100; y: 100; width: 200;
+ }
+ }
+
+ transitions: Transition {
+ reversible: true
+ to: "state1"
+ ParentAnimation {
+ target: gr; via: vp;
+ NumberAnimation { properties: "x,y,rotation,scale,width" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml b/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml
index 74c6844866..3c00ee6a3e 100644
--- a/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml
+++ b/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// The WebView size is determined by the width, height,
// preferredWidth, and preferredHeight properties.
diff --git a/tests/auto/declarative/visual/webview/embedding/nesting.qml b/tests/auto/declarative/visual/webview/embedding/nesting.qml
index 0d76579d52..5e35306e84 100644
--- a/tests/auto/declarative/visual/webview/embedding/nesting.qml
+++ b/tests/auto/declarative/visual/webview/embedding/nesting.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
width: 300
diff --git a/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml b/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml
index 78d5cfcc36..6c013827ab 100644
--- a/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml
+++ b/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Column {
WebView {
diff --git a/tests/auto/declarative/visual/webview/javascript/windowObjects.qml b/tests/auto/declarative/visual/webview/javascript/windowObjects.qml
index a41de9ab39..8c52aff756 100644
--- a/tests/auto/declarative/visual/webview/javascript/windowObjects.qml
+++ b/tests/auto/declarative/visual/webview/javascript/windowObjects.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Column {
WebView {
diff --git a/tests/auto/declarative/visual/webview/settings/fontFamily.qml b/tests/auto/declarative/visual/webview/settings/fontFamily.qml
index 2bb2a534c0..f547b0edb0 100644
--- a/tests/auto/declarative/visual/webview/settings/fontFamily.qml
+++ b/tests/auto/declarative/visual/webview/settings/fontFamily.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
id: web
diff --git a/tests/auto/declarative/visual/webview/settings/fontSize.qml b/tests/auto/declarative/visual/webview/settings/fontSize.qml
index b9707837e5..7eaa96b971 100644
--- a/tests/auto/declarative/visual/webview/settings/fontSize.qml
+++ b/tests/auto/declarative/visual/webview/settings/fontSize.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Grid {
columns: 3
diff --git a/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml b/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml
index 72e672daf0..67f163390b 100644
--- a/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml
+++ b/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Grid {
columns: 2
diff --git a/tests/auto/declarative/visual/webview/settings/setFontFamily.qml b/tests/auto/declarative/visual/webview/settings/setFontFamily.qml
index 26deed8e18..823469ff8f 100644
--- a/tests/auto/declarative/visual/webview/settings/setFontFamily.qml
+++ b/tests/auto/declarative/visual/webview/settings/setFontFamily.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
url: "test.html"
diff --git a/tests/auto/declarative/visual/webview/zooming/pageWidth.qml b/tests/auto/declarative/visual/webview/zooming/pageWidth.qml
index 86dd7d2c9f..4a876dd670 100644
--- a/tests/auto/declarative/visual/webview/zooming/pageWidth.qml
+++ b/tests/auto/declarative/visual/webview/zooming/pageWidth.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
width: 200
diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/renderControl.qml
index 0c8bb3b3de..49eb91b952 100644
--- a/tests/auto/declarative/visual/webview/zooming/renderControl.qml
+++ b/tests/auto/declarative/visual/webview/zooming/renderControl.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
Rectangle {
width: 200
diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.qml b/tests/auto/declarative/visual/webview/zooming/resolution.qml
index a9d4e3aab9..854276839c 100644
--- a/tests/auto/declarative/visual/webview/zooming/resolution.qml
+++ b/tests/auto/declarative/visual/webview/zooming/resolution.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
width: 200 * zoomFactor
diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml
index 4455b43b51..c2e9348ff0 100644
--- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml
+++ b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
WebView {
width: 200
diff --git a/tests/auto/declarative/visual/webview/zooming/zooming.qml b/tests/auto/declarative/visual/webview/zooming/zooming.qml
index 0ea9131550..9f0b8656f4 100644
--- a/tests/auto/declarative/visual/webview/zooming/zooming.qml
+++ b/tests/auto/declarative/visual/webview/zooming/zooming.qml
@@ -1,4 +1,5 @@
import Qt 4.6
+import org.webkit 1.0
// Note that zooming is better done using zoomFactor and careful
// control of rendering to avoid excessive re-rendering during
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index a2058cdeee..f8ecca3b95 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -58,7 +58,7 @@
static QPointF mapToGlobal(const QPointF &pt, QGraphicsItem *item, QGraphicsView *view)
{
- return view->mapToGlobal(view->mapFromScene(item->mapToScene(pt)));
+ return view->viewport()->mapToGlobal(view->mapFromScene(item->mapToScene(pt)));
}
class CustomGesture : public QGesture
@@ -353,6 +353,8 @@ private slots:
void deleteGestureTargetWidget();
void deleteGestureTargetItem_data();
void deleteGestureTargetItem();
+ void viewportCoordinates();
+ void partialGesturePropagation();
};
tst_Gestures::tst_Gestures()
@@ -742,7 +744,6 @@ public:
ignoredFinishedGestures.clear();
}
-protected:
QRectF boundingRect() const
{
return size;
@@ -1771,7 +1772,6 @@ void tst_Gestures::panelStacksBehindParent()
void tst_Gestures::deleteGestureTargetWidget()
{
-
}
void tst_Gestures::deleteGestureTargetItem_data()
@@ -1857,5 +1857,97 @@ void tst_Gestures::deleteGestureTargetItem()
sendCustomGesture(&event, item1, &scene);
}
+class GraphicsView : public QGraphicsView
+{
+public:
+ GraphicsView(QGraphicsScene *scene, QWidget *parent = 0)
+ : QGraphicsView(scene, parent)
+ {
+ }
+
+ using QGraphicsView::setViewportMargins;
+};
+
+// just making sure that even if the graphicsview has margins hotspot still
+// works properly. It should use viewport for converting global coordinates to
+// scene coordinates.
+void tst_Gestures::viewportCoordinates()
+{
+ QGraphicsScene scene;
+ GraphicsView view(&scene);
+ view.setViewportMargins(10,20,15,25);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ GestureItem *item1 = new GestureItem("item1");
+ item1->grabGesture(CustomGesture::GestureType);
+ item1->size = QRectF(0, 0, 3, 3);
+ item1->setZValue(2);
+ scene.addItem(item1);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+
+ CustomEvent event;
+ event.hotSpot = mapToGlobal(item1->boundingRect().center(), item1, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item1, &scene);
+ QVERIFY(item1->gestureEventsReceived != 0);
+}
+
+void tst_Gestures::partialGesturePropagation()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ GestureItem *item1 = new GestureItem("item1");
+ item1->grabGesture(CustomGesture::GestureType);
+ item1->setZValue(8);
+ scene.addItem(item1);
+
+ GestureItem *item2 = new GestureItem("item2[partial]");
+ item2->grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures);
+ item2->setZValue(6);
+ scene.addItem(item2);
+
+ GestureItem *item3 = new GestureItem("item3");
+ item3->grabGesture(CustomGesture::GestureType);
+ item3->setZValue(4);
+ scene.addItem(item3);
+
+ GestureItem *item4 = new GestureItem("item4[partial]");
+ item4->grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures);
+ item4->setZValue(2);
+ scene.addItem(item4);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+
+ item1->ignoredUpdatedGestures << CustomGesture::GestureType;
+
+ CustomEvent event;
+ event.hotSpot = mapToGlobal(QPointF(5, 5), item1, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item1, &scene);
+
+ static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
+
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item3->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item4->gestureOverrideEventsReceived, 1);
+
+ QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount-2); // except for started and finished
+ QCOMPARE(item3->gestureEventsReceived, 0);
+ QCOMPARE(item4->gestureEventsReceived, 0);
+}
+
QTEST_MAIN(tst_Gestures)
#include "tst_gestures.moc"
diff --git a/tests/auto/gui.pro b/tests/auto/gui.pro
new file mode 100644
index 0000000000..10a760c086
--- /dev/null
+++ b/tests/auto/gui.pro
@@ -0,0 +1,223 @@
+# The tests in this .pro file _MUST_ use QtCore, QtNetwork and QtGui only
+# (i.e. QT=core gui network).
+# The test system is allowed to run these tests before the rest of Qt has
+# been compiled.
+#
+TEMPLATE=subdirs
+SUBDIRS=\
+ gestures \
+ languagechange \
+ modeltest \
+ qabstractbutton \
+ qabstractitemmodel \
+ qabstractitemview \
+ qabstractprintdialog \
+ qabstractproxymodel \
+ qabstractscrollarea \
+ qabstractslider \
+ qabstractspinbox \
+ qabstracttextdocumentlayout \
+ qaction \
+ qactiongroup \
+ qapplication \
+ qboxlayout \
+ qbrush \
+ qbuttongroup \
+ qcalendarwidget \
+ qcheckbox \
+ qclipboard \
+ qcolor \
+ qcolordialog \
+ qcolumnview \
+ qcommandlinkbutton \
+ qcompleter \
+ qcomplextext \
+ qdatawidgetmapper \
+ qdatetimeedit \
+ qdesktopservices \
+ qdesktopwidget \
+ qdial \
+ qdialog \
+ qdialogbuttonbox \
+ qdirmodel \
+ qdockwidget \
+ qdoublespinbox \
+ qdoublevalidator \
+ qdrag \
+ qerrormessage \
+ qfile \
+ qfiledialog \
+ qfiledialog2 \
+ qfileiconprovider \
+ qfilesystemmodel \
+ qfocusframe \
+ qfont \
+ qfontcombobox \
+ qfontdatabase \
+ qfontdialog \
+ qfontmetrics \
+ qformlayout \
+ qgraphicsanchorlayout \
+ qgraphicsanchorlayout1 \
+ qgraphicseffect \
+ qgraphicseffectsource \
+ qgraphicsgridlayout \
+ qgraphicsitem \
+ qgraphicsitemanimation \
+ qgraphicslayout \
+ qgraphicslayoutitem \
+ qgraphicslinearlayout \
+ qgraphicsobject \
+ qgraphicspixmapitem \
+ qgraphicspolygonitem \
+ qgraphicsproxywidget \
+ qgraphicsscene \
+ qgraphicssceneindex \
+ qgraphicstransform \
+ qgraphicsview \
+ qgraphicswidget \
+ qgridlayout \
+ qgroupbox \
+ qguard \
+ qguivariant \
+ qheaderview \
+ qhelpcontentmodel \
+ qhelpenginecore \
+ qhelpgenerator \
+ qhelpindexmodel \
+ qhelpprojectdata \
+ qicoimageformat \
+ qicon \
+ qimageiohandler \
+ qimagereader \
+ qimagewriter \
+ qinputcontext \
+ qinputdialog \
+ qintvalidator \
+ qitemdelegate \
+ qitemeditorfactory \
+ qitemselectionmodel \
+ qitemview \
+ qkeysequence \
+ qlabel \
+ qlcdnumber \
+ qlineedit \
+ qlist \
+ qlistview \
+ qlistwidget \
+ qlocale \
+ qlocalsocket \
+ qmacstyle \
+ qmainwindow \
+ qmatrixnxn \
+ qmdisubwindow \
+ qmessagebox \
+ qmetaobject \
+ qmouseevent_modal \
+ qmovie \
+ qnetworkaccessmanager_and_qprogressdialog \
+ qnetworkcachemetadata \
+ qnetworkdiskcache \
+ qnetworkreply \
+ qpaintengine \
+ qpainterpath \
+ qpainterpathstroker \
+ qpalette \
+ qparallelanimationgroup \
+ qpathclipper \
+ qpauseanimation \
+ qpen \
+ qpicture \
+ qpixmapcache \
+ qpixmapfilter \
+ qplaintextedit \
+ qpointer \
+ qpolygon \
+ qprinterinfo \
+ qprocess \
+ qprogressbar \
+ qprogressdialog \
+ qpropertyanimation \
+ qpushbutton \
+ qquaternion \
+ qradiobutton \
+ qregexpvalidator \
+ qregion \
+ qscrollarea \
+ qscrollbar \
+ qsharedpointer_and_qwidget \
+ qshortcut \
+ qsidebar \
+ qsignalmapper \
+ qsizegrip \
+ qslider \
+ qsortfilterproxymodel \
+ qsound \
+ qspinbox \
+ qstackedlayout \
+ qstackedwidget \
+ qstandarditem \
+ qstandarditemmodel \
+ qstatemachine \
+ qstatictext \
+ qstatusbar \
+ qstringlistmodel \
+ qstyle \
+ qstyleoption \
+ qstylesheetstyle \
+ qsyntaxhighlighter \
+ qsystemtrayicon \
+ qtabbar \
+ qtableview \
+ qtablewidget \
+ qtcpserver \
+ qtcpsocket \
+ qtessellator \
+ qtextblock \
+ qtextcodec \
+ qtextcursor \
+ qtextdocumentfragment \
+ qtextdocumentlayout \
+ qtextformat \
+ qtextlayout \
+ qtextlist \
+ qtextobject \
+ qtextpiecetable \
+ qtextscriptengine \
+ qtextstream \
+ qtexttable \
+ qtipc \
+ qtoolbar \
+ qtoolbox \
+ qtooltip \
+ qtouchevent \
+ qtransform \
+ qtransformedscreen \
+ qtranslator \
+ qtreeview \
+ qtreewidget \
+ qtreewidgetitemiterator \
+ qtwidgets \
+ qudpsocket \
+ qundogroup \
+ qundostack \
+ qvectornd \
+ qwidget_window \
+ qwidgetaction \
+ qwindowsurface \
+ qwizard \
+ qwmatrix \
+ qwsembedwidget \
+ qwsinputmethod \
+ qwswindowsystem \
+ qx11info \
+
+win32:SUBDIRS -= qtextpiecetable
+
+!contains(QT_CONFIG, private_tests): SUBDIRS -= \
+ qgraphicssceneindex \
+ qnetworkreply \
+ qpathclipper \
+ qstylesheetstyle \
+ qtextpiecetable \
+
diff --git a/tests/auto/headers/tst_headers.cpp b/tests/auto/headers/tst_headers.cpp
index 3745767a03..12c5843740 100644
--- a/tests/auto/headers/tst_headers.cpp
+++ b/tests/auto/headers/tst_headers.cpp
@@ -271,6 +271,7 @@ void tst_Headers::macros()
if (header.endsWith("_p.h") || header.endsWith("_pch.h")
|| header.contains("global/qconfig-") || header.endsWith("/qconfig.h")
|| header.contains("/src/tools/") || header.contains("/src/plugins/")
+ || header.contains("/src/imports/")
|| header.endsWith("/qiconset.h") || header.endsWith("/qfeatures.h")
|| header.endsWith("qt_windows.h"))
return;
diff --git a/tests/auto/host.pro b/tests/auto/host.pro
new file mode 100644
index 0000000000..9852d91511
--- /dev/null
+++ b/tests/auto/host.pro
@@ -0,0 +1,19 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ headers \
+ bic \
+ compiler \
+ compilerwarnings \
+ linguist \
+ maketestselftest \
+ moc \
+ uic \
+ guiapplauncher \
+ qmake \
+ rcc \
+ symbols \
+ #atwrapper \ # These tests need significant updating,
+ #uiloader \ # they have hardcoded machine names etc.
+
+contains(QT_CONFIG,qt3support):SUBDIRS+=uic3
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp b/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp
index 42cc55bacb..a5b36ca560 100644
--- a/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp
@@ -135,4 +135,64 @@ Q_OBJECT
}
};
+// QTBUG-8360
+namespace A {
+
+void foo()
+{
+ using namespace A;
+}
+
+void goo()
+{
+ return QObject::tr("Bla");
+}
+
+}
+
+
+namespace AA {
+namespace B {
+
+using namespace AA;
+
+namespace C {
+
+class Test : public QObject {
+ Q_OBJECT
+};
+
+}
+
+}
+
+using namespace B;
+using namespace C;
+
+void goo()
+{
+ AA::Test::tr("howdy?");
+}
+
+}
+
+
+namespace A1 {
+namespace B {
+
+class Test : public QObject {
+ Q_OBJECT
+};
+
+using namespace A1;
+
+void foo()
+{
+ B::B::B::Test::tr("yeeee-ha!");
+}
+
+}
+}
+
+
#include "main.moc"
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
index c1a34bddbe..94df9d3f87 100644
--- a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
@@ -2,6 +2,22 @@
<!DOCTYPE TS>
<TS version="2.0">
<context>
+ <name>A1::B::Test</name>
+ <message>
+ <location filename="main.cpp" line="191"/>
+ <source>yeeee-ha!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AA::B::C::Test</name>
+ <message>
+ <location filename="main.cpp" line="174"/>
+ <source>howdy?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Class</name>
<message>
<location filename="main.cpp" line="52"/>
@@ -79,4 +95,12 @@
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="148"/>
+ <source>Bla</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/tests/auto/maketestselftest/tst_maketestselftest.cpp b/tests/auto/maketestselftest/tst_maketestselftest.cpp
index 1dde44b5f8..8264e2709c 100644
--- a/tests/auto/maketestselftest/tst_maketestselftest.cpp
+++ b/tests/auto/maketestselftest/tst_maketestselftest.cpp
@@ -50,23 +50,27 @@ class tst_MakeTestSelfTest: public QObject
Q_OBJECT
private slots:
- void auto_dot_pro();
- void auto_dot_pro_data();
+ void tests_pro_files();
+ void tests_pro_files_data();
};
-/* Verify that all tests are listed somewhere in auto.pro */
-void tst_MakeTestSelfTest::auto_dot_pro()
+/* Verify that all tests are listed somewhere in one of the autotest .pro files */
+void tst_MakeTestSelfTest::tests_pro_files()
{
static QStringList lines;
if (lines.isEmpty()) {
- QString filename = QString::fromLatin1(SRCDIR "/../auto.pro");
- QFile file(filename);
- if (!file.open(QIODevice::ReadOnly)) {
- QFAIL(qPrintable(QString("open %1: %2").arg(filename).arg(file.errorString())));
- }
- while (!file.atEnd()) {
- lines << file.readLine().trimmed();
+ QDir dir(SRCDIR "/..");
+ QStringList proFiles = dir.entryList(QStringList() << "*.pro");
+ foreach (QString const& proFile, proFiles) {
+ QString filename = QString("%1/../%2").arg(SRCDIR).arg(proFile);
+ QFile file(filename);
+ if (!file.open(QIODevice::ReadOnly)) {
+ QFAIL(qPrintable(QString("open %1: %2").arg(filename).arg(file.errorString())));
+ }
+ while (!file.atEnd()) {
+ lines << file.readLine().trimmed();
+ }
}
}
@@ -79,13 +83,14 @@ void tst_MakeTestSelfTest::auto_dot_pro()
}
QFAIL(qPrintable(QString(
- "Subdir `%1' is missing from tests/auto/auto.pro\n"
+ "Subdir `%1' is missing from tests/auto/*.pro\n"
"This means the test won't be compiled or run on any platform.\n"
- "If this is intentional, please put the test name in a comment in auto.pro.").arg(subdir))
+ "If this is intentional, please put the test name in a comment in one of the .pro files.").arg(subdir))
);
+
}
-void tst_MakeTestSelfTest::auto_dot_pro_data()
+void tst_MakeTestSelfTest::tests_pro_files_data()
{
QTest::addColumn<QString>("subdir");
QDir dir(SRCDIR "/..");
diff --git a/tests/auto/multimedia.pro b/tests/auto/multimedia.pro
new file mode 100644
index 0000000000..f55d6e4a5e
--- /dev/null
+++ b/tests/auto/multimedia.pro
@@ -0,0 +1,26 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qabstractvideobuffer \
+ qabstractvideosurface \
+ qaudiodeviceinfo \
+ qaudioformat \
+ qaudioinput \
+ qaudiooutput \
+ qsoundeffect \
+ qdeclarativeaudio \
+ qdeclarativevideo \
+ qgraphicsvideoitem \
+ qmediacontent \
+ qmediaobject \
+ qmediaplayer \
+ qmediaplaylist \
+ qmediaplaylistnavigator \
+ qmediapluginloader \
+ qmediaresource \
+ qmediaservice \
+ qmediaserviceprovider \
+ qmediatimerange \
+ qvideoframe \
+ qvideosurfaceformat \
+ qvideowidget \
+
diff --git a/tests/auto/network.pro b/tests/auto/network.pro
new file mode 100644
index 0000000000..6b24850808
--- /dev/null
+++ b/tests/auto/network.pro
@@ -0,0 +1,43 @@
+# The tests in this .pro file _MUST_ use QtCore and QtNetwork only
+# (i.e. QT=core network).
+# The test system is allowed to run these tests before the rest of Qt has
+# been compiled.
+TEMPLATE=subdirs
+SUBDIRS=\
+ networkselftest \
+ qabstractnetworkcache \
+ qabstractsocket \
+ qeventloop \
+ qftp \
+ qhostaddress \
+ qhostinfo \
+ qhttp \
+ qhttpnetworkconnection \
+ qhttpnetworkreply \
+ qhttpsocketengine \
+ qnativesocketengine \
+ qnetworkaddressentry \
+ qnetworkconfigmanager \
+ qnetworkconfiguration \
+ qnetworkcookie \
+ qnetworkcookiejar \
+ qnetworkinterface \
+ qnetworkproxy \
+ qnetworkrequest \
+ qnetworksession \
+ qobjectperformance \
+ qsocketnotifier \
+ qsocks5socketengine \
+ qsslcertificate \
+ qsslcipher \
+ qsslerror \
+ qsslkey \
+ qsslsocket \
+
+contains(QT_CONFIG, private_tests): SUBDIRS -= \
+ qhttpnetworkconnection \
+ qhttpnetworkreply \
+ qnativesocketengine \
+ qsocketnotifier \
+ qsocks5socketengine \
+
diff --git a/tests/auto/opengl.pro b/tests/auto/opengl.pro
new file mode 100644
index 0000000000..7220c45b3c
--- /dev/null
+++ b/tests/auto/opengl.pro
@@ -0,0 +1,6 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qgl \
+ qgl_threads \
+ qglbuffer \
+
diff --git a/tests/auto/other.pro b/tests/auto/other.pro
new file mode 100644
index 0000000000..e220d1a190
--- /dev/null
+++ b/tests/auto/other.pro
@@ -0,0 +1,58 @@
+# These tests don't nicely fit into one of the other .pro files.
+# They are testing too many Qt modules at the same time.
+
+TEMPLATE=subdirs
+SUBDIRS=\
+# exceptionsafety_objects \ shouldn't enable it
+ qaccessibility \
+ qalgorithms \
+ qcombobox \
+ qcssparser \
+ qdatastream \
+ qdir \
+ qfocusevent \
+ qimage \
+ qiodevice \
+ qitemmodel \
+ qlayout \
+ qmdiarea \
+ qmenu \
+ qmenubar \
+ qmouseevent \
+ qpainter \
+ qpixmap \
+ qprinter \
+ qsettings \
+ qsplitter \
+ qtabwidget \
+ qtextbrowser \
+ qtextdocument \
+ qtextedit \
+ qtoolbutton \
+ qvariant \
+ qwidget \
+ qworkspace \
+ windowsmobile
+
+contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter
+mac: {
+ SUBDIRS += macgui \
+ macplist \
+ qaccessibility_mac
+}
+
+embedded:!wince* {
+ SUBDIRS += qcopchannel \
+ qdirectpainter \
+ qmultiscreen
+}
+
+symbian {
+ SUBDIRS += qsoftkeymanager \
+ qs60mainapplication
+}
+
+# Following tests depends on private API
+!contains(QT_CONFIG, private_tests): SUBDIRS -= \
+ qcssparser \
+
diff --git a/tests/auto/phonon.pro b/tests/auto/phonon.pro
new file mode 100644
index 0000000000..7549428d9c
--- /dev/null
+++ b/tests/auto/phonon.pro
@@ -0,0 +1,5 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ mediaobject \
+# mediaobject_wince_ds9 \ This is Windows CE only (we test the second phonon backend ds9 here)
+
diff --git a/tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro b/tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro
index 93a03db7ae..e8b1ce95ef 100644
--- a/tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro
+++ b/tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro
@@ -13,8 +13,3 @@ wince*|symbian*:TARGET = ../desktopsettingsaware
SOURCES += main.cpp
CONFIG += qt warn_on create_prl link_prl
CONFIG -= app_bundle
-
-!symbian*: {
-OBJECTS_DIR=.obj/debug-shared
-MOC_DIR=.moc/debug-shared
-}
diff --git a/tests/auto/qbearertestcommon.h b/tests/auto/qbearertestcommon.h
index 0bfe622041..c9df249afe 100644
--- a/tests/auto/qbearertestcommon.h
+++ b/tests/auto/qbearertestcommon.h
@@ -42,6 +42,19 @@
#ifndef QBEARERTESTCOMMON_H
#define QBEARERTESTCOMMON_H
+// Wait for __expr to happen, while still allowing events to be processed.
+#define QTRY_NOOP(__expr) \
+ do { \
+ const int __step = 50; \
+ const int __timeout = 15000; \
+ if (!(__expr)) { \
+ QTest::qWait(0); \
+ } \
+ for (int __i = 0; __i < __timeout && !(__expr); __i+=__step) { \
+ QTest::qWait(__step); \
+ } \
+ } while(0)
+
// Will try to wait for the condition while allowing event processing
#define QTRY_VERIFY(__expr) \
do { \
diff --git a/tests/auto/qchar/tst_qchar.cpp b/tests/auto/qchar/tst_qchar.cpp
index 547147c0ec..6227c2ed75 100644
--- a/tests/auto/qchar/tst_qchar.cpp
+++ b/tests/auto/qchar/tst_qchar.cpp
@@ -72,6 +72,7 @@ private slots:
void toLower();
void toTitle();
void toCaseFolded();
+ void isPrint();
void isUpper();
void isLower();
void category();
@@ -218,6 +219,12 @@ void tst_QChar::toCaseFolded()
QVERIFY(QChar::toCaseFolded((ushort)0xb5) == 0x3bc);
}
+void tst_QChar::isPrint()
+{
+ QVERIFY(QChar('A').isPrint());
+ QVERIFY(!QChar(0x1aff).isPrint()); // General_Gategory =Cn
+}
+
void tst_QChar::isUpper()
{
QVERIFY(QChar('A').isUpper());
@@ -259,6 +266,12 @@ void tst_QChar::category()
QVERIFY(QChar::category(0xd900u) == QChar::Other_Surrogate);
QVERIFY(QChar::category(0xdc00u) == QChar::Other_Surrogate);
QVERIFY(QChar::category(0xdc01u) == QChar::Other_Surrogate);
+
+ QVERIFY(QChar::category((uint)0x10fffdu) == QChar::Other_PrivateUse);
+ QVERIFY(QChar::category((uint)0x110000u) == QChar::NoCategory);
+
+ QVERIFY(QChar::category((uint)0x1aff) == QChar::Other_NotAssigned);
+ QVERIFY(QChar::category((uint)0x10ffffu) == QChar::Other_NotAssigned);
}
void tst_QChar::direction()
diff --git a/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp b/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
index 54426ceb70..a55a4275c4 100644
--- a/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
+++ b/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
@@ -128,8 +128,6 @@ void tst_QDBusPendingCall::finished(QDBusPendingCallWatcher *call)
watchArgument = call;
if (QThread::currentThread() == thread())
QTestEventLoop::instance().exitLoop();
- else
- QMetaObject::invokeMethod(&QTestEventLoop::instance(), "exitLoop", Qt::QueuedConnection);
}
void tst_QDBusPendingCall::callback(const QStringList &list)
@@ -427,7 +425,7 @@ void tst_QDBusPendingCall::watcher_waitForFinished_threaded()
} thread(this);
QTestEventLoop::instance().connect(&thread, SIGNAL(finished()), SLOT(exitLoop()));
thread.start();
- QTestEventLoop::instance().enterLoop(1000);
+ QTestEventLoop::instance().enterLoop(10);
QVERIFY(!thread.isRunning());
QVERIFY(!QTestEventLoop::instance().timeout());
}
diff --git a/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro b/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro
index 13bf606e0f..7779efce89 100644
--- a/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro
+++ b/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro
@@ -1,4 +1,14 @@
load(qttest_p4)
-SOURCES += tst_qdeclarativeaudio.cpp
+
+HEADERS += \
+ $$PWD/../../../src/imports/multimedia/qdeclarativeaudio_p.h \
+ $$PWD/../../../src/imports/multimedia/qdeclarativemediabase_p.h \
+ $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject_p.h
+
+SOURCES += \
+ tst_qdeclarativeaudio.cpp \
+ $$PWD/../../../src/imports/multimedia/qdeclarativeaudio.cpp \
+ $$PWD/../../../src/imports/multimedia/qdeclarativemediabase.cpp \
+ $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject.cpp
QT += multimedia declarative
diff --git a/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp b/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp
index 11439ceeb8..d750c69995 100644
--- a/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp
+++ b/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp
@@ -41,7 +41,7 @@
#include <QtTest/QtTest>
-#include <QtMultimedia/private/qdeclarativeaudio_p.h>
+#include "../../../src/imports/multimedia/qdeclarativeaudio_p.h"
#include <QtGui/qapplication.h>
#include <QtMultimedia/qmediaplayercontrol.h>
diff --git a/tests/auto/qdeclarativevideo/qdeclarativevideo.pro b/tests/auto/qdeclarativevideo/qdeclarativevideo.pro
index d946bb049d..4cd4c719fc 100644
--- a/tests/auto/qdeclarativevideo/qdeclarativevideo.pro
+++ b/tests/auto/qdeclarativevideo/qdeclarativevideo.pro
@@ -1,4 +1,14 @@
load(qttest_p4)
-SOURCES += tst_qdeclarativevideo.cpp
+
+HEADERS += \
+ $$PWD/../../../src/imports/multimedia/qdeclarativevideo_p.h \
+ $$PWD/../../../src/imports/multimedia/qdeclarativemediabase_p.h \
+ $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject_p.h
+
+SOURCES += \
+ tst_qdeclarativevideo.cpp \
+ $$PWD/../../../src/imports/multimedia/qdeclarativevideo.cpp \
+ $$PWD/../../../src/imports/multimedia/qdeclarativemediabase.cpp \
+ $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject.cpp
QT += multimedia declarative
diff --git a/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp b/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp
index 9fc1e70255..5fd36758b3 100644
--- a/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp
+++ b/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp
@@ -41,7 +41,7 @@
#include <QtTest/QtTest>
-#include <QtMultimedia/private/qdeclarativevideo_p.h>
+#include "../../../src/imports/multimedia/qdeclarativevideo_p.h"
#include <QtGui/qapplication.h>
#include <QtMultimedia/qabstractvideosurface.h>
diff --git a/tests/auto/qdialog/tst_qdialog.cpp b/tests/auto/qdialog/tst_qdialog.cpp
index 7b8213d817..86f87b8e2a 100644
--- a/tests/auto/qdialog/tst_qdialog.cpp
+++ b/tests/auto/qdialog/tst_qdialog.cpp
@@ -464,8 +464,8 @@ public slots:
void tst_QDialog::throwInExec()
{
-#ifdef Q_WS_MAC
- QSKIP("Qt/Mac: Throwing exceptions in exec() is not supported.", SkipAll);
+#if defined(Q_WS_MAC) || (defined(Q_WS_WINCE) && defined(_ARM_))
+ QSKIP("Throwing exceptions in exec() is not supported on this platform.", SkipAll);
#endif
int caughtExceptions = 0;
try {
diff --git a/tests/auto/qdom/tst_qdom.cpp b/tests/auto/qdom/tst_qdom.cpp
index 76903e5455..0f6cdaa76f 100644
--- a/tests/auto/qdom/tst_qdom.cpp
+++ b/tests/auto/qdom/tst_qdom.cpp
@@ -131,6 +131,7 @@ private slots:
void setContentWhitespace_data() const;
void taskQTBUG4595_dontAssertWhenDocumentSpecifiesUnknownEncoding() const;
+ void cloneDTD_QTBUG8398() const;
void cleanupTestCase() const;
@@ -1908,5 +1909,29 @@ void tst_QDom::taskQTBUG4595_dontAssertWhenDocumentSpecifiesUnknownEncoding() co
QVERIFY(true);
}
+void tst_QDom::cloneDTD_QTBUG8398() const
+{
+ QString dtd("<?xml version='1.0' encoding='UTF-8'?>\n"
+ "<!DOCTYPE first [\n"
+ "<!ENTITY secondFile SYSTEM 'second.xml'>\n"
+ "<!ENTITY thirdFile SYSTEM 'third.xml'>\n"
+ "]>\n"
+ "<first/>\n");
+ QDomDocument domDocument;
+ QVERIFY(domDocument.setContent(dtd));
+ QDomDocument domDocument2 = domDocument.cloneNode(true).toDocument();
+
+ // for some reason, our DOM implementation reverts the order of entities
+ QString expected("<?xml version='1.0' encoding='UTF-8'?>\n"
+ "<!DOCTYPE first [\n"
+ "<!ENTITY thirdFile SYSTEM 'third.xml'>\n"
+ "<!ENTITY secondFile SYSTEM 'second.xml'>\n"
+ "]>\n"
+ "<first/>\n");
+ QString output;
+ QTextStream stream(&output);
+ domDocument2.save(stream, 0);
+ QCOMPARE(output, expected);
+}
QTEST_MAIN(tst_QDom)
#include "tst_qdom.moc"
diff --git a/tests/auto/qftp/tst_qftp.cpp b/tests/auto/qftp/tst_qftp.cpp
index 240885dcc3..638c810251 100644
--- a/tests/auto/qftp/tst_qftp.cpp
+++ b/tests/auto/qftp/tst_qftp.cpp
@@ -308,7 +308,7 @@ void tst_QFtp::connectToUnresponsiveHost()
if (setProxy)
QSKIP( "This test takes too long if we test with proxies too", SkipSingle );
- QString host = "1.2.3.4";
+ QString host = "192.0.2.42"; // IP out of TEST-NET, should be unreachable
uint port = 21;
ftp = newFtp();
diff --git a/tests/auto/qgl/qgl.pro b/tests/auto/qgl/qgl.pro
index 9116f39055..5f058f9f61 100644
--- a/tests/auto/qgl/qgl.pro
+++ b/tests/auto/qgl/qgl.pro
@@ -6,6 +6,8 @@ load(qttest_p4)
requires(contains(QT_CONFIG,opengl))
QT += opengl
+contains(QT_CONFIG,egl):DEFINES += QGL_EGL
+
SOURCES += tst_qgl.cpp
RESOURCES = qgl.qrc
diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp
index 6ffe2a7a7c..d89e46343d 100644
--- a/tests/auto/qgl/tst_qgl.cpp
+++ b/tests/auto/qgl/tst_qgl.cpp
@@ -1073,8 +1073,7 @@ void tst_QGL::glFBOSimpleRendering()
QGLFramebufferObjectFormat fboFormat;
fboFormat.setAttachment(QGLFramebufferObject::NoAttachment);
- // Don't complicate things by using NPOT:
- QGLFramebufferObject *fbo = new QGLFramebufferObject(256, 128, fboFormat);
+ QGLFramebufferObject *fbo = new QGLFramebufferObject(200, 100, fboFormat);
fbo->bind();
@@ -1266,7 +1265,7 @@ protected:
widgetPainterBeginOk = widgetPainter.begin(this);
QGLFramebufferObjectFormat fboFormat;
fboFormat.setAttachment(QGLFramebufferObject::NoAttachment);
- QGLFramebufferObject *fbo = new QGLFramebufferObject(128, 128, fboFormat);
+ QGLFramebufferObject *fbo = new QGLFramebufferObject(100, 100, fboFormat);
QPainter fboPainter;
fboPainterBeginOk = fboPainter.begin(fbo);
@@ -1290,7 +1289,7 @@ void tst_QGL::glFBOUseInGLWidget()
#ifdef Q_WS_QWS
w.setWindowFlags(Qt::FramelessWindowHint);
#endif
- w.resize(128, 128);
+ w.resize(100, 100);
w.show();
#ifdef Q_WS_X11
@@ -1402,6 +1401,10 @@ void tst_QGL::glWidgetRenderPixmap()
QImage reference(fb.size(), QImage::Format_RGB32);
reference.fill(0xffff0000);
+#ifdef QGL_EGL
+ QSKIP("renderPixmap() not yet supported under EGL", SkipAll);
+#endif
+
QFUZZY_COMPARE_IMAGES(fb, reference);
}
diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
index 795431bd4e..1007d618c2 100644
--- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
+++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
@@ -72,6 +72,7 @@ private slots:
void drawPixmapItem();
void deviceCoordinateTranslateCaching();
void inheritOpacity();
+ void dropShadowClipping();
};
void tst_QGraphicsEffect::initTestCase()
@@ -590,6 +591,28 @@ void tst_QGraphicsEffect::inheritOpacity()
QTRY_VERIFY(item->numRepaints > numRepaints);
}
+void tst_QGraphicsEffect::dropShadowClipping()
+{
+ QImage img(128, 128, QImage::Format_ARGB32_Premultiplied);
+ img.fill(0xffffffff);
+
+ QGraphicsScene scene;
+ QGraphicsRectItem *item = new QGraphicsRectItem(-5, -500, 10, 1000);
+ item->setGraphicsEffect(new QGraphicsDropShadowEffect);
+ item->setPen(Qt::NoPen);
+ item->setBrush(Qt::red);
+
+ scene.addItem(item);
+
+ QPainter p(&img);
+ scene.render(&p, img.rect(), QRect(-64, -64, 128, 128));
+ p.end();
+
+ for (int y = 1; y < img.height(); ++y)
+ for (int x = 0; x < img.width(); ++x)
+ QCOMPARE(img.pixel(x, y), img.pixel(x, y-1));
+}
+
QTEST_MAIN(tst_QGraphicsEffect)
#include "tst_qgraphicseffect.moc"
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 269ec247af..4d9f23f298 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -10045,7 +10045,6 @@ void tst_QGraphicsItem::QT_2649_focusScope()
QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
QVERIFY(subFocusItem->hasFocus());
- //If we hide the focusScope, the entire subFocus chain should be cleared
scope->hide();
QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)0);
@@ -10056,6 +10055,18 @@ void tst_QGraphicsItem::QT_2649_focusScope()
QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
QVERIFY(!subFocusItem->hasFocus());
+ scope->show();
+
+ QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
+ QVERIFY(subFocusItem->hasFocus());
+
+ // This should not crash
+ scope->hide();
delete scene;
}
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index c77f76da57..1c19fab1a1 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -219,6 +219,7 @@ private slots:
void inputMethodSensitivity();
void inputContextReset();
void indirectPainting();
+ void compositionModeInDrawBackground();
// task specific tests below me
void task172231_untransformableItems();
@@ -3825,6 +3826,39 @@ void tst_QGraphicsView::indirectPainting()
QTRY_VERIFY(scene.drawCount > 0);
}
+void tst_QGraphicsView::compositionModeInDrawBackground()
+{
+ class MyView : public QGraphicsView
+ { public:
+ MyView(QGraphicsScene *scene) : QGraphicsView(scene),
+ painted(false), compositionMode(QPainter::CompositionMode_SourceOver) {}
+ bool painted;
+ QPainter::CompositionMode compositionMode;
+ void drawBackground(QPainter *painter, const QRectF &)
+ {
+ compositionMode = painter->compositionMode();
+ painted = true;
+ }
+ };
+
+ QGraphicsScene dummy;
+ MyView view(&dummy);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ // Make sure the painter's composition mode is SourceOver in drawBackground.
+ QTRY_VERIFY(view.painted);
+ QCOMPARE(view.compositionMode, QPainter::CompositionMode_SourceOver);
+
+ view.painted = false;
+ view.setCacheMode(QGraphicsView::CacheBackground);
+ view.viewport()->update();
+
+ // Make sure the painter's composition mode is SourceOver in drawBackground
+ // with background cache enabled.
+ QTRY_VERIFY(view.painted);
+ QCOMPARE(view.compositionMode, QPainter::CompositionMode_SourceOver);
+}
void tst_QGraphicsView::task253415_reconnectUpdateSceneOnSceneChanged()
{
QGraphicsView view;
diff --git a/tests/auto/qhostinfo/tst_qhostinfo.cpp b/tests/auto/qhostinfo/tst_qhostinfo.cpp
index d5411d0d48..428206236a 100644
--- a/tests/auto/qhostinfo/tst_qhostinfo.cpp
+++ b/tests/auto/qhostinfo/tst_qhostinfo.cpp
@@ -72,6 +72,7 @@
#endif
#include <qhostinfo.h>
+#include "private/qhostinfo_p.h"
#if !defined(QT_NO_GETADDRINFO)
# if !defined(Q_OS_WINCE)
@@ -108,10 +109,11 @@ public:
public slots:
void init();
void cleanup();
+ void initTestCase();
+
private slots:
void getSetCheck();
void staticInformation();
- void initTestCase();
void lookupIPv4_data();
void lookupIPv4();
void lookupIPv6_data();
@@ -128,6 +130,8 @@ private slots:
void multipleSameLookups();
void multipleDifferentLookups();
+ void cache();
+
protected slots:
void resultsReady(const QHostInfo &);
@@ -205,10 +209,21 @@ void tst_QHostInfo::initTestCase()
// We have IPv6 support
ipv6Available = true;
}
+
+
+ // run each testcase with and without test enabled
+ QTest::addColumn<bool>("cache");
+ QTest::newRow("WithCache") << true;
+ QTest::newRow("WithoutCache") << false;
}
void tst_QHostInfo::init()
{
+ // delete the cache so inidividual testcase results are independant from each other
+ qt_qhostinfo_clear_cache();
+
+ QFETCH_GLOBAL(bool, cache);
+ qt_qhostinfo_enable_cache(cache);
}
void tst_QHostInfo::cleanup()
@@ -458,6 +473,45 @@ void tst_QHostInfo::multipleDifferentLookups()
QTRY_VERIFY(lookupsDoneCounter == COUNT);
}
+void tst_QHostInfo::cache()
+{
+ QFETCH_GLOBAL(bool, cache);
+ if (!cache)
+ return; // test makes only sense when cache enabled
+
+ // reset slot counter
+ lookupsDoneCounter = 0;
+
+ // lookup once, wait in event loop, result should not come directly.
+ bool valid = true;
+ int id = -1;
+ QHostInfo result = qt_qhostinfo_lookup("localhost", this, SLOT(resultsReady(QHostInfo)), &valid, &id);
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ QVERIFY(valid == false);
+ QVERIFY(result.addresses().isEmpty());
+
+ // loopkup second time, result should come directly
+ valid = false;
+ result = qt_qhostinfo_lookup("localhost", this, SLOT(resultsReady(QHostInfo)), &valid, &id);
+ QVERIFY(valid == true);
+ QVERIFY(!result.addresses().isEmpty());
+
+ // clear the cache
+ qt_qhostinfo_clear_cache();
+
+ // lookup third time, result should not come directly.
+ valid = true;
+ result = qt_qhostinfo_lookup("localhost", this, SLOT(resultsReady(QHostInfo)), &valid, &id);
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ QVERIFY(valid == false);
+ QVERIFY(result.addresses().isEmpty());
+
+ // the slot should have been called 2 times.
+ QVERIFY(lookupsDoneCounter == 2);
+}
+
void tst_QHostInfo::resultsReady(const QHostInfo &hi)
{
lookupDone = true;
diff --git a/tests/auto/qicon/tst_qicon.cpp b/tests/auto/qicon/tst_qicon.cpp
index f861e40a0b..fae9cc0d3f 100644
--- a/tests/auto/qicon/tst_qicon.cpp
+++ b/tests/auto/qicon/tst_qicon.cpp
@@ -86,8 +86,14 @@ private slots:
private:
QString oldCurrentDir;
+
+ const static QIcon staticIcon;
};
+// Creating an icon statically should not cause a crash.
+// But we do not officially support this. See QTBUG-8666
+const QIcon tst_QIcon::staticIcon = QIcon::fromTheme("edit-find");
+
void tst_QIcon::init()
{
QString srcdir(QLatin1String(SRCDIR));
diff --git a/tests/auto/qlist/tst_qlist.cpp b/tests/auto/qlist/tst_qlist.cpp
index a590fca92b..e2944cccdc 100644
--- a/tests/auto/qlist/tst_qlist.cpp
+++ b/tests/auto/qlist/tst_qlist.cpp
@@ -60,6 +60,7 @@ private slots:
void length() const;
void lengthSignature() const;
void append() const;
+ void prepend() const;
void mid() const;
};
@@ -130,6 +131,39 @@ void tst_QList::append() const
}
+void tst_QList::prepend() const
+{
+ QList<QString *> list;
+ QString *str1 = new QString;
+ list.prepend(str1);
+ QVERIFY(list.size() == 1);
+ QVERIFY(list.at(0) == str1);
+ QString *str2 = new QString;
+ list.prepend(str2);
+ QVERIFY(list.size() == 2);
+ QVERIFY(list.at(0) == str2);
+ QVERIFY(list.at(1) == str1);
+ QString *str3 = new QString;
+ list.prepend(str3);
+ QVERIFY(list.size() == 3);
+ QVERIFY(list.at(0) == str3);
+ QVERIFY(list.at(1) == str2);
+ QVERIFY(list.at(2) == str1);
+ list.removeAll(str2);
+ delete str2;
+ QVERIFY(list.size() == 2);
+ QVERIFY(list.at(0) == str3);
+ QVERIFY(list.at(1) == str1);
+ QString *str4 = new QString;
+ list.prepend(str4);
+ QVERIFY(list.size() == 3);
+ QVERIFY(list.at(0) == str4);
+ QVERIFY(list.at(1) == str3);
+ QVERIFY(list.at(2) == str1);
+ qDeleteAll(list);
+ list.clear();
+}
+
void tst_QList::mid() const
{
QList<QString> list;
diff --git a/tests/auto/qmediacontent/tst_qmediacontent.cpp b/tests/auto/qmediacontent/tst_qmediacontent.cpp
index 8987241692..a0a9bdb1dc 100644
--- a/tests/auto/qmediacontent/tst_qmediacontent.cpp
+++ b/tests/auto/qmediacontent/tst_qmediacontent.cpp
@@ -85,6 +85,7 @@ void tst_QMediaContent::testRequestCtor()
QMediaContent media(request);
+ QCOMPARE(media.canonicalRequest(), request);
QCOMPARE(media.canonicalUrl(), QUrl("http://example.com/movie.mov"));
QCOMPARE(media.canonicalResource().request(), request);
QCOMPARE(media.canonicalResource().url(), QUrl("http://example.com/movie.mov"));
diff --git a/tests/auto/qmediaservice/tst_qmediaservice.cpp b/tests/auto/qmediaservice/tst_qmediaservice.cpp
index 35f661d05e..a0cb69d623 100644
--- a/tests/auto/qmediaservice/tst_qmediaservice.cpp
+++ b/tests/auto/qmediaservice/tst_qmediaservice.cpp
@@ -69,7 +69,9 @@ class QtTestMediaControlA : public QMediaControl
#define QtTestMediaControlA_iid "com.nokia.QtTestMediaControlA"
+QT_BEGIN_NAMESPACE
Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlA, QtTestMediaControlA_iid)
+QT_END_NAMESPACE
class QtTestMediaControlB : public QMediaControl
@@ -78,7 +80,9 @@ class QtTestMediaControlB : public QMediaControl
};
#define QtTestMediaControlB_iid "com.nokia.QtTestMediaControlB"
+QT_BEGIN_NAMESPACE
Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlB, QtTestMediaControlB_iid)
+QT_END_NAMESPACE
class QtTestMediaControlC : public QMediaControl
@@ -87,7 +91,9 @@ class QtTestMediaControlC : public QMediaControl
};
#define QtTestMediaControlC_iid "com.nokia.QtTestMediaControlC"
+QT_BEGIN_NAMESPACE
Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlC, QtTestMediaControlA_iid) // Yes A.
+QT_END_NAMESPACE
class QtTestMediaControlD : public QMediaControl
{
@@ -95,7 +101,9 @@ class QtTestMediaControlD : public QMediaControl
};
#define QtTestMediaControlD_iid "com.nokia.QtTestMediaControlD"
+QT_BEGIN_NAMESPACE
Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlD, QtTestMediaControlD_iid)
+QT_END_NAMESPACE
class QtTestMediaControlE : public QMediaControl
{
diff --git a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp b/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
index 9bca189365..06a8f603e3 100644
--- a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
+++ b/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
@@ -152,7 +152,7 @@ public:
Q_UNUSED(codecs);
if (mimeType == "audio/wav")
- return QtMultimedia::PreferedService;
+ return QtMultimedia::PreferredService;
return QtMultimedia::NotSupported;
}
@@ -213,6 +213,57 @@ public:
}
};
+class MockServicePlugin4 : public QMediaServiceProviderPlugin,
+ public QMediaServiceSupportedFormatsInterface,
+ public QMediaServiceFeaturesInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(QMediaServiceSupportedFormatsInterface)
+ Q_INTERFACES(QMediaServiceFeaturesInterface)
+public:
+ QStringList keys() const
+ {
+ return QStringList() << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
+ }
+
+ QMediaService* create(QString const& key)
+ {
+ if (keys().contains(key))
+ return new MockMediaService("MockServicePlugin4");
+ else
+ return 0;
+ }
+
+ void release(QMediaService *service)
+ {
+ delete service;
+ }
+
+ QtMultimedia::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const
+ {
+ if (codecs.contains(QLatin1String("jpeg2000")))
+ return QtMultimedia::NotSupported;
+
+ if (supportedMimeTypes().contains(mimeType))
+ return QtMultimedia::ProbablySupported;
+
+ return QtMultimedia::MaybeSupported;
+ }
+
+ QStringList supportedMimeTypes() const
+ {
+ return QStringList() << "video/mp4" << "video/quicktime";
+ }
+
+ QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const
+ {
+ if (service == QByteArray(Q_MEDIASERVICE_MEDIAPLAYER))
+ return QMediaServiceProviderHint::StreamPlayback;
+ else
+ return 0;
+ }
+};
+
class MockMediaServiceProvider : public QMediaServiceProvider
@@ -253,6 +304,7 @@ void tst_QMediaServiceProvider::initTestCase()
plugins << new MockServicePlugin1;
plugins << new MockServicePlugin2;
plugins << new MockServicePlugin3;
+ plugins << new MockServicePlugin4;
QMediaPluginLoader::setStaticPlugins(QLatin1String("/mediaservices"), plugins);
}
@@ -312,12 +364,32 @@ void tst_QMediaServiceProvider::testHasSupport()
QCOMPARE(QMediaPlayer::hasSupport("audio/ogg"), QtMultimedia::ProbablySupported);
QCOMPARE(QMediaPlayer::hasSupport("audio/wav"), QtMultimedia::ProbablySupported);
+ //test low latency flag support
+ QCOMPARE(QMediaPlayer::hasSupport("audio/wav", QStringList(), QMediaPlayer::LowLatency),
+ QtMultimedia::ProbablySupported);
+ //plugin1 probably supports audio/ogg, it checked because it doesn't provide features iface
+ QCOMPARE(QMediaPlayer::hasSupport("audio/ogg", QStringList(), QMediaPlayer::LowLatency),
+ QtMultimedia::ProbablySupported);
+ //Plugin4 is not checked here, sine it's known not support low latency
+ QCOMPARE(QMediaPlayer::hasSupport("video/quicktime", QStringList(), QMediaPlayer::LowLatency),
+ QtMultimedia::MaybeSupported);
+
+ //test streaming flag support
+ QCOMPARE(QMediaPlayer::hasSupport("video/quicktime", QStringList(), QMediaPlayer::StreamPlayback),
+ QtMultimedia::ProbablySupported);
+ //Plugin2 is not checked here, sine it's known not support streaming
+ QCOMPARE(QMediaPlayer::hasSupport("audio/wav", QStringList(), QMediaPlayer::StreamPlayback),
+ QtMultimedia::MaybeSupported);
+
//ensure the correct media player plugin is choosen for mime type
QMediaPlayer simplePlayer(0, QMediaPlayer::LowLatency);
QCOMPARE(simplePlayer.service()->objectName(), QLatin1String("MockServicePlugin2"));
QMediaPlayer mediaPlayer;
QVERIFY(mediaPlayer.service()->objectName() != QLatin1String("MockServicePlugin2"));
+
+ QMediaPlayer streamPlayer(0, QMediaPlayer::StreamPlayback);
+ QCOMPARE(streamPlayer.service()->objectName(), QLatin1String("MockServicePlugin4"));
}
void tst_QMediaServiceProvider::testSupportedMimeTypes()
diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp
index 3559b155c4..e10d7ee69a 100644
--- a/tests/auto/qmenu/tst_qmenu.cpp
+++ b/tests/auto/qmenu/tst_qmenu.cpp
@@ -105,6 +105,7 @@ private slots:
void deleteActionInTriggered();
void pushButtonPopulateOnAboutToShow();
void QTBUG7907_submenus_autoselect();
+ void QTBUG7411_submenus_activate();
protected slots:
void onActivated(QAction*);
void onHighlighted(QAction*);
@@ -948,6 +949,25 @@ void tst_QMenu::QTBUG7907_submenus_autoselect()
QVERIFY(!subset.isVisible());
}
+void tst_QMenu::QTBUG7411_submenus_activate()
+{
+ QMenu menu("Test Menu");
+ QAction *act = menu.addAction("foo");
+ QMenu sub1("&sub1");
+ sub1.addAction("foo");
+ sub1.setTitle("&sub1");
+ QAction *act1 = menu.addMenu(&sub1);
+ menu.show();
+ QTest::qWaitForWindowShown(&menu);
+ menu.setActiveAction(act);
+ QTest::keyPress(&menu, Qt::Key_Down);
+ QCOMPARE(menu.activeAction(), act1);
+ QVERIFY(!sub1.isVisible());
+ QTest::keyPress(&menu, Qt::Key_S);
+ QTRY_VERIFY(sub1.isVisible());
+}
+
+
QTEST_MAIN(tst_QMenu)
#include "tst_qmenu.moc"
diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp
index 15b6204c4d..bb4a0d2dd3 100644
--- a/tests/auto/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp
@@ -157,6 +157,7 @@ private slots:
void invokeQueuedMetaMember();
void invokeCustomTypes();
void invokeMetaConstructor();
+ void invokeTypedefTypes();
void qtMetaObjectInheritance();
void normalizedSignature_data();
void normalizedSignature();
@@ -513,6 +514,19 @@ void tst_QMetaObject::invokeMetaMember()
QVERIFY(QMetaObject::invokeMethod(&obj, "sig1", Q_RETURN_ARG(QString, exp), Q_ARG(QString, "hehe")));
QCOMPARE(exp, QString("yessir"));
QCOMPARE(obj.slotResult, QString("sl1:hehe"));
+
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::invokeMethod: No such method QtTestObject::doesNotExist()");
+ QVERIFY(!QMetaObject::invokeMethod(&obj, "doesNotExist"));
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::invokeMethod: No such method QtTestObject::sl1(QString)(QString)");
+ QVERIFY(!QMetaObject::invokeMethod(&obj, "sl1(QString)", Q_ARG(QString, "arg")));
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::invokeMethod: No such method QtTestObject::sl3(QString)");
+ QVERIFY(!QMetaObject::invokeMethod(&obj, "sl3", Q_ARG(QString, "arg")));
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::invokeMethod: No such method QtTestObject::sl1(QString,QString,QString)");
+ QVERIFY(!QMetaObject::invokeMethod(&obj, "sl1", Q_ARG(QString, "arg"), Q_ARG(QString, "arg"), Q_ARG(QString, "arg")));
+
+ //should not have changed since last test.
+ QCOMPARE(exp, QString("yessir"));
+ QCOMPARE(obj.slotResult, QString("sl1:hehe"));
}
void tst_QMetaObject::invokeQueuedMetaMember()
@@ -585,6 +599,8 @@ struct MyType
int i1, i2, i3;
};
+typedef QString CustomString;
+
class QtTestCustomObject: public QObject
{
Q_OBJECT
@@ -594,6 +610,9 @@ public:
public slots:
void sl1(MyType myType);
+signals:
+ void sig_custom(const CustomString &string);
+
public:
int sum;
};
@@ -651,6 +670,20 @@ void tst_QMetaObject::invokeMetaConstructor()
}
}
+void tst_QMetaObject::invokeTypedefTypes()
+{
+ qRegisterMetaType<CustomString>("CustomString");
+ QtTestCustomObject obj;
+ QSignalSpy spy(&obj, SIGNAL(sig_custom(CustomString)));
+
+ QCOMPARE(spy.count(), 0);
+ CustomString arg("hello");
+ QVERIFY(QMetaObject::invokeMethod(&obj, "sig_custom", Q_ARG(CustomString, arg)));
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(spy.at(0).count(), 1);
+ QCOMPARE(spy.at(0).at(0), QVariant(arg));
+}
+
void tst_QMetaObject::normalizedSignature_data()
{
QTest::addColumn<QString>("signature");
diff --git a/tests/auto/qmetatype/tst_qmetatype.cpp b/tests/auto/qmetatype/tst_qmetatype.cpp
index 943b05b3ca..f4e122f3c4 100644
--- a/tests/auto/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/qmetatype/tst_qmetatype.cpp
@@ -241,6 +241,9 @@ void tst_QMetaType::construct()
QMetaType::destroy(QMetaType::QSize, size);
}
+typedef QString CustomString;
+Q_DECLARE_METATYPE(CustomString) //this line is useless
+
void tst_QMetaType::typedefs()
{
QCOMPARE(QMetaType::type("long long"), int(QMetaType::LongLong));
@@ -256,6 +259,13 @@ void tst_QMetaType::typedefs()
// make sure the qreal typeId is the type id of the type it's defined to
QCOMPARE(QMetaType::type("qreal"), ::qMetaTypeId<qreal>());
+
+ qRegisterMetaType<CustomString>("CustomString");
+ QCOMPARE(QMetaType::type("CustomString"), ::qMetaTypeId<CustomString>());
+
+ typedef Whity<double> WhityDouble;
+ qRegisterMetaType<WhityDouble>("WhityDouble");
+ QCOMPARE(QMetaType::type("WhityDouble"), ::qMetaTypeId<WhityDouble>());
}
class IsRegisteredDummyType { };
@@ -286,9 +296,9 @@ void tst_QMetaType::isRegistered()
QCOMPARE(QMetaType::isRegistered(typeId), registered);
}
-class RegUnreg
+class RegUnreg
{
-public:
+public:
RegUnreg() {};
RegUnreg(const RegUnreg &) {};
~RegUnreg() {};
diff --git a/tests/auto/qnetworksession/lackey/main.cpp b/tests/auto/qnetworksession/lackey/main.cpp
index 41e935aec3..66d6dd4fa1 100644
--- a/tests/auto/qnetworksession/lackey/main.cpp
+++ b/tests/auto/qnetworksession/lackey/main.cpp
@@ -69,14 +69,15 @@ int main(int argc, char** argv)
QNetworkConfigurationManager manager;
QList<QNetworkConfiguration> discovered =
-#if defined (Q_OS_SYMBIAN)
- // On Symbian, on the first query (before updateConfigurations() call
- // the discovered-states are not correct, so defined-state will do.
- manager.allConfigurations(QNetworkConfiguration::Defined);
-#else
manager.allConfigurations(QNetworkConfiguration::Discovered);
-#endif
+
+ foreach(QNetworkConfiguration config, discovered) {
+ qDebug() << "Lackey: Name of the config enumerated: " << config.name();
+ qDebug() << "Lackey: State of the config enumerated: " << config.state();
+ }
+
if (discovered.isEmpty()) {
+ qDebug("Lackey: no discovered configurations, returning empty error.");
return NO_DISCOVERED_CONFIGURATIONS_ERROR;
}
diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
index 4ef3a4fdb2..4b56f77315 100644
--- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
+++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
@@ -54,6 +54,7 @@
QT_USE_NAMESPACE
Q_DECLARE_METATYPE(QNetworkConfiguration)
+Q_DECLARE_METATYPE(QNetworkConfiguration::Type);
Q_DECLARE_METATYPE(QNetworkSession::State);
Q_DECLARE_METATYPE(QNetworkSession::SessionError);
@@ -70,6 +71,11 @@ private slots:
void outOfProcessSession();
void invalidSession();
+ void repeatedOpenClose_data();
+ void repeatedOpenClose();
+
+ void roamingErrorCodes();
+
void sessionProperties_data();
void sessionProperties();
@@ -79,6 +85,9 @@ private slots:
void sessionOpenCloseStop_data();
void sessionOpenCloseStop();
+ void sessionAutoClose_data();
+ void sessionAutoClose();
+
private:
QNetworkConfigurationManager manager;
@@ -94,11 +103,17 @@ private:
#endif
};
+// Helper functions
+bool openSession(QNetworkSession *session);
+bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration = true);
+QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType);
+
void tst_QNetworkSession::initTestCase()
{
qRegisterMetaType<QNetworkSession::State>("QNetworkSession::State");
qRegisterMetaType<QNetworkSession::SessionError>("QNetworkSession::SessionError");
qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
+ qRegisterMetaType<QNetworkConfiguration::Type>("QNetworkConfiguration::Type");
#ifdef Q_WS_MAEMO_6
iapconf = new Maemo::IAPConf("007");
@@ -211,9 +226,42 @@ void tst_QNetworkSession::cleanupTestCase()
void tst_QNetworkSession::invalidSession()
{
+ // Verify that session created with invalid configuration remains in invalid state
QNetworkSession session(QNetworkConfiguration(), 0);
QVERIFY(!session.isOpen());
QVERIFY(session.state() == QNetworkSession::Invalid);
+ QVERIFY(session.error() == QNetworkSession::InvalidConfigurationError);
+
+ // Verify that opening session with invalid configuration both 1) emits invalidconfigurationerror
+ // and 2) sets session's state as invalid.
+ QSignalSpy errorSpy(&session, SIGNAL(error(QNetworkSession::SessionError)));
+ session.open();
+ session.waitForOpened(1000); // Should bail out right away
+ QVERIFY(errorSpy.count() == 1);
+ QNetworkSession::SessionError error =
+ qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
+ QVERIFY(error == QNetworkSession::InvalidConfigurationError);
+ QVERIFY(session.error() == QNetworkSession::InvalidConfigurationError);
+ QVERIFY(session.state() == QNetworkSession::Invalid);
+
+ // Check same thing with a config from platform (there are subtle differences
+ // because emtpy configuration does not have private pointer). Test with config
+ // in '(un)defined' state
+ QList<QNetworkConfiguration> allConfigs = manager.allConfigurations();
+ foreach(QNetworkConfiguration config, allConfigs) {
+ if ((config.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered) {
+ QNetworkSession session2(config);
+ QSignalSpy errorSpy2(&session2, SIGNAL(error(QNetworkSession::SessionError)));
+ session2.open();
+ session2.waitForOpened(1000); // Should bail out right away
+ QVERIFY(errorSpy2.count() == 1);
+ QNetworkSession::SessionError error2 =
+ qvariant_cast<QNetworkSession::SessionError> (errorSpy2.first().at(0));
+ QVERIFY(error2 == QNetworkSession::InvalidConfigurationError);
+ QVERIFY(session2.state() == QNetworkSession::Invalid);
+ break; // Once is enough
+ }
+ }
}
void tst_QNetworkSession::sessionProperties_data()
@@ -300,6 +348,100 @@ void tst_QNetworkSession::sessionProperties()
}
}
+void tst_QNetworkSession::repeatedOpenClose_data() {
+ QTest::addColumn<QString>("bearerType");
+ QTest::addColumn<QNetworkConfiguration::Type>("configurationType");
+ QTest::addColumn<int>("repeatTimes");
+
+ QTest::newRow("WLAN_IAP") << "WLAN" << QNetworkConfiguration::InternetAccessPoint << 3;
+ // QTest::newRow("Cellular_IAP") << "cellular" << QNetworkConfiguration::InternetAccessPoint << 3;
+ // QTest::newRow("SNAP") << "bearer_type_not_relevant_with_SNAPs" << QNetworkConfiguration::ServiceNetwork << 3;
+}
+
+// Tests repeated-open close.
+void tst_QNetworkSession::repeatedOpenClose() {
+ QFETCH(QString, bearerType);
+ QFETCH(QNetworkConfiguration::Type, configurationType);
+ QFETCH(int, repeatTimes);
+
+ // First check that opening once succeeds and determine if repeatable testing is doable
+ QNetworkConfiguration config = suitableConfiguration(bearerType, configurationType);
+ if (!config.isValid()) {
+ QSKIP("No suitable configurations, skipping this round of repeated open-close test.", SkipSingle);
+ }
+ qDebug() << "Using following configuratio to repeatedly open and close: " << config.name();
+ QNetworkSession permanentSession(config);
+ if (!openSession(&permanentSession) ||
+ !closeSession(&permanentSession)) {
+ QSKIP("Unable to open/close session, skipping this round of repeated open-close test.", SkipSingle);
+ }
+ for (int i = repeatTimes; i > 0; i--) {
+ QVERIFY(openSession(&permanentSession));
+ QVERIFY(closeSession(&permanentSession));
+ }
+}
+
+void tst_QNetworkSession::roamingErrorCodes() {
+
+#ifndef Q_OS_SYMBIAN
+ QSKIP("Roaming supported on Symbian.", SkipAll);
+#else
+ QNetworkConfiguration wlanIapConfig = suitableConfiguration("WLAN", QNetworkConfiguration::InternetAccessPoint);
+ if (!wlanIapConfig.isValid()) {
+ QSKIP("No WLAN IAP accessible, skipping test.", SkipAll);
+ }
+ // Check that opening and closing two sessions on same config work gracefully:
+ QNetworkSession iapSession(wlanIapConfig);
+ QVERIFY(openSession(&iapSession));
+ QNetworkSession adminIapSession(wlanIapConfig);
+ QVERIFY(openSession(&adminIapSession));
+ QVERIFY(closeSession(&iapSession, false)); // false == not a last session based on the configuration
+ QVERIFY(closeSession(&adminIapSession));
+
+ // Open configurations again, force close bearer and check that errors are emitted correctly
+ // on the other session
+ QVERIFY(openSession(&iapSession));
+ QVERIFY(openSession(&adminIapSession));
+ QSignalSpy errorSpy(&iapSession, SIGNAL(error(QNetworkSession::SessionError)));
+ adminIapSession.stop(); // requires NetworkControl capabilities
+ QTRY_VERIFY(!errorSpy.isEmpty()); // wait for error signals
+ QNetworkSession::SessionError error = qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0));
+ QVERIFY(error == QNetworkSession::SessionAbortedError);
+ QVERIFY(iapSession.state() == QNetworkSession::Disconnected);
+ QVERIFY(adminIapSession.state() == QNetworkSession::Disconnected);
+#endif // Q_OS_SYMBIAN
+ /*
+ // Check for roaming error. Challenging to automate, therefore commented out.
+ // Case requires that you have controllable WLAN in Internet SNAP (only).
+ QNetworkConfiguration snapConfig = suitableConfiguration("bearer_not_relevant_with_snaps", QNetworkConfiguration::ServiceNetwork);
+ if (!snapConfig.isValid()) {
+ QSKIP("No SNAP accessible, skipping test.", SkipAll);
+ }
+ QNetworkSession snapSession(snapConfig);
+ QVERIFY(openSession(&snapSession));
+ QSignalSpy errorSpySnap(&snapSession, SIGNAL(error(QNetworkSession::SessionError)));
+ qDebug("Disconnect the WLAN now");
+ QTRY_VERIFY(!errorSpySnap.isEmpty()); // wait for error signals
+ QVERIFY(errorSpySnap.count() == 1);
+ error = qvariant_cast<QNetworkSession::SessionError>(errorSpySnap.first().at(0));
+ qDebug() << "Error received when turning off wlan on SNAP: " << error;
+ QVERIFY(error == QNetworkSession::RoamingError);
+
+ qDebug("Connect the WLAN now");
+ QTest::qWait(60000); // Wait for WLAN to get up
+ QNetworkConfiguration wlanIapConfig2 = suitableConfiguration("WLAN", QNetworkConfiguration::InternetAccessPoint);
+ QNetworkSession iapSession2(wlanIapConfig2);
+ QVERIFY(openSession(&iapSession2));
+ QSignalSpy errorSpy2(&iapSession2, SIGNAL(error(QNetworkSession::SessionError)));
+ qDebug("Disconnect the WLAN now");
+ QTRY_VERIFY(!errorSpy2.isEmpty()); // wait for error signals
+ QVERIFY(errorSpy2.count() == 1);
+ error = qvariant_cast<QNetworkSession::SessionError>(errorSpy2.first().at(0));
+ QVERIFY(error == QNetworkSession::SessionAbortedError);
+ QVERIFY(iapSession2.state() == QNetworkSession::Disconnected);
+ */
+}
+
void tst_QNetworkSession::userChoiceSession_data()
{
QTest::addColumn<QNetworkConfiguration>("configuration");
@@ -810,7 +952,7 @@ QDebug operator<<(QDebug debug, const QList<QNetworkConfiguration> &list)
}
// Note: outOfProcessSession requires that at least one configuration is
-// at Discovered -state (Defined is ok for symbian as well, as long as it is possible to open).
+// at Discovered -state.
void tst_QNetworkSession::outOfProcessSession()
{
qDebug() << "START";
@@ -913,6 +1055,218 @@ void tst_QNetworkSession::outOfProcessSession()
qDebug("STOP");
}
+// A convinience / helper function for testcases. Return the first matching configuration.
+// Ignores configurations in other than 'discovered' -state. Returns invalid (QNetworkConfiguration())
+// if none found.
+QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType) {
+ // Refresh configurations and derive configurations matching given parameters.
+ QNetworkConfigurationManager mgr;
+ QSignalSpy updateSpy(&mgr, SIGNAL(updateCompleted()));
+ mgr.updateConfigurations();
+ QTRY_NOOP(updateSpy.count() == 1);
+ if (updateSpy.count() != 1) {
+ qDebug("tst_QNetworkSession::suitableConfiguration() failure: unable to update configurations");
+ return QNetworkConfiguration();
+ }
+ QList<QNetworkConfiguration> discoveredConfigs = mgr.allConfigurations(QNetworkConfiguration::Discovered);
+ foreach(QNetworkConfiguration config, discoveredConfigs) {
+ if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
+ // qDebug() << "Dumping config because is active: " << config.name();
+ discoveredConfigs.removeOne(config);
+ } else if (config.type() != configType) {
+ // qDebug() << "Dumping config because type (IAP/SNAP) mismatches: " << config.name();
+ discoveredConfigs.removeOne(config);
+ } else if ((config.type() == QNetworkConfiguration::InternetAccessPoint) &&
+ bearerType == "cellular") { // 'cellular' bearertype is for convinience
+ if (config.bearerName() != "2G" &&
+ config.bearerName() != "CDMA2000" &&
+ config.bearerName() != "WCDMA" &&
+ config.bearerName() != "HSPA") {
+ // qDebug() << "Dumping config because bearer mismatches (cellular): " << config.name();
+ discoveredConfigs.removeOne(config);
+ }
+ } else if ((config.type() == QNetworkConfiguration::InternetAccessPoint) &&
+ bearerType != config.bearerName()) {
+ // qDebug() << "Dumping config because bearer mismatches (WLAN): " << config.name();
+ discoveredConfigs.removeOne(config);
+ }
+ }
+ if (discoveredConfigs.isEmpty()) {
+ qDebug("tst_QNetworkSession::suitableConfiguration() failure: no suitable configurations present.");
+ return QNetworkConfiguration();
+ } else {
+ return discoveredConfigs.first();
+ }
+}
+
+// A convinience function for test-cases: opens the given configuration and return
+// true if it was done gracefully.
+bool openSession(QNetworkSession *session) {
+ QNetworkConfigurationManager mgr;
+ QSignalSpy openedSpy(session, SIGNAL(opened()));
+ QSignalSpy stateChangeSpy(session, SIGNAL(stateChanged(QNetworkSession::State)));
+ QSignalSpy errorSpy(session, SIGNAL(error(QNetworkSession::SessionError)));
+ QSignalSpy configChangeSpy(&mgr, SIGNAL(configurationChanged(QNetworkConfiguration)));
+ // Store some initial statuses, because expected signals differ if the config is already
+ // active by some other session
+ QNetworkConfiguration::StateFlags configInitState = session->configuration().state();
+ QNetworkSession::State sessionInitState = session->state();
+
+ if (session->isOpen() ||
+ !session->sessionProperty("ActiveConfiguration").toString().isEmpty()) {
+ qDebug("tst_QNetworkSession::openSession() failure: session was already open / active.");
+ return false;
+ } else {
+ session->open();
+ session->waitForOpened(120000); // Bringing interfaces up and down may take time at platform
+ }
+ // Check that connection opening went by the book. Add checks here if more strictness needed.
+ if (!session->isOpen()) {
+ qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::open() failed.");
+ return false;
+ }
+ if (openedSpy.count() != 1) {
+ qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::opened() - signal not received.");
+ return false;
+ }
+ if (!errorSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::error() - signal was detected.");
+ return false;
+ }
+ if (sessionInitState != QNetworkSession::Connected &&
+ stateChangeSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::stateChanged() - signals not detected.");
+ return false;
+ }
+ if (configInitState != QNetworkConfiguration::Active &&
+ configChangeSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::openSession() failure: QNetworkConfigurationManager::configurationChanged() - signals not detected.");
+ return false;
+ }
+ if (session->configuration().state() != QNetworkConfiguration::Active) {
+ qDebug("tst_QNetworkSession::openSession() failure: session's configuration is not in 'Active' -state.");
+ return false;
+ }
+ return true;
+}
+
+// Helper function for closing opened session. Performs checks that
+// session is closed gradefully (e.g. signals). Function does not delete
+// the session. The lastSessionOnConfiguration (true by default) is used to
+// tell if there are more sessions open, basing on same configration. This
+// impacts the checks made.
+bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) {
+ if (!session) {
+ qDebug("tst_QNetworkSession::closeSession() failure: NULL session given");
+ return false;
+ }
+ if (session->state() != QNetworkSession::Connected ||
+ !session->isOpen()) {
+ qDebug("tst_QNetworkSession::closeSession() failure: session is not opened.");
+ return false;
+ }
+ QNetworkConfigurationManager mgr;
+ QSignalSpy sessionClosedSpy(session, SIGNAL(closed()));
+ QSignalSpy sessionStateChangedSpy(session, SIGNAL(stateChanged(QNetworkSession::State)));
+ QSignalSpy sessionErrorSpy(session, SIGNAL(error(QNetworkSession::SessionError)));
+ QSignalSpy configChangeSpy(&mgr, SIGNAL(configurationChanged(QNetworkConfiguration)));
+
+ session->close();
+
+ if (!sessionErrorSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::error() received.");
+ return false;
+ }
+ if (sessionClosedSpy.count() != 1) {
+ qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::closed() signal not received.");
+ return false;
+ }
+ if (lastSessionOnConfiguration &&
+ sessionStateChangedSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::stateChanged() signals not received.");
+ return false;
+ }
+ if (lastSessionOnConfiguration &&
+ session->state() != QNetworkSession::Disconnected) {
+ qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession is not in Disconnected -state");
+ return false;
+ }
+ QTRY_NOOP(!configChangeSpy.isEmpty());
+ if (lastSessionOnConfiguration &&
+ configChangeSpy.isEmpty()) {
+ qDebug("tst_QNetworkSession::closeSession() failure: QNetworkConfigurationManager::configurationChanged() - signal not detected.");
+ return false;
+ }
+ if (lastSessionOnConfiguration &&
+ session->configuration().state() != QNetworkConfiguration::Discovered) {
+ qDebug("tst_QNetworkSession::closeSession() failure: session's configuration is not back in 'Discovered' -state.");
+ return false;
+ }
+ return true;
+}
+
+void tst_QNetworkSession::sessionAutoClose_data()
+{
+ QTest::addColumn<QNetworkConfiguration>("configuration");
+
+ bool testData = false;
+ foreach (const QNetworkConfiguration &config,
+ manager.allConfigurations(QNetworkConfiguration::Discovered)) {
+ QNetworkSession session(config);
+ if (!session.sessionProperty(QLatin1String("AutoCloseSessionTimeout")).isValid())
+ continue;
+
+ testData = true;
+
+ const QString name = config.name().isEmpty() ? QString("<Hidden>") : config.name();
+ QTest::newRow(name.toLocal8Bit().constData()) << config;
+ }
+
+ if (!testData)
+ QSKIP("No applicable configurations to test", SkipAll);
+}
+
+void tst_QNetworkSession::sessionAutoClose()
+{
+ QFETCH(QNetworkConfiguration, configuration);
+
+ QNetworkSession session(configuration);
+
+ QVERIFY(session.configuration() == configuration);
+
+ QVariant autoCloseSession = session.sessionProperty(QLatin1String("AutoCloseSessionTimeout"));
+
+ QVERIFY(autoCloseSession.isValid());
+
+ // property defaults to false
+ QCOMPARE(autoCloseSession.toInt(), -1);
+
+ QSignalSpy closeSpy(&session, SIGNAL(closed()));
+
+ session.open();
+ session.waitForOpened();
+
+ if (!session.isOpen())
+ QSKIP("Session not open", SkipSingle);
+
+ // set session to auto close at next polling interval.
+ session.setSessionProperty(QLatin1String("AutoCloseSessionTimeout"), 0);
+
+ QTRY_VERIFY(!closeSpy.isEmpty());
+
+ QCOMPARE(session.state(), QNetworkSession::Connected);
+
+ QVERIFY(!session.isOpen());
+
+ QVERIFY(session.configuration() == configuration);
+
+ autoCloseSession = session.sessionProperty(QLatin1String("AutoCloseSessionTimeout"));
+
+ QVERIFY(autoCloseSession.isValid());
+
+ QCOMPARE(autoCloseSession.toInt(), -1);
+}
+
QTEST_MAIN(tst_QNetworkSession)
#include "tst_qnetworksession.moc"
diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp
index 3896d702cb..0161a68987 100644
--- a/tests/auto/qobject/tst_qobject.cpp
+++ b/tests/auto/qobject/tst_qobject.cpp
@@ -1112,6 +1112,8 @@ void tst_QObject::streamCustomTypes()
QCOMPARE(instanceCount, 0);
}
+typedef QString CustomString;
+
class PropertyObject : public QObject
{
Q_OBJECT
@@ -1125,6 +1127,7 @@ class PropertyObject : public QObject
Q_PROPERTY(CustomType* custom READ custom WRITE setCustom)
Q_PROPERTY(float myFloat READ myFloat WRITE setMyFloat)
Q_PROPERTY(qreal myQReal READ myQReal WRITE setMyQReal)
+ Q_PROPERTY(CustomString customString READ customString WRITE setCustomString )
public:
enum Alpha {
@@ -1163,6 +1166,9 @@ public:
void setMyQReal(qreal value) { m_qreal = value; }
qreal myQReal() const { return m_qreal; }
+ CustomString customString() const { return m_customString; }
+ void setCustomString(const QString &string) { m_customString = string; }
+
private:
Alpha m_alpha;
Priority m_priority;
@@ -1172,6 +1178,7 @@ private:
CustomType *m_custom;
float m_float;
qreal m_qreal;
+ CustomString m_customString;
};
Q_DECLARE_METATYPE(PropertyObject::Priority)
@@ -1626,6 +1633,15 @@ void tst_QObject::property()
QCOMPARE(qVariantValue<PropertyObject::Priority>(object.property("priority")), PropertyObject::Low);
object.setProperty("priority", var);
QCOMPARE(qVariantValue<PropertyObject::Priority>(object.property("priority")), PropertyObject::High);
+
+ qRegisterMetaType<CustomString>("CustomString");
+ QVERIFY(mo->indexOfProperty("customString") != -1);
+ QCOMPARE(object.property("customString").toString(), QString());
+ object.setCustomString("String1");
+ QCOMPARE(object.property("customString"), QVariant("String1"));
+ QVERIFY(object.setProperty("customString", "String2"));
+ QCOMPARE(object.property("customString"), QVariant("String2"));
+ QVERIFY(!object.setProperty("customString", QVariant()));
}
void tst_QObject::metamethod()
@@ -2819,6 +2835,16 @@ void tst_QObject::installEventFilter()
QVERIFY(spy.eventList().isEmpty());
}
+class EmitThread : public QThread
+{ Q_OBJECT
+public:
+ void run(void) {
+ emit work();
+ }
+signals:
+ void work();
+};
+
class DeleteObject : public QObject
{
Q_OBJECT
@@ -2884,6 +2910,16 @@ void tst_QObject::deleteSelfInSlot()
QVERIFY(thread.wait(10000));
}
+
+ {
+ EmitThread sender;
+ DeleteObject *receiver = new DeleteObject();
+ connect(&sender, SIGNAL(work()), receiver, SLOT(deleteSelf()), Qt::DirectConnection);
+ QPointer<DeleteObject> p = receiver;
+ sender.start();
+ QVERIFY(sender.wait(10000));
+ QVERIFY(p.isNull());
+ }
}
class DisconnectObject : public QObject
diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp
index a03b2c737e..701dc2ed0e 100644
--- a/tests/auto/qpainter/tst_qpainter.cpp
+++ b/tests/auto/qpainter/tst_qpainter.cpp
@@ -999,10 +999,10 @@ void tst_QPainter::drawPixmapFragments()
{
QPixmap origPixmap(20, 20);
QPixmap resPixmap(20, 20);
- QPainter::Fragment fragments[4] = { {15, 15, 0, 0, 10, 10, 1, 1, 0, 1},
- { 5, 15, 10, 0, 10, 10, 1, 1, 0, 1},
- {15, 5, 0, 10, 10, 10, 1, 1, 0, 1},
- { 5, 5, 10, 10, 10, 10, 1, 1, 0, 1} };
+ QPainter::PixmapFragment fragments[4] = { {15, 15, 0, 0, 10, 10, 1, 1, 0, 1},
+ { 5, 15, 10, 0, 10, 10, 1, 1, 0, 1},
+ {15, 5, 0, 10, 10, 10, 1, 1, 0, 1},
+ { 5, 5, 10, 10, 10, 10, 1, 1, 0, 1} };
{
QPainter p(&origPixmap);
p.fillRect(0, 0, 10, 10, Qt::red);
@@ -1025,7 +1025,7 @@ void tst_QPainter::drawPixmapFragments()
QVERIFY(resImage.pixel(15, 15) == origImage.pixel(5, 5));
- QPainter::Fragment fragment = QPainter::Fragment::create(QPointF(20, 20), QRectF(30, 30, 2, 2));
+ QPainter::PixmapFragment fragment = QPainter::PixmapFragment::create(QPointF(20, 20), QRectF(30, 30, 2, 2));
QVERIFY(fragment.x == 20);
QVERIFY(fragment.y == 20);
QVERIFY(fragment.sourceLeft == 30);
diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp
index 7e8ce84f71..49bddb2a0c 100644
--- a/tests/auto/qprinter/tst_qprinter.cpp
+++ b/tests/auto/qprinter/tst_qprinter.cpp
@@ -107,6 +107,7 @@ private slots:
void printDialogCompleter();
void testCopyCount();
+ void testCurrentPage();
void taskQTBUG4497_reusePrinterOnDifferentFiles();
@@ -1005,5 +1006,27 @@ void tst_QPrinter::taskQTBUG4497_reusePrinterOnDifferentFiles()
QCOMPARE(file1.readAll(), file2.readAll());
}
+void tst_QPrinter::testCurrentPage()
+{
+ QPrinter printer;
+ printer.setFromTo(1, 10);
+
+ // Test set print range
+ printer.setPrintRange(QPrinter::CurrentPage);
+ QCOMPARE(printer.printRange(), QPrinter::CurrentPage);
+ QCOMPARE(printer.fromPage(), 1);
+ QCOMPARE(printer.toPage(), 10);
+
+ QPrintDialog dialog(&printer);
+
+ // Test default Current Page option to off
+ QCOMPARE(dialog.isOptionEnabled(QPrintDialog::PrintCurrentPage), false);
+
+ // Test enable Current Page option
+ dialog.setOption(QPrintDialog::PrintCurrentPage);
+ QCOMPARE(dialog.isOptionEnabled(QPrintDialog::PrintCurrentPage), true);
+
+}
+
QTEST_MAIN(tst_QPrinter)
#include "tst_qprinter.moc"
diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro
index 191cd4a73a..c3e9912f69 100644
--- a/tests/auto/qscriptvalue/qscriptvalue.pro
+++ b/tests/auto/qscriptvalue/qscriptvalue.pro
@@ -4,8 +4,12 @@ SOURCES += tst_qscriptvalue.cpp
HEADERS += tst_qscriptvalue.h
# Generated by testgen
-SOURCES += tst_qscriptvalue_generated.cpp
-
+SOURCES += \
+ tst_qscriptvalue_generated_init.cpp \
+ tst_qscriptvalue_generated_cast.cpp \
+ tst_qscriptvalue_generated_comparison.cpp \
+ tst_qscriptvalue_generated_isXXX.cpp \
+ tst_qscriptvalue_generated_toXXX.cpp
win32-msvc* {
# With -O2, MSVC takes up to 24 minutes to compile this test!
diff --git a/tests/auto/qscriptvalue/testgen/main.cpp b/tests/auto/qscriptvalue/testgen/main.cpp
index fe35de9350..06726352aa 100644
--- a/tests/auto/qscriptvalue/testgen/main.cpp
+++ b/tests/auto/qscriptvalue/testgen/main.cpp
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
QCoreApplication a(argc, argv);
if (argc != 2) {
- qWarning() << "./prog outputfile";
+ qWarning() << "./prog outputdir";
exit(1);
}
diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.cpp b/tests/auto/qscriptvalue/testgen/testgenerator.cpp
index 4376c42ab8..a291110562 100644
--- a/tests/auto/qscriptvalue/testgen/testgenerator.cpp
+++ b/tests/auto/qscriptvalue/testgen/testgenerator.cpp
@@ -50,10 +50,17 @@
#include <QtCore/qvariant.h>
#include <QtScript/qscriptvalue.h>
-void TestGenerator::save(const QString& data)
+void TestGenerator::save(const QHash<QString, QString>& data)
{
- QTextStream out(&m_ofile);
- out << data;
+ foreach(const QString& name, data.keys()) {
+ QFile ofile(m_opath + "tst_qscriptvalue_generated_" + name + ".cpp");
+ if (!ofile.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ qWarning() << "Can't open output file: " << ofile.fileName();
+ exit(2);
+ }
+ QTextStream out(&ofile);
+ out << data[name];
+ }
}
static QString escape(QString txt)
@@ -98,6 +105,55 @@ QString typeName<bool>() {return "bool";}
template<>
QString typeName<QString>() {return "QString";}
+static QString generateLicence()
+{
+ return "/****************************************************************************\n"
+ "**\n"
+ "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "** All rights reserved.\n"
+ "** Contact: Nokia Corporation (qt-info@nokia.com)\n"
+ "**\n"
+ "** This file is part of the test suite of the Qt Toolkit.\n"
+ "**\n"
+ "** $QT_BEGIN_LICENSE:LGPL$\n"
+ "** No Commercial Usage\n"
+ "** This file contains pre-release code and may not be distributed.\n"
+ "** You may use this file in accordance with the terms and conditions\n"
+ "** contained in the Technology Preview License Agreement accompanying\n"
+ "** this package.\n"
+ "**\n"
+ "** GNU Lesser General Public License Usage\n"
+ "** Alternatively, this file may be used under the terms of the GNU Lesser\n"
+ "** General Public License version 2.1 as published by the Free Software\n"
+ "** Foundation and appearing in the file LICENSE.LGPL included in the\n"
+ "** packaging of this file. Please review the following information to\n"
+ "** ensure the GNU Lesser General Public License version 2.1 requirements\n"
+ "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n"
+ "**\n"
+ "** In addition, as a special exception, Nokia gives you certain additional\n"
+ "** rights. These rights are described in the Nokia Qt LGPL Exception\n"
+ "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n"
+ "**\n"
+ "** If you have questions regarding the use of this file, please contact\n"
+ "** Nokia at qt-info@nokia.com.\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "** $QT_END_LICENSE$\n"
+ "**\n"
+ "****************************************************************************/\n"
+ "\n"\
+ "/****************************************************************************\n"\
+ "*************** This file has been generated. DO NOT MODIFY! ****************\n"
+ "****************************************************************************/\n\n"\
+ "#include \"tst_qscriptvalue.h\"\n\n";
+}
+
static QString generateIsXXXDef(const QString& name, const QList<QString>& list)
{
static const QString templ("void tst_QScriptValue::%1_initData()\n"\
@@ -106,11 +162,14 @@ static QString generateIsXXXDef(const QString& name, const QList<QString>& list)
" initScriptValues();\n"\
"}\n"\
"\n"\
+ "static QString %1_array [] = {%2};\n\n"\
"void tst_QScriptValue::%1_makeData(const char* expr)\n"\
"{\n"\
" static QSet<QString> %1;\n"\
" if (%1.isEmpty()) {\n"\
- " %1%2\n"\
+ " %1.reserve(%3);\n"\
+ " for (unsigned i = 0; i < %3; ++i)\n"\
+ " %1.insert(%1_array[i]);\n"\
" }\n"\
" newRow(expr) << %1.contains(expr);\n"\
"}\n"\
@@ -132,16 +191,14 @@ static QString generateIsXXXDef(const QString& name, const QList<QString>& list)
QString result = templ;
QStringList set;
- foreach(QString t, list) {
- t = escape(t);
- t.append('\"');
- t.prepend('\"');
- set.append(QString(" << "));
- set.append(t);
- set.append("\n ");
+ set.reserve(3 * list.count());
+ foreach(const QString& t, list) {
+ set.append("\n \"");
+ set.append(escape(t));
+ set.append("\",");
}
- set.append(";");
- return result.arg(name, set.join(QString()));
+
+ return result.arg(name, set.join(QString()), QString::number(list.count()));
}
template<typename T>
@@ -154,11 +211,15 @@ static QString generateToXXXDef(const QString& name, const QList<QPair<QString,
" initScriptValues();\n"\
"}\n"\
"\n"\
+ "static QString %1_tagArray [] = {%4};\n\n"\
+ "static %2 %1_valueArray [] = {%5};\n\n"\
"void tst_QScriptValue::%1_makeData(const char* expr)\n"\
"{\n"\
" static QHash<QString, %2> %1;\n"\
" if (%1.isEmpty()) {\n"\
- "%3"\
+ " %1.reserve(%3);\n"\
+ " for (unsigned i = 0; i < %3; ++i)\n"\
+ " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\
" }\n"\
" newRow(expr) << %1.value(expr);\n"\
"}\n"\
@@ -174,19 +235,26 @@ static QString generateToXXXDef(const QString& name, const QList<QPair<QString,
QString result = templ;
typename QList<QPair<QString, T> >::const_iterator i = list.constBegin();
- QStringList set;
+ QStringList tagSet, valueSet;
+ tagSet.reserve(list.count());
+ valueSet.reserve(list.count());
+ int tmp = -1;
for(; i != list.constEnd(); ++i) {
QPair<QString, T> t = *i;
t.first = escape(t.first);
- set.append(QString(" "));
- set.append(name);
- set.append(".insert(\"");
- set.append(t.first);
- set.append(QString::fromAscii("\", "));
- set.append(prepareToInsert<T>(t.second));
- set.append(QString::fromAscii(");\n"));
+ tagSet.append(QString("\n \""));
+ tagSet.append(t.first);
+ tagSet.append(QString::fromAscii("\","));
+ if (!((++tmp)%2))
+ valueSet.append(QString("\n "));
+ valueSet.append(prepareToInsert<T>(t.second));
+ valueSet.append(QString::fromAscii(", "));
}
- return result.arg(name, typeName<T>(), set.join(QString()));
+ return result.arg(name,
+ typeName<T>(),
+ QString::number(list.count()),
+ tagSet.join(QString()),
+ valueSet.join(QString()));
}
@@ -200,11 +268,15 @@ QString generateToXXXDef<qsreal>(const QString& name, const QList<QPair<QString,
" initScriptValues();\n"\
"}\n"\
"\n"\
+ "static QString %1_tagArray [] = {%3};\n"\
+ "static %2 %1_valueArray [] = {%4};\n"\
"void tst_QScriptValue::%1_makeData(const char* expr)\n"\
"{\n"\
" static QHash<QString, %2> %1;\n"\
" if (%1.isEmpty()) {\n"\
- "%3"\
+ " %1.reserve(%5);\n"\
+ " for (unsigned i = 0; i < %5; ++i)\n"\
+ " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\
" }\n"\
" newRow(expr) << %1.value(expr);\n"\
"}\n"\
@@ -226,17 +298,20 @@ QString generateToXXXDef<qsreal>(const QString& name, const QList<QPair<QString,
QString result = templ;
QList<QPair<QString, qsreal> >::const_iterator i = list.constBegin();
- QStringList set;
+ QStringList tagSet, valueSet;
+ tagSet.reserve(list.count());
+ valueSet.reserve(list.count());
+ int tmp = -1;
for(; i != list.constEnd(); ++i) {
QPair<QString, qsreal> t = *i;
t.first = escape(t.first);
- set.append(QString(" "));
- set.append(name);
- set.append(".insert(\"");
- set.append(t.first);
- set.append(QString::fromAscii("\", "));
- set.append(prepareToInsert<qsreal>(t.second));
- set.append(QString::fromAscii(");\n"));
+ tagSet.append(QString("\n \""));
+ tagSet.append(t.first);
+ tagSet.append(QString::fromAscii("\","));
+ if (!((++tmp)%10))
+ valueSet.append(QString("\n "));
+ valueSet.append(prepareToInsert<qsreal>(t.second));
+ valueSet.append(QString::fromAscii(", "));
}
// toInteger shouldn't return NaN, so it would be nice to catch the case.
QString hook;
@@ -247,105 +322,129 @@ QString generateToXXXDef<qsreal>(const QString& name, const QList<QPair<QString,
" return;\n"\
" }\n";
}
- return result.arg(name, typeName<qsreal>(), set.join(QString()), hook);
+ return result.arg(name,
+ typeName<qsreal>(),
+ tagSet.join(QString()),
+ valueSet.join(QString()),
+ QString::number(list.count()),
+ hook);
}
template<typename T>
static QString generateCastDef(const QList<QPair<QString, T> >& list)
{
static const QString templ = "\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\
"{\n"\
- " QTest::addColumn<%2>(\"expected\");\n"\
+ " QTest::addColumn<%1>(\"expected\");\n"\
" initScriptValues();\n"\
"}\n"\
"\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\
+ "static QString qscriptvalue_cast%1_tagArray [] = {%2};\n"\
+ "static %1 qscriptvalue_cast%1_valueArray [] = {%3};\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\
"{\n"\
- " static QHash<QString, %2> value;\n"\
+ " static QHash<QString, %1> value;\n"\
" if (value.isEmpty()) {\n"\
- "%3"\
+ " value.reserve(%4);\n"\
+ " for (unsigned i = 0; i < %4; ++i)\n"\
+ " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\
" }\n"\
" newRow(expr) << value.value(expr);\n"\
"}\n"\
"\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\
"{\n"\
- " QFETCH(%2, expected);\n"\
- " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
- " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
+ " QFETCH(%1, expected);\n"\
+ " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\
+ " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\
"}\n"\
"\n"\
- "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n";
+ "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n";
QString result = templ;
typename QList<QPair<QString, T> >::const_iterator i = list.constBegin();
- QStringList set;
+ QStringList tagSet, valueSet;
+ tagSet.reserve(list.count());
+ valueSet.reserve(list.count());
+ int tmp = -1;
for(; i != list.constEnd(); ++i) {
QPair<QString, T> t = *i;
t.first = escape(t.first);
- set.append(QString(" "));
- set.append("value.insert(\"");
- set.append(t.first);
- set.append(QString::fromAscii("\", "));
- set.append(prepareToInsert<T>(t.second));
- set.append(QString::fromAscii(");\n"));
+ tagSet.append(QString("\n \""));
+ tagSet.append(t.first);
+ tagSet.append(QString::fromAscii("\","));
+ if (!((++tmp)%2))
+ valueSet.append(QString("\n "));
+ valueSet.append(prepareToInsert<T>(t.second));
+ valueSet.append(QString::fromAscii(", "));
}
- return result.arg(typeName<T>(), set.join(QString()));
+ return result.arg(typeName<T>(), tagSet.join(QString()), valueSet.join(QString()), QString::number(list.count()));
}
template<>
QString generateCastDef<qsreal>(const QList<QPair<QString, qsreal> >& list)
{
static const QString templ = "\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\
"{\n"\
- " QTest::addColumn<%2>(\"expected\");\n"\
+ " QTest::addColumn<%1>(\"expected\");\n"\
" initScriptValues();\n"\
"}\n"\
"\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\
+ "static QString qscriptvalue_cast%1_tagArray [] = {%2};\n"\
+ "static %1 qscriptvalue_cast%1_valueArray [] = {%3};\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\
"{\n"\
- " static QHash<QString, %2> value;\n"\
+ " static QHash<QString, %1> value;\n"\
" if (value.isEmpty()) {\n"\
- "%3"\
+ " value.reserve(%4);\n"\
+ " for (unsigned i = 0; i < %4; ++i)\n"\
+ " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\
" }\n"\
" newRow(expr) << value.value(expr);\n"\
"}\n"\
"\n"\
- "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\
"{\n"\
- " QFETCH(%2, expected);\n"\
+ " QFETCH(%1, expected);\n"\
" if (qIsNaN(expected)) {\n"
- " QVERIFY(qIsNaN(qscriptvalue_cast<%2>(value)));\n"
- " QVERIFY(qIsNaN(qscriptvalue_cast<%2>(value)));\n"
+ " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n"
+ " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n"
" return;\n"
" }\n"\
" if (qIsInf(expected)) {\n"
- " QVERIFY(qIsInf(qscriptvalue_cast<%2>(value)));\n"
- " QVERIFY(qIsInf(qscriptvalue_cast<%2>(value)));\n"
+ " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n"
+ " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n"
" return;\n"
" }\n"
- " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
- " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
+ " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\
+ " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\
"}\n"\
"\n"\
- "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n";
+ "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n";
QString result = templ;
QList<QPair<QString, qsreal> >::const_iterator i = list.constBegin();
- QStringList set;
+ QStringList tagSet, valueSet;
+ tagSet.reserve(list.count());
+ valueSet.reserve(list.count());
+ int tmp = -1;
for(; i != list.constEnd(); ++i) {
QPair<QString, qsreal> t = *i;
t.first = escape(t.first);
- set.append(QString(" "));
- set.append("value.insert(\"");
- set.append(t.first);
- set.append(QString::fromAscii("\", "));
- set.append(prepareToInsert<qsreal>(t.second));
- set.append(QString::fromAscii(");\n"));
+ tagSet.append(QString("\n \""));
+ tagSet.append(t.first);
+ tagSet.append(QString::fromAscii("\","));
+ if (!((++tmp)%10))
+ valueSet.append(QString("\n "));
+ valueSet.append(prepareToInsert<qsreal>(t.second));
+ valueSet.append(QString::fromAscii(", "));
}
- return result.arg(typeName<qsreal>(), set.join(QString()));
+ return result.arg(typeName<qsreal>(),
+ tagSet.join(QString()),
+ valueSet.join(QString()),
+ QString::number(list.count()));
}
static QString generateCompareDef(const QString& comparisionType, const QList<QString> tags)
@@ -358,11 +457,14 @@ static QString generateCompareDef(const QString& comparisionType, const QList<QS
" initScriptValues();\n"\
"}\n"\
"\n"\
+ "static QString %1_array [] = {%2};\n\n"\
"void tst_QScriptValue::%1_makeData(const char *expr)\n"\
"{\n"\
" static QSet<QString> equals;\n"\
" if (equals.isEmpty()) {\n"\
- "%2\n"\
+ " equals.reserve(%3);\n"\
+ " for (unsigned i = 0; i < %3; ++i)\n"\
+ " equals.insert(%1_array[i]);\n"\
" }\n"\
" QHash<QString, QScriptValue>::const_iterator it;\n"\
" for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {\n"\
@@ -386,59 +488,16 @@ static QString generateCompareDef(const QString& comparisionType, const QList<QS
QString result = templ;
QStringList set;
+ set.reserve(tags.count());
foreach(const QString& tmp, tags) {
- set.append(" equals.insert(\"" + escape(tmp) + "\");");
+ set.append("\n \"" + escape(tmp) + "\",");
}
- return result.arg(comparisionType, set.join("\n"));
+ return result.arg(comparisionType, set.join(""), QString::number(tags.count()));
}
static QString generateInitDef(const QVector<QString>& allDataTags)
{
- static const QString templ = "/****************************************************************************\n"
- "**\n"
- "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n"
- "** All rights reserved.\n"
- "** Contact: Nokia Corporation (qt-info@nokia.com)\n"
- "**\n"
- "** This file is part of the test suite of the Qt Toolkit.\n"
- "**\n"
- "** $QT_BEGIN_LICENSE:LGPL$\n"
- "** No Commercial Usage\n"
- "** This file contains pre-release code and may not be distributed.\n"
- "** You may use this file in accordance with the terms and conditions\n"
- "** contained in the Technology Preview License Agreement accompanying\n"
- "** this package.\n"
- "**\n"
- "** GNU Lesser General Public License Usage\n"
- "** Alternatively, this file may be used under the terms of the GNU Lesser\n"
- "** General Public License version 2.1 as published by the Free Software\n"
- "** Foundation and appearing in the file LICENSE.LGPL included in the\n"
- "** packaging of this file. Please review the following information to\n"
- "** ensure the GNU Lesser General Public License version 2.1 requirements\n"
- "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n"
- "**\n"
- "** In addition, as a special exception, Nokia gives you certain additional\n"
- "** rights. These rights are described in the Nokia Qt LGPL Exception\n"
- "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n"
- "**\n"
- "** If you have questions regarding the use of this file, please contact\n"
- "** Nokia at qt-info@nokia.com.\n"
- "**\n"
- "**\n"
- "**\n"
- "**\n"
- "**\n"
- "**\n"
- "**\n"
- "**\n"
- "** $QT_END_LICENSE$\n"
- "**\n"
- "****************************************************************************/\n"
- "\n"\
- "#include \"tst_qscriptvalue.h\"\n\n"\
- "#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)\n"\
- "\n"\
- "void tst_QScriptValue::initScriptValues()\n"\
+ static const QString templ = "void tst_QScriptValue::initScriptValues()\n"\
"{\n"\
" m_values.clear();\n"\
" if (engine) \n"\
@@ -463,7 +522,7 @@ static void squashTags(QString dataTag, const QVector<bool>& results, QList<QStr
}
-QString TestGenerator::generateTest()
+QHash<QString, QString> TestGenerator::generateTest()
{
// All data tags keept in one place.
QVector<QString> dataTags;
@@ -643,47 +702,63 @@ QString TestGenerator::generateTest()
Q_ASSERT(in.atEnd());
// Generate.
- QStringList result;
- result.append(generateInitDef(dataTags));
- result.append(generateIsXXXDef("isValid", isValidList));
- result.append(generateIsXXXDef("isBool", isBoolList));
- result.append(generateIsXXXDef("isBoolean", isBooleanList));
- result.append(generateIsXXXDef("isNumber", isNumberList));
- result.append(generateIsXXXDef("isFunction", isFunctionList));
- result.append(generateIsXXXDef("isNull", isNullList));
- result.append(generateIsXXXDef("isString", isStringList));
- result.append(generateIsXXXDef("isUndefined", isUndefinedList));
- result.append(generateIsXXXDef("isVariant", isVariantList));
- result.append(generateIsXXXDef("isQObject", isQObjectList));
- result.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList));
- result.append(generateIsXXXDef("isObject", isObjectList));
- result.append(generateIsXXXDef("isDate", isDateList));
- result.append(generateIsXXXDef("isRegExp", isRegExpList));
- result.append(generateIsXXXDef("isArray", isArrayList));
- result.append(generateIsXXXDef("isError", isErrorList));
-
- result.append(generateToXXXDef<QString>("toString", toStringList));
- result.append(generateToXXXDef<qsreal>("toNumber", toNumberList));
- result.append(generateToXXXDef<bool>("toBool", toBoolList));
- result.append(generateToXXXDef<bool>("toBoolean", toBooleanList));
- result.append(generateToXXXDef<qsreal>("toInteger", toIntegerList));
- result.append(generateToXXXDef<qint32>("toInt32", toInt32List));
- result.append(generateToXXXDef<quint32>("toUInt32", toUInt32List));
- result.append(generateToXXXDef<quint16>("toUInt16", toUInt16List));
-
- result.append(generateCompareDef("equals", equalsList));
- result.append(generateCompareDef("strictlyEquals", strictlyEqualsList));
- result.append(generateCompareDef("lessThan", lessThanList));
- result.append(generateCompareDef("instanceOf", instanceOfList));
-
- result.append(generateCastDef(castStringList));
- result.append(generateCastDef(castSRealList));
- result.append(generateCastDef(castBoolList));
- result.append(generateCastDef(castInt32List));
- result.append(generateCastDef(castUInt32List));
- result.append(generateCastDef(castUInt16List));
-
- return result.join("\n");
+ QHash<QString, QString> result;
+ QStringList tmp;
+ tmp.append(generateLicence());
+ tmp.append(generateInitDef(dataTags));
+ result.insert("init", tmp.join("\n"));
+ tmp.clear();
+
+ tmp.append(generateLicence());
+ tmp.append(generateIsXXXDef("isValid", isValidList));
+ tmp.append(generateIsXXXDef("isBool", isBoolList));
+ tmp.append(generateIsXXXDef("isBoolean", isBooleanList));
+ tmp.append(generateIsXXXDef("isNumber", isNumberList));
+ tmp.append(generateIsXXXDef("isFunction", isFunctionList));
+ tmp.append(generateIsXXXDef("isNull", isNullList));
+ tmp.append(generateIsXXXDef("isString", isStringList));
+ tmp.append(generateIsXXXDef("isUndefined", isUndefinedList));
+ tmp.append(generateIsXXXDef("isVariant", isVariantList));
+ tmp.append(generateIsXXXDef("isQObject", isQObjectList));
+ tmp.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList));
+ tmp.append(generateIsXXXDef("isObject", isObjectList));
+ tmp.append(generateIsXXXDef("isDate", isDateList));
+ tmp.append(generateIsXXXDef("isRegExp", isRegExpList));
+ tmp.append(generateIsXXXDef("isArray", isArrayList));
+ tmp.append(generateIsXXXDef("isError", isErrorList));
+ result.insert("isXXX", tmp.join("\n"));
+ tmp.clear();
+
+ tmp.append(generateLicence());
+ tmp.append(generateToXXXDef<QString>("toString", toStringList));
+ tmp.append(generateToXXXDef<qsreal>("toNumber", toNumberList));
+ tmp.append(generateToXXXDef<bool>("toBool", toBoolList));
+ tmp.append(generateToXXXDef<bool>("toBoolean", toBooleanList));
+ tmp.append(generateToXXXDef<qsreal>("toInteger", toIntegerList));
+ tmp.append(generateToXXXDef<qint32>("toInt32", toInt32List));
+ tmp.append(generateToXXXDef<quint32>("toUInt32", toUInt32List));
+ tmp.append(generateToXXXDef<quint16>("toUInt16", toUInt16List));
+ result.insert("toXXX", tmp.join("\n"));
+ tmp.clear();
+
+ tmp.append(generateLicence());
+ tmp.append(generateCompareDef("equals", equalsList));
+ tmp.append(generateCompareDef("strictlyEquals", strictlyEqualsList));
+ tmp.append(generateCompareDef("lessThan", lessThanList));
+ tmp.append(generateCompareDef("instanceOf", instanceOfList));
+ result.insert("comparison", tmp.join("\n"));
+ tmp.clear();
+
+ tmp.append(generateLicence());
+ tmp.append(generateCastDef(castStringList));
+ tmp.append(generateCastDef(castSRealList));
+ tmp.append(generateCastDef(castBoolList));
+ tmp.append(generateCastDef(castInt32List));
+ tmp.append(generateCastDef(castUInt32List));
+ tmp.append(generateCastDef(castUInt16List));
+ result.insert("cast", tmp.join("\n"));
+
+ return result;
}
diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.h b/tests/auto/qscriptvalue/testgen/testgenerator.h
index 8f4a357656..1c61fc55dd 100644
--- a/tests/auto/qscriptvalue/testgen/testgenerator.h
+++ b/tests/auto/qscriptvalue/testgen/testgenerator.h
@@ -49,13 +49,10 @@
class TestGenerator {
public:
TestGenerator(QString& outputpath)
- : m_ofile(outputpath)
+ : m_opath(outputpath)
{
- // Open output file
- if (!m_ofile.open(QIODevice::WriteOnly | QIODevice::Text)) {
- qWarning() << "Can't open output file: " << outputpath;
- exit(2);
- }
+ if (!m_opath.endsWith('/'))
+ m_opath.append('/');
m_tempFile.open();
}
@@ -67,10 +64,10 @@ public:
}
void prepareData();
- QString generateTest();
- void save(const QString& data);
+ QHash<QString, QString> generateTest();
+ void save(const QHash<QString, QString>& data);
private:
- QFile m_ofile;
+ QString m_opath;
QTemporaryFile m_tempFile;
};
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h
index a5c7b45630..aae35b22ee 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.h
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h
@@ -49,6 +49,8 @@
#include <QtScript/qscriptvalue.h>
#include <QtTest/QtTest>
+#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)
+
Q_DECLARE_METATYPE(QVariant)
Q_DECLARE_METATYPE(QScriptValue)
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp
deleted file mode 100644
index a07ff4b682..0000000000
--- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp
+++ /dev/null
@@ -1,10221 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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 "tst_qscriptvalue.h"
-
-#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)
-
-void tst_QScriptValue::initScriptValues()
-{
- m_values.clear();
- if (engine)
- delete engine;
- engine = new QScriptEngine;
- DEFINE_TEST_VALUE(QScriptValue());
- DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(true));
- DEFINE_TEST_VALUE(QScriptValue(false));
- DEFINE_TEST_VALUE(QScriptValue(int(122)));
- DEFINE_TEST_VALUE(QScriptValue(uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(0));
- DEFINE_TEST_VALUE(QScriptValue(0.0));
- DEFINE_TEST_VALUE(QScriptValue(123.0));
- DEFINE_TEST_VALUE(QScriptValue(6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(-6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(0x10000));
- DEFINE_TEST_VALUE(QScriptValue(0x10001));
- DEFINE_TEST_VALUE(QScriptValue(qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(qInf()));
- DEFINE_TEST_VALUE(QScriptValue(-qInf()));
- DEFINE_TEST_VALUE(QScriptValue("NaN"));
- DEFINE_TEST_VALUE(QScriptValue("Infinity"));
- DEFINE_TEST_VALUE(QScriptValue("-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue("ciao"));
- DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(QString("")));
- DEFINE_TEST_VALUE(QScriptValue(QString()));
- DEFINE_TEST_VALUE(QScriptValue(QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(QString("12.4")));
- DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(0, true));
- DEFINE_TEST_VALUE(QScriptValue(0, false));
- DEFINE_TEST_VALUE(QScriptValue(0, int(122)));
- DEFINE_TEST_VALUE(QScriptValue(0, uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(0, 0));
- DEFINE_TEST_VALUE(QScriptValue(0, 0.0));
- DEFINE_TEST_VALUE(QScriptValue(0, 123.0));
- DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x10000));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x10001));
- DEFINE_TEST_VALUE(QScriptValue(0, qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(0, qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(0, qInf()));
- DEFINE_TEST_VALUE(QScriptValue(0, -qInf()));
- DEFINE_TEST_VALUE(QScriptValue(0, "NaN"));
- DEFINE_TEST_VALUE(QScriptValue(0, "Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(0, "ciao"));
- DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString()));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(engine, true));
- DEFINE_TEST_VALUE(QScriptValue(engine, false));
- DEFINE_TEST_VALUE(QScriptValue(engine, int(122)));
- DEFINE_TEST_VALUE(QScriptValue(engine, uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0.0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 123.0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001));
- DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(engine, qInf()));
- DEFINE_TEST_VALUE(QScriptValue(engine, -qInf()));
- DEFINE_TEST_VALUE(QScriptValue(engine, "NaN"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "ciao"));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString()));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23")));
- DEFINE_TEST_VALUE(engine->evaluate("[]"));
- DEFINE_TEST_VALUE(engine->evaluate("{}"));
- DEFINE_TEST_VALUE(engine->evaluate("Object.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Date.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Array.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Function.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Error.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Object"));
- DEFINE_TEST_VALUE(engine->evaluate("Array"));
- DEFINE_TEST_VALUE(engine->evaluate("Number"));
- DEFINE_TEST_VALUE(engine->evaluate("Function"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })"));
- DEFINE_TEST_VALUE(engine->evaluate("/foo/"));
- DEFINE_TEST_VALUE(engine->evaluate("new Object()"));
- DEFINE_TEST_VALUE(engine->evaluate("new Array()"));
- DEFINE_TEST_VALUE(engine->evaluate("new Error()"));
- DEFINE_TEST_VALUE(engine->evaluate("a = new Object(); a.foo = 22; a.foo"));
- DEFINE_TEST_VALUE(engine->evaluate("Undefined"));
- DEFINE_TEST_VALUE(engine->evaluate("Null"));
- DEFINE_TEST_VALUE(engine->evaluate("True"));
- DEFINE_TEST_VALUE(engine->evaluate("False"));
- DEFINE_TEST_VALUE(engine->evaluate("undefined"));
- DEFINE_TEST_VALUE(engine->evaluate("null"));
- DEFINE_TEST_VALUE(engine->evaluate("true"));
- DEFINE_TEST_VALUE(engine->evaluate("false"));
- DEFINE_TEST_VALUE(engine->evaluate("122"));
- DEFINE_TEST_VALUE(engine->evaluate("124"));
- DEFINE_TEST_VALUE(engine->evaluate("0"));
- DEFINE_TEST_VALUE(engine->evaluate("0.0"));
- DEFINE_TEST_VALUE(engine->evaluate("123.0"));
- DEFINE_TEST_VALUE(engine->evaluate("6.37e-8"));
- DEFINE_TEST_VALUE(engine->evaluate("-6.37e-8"));
- DEFINE_TEST_VALUE(engine->evaluate("0x43211234"));
- DEFINE_TEST_VALUE(engine->evaluate("0x10000"));
- DEFINE_TEST_VALUE(engine->evaluate("0x10001"));
- DEFINE_TEST_VALUE(engine->evaluate("NaN"));
- DEFINE_TEST_VALUE(engine->evaluate("Infinity"));
- DEFINE_TEST_VALUE(engine->evaluate("-Infinity"));
- DEFINE_TEST_VALUE(engine->evaluate("'ciao'"));
- DEFINE_TEST_VALUE(engine->evaluate("''"));
- DEFINE_TEST_VALUE(engine->evaluate("'0'"));
- DEFINE_TEST_VALUE(engine->evaluate("'123'"));
- DEFINE_TEST_VALUE(engine->evaluate("'12.4'"));
- DEFINE_TEST_VALUE(engine->nullValue());
- DEFINE_TEST_VALUE(engine->undefinedValue());
- DEFINE_TEST_VALUE(engine->newObject());
- DEFINE_TEST_VALUE(engine->newArray());
- DEFINE_TEST_VALUE(engine->newArray(10));
- DEFINE_TEST_VALUE(engine->newDate(QDateTime()));
- DEFINE_TEST_VALUE(engine->newQMetaObject(&QObject::staticMetaObject));
- DEFINE_TEST_VALUE(engine->newVariant(QVariant()));
- DEFINE_TEST_VALUE(engine->newVariant(QVariant(123)));
- DEFINE_TEST_VALUE(engine->newVariant(QVariant(false)));
- DEFINE_TEST_VALUE(engine->newQObject(0));
- DEFINE_TEST_VALUE(engine->newQObject(engine));
-}
-
-
-void tst_QScriptValue::isValid_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isValid_makeData(const char* expr)
-{
- static QSet<QString> isValid;
- if (isValid.isEmpty()) {
- isValid << "QScriptValue(QScriptValue::UndefinedValue)"
- << "QScriptValue(QScriptValue::NullValue)"
- << "QScriptValue(true)"
- << "QScriptValue(false)"
- << "QScriptValue(int(122))"
- << "QScriptValue(uint(124))"
- << "QScriptValue(0)"
- << "QScriptValue(0.0)"
- << "QScriptValue(123.0)"
- << "QScriptValue(6.37e-8)"
- << "QScriptValue(-6.37e-8)"
- << "QScriptValue(0x43211234)"
- << "QScriptValue(0x10000)"
- << "QScriptValue(0x10001)"
- << "QScriptValue(qSNaN())"
- << "QScriptValue(qQNaN())"
- << "QScriptValue(qInf())"
- << "QScriptValue(-qInf())"
- << "QScriptValue(\"NaN\")"
- << "QScriptValue(\"Infinity\")"
- << "QScriptValue(\"-Infinity\")"
- << "QScriptValue(\"ciao\")"
- << "QScriptValue(QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(QString(\"\"))"
- << "QScriptValue(QString())"
- << "QScriptValue(QString(\"0\"))"
- << "QScriptValue(QString(\"123\"))"
- << "QScriptValue(QString(\"12.4\"))"
- << "QScriptValue(0, QScriptValue::UndefinedValue)"
- << "QScriptValue(0, QScriptValue::NullValue)"
- << "QScriptValue(0, true)"
- << "QScriptValue(0, false)"
- << "QScriptValue(0, int(122))"
- << "QScriptValue(0, uint(124))"
- << "QScriptValue(0, 0)"
- << "QScriptValue(0, 0.0)"
- << "QScriptValue(0, 123.0)"
- << "QScriptValue(0, 6.37e-8)"
- << "QScriptValue(0, -6.37e-8)"
- << "QScriptValue(0, 0x43211234)"
- << "QScriptValue(0, 0x10000)"
- << "QScriptValue(0, 0x10001)"
- << "QScriptValue(0, qSNaN())"
- << "QScriptValue(0, qQNaN())"
- << "QScriptValue(0, qInf())"
- << "QScriptValue(0, -qInf())"
- << "QScriptValue(0, \"NaN\")"
- << "QScriptValue(0, \"Infinity\")"
- << "QScriptValue(0, \"-Infinity\")"
- << "QScriptValue(0, \"ciao\")"
- << "QScriptValue(0, QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(0, QString(\"\"))"
- << "QScriptValue(0, QString())"
- << "QScriptValue(0, QString(\"0\"))"
- << "QScriptValue(0, QString(\"123\"))"
- << "QScriptValue(0, QString(\"12.3\"))"
- << "QScriptValue(engine, QScriptValue::UndefinedValue)"
- << "QScriptValue(engine, QScriptValue::NullValue)"
- << "QScriptValue(engine, true)"
- << "QScriptValue(engine, false)"
- << "QScriptValue(engine, int(122))"
- << "QScriptValue(engine, uint(124))"
- << "QScriptValue(engine, 0)"
- << "QScriptValue(engine, 0.0)"
- << "QScriptValue(engine, 123.0)"
- << "QScriptValue(engine, 6.37e-8)"
- << "QScriptValue(engine, -6.37e-8)"
- << "QScriptValue(engine, 0x43211234)"
- << "QScriptValue(engine, 0x10000)"
- << "QScriptValue(engine, 0x10001)"
- << "QScriptValue(engine, qSNaN())"
- << "QScriptValue(engine, qQNaN())"
- << "QScriptValue(engine, qInf())"
- << "QScriptValue(engine, -qInf())"
- << "QScriptValue(engine, \"NaN\")"
- << "QScriptValue(engine, \"Infinity\")"
- << "QScriptValue(engine, \"-Infinity\")"
- << "QScriptValue(engine, \"ciao\")"
- << "QScriptValue(engine, QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(engine, QString(\"\"))"
- << "QScriptValue(engine, QString())"
- << "QScriptValue(engine, QString(\"0\"))"
- << "QScriptValue(engine, QString(\"123\"))"
- << "QScriptValue(engine, QString(\"1.23\"))"
- << "engine->evaluate(\"[]\")"
- << "engine->evaluate(\"{}\")"
- << "engine->evaluate(\"Object.prototype\")"
- << "engine->evaluate(\"Date.prototype\")"
- << "engine->evaluate(\"Array.prototype\")"
- << "engine->evaluate(\"Function.prototype\")"
- << "engine->evaluate(\"Error.prototype\")"
- << "engine->evaluate(\"Object\")"
- << "engine->evaluate(\"Array\")"
- << "engine->evaluate(\"Number\")"
- << "engine->evaluate(\"Function\")"
- << "engine->evaluate(\"(function() { return 1; })\")"
- << "engine->evaluate(\"(function() { return 'ciao'; })\")"
- << "engine->evaluate(\"(function() { throw new Error('foo'); })\")"
- << "engine->evaluate(\"/foo/\")"
- << "engine->evaluate(\"new Object()\")"
- << "engine->evaluate(\"new Array()\")"
- << "engine->evaluate(\"new Error()\")"
- << "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")"
- << "engine->evaluate(\"Undefined\")"
- << "engine->evaluate(\"Null\")"
- << "engine->evaluate(\"True\")"
- << "engine->evaluate(\"False\")"
- << "engine->evaluate(\"undefined\")"
- << "engine->evaluate(\"null\")"
- << "engine->evaluate(\"true\")"
- << "engine->evaluate(\"false\")"
- << "engine->evaluate(\"122\")"
- << "engine->evaluate(\"124\")"
- << "engine->evaluate(\"0\")"
- << "engine->evaluate(\"0.0\")"
- << "engine->evaluate(\"123.0\")"
- << "engine->evaluate(\"6.37e-8\")"
- << "engine->evaluate(\"-6.37e-8\")"
- << "engine->evaluate(\"0x43211234\")"
- << "engine->evaluate(\"0x10000\")"
- << "engine->evaluate(\"0x10001\")"
- << "engine->evaluate(\"NaN\")"
- << "engine->evaluate(\"Infinity\")"
- << "engine->evaluate(\"-Infinity\")"
- << "engine->evaluate(\"'ciao'\")"
- << "engine->evaluate(\"''\")"
- << "engine->evaluate(\"'0'\")"
- << "engine->evaluate(\"'123'\")"
- << "engine->evaluate(\"'12.4'\")"
- << "engine->nullValue()"
- << "engine->undefinedValue()"
- << "engine->newObject()"
- << "engine->newArray()"
- << "engine->newArray(10)"
- << "engine->newDate(QDateTime())"
- << "engine->newQMetaObject(&QObject::staticMetaObject)"
- << "engine->newVariant(QVariant())"
- << "engine->newVariant(QVariant(123))"
- << "engine->newVariant(QVariant(false))"
- << "engine->newQObject(0)"
- << "engine->newQObject(engine)"
- ;
- }
- newRow(expr) << isValid.contains(expr);
-}
-
-void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isValid(), expected);
- QCOMPARE(value.isValid(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isValid)
-
-
-void tst_QScriptValue::isBool_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isBool_makeData(const char* expr)
-{
- static QSet<QString> isBool;
- if (isBool.isEmpty()) {
- isBool << "QScriptValue(true)"
- << "QScriptValue(false)"
- << "QScriptValue(0, true)"
- << "QScriptValue(0, false)"
- << "QScriptValue(engine, true)"
- << "QScriptValue(engine, false)"
- << "engine->evaluate(\"true\")"
- << "engine->evaluate(\"false\")"
- ;
- }
- newRow(expr) << isBool.contains(expr);
-}
-
-void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isBool(), expected);
- QCOMPARE(value.isBool(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isBool)
-
-
-void tst_QScriptValue::isBoolean_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isBoolean_makeData(const char* expr)
-{
- static QSet<QString> isBoolean;
- if (isBoolean.isEmpty()) {
- isBoolean << "QScriptValue(true)"
- << "QScriptValue(false)"
- << "QScriptValue(0, true)"
- << "QScriptValue(0, false)"
- << "QScriptValue(engine, true)"
- << "QScriptValue(engine, false)"
- << "engine->evaluate(\"true\")"
- << "engine->evaluate(\"false\")"
- ;
- }
- newRow(expr) << isBoolean.contains(expr);
-}
-
-void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isBoolean(), expected);
- QCOMPARE(value.isBoolean(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isBoolean)
-
-
-void tst_QScriptValue::isNumber_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isNumber_makeData(const char* expr)
-{
- static QSet<QString> isNumber;
- if (isNumber.isEmpty()) {
- isNumber << "QScriptValue(int(122))"
- << "QScriptValue(uint(124))"
- << "QScriptValue(0)"
- << "QScriptValue(0.0)"
- << "QScriptValue(123.0)"
- << "QScriptValue(6.37e-8)"
- << "QScriptValue(-6.37e-8)"
- << "QScriptValue(0x43211234)"
- << "QScriptValue(0x10000)"
- << "QScriptValue(0x10001)"
- << "QScriptValue(qSNaN())"
- << "QScriptValue(qQNaN())"
- << "QScriptValue(qInf())"
- << "QScriptValue(-qInf())"
- << "QScriptValue(0, int(122))"
- << "QScriptValue(0, uint(124))"
- << "QScriptValue(0, 0)"
- << "QScriptValue(0, 0.0)"
- << "QScriptValue(0, 123.0)"
- << "QScriptValue(0, 6.37e-8)"
- << "QScriptValue(0, -6.37e-8)"
- << "QScriptValue(0, 0x43211234)"
- << "QScriptValue(0, 0x10000)"
- << "QScriptValue(0, 0x10001)"
- << "QScriptValue(0, qSNaN())"
- << "QScriptValue(0, qQNaN())"
- << "QScriptValue(0, qInf())"
- << "QScriptValue(0, -qInf())"
- << "QScriptValue(engine, int(122))"
- << "QScriptValue(engine, uint(124))"
- << "QScriptValue(engine, 0)"
- << "QScriptValue(engine, 0.0)"
- << "QScriptValue(engine, 123.0)"
- << "QScriptValue(engine, 6.37e-8)"
- << "QScriptValue(engine, -6.37e-8)"
- << "QScriptValue(engine, 0x43211234)"
- << "QScriptValue(engine, 0x10000)"
- << "QScriptValue(engine, 0x10001)"
- << "QScriptValue(engine, qSNaN())"
- << "QScriptValue(engine, qQNaN())"
- << "QScriptValue(engine, qInf())"
- << "QScriptValue(engine, -qInf())"
- << "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")"
- << "engine->evaluate(\"122\")"
- << "engine->evaluate(\"124\")"
- << "engine->evaluate(\"0\")"
- << "engine->evaluate(\"0.0\")"
- << "engine->evaluate(\"123.0\")"
- << "engine->evaluate(\"6.37e-8\")"
- << "engine->evaluate(\"-6.37e-8\")"
- << "engine->evaluate(\"0x43211234\")"
- << "engine->evaluate(\"0x10000\")"
- << "engine->evaluate(\"0x10001\")"
- << "engine->evaluate(\"NaN\")"
- << "engine->evaluate(\"Infinity\")"
- << "engine->evaluate(\"-Infinity\")"
- ;
- }
- newRow(expr) << isNumber.contains(expr);
-}
-
-void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isNumber(), expected);
- QCOMPARE(value.isNumber(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isNumber)
-
-
-void tst_QScriptValue::isFunction_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isFunction_makeData(const char* expr)
-{
- static QSet<QString> isFunction;
- if (isFunction.isEmpty()) {
- isFunction << "engine->evaluate(\"Function.prototype\")"
- << "engine->evaluate(\"Object\")"
- << "engine->evaluate(\"Array\")"
- << "engine->evaluate(\"Number\")"
- << "engine->evaluate(\"Function\")"
- << "engine->evaluate(\"(function() { return 1; })\")"
- << "engine->evaluate(\"(function() { return 'ciao'; })\")"
- << "engine->evaluate(\"(function() { throw new Error('foo'); })\")"
- << "engine->evaluate(\"/foo/\")"
- << "engine->newQMetaObject(&QObject::staticMetaObject)"
- ;
- }
- newRow(expr) << isFunction.contains(expr);
-}
-
-void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isFunction(), expected);
- QCOMPARE(value.isFunction(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isFunction)
-
-
-void tst_QScriptValue::isNull_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isNull_makeData(const char* expr)
-{
- static QSet<QString> isNull;
- if (isNull.isEmpty()) {
- isNull << "QScriptValue(QScriptValue::NullValue)"
- << "QScriptValue(0, QScriptValue::NullValue)"
- << "QScriptValue(engine, QScriptValue::NullValue)"
- << "engine->evaluate(\"null\")"
- << "engine->nullValue()"
- << "engine->newQObject(0)"
- ;
- }
- newRow(expr) << isNull.contains(expr);
-}
-
-void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isNull(), expected);
- QCOMPARE(value.isNull(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isNull)
-
-
-void tst_QScriptValue::isString_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isString_makeData(const char* expr)
-{
- static QSet<QString> isString;
- if (isString.isEmpty()) {
- isString << "QScriptValue(\"NaN\")"
- << "QScriptValue(\"Infinity\")"
- << "QScriptValue(\"-Infinity\")"
- << "QScriptValue(\"ciao\")"
- << "QScriptValue(QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(QString(\"\"))"
- << "QScriptValue(QString())"
- << "QScriptValue(QString(\"0\"))"
- << "QScriptValue(QString(\"123\"))"
- << "QScriptValue(QString(\"12.4\"))"
- << "QScriptValue(0, \"NaN\")"
- << "QScriptValue(0, \"Infinity\")"
- << "QScriptValue(0, \"-Infinity\")"
- << "QScriptValue(0, \"ciao\")"
- << "QScriptValue(0, QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(0, QString(\"\"))"
- << "QScriptValue(0, QString())"
- << "QScriptValue(0, QString(\"0\"))"
- << "QScriptValue(0, QString(\"123\"))"
- << "QScriptValue(0, QString(\"12.3\"))"
- << "QScriptValue(engine, \"NaN\")"
- << "QScriptValue(engine, \"Infinity\")"
- << "QScriptValue(engine, \"-Infinity\")"
- << "QScriptValue(engine, \"ciao\")"
- << "QScriptValue(engine, QString::fromLatin1(\"ciao\"))"
- << "QScriptValue(engine, QString(\"\"))"
- << "QScriptValue(engine, QString())"
- << "QScriptValue(engine, QString(\"0\"))"
- << "QScriptValue(engine, QString(\"123\"))"
- << "QScriptValue(engine, QString(\"1.23\"))"
- << "engine->evaluate(\"'ciao'\")"
- << "engine->evaluate(\"''\")"
- << "engine->evaluate(\"'0'\")"
- << "engine->evaluate(\"'123'\")"
- << "engine->evaluate(\"'12.4'\")"
- ;
- }
- newRow(expr) << isString.contains(expr);
-}
-
-void tst_QScriptValue::isString_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isString(), expected);
- QCOMPARE(value.isString(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isString)
-
-
-void tst_QScriptValue::isUndefined_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isUndefined_makeData(const char* expr)
-{
- static QSet<QString> isUndefined;
- if (isUndefined.isEmpty()) {
- isUndefined << "QScriptValue(QScriptValue::UndefinedValue)"
- << "QScriptValue(0, QScriptValue::UndefinedValue)"
- << "QScriptValue(engine, QScriptValue::UndefinedValue)"
- << "engine->evaluate(\"{}\")"
- << "engine->evaluate(\"undefined\")"
- << "engine->undefinedValue()"
- ;
- }
- newRow(expr) << isUndefined.contains(expr);
-}
-
-void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isUndefined(), expected);
- QCOMPARE(value.isUndefined(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isUndefined)
-
-
-void tst_QScriptValue::isVariant_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isVariant_makeData(const char* expr)
-{
- static QSet<QString> isVariant;
- if (isVariant.isEmpty()) {
- isVariant << "engine->newVariant(QVariant())"
- << "engine->newVariant(QVariant(123))"
- << "engine->newVariant(QVariant(false))"
- ;
- }
- newRow(expr) << isVariant.contains(expr);
-}
-
-void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isVariant(), expected);
- QCOMPARE(value.isVariant(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isVariant)
-
-
-void tst_QScriptValue::isQObject_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isQObject_makeData(const char* expr)
-{
- static QSet<QString> isQObject;
- if (isQObject.isEmpty()) {
- isQObject << "engine->newQObject(engine)"
- ;
- }
- newRow(expr) << isQObject.contains(expr);
-}
-
-void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isQObject(), expected);
- QCOMPARE(value.isQObject(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isQObject)
-
-
-void tst_QScriptValue::isQMetaObject_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isQMetaObject_makeData(const char* expr)
-{
- static QSet<QString> isQMetaObject;
- if (isQMetaObject.isEmpty()) {
- isQMetaObject << "engine->newQMetaObject(&QObject::staticMetaObject)"
- ;
- }
- newRow(expr) << isQMetaObject.contains(expr);
-}
-
-void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isQMetaObject(), expected);
- QCOMPARE(value.isQMetaObject(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isQMetaObject)
-
-
-void tst_QScriptValue::isObject_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isObject_makeData(const char* expr)
-{
- static QSet<QString> isObject;
- if (isObject.isEmpty()) {
- isObject << "engine->evaluate(\"[]\")"
- << "engine->evaluate(\"Object.prototype\")"
- << "engine->evaluate(\"Date.prototype\")"
- << "engine->evaluate(\"Array.prototype\")"
- << "engine->evaluate(\"Function.prototype\")"
- << "engine->evaluate(\"Error.prototype\")"
- << "engine->evaluate(\"Object\")"
- << "engine->evaluate(\"Array\")"
- << "engine->evaluate(\"Number\")"
- << "engine->evaluate(\"Function\")"
- << "engine->evaluate(\"(function() { return 1; })\")"
- << "engine->evaluate(\"(function() { return 'ciao'; })\")"
- << "engine->evaluate(\"(function() { throw new Error('foo'); })\")"
- << "engine->evaluate(\"/foo/\")"
- << "engine->evaluate(\"new Object()\")"
- << "engine->evaluate(\"new Array()\")"
- << "engine->evaluate(\"new Error()\")"
- << "engine->evaluate(\"Undefined\")"
- << "engine->evaluate(\"Null\")"
- << "engine->evaluate(\"True\")"
- << "engine->evaluate(\"False\")"
- << "engine->newObject()"
- << "engine->newArray()"
- << "engine->newArray(10)"
- << "engine->newDate(QDateTime())"
- << "engine->newQMetaObject(&QObject::staticMetaObject)"
- << "engine->newVariant(QVariant())"
- << "engine->newVariant(QVariant(123))"
- << "engine->newVariant(QVariant(false))"
- << "engine->newQObject(engine)"
- ;
- }
- newRow(expr) << isObject.contains(expr);
-}
-
-void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isObject(), expected);
- QCOMPARE(value.isObject(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isObject)
-
-
-void tst_QScriptValue::isDate_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isDate_makeData(const char* expr)
-{
- static QSet<QString> isDate;
- if (isDate.isEmpty()) {
- isDate << "engine->evaluate(\"Date.prototype\")"
- << "engine->newDate(QDateTime())"
- ;
- }
- newRow(expr) << isDate.contains(expr);
-}
-
-void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isDate(), expected);
- QCOMPARE(value.isDate(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isDate)
-
-
-void tst_QScriptValue::isRegExp_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isRegExp_makeData(const char* expr)
-{
- static QSet<QString> isRegExp;
- if (isRegExp.isEmpty()) {
- isRegExp << "engine->evaluate(\"/foo/\")"
- ;
- }
- newRow(expr) << isRegExp.contains(expr);
-}
-
-void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isRegExp(), expected);
- QCOMPARE(value.isRegExp(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isRegExp)
-
-
-void tst_QScriptValue::isArray_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isArray_makeData(const char* expr)
-{
- static QSet<QString> isArray;
- if (isArray.isEmpty()) {
- isArray << "engine->evaluate(\"[]\")"
- << "engine->evaluate(\"Array.prototype\")"
- << "engine->evaluate(\"new Array()\")"
- << "engine->newArray()"
- << "engine->newArray(10)"
- ;
- }
- newRow(expr) << isArray.contains(expr);
-}
-
-void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isArray(), expected);
- QCOMPARE(value.isArray(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isArray)
-
-
-void tst_QScriptValue::isError_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isError_makeData(const char* expr)
-{
- static QSet<QString> isError;
- if (isError.isEmpty()) {
- isError << "engine->evaluate(\"Error.prototype\")"
- << "engine->evaluate(\"new Error()\")"
- << "engine->evaluate(\"Undefined\")"
- << "engine->evaluate(\"Null\")"
- << "engine->evaluate(\"True\")"
- << "engine->evaluate(\"False\")"
- ;
- }
- newRow(expr) << isError.contains(expr);
-}
-
-void tst_QScriptValue::isError_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isError(), expected);
- QCOMPARE(value.isError(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isError)
-
-
-
-void tst_QScriptValue::toString_initData()
-{
- QTest::addColumn<QString>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toString_makeData(const char* expr)
-{
- static QHash<QString, QString> toString;
- if (toString.isEmpty()) {
- toString.insert("QScriptValue()", "");
- toString.insert("QScriptValue(QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(true)", "true");
- toString.insert("QScriptValue(false)", "false");
- toString.insert("QScriptValue(int(122))", "122");
- toString.insert("QScriptValue(uint(124))", "124");
- toString.insert("QScriptValue(0)", "0");
- toString.insert("QScriptValue(0.0)", "0");
- toString.insert("QScriptValue(123.0)", "123");
- toString.insert("QScriptValue(6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(-6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(0x43211234)", "1126240820");
- toString.insert("QScriptValue(0x10000)", "65536");
- toString.insert("QScriptValue(0x10001)", "65537");
- toString.insert("QScriptValue(qSNaN())", "NaN");
- toString.insert("QScriptValue(qQNaN())", "NaN");
- toString.insert("QScriptValue(qInf())", "Infinity");
- toString.insert("QScriptValue(-qInf())", "-Infinity");
- toString.insert("QScriptValue(\"NaN\")", "NaN");
- toString.insert("QScriptValue(\"Infinity\")", "Infinity");
- toString.insert("QScriptValue(\"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(\"ciao\")", "ciao");
- toString.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(QString(\"\"))", "");
- toString.insert("QScriptValue(QString())", "");
- toString.insert("QScriptValue(QString(\"0\"))", "0");
- toString.insert("QScriptValue(QString(\"123\"))", "123");
- toString.insert("QScriptValue(QString(\"12.4\"))", "12.4");
- toString.insert("QScriptValue(0, QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(0, QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(0, true)", "true");
- toString.insert("QScriptValue(0, false)", "false");
- toString.insert("QScriptValue(0, int(122))", "122");
- toString.insert("QScriptValue(0, uint(124))", "124");
- toString.insert("QScriptValue(0, 0)", "0");
- toString.insert("QScriptValue(0, 0.0)", "0");
- toString.insert("QScriptValue(0, 123.0)", "123");
- toString.insert("QScriptValue(0, 6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(0, 0x43211234)", "1126240820");
- toString.insert("QScriptValue(0, 0x10000)", "65536");
- toString.insert("QScriptValue(0, 0x10001)", "65537");
- toString.insert("QScriptValue(0, qSNaN())", "NaN");
- toString.insert("QScriptValue(0, qQNaN())", "NaN");
- toString.insert("QScriptValue(0, qInf())", "Infinity");
- toString.insert("QScriptValue(0, -qInf())", "-Infinity");
- toString.insert("QScriptValue(0, \"NaN\")", "NaN");
- toString.insert("QScriptValue(0, \"Infinity\")", "Infinity");
- toString.insert("QScriptValue(0, \"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(0, \"ciao\")", "ciao");
- toString.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(0, QString(\"\"))", "");
- toString.insert("QScriptValue(0, QString())", "");
- toString.insert("QScriptValue(0, QString(\"0\"))", "0");
- toString.insert("QScriptValue(0, QString(\"123\"))", "123");
- toString.insert("QScriptValue(0, QString(\"12.3\"))", "12.3");
- toString.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(engine, QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(engine, true)", "true");
- toString.insert("QScriptValue(engine, false)", "false");
- toString.insert("QScriptValue(engine, int(122))", "122");
- toString.insert("QScriptValue(engine, uint(124))", "124");
- toString.insert("QScriptValue(engine, 0)", "0");
- toString.insert("QScriptValue(engine, 0.0)", "0");
- toString.insert("QScriptValue(engine, 123.0)", "123");
- toString.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(engine, 0x43211234)", "1126240820");
- toString.insert("QScriptValue(engine, 0x10000)", "65536");
- toString.insert("QScriptValue(engine, 0x10001)", "65537");
- toString.insert("QScriptValue(engine, qSNaN())", "NaN");
- toString.insert("QScriptValue(engine, qQNaN())", "NaN");
- toString.insert("QScriptValue(engine, qInf())", "Infinity");
- toString.insert("QScriptValue(engine, -qInf())", "-Infinity");
- toString.insert("QScriptValue(engine, \"NaN\")", "NaN");
- toString.insert("QScriptValue(engine, \"Infinity\")", "Infinity");
- toString.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(engine, \"ciao\")", "ciao");
- toString.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(engine, QString(\"\"))", "");
- toString.insert("QScriptValue(engine, QString())", "");
- toString.insert("QScriptValue(engine, QString(\"0\"))", "0");
- toString.insert("QScriptValue(engine, QString(\"123\"))", "123");
- toString.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23");
- toString.insert("engine->evaluate(\"[]\")", "");
- toString.insert("engine->evaluate(\"{}\")", "undefined");
- toString.insert("engine->evaluate(\"Object.prototype\")", "[object Object]");
- toString.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date");
- toString.insert("engine->evaluate(\"Array.prototype\")", "");
- toString.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error");
- toString.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }");
- toString.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }");
- toString.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }");
- toString.insert("engine->evaluate(\"/foo/\")", "/foo/");
- toString.insert("engine->evaluate(\"new Object()\")", "[object Object]");
- toString.insert("engine->evaluate(\"new Array()\")", "");
- toString.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error");
- toString.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", "22");
- toString.insert("engine->evaluate(\"Undefined\")", "ReferenceError: Can't find variable: Undefined");
- toString.insert("engine->evaluate(\"Null\")", "ReferenceError: Can't find variable: Null");
- toString.insert("engine->evaluate(\"True\")", "ReferenceError: Can't find variable: True");
- toString.insert("engine->evaluate(\"False\")", "ReferenceError: Can't find variable: False");
- toString.insert("engine->evaluate(\"undefined\")", "undefined");
- toString.insert("engine->evaluate(\"null\")", "null");
- toString.insert("engine->evaluate(\"true\")", "true");
- toString.insert("engine->evaluate(\"false\")", "false");
- toString.insert("engine->evaluate(\"122\")", "122");
- toString.insert("engine->evaluate(\"124\")", "124");
- toString.insert("engine->evaluate(\"0\")", "0");
- toString.insert("engine->evaluate(\"0.0\")", "0");
- toString.insert("engine->evaluate(\"123.0\")", "123");
- toString.insert("engine->evaluate(\"6.37e-8\")", "6.37e-8");
- toString.insert("engine->evaluate(\"-6.37e-8\")", "-6.37e-8");
- toString.insert("engine->evaluate(\"0x43211234\")", "1126240820");
- toString.insert("engine->evaluate(\"0x10000\")", "65536");
- toString.insert("engine->evaluate(\"0x10001\")", "65537");
- toString.insert("engine->evaluate(\"NaN\")", "NaN");
- toString.insert("engine->evaluate(\"Infinity\")", "Infinity");
- toString.insert("engine->evaluate(\"-Infinity\")", "-Infinity");
- toString.insert("engine->evaluate(\"'ciao'\")", "ciao");
- toString.insert("engine->evaluate(\"''\")", "");
- toString.insert("engine->evaluate(\"'0'\")", "0");
- toString.insert("engine->evaluate(\"'123'\")", "123");
- toString.insert("engine->evaluate(\"'12.4'\")", "12.4");
- toString.insert("engine->nullValue()", "null");
- toString.insert("engine->undefinedValue()", "undefined");
- toString.insert("engine->newObject()", "[object Object]");
- toString.insert("engine->newArray()", "");
- toString.insert("engine->newArray(10)", ",,,,,,,,,");
- toString.insert("engine->newDate(QDateTime())", "Invalid Date");
- toString.insert("engine->newQMetaObject(&QObject::staticMetaObject)", "[object QMetaObject]");
- toString.insert("engine->newVariant(QVariant())", "undefined");
- toString.insert("engine->newVariant(QVariant(123))", "123");
- toString.insert("engine->newVariant(QVariant(false))", "false");
- toString.insert("engine->newQObject(0)", "null");
- toString.insert("engine->newQObject(engine)", "QScriptEngine(name = \"\")");
- }
- newRow(expr) << toString.value(expr);
-}
-
-void tst_QScriptValue::toString_test(const char*, const QScriptValue& value)
-{
- QFETCH(QString, expected);
- QCOMPARE(value.toString(), expected);
- QCOMPARE(value.toString(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toString)
-
-
-void tst_QScriptValue::toNumber_initData()
-{
- QTest::addColumn<qsreal>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toNumber_makeData(const char* expr)
-{
- static QHash<QString, qsreal> toNumber;
- if (toNumber.isEmpty()) {
- toNumber.insert("QScriptValue()", 0);
- toNumber.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(true)", 1);
- toNumber.insert("QScriptValue(false)", 0);
- toNumber.insert("QScriptValue(int(122))", 122);
- toNumber.insert("QScriptValue(uint(124))", 124);
- toNumber.insert("QScriptValue(0)", 0);
- toNumber.insert("QScriptValue(0.0)", 0);
- toNumber.insert("QScriptValue(123.0)", 123);
- toNumber.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(0x10000)", 65536);
- toNumber.insert("QScriptValue(0x10001)", 65537);
- toNumber.insert("QScriptValue(qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(qInf())", qInf());
- toNumber.insert("QScriptValue(-qInf())", qInf());
- toNumber.insert("QScriptValue(\"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(\"Infinity\")", qInf());
- toNumber.insert("QScriptValue(\"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(\"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(QString(\"\"))", 0);
- toNumber.insert("QScriptValue(QString())", 0);
- toNumber.insert("QScriptValue(QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(QString(\"12.4\"))", 12.4);
- toNumber.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(0, true)", 1);
- toNumber.insert("QScriptValue(0, false)", 0);
- toNumber.insert("QScriptValue(0, int(122))", 122);
- toNumber.insert("QScriptValue(0, uint(124))", 124);
- toNumber.insert("QScriptValue(0, 0)", 0);
- toNumber.insert("QScriptValue(0, 0.0)", 0);
- toNumber.insert("QScriptValue(0, 123.0)", 123);
- toNumber.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(0, 0x10000)", 65536);
- toNumber.insert("QScriptValue(0, 0x10001)", 65537);
- toNumber.insert("QScriptValue(0, qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(0, qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(0, qInf())", qInf());
- toNumber.insert("QScriptValue(0, -qInf())", qInf());
- toNumber.insert("QScriptValue(0, \"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(0, \"Infinity\")", qInf());
- toNumber.insert("QScriptValue(0, \"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(0, \"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(0, QString(\"\"))", 0);
- toNumber.insert("QScriptValue(0, QString())", 0);
- toNumber.insert("QScriptValue(0, QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(0, QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(0, QString(\"12.3\"))", 12.3);
- toNumber.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(engine, true)", 1);
- toNumber.insert("QScriptValue(engine, false)", 0);
- toNumber.insert("QScriptValue(engine, int(122))", 122);
- toNumber.insert("QScriptValue(engine, uint(124))", 124);
- toNumber.insert("QScriptValue(engine, 0)", 0);
- toNumber.insert("QScriptValue(engine, 0.0)", 0);
- toNumber.insert("QScriptValue(engine, 123.0)", 123);
- toNumber.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(engine, 0x10000)", 65536);
- toNumber.insert("QScriptValue(engine, 0x10001)", 65537);
- toNumber.insert("QScriptValue(engine, qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(engine, qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(engine, qInf())", qInf());
- toNumber.insert("QScriptValue(engine, -qInf())", qInf());
- toNumber.insert("QScriptValue(engine, \"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(engine, \"Infinity\")", qInf());
- toNumber.insert("QScriptValue(engine, \"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(engine, \"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(engine, QString(\"\"))", 0);
- toNumber.insert("QScriptValue(engine, QString())", 0);
- toNumber.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23);
- toNumber.insert("engine->evaluate(\"[]\")", 0);
- toNumber.insert("engine->evaluate(\"{}\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Object.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Date.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Array.prototype\")", 0);
- toNumber.insert("engine->evaluate(\"Function.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Error.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Object\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Array\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Number\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Function\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"/foo/\")", qQNaN());
- toNumber.insert("engine->evaluate(\"new Object()\")", qQNaN());
- toNumber.insert("engine->evaluate(\"new Array()\")", 0);
- toNumber.insert("engine->evaluate(\"new Error()\")", qQNaN());
- toNumber.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toNumber.insert("engine->evaluate(\"Undefined\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Null\")", qQNaN());
- toNumber.insert("engine->evaluate(\"True\")", qQNaN());
- toNumber.insert("engine->evaluate(\"False\")", qQNaN());
- toNumber.insert("engine->evaluate(\"undefined\")", qQNaN());
- toNumber.insert("engine->evaluate(\"null\")", 0);
- toNumber.insert("engine->evaluate(\"true\")", 1);
- toNumber.insert("engine->evaluate(\"false\")", 0);
- toNumber.insert("engine->evaluate(\"122\")", 122);
- toNumber.insert("engine->evaluate(\"124\")", 124);
- toNumber.insert("engine->evaluate(\"0\")", 0);
- toNumber.insert("engine->evaluate(\"0.0\")", 0);
- toNumber.insert("engine->evaluate(\"123.0\")", 123);
- toNumber.insert("engine->evaluate(\"6.37e-8\")", 6.369999999999999e-08);
- toNumber.insert("engine->evaluate(\"-6.37e-8\")", -6.369999999999999e-08);
- toNumber.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toNumber.insert("engine->evaluate(\"0x10000\")", 65536);
- toNumber.insert("engine->evaluate(\"0x10001\")", 65537);
- toNumber.insert("engine->evaluate(\"NaN\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Infinity\")", qInf());
- toNumber.insert("engine->evaluate(\"-Infinity\")", qInf());
- toNumber.insert("engine->evaluate(\"'ciao'\")", qQNaN());
- toNumber.insert("engine->evaluate(\"''\")", 0);
- toNumber.insert("engine->evaluate(\"'0'\")", 0);
- toNumber.insert("engine->evaluate(\"'123'\")", 123);
- toNumber.insert("engine->evaluate(\"'12.4'\")", 12.4);
- toNumber.insert("engine->nullValue()", 0);
- toNumber.insert("engine->undefinedValue()", qQNaN());
- toNumber.insert("engine->newObject()", qQNaN());
- toNumber.insert("engine->newArray()", 0);
- toNumber.insert("engine->newArray(10)", qQNaN());
- toNumber.insert("engine->newDate(QDateTime())", qQNaN());
- toNumber.insert("engine->newQMetaObject(&QObject::staticMetaObject)", qQNaN());
- toNumber.insert("engine->newVariant(QVariant())", qQNaN());
- toNumber.insert("engine->newVariant(QVariant(123))", 123);
- toNumber.insert("engine->newVariant(QVariant(false))", 0);
- toNumber.insert("engine->newQObject(0)", 0);
- toNumber.insert("engine->newQObject(engine)", qQNaN());
- }
- newRow(expr) << toNumber.value(expr);
-}
-
-void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value)
-{
- QFETCH(qsreal, expected);
- if (qIsNaN(expected)) {
- QVERIFY(qIsNaN(value.toNumber()));
- return;
- }
- if (qIsInf(expected)) {
- QVERIFY(qIsInf(value.toNumber()));
- QVERIFY(qIsInf(value.toNumber()));
- return;
- }
- QCOMPARE(value.toNumber(), expected);
- QCOMPARE(value.toNumber(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toNumber)
-
-
-void tst_QScriptValue::toBool_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toBool_makeData(const char* expr)
-{
- static QHash<QString, bool> toBool;
- if (toBool.isEmpty()) {
- toBool.insert("QScriptValue()", false);
- toBool.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(true)", true);
- toBool.insert("QScriptValue(false)", false);
- toBool.insert("QScriptValue(int(122))", true);
- toBool.insert("QScriptValue(uint(124))", true);
- toBool.insert("QScriptValue(0)", false);
- toBool.insert("QScriptValue(0.0)", false);
- toBool.insert("QScriptValue(123.0)", true);
- toBool.insert("QScriptValue(6.37e-8)", true);
- toBool.insert("QScriptValue(-6.37e-8)", true);
- toBool.insert("QScriptValue(0x43211234)", true);
- toBool.insert("QScriptValue(0x10000)", true);
- toBool.insert("QScriptValue(0x10001)", true);
- toBool.insert("QScriptValue(qSNaN())", false);
- toBool.insert("QScriptValue(qQNaN())", false);
- toBool.insert("QScriptValue(qInf())", true);
- toBool.insert("QScriptValue(-qInf())", true);
- toBool.insert("QScriptValue(\"NaN\")", true);
- toBool.insert("QScriptValue(\"Infinity\")", true);
- toBool.insert("QScriptValue(\"-Infinity\")", true);
- toBool.insert("QScriptValue(\"ciao\")", true);
- toBool.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(QString(\"\"))", false);
- toBool.insert("QScriptValue(QString())", false);
- toBool.insert("QScriptValue(QString(\"0\"))", true);
- toBool.insert("QScriptValue(QString(\"123\"))", true);
- toBool.insert("QScriptValue(QString(\"12.4\"))", true);
- toBool.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(0, QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(0, true)", true);
- toBool.insert("QScriptValue(0, false)", false);
- toBool.insert("QScriptValue(0, int(122))", true);
- toBool.insert("QScriptValue(0, uint(124))", true);
- toBool.insert("QScriptValue(0, 0)", false);
- toBool.insert("QScriptValue(0, 0.0)", false);
- toBool.insert("QScriptValue(0, 123.0)", true);
- toBool.insert("QScriptValue(0, 6.37e-8)", true);
- toBool.insert("QScriptValue(0, -6.37e-8)", true);
- toBool.insert("QScriptValue(0, 0x43211234)", true);
- toBool.insert("QScriptValue(0, 0x10000)", true);
- toBool.insert("QScriptValue(0, 0x10001)", true);
- toBool.insert("QScriptValue(0, qSNaN())", false);
- toBool.insert("QScriptValue(0, qQNaN())", false);
- toBool.insert("QScriptValue(0, qInf())", true);
- toBool.insert("QScriptValue(0, -qInf())", true);
- toBool.insert("QScriptValue(0, \"NaN\")", true);
- toBool.insert("QScriptValue(0, \"Infinity\")", true);
- toBool.insert("QScriptValue(0, \"-Infinity\")", true);
- toBool.insert("QScriptValue(0, \"ciao\")", true);
- toBool.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(0, QString(\"\"))", false);
- toBool.insert("QScriptValue(0, QString())", false);
- toBool.insert("QScriptValue(0, QString(\"0\"))", true);
- toBool.insert("QScriptValue(0, QString(\"123\"))", true);
- toBool.insert("QScriptValue(0, QString(\"12.3\"))", true);
- toBool.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(engine, true)", true);
- toBool.insert("QScriptValue(engine, false)", false);
- toBool.insert("QScriptValue(engine, int(122))", true);
- toBool.insert("QScriptValue(engine, uint(124))", true);
- toBool.insert("QScriptValue(engine, 0)", false);
- toBool.insert("QScriptValue(engine, 0.0)", false);
- toBool.insert("QScriptValue(engine, 123.0)", true);
- toBool.insert("QScriptValue(engine, 6.37e-8)", true);
- toBool.insert("QScriptValue(engine, -6.37e-8)", true);
- toBool.insert("QScriptValue(engine, 0x43211234)", true);
- toBool.insert("QScriptValue(engine, 0x10000)", true);
- toBool.insert("QScriptValue(engine, 0x10001)", true);
- toBool.insert("QScriptValue(engine, qSNaN())", false);
- toBool.insert("QScriptValue(engine, qQNaN())", false);
- toBool.insert("QScriptValue(engine, qInf())", true);
- toBool.insert("QScriptValue(engine, -qInf())", true);
- toBool.insert("QScriptValue(engine, \"NaN\")", true);
- toBool.insert("QScriptValue(engine, \"Infinity\")", true);
- toBool.insert("QScriptValue(engine, \"-Infinity\")", true);
- toBool.insert("QScriptValue(engine, \"ciao\")", true);
- toBool.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"\"))", false);
- toBool.insert("QScriptValue(engine, QString())", false);
- toBool.insert("QScriptValue(engine, QString(\"0\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"123\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"1.23\"))", true);
- toBool.insert("engine->evaluate(\"[]\")", true);
- toBool.insert("engine->evaluate(\"{}\")", false);
- toBool.insert("engine->evaluate(\"Object.prototype\")", true);
- toBool.insert("engine->evaluate(\"Date.prototype\")", true);
- toBool.insert("engine->evaluate(\"Array.prototype\")", true);
- toBool.insert("engine->evaluate(\"Function.prototype\")", true);
- toBool.insert("engine->evaluate(\"Error.prototype\")", true);
- toBool.insert("engine->evaluate(\"Object\")", true);
- toBool.insert("engine->evaluate(\"Array\")", true);
- toBool.insert("engine->evaluate(\"Number\")", true);
- toBool.insert("engine->evaluate(\"Function\")", true);
- toBool.insert("engine->evaluate(\"(function() { return 1; })\")", true);
- toBool.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
- toBool.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
- toBool.insert("engine->evaluate(\"/foo/\")", true);
- toBool.insert("engine->evaluate(\"new Object()\")", true);
- toBool.insert("engine->evaluate(\"new Array()\")", true);
- toBool.insert("engine->evaluate(\"new Error()\")", true);
- toBool.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", true);
- toBool.insert("engine->evaluate(\"Undefined\")", true);
- toBool.insert("engine->evaluate(\"Null\")", true);
- toBool.insert("engine->evaluate(\"True\")", true);
- toBool.insert("engine->evaluate(\"False\")", true);
- toBool.insert("engine->evaluate(\"undefined\")", false);
- toBool.insert("engine->evaluate(\"null\")", false);
- toBool.insert("engine->evaluate(\"true\")", true);
- toBool.insert("engine->evaluate(\"false\")", false);
- toBool.insert("engine->evaluate(\"122\")", true);
- toBool.insert("engine->evaluate(\"124\")", true);
- toBool.insert("engine->evaluate(\"0\")", false);
- toBool.insert("engine->evaluate(\"0.0\")", false);
- toBool.insert("engine->evaluate(\"123.0\")", true);
- toBool.insert("engine->evaluate(\"6.37e-8\")", true);
- toBool.insert("engine->evaluate(\"-6.37e-8\")", true);
- toBool.insert("engine->evaluate(\"0x43211234\")", true);
- toBool.insert("engine->evaluate(\"0x10000\")", true);
- toBool.insert("engine->evaluate(\"0x10001\")", true);
- toBool.insert("engine->evaluate(\"NaN\")", false);
- toBool.insert("engine->evaluate(\"Infinity\")", true);
- toBool.insert("engine->evaluate(\"-Infinity\")", true);
- toBool.insert("engine->evaluate(\"'ciao'\")", true);
- toBool.insert("engine->evaluate(\"''\")", false);
- toBool.insert("engine->evaluate(\"'0'\")", true);
- toBool.insert("engine->evaluate(\"'123'\")", true);
- toBool.insert("engine->evaluate(\"'12.4'\")", true);
- toBool.insert("engine->nullValue()", false);
- toBool.insert("engine->undefinedValue()", false);
- toBool.insert("engine->newObject()", true);
- toBool.insert("engine->newArray()", true);
- toBool.insert("engine->newArray(10)", true);
- toBool.insert("engine->newDate(QDateTime())", true);
- toBool.insert("engine->newQMetaObject(&QObject::staticMetaObject)", true);
- toBool.insert("engine->newVariant(QVariant())", true);
- toBool.insert("engine->newVariant(QVariant(123))", true);
- toBool.insert("engine->newVariant(QVariant(false))", true);
- toBool.insert("engine->newQObject(0)", false);
- toBool.insert("engine->newQObject(engine)", true);
- }
- newRow(expr) << toBool.value(expr);
-}
-
-void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.toBool(), expected);
- QCOMPARE(value.toBool(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toBool)
-
-
-void tst_QScriptValue::toBoolean_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toBoolean_makeData(const char* expr)
-{
- static QHash<QString, bool> toBoolean;
- if (toBoolean.isEmpty()) {
- toBoolean.insert("QScriptValue()", false);
- toBoolean.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(true)", true);
- toBoolean.insert("QScriptValue(false)", false);
- toBoolean.insert("QScriptValue(int(122))", true);
- toBoolean.insert("QScriptValue(uint(124))", true);
- toBoolean.insert("QScriptValue(0)", false);
- toBoolean.insert("QScriptValue(0.0)", false);
- toBoolean.insert("QScriptValue(123.0)", true);
- toBoolean.insert("QScriptValue(6.37e-8)", true);
- toBoolean.insert("QScriptValue(-6.37e-8)", true);
- toBoolean.insert("QScriptValue(0x43211234)", true);
- toBoolean.insert("QScriptValue(0x10000)", true);
- toBoolean.insert("QScriptValue(0x10001)", true);
- toBoolean.insert("QScriptValue(qSNaN())", false);
- toBoolean.insert("QScriptValue(qQNaN())", false);
- toBoolean.insert("QScriptValue(qInf())", true);
- toBoolean.insert("QScriptValue(-qInf())", true);
- toBoolean.insert("QScriptValue(\"NaN\")", true);
- toBoolean.insert("QScriptValue(\"Infinity\")", true);
- toBoolean.insert("QScriptValue(\"-Infinity\")", true);
- toBoolean.insert("QScriptValue(\"ciao\")", true);
- toBoolean.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(QString(\"\"))", false);
- toBoolean.insert("QScriptValue(QString())", false);
- toBoolean.insert("QScriptValue(QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(QString(\"12.4\"))", true);
- toBoolean.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(0, QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(0, true)", true);
- toBoolean.insert("QScriptValue(0, false)", false);
- toBoolean.insert("QScriptValue(0, int(122))", true);
- toBoolean.insert("QScriptValue(0, uint(124))", true);
- toBoolean.insert("QScriptValue(0, 0)", false);
- toBoolean.insert("QScriptValue(0, 0.0)", false);
- toBoolean.insert("QScriptValue(0, 123.0)", true);
- toBoolean.insert("QScriptValue(0, 6.37e-8)", true);
- toBoolean.insert("QScriptValue(0, -6.37e-8)", true);
- toBoolean.insert("QScriptValue(0, 0x43211234)", true);
- toBoolean.insert("QScriptValue(0, 0x10000)", true);
- toBoolean.insert("QScriptValue(0, 0x10001)", true);
- toBoolean.insert("QScriptValue(0, qSNaN())", false);
- toBoolean.insert("QScriptValue(0, qQNaN())", false);
- toBoolean.insert("QScriptValue(0, qInf())", true);
- toBoolean.insert("QScriptValue(0, -qInf())", true);
- toBoolean.insert("QScriptValue(0, \"NaN\")", true);
- toBoolean.insert("QScriptValue(0, \"Infinity\")", true);
- toBoolean.insert("QScriptValue(0, \"-Infinity\")", true);
- toBoolean.insert("QScriptValue(0, \"ciao\")", true);
- toBoolean.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"\"))", false);
- toBoolean.insert("QScriptValue(0, QString())", false);
- toBoolean.insert("QScriptValue(0, QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"12.3\"))", true);
- toBoolean.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(engine, true)", true);
- toBoolean.insert("QScriptValue(engine, false)", false);
- toBoolean.insert("QScriptValue(engine, int(122))", true);
- toBoolean.insert("QScriptValue(engine, uint(124))", true);
- toBoolean.insert("QScriptValue(engine, 0)", false);
- toBoolean.insert("QScriptValue(engine, 0.0)", false);
- toBoolean.insert("QScriptValue(engine, 123.0)", true);
- toBoolean.insert("QScriptValue(engine, 6.37e-8)", true);
- toBoolean.insert("QScriptValue(engine, -6.37e-8)", true);
- toBoolean.insert("QScriptValue(engine, 0x43211234)", true);
- toBoolean.insert("QScriptValue(engine, 0x10000)", true);
- toBoolean.insert("QScriptValue(engine, 0x10001)", true);
- toBoolean.insert("QScriptValue(engine, qSNaN())", false);
- toBoolean.insert("QScriptValue(engine, qQNaN())", false);
- toBoolean.insert("QScriptValue(engine, qInf())", true);
- toBoolean.insert("QScriptValue(engine, -qInf())", true);
- toBoolean.insert("QScriptValue(engine, \"NaN\")", true);
- toBoolean.insert("QScriptValue(engine, \"Infinity\")", true);
- toBoolean.insert("QScriptValue(engine, \"-Infinity\")", true);
- toBoolean.insert("QScriptValue(engine, \"ciao\")", true);
- toBoolean.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"\"))", false);
- toBoolean.insert("QScriptValue(engine, QString())", false);
- toBoolean.insert("QScriptValue(engine, QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"1.23\"))", true);
- toBoolean.insert("engine->evaluate(\"[]\")", true);
- toBoolean.insert("engine->evaluate(\"{}\")", false);
- toBoolean.insert("engine->evaluate(\"Object.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Date.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Array.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Function.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Error.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Object\")", true);
- toBoolean.insert("engine->evaluate(\"Array\")", true);
- toBoolean.insert("engine->evaluate(\"Number\")", true);
- toBoolean.insert("engine->evaluate(\"Function\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { return 1; })\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
- toBoolean.insert("engine->evaluate(\"/foo/\")", true);
- toBoolean.insert("engine->evaluate(\"new Object()\")", true);
- toBoolean.insert("engine->evaluate(\"new Array()\")", true);
- toBoolean.insert("engine->evaluate(\"new Error()\")", true);
- toBoolean.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", true);
- toBoolean.insert("engine->evaluate(\"Undefined\")", true);
- toBoolean.insert("engine->evaluate(\"Null\")", true);
- toBoolean.insert("engine->evaluate(\"True\")", true);
- toBoolean.insert("engine->evaluate(\"False\")", true);
- toBoolean.insert("engine->evaluate(\"undefined\")", false);
- toBoolean.insert("engine->evaluate(\"null\")", false);
- toBoolean.insert("engine->evaluate(\"true\")", true);
- toBoolean.insert("engine->evaluate(\"false\")", false);
- toBoolean.insert("engine->evaluate(\"122\")", true);
- toBoolean.insert("engine->evaluate(\"124\")", true);
- toBoolean.insert("engine->evaluate(\"0\")", false);
- toBoolean.insert("engine->evaluate(\"0.0\")", false);
- toBoolean.insert("engine->evaluate(\"123.0\")", true);
- toBoolean.insert("engine->evaluate(\"6.37e-8\")", true);
- toBoolean.insert("engine->evaluate(\"-6.37e-8\")", true);
- toBoolean.insert("engine->evaluate(\"0x43211234\")", true);
- toBoolean.insert("engine->evaluate(\"0x10000\")", true);
- toBoolean.insert("engine->evaluate(\"0x10001\")", true);
- toBoolean.insert("engine->evaluate(\"NaN\")", false);
- toBoolean.insert("engine->evaluate(\"Infinity\")", true);
- toBoolean.insert("engine->evaluate(\"-Infinity\")", true);
- toBoolean.insert("engine->evaluate(\"'ciao'\")", true);
- toBoolean.insert("engine->evaluate(\"''\")", false);
- toBoolean.insert("engine->evaluate(\"'0'\")", true);
- toBoolean.insert("engine->evaluate(\"'123'\")", true);
- toBoolean.insert("engine->evaluate(\"'12.4'\")", true);
- toBoolean.insert("engine->nullValue()", false);
- toBoolean.insert("engine->undefinedValue()", false);
- toBoolean.insert("engine->newObject()", true);
- toBoolean.insert("engine->newArray()", true);
- toBoolean.insert("engine->newArray(10)", true);
- toBoolean.insert("engine->newDate(QDateTime())", true);
- toBoolean.insert("engine->newQMetaObject(&QObject::staticMetaObject)", true);
- toBoolean.insert("engine->newVariant(QVariant())", true);
- toBoolean.insert("engine->newVariant(QVariant(123))", true);
- toBoolean.insert("engine->newVariant(QVariant(false))", true);
- toBoolean.insert("engine->newQObject(0)", false);
- toBoolean.insert("engine->newQObject(engine)", true);
- }
- newRow(expr) << toBoolean.value(expr);
-}
-
-void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.toBoolean(), expected);
- QCOMPARE(value.toBoolean(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toBoolean)
-
-
-void tst_QScriptValue::toInteger_initData()
-{
- QTest::addColumn<qsreal>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toInteger_makeData(const char* expr)
-{
- static QHash<QString, qsreal> toInteger;
- if (toInteger.isEmpty()) {
- toInteger.insert("QScriptValue()", 0);
- toInteger.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(true)", 1);
- toInteger.insert("QScriptValue(false)", 0);
- toInteger.insert("QScriptValue(int(122))", 122);
- toInteger.insert("QScriptValue(uint(124))", 124);
- toInteger.insert("QScriptValue(0)", 0);
- toInteger.insert("QScriptValue(0.0)", 0);
- toInteger.insert("QScriptValue(123.0)", 123);
- toInteger.insert("QScriptValue(6.37e-8)", 0);
- toInteger.insert("QScriptValue(-6.37e-8)", 0);
- toInteger.insert("QScriptValue(0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(0x10000)", 65536);
- toInteger.insert("QScriptValue(0x10001)", 65537);
- toInteger.insert("QScriptValue(qSNaN())", 0);
- toInteger.insert("QScriptValue(qQNaN())", 0);
- toInteger.insert("QScriptValue(qInf())", qInf());
- toInteger.insert("QScriptValue(-qInf())", qInf());
- toInteger.insert("QScriptValue(\"NaN\")", 0);
- toInteger.insert("QScriptValue(\"Infinity\")", qInf());
- toInteger.insert("QScriptValue(\"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(\"ciao\")", 0);
- toInteger.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(QString(\"\"))", 0);
- toInteger.insert("QScriptValue(QString())", 0);
- toInteger.insert("QScriptValue(QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(QString(\"12.4\"))", 12);
- toInteger.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(0, true)", 1);
- toInteger.insert("QScriptValue(0, false)", 0);
- toInteger.insert("QScriptValue(0, int(122))", 122);
- toInteger.insert("QScriptValue(0, uint(124))", 124);
- toInteger.insert("QScriptValue(0, 0)", 0);
- toInteger.insert("QScriptValue(0, 0.0)", 0);
- toInteger.insert("QScriptValue(0, 123.0)", 123);
- toInteger.insert("QScriptValue(0, 6.37e-8)", 0);
- toInteger.insert("QScriptValue(0, -6.37e-8)", 0);
- toInteger.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(0, 0x10000)", 65536);
- toInteger.insert("QScriptValue(0, 0x10001)", 65537);
- toInteger.insert("QScriptValue(0, qSNaN())", 0);
- toInteger.insert("QScriptValue(0, qQNaN())", 0);
- toInteger.insert("QScriptValue(0, qInf())", qInf());
- toInteger.insert("QScriptValue(0, -qInf())", qInf());
- toInteger.insert("QScriptValue(0, \"NaN\")", 0);
- toInteger.insert("QScriptValue(0, \"Infinity\")", qInf());
- toInteger.insert("QScriptValue(0, \"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(0, \"ciao\")", 0);
- toInteger.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(0, QString(\"\"))", 0);
- toInteger.insert("QScriptValue(0, QString())", 0);
- toInteger.insert("QScriptValue(0, QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(0, QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toInteger.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(engine, true)", 1);
- toInteger.insert("QScriptValue(engine, false)", 0);
- toInteger.insert("QScriptValue(engine, int(122))", 122);
- toInteger.insert("QScriptValue(engine, uint(124))", 124);
- toInteger.insert("QScriptValue(engine, 0)", 0);
- toInteger.insert("QScriptValue(engine, 0.0)", 0);
- toInteger.insert("QScriptValue(engine, 123.0)", 123);
- toInteger.insert("QScriptValue(engine, 6.37e-8)", 0);
- toInteger.insert("QScriptValue(engine, -6.37e-8)", 0);
- toInteger.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(engine, 0x10000)", 65536);
- toInteger.insert("QScriptValue(engine, 0x10001)", 65537);
- toInteger.insert("QScriptValue(engine, qSNaN())", 0);
- toInteger.insert("QScriptValue(engine, qQNaN())", 0);
- toInteger.insert("QScriptValue(engine, qInf())", qInf());
- toInteger.insert("QScriptValue(engine, -qInf())", qInf());
- toInteger.insert("QScriptValue(engine, \"NaN\")", 0);
- toInteger.insert("QScriptValue(engine, \"Infinity\")", qInf());
- toInteger.insert("QScriptValue(engine, \"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(engine, \"ciao\")", 0);
- toInteger.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(engine, QString(\"\"))", 0);
- toInteger.insert("QScriptValue(engine, QString())", 0);
- toInteger.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toInteger.insert("engine->evaluate(\"[]\")", 0);
- toInteger.insert("engine->evaluate(\"{}\")", 0);
- toInteger.insert("engine->evaluate(\"Object.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Date.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Array.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Function.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Error.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Object\")", 0);
- toInteger.insert("engine->evaluate(\"Array\")", 0);
- toInteger.insert("engine->evaluate(\"Number\")", 0);
- toInteger.insert("engine->evaluate(\"Function\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toInteger.insert("engine->evaluate(\"/foo/\")", 0);
- toInteger.insert("engine->evaluate(\"new Object()\")", 0);
- toInteger.insert("engine->evaluate(\"new Array()\")", 0);
- toInteger.insert("engine->evaluate(\"new Error()\")", 0);
- toInteger.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toInteger.insert("engine->evaluate(\"Undefined\")", 0);
- toInteger.insert("engine->evaluate(\"Null\")", 0);
- toInteger.insert("engine->evaluate(\"True\")", 0);
- toInteger.insert("engine->evaluate(\"False\")", 0);
- toInteger.insert("engine->evaluate(\"undefined\")", 0);
- toInteger.insert("engine->evaluate(\"null\")", 0);
- toInteger.insert("engine->evaluate(\"true\")", 1);
- toInteger.insert("engine->evaluate(\"false\")", 0);
- toInteger.insert("engine->evaluate(\"122\")", 122);
- toInteger.insert("engine->evaluate(\"124\")", 124);
- toInteger.insert("engine->evaluate(\"0\")", 0);
- toInteger.insert("engine->evaluate(\"0.0\")", 0);
- toInteger.insert("engine->evaluate(\"123.0\")", 123);
- toInteger.insert("engine->evaluate(\"6.37e-8\")", 0);
- toInteger.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toInteger.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toInteger.insert("engine->evaluate(\"0x10000\")", 65536);
- toInteger.insert("engine->evaluate(\"0x10001\")", 65537);
- toInteger.insert("engine->evaluate(\"NaN\")", 0);
- toInteger.insert("engine->evaluate(\"Infinity\")", qInf());
- toInteger.insert("engine->evaluate(\"-Infinity\")", qInf());
- toInteger.insert("engine->evaluate(\"'ciao'\")", 0);
- toInteger.insert("engine->evaluate(\"''\")", 0);
- toInteger.insert("engine->evaluate(\"'0'\")", 0);
- toInteger.insert("engine->evaluate(\"'123'\")", 123);
- toInteger.insert("engine->evaluate(\"'12.4'\")", 12);
- toInteger.insert("engine->nullValue()", 0);
- toInteger.insert("engine->undefinedValue()", 0);
- toInteger.insert("engine->newObject()", 0);
- toInteger.insert("engine->newArray()", 0);
- toInteger.insert("engine->newArray(10)", 0);
- toInteger.insert("engine->newDate(QDateTime())", 0);
- toInteger.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- toInteger.insert("engine->newVariant(QVariant())", 0);
- toInteger.insert("engine->newVariant(QVariant(123))", 123);
- toInteger.insert("engine->newVariant(QVariant(false))", 0);
- toInteger.insert("engine->newQObject(0)", 0);
- toInteger.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << toInteger.value(expr);
-}
-
-void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value)
-{
- QFETCH(qsreal, expected);
- if (qIsInf(expected)) {
- QVERIFY(qIsInf(value.toInteger()));
- QVERIFY(qIsInf(value.toInteger()));
- return;
- }
- QCOMPARE(value.toInteger(), expected);
- QCOMPARE(value.toInteger(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toInteger)
-
-
-void tst_QScriptValue::toInt32_initData()
-{
- QTest::addColumn<qint32>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toInt32_makeData(const char* expr)
-{
- static QHash<QString, qint32> toInt32;
- if (toInt32.isEmpty()) {
- toInt32.insert("QScriptValue()", 0);
- toInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(true)", 1);
- toInt32.insert("QScriptValue(false)", 0);
- toInt32.insert("QScriptValue(int(122))", 122);
- toInt32.insert("QScriptValue(uint(124))", 124);
- toInt32.insert("QScriptValue(0)", 0);
- toInt32.insert("QScriptValue(0.0)", 0);
- toInt32.insert("QScriptValue(123.0)", 123);
- toInt32.insert("QScriptValue(6.37e-8)", 0);
- toInt32.insert("QScriptValue(-6.37e-8)", 0);
- toInt32.insert("QScriptValue(0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(0x10000)", 65536);
- toInt32.insert("QScriptValue(0x10001)", 65537);
- toInt32.insert("QScriptValue(qSNaN())", 0);
- toInt32.insert("QScriptValue(qQNaN())", 0);
- toInt32.insert("QScriptValue(qInf())", 0);
- toInt32.insert("QScriptValue(-qInf())", 0);
- toInt32.insert("QScriptValue(\"NaN\")", 0);
- toInt32.insert("QScriptValue(\"Infinity\")", 0);
- toInt32.insert("QScriptValue(\"-Infinity\")", 0);
- toInt32.insert("QScriptValue(\"ciao\")", 0);
- toInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(QString(\"\"))", 0);
- toInt32.insert("QScriptValue(QString())", 0);
- toInt32.insert("QScriptValue(QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(QString(\"12.4\"))", 12);
- toInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(0, true)", 1);
- toInt32.insert("QScriptValue(0, false)", 0);
- toInt32.insert("QScriptValue(0, int(122))", 122);
- toInt32.insert("QScriptValue(0, uint(124))", 124);
- toInt32.insert("QScriptValue(0, 0)", 0);
- toInt32.insert("QScriptValue(0, 0.0)", 0);
- toInt32.insert("QScriptValue(0, 123.0)", 123);
- toInt32.insert("QScriptValue(0, 6.37e-8)", 0);
- toInt32.insert("QScriptValue(0, -6.37e-8)", 0);
- toInt32.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(0, 0x10000)", 65536);
- toInt32.insert("QScriptValue(0, 0x10001)", 65537);
- toInt32.insert("QScriptValue(0, qSNaN())", 0);
- toInt32.insert("QScriptValue(0, qQNaN())", 0);
- toInt32.insert("QScriptValue(0, qInf())", 0);
- toInt32.insert("QScriptValue(0, -qInf())", 0);
- toInt32.insert("QScriptValue(0, \"NaN\")", 0);
- toInt32.insert("QScriptValue(0, \"Infinity\")", 0);
- toInt32.insert("QScriptValue(0, \"-Infinity\")", 0);
- toInt32.insert("QScriptValue(0, \"ciao\")", 0);
- toInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(0, QString(\"\"))", 0);
- toInt32.insert("QScriptValue(0, QString())", 0);
- toInt32.insert("QScriptValue(0, QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(0, QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(engine, true)", 1);
- toInt32.insert("QScriptValue(engine, false)", 0);
- toInt32.insert("QScriptValue(engine, int(122))", 122);
- toInt32.insert("QScriptValue(engine, uint(124))", 124);
- toInt32.insert("QScriptValue(engine, 0)", 0);
- toInt32.insert("QScriptValue(engine, 0.0)", 0);
- toInt32.insert("QScriptValue(engine, 123.0)", 123);
- toInt32.insert("QScriptValue(engine, 6.37e-8)", 0);
- toInt32.insert("QScriptValue(engine, -6.37e-8)", 0);
- toInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(engine, 0x10000)", 65536);
- toInt32.insert("QScriptValue(engine, 0x10001)", 65537);
- toInt32.insert("QScriptValue(engine, qSNaN())", 0);
- toInt32.insert("QScriptValue(engine, qQNaN())", 0);
- toInt32.insert("QScriptValue(engine, qInf())", 0);
- toInt32.insert("QScriptValue(engine, -qInf())", 0);
- toInt32.insert("QScriptValue(engine, \"NaN\")", 0);
- toInt32.insert("QScriptValue(engine, \"Infinity\")", 0);
- toInt32.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toInt32.insert("QScriptValue(engine, \"ciao\")", 0);
- toInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(engine, QString(\"\"))", 0);
- toInt32.insert("QScriptValue(engine, QString())", 0);
- toInt32.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toInt32.insert("engine->evaluate(\"[]\")", 0);
- toInt32.insert("engine->evaluate(\"{}\")", 0);
- toInt32.insert("engine->evaluate(\"Object.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Date.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Array.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Function.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Error.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Object\")", 0);
- toInt32.insert("engine->evaluate(\"Array\")", 0);
- toInt32.insert("engine->evaluate(\"Number\")", 0);
- toInt32.insert("engine->evaluate(\"Function\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toInt32.insert("engine->evaluate(\"/foo/\")", 0);
- toInt32.insert("engine->evaluate(\"new Object()\")", 0);
- toInt32.insert("engine->evaluate(\"new Array()\")", 0);
- toInt32.insert("engine->evaluate(\"new Error()\")", 0);
- toInt32.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toInt32.insert("engine->evaluate(\"Undefined\")", 0);
- toInt32.insert("engine->evaluate(\"Null\")", 0);
- toInt32.insert("engine->evaluate(\"True\")", 0);
- toInt32.insert("engine->evaluate(\"False\")", 0);
- toInt32.insert("engine->evaluate(\"undefined\")", 0);
- toInt32.insert("engine->evaluate(\"null\")", 0);
- toInt32.insert("engine->evaluate(\"true\")", 1);
- toInt32.insert("engine->evaluate(\"false\")", 0);
- toInt32.insert("engine->evaluate(\"122\")", 122);
- toInt32.insert("engine->evaluate(\"124\")", 124);
- toInt32.insert("engine->evaluate(\"0\")", 0);
- toInt32.insert("engine->evaluate(\"0.0\")", 0);
- toInt32.insert("engine->evaluate(\"123.0\")", 123);
- toInt32.insert("engine->evaluate(\"6.37e-8\")", 0);
- toInt32.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toInt32.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toInt32.insert("engine->evaluate(\"0x10000\")", 65536);
- toInt32.insert("engine->evaluate(\"0x10001\")", 65537);
- toInt32.insert("engine->evaluate(\"NaN\")", 0);
- toInt32.insert("engine->evaluate(\"Infinity\")", 0);
- toInt32.insert("engine->evaluate(\"-Infinity\")", 0);
- toInt32.insert("engine->evaluate(\"'ciao'\")", 0);
- toInt32.insert("engine->evaluate(\"''\")", 0);
- toInt32.insert("engine->evaluate(\"'0'\")", 0);
- toInt32.insert("engine->evaluate(\"'123'\")", 123);
- toInt32.insert("engine->evaluate(\"'12.4'\")", 12);
- toInt32.insert("engine->nullValue()", 0);
- toInt32.insert("engine->undefinedValue()", 0);
- toInt32.insert("engine->newObject()", 0);
- toInt32.insert("engine->newArray()", 0);
- toInt32.insert("engine->newArray(10)", 0);
- toInt32.insert("engine->newDate(QDateTime())", 0);
- toInt32.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- toInt32.insert("engine->newVariant(QVariant())", 0);
- toInt32.insert("engine->newVariant(QVariant(123))", 123);
- toInt32.insert("engine->newVariant(QVariant(false))", 0);
- toInt32.insert("engine->newQObject(0)", 0);
- toInt32.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << toInt32.value(expr);
-}
-
-void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value)
-{
- QFETCH(qint32, expected);
- QCOMPARE(value.toInt32(), expected);
- QCOMPARE(value.toInt32(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toInt32)
-
-
-void tst_QScriptValue::toUInt32_initData()
-{
- QTest::addColumn<quint32>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toUInt32_makeData(const char* expr)
-{
- static QHash<QString, quint32> toUInt32;
- if (toUInt32.isEmpty()) {
- toUInt32.insert("QScriptValue()", 0);
- toUInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(true)", 1);
- toUInt32.insert("QScriptValue(false)", 0);
- toUInt32.insert("QScriptValue(int(122))", 122);
- toUInt32.insert("QScriptValue(uint(124))", 124);
- toUInt32.insert("QScriptValue(0)", 0);
- toUInt32.insert("QScriptValue(0.0)", 0);
- toUInt32.insert("QScriptValue(123.0)", 123);
- toUInt32.insert("QScriptValue(6.37e-8)", 0);
- toUInt32.insert("QScriptValue(-6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(0x10000)", 65536);
- toUInt32.insert("QScriptValue(0x10001)", 65537);
- toUInt32.insert("QScriptValue(qSNaN())", 0);
- toUInt32.insert("QScriptValue(qQNaN())", 0);
- toUInt32.insert("QScriptValue(qInf())", 0);
- toUInt32.insert("QScriptValue(-qInf())", 0);
- toUInt32.insert("QScriptValue(\"NaN\")", 0);
- toUInt32.insert("QScriptValue(\"Infinity\")", 0);
- toUInt32.insert("QScriptValue(\"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(\"ciao\")", 0);
- toUInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(QString())", 0);
- toUInt32.insert("QScriptValue(QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(QString(\"12.4\"))", 12);
- toUInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(0, true)", 1);
- toUInt32.insert("QScriptValue(0, false)", 0);
- toUInt32.insert("QScriptValue(0, int(122))", 122);
- toUInt32.insert("QScriptValue(0, uint(124))", 124);
- toUInt32.insert("QScriptValue(0, 0)", 0);
- toUInt32.insert("QScriptValue(0, 0.0)", 0);
- toUInt32.insert("QScriptValue(0, 123.0)", 123);
- toUInt32.insert("QScriptValue(0, 6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0, -6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(0, 0x10000)", 65536);
- toUInt32.insert("QScriptValue(0, 0x10001)", 65537);
- toUInt32.insert("QScriptValue(0, qSNaN())", 0);
- toUInt32.insert("QScriptValue(0, qQNaN())", 0);
- toUInt32.insert("QScriptValue(0, qInf())", 0);
- toUInt32.insert("QScriptValue(0, -qInf())", 0);
- toUInt32.insert("QScriptValue(0, \"NaN\")", 0);
- toUInt32.insert("QScriptValue(0, \"Infinity\")", 0);
- toUInt32.insert("QScriptValue(0, \"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(0, \"ciao\")", 0);
- toUInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(0, QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(0, QString())", 0);
- toUInt32.insert("QScriptValue(0, QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(0, QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toUInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(engine, true)", 1);
- toUInt32.insert("QScriptValue(engine, false)", 0);
- toUInt32.insert("QScriptValue(engine, int(122))", 122);
- toUInt32.insert("QScriptValue(engine, uint(124))", 124);
- toUInt32.insert("QScriptValue(engine, 0)", 0);
- toUInt32.insert("QScriptValue(engine, 0.0)", 0);
- toUInt32.insert("QScriptValue(engine, 123.0)", 123);
- toUInt32.insert("QScriptValue(engine, 6.37e-8)", 0);
- toUInt32.insert("QScriptValue(engine, -6.37e-8)", 0);
- toUInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(engine, 0x10000)", 65536);
- toUInt32.insert("QScriptValue(engine, 0x10001)", 65537);
- toUInt32.insert("QScriptValue(engine, qSNaN())", 0);
- toUInt32.insert("QScriptValue(engine, qQNaN())", 0);
- toUInt32.insert("QScriptValue(engine, qInf())", 0);
- toUInt32.insert("QScriptValue(engine, -qInf())", 0);
- toUInt32.insert("QScriptValue(engine, \"NaN\")", 0);
- toUInt32.insert("QScriptValue(engine, \"Infinity\")", 0);
- toUInt32.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(engine, \"ciao\")", 0);
- toUInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString())", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toUInt32.insert("engine->evaluate(\"[]\")", 0);
- toUInt32.insert("engine->evaluate(\"{}\")", 0);
- toUInt32.insert("engine->evaluate(\"Object.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Date.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Array.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Function.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Error.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Object\")", 0);
- toUInt32.insert("engine->evaluate(\"Array\")", 0);
- toUInt32.insert("engine->evaluate(\"Number\")", 0);
- toUInt32.insert("engine->evaluate(\"Function\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toUInt32.insert("engine->evaluate(\"/foo/\")", 0);
- toUInt32.insert("engine->evaluate(\"new Object()\")", 0);
- toUInt32.insert("engine->evaluate(\"new Array()\")", 0);
- toUInt32.insert("engine->evaluate(\"new Error()\")", 0);
- toUInt32.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toUInt32.insert("engine->evaluate(\"Undefined\")", 0);
- toUInt32.insert("engine->evaluate(\"Null\")", 0);
- toUInt32.insert("engine->evaluate(\"True\")", 0);
- toUInt32.insert("engine->evaluate(\"False\")", 0);
- toUInt32.insert("engine->evaluate(\"undefined\")", 0);
- toUInt32.insert("engine->evaluate(\"null\")", 0);
- toUInt32.insert("engine->evaluate(\"true\")", 1);
- toUInt32.insert("engine->evaluate(\"false\")", 0);
- toUInt32.insert("engine->evaluate(\"122\")", 122);
- toUInt32.insert("engine->evaluate(\"124\")", 124);
- toUInt32.insert("engine->evaluate(\"0\")", 0);
- toUInt32.insert("engine->evaluate(\"0.0\")", 0);
- toUInt32.insert("engine->evaluate(\"123.0\")", 123);
- toUInt32.insert("engine->evaluate(\"6.37e-8\")", 0);
- toUInt32.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toUInt32.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toUInt32.insert("engine->evaluate(\"0x10000\")", 65536);
- toUInt32.insert("engine->evaluate(\"0x10001\")", 65537);
- toUInt32.insert("engine->evaluate(\"NaN\")", 0);
- toUInt32.insert("engine->evaluate(\"Infinity\")", 0);
- toUInt32.insert("engine->evaluate(\"-Infinity\")", 0);
- toUInt32.insert("engine->evaluate(\"'ciao'\")", 0);
- toUInt32.insert("engine->evaluate(\"''\")", 0);
- toUInt32.insert("engine->evaluate(\"'0'\")", 0);
- toUInt32.insert("engine->evaluate(\"'123'\")", 123);
- toUInt32.insert("engine->evaluate(\"'12.4'\")", 12);
- toUInt32.insert("engine->nullValue()", 0);
- toUInt32.insert("engine->undefinedValue()", 0);
- toUInt32.insert("engine->newObject()", 0);
- toUInt32.insert("engine->newArray()", 0);
- toUInt32.insert("engine->newArray(10)", 0);
- toUInt32.insert("engine->newDate(QDateTime())", 0);
- toUInt32.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- toUInt32.insert("engine->newVariant(QVariant())", 0);
- toUInt32.insert("engine->newVariant(QVariant(123))", 123);
- toUInt32.insert("engine->newVariant(QVariant(false))", 0);
- toUInt32.insert("engine->newQObject(0)", 0);
- toUInt32.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << toUInt32.value(expr);
-}
-
-void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value)
-{
- QFETCH(quint32, expected);
- QCOMPARE(value.toUInt32(), expected);
- QCOMPARE(value.toUInt32(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toUInt32)
-
-
-void tst_QScriptValue::toUInt16_initData()
-{
- QTest::addColumn<quint16>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toUInt16_makeData(const char* expr)
-{
- static QHash<QString, quint16> toUInt16;
- if (toUInt16.isEmpty()) {
- toUInt16.insert("QScriptValue()", 0);
- toUInt16.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(true)", 1);
- toUInt16.insert("QScriptValue(false)", 0);
- toUInt16.insert("QScriptValue(int(122))", 122);
- toUInt16.insert("QScriptValue(uint(124))", 124);
- toUInt16.insert("QScriptValue(0)", 0);
- toUInt16.insert("QScriptValue(0.0)", 0);
- toUInt16.insert("QScriptValue(123.0)", 123);
- toUInt16.insert("QScriptValue(6.37e-8)", 0);
- toUInt16.insert("QScriptValue(-6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0x43211234)", 4660);
- toUInt16.insert("QScriptValue(0x10000)", 0);
- toUInt16.insert("QScriptValue(0x10001)", 1);
- toUInt16.insert("QScriptValue(qSNaN())", 0);
- toUInt16.insert("QScriptValue(qQNaN())", 0);
- toUInt16.insert("QScriptValue(qInf())", 0);
- toUInt16.insert("QScriptValue(-qInf())", 0);
- toUInt16.insert("QScriptValue(\"NaN\")", 0);
- toUInt16.insert("QScriptValue(\"Infinity\")", 0);
- toUInt16.insert("QScriptValue(\"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(\"ciao\")", 0);
- toUInt16.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(QString())", 0);
- toUInt16.insert("QScriptValue(QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(QString(\"12.4\"))", 12);
- toUInt16.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(0, true)", 1);
- toUInt16.insert("QScriptValue(0, false)", 0);
- toUInt16.insert("QScriptValue(0, int(122))", 122);
- toUInt16.insert("QScriptValue(0, uint(124))", 124);
- toUInt16.insert("QScriptValue(0, 0)", 0);
- toUInt16.insert("QScriptValue(0, 0.0)", 0);
- toUInt16.insert("QScriptValue(0, 123.0)", 123);
- toUInt16.insert("QScriptValue(0, 6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0, -6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0, 0x43211234)", 4660);
- toUInt16.insert("QScriptValue(0, 0x10000)", 0);
- toUInt16.insert("QScriptValue(0, 0x10001)", 1);
- toUInt16.insert("QScriptValue(0, qSNaN())", 0);
- toUInt16.insert("QScriptValue(0, qQNaN())", 0);
- toUInt16.insert("QScriptValue(0, qInf())", 0);
- toUInt16.insert("QScriptValue(0, -qInf())", 0);
- toUInt16.insert("QScriptValue(0, \"NaN\")", 0);
- toUInt16.insert("QScriptValue(0, \"Infinity\")", 0);
- toUInt16.insert("QScriptValue(0, \"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(0, \"ciao\")", 0);
- toUInt16.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(0, QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(0, QString())", 0);
- toUInt16.insert("QScriptValue(0, QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(0, QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toUInt16.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(engine, true)", 1);
- toUInt16.insert("QScriptValue(engine, false)", 0);
- toUInt16.insert("QScriptValue(engine, int(122))", 122);
- toUInt16.insert("QScriptValue(engine, uint(124))", 124);
- toUInt16.insert("QScriptValue(engine, 0)", 0);
- toUInt16.insert("QScriptValue(engine, 0.0)", 0);
- toUInt16.insert("QScriptValue(engine, 123.0)", 123);
- toUInt16.insert("QScriptValue(engine, 6.37e-8)", 0);
- toUInt16.insert("QScriptValue(engine, -6.37e-8)", 0);
- toUInt16.insert("QScriptValue(engine, 0x43211234)", 4660);
- toUInt16.insert("QScriptValue(engine, 0x10000)", 0);
- toUInt16.insert("QScriptValue(engine, 0x10001)", 1);
- toUInt16.insert("QScriptValue(engine, qSNaN())", 0);
- toUInt16.insert("QScriptValue(engine, qQNaN())", 0);
- toUInt16.insert("QScriptValue(engine, qInf())", 0);
- toUInt16.insert("QScriptValue(engine, -qInf())", 0);
- toUInt16.insert("QScriptValue(engine, \"NaN\")", 0);
- toUInt16.insert("QScriptValue(engine, \"Infinity\")", 0);
- toUInt16.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(engine, \"ciao\")", 0);
- toUInt16.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString())", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toUInt16.insert("engine->evaluate(\"[]\")", 0);
- toUInt16.insert("engine->evaluate(\"{}\")", 0);
- toUInt16.insert("engine->evaluate(\"Object.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Date.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Array.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Function.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Error.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Object\")", 0);
- toUInt16.insert("engine->evaluate(\"Array\")", 0);
- toUInt16.insert("engine->evaluate(\"Number\")", 0);
- toUInt16.insert("engine->evaluate(\"Function\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toUInt16.insert("engine->evaluate(\"/foo/\")", 0);
- toUInt16.insert("engine->evaluate(\"new Object()\")", 0);
- toUInt16.insert("engine->evaluate(\"new Array()\")", 0);
- toUInt16.insert("engine->evaluate(\"new Error()\")", 0);
- toUInt16.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toUInt16.insert("engine->evaluate(\"Undefined\")", 0);
- toUInt16.insert("engine->evaluate(\"Null\")", 0);
- toUInt16.insert("engine->evaluate(\"True\")", 0);
- toUInt16.insert("engine->evaluate(\"False\")", 0);
- toUInt16.insert("engine->evaluate(\"undefined\")", 0);
- toUInt16.insert("engine->evaluate(\"null\")", 0);
- toUInt16.insert("engine->evaluate(\"true\")", 1);
- toUInt16.insert("engine->evaluate(\"false\")", 0);
- toUInt16.insert("engine->evaluate(\"122\")", 122);
- toUInt16.insert("engine->evaluate(\"124\")", 124);
- toUInt16.insert("engine->evaluate(\"0\")", 0);
- toUInt16.insert("engine->evaluate(\"0.0\")", 0);
- toUInt16.insert("engine->evaluate(\"123.0\")", 123);
- toUInt16.insert("engine->evaluate(\"6.37e-8\")", 0);
- toUInt16.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toUInt16.insert("engine->evaluate(\"0x43211234\")", 4660);
- toUInt16.insert("engine->evaluate(\"0x10000\")", 0);
- toUInt16.insert("engine->evaluate(\"0x10001\")", 1);
- toUInt16.insert("engine->evaluate(\"NaN\")", 0);
- toUInt16.insert("engine->evaluate(\"Infinity\")", 0);
- toUInt16.insert("engine->evaluate(\"-Infinity\")", 0);
- toUInt16.insert("engine->evaluate(\"'ciao'\")", 0);
- toUInt16.insert("engine->evaluate(\"''\")", 0);
- toUInt16.insert("engine->evaluate(\"'0'\")", 0);
- toUInt16.insert("engine->evaluate(\"'123'\")", 123);
- toUInt16.insert("engine->evaluate(\"'12.4'\")", 12);
- toUInt16.insert("engine->nullValue()", 0);
- toUInt16.insert("engine->undefinedValue()", 0);
- toUInt16.insert("engine->newObject()", 0);
- toUInt16.insert("engine->newArray()", 0);
- toUInt16.insert("engine->newArray(10)", 0);
- toUInt16.insert("engine->newDate(QDateTime())", 0);
- toUInt16.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- toUInt16.insert("engine->newVariant(QVariant())", 0);
- toUInt16.insert("engine->newVariant(QVariant(123))", 123);
- toUInt16.insert("engine->newVariant(QVariant(false))", 0);
- toUInt16.insert("engine->newQObject(0)", 0);
- toUInt16.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << toUInt16.value(expr);
-}
-
-void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value)
-{
- QFETCH(quint16, expected);
- QCOMPARE(value.toUInt16(), expected);
- QCOMPARE(value.toUInt16(), expected);
-}
-
-DEFINE_TEST_FUNCTION(toUInt16)
-
-
-void tst_QScriptValue::equals_initData()
-{
- QTest::addColumn<QScriptValue>("other");
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::equals_makeData(const char *expr)
-{
- static QSet<QString> equals;
- if (equals.isEmpty()) {
- equals.insert("QScriptValue() <=> QScriptValue()");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(false) <=> engine->newArray()");
- equals.insert("QScriptValue(false) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0) <=> engine->newArray()");
- equals.insert("QScriptValue(0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0.0) <=> engine->newArray()");
- equals.insert("QScriptValue(0.0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(123.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newArray()");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(QString()) <=> engine->newArray()");
- equals.insert("QScriptValue(QString()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, false) <=> engine->newArray()");
- equals.insert("QScriptValue(0, false) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, 0) <=> engine->newArray()");
- equals.insert("QScriptValue(0, 0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->newArray()");
- equals.insert("QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newArray()");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->newArray()");
- equals.insert("QScriptValue(0, QString()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, false) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, false) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, 0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")");
- equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"{}\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"{}\") <=> engine->undefinedValue()");
- equals.insert("engine->evaluate(\"{}\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->undefinedValue()");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"{}\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"null\") <=> engine->undefinedValue()");
- equals.insert("engine->evaluate(\"null\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"false\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"0\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"''\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"{}\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"null\")");
- equals.insert("engine->nullValue() <=> engine->nullValue()");
- equals.insert("engine->nullValue() <=> engine->undefinedValue()");
- equals.insert("engine->nullValue() <=> engine->newQObject(0)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->undefinedValue() <=> engine->evaluate(\"{}\")");
- equals.insert("engine->undefinedValue() <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->undefinedValue() <=> engine->evaluate(\"null\")");
- equals.insert("engine->undefinedValue() <=> engine->nullValue()");
- equals.insert("engine->undefinedValue() <=> engine->undefinedValue()");
- equals.insert("engine->undefinedValue() <=> engine->newQObject(0)");
- equals.insert("engine->newObject() <=> engine->newObject()");
- equals.insert("engine->newArray() <=> QScriptValue(false)");
- equals.insert("engine->newArray() <=> QScriptValue(0)");
- equals.insert("engine->newArray() <=> QScriptValue(0.0)");
- equals.insert("engine->newArray() <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->newArray() <=> QScriptValue(QString())");
- equals.insert("engine->newArray() <=> QScriptValue(0, false)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 0)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 0.0)");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString())");
- equals.insert("engine->newArray() <=> QScriptValue(engine, false)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 0)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString())");
- equals.insert("engine->newArray() <=> engine->evaluate(\"false\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"0\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"''\")");
- equals.insert("engine->newArray() <=> engine->newArray()");
- equals.insert("engine->newArray(10) <=> engine->newArray(10)");
- equals.insert("engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(123.0)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, 123.0)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(false)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(QString())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, false)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, false)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"false\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"''\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"{}\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"null\")");
- equals.insert("engine->newQObject(0) <=> engine->nullValue()");
- equals.insert("engine->newQObject(0) <=> engine->undefinedValue()");
- equals.insert("engine->newQObject(0) <=> engine->newQObject(0)");
- equals.insert("engine->newQObject(engine) <=> engine->newQObject(engine)");
- }
- QHash<QString, QScriptValue>::const_iterator it;
- for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
- newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
- }
-}
-
-void tst_QScriptValue::equals_test(const char *, const QScriptValue& value)
-{
- QFETCH(QScriptValue, other);
- QFETCH(bool, expected);
- QCOMPARE(value.equals(other), expected);
-}
-
-DEFINE_TEST_FUNCTION(equals)
-
-
-void tst_QScriptValue::strictlyEquals_initData()
-{
- QTest::addColumn<QScriptValue>("other");
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::strictlyEquals_makeData(const char *expr)
-{
- static QSet<QString> equals;
- if (equals.isEmpty()) {
- equals.insert("QScriptValue() <=> QScriptValue()");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")");
- equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")");
- equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->evaluate(\"{}\") <=> engine->undefinedValue()");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->evaluate(\"undefined\") <=> engine->undefinedValue()");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"null\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"null\")");
- equals.insert("engine->nullValue() <=> engine->nullValue()");
- equals.insert("engine->nullValue() <=> engine->newQObject(0)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
- equals.insert("engine->undefinedValue() <=> engine->evaluate(\"{}\")");
- equals.insert("engine->undefinedValue() <=> engine->evaluate(\"undefined\")");
- equals.insert("engine->undefinedValue() <=> engine->undefinedValue()");
- equals.insert("engine->newObject() <=> engine->newObject()");
- equals.insert("engine->newArray() <=> engine->newArray()");
- equals.insert("engine->newArray(10) <=> engine->newArray(10)");
- equals.insert("engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"null\")");
- equals.insert("engine->newQObject(0) <=> engine->nullValue()");
- equals.insert("engine->newQObject(0) <=> engine->newQObject(0)");
- equals.insert("engine->newQObject(engine) <=> engine->newQObject(engine)");
- }
- QHash<QString, QScriptValue>::const_iterator it;
- for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
- newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
- }
-}
-
-void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value)
-{
- QFETCH(QScriptValue, other);
- QFETCH(bool, expected);
- QCOMPARE(value.strictlyEquals(other), expected);
-}
-
-DEFINE_TEST_FUNCTION(strictlyEquals)
-
-
-void tst_QScriptValue::lessThan_initData()
-{
- QTest::addColumn<QScriptValue>("other");
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::lessThan_makeData(const char *expr)
-{
- static QSet<QString> equals;
- if (equals.isEmpty()) {
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(true) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(true) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(true) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(true) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(true) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(true) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(true) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(false) <=> QScriptValue(true)");
- equals.insert("QScriptValue(false) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(false) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(false) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(false) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(false) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(false) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(false) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(int(122)) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(int(122)) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(uint(124)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(123.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(false)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->nullValue()");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->newArray()");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(-6.37e-8) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0x43211234) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0x10000) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0x10000) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0x10000) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0x10001) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0x10001) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(-qInf()) <=> engine->nullValue()");
- equals.insert("QScriptValue(-qInf()) <=> engine->newArray()");
- equals.insert("QScriptValue(-qInf()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(-qInf()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(-qInf()) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(\"NaN\") <=> engine->newObject()");
- equals.insert("QScriptValue(\"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(\"NaN\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(\"Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(true)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(false)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->nullValue()");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newQObject(0)");
- equals.insert("QScriptValue(\"-Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newObject()");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newArray(10)");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(QString(\"\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(QString()) <=> engine->newObject()");
- equals.insert("QScriptValue(QString()) <=> engine->newArray(10)");
- equals.insert("QScriptValue(QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(QString()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(QString()) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->newObject()");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(QString(\"0\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->newObject()");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(QString(\"123\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->newObject()");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, true) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, true) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, false) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, int(122)) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, uint(124)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, 0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, 123.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, 6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->nullValue()");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->newArray()");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, -6.37e-8) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x43211234) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, 0x10000) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, 0x10001) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->nullValue()");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->newArray()");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, -qInf()) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->newObject()");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, \"NaN\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, \"Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->nullValue()");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newQObject(0)");
- equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newObject()");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newArray(10)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, QString(\"\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QString()) <=> engine->newObject()");
- equals.insert("QScriptValue(0, QString()) <=> engine->newArray(10)");
- equals.insert("QScriptValue(0, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, QString()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, QString()) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->newObject()");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->newObject()");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->newObject()");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, true) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, true) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, false) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, int(122)) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, uint(124)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, 0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, 123.0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, 6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, 0x10000) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, 0x10001) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"''\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->newArray()");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, -qInf()) <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->newObject()");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, \"NaN\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"null\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"false\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0.0\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->nullValue()");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newObject()");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(false))");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(0)");
- equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newObject()");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newArray(10)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"'0'\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newObject()");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newArray(10)");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, QString()) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"true\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->newObject()");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->newObject()");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->newQObject(engine)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Undefined\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Null\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"True\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"False\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"122\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"124\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"123.0\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10000\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10001\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Infinity\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'123'\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->newObject()");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->newVariant(QVariant(123))");
- equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"[]\") <=> engine->newArray(10)");
- equals.insert("engine->evaluate(\"[]\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"[]\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"[]\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->newArray(10)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->newArray(10)");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"Null\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"Null\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"True\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"True\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"False\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"False\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"null\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"true\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"false\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"122\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"122\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"124\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"124\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"0\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"123.0\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"123.0\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"6.37e-8\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"-6.37e-8\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"0x10000\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"0x10000\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"0x10001\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"0x10001\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(false)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(-6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QString())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, false)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, false)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString())");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"[]\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Array.prototype\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"new Array()\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"null\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"false\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0.0\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"''\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->nullValue()");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->newArray()");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(false))");
- equals.insert("engine->evaluate(\"-Infinity\") <=> engine->newQObject(0)");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"''\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"''\") <=> engine->newArray(10)");
- equals.insert("engine->evaluate(\"''\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"''\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"''\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(true)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(6.37e-8)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, true)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, true)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"true\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"'0'\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"'123'\") <=> engine->newQObject(engine)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(int(122))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(uint(124))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(123.0)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0x43211234)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10000)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10001)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(qInf())");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(\"NaN\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(\"ciao\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, int(122))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, uint(124))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 123.0)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, qInf())");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, int(122))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, qInf())");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Number\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Null\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"True\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"False\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"122\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"124\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->newObject()");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->evaluate(\"'12.4'\") <=> engine->newQObject(engine)");
- equals.insert("engine->nullValue() <=> QScriptValue(true)");
- equals.insert("engine->nullValue() <=> QScriptValue(int(122))");
- equals.insert("engine->nullValue() <=> QScriptValue(uint(124))");
- equals.insert("engine->nullValue() <=> QScriptValue(123.0)");
- equals.insert("engine->nullValue() <=> QScriptValue(6.37e-8)");
- equals.insert("engine->nullValue() <=> QScriptValue(0x43211234)");
- equals.insert("engine->nullValue() <=> QScriptValue(0x10000)");
- equals.insert("engine->nullValue() <=> QScriptValue(0x10001)");
- equals.insert("engine->nullValue() <=> QScriptValue(qInf())");
- equals.insert("engine->nullValue() <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->nullValue() <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->nullValue() <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->nullValue() <=> QScriptValue(0, true)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, int(122))");
- equals.insert("engine->nullValue() <=> QScriptValue(0, uint(124))");
- equals.insert("engine->nullValue() <=> QScriptValue(0, 123.0)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->nullValue() <=> QScriptValue(0, qInf())");
- equals.insert("engine->nullValue() <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->nullValue() <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->nullValue() <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, true)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, int(122))");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, qInf())");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->nullValue() <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"true\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"122\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"124\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->nullValue() <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->nullValue() <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newObject() <=> QScriptValue(\"ciao\")");
- equals.insert("engine->newObject() <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newObject() <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->newObject() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newObject() <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->newObject() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Number\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Function\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->newObject() <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->newArray() <=> QScriptValue(true)");
- equals.insert("engine->newArray() <=> QScriptValue(int(122))");
- equals.insert("engine->newArray() <=> QScriptValue(uint(124))");
- equals.insert("engine->newArray() <=> QScriptValue(123.0)");
- equals.insert("engine->newArray() <=> QScriptValue(6.37e-8)");
- equals.insert("engine->newArray() <=> QScriptValue(0x43211234)");
- equals.insert("engine->newArray() <=> QScriptValue(0x10000)");
- equals.insert("engine->newArray() <=> QScriptValue(0x10001)");
- equals.insert("engine->newArray() <=> QScriptValue(qInf())");
- equals.insert("engine->newArray() <=> QScriptValue(\"NaN\")");
- equals.insert("engine->newArray() <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(\"ciao\")");
- equals.insert("engine->newArray() <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray() <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->newArray() <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->newArray() <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->newArray() <=> QScriptValue(0, true)");
- equals.insert("engine->newArray() <=> QScriptValue(0, int(122))");
- equals.insert("engine->newArray() <=> QScriptValue(0, uint(124))");
- equals.insert("engine->newArray() <=> QScriptValue(0, 123.0)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->newArray() <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->newArray() <=> QScriptValue(0, qInf())");
- equals.insert("engine->newArray() <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->newArray() <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->newArray() <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, true)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, int(122))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->newArray() <=> QScriptValue(engine, qInf())");
- equals.insert("engine->newArray() <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->newArray() <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->newArray() <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->newArray() <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Number\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Function\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Null\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"True\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"False\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"true\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"122\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"124\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->newArray() <=> engine->newObject()");
- equals.insert("engine->newArray() <=> engine->newArray(10)");
- equals.insert("engine->newArray() <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->newArray() <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newArray() <=> engine->newQObject(engine)");
- equals.insert("engine->newArray(10) <=> QScriptValue(\"NaN\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(\"-Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(\"ciao\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(QString(\"0\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, \"NaN\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, \"-Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, QString(\"0\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, \"NaN\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, \"-Infinity\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, QString(\"0\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->newArray(10) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Error.prototype\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Number\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Function\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"/foo/\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"new Error()\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Null\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"True\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"False\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"'0'\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->newArray(10) <=> engine->newObject()");
- equals.insert("engine->newArray(10) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- equals.insert("engine->newArray(10) <=> engine->newQObject(engine)");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(\"ciao\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Number\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(uint(124))");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0x43211234)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0x10000)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0x10001)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(qInf())");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, uint(124))");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, qInf())");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, qInf())");
- equals.insert("engine->newVariant(QVariant(123)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"124\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(true)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(int(122))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(uint(124))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(123.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(6.37e-8)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0x43211234)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0x10000)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0x10001)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(qInf())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, true)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, int(122))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, uint(124))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 123.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, qInf())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, true)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, int(122))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, qInf())");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"true\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"122\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"124\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(true)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(int(122))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(uint(124))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(123.0)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(6.37e-8)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0x43211234)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0x10000)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0x10001)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(qInf())");
- equals.insert("engine->newQObject(0) <=> QScriptValue(\"Infinity\")");
- equals.insert("engine->newQObject(0) <=> QScriptValue(QString(\"123\"))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(QString(\"12.4\"))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, true)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, int(122))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, uint(124))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, 123.0)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, 6.37e-8)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, 0x43211234)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, 0x10000)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, 0x10001)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, qInf())");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, \"Infinity\")");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, QString(\"123\"))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(0, QString(\"12.3\"))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, true)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, int(122))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, uint(124))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, 123.0)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, 6.37e-8)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, 0x43211234)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, 0x10000)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, 0x10001)");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, qInf())");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, \"Infinity\")");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, QString(\"123\"))");
- equals.insert("engine->newQObject(0) <=> QScriptValue(engine, QString(\"1.23\"))");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"true\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"122\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"124\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"123.0\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"6.37e-8\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"0x43211234\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"0x10000\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"0x10001\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"Infinity\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"'123'\")");
- equals.insert("engine->newQObject(0) <=> engine->evaluate(\"'12.4'\")");
- equals.insert("engine->newQObject(0) <=> engine->newVariant(QVariant(123))");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(\"ciao\")");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(0, \"ciao\")");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(engine, \"ciao\")");
- equals.insert("engine->newQObject(engine) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Object.prototype\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Function.prototype\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Number\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Function\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 1; })\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"new Object()\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Undefined\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Null\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"True\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"False\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"'ciao'\")");
- equals.insert("engine->newQObject(engine) <=> engine->newObject()");
- equals.insert("engine->newQObject(engine) <=> engine->newQMetaObject(&QObject::staticMetaObject)");
- }
- QHash<QString, QScriptValue>::const_iterator it;
- for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
- newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
- }
-}
-
-void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value)
-{
- QFETCH(QScriptValue, other);
- QFETCH(bool, expected);
- QCOMPARE(value.lessThan(other), expected);
-}
-
-DEFINE_TEST_FUNCTION(lessThan)
-
-
-void tst_QScriptValue::instanceOf_initData()
-{
- QTest::addColumn<QScriptValue>("other");
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::instanceOf_makeData(const char *expr)
-{
- static QSet<QString> equals;
- if (equals.isEmpty()) {
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")");
- equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")");
- equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newObject() <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newArray() <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newArray(10) <=> engine->evaluate(\"Array\")");
- equals.insert("engine->newDate(QDateTime()) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newVariant(QVariant()) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Object\")");
- equals.insert("engine->newQObject(engine) <=> engine->evaluate(\"Object\")");
- }
- QHash<QString, QScriptValue>::const_iterator it;
- for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
- newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
- }
-}
-
-void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value)
-{
- QFETCH(QScriptValue, other);
- QFETCH(bool, expected);
- QCOMPARE(value.instanceOf(other), expected);
-}
-
-DEFINE_TEST_FUNCTION(instanceOf)
-
-
-void tst_QScriptValue::qscriptvalue_castQString_initData()
-{
- QTest::addColumn<QString>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr)
-{
- static QHash<QString, QString> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", "");
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", "");
- value.insert("QScriptValue(QScriptValue::NullValue)", "");
- value.insert("QScriptValue(true)", "true");
- value.insert("QScriptValue(false)", "false");
- value.insert("QScriptValue(int(122))", "122");
- value.insert("QScriptValue(uint(124))", "124");
- value.insert("QScriptValue(0)", "0");
- value.insert("QScriptValue(0.0)", "0");
- value.insert("QScriptValue(123.0)", "123");
- value.insert("QScriptValue(6.37e-8)", "6.37e-8");
- value.insert("QScriptValue(-6.37e-8)", "-6.37e-8");
- value.insert("QScriptValue(0x43211234)", "1126240820");
- value.insert("QScriptValue(0x10000)", "65536");
- value.insert("QScriptValue(0x10001)", "65537");
- value.insert("QScriptValue(qSNaN())", "NaN");
- value.insert("QScriptValue(qQNaN())", "NaN");
- value.insert("QScriptValue(qInf())", "Infinity");
- value.insert("QScriptValue(-qInf())", "-Infinity");
- value.insert("QScriptValue(\"NaN\")", "NaN");
- value.insert("QScriptValue(\"Infinity\")", "Infinity");
- value.insert("QScriptValue(\"-Infinity\")", "-Infinity");
- value.insert("QScriptValue(\"ciao\")", "ciao");
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao");
- value.insert("QScriptValue(QString(\"\"))", "");
- value.insert("QScriptValue(QString())", "");
- value.insert("QScriptValue(QString(\"0\"))", "0");
- value.insert("QScriptValue(QString(\"123\"))", "123");
- value.insert("QScriptValue(QString(\"12.4\"))", "12.4");
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", "");
- value.insert("QScriptValue(0, QScriptValue::NullValue)", "");
- value.insert("QScriptValue(0, true)", "true");
- value.insert("QScriptValue(0, false)", "false");
- value.insert("QScriptValue(0, int(122))", "122");
- value.insert("QScriptValue(0, uint(124))", "124");
- value.insert("QScriptValue(0, 0)", "0");
- value.insert("QScriptValue(0, 0.0)", "0");
- value.insert("QScriptValue(0, 123.0)", "123");
- value.insert("QScriptValue(0, 6.37e-8)", "6.37e-8");
- value.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8");
- value.insert("QScriptValue(0, 0x43211234)", "1126240820");
- value.insert("QScriptValue(0, 0x10000)", "65536");
- value.insert("QScriptValue(0, 0x10001)", "65537");
- value.insert("QScriptValue(0, qSNaN())", "NaN");
- value.insert("QScriptValue(0, qQNaN())", "NaN");
- value.insert("QScriptValue(0, qInf())", "Infinity");
- value.insert("QScriptValue(0, -qInf())", "-Infinity");
- value.insert("QScriptValue(0, \"NaN\")", "NaN");
- value.insert("QScriptValue(0, \"Infinity\")", "Infinity");
- value.insert("QScriptValue(0, \"-Infinity\")", "-Infinity");
- value.insert("QScriptValue(0, \"ciao\")", "ciao");
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao");
- value.insert("QScriptValue(0, QString(\"\"))", "");
- value.insert("QScriptValue(0, QString())", "");
- value.insert("QScriptValue(0, QString(\"0\"))", "0");
- value.insert("QScriptValue(0, QString(\"123\"))", "123");
- value.insert("QScriptValue(0, QString(\"12.3\"))", "12.3");
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", "");
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", "");
- value.insert("QScriptValue(engine, true)", "true");
- value.insert("QScriptValue(engine, false)", "false");
- value.insert("QScriptValue(engine, int(122))", "122");
- value.insert("QScriptValue(engine, uint(124))", "124");
- value.insert("QScriptValue(engine, 0)", "0");
- value.insert("QScriptValue(engine, 0.0)", "0");
- value.insert("QScriptValue(engine, 123.0)", "123");
- value.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8");
- value.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8");
- value.insert("QScriptValue(engine, 0x43211234)", "1126240820");
- value.insert("QScriptValue(engine, 0x10000)", "65536");
- value.insert("QScriptValue(engine, 0x10001)", "65537");
- value.insert("QScriptValue(engine, qSNaN())", "NaN");
- value.insert("QScriptValue(engine, qQNaN())", "NaN");
- value.insert("QScriptValue(engine, qInf())", "Infinity");
- value.insert("QScriptValue(engine, -qInf())", "-Infinity");
- value.insert("QScriptValue(engine, \"NaN\")", "NaN");
- value.insert("QScriptValue(engine, \"Infinity\")", "Infinity");
- value.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity");
- value.insert("QScriptValue(engine, \"ciao\")", "ciao");
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao");
- value.insert("QScriptValue(engine, QString(\"\"))", "");
- value.insert("QScriptValue(engine, QString())", "");
- value.insert("QScriptValue(engine, QString(\"0\"))", "0");
- value.insert("QScriptValue(engine, QString(\"123\"))", "123");
- value.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23");
- value.insert("engine->evaluate(\"[]\")", "");
- value.insert("engine->evaluate(\"{}\")", "");
- value.insert("engine->evaluate(\"Object.prototype\")", "[object Object]");
- value.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date");
- value.insert("engine->evaluate(\"Array.prototype\")", "");
- value.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}");
- value.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error");
- value.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}");
- value.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}");
- value.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}");
- value.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}");
- value.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }");
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }");
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }");
- value.insert("engine->evaluate(\"/foo/\")", "/foo/");
- value.insert("engine->evaluate(\"new Object()\")", "[object Object]");
- value.insert("engine->evaluate(\"new Array()\")", "");
- value.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error");
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", "22");
- value.insert("engine->evaluate(\"Undefined\")", "ReferenceError: Can't find variable: Undefined");
- value.insert("engine->evaluate(\"Null\")", "ReferenceError: Can't find variable: Null");
- value.insert("engine->evaluate(\"True\")", "ReferenceError: Can't find variable: True");
- value.insert("engine->evaluate(\"False\")", "ReferenceError: Can't find variable: False");
- value.insert("engine->evaluate(\"undefined\")", "");
- value.insert("engine->evaluate(\"null\")", "");
- value.insert("engine->evaluate(\"true\")", "true");
- value.insert("engine->evaluate(\"false\")", "false");
- value.insert("engine->evaluate(\"122\")", "122");
- value.insert("engine->evaluate(\"124\")", "124");
- value.insert("engine->evaluate(\"0\")", "0");
- value.insert("engine->evaluate(\"0.0\")", "0");
- value.insert("engine->evaluate(\"123.0\")", "123");
- value.insert("engine->evaluate(\"6.37e-8\")", "6.37e-8");
- value.insert("engine->evaluate(\"-6.37e-8\")", "-6.37e-8");
- value.insert("engine->evaluate(\"0x43211234\")", "1126240820");
- value.insert("engine->evaluate(\"0x10000\")", "65536");
- value.insert("engine->evaluate(\"0x10001\")", "65537");
- value.insert("engine->evaluate(\"NaN\")", "NaN");
- value.insert("engine->evaluate(\"Infinity\")", "Infinity");
- value.insert("engine->evaluate(\"-Infinity\")", "-Infinity");
- value.insert("engine->evaluate(\"'ciao'\")", "ciao");
- value.insert("engine->evaluate(\"''\")", "");
- value.insert("engine->evaluate(\"'0'\")", "0");
- value.insert("engine->evaluate(\"'123'\")", "123");
- value.insert("engine->evaluate(\"'12.4'\")", "12.4");
- value.insert("engine->nullValue()", "");
- value.insert("engine->undefinedValue()", "");
- value.insert("engine->newObject()", "[object Object]");
- value.insert("engine->newArray()", "");
- value.insert("engine->newArray(10)", ",,,,,,,,,");
- value.insert("engine->newDate(QDateTime())", "Invalid Date");
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", "[object QMetaObject]");
- value.insert("engine->newVariant(QVariant())", "undefined");
- value.insert("engine->newVariant(QVariant(123))", "123");
- value.insert("engine->newVariant(QVariant(false))", "false");
- value.insert("engine->newQObject(0)", "");
- value.insert("engine->newQObject(engine)", "QScriptEngine(name = \"\")");
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value)
-{
- QFETCH(QString, expected);
- QCOMPARE(qscriptvalue_cast<QString>(value), expected);
- QCOMPARE(qscriptvalue_cast<QString>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castQString)
-
-
-void tst_QScriptValue::qscriptvalue_castqsreal_initData()
-{
- QTest::addColumn<qsreal>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr)
-{
- static QHash<QString, qsreal> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", 0);
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN());
- value.insert("QScriptValue(QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(true)", 1);
- value.insert("QScriptValue(false)", 0);
- value.insert("QScriptValue(int(122))", 122);
- value.insert("QScriptValue(uint(124))", 124);
- value.insert("QScriptValue(0)", 0);
- value.insert("QScriptValue(0.0)", 0);
- value.insert("QScriptValue(123.0)", 123);
- value.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08);
- value.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08);
- value.insert("QScriptValue(0x43211234)", 1126240820);
- value.insert("QScriptValue(0x10000)", 65536);
- value.insert("QScriptValue(0x10001)", 65537);
- value.insert("QScriptValue(qSNaN())", qQNaN());
- value.insert("QScriptValue(qQNaN())", qQNaN());
- value.insert("QScriptValue(qInf())", qInf());
- value.insert("QScriptValue(-qInf())", qInf());
- value.insert("QScriptValue(\"NaN\")", qQNaN());
- value.insert("QScriptValue(\"Infinity\")", qInf());
- value.insert("QScriptValue(\"-Infinity\")", qInf());
- value.insert("QScriptValue(\"ciao\")", qQNaN());
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN());
- value.insert("QScriptValue(QString(\"\"))", 0);
- value.insert("QScriptValue(QString())", 0);
- value.insert("QScriptValue(QString(\"0\"))", 0);
- value.insert("QScriptValue(QString(\"123\"))", 123);
- value.insert("QScriptValue(QString(\"12.4\"))", 12.4);
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN());
- value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(0, true)", 1);
- value.insert("QScriptValue(0, false)", 0);
- value.insert("QScriptValue(0, int(122))", 122);
- value.insert("QScriptValue(0, uint(124))", 124);
- value.insert("QScriptValue(0, 0)", 0);
- value.insert("QScriptValue(0, 0.0)", 0);
- value.insert("QScriptValue(0, 123.0)", 123);
- value.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08);
- value.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08);
- value.insert("QScriptValue(0, 0x43211234)", 1126240820);
- value.insert("QScriptValue(0, 0x10000)", 65536);
- value.insert("QScriptValue(0, 0x10001)", 65537);
- value.insert("QScriptValue(0, qSNaN())", qQNaN());
- value.insert("QScriptValue(0, qQNaN())", qQNaN());
- value.insert("QScriptValue(0, qInf())", qInf());
- value.insert("QScriptValue(0, -qInf())", qInf());
- value.insert("QScriptValue(0, \"NaN\")", qQNaN());
- value.insert("QScriptValue(0, \"Infinity\")", qInf());
- value.insert("QScriptValue(0, \"-Infinity\")", qInf());
- value.insert("QScriptValue(0, \"ciao\")", qQNaN());
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN());
- value.insert("QScriptValue(0, QString(\"\"))", 0);
- value.insert("QScriptValue(0, QString())", 0);
- value.insert("QScriptValue(0, QString(\"0\"))", 0);
- value.insert("QScriptValue(0, QString(\"123\"))", 123);
- value.insert("QScriptValue(0, QString(\"12.3\"))", 12.3);
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN());
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(engine, true)", 1);
- value.insert("QScriptValue(engine, false)", 0);
- value.insert("QScriptValue(engine, int(122))", 122);
- value.insert("QScriptValue(engine, uint(124))", 124);
- value.insert("QScriptValue(engine, 0)", 0);
- value.insert("QScriptValue(engine, 0.0)", 0);
- value.insert("QScriptValue(engine, 123.0)", 123);
- value.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08);
- value.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08);
- value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- value.insert("QScriptValue(engine, 0x10000)", 65536);
- value.insert("QScriptValue(engine, 0x10001)", 65537);
- value.insert("QScriptValue(engine, qSNaN())", qQNaN());
- value.insert("QScriptValue(engine, qQNaN())", qQNaN());
- value.insert("QScriptValue(engine, qInf())", qInf());
- value.insert("QScriptValue(engine, -qInf())", qInf());
- value.insert("QScriptValue(engine, \"NaN\")", qQNaN());
- value.insert("QScriptValue(engine, \"Infinity\")", qInf());
- value.insert("QScriptValue(engine, \"-Infinity\")", qInf());
- value.insert("QScriptValue(engine, \"ciao\")", qQNaN());
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN());
- value.insert("QScriptValue(engine, QString(\"\"))", 0);
- value.insert("QScriptValue(engine, QString())", 0);
- value.insert("QScriptValue(engine, QString(\"0\"))", 0);
- value.insert("QScriptValue(engine, QString(\"123\"))", 123);
- value.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23);
- value.insert("engine->evaluate(\"[]\")", 0);
- value.insert("engine->evaluate(\"{}\")", qQNaN());
- value.insert("engine->evaluate(\"Object.prototype\")", qQNaN());
- value.insert("engine->evaluate(\"Date.prototype\")", qQNaN());
- value.insert("engine->evaluate(\"Array.prototype\")", 0);
- value.insert("engine->evaluate(\"Function.prototype\")", qQNaN());
- value.insert("engine->evaluate(\"Error.prototype\")", qQNaN());
- value.insert("engine->evaluate(\"Object\")", qQNaN());
- value.insert("engine->evaluate(\"Array\")", qQNaN());
- value.insert("engine->evaluate(\"Number\")", qQNaN());
- value.insert("engine->evaluate(\"Function\")", qQNaN());
- value.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN());
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN());
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN());
- value.insert("engine->evaluate(\"/foo/\")", qQNaN());
- value.insert("engine->evaluate(\"new Object()\")", qQNaN());
- value.insert("engine->evaluate(\"new Array()\")", 0);
- value.insert("engine->evaluate(\"new Error()\")", qQNaN());
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- value.insert("engine->evaluate(\"Undefined\")", qQNaN());
- value.insert("engine->evaluate(\"Null\")", qQNaN());
- value.insert("engine->evaluate(\"True\")", qQNaN());
- value.insert("engine->evaluate(\"False\")", qQNaN());
- value.insert("engine->evaluate(\"undefined\")", qQNaN());
- value.insert("engine->evaluate(\"null\")", 0);
- value.insert("engine->evaluate(\"true\")", 1);
- value.insert("engine->evaluate(\"false\")", 0);
- value.insert("engine->evaluate(\"122\")", 122);
- value.insert("engine->evaluate(\"124\")", 124);
- value.insert("engine->evaluate(\"0\")", 0);
- value.insert("engine->evaluate(\"0.0\")", 0);
- value.insert("engine->evaluate(\"123.0\")", 123);
- value.insert("engine->evaluate(\"6.37e-8\")", 6.369999999999999e-08);
- value.insert("engine->evaluate(\"-6.37e-8\")", -6.369999999999999e-08);
- value.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- value.insert("engine->evaluate(\"0x10000\")", 65536);
- value.insert("engine->evaluate(\"0x10001\")", 65537);
- value.insert("engine->evaluate(\"NaN\")", qQNaN());
- value.insert("engine->evaluate(\"Infinity\")", qInf());
- value.insert("engine->evaluate(\"-Infinity\")", qInf());
- value.insert("engine->evaluate(\"'ciao'\")", qQNaN());
- value.insert("engine->evaluate(\"''\")", 0);
- value.insert("engine->evaluate(\"'0'\")", 0);
- value.insert("engine->evaluate(\"'123'\")", 123);
- value.insert("engine->evaluate(\"'12.4'\")", 12.4);
- value.insert("engine->nullValue()", 0);
- value.insert("engine->undefinedValue()", qQNaN());
- value.insert("engine->newObject()", qQNaN());
- value.insert("engine->newArray()", 0);
- value.insert("engine->newArray(10)", qQNaN());
- value.insert("engine->newDate(QDateTime())", qQNaN());
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", qQNaN());
- value.insert("engine->newVariant(QVariant())", qQNaN());
- value.insert("engine->newVariant(QVariant(123))", 123);
- value.insert("engine->newVariant(QVariant(false))", 0);
- value.insert("engine->newQObject(0)", 0);
- value.insert("engine->newQObject(engine)", qQNaN());
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value)
-{
- QFETCH(qsreal, expected);
- if (qIsNaN(expected)) {
- QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
- QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
- return;
- }
- if (qIsInf(expected)) {
- QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
- QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
- return;
- }
- QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
- QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal)
-
-
-void tst_QScriptValue::qscriptvalue_castbool_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr)
-{
- static QHash<QString, bool> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", false);
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
- value.insert("QScriptValue(QScriptValue::NullValue)", false);
- value.insert("QScriptValue(true)", true);
- value.insert("QScriptValue(false)", false);
- value.insert("QScriptValue(int(122))", true);
- value.insert("QScriptValue(uint(124))", true);
- value.insert("QScriptValue(0)", false);
- value.insert("QScriptValue(0.0)", false);
- value.insert("QScriptValue(123.0)", true);
- value.insert("QScriptValue(6.37e-8)", true);
- value.insert("QScriptValue(-6.37e-8)", true);
- value.insert("QScriptValue(0x43211234)", true);
- value.insert("QScriptValue(0x10000)", true);
- value.insert("QScriptValue(0x10001)", true);
- value.insert("QScriptValue(qSNaN())", false);
- value.insert("QScriptValue(qQNaN())", false);
- value.insert("QScriptValue(qInf())", true);
- value.insert("QScriptValue(-qInf())", true);
- value.insert("QScriptValue(\"NaN\")", true);
- value.insert("QScriptValue(\"Infinity\")", true);
- value.insert("QScriptValue(\"-Infinity\")", true);
- value.insert("QScriptValue(\"ciao\")", true);
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
- value.insert("QScriptValue(QString(\"\"))", false);
- value.insert("QScriptValue(QString())", false);
- value.insert("QScriptValue(QString(\"0\"))", true);
- value.insert("QScriptValue(QString(\"123\"))", true);
- value.insert("QScriptValue(QString(\"12.4\"))", true);
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
- value.insert("QScriptValue(0, QScriptValue::NullValue)", false);
- value.insert("QScriptValue(0, true)", true);
- value.insert("QScriptValue(0, false)", false);
- value.insert("QScriptValue(0, int(122))", true);
- value.insert("QScriptValue(0, uint(124))", true);
- value.insert("QScriptValue(0, 0)", false);
- value.insert("QScriptValue(0, 0.0)", false);
- value.insert("QScriptValue(0, 123.0)", true);
- value.insert("QScriptValue(0, 6.37e-8)", true);
- value.insert("QScriptValue(0, -6.37e-8)", true);
- value.insert("QScriptValue(0, 0x43211234)", true);
- value.insert("QScriptValue(0, 0x10000)", true);
- value.insert("QScriptValue(0, 0x10001)", true);
- value.insert("QScriptValue(0, qSNaN())", false);
- value.insert("QScriptValue(0, qQNaN())", false);
- value.insert("QScriptValue(0, qInf())", true);
- value.insert("QScriptValue(0, -qInf())", true);
- value.insert("QScriptValue(0, \"NaN\")", true);
- value.insert("QScriptValue(0, \"Infinity\")", true);
- value.insert("QScriptValue(0, \"-Infinity\")", true);
- value.insert("QScriptValue(0, \"ciao\")", true);
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
- value.insert("QScriptValue(0, QString(\"\"))", false);
- value.insert("QScriptValue(0, QString())", false);
- value.insert("QScriptValue(0, QString(\"0\"))", true);
- value.insert("QScriptValue(0, QString(\"123\"))", true);
- value.insert("QScriptValue(0, QString(\"12.3\"))", true);
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
- value.insert("QScriptValue(engine, true)", true);
- value.insert("QScriptValue(engine, false)", false);
- value.insert("QScriptValue(engine, int(122))", true);
- value.insert("QScriptValue(engine, uint(124))", true);
- value.insert("QScriptValue(engine, 0)", false);
- value.insert("QScriptValue(engine, 0.0)", false);
- value.insert("QScriptValue(engine, 123.0)", true);
- value.insert("QScriptValue(engine, 6.37e-8)", true);
- value.insert("QScriptValue(engine, -6.37e-8)", true);
- value.insert("QScriptValue(engine, 0x43211234)", true);
- value.insert("QScriptValue(engine, 0x10000)", true);
- value.insert("QScriptValue(engine, 0x10001)", true);
- value.insert("QScriptValue(engine, qSNaN())", false);
- value.insert("QScriptValue(engine, qQNaN())", false);
- value.insert("QScriptValue(engine, qInf())", true);
- value.insert("QScriptValue(engine, -qInf())", true);
- value.insert("QScriptValue(engine, \"NaN\")", true);
- value.insert("QScriptValue(engine, \"Infinity\")", true);
- value.insert("QScriptValue(engine, \"-Infinity\")", true);
- value.insert("QScriptValue(engine, \"ciao\")", true);
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
- value.insert("QScriptValue(engine, QString(\"\"))", false);
- value.insert("QScriptValue(engine, QString())", false);
- value.insert("QScriptValue(engine, QString(\"0\"))", true);
- value.insert("QScriptValue(engine, QString(\"123\"))", true);
- value.insert("QScriptValue(engine, QString(\"1.23\"))", true);
- value.insert("engine->evaluate(\"[]\")", true);
- value.insert("engine->evaluate(\"{}\")", false);
- value.insert("engine->evaluate(\"Object.prototype\")", true);
- value.insert("engine->evaluate(\"Date.prototype\")", true);
- value.insert("engine->evaluate(\"Array.prototype\")", true);
- value.insert("engine->evaluate(\"Function.prototype\")", true);
- value.insert("engine->evaluate(\"Error.prototype\")", true);
- value.insert("engine->evaluate(\"Object\")", true);
- value.insert("engine->evaluate(\"Array\")", true);
- value.insert("engine->evaluate(\"Number\")", true);
- value.insert("engine->evaluate(\"Function\")", true);
- value.insert("engine->evaluate(\"(function() { return 1; })\")", true);
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
- value.insert("engine->evaluate(\"/foo/\")", true);
- value.insert("engine->evaluate(\"new Object()\")", true);
- value.insert("engine->evaluate(\"new Array()\")", true);
- value.insert("engine->evaluate(\"new Error()\")", true);
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", true);
- value.insert("engine->evaluate(\"Undefined\")", true);
- value.insert("engine->evaluate(\"Null\")", true);
- value.insert("engine->evaluate(\"True\")", true);
- value.insert("engine->evaluate(\"False\")", true);
- value.insert("engine->evaluate(\"undefined\")", false);
- value.insert("engine->evaluate(\"null\")", false);
- value.insert("engine->evaluate(\"true\")", true);
- value.insert("engine->evaluate(\"false\")", false);
- value.insert("engine->evaluate(\"122\")", true);
- value.insert("engine->evaluate(\"124\")", true);
- value.insert("engine->evaluate(\"0\")", false);
- value.insert("engine->evaluate(\"0.0\")", false);
- value.insert("engine->evaluate(\"123.0\")", true);
- value.insert("engine->evaluate(\"6.37e-8\")", true);
- value.insert("engine->evaluate(\"-6.37e-8\")", true);
- value.insert("engine->evaluate(\"0x43211234\")", true);
- value.insert("engine->evaluate(\"0x10000\")", true);
- value.insert("engine->evaluate(\"0x10001\")", true);
- value.insert("engine->evaluate(\"NaN\")", false);
- value.insert("engine->evaluate(\"Infinity\")", true);
- value.insert("engine->evaluate(\"-Infinity\")", true);
- value.insert("engine->evaluate(\"'ciao'\")", true);
- value.insert("engine->evaluate(\"''\")", false);
- value.insert("engine->evaluate(\"'0'\")", true);
- value.insert("engine->evaluate(\"'123'\")", true);
- value.insert("engine->evaluate(\"'12.4'\")", true);
- value.insert("engine->nullValue()", false);
- value.insert("engine->undefinedValue()", false);
- value.insert("engine->newObject()", true);
- value.insert("engine->newArray()", true);
- value.insert("engine->newArray(10)", true);
- value.insert("engine->newDate(QDateTime())", true);
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", true);
- value.insert("engine->newVariant(QVariant())", true);
- value.insert("engine->newVariant(QVariant(123))", true);
- value.insert("engine->newVariant(QVariant(false))", true);
- value.insert("engine->newQObject(0)", false);
- value.insert("engine->newQObject(engine)", true);
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(qscriptvalue_cast<bool>(value), expected);
- QCOMPARE(qscriptvalue_cast<bool>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castbool)
-
-
-void tst_QScriptValue::qscriptvalue_castqint32_initData()
-{
- QTest::addColumn<qint32>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr)
-{
- static QHash<QString, qint32> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", 0);
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(true)", 1);
- value.insert("QScriptValue(false)", 0);
- value.insert("QScriptValue(int(122))", 122);
- value.insert("QScriptValue(uint(124))", 124);
- value.insert("QScriptValue(0)", 0);
- value.insert("QScriptValue(0.0)", 0);
- value.insert("QScriptValue(123.0)", 123);
- value.insert("QScriptValue(6.37e-8)", 0);
- value.insert("QScriptValue(-6.37e-8)", 0);
- value.insert("QScriptValue(0x43211234)", 1126240820);
- value.insert("QScriptValue(0x10000)", 65536);
- value.insert("QScriptValue(0x10001)", 65537);
- value.insert("QScriptValue(qSNaN())", 0);
- value.insert("QScriptValue(qQNaN())", 0);
- value.insert("QScriptValue(qInf())", 0);
- value.insert("QScriptValue(-qInf())", 0);
- value.insert("QScriptValue(\"NaN\")", 0);
- value.insert("QScriptValue(\"Infinity\")", 0);
- value.insert("QScriptValue(\"-Infinity\")", 0);
- value.insert("QScriptValue(\"ciao\")", 0);
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(QString(\"\"))", 0);
- value.insert("QScriptValue(QString())", 0);
- value.insert("QScriptValue(QString(\"0\"))", 0);
- value.insert("QScriptValue(QString(\"123\"))", 123);
- value.insert("QScriptValue(QString(\"12.4\"))", 12);
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(0, true)", 1);
- value.insert("QScriptValue(0, false)", 0);
- value.insert("QScriptValue(0, int(122))", 122);
- value.insert("QScriptValue(0, uint(124))", 124);
- value.insert("QScriptValue(0, 0)", 0);
- value.insert("QScriptValue(0, 0.0)", 0);
- value.insert("QScriptValue(0, 123.0)", 123);
- value.insert("QScriptValue(0, 6.37e-8)", 0);
- value.insert("QScriptValue(0, -6.37e-8)", 0);
- value.insert("QScriptValue(0, 0x43211234)", 1126240820);
- value.insert("QScriptValue(0, 0x10000)", 65536);
- value.insert("QScriptValue(0, 0x10001)", 65537);
- value.insert("QScriptValue(0, qSNaN())", 0);
- value.insert("QScriptValue(0, qQNaN())", 0);
- value.insert("QScriptValue(0, qInf())", 0);
- value.insert("QScriptValue(0, -qInf())", 0);
- value.insert("QScriptValue(0, \"NaN\")", 0);
- value.insert("QScriptValue(0, \"Infinity\")", 0);
- value.insert("QScriptValue(0, \"-Infinity\")", 0);
- value.insert("QScriptValue(0, \"ciao\")", 0);
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(0, QString(\"\"))", 0);
- value.insert("QScriptValue(0, QString())", 0);
- value.insert("QScriptValue(0, QString(\"0\"))", 0);
- value.insert("QScriptValue(0, QString(\"123\"))", 123);
- value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(engine, true)", 1);
- value.insert("QScriptValue(engine, false)", 0);
- value.insert("QScriptValue(engine, int(122))", 122);
- value.insert("QScriptValue(engine, uint(124))", 124);
- value.insert("QScriptValue(engine, 0)", 0);
- value.insert("QScriptValue(engine, 0.0)", 0);
- value.insert("QScriptValue(engine, 123.0)", 123);
- value.insert("QScriptValue(engine, 6.37e-8)", 0);
- value.insert("QScriptValue(engine, -6.37e-8)", 0);
- value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- value.insert("QScriptValue(engine, 0x10000)", 65536);
- value.insert("QScriptValue(engine, 0x10001)", 65537);
- value.insert("QScriptValue(engine, qSNaN())", 0);
- value.insert("QScriptValue(engine, qQNaN())", 0);
- value.insert("QScriptValue(engine, qInf())", 0);
- value.insert("QScriptValue(engine, -qInf())", 0);
- value.insert("QScriptValue(engine, \"NaN\")", 0);
- value.insert("QScriptValue(engine, \"Infinity\")", 0);
- value.insert("QScriptValue(engine, \"-Infinity\")", 0);
- value.insert("QScriptValue(engine, \"ciao\")", 0);
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(engine, QString(\"\"))", 0);
- value.insert("QScriptValue(engine, QString())", 0);
- value.insert("QScriptValue(engine, QString(\"0\"))", 0);
- value.insert("QScriptValue(engine, QString(\"123\"))", 123);
- value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- value.insert("engine->evaluate(\"[]\")", 0);
- value.insert("engine->evaluate(\"{}\")", 0);
- value.insert("engine->evaluate(\"Object.prototype\")", 0);
- value.insert("engine->evaluate(\"Date.prototype\")", 0);
- value.insert("engine->evaluate(\"Array.prototype\")", 0);
- value.insert("engine->evaluate(\"Function.prototype\")", 0);
- value.insert("engine->evaluate(\"Error.prototype\")", 0);
- value.insert("engine->evaluate(\"Object\")", 0);
- value.insert("engine->evaluate(\"Array\")", 0);
- value.insert("engine->evaluate(\"Number\")", 0);
- value.insert("engine->evaluate(\"Function\")", 0);
- value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- value.insert("engine->evaluate(\"/foo/\")", 0);
- value.insert("engine->evaluate(\"new Object()\")", 0);
- value.insert("engine->evaluate(\"new Array()\")", 0);
- value.insert("engine->evaluate(\"new Error()\")", 0);
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- value.insert("engine->evaluate(\"Undefined\")", 0);
- value.insert("engine->evaluate(\"Null\")", 0);
- value.insert("engine->evaluate(\"True\")", 0);
- value.insert("engine->evaluate(\"False\")", 0);
- value.insert("engine->evaluate(\"undefined\")", 0);
- value.insert("engine->evaluate(\"null\")", 0);
- value.insert("engine->evaluate(\"true\")", 1);
- value.insert("engine->evaluate(\"false\")", 0);
- value.insert("engine->evaluate(\"122\")", 122);
- value.insert("engine->evaluate(\"124\")", 124);
- value.insert("engine->evaluate(\"0\")", 0);
- value.insert("engine->evaluate(\"0.0\")", 0);
- value.insert("engine->evaluate(\"123.0\")", 123);
- value.insert("engine->evaluate(\"6.37e-8\")", 0);
- value.insert("engine->evaluate(\"-6.37e-8\")", 0);
- value.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- value.insert("engine->evaluate(\"0x10000\")", 65536);
- value.insert("engine->evaluate(\"0x10001\")", 65537);
- value.insert("engine->evaluate(\"NaN\")", 0);
- value.insert("engine->evaluate(\"Infinity\")", 0);
- value.insert("engine->evaluate(\"-Infinity\")", 0);
- value.insert("engine->evaluate(\"'ciao'\")", 0);
- value.insert("engine->evaluate(\"''\")", 0);
- value.insert("engine->evaluate(\"'0'\")", 0);
- value.insert("engine->evaluate(\"'123'\")", 123);
- value.insert("engine->evaluate(\"'12.4'\")", 12);
- value.insert("engine->nullValue()", 0);
- value.insert("engine->undefinedValue()", 0);
- value.insert("engine->newObject()", 0);
- value.insert("engine->newArray()", 0);
- value.insert("engine->newArray(10)", 0);
- value.insert("engine->newDate(QDateTime())", 0);
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- value.insert("engine->newVariant(QVariant())", 0);
- value.insert("engine->newVariant(QVariant(123))", 123);
- value.insert("engine->newVariant(QVariant(false))", 0);
- value.insert("engine->newQObject(0)", 0);
- value.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value)
-{
- QFETCH(qint32, expected);
- QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
- QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castqint32)
-
-
-void tst_QScriptValue::qscriptvalue_castquint32_initData()
-{
- QTest::addColumn<quint32>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr)
-{
- static QHash<QString, quint32> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", 0);
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(true)", 1);
- value.insert("QScriptValue(false)", 0);
- value.insert("QScriptValue(int(122))", 122);
- value.insert("QScriptValue(uint(124))", 124);
- value.insert("QScriptValue(0)", 0);
- value.insert("QScriptValue(0.0)", 0);
- value.insert("QScriptValue(123.0)", 123);
- value.insert("QScriptValue(6.37e-8)", 0);
- value.insert("QScriptValue(-6.37e-8)", 0);
- value.insert("QScriptValue(0x43211234)", 1126240820);
- value.insert("QScriptValue(0x10000)", 65536);
- value.insert("QScriptValue(0x10001)", 65537);
- value.insert("QScriptValue(qSNaN())", 0);
- value.insert("QScriptValue(qQNaN())", 0);
- value.insert("QScriptValue(qInf())", 0);
- value.insert("QScriptValue(-qInf())", 0);
- value.insert("QScriptValue(\"NaN\")", 0);
- value.insert("QScriptValue(\"Infinity\")", 0);
- value.insert("QScriptValue(\"-Infinity\")", 0);
- value.insert("QScriptValue(\"ciao\")", 0);
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(QString(\"\"))", 0);
- value.insert("QScriptValue(QString())", 0);
- value.insert("QScriptValue(QString(\"0\"))", 0);
- value.insert("QScriptValue(QString(\"123\"))", 123);
- value.insert("QScriptValue(QString(\"12.4\"))", 12);
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(0, true)", 1);
- value.insert("QScriptValue(0, false)", 0);
- value.insert("QScriptValue(0, int(122))", 122);
- value.insert("QScriptValue(0, uint(124))", 124);
- value.insert("QScriptValue(0, 0)", 0);
- value.insert("QScriptValue(0, 0.0)", 0);
- value.insert("QScriptValue(0, 123.0)", 123);
- value.insert("QScriptValue(0, 6.37e-8)", 0);
- value.insert("QScriptValue(0, -6.37e-8)", 0);
- value.insert("QScriptValue(0, 0x43211234)", 1126240820);
- value.insert("QScriptValue(0, 0x10000)", 65536);
- value.insert("QScriptValue(0, 0x10001)", 65537);
- value.insert("QScriptValue(0, qSNaN())", 0);
- value.insert("QScriptValue(0, qQNaN())", 0);
- value.insert("QScriptValue(0, qInf())", 0);
- value.insert("QScriptValue(0, -qInf())", 0);
- value.insert("QScriptValue(0, \"NaN\")", 0);
- value.insert("QScriptValue(0, \"Infinity\")", 0);
- value.insert("QScriptValue(0, \"-Infinity\")", 0);
- value.insert("QScriptValue(0, \"ciao\")", 0);
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(0, QString(\"\"))", 0);
- value.insert("QScriptValue(0, QString())", 0);
- value.insert("QScriptValue(0, QString(\"0\"))", 0);
- value.insert("QScriptValue(0, QString(\"123\"))", 123);
- value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(engine, true)", 1);
- value.insert("QScriptValue(engine, false)", 0);
- value.insert("QScriptValue(engine, int(122))", 122);
- value.insert("QScriptValue(engine, uint(124))", 124);
- value.insert("QScriptValue(engine, 0)", 0);
- value.insert("QScriptValue(engine, 0.0)", 0);
- value.insert("QScriptValue(engine, 123.0)", 123);
- value.insert("QScriptValue(engine, 6.37e-8)", 0);
- value.insert("QScriptValue(engine, -6.37e-8)", 0);
- value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- value.insert("QScriptValue(engine, 0x10000)", 65536);
- value.insert("QScriptValue(engine, 0x10001)", 65537);
- value.insert("QScriptValue(engine, qSNaN())", 0);
- value.insert("QScriptValue(engine, qQNaN())", 0);
- value.insert("QScriptValue(engine, qInf())", 0);
- value.insert("QScriptValue(engine, -qInf())", 0);
- value.insert("QScriptValue(engine, \"NaN\")", 0);
- value.insert("QScriptValue(engine, \"Infinity\")", 0);
- value.insert("QScriptValue(engine, \"-Infinity\")", 0);
- value.insert("QScriptValue(engine, \"ciao\")", 0);
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(engine, QString(\"\"))", 0);
- value.insert("QScriptValue(engine, QString())", 0);
- value.insert("QScriptValue(engine, QString(\"0\"))", 0);
- value.insert("QScriptValue(engine, QString(\"123\"))", 123);
- value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- value.insert("engine->evaluate(\"[]\")", 0);
- value.insert("engine->evaluate(\"{}\")", 0);
- value.insert("engine->evaluate(\"Object.prototype\")", 0);
- value.insert("engine->evaluate(\"Date.prototype\")", 0);
- value.insert("engine->evaluate(\"Array.prototype\")", 0);
- value.insert("engine->evaluate(\"Function.prototype\")", 0);
- value.insert("engine->evaluate(\"Error.prototype\")", 0);
- value.insert("engine->evaluate(\"Object\")", 0);
- value.insert("engine->evaluate(\"Array\")", 0);
- value.insert("engine->evaluate(\"Number\")", 0);
- value.insert("engine->evaluate(\"Function\")", 0);
- value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- value.insert("engine->evaluate(\"/foo/\")", 0);
- value.insert("engine->evaluate(\"new Object()\")", 0);
- value.insert("engine->evaluate(\"new Array()\")", 0);
- value.insert("engine->evaluate(\"new Error()\")", 0);
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- value.insert("engine->evaluate(\"Undefined\")", 0);
- value.insert("engine->evaluate(\"Null\")", 0);
- value.insert("engine->evaluate(\"True\")", 0);
- value.insert("engine->evaluate(\"False\")", 0);
- value.insert("engine->evaluate(\"undefined\")", 0);
- value.insert("engine->evaluate(\"null\")", 0);
- value.insert("engine->evaluate(\"true\")", 1);
- value.insert("engine->evaluate(\"false\")", 0);
- value.insert("engine->evaluate(\"122\")", 122);
- value.insert("engine->evaluate(\"124\")", 124);
- value.insert("engine->evaluate(\"0\")", 0);
- value.insert("engine->evaluate(\"0.0\")", 0);
- value.insert("engine->evaluate(\"123.0\")", 123);
- value.insert("engine->evaluate(\"6.37e-8\")", 0);
- value.insert("engine->evaluate(\"-6.37e-8\")", 0);
- value.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- value.insert("engine->evaluate(\"0x10000\")", 65536);
- value.insert("engine->evaluate(\"0x10001\")", 65537);
- value.insert("engine->evaluate(\"NaN\")", 0);
- value.insert("engine->evaluate(\"Infinity\")", 0);
- value.insert("engine->evaluate(\"-Infinity\")", 0);
- value.insert("engine->evaluate(\"'ciao'\")", 0);
- value.insert("engine->evaluate(\"''\")", 0);
- value.insert("engine->evaluate(\"'0'\")", 0);
- value.insert("engine->evaluate(\"'123'\")", 123);
- value.insert("engine->evaluate(\"'12.4'\")", 12);
- value.insert("engine->nullValue()", 0);
- value.insert("engine->undefinedValue()", 0);
- value.insert("engine->newObject()", 0);
- value.insert("engine->newArray()", 0);
- value.insert("engine->newArray(10)", 0);
- value.insert("engine->newDate(QDateTime())", 0);
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- value.insert("engine->newVariant(QVariant())", 0);
- value.insert("engine->newVariant(QVariant(123))", 123);
- value.insert("engine->newVariant(QVariant(false))", 0);
- value.insert("engine->newQObject(0)", 0);
- value.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value)
-{
- QFETCH(quint32, expected);
- QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
- QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castquint32)
-
-
-void tst_QScriptValue::qscriptvalue_castquint16_initData()
-{
- QTest::addColumn<quint16>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr)
-{
- static QHash<QString, quint16> value;
- if (value.isEmpty()) {
- value.insert("QScriptValue()", 0);
- value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(true)", 1);
- value.insert("QScriptValue(false)", 0);
- value.insert("QScriptValue(int(122))", 122);
- value.insert("QScriptValue(uint(124))", 124);
- value.insert("QScriptValue(0)", 0);
- value.insert("QScriptValue(0.0)", 0);
- value.insert("QScriptValue(123.0)", 123);
- value.insert("QScriptValue(6.37e-8)", 0);
- value.insert("QScriptValue(-6.37e-8)", 0);
- value.insert("QScriptValue(0x43211234)", 4660);
- value.insert("QScriptValue(0x10000)", 0);
- value.insert("QScriptValue(0x10001)", 1);
- value.insert("QScriptValue(qSNaN())", 0);
- value.insert("QScriptValue(qQNaN())", 0);
- value.insert("QScriptValue(qInf())", 0);
- value.insert("QScriptValue(-qInf())", 0);
- value.insert("QScriptValue(\"NaN\")", 0);
- value.insert("QScriptValue(\"Infinity\")", 0);
- value.insert("QScriptValue(\"-Infinity\")", 0);
- value.insert("QScriptValue(\"ciao\")", 0);
- value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(QString(\"\"))", 0);
- value.insert("QScriptValue(QString())", 0);
- value.insert("QScriptValue(QString(\"0\"))", 0);
- value.insert("QScriptValue(QString(\"123\"))", 123);
- value.insert("QScriptValue(QString(\"12.4\"))", 12);
- value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(0, true)", 1);
- value.insert("QScriptValue(0, false)", 0);
- value.insert("QScriptValue(0, int(122))", 122);
- value.insert("QScriptValue(0, uint(124))", 124);
- value.insert("QScriptValue(0, 0)", 0);
- value.insert("QScriptValue(0, 0.0)", 0);
- value.insert("QScriptValue(0, 123.0)", 123);
- value.insert("QScriptValue(0, 6.37e-8)", 0);
- value.insert("QScriptValue(0, -6.37e-8)", 0);
- value.insert("QScriptValue(0, 0x43211234)", 4660);
- value.insert("QScriptValue(0, 0x10000)", 0);
- value.insert("QScriptValue(0, 0x10001)", 1);
- value.insert("QScriptValue(0, qSNaN())", 0);
- value.insert("QScriptValue(0, qQNaN())", 0);
- value.insert("QScriptValue(0, qInf())", 0);
- value.insert("QScriptValue(0, -qInf())", 0);
- value.insert("QScriptValue(0, \"NaN\")", 0);
- value.insert("QScriptValue(0, \"Infinity\")", 0);
- value.insert("QScriptValue(0, \"-Infinity\")", 0);
- value.insert("QScriptValue(0, \"ciao\")", 0);
- value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(0, QString(\"\"))", 0);
- value.insert("QScriptValue(0, QString())", 0);
- value.insert("QScriptValue(0, QString(\"0\"))", 0);
- value.insert("QScriptValue(0, QString(\"123\"))", 123);
- value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- value.insert("QScriptValue(engine, true)", 1);
- value.insert("QScriptValue(engine, false)", 0);
- value.insert("QScriptValue(engine, int(122))", 122);
- value.insert("QScriptValue(engine, uint(124))", 124);
- value.insert("QScriptValue(engine, 0)", 0);
- value.insert("QScriptValue(engine, 0.0)", 0);
- value.insert("QScriptValue(engine, 123.0)", 123);
- value.insert("QScriptValue(engine, 6.37e-8)", 0);
- value.insert("QScriptValue(engine, -6.37e-8)", 0);
- value.insert("QScriptValue(engine, 0x43211234)", 4660);
- value.insert("QScriptValue(engine, 0x10000)", 0);
- value.insert("QScriptValue(engine, 0x10001)", 1);
- value.insert("QScriptValue(engine, qSNaN())", 0);
- value.insert("QScriptValue(engine, qQNaN())", 0);
- value.insert("QScriptValue(engine, qInf())", 0);
- value.insert("QScriptValue(engine, -qInf())", 0);
- value.insert("QScriptValue(engine, \"NaN\")", 0);
- value.insert("QScriptValue(engine, \"Infinity\")", 0);
- value.insert("QScriptValue(engine, \"-Infinity\")", 0);
- value.insert("QScriptValue(engine, \"ciao\")", 0);
- value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- value.insert("QScriptValue(engine, QString(\"\"))", 0);
- value.insert("QScriptValue(engine, QString())", 0);
- value.insert("QScriptValue(engine, QString(\"0\"))", 0);
- value.insert("QScriptValue(engine, QString(\"123\"))", 123);
- value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- value.insert("engine->evaluate(\"[]\")", 0);
- value.insert("engine->evaluate(\"{}\")", 0);
- value.insert("engine->evaluate(\"Object.prototype\")", 0);
- value.insert("engine->evaluate(\"Date.prototype\")", 0);
- value.insert("engine->evaluate(\"Array.prototype\")", 0);
- value.insert("engine->evaluate(\"Function.prototype\")", 0);
- value.insert("engine->evaluate(\"Error.prototype\")", 0);
- value.insert("engine->evaluate(\"Object\")", 0);
- value.insert("engine->evaluate(\"Array\")", 0);
- value.insert("engine->evaluate(\"Number\")", 0);
- value.insert("engine->evaluate(\"Function\")", 0);
- value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- value.insert("engine->evaluate(\"/foo/\")", 0);
- value.insert("engine->evaluate(\"new Object()\")", 0);
- value.insert("engine->evaluate(\"new Array()\")", 0);
- value.insert("engine->evaluate(\"new Error()\")", 0);
- value.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- value.insert("engine->evaluate(\"Undefined\")", 0);
- value.insert("engine->evaluate(\"Null\")", 0);
- value.insert("engine->evaluate(\"True\")", 0);
- value.insert("engine->evaluate(\"False\")", 0);
- value.insert("engine->evaluate(\"undefined\")", 0);
- value.insert("engine->evaluate(\"null\")", 0);
- value.insert("engine->evaluate(\"true\")", 1);
- value.insert("engine->evaluate(\"false\")", 0);
- value.insert("engine->evaluate(\"122\")", 122);
- value.insert("engine->evaluate(\"124\")", 124);
- value.insert("engine->evaluate(\"0\")", 0);
- value.insert("engine->evaluate(\"0.0\")", 0);
- value.insert("engine->evaluate(\"123.0\")", 123);
- value.insert("engine->evaluate(\"6.37e-8\")", 0);
- value.insert("engine->evaluate(\"-6.37e-8\")", 0);
- value.insert("engine->evaluate(\"0x43211234\")", 4660);
- value.insert("engine->evaluate(\"0x10000\")", 0);
- value.insert("engine->evaluate(\"0x10001\")", 1);
- value.insert("engine->evaluate(\"NaN\")", 0);
- value.insert("engine->evaluate(\"Infinity\")", 0);
- value.insert("engine->evaluate(\"-Infinity\")", 0);
- value.insert("engine->evaluate(\"'ciao'\")", 0);
- value.insert("engine->evaluate(\"''\")", 0);
- value.insert("engine->evaluate(\"'0'\")", 0);
- value.insert("engine->evaluate(\"'123'\")", 123);
- value.insert("engine->evaluate(\"'12.4'\")", 12);
- value.insert("engine->nullValue()", 0);
- value.insert("engine->undefinedValue()", 0);
- value.insert("engine->newObject()", 0);
- value.insert("engine->newArray()", 0);
- value.insert("engine->newArray(10)", 0);
- value.insert("engine->newDate(QDateTime())", 0);
- value.insert("engine->newQMetaObject(&QObject::staticMetaObject)", 0);
- value.insert("engine->newVariant(QVariant())", 0);
- value.insert("engine->newVariant(QVariant(123))", 123);
- value.insert("engine->newVariant(QVariant(false))", 0);
- value.insert("engine->newQObject(0)", 0);
- value.insert("engine->newQObject(engine)", 0);
- }
- newRow(expr) << value.value(expr);
-}
-
-void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value)
-{
- QFETCH(quint16, expected);
- QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
- QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
-}
-
-DEFINE_TEST_FUNCTION(qscriptvalue_castquint16)
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp
new file mode 100644
index 0000000000..e6518100bc
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp
@@ -0,0 +1,1453 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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$
+**
+****************************************************************************/
+
+/****************************************************************************
+*************** This file has been generated. DO NOT MODIFY! ****************
+****************************************************************************/
+
+#include "tst_qscriptvalue.h"
+
+
+
+void tst_QScriptValue::qscriptvalue_castQString_initData()
+{
+ QTest::addColumn<QString>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castQString_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static QString qscriptvalue_castQString_valueArray [] = {
+ "", "",
+ "", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "12.4", "",
+ "", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "12.3", "",
+ "", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "1.23", "",
+ "", "[object Object]",
+ "Invalid Date", "",
+ "function () {\n [native code]\n}", "Error: Unknown error",
+ "function Object() {\n [native code]\n}", "function Array() {\n [native code]\n}",
+ "function Number() {\n [native code]\n}", "function Function() {\n [native code]\n}",
+ "function () { return 1; }", "function () { return 'ciao'; }",
+ "function () { throw new Error('foo'); }", "/foo/",
+ "[object Object]", "",
+ "Error: Unknown error", "22",
+ "ReferenceError: Can't find variable: Undefined", "ReferenceError: Can't find variable: Null",
+ "ReferenceError: Can't find variable: True", "ReferenceError: Can't find variable: False",
+ "", "",
+ "true", "false",
+ "122", "124",
+ "0", "0",
+ "123", "6.37e-8",
+ "-6.37e-8", "1126240820",
+ "65536", "65537",
+ "NaN", "Infinity",
+ "-Infinity", "ciao",
+ "", "0",
+ "123", "12.4",
+ "", "",
+ "[object Object]", "",
+ ",,,,,,,,,", "Invalid Date",
+ "[object QMetaObject]", "undefined",
+ "123", "false",
+ "", "QScriptEngine(name = \"\")", };
+void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr)
+{
+ static QHash<QString, QString> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castQString_tagArray[i], qscriptvalue_castQString_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(QString, expected);
+ QCOMPARE(qscriptvalue_cast<QString>(value), expected);
+ QCOMPARE(qscriptvalue_cast<QString>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castQString)
+
+
+void tst_QScriptValue::qscriptvalue_castqsreal_initData()
+{
+ QTest::addColumn<qsreal>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castqsreal_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static qsreal qscriptvalue_castqsreal_valueArray [] = {
+ 0, qQNaN(), 0, 1, 0, 122, 124, 0, 0, 123,
+ 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(),
+ qInf(), qInf(), qQNaN(), qQNaN(), 0, 0, 0, 123, 12.4, qQNaN(),
+ 0, 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08,
+ 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(),
+ qQNaN(), qQNaN(), 0, 0, 0, 123, 12.3, qQNaN(), 0, 1,
+ 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536,
+ 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), qQNaN(), qQNaN(),
+ 0, 0, 0, 123, 1.23, 0, qQNaN(), qQNaN(), qQNaN(), 0,
+ qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(),
+ qQNaN(), 0, qQNaN(), 22, qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), 0,
+ 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820,
+ 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4,
+ 0, qQNaN(), qQNaN(), 0, qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0,
+ 0, qQNaN(), };
+void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr)
+{
+ static QHash<QString, qsreal> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castqsreal_tagArray[i], qscriptvalue_castqsreal_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qsreal, expected);
+ if (qIsNaN(expected)) {
+ QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
+ QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
+ return;
+ }
+ if (qIsInf(expected)) {
+ QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
+ QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
+ return;
+ }
+ QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
+ QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal)
+
+
+void tst_QScriptValue::qscriptvalue_castbool_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castbool_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static bool qscriptvalue_castbool_valueArray [] = {
+ false, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, false,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ false, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, true, };
+void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr)
+{
+ static QHash<QString, bool> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castbool_tagArray[i], qscriptvalue_castbool_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(qscriptvalue_cast<bool>(value), expected);
+ QCOMPARE(qscriptvalue_cast<bool>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castbool)
+
+
+void tst_QScriptValue::qscriptvalue_castqint32_initData()
+{
+ QTest::addColumn<qint32>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castqint32_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static qint32 qscriptvalue_castqint32_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 1126240820,
+ 65536, 65537,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr)
+{
+ static QHash<QString, qint32> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castqint32_tagArray[i], qscriptvalue_castqint32_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qint32, expected);
+ QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
+ QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castqint32)
+
+
+void tst_QScriptValue::qscriptvalue_castquint32_initData()
+{
+ QTest::addColumn<quint32>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castquint32_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static quint32 qscriptvalue_castquint32_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 1126240820,
+ 65536, 65537,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr)
+{
+ static QHash<QString, quint32> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castquint32_tagArray[i], qscriptvalue_castquint32_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint32, expected);
+ QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
+ QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castquint32)
+
+
+void tst_QScriptValue::qscriptvalue_castquint16_initData()
+{
+ QTest::addColumn<quint16>("expected");
+ initScriptValues();
+}
+
+static QString qscriptvalue_castquint16_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static quint16 qscriptvalue_castquint16_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 4660,
+ 0, 1,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr)
+{
+ static QHash<QString, quint16> value;
+ if (value.isEmpty()) {
+ value.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ value.insert(qscriptvalue_castquint16_tagArray[i], qscriptvalue_castquint16_valueArray[i]);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint16, expected);
+ QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
+ QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castquint16)
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp
new file mode 100644
index 0000000000..6e1f8ee8db
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp
@@ -0,0 +1,7026 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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$
+**
+****************************************************************************/
+
+/****************************************************************************
+*************** This file has been generated. DO NOT MODIFY! ****************
+****************************************************************************/
+
+#include "tst_qscriptvalue.h"
+
+
+
+void tst_QScriptValue::equals_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString equals_array [] = {
+ "QScriptValue() <=> QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->newQObject(0)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(true) <=> QScriptValue(true)",
+ "QScriptValue(true) <=> QScriptValue(0, true)",
+ "QScriptValue(true) <=> QScriptValue(engine, true)",
+ "QScriptValue(true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(false) <=> QScriptValue(false)",
+ "QScriptValue(false) <=> QScriptValue(0)",
+ "QScriptValue(false) <=> QScriptValue(0.0)",
+ "QScriptValue(false) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(false) <=> QScriptValue(QString())",
+ "QScriptValue(false) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(false) <=> QScriptValue(0, false)",
+ "QScriptValue(false) <=> QScriptValue(0, 0)",
+ "QScriptValue(false) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(false) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(false) <=> QScriptValue(0, QString())",
+ "QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(false) <=> QScriptValue(engine, false)",
+ "QScriptValue(false) <=> QScriptValue(engine, 0)",
+ "QScriptValue(false) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(false) <=> QScriptValue(engine, QString())",
+ "QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(false) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(false) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(false) <=> engine->evaluate(\"0\")",
+ "QScriptValue(false) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(false) <=> engine->evaluate(\"''\")",
+ "QScriptValue(false) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(false) <=> engine->newArray()",
+ "QScriptValue(false) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0) <=> QScriptValue(false)",
+ "QScriptValue(0) <=> QScriptValue(0)",
+ "QScriptValue(0) <=> QScriptValue(0.0)",
+ "QScriptValue(0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0) <=> QScriptValue(QString())",
+ "QScriptValue(0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0) <=> QScriptValue(0, false)",
+ "QScriptValue(0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0) <=> QScriptValue(0, QString())",
+ "QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0) <=> QScriptValue(engine, false)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0) <=> engine->newArray()",
+ "QScriptValue(0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0.0) <=> QScriptValue(false)",
+ "QScriptValue(0.0) <=> QScriptValue(0)",
+ "QScriptValue(0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(0.0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0.0) <=> QScriptValue(QString())",
+ "QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0.0) <=> QScriptValue(0, false)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0.0) <=> QScriptValue(0, QString())",
+ "QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, false)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0.0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0.0) <=> engine->newArray()",
+ "QScriptValue(0.0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(123.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(false)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, false)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(QString(\"\")) <=> engine->newArray()",
+ "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(QString()) <=> QScriptValue(false)",
+ "QScriptValue(QString()) <=> QScriptValue(0)",
+ "QScriptValue(QString()) <=> QScriptValue(0.0)",
+ "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(QString())",
+ "QScriptValue(QString()) <=> QScriptValue(0, false)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 0)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(QString()) <=> QScriptValue(engine, false)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(QString()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(QString()) <=> engine->newArray()",
+ "QScriptValue(QString()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(false)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString(\"123\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->newQObject(0)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(0, true) <=> QScriptValue(true)",
+ "QScriptValue(0, true) <=> QScriptValue(0, true)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, false) <=> QScriptValue(false)",
+ "QScriptValue(0, false) <=> QScriptValue(0)",
+ "QScriptValue(0, false) <=> QScriptValue(0.0)",
+ "QScriptValue(0, false) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, false) <=> QScriptValue(QString())",
+ "QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, false) <=> QScriptValue(0, false)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, false) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, false) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, false) <=> engine->newArray()",
+ "QScriptValue(0, false) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 0) <=> QScriptValue(false)",
+ "QScriptValue(0, 0) <=> QScriptValue(0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(QString())",
+ "QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, false)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, 0) <=> engine->newArray()",
+ "QScriptValue(0, 0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(false)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(QString())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, false)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, 0.0) <=> engine->newArray()",
+ "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, 123.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(false)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->newArray()",
+ "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, QString()) <=> QScriptValue(false)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString())",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, false)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, QString()) <=> engine->newArray()",
+ "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->newQObject(0)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(engine, true) <=> QScriptValue(true)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, false) <=> QScriptValue(false)",
+ "QScriptValue(engine, false) <=> QScriptValue(0)",
+ "QScriptValue(engine, false) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(QString())",
+ "QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, false) <=> engine->newArray()",
+ "QScriptValue(engine, false) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(false)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(QString())",
+ "QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, 0) <=> engine->newArray()",
+ "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(false)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(QString())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, 0.0) <=> engine->newArray()",
+ "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, 123.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newArray()",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(false)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, QString()) <=> engine->newArray()",
+ "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(false)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")",
+ "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"{}\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"{}\") <=> engine->nullValue()",
+ "engine->evaluate(\"{}\") <=> engine->undefinedValue()",
+ "engine->evaluate(\"{}\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(false)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")",
+ "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"undefined\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"undefined\") <=> engine->nullValue()",
+ "engine->evaluate(\"undefined\") <=> engine->undefinedValue()",
+ "engine->evaluate(\"undefined\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"{}\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"null\") <=> engine->nullValue()",
+ "engine->evaluate(\"null\") <=> engine->undefinedValue()",
+ "engine->evaluate(\"null\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"true\") <=> QScriptValue(true)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\") <=> QScriptValue(false)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"false\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"false\") <=> engine->newArray()",
+ "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"122\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(false)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"0\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"0\") <=> engine->newArray()",
+ "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(false)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"0.0\") <=> engine->newArray()",
+ "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"123.0\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(false)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"''\") <=> engine->newArray()",
+ "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(false)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'123'\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->nullValue() <=> engine->evaluate(\"{}\")",
+ "engine->nullValue() <=> engine->evaluate(\"undefined\")",
+ "engine->nullValue() <=> engine->evaluate(\"null\")",
+ "engine->nullValue() <=> engine->nullValue()",
+ "engine->nullValue() <=> engine->undefinedValue()",
+ "engine->nullValue() <=> engine->newQObject(0)",
+ "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->undefinedValue() <=> engine->evaluate(\"{}\")",
+ "engine->undefinedValue() <=> engine->evaluate(\"undefined\")",
+ "engine->undefinedValue() <=> engine->evaluate(\"null\")",
+ "engine->undefinedValue() <=> engine->nullValue()",
+ "engine->undefinedValue() <=> engine->undefinedValue()",
+ "engine->undefinedValue() <=> engine->newQObject(0)",
+ "engine->newObject() <=> engine->newObject()",
+ "engine->newArray() <=> QScriptValue(false)",
+ "engine->newArray() <=> QScriptValue(0)",
+ "engine->newArray() <=> QScriptValue(0.0)",
+ "engine->newArray() <=> QScriptValue(QString(\"\"))",
+ "engine->newArray() <=> QScriptValue(QString())",
+ "engine->newArray() <=> QScriptValue(0, false)",
+ "engine->newArray() <=> QScriptValue(0, 0)",
+ "engine->newArray() <=> QScriptValue(0, 0.0)",
+ "engine->newArray() <=> QScriptValue(0, QString(\"\"))",
+ "engine->newArray() <=> QScriptValue(0, QString())",
+ "engine->newArray() <=> QScriptValue(engine, false)",
+ "engine->newArray() <=> QScriptValue(engine, 0)",
+ "engine->newArray() <=> QScriptValue(engine, 0.0)",
+ "engine->newArray() <=> QScriptValue(engine, QString(\"\"))",
+ "engine->newArray() <=> QScriptValue(engine, QString())",
+ "engine->newArray() <=> engine->evaluate(\"false\")",
+ "engine->newArray() <=> engine->evaluate(\"0\")",
+ "engine->newArray() <=> engine->evaluate(\"0.0\")",
+ "engine->newArray() <=> engine->evaluate(\"''\")",
+ "engine->newArray() <=> engine->newArray()",
+ "engine->newArray(10) <=> engine->newArray(10)",
+ "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(123.0)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(QString(\"123\"))",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 123.0)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, QString(\"123\"))",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 123.0)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"123.0\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"'123'\")",
+ "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(false)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(QString())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"0\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, false)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"0\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, false)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"false\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0.0\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"''\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'0'\")",
+ "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))",
+ "engine->newQObject(0) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> engine->evaluate(\"{}\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"undefined\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"null\")",
+ "engine->newQObject(0) <=> engine->nullValue()",
+ "engine->newQObject(0) <=> engine->undefinedValue()",
+ "engine->newQObject(0) <=> engine->newQObject(0)",
+ "engine->newQObject(engine) <=> engine->newQObject(engine)",};
+
+void tst_QScriptValue::equals_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.reserve(1217);
+ for (unsigned i = 0; i < 1217; ++i)
+ equals.insert(equals_array[i]);
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::equals_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.equals(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(equals)
+
+
+void tst_QScriptValue::strictlyEquals_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString strictlyEquals_array [] = {
+ "QScriptValue() <=> QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(true) <=> QScriptValue(true)",
+ "QScriptValue(true) <=> QScriptValue(0, true)",
+ "QScriptValue(true) <=> QScriptValue(engine, true)",
+ "QScriptValue(true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(false) <=> QScriptValue(false)",
+ "QScriptValue(false) <=> QScriptValue(0, false)",
+ "QScriptValue(false) <=> QScriptValue(engine, false)",
+ "QScriptValue(false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0) <=> QScriptValue(0)",
+ "QScriptValue(0) <=> QScriptValue(0.0)",
+ "QScriptValue(0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0.0) <=> QScriptValue(0)",
+ "QScriptValue(0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(QString())",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(0, true) <=> QScriptValue(true)",
+ "QScriptValue(0, true) <=> QScriptValue(0, true)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, false) <=> QScriptValue(false)",
+ "QScriptValue(0, false) <=> QScriptValue(0, false)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 0) <=> QScriptValue(0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, 123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString())",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")",
+ "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)",
+ "QScriptValue(engine, true) <=> QScriptValue(true)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, false) <=> QScriptValue(false)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")",
+ "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"{}\") <=> engine->undefinedValue()",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")",
+ "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"undefined\") <=> engine->undefinedValue()",
+ "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"null\") <=> engine->nullValue()",
+ "engine->evaluate(\"null\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"true\") <=> QScriptValue(true)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\") <=> QScriptValue(false)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->nullValue() <=> engine->evaluate(\"null\")",
+ "engine->nullValue() <=> engine->nullValue()",
+ "engine->nullValue() <=> engine->newQObject(0)",
+ "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->undefinedValue() <=> engine->evaluate(\"{}\")",
+ "engine->undefinedValue() <=> engine->evaluate(\"undefined\")",
+ "engine->undefinedValue() <=> engine->undefinedValue()",
+ "engine->newObject() <=> engine->newObject()",
+ "engine->newArray() <=> engine->newArray()",
+ "engine->newArray(10) <=> engine->newArray(10)",
+ "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))",
+ "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->newQObject(0) <=> engine->evaluate(\"null\")",
+ "engine->newQObject(0) <=> engine->nullValue()",
+ "engine->newQObject(0) <=> engine->newQObject(0)",
+ "engine->newQObject(engine) <=> engine->newQObject(engine)",};
+
+void tst_QScriptValue::strictlyEquals_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.reserve(523);
+ for (unsigned i = 0; i < 523; ++i)
+ equals.insert(strictlyEquals_array[i]);
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.strictlyEquals(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(strictlyEquals)
+
+
+void tst_QScriptValue::lessThan_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString lessThan_array [] = {
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"true\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"122\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(true) <=> QScriptValue(int(122))",
+ "QScriptValue(true) <=> QScriptValue(uint(124))",
+ "QScriptValue(true) <=> QScriptValue(123.0)",
+ "QScriptValue(true) <=> QScriptValue(0x43211234)",
+ "QScriptValue(true) <=> QScriptValue(0x10000)",
+ "QScriptValue(true) <=> QScriptValue(0x10001)",
+ "QScriptValue(true) <=> QScriptValue(qInf())",
+ "QScriptValue(true) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(true) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(true) <=> QScriptValue(0, int(122))",
+ "QScriptValue(true) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(true) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(true) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(true) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(true) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(true) <=> QScriptValue(0, qInf())",
+ "QScriptValue(true) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(true) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(true) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(true) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(true) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(true) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(true) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(true) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(true) <=> engine->evaluate(\"122\")",
+ "QScriptValue(true) <=> engine->evaluate(\"124\")",
+ "QScriptValue(true) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(true) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(true) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(true) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(true) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(true) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(true) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(true) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(false) <=> QScriptValue(true)",
+ "QScriptValue(false) <=> QScriptValue(int(122))",
+ "QScriptValue(false) <=> QScriptValue(uint(124))",
+ "QScriptValue(false) <=> QScriptValue(123.0)",
+ "QScriptValue(false) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(false) <=> QScriptValue(0x43211234)",
+ "QScriptValue(false) <=> QScriptValue(0x10000)",
+ "QScriptValue(false) <=> QScriptValue(0x10001)",
+ "QScriptValue(false) <=> QScriptValue(qInf())",
+ "QScriptValue(false) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(false) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(false) <=> QScriptValue(0, true)",
+ "QScriptValue(false) <=> QScriptValue(0, int(122))",
+ "QScriptValue(false) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(false) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(false) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(false) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(false) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(false) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(false) <=> QScriptValue(0, qInf())",
+ "QScriptValue(false) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(false) <=> QScriptValue(engine, true)",
+ "QScriptValue(false) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(false) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(false) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(false) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(false) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(false) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(false) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(false) <=> engine->evaluate(\"true\")",
+ "QScriptValue(false) <=> engine->evaluate(\"122\")",
+ "QScriptValue(false) <=> engine->evaluate(\"124\")",
+ "QScriptValue(false) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(false) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(false) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(false) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(false) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(false) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(false) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(false) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(false) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(int(122)) <=> QScriptValue(uint(124))",
+ "QScriptValue(int(122)) <=> QScriptValue(123.0)",
+ "QScriptValue(int(122)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(int(122)) <=> QScriptValue(0x10000)",
+ "QScriptValue(int(122)) <=> QScriptValue(0x10001)",
+ "QScriptValue(int(122)) <=> QScriptValue(qInf())",
+ "QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(int(122)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(int(122)) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(int(122)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(int(122)) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(int(122)) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(uint(124)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(uint(124)) <=> QScriptValue(0x10000)",
+ "QScriptValue(uint(124)) <=> QScriptValue(0x10001)",
+ "QScriptValue(uint(124)) <=> QScriptValue(qInf())",
+ "QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(uint(124)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0) <=> QScriptValue(true)",
+ "QScriptValue(0) <=> QScriptValue(int(122))",
+ "QScriptValue(0) <=> QScriptValue(uint(124))",
+ "QScriptValue(0) <=> QScriptValue(123.0)",
+ "QScriptValue(0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0) <=> QScriptValue(0x10000)",
+ "QScriptValue(0) <=> QScriptValue(0x10001)",
+ "QScriptValue(0) <=> QScriptValue(qInf())",
+ "QScriptValue(0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0) <=> QScriptValue(0, true)",
+ "QScriptValue(0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0) <=> QScriptValue(engine, true)",
+ "QScriptValue(0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0.0) <=> QScriptValue(true)",
+ "QScriptValue(0.0) <=> QScriptValue(int(122))",
+ "QScriptValue(0.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(0.0) <=> QScriptValue(123.0)",
+ "QScriptValue(0.0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(0.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(0.0) <=> QScriptValue(qInf())",
+ "QScriptValue(0.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0.0) <=> QScriptValue(0, true)",
+ "QScriptValue(0.0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, true)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0.0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(123.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(123.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(123.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(123.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(123.0) <=> QScriptValue(qInf())",
+ "QScriptValue(123.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(123.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(123.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(123.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(123.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(123.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(123.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(123.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(false)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QString())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, false)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"null\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"false\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"''\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(-6.37e-8) <=> engine->nullValue()",
+ "QScriptValue(-6.37e-8) <=> engine->newArray()",
+ "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(-6.37e-8) <=> engine->newQObject(0)",
+ "QScriptValue(0x43211234) <=> QScriptValue(qInf())",
+ "QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0x43211234) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0x43211234) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0x10000) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0x10000) <=> QScriptValue(0x10001)",
+ "QScriptValue(0x10000) <=> QScriptValue(qInf())",
+ "QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0x10000) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0x10000) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0x10000) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0x10000) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0x10001) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0x10001) <=> QScriptValue(qInf())",
+ "QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0x10001) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0x10001) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0x10001) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0x10001) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(-qInf()) <=> QScriptValue(true)",
+ "QScriptValue(-qInf()) <=> QScriptValue(false)",
+ "QScriptValue(-qInf()) <=> QScriptValue(int(122))",
+ "QScriptValue(-qInf()) <=> QScriptValue(uint(124))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(123.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0x10000)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0x10001)",
+ "QScriptValue(-qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(QString())",
+ "QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, true)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, false)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QString())",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, true)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, false)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"null\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(-qInf()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(-qInf()) <=> engine->nullValue()",
+ "QScriptValue(-qInf()) <=> engine->newArray()",
+ "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(-qInf()) <=> engine->newQObject(0)",
+ "QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(\"NaN\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(\"NaN\") <=> engine->newObject()",
+ "QScriptValue(\"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(\"NaN\") <=> engine->newQObject(engine)",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(\"Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(\"Infinity\") <=> engine->newObject()",
+ "QScriptValue(\"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(\"Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(true)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(false)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"null\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"true\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"false\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"122\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"124\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(\"-Infinity\") <=> engine->nullValue()",
+ "QScriptValue(\"-Infinity\") <=> engine->newObject()",
+ "QScriptValue(\"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(\"-Infinity\") <=> engine->newQObject(0)",
+ "QScriptValue(\"-Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(true)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(int(122))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(123.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(qInf())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, true)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(QString(\"\")) <=> engine->newObject()",
+ "QScriptValue(QString(\"\")) <=> engine->newArray(10)",
+ "QScriptValue(QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(QString(\"\")) <=> engine->newQObject(engine)",
+ "QScriptValue(QString()) <=> QScriptValue(true)",
+ "QScriptValue(QString()) <=> QScriptValue(int(122))",
+ "QScriptValue(QString()) <=> QScriptValue(uint(124))",
+ "QScriptValue(QString()) <=> QScriptValue(123.0)",
+ "QScriptValue(QString()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(QString()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QString()) <=> QScriptValue(0x10000)",
+ "QScriptValue(QString()) <=> QScriptValue(0x10001)",
+ "QScriptValue(QString()) <=> QScriptValue(qInf())",
+ "QScriptValue(QString()) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(QString()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, true)",
+ "QScriptValue(QString()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(QString()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QString()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QString()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QString()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, true)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QString()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"True\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"False\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(QString()) <=> engine->newObject()",
+ "QScriptValue(QString()) <=> engine->newArray(10)",
+ "QScriptValue(QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(QString()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(QString()) <=> engine->newQObject(engine)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(true)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(QString(\"0\")) <=> engine->newObject()",
+ "QScriptValue(QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(QString(\"0\")) <=> engine->newQObject(engine)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"123\")) <=> engine->newObject()",
+ "QScriptValue(QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(QString(\"123\")) <=> engine->newQObject(engine)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(QString(\"12.4\")) <=> engine->newObject()",
+ "QScriptValue(QString(\"12.4\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(QString(\"12.4\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(QString(\"12.4\")) <=> engine->newQObject(engine)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, true) <=> QScriptValue(int(122))",
+ "QScriptValue(0, true) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, true) <=> QScriptValue(123.0)",
+ "QScriptValue(0, true) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, true) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, true) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, true) <=> QScriptValue(qInf())",
+ "QScriptValue(0, true) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, true) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, true) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, true) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, true) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, true) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, true) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, true) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, true) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, true) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, true) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, true) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, true) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, false) <=> QScriptValue(true)",
+ "QScriptValue(0, false) <=> QScriptValue(int(122))",
+ "QScriptValue(0, false) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, false) <=> QScriptValue(123.0)",
+ "QScriptValue(0, false) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, false) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, false) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, false) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, false) <=> QScriptValue(qInf())",
+ "QScriptValue(0, false) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, false) <=> QScriptValue(0, true)",
+ "QScriptValue(0, false) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, false) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, false) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, false) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, false) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, false) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, false) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, false) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(123.0)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(qInf())",
+ "QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, int(122)) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, int(122)) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(qInf())",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, uint(124)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 0) <=> QScriptValue(true)",
+ "QScriptValue(0, 0) <=> QScriptValue(int(122))",
+ "QScriptValue(0, 0) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, 0) <=> QScriptValue(123.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, 0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 0) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 0) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, true)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, 0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, 0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(true)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(int(122))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(123.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, true)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, 0.0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, 123.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, 6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(false)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, -6.37e-8) <=> engine->nullValue()",
+ "QScriptValue(0, -6.37e-8) <=> engine->newArray()",
+ "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, -6.37e-8) <=> engine->newQObject(0)",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, 0x10000) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(qInf())",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, 0x10001) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(true)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(false)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(int(122))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(123.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QString())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, true)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, false)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, -qInf()) <=> engine->nullValue()",
+ "QScriptValue(0, -qInf()) <=> engine->newArray()",
+ "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, -qInf()) <=> engine->newQObject(0)",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, \"NaN\") <=> engine->newObject()",
+ "QScriptValue(0, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, \"NaN\") <=> engine->newQObject(engine)",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, \"Infinity\") <=> engine->newObject()",
+ "QScriptValue(0, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, \"Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"null\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"false\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, \"-Infinity\") <=> engine->nullValue()",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newObject()",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(0)",
+ "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(true)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QString(\"\")) <=> engine->newObject()",
+ "QScriptValue(0, QString(\"\")) <=> engine->newArray(10)",
+ "QScriptValue(0, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, QString(\"\")) <=> engine->newQObject(engine)",
+ "QScriptValue(0, QString()) <=> QScriptValue(true)",
+ "QScriptValue(0, QString()) <=> QScriptValue(int(122))",
+ "QScriptValue(0, QString()) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QString()) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QString()) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, true)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QString()) <=> engine->newObject()",
+ "QScriptValue(0, QString()) <=> engine->newArray(10)",
+ "QScriptValue(0, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, QString()) <=> engine->newQObject(engine)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QString(\"0\")) <=> engine->newObject()",
+ "QScriptValue(0, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, QString(\"0\")) <=> engine->newQObject(engine)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"123\")) <=> engine->newObject()",
+ "QScriptValue(0, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, QString(\"123\")) <=> engine->newQObject(engine)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->newObject()",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(0, QString(\"12.3\")) <=> engine->newQObject(engine)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, true) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, true) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, true) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, true) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, true) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, true) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, true) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, true) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, true) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, true) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, true) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, true) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, true) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, false) <=> QScriptValue(true)",
+ "QScriptValue(engine, false) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, false) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, false) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, false) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, false) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, false) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, false) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, false) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, false) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, false) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, int(122)) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, int(122)) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(true)",
+ "QScriptValue(engine, 0) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, 0) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, 0) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 0) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, 0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(true)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, 123.0) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, 6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, -6.37e-8) <=> engine->nullValue()",
+ "QScriptValue(engine, -6.37e-8) <=> engine->newArray()",
+ "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, -6.37e-8) <=> engine->newQObject(0)",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(true)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(false)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QString())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"''\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, -qInf()) <=> engine->nullValue()",
+ "QScriptValue(engine, -qInf()) <=> engine->newArray()",
+ "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, -qInf()) <=> engine->newQObject(0)",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, \"NaN\") <=> engine->newObject()",
+ "QScriptValue(engine, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, \"NaN\") <=> engine->newQObject(engine)",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, \"Infinity\") <=> engine->newObject()",
+ "QScriptValue(engine, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, \"Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"null\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"false\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0.0\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->nullValue()",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newObject()",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(false))",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(0)",
+ "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(engine)",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newObject()",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newArray(10)",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, QString(\"\")) <=> engine->newQObject(engine)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(true)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"'0'\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString()) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, QString()) <=> engine->newObject()",
+ "QScriptValue(engine, QString()) <=> engine->newArray(10)",
+ "QScriptValue(engine, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, QString()) <=> engine->newQObject(engine)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"true\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->newObject()",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, QString(\"0\")) <=> engine->newQObject(engine)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->newObject()",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, QString(\"123\")) <=> engine->newQObject(engine)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Undefined\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Null\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"True\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"False\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"122\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"124\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"123.0\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x43211234\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10000\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10001\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Infinity\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'ciao'\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'123'\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'12.4'\")",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->newObject()",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->newVariant(QVariant(123))",
+ "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQObject(engine)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(true)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"[]\") <=> engine->newObject()",
+ "engine->evaluate(\"[]\") <=> engine->newArray(10)",
+ "engine->evaluate(\"[]\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"[]\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"[]\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"Object.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->newObject()",
+ "engine->evaluate(\"Array.prototype\") <=> engine->newArray(10)",
+ "engine->evaluate(\"Array.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"Array.prototype\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"Array.prototype\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->newObject()",
+ "engine->evaluate(\"Error.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"Error.prototype\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"/foo/\") <=> engine->newObject()",
+ "engine->evaluate(\"/foo/\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"/foo/\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"new Object()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(true)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"new Array()\") <=> engine->newObject()",
+ "engine->evaluate(\"new Array()\") <=> engine->newArray(10)",
+ "engine->evaluate(\"new Array()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"new Array()\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"new Array()\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"new Error()\") <=> engine->newObject()",
+ "engine->evaluate(\"new Error()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"new Error()\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"Undefined\") <=> engine->newObject()",
+ "engine->evaluate(\"Undefined\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"Null\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"Null\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Null\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"Null\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Null\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"Null\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"Null\") <=> engine->newObject()",
+ "engine->evaluate(\"Null\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"True\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"True\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"True\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"True\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"True\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"True\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"True\") <=> engine->newObject()",
+ "engine->evaluate(\"True\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"False\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"False\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"False\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"False\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"False\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"False\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"False\") <=> engine->newObject()",
+ "engine->evaluate(\"False\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"null\") <=> QScriptValue(true)",
+ "engine->evaluate(\"null\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"null\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"null\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"null\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"null\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"null\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"null\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"null\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"null\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"null\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"true\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"true\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"true\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"true\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"true\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"true\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"true\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"true\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"true\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"false\") <=> QScriptValue(true)",
+ "engine->evaluate(\"false\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"false\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"false\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"false\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"false\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"false\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"false\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"122\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"122\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"122\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"122\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"122\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"122\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"122\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"122\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"122\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"124\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"124\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"124\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"124\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"124\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"124\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"124\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"124\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(true)",
+ "engine->evaluate(\"0\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"0\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"0\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"0\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"0\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"0\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(true)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"123.0\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"123.0\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(true)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"6.37e-8\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(true)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(false)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->nullValue()",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->newArray()",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"-6.37e-8\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(true)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(false)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(-6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, false)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, false)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString())",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"[]\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"null\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"false\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"''\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"-Infinity\") <=> engine->nullValue()",
+ "engine->evaluate(\"-Infinity\") <=> engine->newArray()",
+ "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(false))",
+ "engine->evaluate(\"-Infinity\") <=> engine->newQObject(0)",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(true)",
+ "engine->evaluate(\"''\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"''\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"''\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"''\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"''\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(\"-Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString(\"0\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, \"-Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"0\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"''\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"''\") <=> engine->newObject()",
+ "engine->evaluate(\"''\") <=> engine->newArray(10)",
+ "engine->evaluate(\"''\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"''\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(true)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(6.37e-8)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"12.4\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, true)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 6.37e-8)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, true)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 6.37e-8)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"true\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'12.4'\")",
+ "engine->evaluate(\"'0'\") <=> engine->newObject()",
+ "engine->evaluate(\"'0'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"'0'\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"'123'\") <=> engine->newObject()",
+ "engine->evaluate(\"'123'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"'123'\") <=> engine->newQObject(engine)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(int(122))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(uint(124))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(123.0)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x43211234)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10000)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10001)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(qInf())",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"NaN\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"Infinity\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"ciao\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"123\"))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, int(122))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, uint(124))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 123.0)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x43211234)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10000)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10001)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, qInf())",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"NaN\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"Infinity\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"ciao\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString(\"123\"))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, int(122))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, uint(124))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 123.0)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x43211234)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10000)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10001)",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, qInf())",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"NaN\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"Infinity\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"ciao\")",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Number\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Null\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"True\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"False\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"122\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"124\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\") <=> engine->newObject()",
+ "engine->evaluate(\"'12.4'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->evaluate(\"'12.4'\") <=> engine->newVariant(QVariant(123))",
+ "engine->evaluate(\"'12.4'\") <=> engine->newQObject(engine)",
+ "engine->nullValue() <=> QScriptValue(true)",
+ "engine->nullValue() <=> QScriptValue(int(122))",
+ "engine->nullValue() <=> QScriptValue(uint(124))",
+ "engine->nullValue() <=> QScriptValue(123.0)",
+ "engine->nullValue() <=> QScriptValue(6.37e-8)",
+ "engine->nullValue() <=> QScriptValue(0x43211234)",
+ "engine->nullValue() <=> QScriptValue(0x10000)",
+ "engine->nullValue() <=> QScriptValue(0x10001)",
+ "engine->nullValue() <=> QScriptValue(qInf())",
+ "engine->nullValue() <=> QScriptValue(\"Infinity\")",
+ "engine->nullValue() <=> QScriptValue(QString(\"123\"))",
+ "engine->nullValue() <=> QScriptValue(QString(\"12.4\"))",
+ "engine->nullValue() <=> QScriptValue(0, true)",
+ "engine->nullValue() <=> QScriptValue(0, int(122))",
+ "engine->nullValue() <=> QScriptValue(0, uint(124))",
+ "engine->nullValue() <=> QScriptValue(0, 123.0)",
+ "engine->nullValue() <=> QScriptValue(0, 6.37e-8)",
+ "engine->nullValue() <=> QScriptValue(0, 0x43211234)",
+ "engine->nullValue() <=> QScriptValue(0, 0x10000)",
+ "engine->nullValue() <=> QScriptValue(0, 0x10001)",
+ "engine->nullValue() <=> QScriptValue(0, qInf())",
+ "engine->nullValue() <=> QScriptValue(0, \"Infinity\")",
+ "engine->nullValue() <=> QScriptValue(0, QString(\"123\"))",
+ "engine->nullValue() <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->nullValue() <=> QScriptValue(engine, true)",
+ "engine->nullValue() <=> QScriptValue(engine, int(122))",
+ "engine->nullValue() <=> QScriptValue(engine, uint(124))",
+ "engine->nullValue() <=> QScriptValue(engine, 123.0)",
+ "engine->nullValue() <=> QScriptValue(engine, 6.37e-8)",
+ "engine->nullValue() <=> QScriptValue(engine, 0x43211234)",
+ "engine->nullValue() <=> QScriptValue(engine, 0x10000)",
+ "engine->nullValue() <=> QScriptValue(engine, 0x10001)",
+ "engine->nullValue() <=> QScriptValue(engine, qInf())",
+ "engine->nullValue() <=> QScriptValue(engine, \"Infinity\")",
+ "engine->nullValue() <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->nullValue() <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->nullValue() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->nullValue() <=> engine->evaluate(\"true\")",
+ "engine->nullValue() <=> engine->evaluate(\"122\")",
+ "engine->nullValue() <=> engine->evaluate(\"124\")",
+ "engine->nullValue() <=> engine->evaluate(\"123.0\")",
+ "engine->nullValue() <=> engine->evaluate(\"6.37e-8\")",
+ "engine->nullValue() <=> engine->evaluate(\"0x43211234\")",
+ "engine->nullValue() <=> engine->evaluate(\"0x10000\")",
+ "engine->nullValue() <=> engine->evaluate(\"0x10001\")",
+ "engine->nullValue() <=> engine->evaluate(\"Infinity\")",
+ "engine->nullValue() <=> engine->evaluate(\"'123'\")",
+ "engine->nullValue() <=> engine->evaluate(\"'12.4'\")",
+ "engine->nullValue() <=> engine->newVariant(QVariant(123))",
+ "engine->newObject() <=> QScriptValue(\"ciao\")",
+ "engine->newObject() <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->newObject() <=> QScriptValue(0, \"ciao\")",
+ "engine->newObject() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->newObject() <=> QScriptValue(engine, \"ciao\")",
+ "engine->newObject() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->newObject() <=> engine->evaluate(\"Function.prototype\")",
+ "engine->newObject() <=> engine->evaluate(\"Object\")",
+ "engine->newObject() <=> engine->evaluate(\"Array\")",
+ "engine->newObject() <=> engine->evaluate(\"Number\")",
+ "engine->newObject() <=> engine->evaluate(\"Function\")",
+ "engine->newObject() <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->newObject() <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->newObject() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->newObject() <=> engine->evaluate(\"'ciao'\")",
+ "engine->newObject() <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newArray() <=> QScriptValue(true)",
+ "engine->newArray() <=> QScriptValue(int(122))",
+ "engine->newArray() <=> QScriptValue(uint(124))",
+ "engine->newArray() <=> QScriptValue(123.0)",
+ "engine->newArray() <=> QScriptValue(6.37e-8)",
+ "engine->newArray() <=> QScriptValue(0x43211234)",
+ "engine->newArray() <=> QScriptValue(0x10000)",
+ "engine->newArray() <=> QScriptValue(0x10001)",
+ "engine->newArray() <=> QScriptValue(qInf())",
+ "engine->newArray() <=> QScriptValue(\"NaN\")",
+ "engine->newArray() <=> QScriptValue(\"Infinity\")",
+ "engine->newArray() <=> QScriptValue(\"-Infinity\")",
+ "engine->newArray() <=> QScriptValue(\"ciao\")",
+ "engine->newArray() <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->newArray() <=> QScriptValue(QString(\"0\"))",
+ "engine->newArray() <=> QScriptValue(QString(\"123\"))",
+ "engine->newArray() <=> QScriptValue(QString(\"12.4\"))",
+ "engine->newArray() <=> QScriptValue(0, true)",
+ "engine->newArray() <=> QScriptValue(0, int(122))",
+ "engine->newArray() <=> QScriptValue(0, uint(124))",
+ "engine->newArray() <=> QScriptValue(0, 123.0)",
+ "engine->newArray() <=> QScriptValue(0, 6.37e-8)",
+ "engine->newArray() <=> QScriptValue(0, 0x43211234)",
+ "engine->newArray() <=> QScriptValue(0, 0x10000)",
+ "engine->newArray() <=> QScriptValue(0, 0x10001)",
+ "engine->newArray() <=> QScriptValue(0, qInf())",
+ "engine->newArray() <=> QScriptValue(0, \"NaN\")",
+ "engine->newArray() <=> QScriptValue(0, \"Infinity\")",
+ "engine->newArray() <=> QScriptValue(0, \"-Infinity\")",
+ "engine->newArray() <=> QScriptValue(0, \"ciao\")",
+ "engine->newArray() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->newArray() <=> QScriptValue(0, QString(\"0\"))",
+ "engine->newArray() <=> QScriptValue(0, QString(\"123\"))",
+ "engine->newArray() <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->newArray() <=> QScriptValue(engine, true)",
+ "engine->newArray() <=> QScriptValue(engine, int(122))",
+ "engine->newArray() <=> QScriptValue(engine, uint(124))",
+ "engine->newArray() <=> QScriptValue(engine, 123.0)",
+ "engine->newArray() <=> QScriptValue(engine, 6.37e-8)",
+ "engine->newArray() <=> QScriptValue(engine, 0x43211234)",
+ "engine->newArray() <=> QScriptValue(engine, 0x10000)",
+ "engine->newArray() <=> QScriptValue(engine, 0x10001)",
+ "engine->newArray() <=> QScriptValue(engine, qInf())",
+ "engine->newArray() <=> QScriptValue(engine, \"NaN\")",
+ "engine->newArray() <=> QScriptValue(engine, \"Infinity\")",
+ "engine->newArray() <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->newArray() <=> QScriptValue(engine, \"ciao\")",
+ "engine->newArray() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->newArray() <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->newArray() <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->newArray() <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->newArray() <=> engine->evaluate(\"Object.prototype\")",
+ "engine->newArray() <=> engine->evaluate(\"Function.prototype\")",
+ "engine->newArray() <=> engine->evaluate(\"Error.prototype\")",
+ "engine->newArray() <=> engine->evaluate(\"Object\")",
+ "engine->newArray() <=> engine->evaluate(\"Array\")",
+ "engine->newArray() <=> engine->evaluate(\"Number\")",
+ "engine->newArray() <=> engine->evaluate(\"Function\")",
+ "engine->newArray() <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->newArray() <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->newArray() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->newArray() <=> engine->evaluate(\"/foo/\")",
+ "engine->newArray() <=> engine->evaluate(\"new Object()\")",
+ "engine->newArray() <=> engine->evaluate(\"new Error()\")",
+ "engine->newArray() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->newArray() <=> engine->evaluate(\"Undefined\")",
+ "engine->newArray() <=> engine->evaluate(\"Null\")",
+ "engine->newArray() <=> engine->evaluate(\"True\")",
+ "engine->newArray() <=> engine->evaluate(\"False\")",
+ "engine->newArray() <=> engine->evaluate(\"true\")",
+ "engine->newArray() <=> engine->evaluate(\"122\")",
+ "engine->newArray() <=> engine->evaluate(\"124\")",
+ "engine->newArray() <=> engine->evaluate(\"123.0\")",
+ "engine->newArray() <=> engine->evaluate(\"6.37e-8\")",
+ "engine->newArray() <=> engine->evaluate(\"0x43211234\")",
+ "engine->newArray() <=> engine->evaluate(\"0x10000\")",
+ "engine->newArray() <=> engine->evaluate(\"0x10001\")",
+ "engine->newArray() <=> engine->evaluate(\"Infinity\")",
+ "engine->newArray() <=> engine->evaluate(\"'ciao'\")",
+ "engine->newArray() <=> engine->evaluate(\"'0'\")",
+ "engine->newArray() <=> engine->evaluate(\"'123'\")",
+ "engine->newArray() <=> engine->evaluate(\"'12.4'\")",
+ "engine->newArray() <=> engine->newObject()",
+ "engine->newArray() <=> engine->newArray(10)",
+ "engine->newArray() <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newArray() <=> engine->newVariant(QVariant(123))",
+ "engine->newArray() <=> engine->newQObject(engine)",
+ "engine->newArray(10) <=> QScriptValue(\"NaN\")",
+ "engine->newArray(10) <=> QScriptValue(\"Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(\"-Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(\"ciao\")",
+ "engine->newArray(10) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->newArray(10) <=> QScriptValue(QString(\"0\"))",
+ "engine->newArray(10) <=> QScriptValue(QString(\"123\"))",
+ "engine->newArray(10) <=> QScriptValue(QString(\"12.4\"))",
+ "engine->newArray(10) <=> QScriptValue(0, \"NaN\")",
+ "engine->newArray(10) <=> QScriptValue(0, \"Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(0, \"-Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(0, \"ciao\")",
+ "engine->newArray(10) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->newArray(10) <=> QScriptValue(0, QString(\"0\"))",
+ "engine->newArray(10) <=> QScriptValue(0, QString(\"123\"))",
+ "engine->newArray(10) <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->newArray(10) <=> QScriptValue(engine, \"NaN\")",
+ "engine->newArray(10) <=> QScriptValue(engine, \"Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(engine, \"-Infinity\")",
+ "engine->newArray(10) <=> QScriptValue(engine, \"ciao\")",
+ "engine->newArray(10) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->newArray(10) <=> QScriptValue(engine, QString(\"0\"))",
+ "engine->newArray(10) <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->newArray(10) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->newArray(10) <=> engine->evaluate(\"Object.prototype\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Function.prototype\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Error.prototype\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Object\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Array\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Number\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Function\")",
+ "engine->newArray(10) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->newArray(10) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->newArray(10) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->newArray(10) <=> engine->evaluate(\"/foo/\")",
+ "engine->newArray(10) <=> engine->evaluate(\"new Object()\")",
+ "engine->newArray(10) <=> engine->evaluate(\"new Error()\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Undefined\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Null\")",
+ "engine->newArray(10) <=> engine->evaluate(\"True\")",
+ "engine->newArray(10) <=> engine->evaluate(\"False\")",
+ "engine->newArray(10) <=> engine->evaluate(\"'ciao'\")",
+ "engine->newArray(10) <=> engine->evaluate(\"'0'\")",
+ "engine->newArray(10) <=> engine->evaluate(\"'123'\")",
+ "engine->newArray(10) <=> engine->evaluate(\"'12.4'\")",
+ "engine->newArray(10) <=> engine->newObject()",
+ "engine->newArray(10) <=> engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newArray(10) <=> engine->newQObject(engine)",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(\"ciao\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, \"ciao\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, \"ciao\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function.prototype\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Array\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Number\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"'ciao'\")",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(uint(124))",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0x43211234)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10000)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10001)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(qInf())",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(\"Infinity\")",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, uint(124))",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x43211234)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10000)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10001)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, qInf())",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(0, \"Infinity\")",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, uint(124))",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x43211234)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10000)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10001)",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, qInf())",
+ "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, \"Infinity\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"124\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x43211234\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10000\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10001\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Infinity\")",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(true)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(int(122))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(uint(124))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(123.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(6.37e-8)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0x43211234)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10000)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10001)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(qInf())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(\"Infinity\")",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"123\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"12.4\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, true)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, int(122))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, uint(124))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 123.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 6.37e-8)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x43211234)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10000)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10001)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, qInf())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, \"Infinity\")",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"123\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, true)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, int(122))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, uint(124))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 123.0)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 6.37e-8)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x43211234)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10000)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10001)",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, qInf())",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, \"Infinity\")",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"true\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"122\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"124\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"123.0\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"6.37e-8\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x43211234\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10000\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10001\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Infinity\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'123'\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'12.4'\")",
+ "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(123))",
+ "engine->newQObject(0) <=> QScriptValue(true)",
+ "engine->newQObject(0) <=> QScriptValue(int(122))",
+ "engine->newQObject(0) <=> QScriptValue(uint(124))",
+ "engine->newQObject(0) <=> QScriptValue(123.0)",
+ "engine->newQObject(0) <=> QScriptValue(6.37e-8)",
+ "engine->newQObject(0) <=> QScriptValue(0x43211234)",
+ "engine->newQObject(0) <=> QScriptValue(0x10000)",
+ "engine->newQObject(0) <=> QScriptValue(0x10001)",
+ "engine->newQObject(0) <=> QScriptValue(qInf())",
+ "engine->newQObject(0) <=> QScriptValue(\"Infinity\")",
+ "engine->newQObject(0) <=> QScriptValue(QString(\"123\"))",
+ "engine->newQObject(0) <=> QScriptValue(QString(\"12.4\"))",
+ "engine->newQObject(0) <=> QScriptValue(0, true)",
+ "engine->newQObject(0) <=> QScriptValue(0, int(122))",
+ "engine->newQObject(0) <=> QScriptValue(0, uint(124))",
+ "engine->newQObject(0) <=> QScriptValue(0, 123.0)",
+ "engine->newQObject(0) <=> QScriptValue(0, 6.37e-8)",
+ "engine->newQObject(0) <=> QScriptValue(0, 0x43211234)",
+ "engine->newQObject(0) <=> QScriptValue(0, 0x10000)",
+ "engine->newQObject(0) <=> QScriptValue(0, 0x10001)",
+ "engine->newQObject(0) <=> QScriptValue(0, qInf())",
+ "engine->newQObject(0) <=> QScriptValue(0, \"Infinity\")",
+ "engine->newQObject(0) <=> QScriptValue(0, QString(\"123\"))",
+ "engine->newQObject(0) <=> QScriptValue(0, QString(\"12.3\"))",
+ "engine->newQObject(0) <=> QScriptValue(engine, true)",
+ "engine->newQObject(0) <=> QScriptValue(engine, int(122))",
+ "engine->newQObject(0) <=> QScriptValue(engine, uint(124))",
+ "engine->newQObject(0) <=> QScriptValue(engine, 123.0)",
+ "engine->newQObject(0) <=> QScriptValue(engine, 6.37e-8)",
+ "engine->newQObject(0) <=> QScriptValue(engine, 0x43211234)",
+ "engine->newQObject(0) <=> QScriptValue(engine, 0x10000)",
+ "engine->newQObject(0) <=> QScriptValue(engine, 0x10001)",
+ "engine->newQObject(0) <=> QScriptValue(engine, qInf())",
+ "engine->newQObject(0) <=> QScriptValue(engine, \"Infinity\")",
+ "engine->newQObject(0) <=> QScriptValue(engine, QString(\"123\"))",
+ "engine->newQObject(0) <=> QScriptValue(engine, QString(\"1.23\"))",
+ "engine->newQObject(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"true\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"122\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"124\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"123.0\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"6.37e-8\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"0x43211234\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"0x10000\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"0x10001\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"Infinity\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"'123'\")",
+ "engine->newQObject(0) <=> engine->evaluate(\"'12.4'\")",
+ "engine->newQObject(0) <=> engine->newVariant(QVariant(123))",
+ "engine->newQObject(engine) <=> QScriptValue(\"ciao\")",
+ "engine->newQObject(engine) <=> QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "engine->newQObject(engine) <=> QScriptValue(0, \"ciao\")",
+ "engine->newQObject(engine) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "engine->newQObject(engine) <=> QScriptValue(engine, \"ciao\")",
+ "engine->newQObject(engine) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Object.prototype\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Function.prototype\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Object\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Array\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Number\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Function\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 1; })\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"new Object()\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Undefined\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Null\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"True\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"False\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"'ciao'\")",
+ "engine->newQObject(engine) <=> engine->newObject()",
+ "engine->newQObject(engine) <=> engine->newQMetaObject(&QObject::staticMetaObject)",};
+
+void tst_QScriptValue::lessThan_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.reserve(5063);
+ for (unsigned i = 0; i < 5063; ++i)
+ equals.insert(lessThan_array[i]);
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.lessThan(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(lessThan)
+
+
+void tst_QScriptValue::instanceOf_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString instanceOf_array [] = {
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")",
+ "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")",
+ "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")",
+ "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")",
+ "engine->newObject() <=> engine->evaluate(\"Object\")",
+ "engine->newArray() <=> engine->evaluate(\"Object\")",
+ "engine->newArray() <=> engine->evaluate(\"Array\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Object\")",
+ "engine->newArray(10) <=> engine->evaluate(\"Array\")",
+ "engine->newDate(QDateTime()) <=> engine->evaluate(\"Object\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")",
+ "engine->newVariant(QVariant()) <=> engine->evaluate(\"Object\")",
+ "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Object\")",
+ "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Object\")",
+ "engine->newQObject(engine) <=> engine->evaluate(\"Object\")",};
+
+void tst_QScriptValue::instanceOf_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.reserve(40);
+ for (unsigned i = 0; i < 40; ++i)
+ equals.insert(instanceOf_array[i]);
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.instanceOf(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(instanceOf)
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp
new file mode 100644
index 0000000000..a9eb2cad87
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp
@@ -0,0 +1,198 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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$
+**
+****************************************************************************/
+
+/****************************************************************************
+*************** This file has been generated. DO NOT MODIFY! ****************
+****************************************************************************/
+
+#include "tst_qscriptvalue.h"
+
+
+void tst_QScriptValue::initScriptValues()
+{
+ m_values.clear();
+ if (engine)
+ delete engine;
+ engine = new QScriptEngine;
+ DEFINE_TEST_VALUE(QScriptValue());
+ DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue));
+ DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue));
+ DEFINE_TEST_VALUE(QScriptValue(true));
+ DEFINE_TEST_VALUE(QScriptValue(false));
+ DEFINE_TEST_VALUE(QScriptValue(int(122)));
+ DEFINE_TEST_VALUE(QScriptValue(uint(124)));
+ DEFINE_TEST_VALUE(QScriptValue(0));
+ DEFINE_TEST_VALUE(QScriptValue(0.0));
+ DEFINE_TEST_VALUE(QScriptValue(123.0));
+ DEFINE_TEST_VALUE(QScriptValue(6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(-6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(0x43211234));
+ DEFINE_TEST_VALUE(QScriptValue(0x10000));
+ DEFINE_TEST_VALUE(QScriptValue(0x10001));
+ DEFINE_TEST_VALUE(QScriptValue(qSNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(qQNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(qInf()));
+ DEFINE_TEST_VALUE(QScriptValue(-qInf()));
+ DEFINE_TEST_VALUE(QScriptValue("NaN"));
+ DEFINE_TEST_VALUE(QScriptValue("Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue("-Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue("ciao"));
+ DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao")));
+ DEFINE_TEST_VALUE(QScriptValue(QString("")));
+ DEFINE_TEST_VALUE(QScriptValue(QString()));
+ DEFINE_TEST_VALUE(QScriptValue(QString("0")));
+ DEFINE_TEST_VALUE(QScriptValue(QString("123")));
+ DEFINE_TEST_VALUE(QScriptValue(QString("12.4")));
+ DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue));
+ DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue));
+ DEFINE_TEST_VALUE(QScriptValue(0, true));
+ DEFINE_TEST_VALUE(QScriptValue(0, false));
+ DEFINE_TEST_VALUE(QScriptValue(0, int(122)));
+ DEFINE_TEST_VALUE(QScriptValue(0, uint(124)));
+ DEFINE_TEST_VALUE(QScriptValue(0, 0));
+ DEFINE_TEST_VALUE(QScriptValue(0, 0.0));
+ DEFINE_TEST_VALUE(QScriptValue(0, 123.0));
+ DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234));
+ DEFINE_TEST_VALUE(QScriptValue(0, 0x10000));
+ DEFINE_TEST_VALUE(QScriptValue(0, 0x10001));
+ DEFINE_TEST_VALUE(QScriptValue(0, qSNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(0, qQNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(0, qInf()));
+ DEFINE_TEST_VALUE(QScriptValue(0, -qInf()));
+ DEFINE_TEST_VALUE(QScriptValue(0, "NaN"));
+ DEFINE_TEST_VALUE(QScriptValue(0, "Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue(0, "ciao"));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao")));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString("")));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString()));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString("0")));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString("123")));
+ DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3")));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue));
+ DEFINE_TEST_VALUE(QScriptValue(engine, true));
+ DEFINE_TEST_VALUE(QScriptValue(engine, false));
+ DEFINE_TEST_VALUE(QScriptValue(engine, int(122)));
+ DEFINE_TEST_VALUE(QScriptValue(engine, uint(124)));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 0));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 0.0));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 123.0));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000));
+ DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001));
+ DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN()));
+ DEFINE_TEST_VALUE(QScriptValue(engine, qInf()));
+ DEFINE_TEST_VALUE(QScriptValue(engine, -qInf()));
+ DEFINE_TEST_VALUE(QScriptValue(engine, "NaN"));
+ DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity"));
+ DEFINE_TEST_VALUE(QScriptValue(engine, "ciao"));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao")));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString("")));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString()));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString("0")));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString("123")));
+ DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23")));
+ DEFINE_TEST_VALUE(engine->evaluate("[]"));
+ DEFINE_TEST_VALUE(engine->evaluate("{}"));
+ DEFINE_TEST_VALUE(engine->evaluate("Object.prototype"));
+ DEFINE_TEST_VALUE(engine->evaluate("Date.prototype"));
+ DEFINE_TEST_VALUE(engine->evaluate("Array.prototype"));
+ DEFINE_TEST_VALUE(engine->evaluate("Function.prototype"));
+ DEFINE_TEST_VALUE(engine->evaluate("Error.prototype"));
+ DEFINE_TEST_VALUE(engine->evaluate("Object"));
+ DEFINE_TEST_VALUE(engine->evaluate("Array"));
+ DEFINE_TEST_VALUE(engine->evaluate("Number"));
+ DEFINE_TEST_VALUE(engine->evaluate("Function"));
+ DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })"));
+ DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })"));
+ DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })"));
+ DEFINE_TEST_VALUE(engine->evaluate("/foo/"));
+ DEFINE_TEST_VALUE(engine->evaluate("new Object()"));
+ DEFINE_TEST_VALUE(engine->evaluate("new Array()"));
+ DEFINE_TEST_VALUE(engine->evaluate("new Error()"));
+ DEFINE_TEST_VALUE(engine->evaluate("a = new Object(); a.foo = 22; a.foo"));
+ DEFINE_TEST_VALUE(engine->evaluate("Undefined"));
+ DEFINE_TEST_VALUE(engine->evaluate("Null"));
+ DEFINE_TEST_VALUE(engine->evaluate("True"));
+ DEFINE_TEST_VALUE(engine->evaluate("False"));
+ DEFINE_TEST_VALUE(engine->evaluate("undefined"));
+ DEFINE_TEST_VALUE(engine->evaluate("null"));
+ DEFINE_TEST_VALUE(engine->evaluate("true"));
+ DEFINE_TEST_VALUE(engine->evaluate("false"));
+ DEFINE_TEST_VALUE(engine->evaluate("122"));
+ DEFINE_TEST_VALUE(engine->evaluate("124"));
+ DEFINE_TEST_VALUE(engine->evaluate("0"));
+ DEFINE_TEST_VALUE(engine->evaluate("0.0"));
+ DEFINE_TEST_VALUE(engine->evaluate("123.0"));
+ DEFINE_TEST_VALUE(engine->evaluate("6.37e-8"));
+ DEFINE_TEST_VALUE(engine->evaluate("-6.37e-8"));
+ DEFINE_TEST_VALUE(engine->evaluate("0x43211234"));
+ DEFINE_TEST_VALUE(engine->evaluate("0x10000"));
+ DEFINE_TEST_VALUE(engine->evaluate("0x10001"));
+ DEFINE_TEST_VALUE(engine->evaluate("NaN"));
+ DEFINE_TEST_VALUE(engine->evaluate("Infinity"));
+ DEFINE_TEST_VALUE(engine->evaluate("-Infinity"));
+ DEFINE_TEST_VALUE(engine->evaluate("'ciao'"));
+ DEFINE_TEST_VALUE(engine->evaluate("''"));
+ DEFINE_TEST_VALUE(engine->evaluate("'0'"));
+ DEFINE_TEST_VALUE(engine->evaluate("'123'"));
+ DEFINE_TEST_VALUE(engine->evaluate("'12.4'"));
+ DEFINE_TEST_VALUE(engine->nullValue());
+ DEFINE_TEST_VALUE(engine->undefinedValue());
+ DEFINE_TEST_VALUE(engine->newObject());
+ DEFINE_TEST_VALUE(engine->newArray());
+ DEFINE_TEST_VALUE(engine->newArray(10));
+ DEFINE_TEST_VALUE(engine->newDate(QDateTime()));
+ DEFINE_TEST_VALUE(engine->newQMetaObject(&QObject::staticMetaObject));
+ DEFINE_TEST_VALUE(engine->newVariant(QVariant()));
+ DEFINE_TEST_VALUE(engine->newVariant(QVariant(123)));
+ DEFINE_TEST_VALUE(engine->newVariant(QVariant(false)));
+ DEFINE_TEST_VALUE(engine->newQObject(0));
+ DEFINE_TEST_VALUE(engine->newQObject(engine));
+}
+
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp
new file mode 100644
index 0000000000..106043b19f
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp
@@ -0,0 +1,830 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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$
+**
+****************************************************************************/
+
+/****************************************************************************
+*************** This file has been generated. DO NOT MODIFY! ****************
+****************************************************************************/
+
+#include "tst_qscriptvalue.h"
+
+
+void tst_QScriptValue::isValid_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isValid_array [] = {
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+void tst_QScriptValue::isValid_makeData(const char* expr)
+{
+ static QSet<QString> isValid;
+ if (isValid.isEmpty()) {
+ isValid.reserve(141);
+ for (unsigned i = 0; i < 141; ++i)
+ isValid.insert(isValid_array[i]);
+ }
+ newRow(expr) << isValid.contains(expr);
+}
+
+void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isValid(), expected);
+ QCOMPARE(value.isValid(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isValid)
+
+
+void tst_QScriptValue::isBool_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isBool_array [] = {
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",};
+
+void tst_QScriptValue::isBool_makeData(const char* expr)
+{
+ static QSet<QString> isBool;
+ if (isBool.isEmpty()) {
+ isBool.reserve(8);
+ for (unsigned i = 0; i < 8; ++i)
+ isBool.insert(isBool_array[i]);
+ }
+ newRow(expr) << isBool.contains(expr);
+}
+
+void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isBool(), expected);
+ QCOMPARE(value.isBool(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isBool)
+
+
+void tst_QScriptValue::isBoolean_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isBoolean_array [] = {
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",};
+
+void tst_QScriptValue::isBoolean_makeData(const char* expr)
+{
+ static QSet<QString> isBoolean;
+ if (isBoolean.isEmpty()) {
+ isBoolean.reserve(8);
+ for (unsigned i = 0; i < 8; ++i)
+ isBoolean.insert(isBoolean_array[i]);
+ }
+ newRow(expr) << isBoolean.contains(expr);
+}
+
+void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isBoolean(), expected);
+ QCOMPARE(value.isBoolean(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isBoolean)
+
+
+void tst_QScriptValue::isNumber_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isNumber_array [] = {
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",};
+
+void tst_QScriptValue::isNumber_makeData(const char* expr)
+{
+ static QSet<QString> isNumber;
+ if (isNumber.isEmpty()) {
+ isNumber.reserve(56);
+ for (unsigned i = 0; i < 56; ++i)
+ isNumber.insert(isNumber_array[i]);
+ }
+ newRow(expr) << isNumber.contains(expr);
+}
+
+void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isNumber(), expected);
+ QCOMPARE(value.isNumber(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isNumber)
+
+
+void tst_QScriptValue::isFunction_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isFunction_array [] = {
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",};
+
+void tst_QScriptValue::isFunction_makeData(const char* expr)
+{
+ static QSet<QString> isFunction;
+ if (isFunction.isEmpty()) {
+ isFunction.reserve(10);
+ for (unsigned i = 0; i < 10; ++i)
+ isFunction.insert(isFunction_array[i]);
+ }
+ newRow(expr) << isFunction.contains(expr);
+}
+
+void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isFunction(), expected);
+ QCOMPARE(value.isFunction(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isFunction)
+
+
+void tst_QScriptValue::isNull_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isNull_array [] = {
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "engine->evaluate(\"null\")",
+ "engine->nullValue()",
+ "engine->newQObject(0)",};
+
+void tst_QScriptValue::isNull_makeData(const char* expr)
+{
+ static QSet<QString> isNull;
+ if (isNull.isEmpty()) {
+ isNull.reserve(6);
+ for (unsigned i = 0; i < 6; ++i)
+ isNull.insert(isNull_array[i]);
+ }
+ newRow(expr) << isNull.contains(expr);
+}
+
+void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isNull(), expected);
+ QCOMPARE(value.isNull(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isNull)
+
+
+void tst_QScriptValue::isString_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isString_array [] = {
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",};
+
+void tst_QScriptValue::isString_makeData(const char* expr)
+{
+ static QSet<QString> isString;
+ if (isString.isEmpty()) {
+ isString.reserve(35);
+ for (unsigned i = 0; i < 35; ++i)
+ isString.insert(isString_array[i]);
+ }
+ newRow(expr) << isString.contains(expr);
+}
+
+void tst_QScriptValue::isString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isString(), expected);
+ QCOMPARE(value.isString(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isString)
+
+
+void tst_QScriptValue::isUndefined_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isUndefined_array [] = {
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->undefinedValue()",};
+
+void tst_QScriptValue::isUndefined_makeData(const char* expr)
+{
+ static QSet<QString> isUndefined;
+ if (isUndefined.isEmpty()) {
+ isUndefined.reserve(6);
+ for (unsigned i = 0; i < 6; ++i)
+ isUndefined.insert(isUndefined_array[i]);
+ }
+ newRow(expr) << isUndefined.contains(expr);
+}
+
+void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isUndefined(), expected);
+ QCOMPARE(value.isUndefined(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isUndefined)
+
+
+void tst_QScriptValue::isVariant_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isVariant_array [] = {
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",};
+
+void tst_QScriptValue::isVariant_makeData(const char* expr)
+{
+ static QSet<QString> isVariant;
+ if (isVariant.isEmpty()) {
+ isVariant.reserve(3);
+ for (unsigned i = 0; i < 3; ++i)
+ isVariant.insert(isVariant_array[i]);
+ }
+ newRow(expr) << isVariant.contains(expr);
+}
+
+void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isVariant(), expected);
+ QCOMPARE(value.isVariant(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isVariant)
+
+
+void tst_QScriptValue::isQObject_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isQObject_array [] = {
+ "engine->newQObject(engine)",};
+
+void tst_QScriptValue::isQObject_makeData(const char* expr)
+{
+ static QSet<QString> isQObject;
+ if (isQObject.isEmpty()) {
+ isQObject.reserve(1);
+ for (unsigned i = 0; i < 1; ++i)
+ isQObject.insert(isQObject_array[i]);
+ }
+ newRow(expr) << isQObject.contains(expr);
+}
+
+void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isQObject(), expected);
+ QCOMPARE(value.isQObject(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isQObject)
+
+
+void tst_QScriptValue::isQMetaObject_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isQMetaObject_array [] = {
+ "engine->newQMetaObject(&QObject::staticMetaObject)",};
+
+void tst_QScriptValue::isQMetaObject_makeData(const char* expr)
+{
+ static QSet<QString> isQMetaObject;
+ if (isQMetaObject.isEmpty()) {
+ isQMetaObject.reserve(1);
+ for (unsigned i = 0; i < 1; ++i)
+ isQMetaObject.insert(isQMetaObject_array[i]);
+ }
+ newRow(expr) << isQMetaObject.contains(expr);
+}
+
+void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isQMetaObject(), expected);
+ QCOMPARE(value.isQMetaObject(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isQMetaObject)
+
+
+void tst_QScriptValue::isObject_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isObject_array [] = {
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(engine)",};
+
+void tst_QScriptValue::isObject_makeData(const char* expr)
+{
+ static QSet<QString> isObject;
+ if (isObject.isEmpty()) {
+ isObject.reserve(30);
+ for (unsigned i = 0; i < 30; ++i)
+ isObject.insert(isObject_array[i]);
+ }
+ newRow(expr) << isObject.contains(expr);
+}
+
+void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isObject(), expected);
+ QCOMPARE(value.isObject(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isObject)
+
+
+void tst_QScriptValue::isDate_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isDate_array [] = {
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->newDate(QDateTime())",};
+
+void tst_QScriptValue::isDate_makeData(const char* expr)
+{
+ static QSet<QString> isDate;
+ if (isDate.isEmpty()) {
+ isDate.reserve(2);
+ for (unsigned i = 0; i < 2; ++i)
+ isDate.insert(isDate_array[i]);
+ }
+ newRow(expr) << isDate.contains(expr);
+}
+
+void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isDate(), expected);
+ QCOMPARE(value.isDate(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isDate)
+
+
+void tst_QScriptValue::isRegExp_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isRegExp_array [] = {
+ "engine->evaluate(\"/foo/\")",};
+
+void tst_QScriptValue::isRegExp_makeData(const char* expr)
+{
+ static QSet<QString> isRegExp;
+ if (isRegExp.isEmpty()) {
+ isRegExp.reserve(1);
+ for (unsigned i = 0; i < 1; ++i)
+ isRegExp.insert(isRegExp_array[i]);
+ }
+ newRow(expr) << isRegExp.contains(expr);
+}
+
+void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isRegExp(), expected);
+ QCOMPARE(value.isRegExp(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isRegExp)
+
+
+void tst_QScriptValue::isArray_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isArray_array [] = {
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->newArray()",
+ "engine->newArray(10)",};
+
+void tst_QScriptValue::isArray_makeData(const char* expr)
+{
+ static QSet<QString> isArray;
+ if (isArray.isEmpty()) {
+ isArray.reserve(5);
+ for (unsigned i = 0; i < 5; ++i)
+ isArray.insert(isArray_array[i]);
+ }
+ newRow(expr) << isArray.contains(expr);
+}
+
+void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isArray(), expected);
+ QCOMPARE(value.isArray(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isArray)
+
+
+void tst_QScriptValue::isError_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString isError_array [] = {
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",};
+
+void tst_QScriptValue::isError_makeData(const char* expr)
+{
+ static QSet<QString> isError;
+ if (isError.isEmpty()) {
+ isError.reserve(6);
+ for (unsigned i = 0; i < 6; ++i)
+ isError.insert(isError_array[i]);
+ }
+ newRow(expr) << isError.contains(expr);
+}
+
+void tst_QScriptValue::isError_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isError(), expected);
+ QCOMPARE(value.isError(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isError)
+
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp
new file mode 100644
index 0000000000..754f4e0b25
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp
@@ -0,0 +1,1897 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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$
+**
+****************************************************************************/
+
+/****************************************************************************
+*************** This file has been generated. DO NOT MODIFY! ****************
+****************************************************************************/
+
+#include "tst_qscriptvalue.h"
+
+
+
+void tst_QScriptValue::toString_initData()
+{
+ QTest::addColumn<QString>("expected");
+ initScriptValues();
+}
+
+static QString toString_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static QString toString_valueArray [] = {
+ "", "undefined",
+ "null", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "12.4", "undefined",
+ "null", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "12.3", "undefined",
+ "null", "true",
+ "false", "122",
+ "124", "0",
+ "0", "123",
+ "6.37e-8", "-6.37e-8",
+ "1126240820", "65536",
+ "65537", "NaN",
+ "NaN", "Infinity",
+ "-Infinity", "NaN",
+ "Infinity", "-Infinity",
+ "ciao", "ciao",
+ "", "",
+ "0", "123",
+ "1.23", "",
+ "undefined", "[object Object]",
+ "Invalid Date", "",
+ "function () {\n [native code]\n}", "Error: Unknown error",
+ "function Object() {\n [native code]\n}", "function Array() {\n [native code]\n}",
+ "function Number() {\n [native code]\n}", "function Function() {\n [native code]\n}",
+ "function () { return 1; }", "function () { return 'ciao'; }",
+ "function () { throw new Error('foo'); }", "/foo/",
+ "[object Object]", "",
+ "Error: Unknown error", "22",
+ "ReferenceError: Can't find variable: Undefined", "ReferenceError: Can't find variable: Null",
+ "ReferenceError: Can't find variable: True", "ReferenceError: Can't find variable: False",
+ "undefined", "null",
+ "true", "false",
+ "122", "124",
+ "0", "0",
+ "123", "6.37e-8",
+ "-6.37e-8", "1126240820",
+ "65536", "65537",
+ "NaN", "Infinity",
+ "-Infinity", "ciao",
+ "", "0",
+ "123", "12.4",
+ "null", "undefined",
+ "[object Object]", "",
+ ",,,,,,,,,", "Invalid Date",
+ "[object QMetaObject]", "undefined",
+ "123", "false",
+ "null", "QScriptEngine(name = \"\")", };
+
+void tst_QScriptValue::toString_makeData(const char* expr)
+{
+ static QHash<QString, QString> toString;
+ if (toString.isEmpty()) {
+ toString.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toString.insert(toString_tagArray[i], toString_valueArray[i]);
+ }
+ newRow(expr) << toString.value(expr);
+}
+
+void tst_QScriptValue::toString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(QString, expected);
+ QCOMPARE(value.toString(), expected);
+ QCOMPARE(value.toString(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toString)
+
+
+void tst_QScriptValue::toNumber_initData()
+{
+ QTest::addColumn<qsreal>("expected");
+ initScriptValues();
+}
+
+static QString toNumber_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static qsreal toNumber_valueArray [] = {
+ 0, qQNaN(), 0, 1, 0, 122, 124, 0, 0, 123,
+ 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(),
+ qInf(), qInf(), qQNaN(), qQNaN(), 0, 0, 0, 123, 12.4, qQNaN(),
+ 0, 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08,
+ 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(),
+ qQNaN(), qQNaN(), 0, 0, 0, 123, 12.3, qQNaN(), 0, 1,
+ 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536,
+ 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), qQNaN(), qQNaN(),
+ 0, 0, 0, 123, 1.23, 0, qQNaN(), qQNaN(), qQNaN(), 0,
+ qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(),
+ qQNaN(), 0, qQNaN(), 22, qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), 0,
+ 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820,
+ 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4,
+ 0, qQNaN(), qQNaN(), 0, qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0,
+ 0, qQNaN(), };
+void tst_QScriptValue::toNumber_makeData(const char* expr)
+{
+ static QHash<QString, qsreal> toNumber;
+ if (toNumber.isEmpty()) {
+ toNumber.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toNumber.insert(toNumber_tagArray[i], toNumber_valueArray[i]);
+ }
+ newRow(expr) << toNumber.value(expr);
+}
+
+void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qsreal, expected);
+ if (qIsNaN(expected)) {
+ QVERIFY(qIsNaN(value.toNumber()));
+ return;
+ }
+ if (qIsInf(expected)) {
+ QVERIFY(qIsInf(value.toNumber()));
+ QVERIFY(qIsInf(value.toNumber()));
+ return;
+ }
+ QCOMPARE(value.toNumber(), expected);
+ QCOMPARE(value.toNumber(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toNumber)
+
+
+void tst_QScriptValue::toBool_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString toBool_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static bool toBool_valueArray [] = {
+ false, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, false,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ false, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, true, };
+
+void tst_QScriptValue::toBool_makeData(const char* expr)
+{
+ static QHash<QString, bool> toBool;
+ if (toBool.isEmpty()) {
+ toBool.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toBool.insert(toBool_tagArray[i], toBool_valueArray[i]);
+ }
+ newRow(expr) << toBool.value(expr);
+}
+
+void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.toBool(), expected);
+ QCOMPARE(value.toBool(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toBool)
+
+
+void tst_QScriptValue::toBoolean_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+static QString toBoolean_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static bool toBoolean_valueArray [] = {
+ false, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, false,
+ false, true,
+ false, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, false,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, false,
+ true, false,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ false, true,
+ true, true,
+ false, true,
+ true, true,
+ false, false,
+ true, true,
+ true, true,
+ true, true,
+ true, true,
+ false, true, };
+
+void tst_QScriptValue::toBoolean_makeData(const char* expr)
+{
+ static QHash<QString, bool> toBoolean;
+ if (toBoolean.isEmpty()) {
+ toBoolean.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toBoolean.insert(toBoolean_tagArray[i], toBoolean_valueArray[i]);
+ }
+ newRow(expr) << toBoolean.value(expr);
+}
+
+void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.toBoolean(), expected);
+ QCOMPARE(value.toBoolean(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toBoolean)
+
+
+void tst_QScriptValue::toInteger_initData()
+{
+ QTest::addColumn<qsreal>("expected");
+ initScriptValues();
+}
+
+static QString toInteger_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+static qsreal toInteger_valueArray [] = {
+ 0, 0, 0, 1, 0, 122, 124, 0, 0, 123,
+ 0, 0, 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0,
+ qInf(), qInf(), 0, 0, 0, 0, 0, 123, 12, 0,
+ 0, 1, 0, 122, 124, 0, 0, 123, 0, 0,
+ 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(),
+ 0, 0, 0, 0, 0, 123, 12, 0, 0, 1,
+ 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, 65536,
+ 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), 0, 0,
+ 0, 0, 0, 123, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
+ 1, 0, 122, 124, 0, 0, 123, 0, 0, 1126240820,
+ 65536, 65537, 0, qInf(), qInf(), 0, 0, 0, 123, 12,
+ 0, 0, 0, 0, 0, 0, 0, 0, 123, 0,
+ 0, 0, };
+void tst_QScriptValue::toInteger_makeData(const char* expr)
+{
+ static QHash<QString, qsreal> toInteger;
+ if (toInteger.isEmpty()) {
+ toInteger.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toInteger.insert(toInteger_tagArray[i], toInteger_valueArray[i]);
+ }
+ newRow(expr) << toInteger.value(expr);
+}
+
+void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qsreal, expected);
+ if (qIsInf(expected)) {
+ QVERIFY(qIsInf(value.toInteger()));
+ QVERIFY(qIsInf(value.toInteger()));
+ return;
+ }
+ QCOMPARE(value.toInteger(), expected);
+ QCOMPARE(value.toInteger(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toInteger)
+
+
+void tst_QScriptValue::toInt32_initData()
+{
+ QTest::addColumn<qint32>("expected");
+ initScriptValues();
+}
+
+static QString toInt32_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static qint32 toInt32_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 1126240820,
+ 65536, 65537,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+
+void tst_QScriptValue::toInt32_makeData(const char* expr)
+{
+ static QHash<QString, qint32> toInt32;
+ if (toInt32.isEmpty()) {
+ toInt32.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toInt32.insert(toInt32_tagArray[i], toInt32_valueArray[i]);
+ }
+ newRow(expr) << toInt32.value(expr);
+}
+
+void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qint32, expected);
+ QCOMPARE(value.toInt32(), expected);
+ QCOMPARE(value.toInt32(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toInt32)
+
+
+void tst_QScriptValue::toUInt32_initData()
+{
+ QTest::addColumn<quint32>("expected");
+ initScriptValues();
+}
+
+static QString toUInt32_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static quint32 toUInt32_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 1126240820, 65536,
+ 65537, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 1126240820,
+ 65536, 65537,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+
+void tst_QScriptValue::toUInt32_makeData(const char* expr)
+{
+ static QHash<QString, quint32> toUInt32;
+ if (toUInt32.isEmpty()) {
+ toUInt32.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toUInt32.insert(toUInt32_tagArray[i], toUInt32_valueArray[i]);
+ }
+ newRow(expr) << toUInt32.value(expr);
+}
+
+void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint32, expected);
+ QCOMPARE(value.toUInt32(), expected);
+ QCOMPARE(value.toUInt32(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toUInt32)
+
+
+void tst_QScriptValue::toUInt16_initData()
+{
+ QTest::addColumn<quint16>("expected");
+ initScriptValues();
+}
+
+static QString toUInt16_tagArray [] = {
+ "QScriptValue()",
+ "QScriptValue(QScriptValue::UndefinedValue)",
+ "QScriptValue(QScriptValue::NullValue)",
+ "QScriptValue(true)",
+ "QScriptValue(false)",
+ "QScriptValue(int(122))",
+ "QScriptValue(uint(124))",
+ "QScriptValue(0)",
+ "QScriptValue(0.0)",
+ "QScriptValue(123.0)",
+ "QScriptValue(6.37e-8)",
+ "QScriptValue(-6.37e-8)",
+ "QScriptValue(0x43211234)",
+ "QScriptValue(0x10000)",
+ "QScriptValue(0x10001)",
+ "QScriptValue(qSNaN())",
+ "QScriptValue(qQNaN())",
+ "QScriptValue(qInf())",
+ "QScriptValue(-qInf())",
+ "QScriptValue(\"NaN\")",
+ "QScriptValue(\"Infinity\")",
+ "QScriptValue(\"-Infinity\")",
+ "QScriptValue(\"ciao\")",
+ "QScriptValue(QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(QString(\"\"))",
+ "QScriptValue(QString())",
+ "QScriptValue(QString(\"0\"))",
+ "QScriptValue(QString(\"123\"))",
+ "QScriptValue(QString(\"12.4\"))",
+ "QScriptValue(0, QScriptValue::UndefinedValue)",
+ "QScriptValue(0, QScriptValue::NullValue)",
+ "QScriptValue(0, true)",
+ "QScriptValue(0, false)",
+ "QScriptValue(0, int(122))",
+ "QScriptValue(0, uint(124))",
+ "QScriptValue(0, 0)",
+ "QScriptValue(0, 0.0)",
+ "QScriptValue(0, 123.0)",
+ "QScriptValue(0, 6.37e-8)",
+ "QScriptValue(0, -6.37e-8)",
+ "QScriptValue(0, 0x43211234)",
+ "QScriptValue(0, 0x10000)",
+ "QScriptValue(0, 0x10001)",
+ "QScriptValue(0, qSNaN())",
+ "QScriptValue(0, qQNaN())",
+ "QScriptValue(0, qInf())",
+ "QScriptValue(0, -qInf())",
+ "QScriptValue(0, \"NaN\")",
+ "QScriptValue(0, \"Infinity\")",
+ "QScriptValue(0, \"-Infinity\")",
+ "QScriptValue(0, \"ciao\")",
+ "QScriptValue(0, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(0, QString(\"\"))",
+ "QScriptValue(0, QString())",
+ "QScriptValue(0, QString(\"0\"))",
+ "QScriptValue(0, QString(\"123\"))",
+ "QScriptValue(0, QString(\"12.3\"))",
+ "QScriptValue(engine, QScriptValue::UndefinedValue)",
+ "QScriptValue(engine, QScriptValue::NullValue)",
+ "QScriptValue(engine, true)",
+ "QScriptValue(engine, false)",
+ "QScriptValue(engine, int(122))",
+ "QScriptValue(engine, uint(124))",
+ "QScriptValue(engine, 0)",
+ "QScriptValue(engine, 0.0)",
+ "QScriptValue(engine, 123.0)",
+ "QScriptValue(engine, 6.37e-8)",
+ "QScriptValue(engine, -6.37e-8)",
+ "QScriptValue(engine, 0x43211234)",
+ "QScriptValue(engine, 0x10000)",
+ "QScriptValue(engine, 0x10001)",
+ "QScriptValue(engine, qSNaN())",
+ "QScriptValue(engine, qQNaN())",
+ "QScriptValue(engine, qInf())",
+ "QScriptValue(engine, -qInf())",
+ "QScriptValue(engine, \"NaN\")",
+ "QScriptValue(engine, \"Infinity\")",
+ "QScriptValue(engine, \"-Infinity\")",
+ "QScriptValue(engine, \"ciao\")",
+ "QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
+ "QScriptValue(engine, QString(\"\"))",
+ "QScriptValue(engine, QString())",
+ "QScriptValue(engine, QString(\"0\"))",
+ "QScriptValue(engine, QString(\"123\"))",
+ "QScriptValue(engine, QString(\"1.23\"))",
+ "engine->evaluate(\"[]\")",
+ "engine->evaluate(\"{}\")",
+ "engine->evaluate(\"Object.prototype\")",
+ "engine->evaluate(\"Date.prototype\")",
+ "engine->evaluate(\"Array.prototype\")",
+ "engine->evaluate(\"Function.prototype\")",
+ "engine->evaluate(\"Error.prototype\")",
+ "engine->evaluate(\"Object\")",
+ "engine->evaluate(\"Array\")",
+ "engine->evaluate(\"Number\")",
+ "engine->evaluate(\"Function\")",
+ "engine->evaluate(\"(function() { return 1; })\")",
+ "engine->evaluate(\"(function() { return 'ciao'; })\")",
+ "engine->evaluate(\"(function() { throw new Error('foo'); })\")",
+ "engine->evaluate(\"/foo/\")",
+ "engine->evaluate(\"new Object()\")",
+ "engine->evaluate(\"new Array()\")",
+ "engine->evaluate(\"new Error()\")",
+ "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
+ "engine->evaluate(\"Undefined\")",
+ "engine->evaluate(\"Null\")",
+ "engine->evaluate(\"True\")",
+ "engine->evaluate(\"False\")",
+ "engine->evaluate(\"undefined\")",
+ "engine->evaluate(\"null\")",
+ "engine->evaluate(\"true\")",
+ "engine->evaluate(\"false\")",
+ "engine->evaluate(\"122\")",
+ "engine->evaluate(\"124\")",
+ "engine->evaluate(\"0\")",
+ "engine->evaluate(\"0.0\")",
+ "engine->evaluate(\"123.0\")",
+ "engine->evaluate(\"6.37e-8\")",
+ "engine->evaluate(\"-6.37e-8\")",
+ "engine->evaluate(\"0x43211234\")",
+ "engine->evaluate(\"0x10000\")",
+ "engine->evaluate(\"0x10001\")",
+ "engine->evaluate(\"NaN\")",
+ "engine->evaluate(\"Infinity\")",
+ "engine->evaluate(\"-Infinity\")",
+ "engine->evaluate(\"'ciao'\")",
+ "engine->evaluate(\"''\")",
+ "engine->evaluate(\"'0'\")",
+ "engine->evaluate(\"'123'\")",
+ "engine->evaluate(\"'12.4'\")",
+ "engine->nullValue()",
+ "engine->undefinedValue()",
+ "engine->newObject()",
+ "engine->newArray()",
+ "engine->newArray(10)",
+ "engine->newDate(QDateTime())",
+ "engine->newQMetaObject(&QObject::staticMetaObject)",
+ "engine->newVariant(QVariant())",
+ "engine->newVariant(QVariant(123))",
+ "engine->newVariant(QVariant(false))",
+ "engine->newQObject(0)",
+ "engine->newQObject(engine)",};
+
+static quint16 toUInt16_valueArray [] = {
+ 0, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 12, 0,
+ 0, 1,
+ 0, 122,
+ 124, 0,
+ 0, 123,
+ 0, 0,
+ 4660, 0,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 123,
+ 1, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 22,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 1, 0,
+ 122, 124,
+ 0, 0,
+ 123, 0,
+ 0, 4660,
+ 0, 1,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 12,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 123, 0,
+ 0, 0, };
+
+void tst_QScriptValue::toUInt16_makeData(const char* expr)
+{
+ static QHash<QString, quint16> toUInt16;
+ if (toUInt16.isEmpty()) {
+ toUInt16.reserve(142);
+ for (unsigned i = 0; i < 142; ++i)
+ toUInt16.insert(toUInt16_tagArray[i], toUInt16_valueArray[i]);
+ }
+ newRow(expr) << toUInt16.value(expr);
+}
+
+void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint16, expected);
+ QCOMPARE(value.toUInt16(), expected);
+ QCOMPARE(value.toUInt16(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toUInt16)
diff --git a/tests/auto/qsoundeffect/qsoundeffect.pro b/tests/auto/qsoundeffect/qsoundeffect.pro
new file mode 100644
index 0000000000..eaa35b2a01
--- /dev/null
+++ b/tests/auto/qsoundeffect/qsoundeffect.pro
@@ -0,0 +1,20 @@
+load(qttest_p4)
+
+SOURCES += tst_qsoundeffect.cpp
+
+QT = core multimedia
+
+wince* {
+ deploy.sources += 4.wav
+ DEPLOYMENT = deploy
+ DEFINES += SRCDIR=\\\"\\\"
+ QT += gui
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+}
+
+unix:!mac {
+ !contains(QT_CONFIG, pulseaudio) {
+ DEFINES += QT_MULTIMEDIA_QMEDIAPLAYER
+ }
+}
diff --git a/tests/auto/qsoundeffect/test.wav b/tests/auto/qsoundeffect/test.wav
new file mode 100644
index 0000000000..e4088a973a
--- /dev/null
+++ b/tests/auto/qsoundeffect/test.wav
Binary files differ
diff --git a/tests/auto/qsoundeffect/tst_qsoundeffect.cpp b/tests/auto/qsoundeffect/tst_qsoundeffect.cpp
new file mode 100644
index 0000000000..b9188166d6
--- /dev/null
+++ b/tests/auto/qsoundeffect/tst_qsoundeffect.cpp
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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 <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudiooutput.h>
+#include <qaudiodeviceinfo.h>
+#include <qaudio.h>
+#include <private/qsoundeffect_p.h>
+
+
+class tst_QSoundEffect : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QSoundEffect(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void initTestCase();
+ void testSource();
+ void testLooping();
+ void testVolume();
+ void testMuting();
+
+private:
+ QSoundEffect* sound;
+};
+
+void tst_QSoundEffect::initTestCase()
+{
+#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
+ sound = new QSoundEffect;
+
+ QVERIFY(sound->source().isEmpty());
+ QVERIFY(sound->loopCount() == 1);
+ QVERIFY(sound->volume() == 100);
+ QVERIFY(sound->isMuted() == false);
+#endif
+}
+
+void tst_QSoundEffect::testSource()
+{
+#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
+ QSignalSpy readSignal(sound, SIGNAL(sourceChanged()));
+
+ QUrl url = QUrl::fromLocalFile(QString("%1%2").arg(SRCDIR).arg("test.wav"));
+ sound->setSource(url);
+
+ QCOMPARE(sound->source(),url);
+ QCOMPARE(readSignal.count(),1);
+
+ QTestEventLoop::instance().enterLoop(1);
+ sound->play();
+
+ QTest::qWait(3000);
+#endif
+}
+
+void tst_QSoundEffect::testLooping()
+{
+#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
+ QSignalSpy readSignal(sound, SIGNAL(loopCountChanged()));
+
+ sound->setLoopCount(5);
+ QCOMPARE(sound->loopCount(),5);
+
+ sound->play();
+
+ // test.wav is about 200ms, wait until it has finished playing 5 times
+ QTest::qWait(3000);
+#endif
+}
+
+void tst_QSoundEffect::testVolume()
+{
+#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
+ QSignalSpy readSignal(sound, SIGNAL(volumeChanged()));
+
+ sound->setVolume(50);
+ QCOMPARE(sound->volume(),50);
+
+ QTest::qWait(20);
+ QCOMPARE(readSignal.count(),1);
+#endif
+}
+
+void tst_QSoundEffect::testMuting()
+{
+#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
+ QSignalSpy readSignal(sound, SIGNAL(mutedChanged()));
+
+ sound->setMuted(true);
+ QCOMPARE(sound->isMuted(),true);
+
+ QTest::qWait(20);
+ QCOMPARE(readSignal.count(),1);
+
+ delete sound;
+#endif
+}
+
+QTEST_MAIN(tst_QSoundEffect)
+
+#include "tst_qsoundeffect.moc"
diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp
index 41b9734255..5339132c4d 100644
--- a/tests/auto/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp
@@ -205,6 +205,13 @@ private slots:
void QTBUG_6618();
void QTBUG_6852_data() { generic_data("QMYSQL"); }
void QTBUG_6852();
+ void QTBUG_5765_data() { generic_data("QMYSQL"); }
+ void QTBUG_5765();
+
+#if 0
+ void benchmark_data() { generic_data(); }
+ void benchmark();
+#endif
private:
// returns all database connections
@@ -309,7 +316,14 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db )
<< qTableName( "blobstest" )
<< qTableName( "oraRowId" )
<< qTableName( "qtest_batch" )
- << qTableName(QLatin1String("bug6421")).toUpper();
+ << qTableName("bug6421").toUpper()
+ << qTableName("bug5765")
+ << qTableName("bug6852")
+ << qTableName( "qtest_lockedtable" )
+ << qTableName( "Planet" )
+ << qTableName( "task_250026" )
+ << qTableName( "task_234422" )
+ << qTableName("test141895");
if ( db.driverName().startsWith("QPSQL") )
tablenames << qTableName("task_233829");
@@ -320,19 +334,11 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db )
if ( tst_Databases::isSqlServer( db ) || db.driverName().startsWith( "QOCI" ) )
tablenames << qTableName( "qtest_longstr" );
- tablenames << qTableName( "qtest_lockedtable" );
-
- tablenames << qTableName( "Planet" );
+ if (tst_Databases::isSqlServer( db ))
+ db.exec("DROP PROCEDURE " + qTableName("test141895_proc"));
- tablenames << qTableName( "task_250026" );
- tablenames << qTableName( "task_234422" );
-
- if (tst_Databases::isSqlServer( db )) {
- QSqlQuery q( db );
- q.exec("DROP PROCEDURE " + qTableName("test141895_proc"));
- }
-
- tablenames << qTableName("test141895");
+ if (tst_Databases::isMySQL( db ))
+ db.exec("DROP PROCEDURE IF EXISTS "+qTableName("bug6852_proc"));
tst_Databases::safeDropTables( db, tablenames );
@@ -2996,10 +3002,9 @@ void tst_QSqlQuery::QTBUG_6852()
QSKIP( "Test requires MySQL >= 5.0", SkipSingle );
QSqlQuery q(db);
- QString tableName(qTableName(QLatin1String("bug6421"))), procName(qTableName(QLatin1String("bug6421_proc")));
+ QString tableName(qTableName(QLatin1String("bug6852"))), procName(qTableName(QLatin1String("bug6852_proc")));
QVERIFY_SQL(q, exec("DROP PROCEDURE IF EXISTS "+procName));
- tst_Databases::safeDropTable(db, tableName);
QVERIFY_SQL(q, exec("CREATE TABLE "+tableName+"(\n"
"MainKey INT NOT NULL,\n"
"OtherTextCol VARCHAR(45) NOT NULL,\n"
@@ -3022,6 +3027,72 @@ void tst_QSqlQuery::QTBUG_6852()
QCOMPARE(q.value(1).toString(), QLatin1String("Disabled"));
}
+void tst_QSqlQuery::QTBUG_5765()
+{
+ QFETCH( QString, dbName );
+ QSqlDatabase db = QSqlDatabase::database( dbName );
+ CHECK_DATABASE( db );
+ if ( tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 1 ).toFloat()<4.1 )
+ QSKIP( "Test requires MySQL >= 4.1", SkipSingle );
+
+ QSqlQuery q(db);
+ QString tableName(qTableName(QLatin1String("bug5765")));
+
+ QVERIFY_SQL(q, exec("CREATE TABLE "+tableName+"(testval TINYINT(1) DEFAULT 0)"));
+ q.prepare("INSERT INTO "+tableName+" SET testval = :VALUE");
+ q.bindValue(":VALUE", 1);
+ QVERIFY_SQL(q, exec());
+ q.bindValue(":VALUE", 12);
+ QVERIFY_SQL(q, exec());
+ q.bindValue(":VALUE", 123);
+ QVERIFY_SQL(q, exec());
+ QString sql="select testval from "+tableName;
+ QVERIFY_SQL(q, exec(sql));
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 1);
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 12);
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 123);
+ QVERIFY_SQL(q, prepare(sql));
+ QVERIFY_SQL(q, exec());
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 1);
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 12);
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 123);
+}
+
+#if 0
+void tst_QSqlQuery::benchmark()
+{
+ QFETCH( QString, dbName );
+ QSqlDatabase db = QSqlDatabase::database( dbName );
+ CHECK_DATABASE( db );
+ if ( tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt()<5 )
+ QSKIP( "Test requires MySQL >= 5.0", SkipSingle );
+
+ QSqlQuery q(db);
+ QString tableName(qTableName(QLatin1String("benchmark")));
+
+ tst_Databases::safeDropTable( db, tableName );
+
+ QVERIFY_SQL(q, exec("CREATE TABLE "+tableName+"(\n"
+ "MainKey INT NOT NULL,\n"
+ "OtherTextCol VARCHAR(45) NOT NULL,\n"
+ "PRIMARY KEY(`MainKey`))"));
+
+ int i=1;
+
+ QBENCHMARK {
+ QVERIFY_SQL(q, exec("INSERT INTO "+tableName+" VALUES("+QString::number(i)+", \"Value"+QString::number(i)+"\")"));
+ i++;
+ }
+
+ tst_Databases::safeDropTable( db, tableName );
+}
+#endif
QTEST_MAIN( tst_QSqlQuery )
#include "tst_qsqlquery.moc"
diff --git a/tests/auto/qsslsocket/qsslsocket.pro b/tests/auto/qsslsocket/qsslsocket.pro
index 147175ef78..541b2d9587 100644
--- a/tests/auto/qsslsocket/qsslsocket.pro
+++ b/tests/auto/qsslsocket/qsslsocket.pro
@@ -32,3 +32,5 @@ wince* {
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
+
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp
index abd3237da8..ad2b50da1e 100644
--- a/tests/auto/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp
@@ -54,6 +54,8 @@
#include <QNetworkProxy>
#include <QAuthenticator>
+#include "private/qhostinfo_p.h"
+
#include "../network-settings.h"
Q_DECLARE_METATYPE(QAbstractSocket::SocketState)
@@ -288,6 +290,8 @@ void tst_QSslSocket::init()
}
QNetworkProxy::setApplicationProxy(proxy);
}
+
+ qt_qhostinfo_clear_cache();
}
void tst_QSslSocket::cleanup()
@@ -477,7 +481,7 @@ void tst_QSslSocket::simpleConnectWithIgnore()
// Start connecting
socket.connectToHost(QtNetworkSettings::serverName(), 993);
- QCOMPARE(socket.state(), QAbstractSocket::HostLookupState);
+ QVERIFY(socket.state() != QAbstractSocket::UnconnectedState); // something must be in progress
enterLoop(10);
// Start handshake
diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
index dc37c42308..d79ebb9c55 100644
--- a/tests/auto/qstring/tst_qstring.cpp
+++ b/tests/auto/qstring/tst_qstring.cpp
@@ -3646,7 +3646,10 @@ void tst_QString::section_data()
<< QString("\\b") << 3 << 3
<< int(QString::SectionDefault)
<< QString("is") << true;
-
+ QTest::newRow( "task257941-rx" ) << QString("99.0 42.3")
+ << QString("\\s*[AaBb]\\s*") << 1 << 1
+ << int(QString::SectionIncludeLeadingSep)
+ << QString() << true;
}
void tst_QString::section()
diff --git a/tests/auto/qstringmatcher/qstringmatcher.pro b/tests/auto/qstringmatcher/qstringmatcher.pro
index e478d4e4cd..2c1509746a 100644
--- a/tests/auto/qstringmatcher/qstringmatcher.pro
+++ b/tests/auto/qstringmatcher/qstringmatcher.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
SOURCES += tst_qstringmatcher.cpp
-
+QT = core
DEFINES += QT_NO_CAST_TO_ASCII
diff --git a/tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg b/tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg
index 99926b329b..f1f9e354be 100644
--- a/tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg
+++ b/tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg
@@ -4,12 +4,12 @@
<desc>Generated with Qt</desc>
<defs>
</defs>
-<g fill="none" stroke="black" vector-effect="non-scaling-stroke" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
+<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="#ff0000" fill-opacity="1" stroke="none" transform="matrix(1,0,0,1,0,0)"
-font-family="Arial" font-size="11pt" font-weight="400" font-style="normal"
+font-family="Sans Serif" font-size="8.25" font-weight="400" font-style="normal"
>
-<path fill-rule="evenodd" d="M0,0 L100,0 L100,100 L0,100 L0,0"/>
+<path vector-effect="non-scaling-stroke" fill-rule="evenodd" d="M0,0 L100,0 L100,100 L0,100 L0,0"/>
</g>
</g>
</svg>
diff --git a/tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg b/tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg
index f61dd40457..84afbf37c8 100644
--- a/tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg
+++ b/tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg
@@ -13,18 +13,18 @@
<stop offset="1" stop-color="#0000ff" stop-opacity="1" />
</radialGradient>
</defs>
-<g fill="none" stroke="black" vector-effect="non-scaling-stroke" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
+<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
<g fill="url(#gradient1)" stroke="none" transform="matrix(1,0,0,1,0,0)"
-font-family="Sans Serif" font-size="9pt" font-weight="400" font-style="normal"
+font-family="Sans Serif" font-size="8.25" font-weight="400" font-style="normal"
>
-<path fill-rule="evenodd" d="M0,0 L100,0 L100,100 L0,100 L0,0"/>
+<path vector-effect="non-scaling-stroke" fill-rule="evenodd" d="M0,0 L100,0 L100,100 L0,100 L0,0"/>
</g>
<g fill="url(#gradient2)" stroke="none" transform="matrix(1,0,0,1,0,0)"
-font-family="Sans Serif" font-size="9pt" font-weight="400" font-style="normal"
+font-family="Sans Serif" font-size="8.25" font-weight="400" font-style="normal"
>
-<path fill-rule="evenodd" d="M100,0 L200,0 L200,100 L100,100 L100,0"/>
+<path vector-effect="non-scaling-stroke" fill-rule="evenodd" d="M100,0 L200,0 L200,100 L100,100 L100,0"/>
</g>
</g>
</svg>
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
index 16dd2b4e11..106fd8c8c0 100644
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
@@ -74,6 +74,7 @@ private slots:
void nestedQXmlStreamReader() const;
void stylePropagation() const;
void matrixForElement() const;
+ void boundsOnElement() const;
void gradientStops() const;
void gradientRefs();
void fillRule();
@@ -470,6 +471,36 @@ void tst_QSvgRenderer::matrixForElement() const
compareTransforms(QTransform(painter.worldMatrix()), QTransform(renderer.matrixForElement(QLatin1String("firkant"))));
}
+void tst_QSvgRenderer::boundsOnElement() const
+{
+ QByteArray data("<svg>"
+ "<g id=\"prim\" transform=\"translate(-3,1)\">"
+ "<g id=\"sjokade\" stroke=\"none\" stroke-width=\"10\">"
+ "<rect id=\"kaviar\" transform=\"rotate(45)\" x=\"-10\" y=\"-10\" width=\"20\" height=\"20\"/>"
+ "</g>"
+ "<g id=\"nugatti\" stroke=\"black\" stroke-width=\"2\">"
+ "<use x=\"0\" y=\"0\" transform=\"rotate(45)\" xlink:href=\"#kaviar\"/>"
+ "</g>"
+ "<g id=\"nutella\" stroke=\"none\" stroke-width=\"10\">"
+ "<path id=\"baconost\" transform=\"rotate(45)\" d=\"M-10 -10 L10 -10 L10 10 L-10 10 Z\"/>"
+ "</g>"
+ "<g id=\"hapaa\" transform=\"translate(-2,2)\" stroke=\"black\" stroke-width=\"2\">"
+ "<use x=\"0\" y=\"0\" transform=\"rotate(45)\" xlink:href=\"#baconost\"/>"
+ "</g>"
+ "</g>"
+ "</svg>");
+
+ qreal sqrt2 = qSqrt(2);
+ QSvgRenderer renderer(data);
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("sjokade")), QRectF(-10 * sqrt2, -10 * sqrt2, 20 * sqrt2, 20 * sqrt2));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("kaviar")), QRectF(-10 * sqrt2, -10 * sqrt2, 20 * sqrt2, 20 * sqrt2));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("nugatti")), QRectF(-11, -11, 22, 22));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("nutella")), QRectF(-10 * sqrt2, -10 * sqrt2, 20 * sqrt2, 20 * sqrt2));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("baconost")), QRectF(-10 * sqrt2, -10 * sqrt2, 20 * sqrt2, 20 * sqrt2));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("hapaa")), QRectF(-13, -9, 22, 22));
+ QCOMPARE(renderer.boundsOnElement(QLatin1String("prim")), QRectF(-10 * sqrt2 - 3, -10 * sqrt2 + 1, 20 * sqrt2, 20 * sqrt2));
+}
+
void tst_QSvgRenderer::gradientStops() const
{
{
diff --git a/tests/auto/qt3support.pro b/tests/auto/qt3support.pro
new file mode 100644
index 0000000000..3657cfec99
--- /dev/null
+++ b/tests/auto/qt3support.pro
@@ -0,0 +1,54 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ q3accel \
+ q3action \
+ q3actiongroup \
+ q3buttongroup \
+ q3canvas \
+ q3checklistitem \
+ q3cstring \
+ q3databrowser \
+ q3dateedit \
+ q3datetimeedit \
+ q3deepcopy \
+ q3dict \
+ q3dns \
+ q3dockwindow \
+ q3filedialog \
+ q3groupbox \
+ q3hbox \
+ q3header \
+ q3iconview \
+ q3listbox \
+ q3listview \
+ q3listviewitemiterator \
+ q3mainwindow \
+ q3popupmenu \
+ q3process \
+ q3progressbar \
+ q3progressdialog \
+ q3ptrlist \
+ q3richtext \
+ q3scrollview \
+ q3semaphore \
+ q3serversocket \
+ q3socket \
+ q3socketdevice \
+ q3sqlcursor \
+ q3sqlselectcursor \
+ q3stylesheet \
+ q3tabdialog \
+ q3table \
+ q3textbrowser \
+ q3textedit \
+ q3textstream \
+ q3timeedit \
+ q3toolbar \
+ q3urloperator \
+ q3valuelist \
+ q3valuevector \
+ q3combobox \
+ q3frame \
+ q3uridrag \
+ q3widgetstack
+
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index 430712c716..35fba52429 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -199,6 +199,8 @@ private slots:
void taskQTBUG_5062_spansInconsistency();
void taskQTBUG_4516_clickOnRichTextLabel();
void taskQTBUG_5237_wheelEventOnHeader();
+ void taskQTBUG_8585_crashForNoGoodReason();
+ void taskQTBUG_7774_RtoLVisualRegionForSelection();
void mouseWheel_data();
void mouseWheel();
@@ -3948,5 +3950,75 @@ void tst_QTableView::taskQTBUG_5237_wheelEventOnHeader()
QVERIFY(sbValueBefore != sbValueAfter);
}
+class TestTableView : public QTableView {
+Q_OBJECT
+public:
+ TestTableView(QWidget *parent = 0) : QTableView(parent)
+ {
+ connect(this, SIGNAL(entered(const QModelIndex&)), this, SLOT(openEditor(const QModelIndex&)));
+ }
+ ~TestTableView(){}
+public slots:
+ void onDataChanged()
+ {
+ for (int i = 0; i < model()->rowCount(); i++) {
+ setRowHidden(i, model()->data(model()->index(i, 0)).toBool());
+ }
+ }
+
+ void openEditor(const QModelIndex& index)
+ { openPersistentEditor(index); }
+};
+
+
+void tst_QTableView::taskQTBUG_8585_crashForNoGoodReason()
+{
+ QStandardItemModel model;
+ model.insertColumn(0, QModelIndex());
+ for(int i = 0; i < 20; i++)
+ {
+ model.insertRow(i);
+ }
+
+ TestTableView w;
+ w.setMouseTracking(true);
+ w.setModel(&model);
+ connect(&model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), &w, SLOT(onDataChanged()));
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ for (int i = 0; i < 10; i++)
+ {
+ QTest::mouseMove(w.viewport(), QPoint(50, 20));
+ w.model()->setData(w.indexAt(QPoint(50, 20)), true);
+ QTest::mouseMove(w.viewport(), QPoint(50, 25));
+ }
+}
+
+
+class TableView7774 : public QTableView
+{
+public:
+ QRegion visualRegionForSelection(const QItemSelection &selection) const
+ {
+ return QTableView::visualRegionForSelection(selection);
+ }
+};
+
+void tst_QTableView::taskQTBUG_7774_RtoLVisualRegionForSelection()
+{
+ TableView7774 view;
+ QStandardItemModel model(5,5);
+ view.setModel(&model);
+ view.setLayoutDirection(Qt::RightToLeft);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ QItemSelectionRange range(model.index(2, 0), model.index(2, model.columnCount() - 1));
+ QItemSelection selection;
+ selection << range;
+ QRegion region = view.visualRegionForSelection(selection);
+ QCOMPARE(region.rects().at(0), view.visualRect(range.topLeft()) | view.visualRect(range.bottomRight()));
+}
+
QTEST_MAIN(tst_QTableView)
#include "tst_qtableview.moc"
diff --git a/tests/auto/qtcpsocket/qtcpsocket.pro b/tests/auto/qtcpsocket/qtcpsocket.pro
index 4bbec23dc2..3d4eba3eb3 100644
--- a/tests/auto/qtcpsocket/qtcpsocket.pro
+++ b/tests/auto/qtcpsocket/qtcpsocket.pro
@@ -3,3 +3,6 @@ TEMPLATE = subdirs
!wince*: SUBDIRS = test stressTest
wince*|symbian*|vxworks* : SUBDIRS = test
+
+
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index 12686bb984..5a209c2027 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -92,6 +92,8 @@
#include <unistd.h>
#endif
+#include "private/qhostinfo_p.h"
+
#include "../network-settings.h"
Q_DECLARE_METATYPE(QAbstractSocket::SocketError)
@@ -316,6 +318,8 @@ void tst_QTcpSocket::init()
}
QNetworkProxy::setApplicationProxy(proxy);
}
+
+ qt_qhostinfo_clear_cache();
}
QTcpSocket *tst_QTcpSocket::newSocket() const
@@ -1060,7 +1064,9 @@ void tst_QTcpSocket::disconnectWhileLookingUp()
// just connect and disconnect, then make sure nothing weird happened
QTcpSocket *socket = newSocket();
socket->connectToHost(QtNetworkSettings::serverName(), 21);
- QVERIFY(socket->state() == QAbstractSocket::HostLookupState);
+
+ // check that connect is in progress
+ QVERIFY(socket->state() != QAbstractSocket::UnconnectedState);
QFETCH(bool, doClose);
if (doClose) {
@@ -1666,7 +1672,10 @@ void tst_QTcpSocket::waitForConnectedInHostLookupSlot()
connect(tmpSocket, SIGNAL(hostFound()), this, SLOT(hostLookupSlot()));
tmpSocket->connectToHost(QtNetworkSettings::serverName(), 143);
- loop.exec();
+ // only execute the loop if not already connected
+ if (tmpSocket->state() != QAbstractSocket::ConnectedState)
+ loop.exec();
+
QCOMPARE(timerSpy.count(), 0);
delete tmpSocket;
diff --git a/tests/auto/qtextcodec/test/test.pro b/tests/auto/qtextcodec/test/test.pro
index afd7f5e536..efa2e856b3 100644
--- a/tests/auto/qtextcodec/test/test.pro
+++ b/tests/auto/qtextcodec/test/test.pro
@@ -27,6 +27,7 @@ wince*: {
DEFINES += SRCDIR=\\\"\\\"
}else:symbian {
# Symbian can't define SRCDIR meaningfully here
+ LIBS += -lcharconv -lconvnames -lgb2312_shared -ljisx0201 -ljisx0208 -lefsrv
} else {
DEFINES += SRCDIR=\\\"$$PWD/../\\\"
}
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index aa97e8706a..1c64ade6e1 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -99,6 +99,13 @@ private slots:
#ifdef Q_OS_UNIX
void toLocal8Bit();
#endif
+
+ void invalidNames();
+ void checkAliases_data();
+ void checkAliases();
+
+ void moreToFromUnicode_data();
+ void moreToFromUnicode();
};
void tst_QTextCodec::toUnicode_data()
@@ -119,6 +126,7 @@ void tst_QTextCodec::toUnicode()
if ( file.open( QIODevice::ReadOnly ) ) {
QByteArray ba = file.readAll();
+ QVERIFY(!ba.isEmpty());
QTextCodec *c = QTextCodec::codecForName( codecName.toLatin1() );
QVERIFY(c != 0);
QString uniString = c->toUnicode( ba );
@@ -126,6 +134,7 @@ void tst_QTextCodec::toUnicode()
QCOMPARE(uniString, QString::fromUtf8(ba));
QCOMPARE(ba, uniString.toUtf8());
}
+ QVERIFY(!uniString.isEmpty());
QCOMPARE( ba, c->fromUnicode( uniString ) );
if (codecName == QLatin1String("eucKR")) {
@@ -185,7 +194,9 @@ void tst_QTextCodec::fromUnicode_data()
QTest::newRow("data16") << "ISO-8859-16" << true;
QTest::newRow("data18") << "IBM850" << true;
+#ifndef Q_OS_SYMBIAN //symbian implementation will return empty string if all char are invalid
QTest::newRow("data19") << "IBM874" << true;
+#endif
QTest::newRow("data20") << "IBM866" << true;
QTest::newRow("data21") << "windows-1250" << true;
@@ -193,7 +204,9 @@ void tst_QTextCodec::fromUnicode_data()
QTest::newRow("data23") << "windows-1252" << true;
QTest::newRow("data24") << "windows-1253" << true;
QTest::newRow("data25") << "windows-1254" << true;
+#ifndef Q_OS_SYMBIAN //symbian implementation will return empty string if all char are invalid
QTest::newRow("data26") << "windows-1255" << true;
+#endif
QTest::newRow("data27") << "windows-1256" << true;
QTest::newRow("data28") << "windows-1257" << true;
QTest::newRow("data28") << "windows-1258" << true;
@@ -205,6 +218,39 @@ void tst_QTextCodec::fromUnicode_data()
QTest::newRow("data32") << "SJIS" << false;
QTest::newRow("data33") << "EUC-KR" << false;
+
+ // all codecs from documentation
+ QTest::newRow("doc2") << "Big5" << false;
+ QTest::newRow("doc3") << "Big5-HKSCS" << false;
+ QTest::newRow("doc4") << "CP949" << false;
+ QTest::newRow("doc5") << "EUC-JP" << false;
+ QTest::newRow("doc6") << "EUC-KR" << false;
+ //QTest::newRow("doc7") << "GB18030-0" << false; // only GB18030 works
+ QTest::newRow("doc7-bis") << "GB18030" << false;
+ QTest::newRow("doc8") << "IBM 850" << false;
+ QTest::newRow("doc9") << "IBM 866" << false;
+ QTest::newRow("doc10") << "IBM 874" << false;
+ QTest::newRow("doc11") << "ISO 2022-JP" << false;
+ //ISO 8859-1 to 10 and ISO 8859-13 to 16 tested previously
+ // Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml tested in Iscii test
+ //QTest::newRow("doc12") << "JIS X 0201" << false; //actually not there
+ //QTest::newRow("doc13") << "JIS X 0208" << false; // actually not there
+ QTest::newRow("doc14") << "KOI8-R" << false;
+ QTest::newRow("doc15") << "KOI8-U" << false;
+ //QTest::newRow("doc16") << "MuleLao-1" << false; //only on x11
+ QTest::newRow("doc17") << "ROMAN8" << false;
+ QTest::newRow("doc18") << "Shift-JIS" << false;
+ QTest::newRow("doc19") << "TIS-620" << false;
+ QTest::newRow("doc20") << "TSCII" << false;
+ QTest::newRow("doc21") << "UTF-8" << false;
+ QTest::newRow("doc22") << "UTF-16" << false;
+ QTest::newRow("doc23") << "UTF-16BE" << false;
+ QTest::newRow("doc24") << "UTF-16LE" << false;
+ QTest::newRow("doc25") << "UTF-32" << false;
+ QTest::newRow("doc26") << "UTF-32BE" << false;
+ QTest::newRow("doc27") << "UTF-32LE" << false;
+ //Windows-1250 to 1258 tested previously
+ QTest::newRow("doc3") << "WINSAMI2" << false;
}
void tst_QTextCodec::fromUnicode()
@@ -222,6 +268,7 @@ void tst_QTextCodec::fromUnicode()
chars[i] = i + 128;
QString s = codec->toUnicode(chars, 128);
QByteArray c = codec->fromUnicode(s);
+ QCOMPARE(c.size(), 128);
int numberOfQuestionMarks = 0;
for (int i = 0; i < 128; ++i) {
@@ -360,7 +407,7 @@ void tst_QTextCodec::asciiToIscii() const
/* For each codec. */
const QTextCodec *const textCodec = QTextCodec::codecForName(isciiCodecs[i]);
- Q_ASSERT(textCodec);
+ QVERIFY(textCodec);
for(int i2 = 0; i2 < len; ++i2) {
/* For each character in ascii. */
@@ -384,9 +431,12 @@ void tst_QTextCodec::flagCodepointFFFF() const
Q_ASSERT(codec);
const QByteArray asDecoded(codec->fromUnicode(input));
+ QCOMPARE(asDecoded, QByteArray("?"));
+
+ QByteArray ffff("\357\277\277");
QTextCodec::ConverterState state(QTextCodec::ConvertInvalidToNull);
- QVERIFY(codec->toUnicode(asDecoded.constData(), asDecoded.length(), &state) == QChar(0));
- QVERIFY(codec->toUnicode(asDecoded) == QChar(0xfffd));
+ QVERIFY(codec->toUnicode(ffff.constData(), ffff.length(), &state) == QChar(0));
+ QVERIFY(codec->toUnicode(ffff) == QChar(0xfffd));
}
void tst_QTextCodec::flagF7808080() const
@@ -447,12 +497,11 @@ void tst_QTextCodec::flagEFBFBF() const
/* When 0xEFBFBF is preceeded by what seems to be an arbitrary character,
* QTextCodec fails to flag it. */
{
- QEXPECT_FAIL("", "This is a bug and needs to be fixed.", Continue);
QByteArray start("B");
start.append(invalidInput);
QTextCodec::ConverterState state(QTextCodec::ConvertInvalidToNull);
- QVERIFY(codec->toUnicode(start.constData(), start.length(), &state) == QChar(0));
+ QVERIFY(codec->toUnicode(start.constData(), start.length(), &state) == QString::fromLatin1("B\0", 2));
}
}
@@ -478,7 +527,9 @@ void tst_QTextCodec::aliasForUTF16() const
void tst_QTextCodec::mibForTSCII() const
{
- QCOMPARE(QTextCodec::codecForName("TSCII")->mibEnum(), 2107);
+ QTextCodec *codec = QTextCodec::codecForName("TSCII");
+ QVERIFY(codec);
+ QCOMPARE(codec->mibEnum(), 2107);
}
static QString fromInvalidUtf8Sequence(const QByteArray &ba)
@@ -695,15 +746,15 @@ void tst_QTextCodec::utf8Codec_data()
str = QChar(QChar::ReplacementCharacter);
QTest::newRow("http://www.w3.org/2001/06/utf-8-wrong/UTF-8-test.html 2.3.3") << utf8 << str << -1;
- // 2.3.4 U+0010FFFF
+ // 2.3.4 U+0010FFFD
utf8.clear();
utf8 += char(0xf4);
utf8 += char(0x8f);
utf8 += char(0xbf);
- utf8 += char(0xbf);
+ utf8 += char(0xbd);
str.clear();
str += QChar(0xdbff);
- str += QChar(0xdfff);
+ str += QChar(0xdffd);
QTest::newRow("http://www.w3.org/2001/06/utf-8-wrong/UTF-8-test.html 2.3.4") << utf8 << str << -1;
// 2.3.5 U+00110000
@@ -1938,17 +1989,210 @@ static int loadAndConvertMIB(int mib)
void tst_QTextCodec::threadSafety()
{
+ QList<QByteArray> codecList = QTextCodec::availableCodecs();
+ QList<int> mibList = QTextCodec::availableMibs();
+#ifndef QT_NO_CONCURRENT
QThreadPool::globalInstance()->setMaxThreadCount(12);
- QList<QByteArray> codecList = QTextCodec::availableCodecs();
QFuture<QByteArray> res = QtConcurrent::mapped(codecList, loadAndConvert);
- QList<int> mibList = QTextCodec::availableMibs();
+
QFuture<int> res2 = QtConcurrent::mapped(mibList, loadAndConvertMIB);
QCOMPARE(res.results(), codecList);
QCOMPARE(res2.results(), mibList);
+#endif
+}
+
+void tst_QTextCodec::invalidNames()
+{
+ QVERIFY(!QTextCodec::codecForName(""));
+ QVERIFY(!QTextCodec::codecForName(QByteArray()));
+ QVERIFY(!QTextCodec::codecForName("-"));
+ QVERIFY(!QTextCodec::codecForName("\1a\2b\3a\4d\5c\6s\7a\xffr\xec_\x9c_"));
+ QVERIFY(!QTextCodec::codecForName("\n"));
+ QVERIFY(!QTextCodec::codecForName("don't exist"));
+ QByteArray huge = "azertyuiop^$qsdfghjklm<wxcvbn,;:=1234567890°_";
+ huge = huge + huge + huge + huge + huge + huge + huge + huge;
+ huge = huge + huge + huge + huge + huge + huge + huge + huge;
+ huge = huge + huge + huge + huge + huge + huge + huge + huge;
+ huge = huge + huge + huge + huge + huge + huge + huge + huge;
+ QVERIFY(!QTextCodec::codecForName(huge));
+}
+
+void tst_QTextCodec::checkAliases_data()
+{
+ QTest::addColumn<QByteArray>("codecName");
+ QList<QByteArray> codecList = QTextCodec::availableCodecs();
+ foreach (const QByteArray &a, codecList) {
+ QTest::newRow( a.constData() ) << a;
+ }
+}
+
+void tst_QTextCodec::checkAliases()
+{
+ QFETCH( QByteArray, codecName );
+ QTextCodec *c = QTextCodec::codecForName(codecName);
+ QVERIFY(c);
+ QCOMPARE(QTextCodec::codecForName(codecName), c);
+ QCOMPARE(QTextCodec::codecForName(c->name()), c);
+
+ foreach(const QByteArray &a, c->aliases()) {
+ QCOMPARE(QTextCodec::codecForName(a), c);
+ }
+}
+
+
+void tst_QTextCodec::moreToFromUnicode_data() {
+ QTest::addColumn<QByteArray>("codecName");
+ QTest::addColumn<QByteArray>("testData");
+
+ QTest::newRow("russian") << QByteArray("ISO-8859-5")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\x00");
+
+ QTest::newRow("arabic") << QByteArray("ISO-8859-6")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA4\xAC\xAD\xBB\xBF\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2");
+
+ QTest::newRow("greek") << QByteArray("ISO-8859-7")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA6\xA7\xA8\xA9\xAB\xAC\xAD\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE");
+
+ QTest::newRow("turkish") << QByteArray("ISO-8859-9")
+ << QByteArray("\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+#ifdef Q_OS_SYMBIAN
+ QTest::newRow("thai") << QByteArray("TIS-620")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB");
+#endif
+
+ QTest::newRow("latin1") << QByteArray("ISO-8859-1")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QByteArray sms7bit_ba;
+ for (int i=1; i <= 0x7f; ++i) {
+ if (i!='\x1b') {
+ sms7bit_ba.append(i);
+ }
+ }
+#ifdef Q_OS_SYMBIAN
+ QTest::newRow("sms7bit") << QByteArray("SMS 7-bit") << sms7bit_ba;
+#endif
+
+ QTest::newRow("latin2") << QByteArray("ISO-8859-2")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("latin3") << QByteArray("ISO-8859-3")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBF\xC0\xC1\xC2\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("latin4") << QByteArray("ISO-8859-4")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("russian 2") << QByteArray("ISO-8859-5")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("arabic 2") << QByteArray("ISO-8859-6")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA4\xAC\xAD\xBB\xBF\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2");
+
+ QTest::newRow("greek 2") << QByteArray("ISO-8859-7")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA6\xA7\xA8\xA9\xAB\xAC\xAD\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE");
+
+#ifdef Q_OS_SYMBIAN
+ QTest::newRow("hebriew") << QByteArray("ISO-8859-8")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFD\xFE");
+#endif
+
+ QTest::newRow("latin5") << QByteArray("ISO-8859-9")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("latin6") << QByteArray("ISO-8859-10")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+#if 0
+ QByteArray iso8859_11_ba;
+ for (int x=0x20; x<=0x7f; ++x) {
+ iso8859_11_ba.append(x);
+ }
+ for (int x=0xa0; x<0xff; ++x) {
+ if ((x>=0xdb && x<0xdf) || x>0xfb){
+ continue;
+ }
+ iso8859_11_ba.append(x);
+ }
+ QTest::newRow("latin-thai") << QByteArray("ISO-8859-11") << iso8859_11_ba;
+#endif
+
+ QTest::newRow("latin7") << QByteArray("ISO-8859-13")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("celtic") << QByteArray("ISO-8859-14")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("latin9") << QByteArray("ISO-8859-15")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("latin10") << QByteArray("ISO-8859-16")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp850") << QByteArray("CP850")
+ << QByteArray("\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff");
+
+ QTest::newRow("cp874") << QByteArray("CP874")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x85\x91\x92\x93\x94\x95\x96\x97\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB");
+
+ QTest::newRow("cp1250") << QByteArray("CP1250")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x84\x85\x86\x87\x89\x8A\x8B\x8C\x8D\x8E\x8F\x91\x92\x93\x94\x95\x96\x97\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1251") << QByteArray("CP1251")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1252") << QByteArray("CP1252")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8E\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1253") << QByteArray("CP1253")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x83\x84\x85\x86\x87\x89\x8B\x91\x92\x93\x94\x95\x96\x97\x99\x9B\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE");
+
+ QTest::newRow("cp1254") << QByteArray("CP1254")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1255") << QByteArray("CP1255")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x83\x84\x85\x86\x87\x88\x89,x8B\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9B\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFD\xFE");
+
+ QTest::newRow("cp1256") << QByteArray("CP1256")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1257") << QByteArray("CP1257")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x84\x85\x86\x87\x89\x8B\x8D\x8E\x8F\x91\x92\x93\x94\x95\x96\x97\x99\x9B\x9D\x9E\xA0\xA2\xA3\xA4\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QTest::newRow("cp1258") << QByteArray("CP1258")
+ << QByteArray("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8B\x8C\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9B\x9C\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF");
+
+ QByteArray koi8_r_ba;
+ for (int x=0x20; x<=0xff; ++x) {
+ if (x!=0x9A && x!=0xbf) {
+ koi8_r_ba.append(x);
+ }
+ }
+ QTest::newRow("KOI8-R") << QByteArray("KOI8-R") << koi8_r_ba;
+
+ QByteArray koi8_u_ba;
+ for (int x=0x20; x<=0xff; ++x) {
+ koi8_u_ba.append(x);
+ }
+ QTest::newRow("KOI8-U") << QByteArray("KOI8-U") << koi8_u_ba;
}
+void tst_QTextCodec::moreToFromUnicode()
+{
+ QFETCH( QByteArray, codecName );
+ QFETCH( QByteArray, testData );
+
+ QTextCodec *c = QTextCodec::codecForName( codecName.data() );
+ QVERIFY(c);
+
+ QString uStr = c->toUnicode(testData);
+ QByteArray cStr = c->fromUnicode(uStr);
+ QCOMPARE(testData, cStr);
+}
+
+
QTEST_MAIN(tst_QTextCodec)
#include "tst_qtextcodec.moc"
diff --git a/tests/auto/qtextstream/tst_qtextstream.cpp b/tests/auto/qtextstream/tst_qtextstream.cpp
index 9146be2c93..4c78ef0510 100644
--- a/tests/auto/qtextstream/tst_qtextstream.cpp
+++ b/tests/auto/qtextstream/tst_qtextstream.cpp
@@ -221,6 +221,7 @@ private slots:
void nanInf();
void utf8IncompleteAtBufferBoundary_data();
void utf8IncompleteAtBufferBoundary();
+ void writeSeekWriteNoBOM();
// status
void status_real_read_data();
@@ -1847,6 +1848,63 @@ void tst_QTextStream::utf8IncompleteAtBufferBoundary()
}
// ------------------------------------------------------------------------------
+
+// Make sure we don't write a BOM after seek()ing
+
+void tst_QTextStream::writeSeekWriteNoBOM()
+{
+
+ //First with the default codec (normally either latin-1 or UTF-8)
+
+ QBuffer out;
+ out.open(QIODevice::WriteOnly);
+ QTextStream stream(&out);
+
+ int number = 0;
+ QString sizeStr = QLatin1String("Size=")
+ + QString::number(number).rightJustified(10, QLatin1Char('0'));
+ stream << sizeStr << endl;
+ stream << "Version=" << QString::number(14) << endl;
+ stream << "blah blah blah" << endl;
+ stream.flush();
+
+ QCOMPARE(out.buffer().constData(), "Size=0000000000\nVersion=14\nblah blah blah\n");
+
+ // Now overwrite the size header item
+ number = 42;
+ stream.seek(0);
+ sizeStr = QLatin1String("Size=")
+ + QString::number(number).rightJustified(10, QLatin1Char('0'));
+ stream << sizeStr << endl;
+ stream.flush();
+
+ // Check buffer is still OK
+ QCOMPARE(out.buffer().constData(), "Size=0000000042\nVersion=14\nblah blah blah\n");
+
+
+ //Then UTF-16
+
+ QBuffer out16;
+ out16.open(QIODevice::WriteOnly);
+ QTextStream stream16(&out16);
+ stream16.setCodec("UTF-16");
+
+ stream16 << "one" << "two" << QLatin1String("three");
+ stream16.flush();
+
+ // save that output
+ QByteArray first = out16.buffer();
+
+ stream16.seek(0);
+ stream16 << "one";
+ stream16.flush();
+
+ QCOMPARE(out16.buffer(), first);
+}
+
+
+
+// ------------------------------------------------------------------------------
void tst_QTextStream::generateOperatorCharData(bool for_QString)
{
QTest::addColumn<QByteArray>("input");
diff --git a/tests/auto/qtimer/tst_qtimer.cpp b/tests/auto/qtimer/tst_qtimer.cpp
index cc97e4e2b8..a0408ef509 100644
--- a/tests/auto/qtimer/tst_qtimer.cpp
+++ b/tests/auto/qtimer/tst_qtimer.cpp
@@ -85,6 +85,7 @@ private slots:
void timerFiresOnlyOncePerProcessEvents();
void timerIdPersistsAfterThreadExit();
void cancelLongTimer();
+ void singleShotStaticFunctionZeroTimeout();
};
class TimerHelper : public QObject
@@ -611,5 +612,16 @@ void tst_QTimer::cancelLongTimer()
QVERIFY(!timer.isActive());
}
+void tst_QTimer::singleShotStaticFunctionZeroTimeout()
+{
+ TimerHelper helper;
+
+ QTimer::singleShot(0, &helper, SLOT(timeout()));
+ QTest::qWait(500);
+ QCOMPARE(helper.count, 1);
+ QTest::qWait(500);
+ QCOMPARE(helper.count, 1);
+}
+
QTEST_MAIN(tst_QTimer)
#include "tst_qtimer.moc"
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index 83109b5cea..b7cbdb8439 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -193,6 +193,7 @@ private slots:
void fromUserInput();
void task_199967();
void task_240612();
+ void taskQTBUG_6962();
#ifdef QT3_SUPPORT
void dirPath();
@@ -3860,5 +3861,13 @@ void tst_QUrl::resolvedWithAbsoluteSchemes_data() const
<< QUrl::fromEncoded("http://www.foo.com:8080/newfile.html");
}
+void tst_QUrl::taskQTBUG_6962()
+{
+ //bug 6962: empty authority ignored by setAuthority
+ QUrl url("http://example.com/something");
+ url.setAuthority(QString());
+ QCOMPARE(url.authority(), QString());
+}
+
QTEST_MAIN(tst_QUrl)
#include "tst_qurl.moc"
diff --git a/tests/auto/qvariant/tst_qvariant.cpp b/tests/auto/qvariant/tst_qvariant.cpp
index a316dda637..98d74361b6 100644
--- a/tests/auto/qvariant/tst_qvariant.cpp
+++ b/tests/auto/qvariant/tst_qvariant.cpp
@@ -1968,6 +1968,10 @@ void tst_QVariant::operator_eq_eq_data()
QTest::newRow("HashSecondLarger") << QVariant(hash1) << QVariant(hash2) << false;
}
+
+ QTest::newRow( "UserType" ) << QVariant(QVariant::UserType) << QVariant(QVariant::UserType) << true;
+ QVariant mUserType(QVariant::UserType);
+ QTest::newRow( "Shared UserType" ) << mUserType << mUserType << true;
}
void tst_QVariant::operator_eq_eq()
@@ -2518,15 +2522,23 @@ void tst_QVariant::variant_to()
QCOMPARE(qVariantFromValue(0.25f).toDouble(), 0.25);
}
+struct Blah { int i; };
+
+QDataStream& operator>>(QDataStream& s, Blah& c)
+{ return (s >> c.i); }
+
+QDataStream& operator<<(QDataStream& s, const Blah& c)
+{ return (s << c.i); }
+
void tst_QVariant::saveLoadCustomTypes()
{
QByteArray data;
- int i = 42;
- int tp = qRegisterMetaType<int>("Blah");
+ Blah i = { 42 };
+ int tp = qRegisterMetaType<Blah>("Blah");
QVariant v = QVariant(tp, &i);
- qRegisterMetaTypeStreamOperators<int>("Blah");
+ qRegisterMetaTypeStreamOperators<Blah>("Blah");
QCOMPARE(v.userType(), tp);
QVERIFY(v.type() == QVariant::UserType);
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index b59017bd43..abd9604e24 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -8829,7 +8829,15 @@ void tst_QWidget::translucentWidget()
#endif
QTest::qWait(200);
- QPixmap widgetSnapshot = QPixmap::grabWindow(label.winId());
+ QPixmap widgetSnapshot;
+
+#ifdef Q_WS_WIN
+ QWidget *desktopWidget = QApplication::desktop()->screen(0);
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA)
+ widgetSnapshot = QPixmap::grabWindow(desktopWidget->winId(), 0,0, label.width(), label.height());
+ else
+#endif
+ widgetSnapshot = QPixmap::grabWindow(label.winId());
QImage actual = widgetSnapshot.toImage().convertToFormat(QImage::Format_RGB32);
QImage expected = pm.toImage().convertToFormat(QImage::Format_RGB32);
QCOMPARE(actual.size(),expected.size());
diff --git a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml
index 60479f4af1..2363b97fe7 100644
--- a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml
+++ b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml
@@ -5,6 +5,6 @@
discrete legal characters for production 02. -->
<?NAME_09- _0A-
_0D-
-_20- _D7FF-퟿_6c0f-æ°_E000-_FFFD-�_effe-_010000-ð€€_10FFFF-ô¿¿_08ffff-ò¿¿ This is a PI target ?>
+_20- _D7FF-퟿_6c0f-æ°_E000-_FFFD-�_effd-_010000-ð€€_10FFFD-ô¿½_08fffd-ò¿½ This is a PI target ?>
]>
<book/>
diff --git a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml
index 7ac675ec29..d7f7722da3 100644
--- a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml
+++ b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml
@@ -11,6 +11,6 @@ Test all valid Charater references for P66:
&#67; &#x43; &#x5f;
&#x20; &#xD7A3; &#xAC00;
&#xF900; &#xFFFD;
-&#x10000; &#x10FFFF;
+&#x10000; &#x10FFFD;
</root>
<!--* a valid test for P66 *-->
diff --git a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml
index 1b04b6ddf9..ed05e61ad6 100644
--- a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml
+++ b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml
@@ -1 +1 @@
-<root>&#10;Test all valid Charater references for P66:&#10;&#9;&#9;&#9;&#10;&#10;&#10;&#10;&#10;&#10;&#13;&#10;« « à à ï ï&#10;C C _&#10; 힣 ê°€&#10;豈 �&#10;ð€€ ô¿¿&#10;</root> \ No newline at end of file
+<root>&#10;Test all valid Charater references for P66:&#10;&#9;&#9;&#9;&#10;&#10;&#10;&#10;&#10;&#10;&#13;&#10;« « à à ï ï&#10;C C _&#10; 힣 ê°€&#10;豈 �&#10;ð€€ ô¿½&#10;</root> \ No newline at end of file
diff --git a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml
index 2d80c8f3fb..42ffcb6782 100644
--- a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml
+++ b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml
@@ -1,5 +1,5 @@
<!DOCTYPE doc [
-<!ENTITY e "&#x10000;&#x10FFFD;&#x10FFFF;">
+<!ENTITY e "&#x10000;&#x10FFFD;">
<!ELEMENT doc (#PCDATA)>
]>
<doc>&e;</doc>
diff --git a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml
index e01d86e8d3..f5a0484791 100644
--- a/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml
+++ b/tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml
@@ -1 +1 @@
-<doc>ð€€ô¿½ô¿¿</doc> \ No newline at end of file
+<doc>ð€€ô¿½</doc> \ No newline at end of file
diff --git a/tests/auto/script.pro b/tests/auto/script.pro
new file mode 100644
index 0000000000..06f51b5b98
--- /dev/null
+++ b/tests/auto/script.pro
@@ -0,0 +1,16 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qscriptable \
+ qscriptclass \
+ qscriptcontext \
+ qscriptcontextinfo \
+ qscriptengine \
+ qscriptengineagent \
+ qscriptenginedebugger \
+ qscriptextqobject \
+ qscriptjstestsuite \
+ qscriptstring \
+ qscriptv8testsuite \
+ qscriptvalue \
+ qscriptvalueiterator \
+
diff --git a/tests/auto/sql.pro b/tests/auto/sql.pro
new file mode 100644
index 0000000000..7cfd137ae7
--- /dev/null
+++ b/tests/auto/sql.pro
@@ -0,0 +1,14 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qsql \
+ qsqldatabase \
+ qsqldriver \
+ qsqlerror \
+ qsqlfield \
+ qsqlquery \
+ qsqlquerymodel \
+ qsqlrecord \
+ qsqlrelationaltablemodel \
+ qsqltablemodel \
+ qsqlthread \
+
diff --git a/tests/auto/svg.pro b/tests/auto/svg.pro
new file mode 100644
index 0000000000..cb3cccbaf4
--- /dev/null
+++ b/tests/auto/svg.pro
@@ -0,0 +1,6 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qsvgdevice \
+ qsvggenerator \
+ qsvgrenderer \
+
diff --git a/tests/auto/utf8/tst_utf8.cpp b/tests/auto/utf8/tst_utf8.cpp
index 1183b8190b..7bbbfabe4f 100644
--- a/tests/auto/utf8/tst_utf8.cpp
+++ b/tests/auto/utf8/tst_utf8.cpp
@@ -73,6 +73,9 @@ private slots:
void invalidUtf8_data();
void invalidUtf8();
+
+ void nonCharacters_data();
+ void nonCharacters();
};
void tst_Utf8::initTestCase()
@@ -134,8 +137,8 @@ void tst_Utf8::roundTrip_data()
static const uint utf32_5[] = { 0x010203 };
QTest::newRow("utf8_5") << QByteArray(utf8_5) << QString::fromUcs4(utf32_5, 1);
- static const char utf8_6[] = "\364\217\277\277"; // U+10FFFF
- static const uint utf32_6[] = { 0x10FFFF };
+ static const char utf8_6[] = "\364\217\277\275"; // U+10FFFD
+ static const uint utf32_6[] = { 0x10FFFD };
QTest::newRow("utf8_6") << QByteArray(utf8_6) << QString::fromUcs4(utf32_6, 1);
static const char utf8_7[] = "abc\302\240\303\241\303\251\307\275 \342\202\254def";
@@ -144,10 +147,10 @@ void tst_Utf8::roundTrip_data()
' ', 0x20AC, 'd', 'e', 'f', 0 };
QTest::newRow("utf8_7") << QByteArray(utf8_7) << QString::fromUtf16(utf16_7);
- static const char utf8_8[] = "abc\302\240\303\241\303\251\307\275 \364\217\277\277 \342\202\254def";
+ static const char utf8_8[] = "abc\302\240\303\241\303\251\307\275 \364\217\277\275 \342\202\254def";
static const uint utf32_8[] = { 'a', 'b', 'c', 0x00A0,
0x00E1, 0x00E9, 0x01FD,
- ' ', 0x10FFFF, ' ',
+ ' ', 0x10FFFD, ' ',
0x20AC, 'd', 'e', 'f', 0 };
QTest::newRow("utf8_8") << QByteArray(utf8_8) << QString::fromUcs4(utf32_8);
}
@@ -214,14 +217,6 @@ void tst_Utf8::invalidUtf8_data()
QTest::newRow("4chars-2") << QByteArray("\xF0\x90\xC0\x80");
QTest::newRow("4chars-3") << QByteArray("\xF0\xC0\x80\x80");
- // U+FFFE and U+FFFF are non-characters and must not be present
- // U+FFFE: 1111 11 1111 11 1110
- // encoding: xxxz:1111 xz11:1111 xz11:1110
- QTest::newRow("fffe") << QByteArray("\xEF\xBF\xBE");
- // U+FFFF: 1111 11 1111 11 1111
- // encoding: xxxz:1111 xz11:1111 xz11:1111
- QTest::newRow("ffff") << QByteArray("\xEF\xBF\xBF");
-
// Surrogate pairs must now be present either
// U+D800: 1101 10 0000 00 0000
// encoding: xxxz:1101 xz10:0000 xz00:0000
@@ -302,7 +297,7 @@ void tst_Utf8::invalidUtf8()
QFETCH_GLOBAL(bool, useLocale);
QSharedPointer<QTextDecoder> decoder = QSharedPointer<QTextDecoder>(codec->makeDecoder());
- QString decoded = decoder->toUnicode(utf8);
+ decoder->toUnicode(utf8);
// Only enforce correctness on our UTF-8 decoder
// The system's UTF-8 codec is sometimes buggy
@@ -314,5 +309,69 @@ void tst_Utf8::invalidUtf8()
qWarning("System codec does not report failure when it should. Should report bug upstream.");
}
+void tst_Utf8::nonCharacters_data()
+{
+ QTest::addColumn<QByteArray>("utf8");
+ QTest::addColumn<QString>("utf16");
+
+ // Unicode has a couple of "non-characters" that one can use internally,
+ // but are not allowed to be used for text interchange.
+ //
+ // Those are the last two entries each Unicode Plane (U+FFFE, U+FFFF,
+ // U+1FFFE, U+1FFFF, etc.) as well as the entries between U+FDD0 and
+ // U+FDEF (inclusive)
+
+ // U+FDD0 through U+FDEF
+ for (int i = 0; i < 16; ++i) {
+ char utf8[] = { 0357, 0267, 0220 + i, 0 };
+ QString utf16 = QChar(0xfdd0 + i);
+ QTest::newRow(qPrintable(QString::number(0xfdd0 + i, 16))) << QByteArray(utf8) << utf16;
+ }
+
+ // the last two in Planes 1 through 16
+ for (uint plane = 1; plane <= 16; ++plane) {
+ for (uint lower = 0xfffe; lower < 0x10000; ++lower) {
+ uint ucs4 = (plane << 16) | lower;
+ char utf8[] = { 0xf0 | uchar(ucs4 >> 18),
+ 0x80 | (uchar(ucs4 >> 12) & 0x3f),
+ 0x80 | (uchar(ucs4 >> 6) & 0x3f),
+ 0x80 | (uchar(ucs4) & 0x3f),
+ 0 };
+ ushort utf16[] = { QChar::highSurrogate(ucs4), QChar::lowSurrogate(ucs4), 0 };
+
+ QTest::newRow(qPrintable(QString::number(ucs4, 16))) << QByteArray(utf8) << QString::fromUtf16(utf16);
+ }
+ }
+
+ QTest::newRow("fffe") << QByteArray("\xEF\xBF\xBE") << QString(QChar(0xfffe));
+ QTest::newRow("ffff") << QByteArray("\xEF\xBF\xBF") << QString(QChar(0xffff));
+}
+
+void tst_Utf8::nonCharacters()
+{
+ QFETCH(QByteArray, utf8);
+ QFETCH(QString, utf16);
+ QFETCH_GLOBAL(bool, useLocale);
+
+ QSharedPointer<QTextDecoder> decoder = QSharedPointer<QTextDecoder>(codec->makeDecoder());
+ decoder->toUnicode(utf8);
+
+ // Only enforce correctness on our UTF-8 decoder
+ // The system's UTF-8 codec is sometimes buggy
+ // GNU libc's iconv is known to accept U+FFFF and U+FFFE encoded as UTF-8
+ // OS X's iconv is known to accept those, plus surrogates and codepoints above U+10FFFF
+ if (!useLocale)
+ QVERIFY(decoder->hasFailure());
+ else if (!decoder->hasFailure())
+ qWarning("System codec does not report failure when it should. Should report bug upstream.");
+
+ QSharedPointer<QTextEncoder> encoder(codec->makeEncoder());
+ encoder->fromUnicode(utf16);
+ if (!useLocale)
+ QVERIFY(encoder->hasFailure());
+ else if (!encoder->hasFailure())
+ qWarning("System codec does not report failure when it should. Should report bug upstream.");
+}
+
QTEST_MAIN(tst_Utf8)
#include "tst_utf8.moc"
diff --git a/tests/auto/webkit.pro b/tests/auto/webkit.pro
new file mode 100644
index 0000000000..8c7ccba1fd
--- /dev/null
+++ b/tests/auto/webkit.pro
@@ -0,0 +1,8 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qwebelement \
+ qwebframe \
+ qwebhistory \
+ qwebhistoryinterface \
+ qwebpage \
+
diff --git a/tests/auto/xml.pro b/tests/auto/xml.pro
new file mode 100644
index 0000000000..76afec89cd
--- /dev/null
+++ b/tests/auto/xml.pro
@@ -0,0 +1,8 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ qdom \
+ qxml \
+ qxmlinputsource \
+ qxmlsimplereader \
+ qxmlstream \
+
diff --git a/tests/auto/xmlpatterns.pro b/tests/auto/xmlpatterns.pro
new file mode 100644
index 0000000000..f670266d51
--- /dev/null
+++ b/tests/auto/xmlpatterns.pro
@@ -0,0 +1,47 @@
+TEMPLATE=subdirs
+SUBDIRS=\
+ checkxmlfiles \
+ patternistexamplefiletree \
+ patternistexamples \
+ patternistheaders \
+ qabstractmessagehandler \
+ qabstracturiresolver \
+ qabstractxmlforwarditerator \
+ qabstractxmlnodemodel \
+ qabstractxmlreceiver \
+ qapplicationargumentparser \
+ qautoptr \
+ qsimplexmlnodemodel \
+ qsourcelocation \
+ qxmlformatter \
+ qxmlitem \
+ qxmlname \
+ qxmlnamepool \
+ qxmlnodemodelindex \
+ qxmlquery \
+ qxmlresultitems \
+ qxmlschema \
+ qxmlschemavalidator \
+ qxmlserializer \
+ xmlpatterns \
+ xmlpatternsdiagnosticsts \
+ xmlpatternsschema \
+ xmlpatternsschemats \
+ xmlpatternssdk \
+ xmlpatternsvalidator \
+ xmlpatternsview \
+ xmlpatternsxqts \
+ xmlpatternsxslts \
+
+xmlpatternsdiagnosticsts.depends = xmlpatternssdk
+xmlpatternsview.depends = xmlpatternssdk
+xmlpatternsxslts.depends = xmlpatternssdk
+xmlpatternsschemats.depends = xmlpatternssdk
+
+!contains(QT_CONFIG, private_tests): SUBDIRS -= \
+ xmlpatternsdiagnosticsts \
+ xmlpatternsview \
+ xmlpatternssdk \
+ xmlpatternsxqts \
+ xmlpatternsxslts \
+
diff --git a/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp b/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp
index 1238804d99..4fe4723a95 100644
--- a/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp
+++ b/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp
@@ -165,7 +165,7 @@ private slots:
WIN32_FIND_DATA fd;
HANDLE hSearch = FindFirstFileW(appendedPath, &fd);
- QVERIFY(hSearch == INVALID_HANDLE_VALUE);
+ QVERIFY(hSearch != INVALID_HANDLE_VALUE);
QBENCHMARK {
do {
diff --git a/tests/benchmarks/corelib/io/qfile/main.cpp b/tests/benchmarks/corelib/io/qfile/main.cpp
index 103b77c6f0..2dc0e862fe 100644
--- a/tests/benchmarks/corelib/io/qfile/main.cpp
+++ b/tests/benchmarks/corelib/io/qfile/main.cpp
@@ -175,7 +175,10 @@ void tst_qfile::cleanupTestCase()
void tst_qfile::readBigFile_QFile() { readBigFile(); }
void tst_qfile::readBigFile_QFSFileEngine() { readBigFile(); }
-void tst_qfile::readBigFile_posix() { readBigFile(); }
+void tst_qfile::readBigFile_posix()
+{
+ readBigFile();
+}
void tst_qfile::readBigFile_Win32() { readBigFile(); }
void tst_qfile::readBigFile_QFile_data()
@@ -476,8 +479,14 @@ void tst_qfile::open()
void tst_qfile::readSmallFiles_QFile() { readSmallFiles(); }
void tst_qfile::readSmallFiles_QFSFileEngine() { readSmallFiles(); }
-void tst_qfile::readSmallFiles_posix() { readSmallFiles(); }
-void tst_qfile::readSmallFiles_Win32() { readSmallFiles(); }
+void tst_qfile::readSmallFiles_posix()
+{
+ readSmallFiles();
+}
+void tst_qfile::readSmallFiles_Win32()
+{
+ readSmallFiles();
+}
void tst_qfile::readSmallFiles_QFile_data()
{
@@ -534,7 +543,7 @@ void tst_qfile::createSmallFiles()
dir.cd("tst");
tmpDirName = dir.absolutePath();
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_WINCE)
for (int i = 0; i < 100; ++i)
#else
for (int i = 0; i < 1000; ++i)
diff --git a/tests/benchmarks/corelib/kernel/kernel.pro b/tests/benchmarks/corelib/kernel/kernel.pro
index 91cf3c5d34..da3f0d609f 100644
--- a/tests/benchmarks/corelib/kernel/kernel.pro
+++ b/tests/benchmarks/corelib/kernel/kernel.pro
@@ -2,5 +2,6 @@ TEMPLATE = subdirs
SUBDIRS = \
events \
qmetaobject \
+ qmetatype \
qobject \
qvariant
diff --git a/tests/benchmarks/corelib/kernel/qmetatype/qmetatype.pro b/tests/benchmarks/corelib/kernel/qmetatype/qmetatype.pro
new file mode 100644
index 0000000000..80f9a2a398
--- /dev/null
+++ b/tests/benchmarks/corelib/kernel/qmetatype/qmetatype.pro
@@ -0,0 +1,7 @@
+load(qttest_p4)
+QT = core
+TEMPLATE = app
+TARGET = tst_qmetatype
+
+SOURCES += tst_qmetatype.cpp
+
diff --git a/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
new file mode 100644
index 0000000000..36399af15a
--- /dev/null
+++ b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -0,0 +1,233 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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 <qtest.h>
+#include <QtCore/qmetatype.h>
+
+//TESTED_FILES=
+
+class tst_QMetaType : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QMetaType();
+ virtual ~tst_QMetaType();
+
+private slots:
+ void typeBuiltin_data();
+ void typeBuiltin();
+ void typeBuiltinNotNormalized_data();
+ void typeBuiltinNotNormalized();
+ void typeCustom();
+ void typeCustomNotNormalized();
+ void typeNotRegistered();
+ void typeNotRegisteredNotNormalized();
+
+ void typeNameBuiltin_data();
+ void typeNameBuiltin();
+ void typeNameCustom();
+ void typeNameNotRegistered();
+
+ void isRegisteredBuiltin_data();
+ void isRegisteredBuiltin();
+ void isRegisteredCustom();
+ void isRegisteredNotRegistered();
+};
+
+tst_QMetaType::tst_QMetaType()
+{
+}
+
+tst_QMetaType::~tst_QMetaType()
+{
+}
+
+void tst_QMetaType::typeBuiltin_data()
+{
+ QTest::addColumn<QByteArray>("typeName");
+ for (int i = 0; i < QMetaType::User; ++i) {
+ const char *name = QMetaType::typeName(i);
+ if (name)
+ QTest::newRow(name) << QByteArray(name);
+ }
+}
+
+void tst_QMetaType::typeBuiltin()
+{
+ QFETCH(QByteArray, typeName);
+ const char *nm = typeName.constData();
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i)
+ QMetaType::type(nm);
+ }
+}
+
+void tst_QMetaType::typeBuiltinNotNormalized_data()
+{
+ QTest::addColumn<QByteArray>("typeName");
+ for (int i = 0; i < QMetaType::User; ++i) {
+ const char *name = QMetaType::typeName(i);
+ if (name)
+ QTest::newRow(name) << QByteArray(name).append(" ");
+ }
+}
+
+void tst_QMetaType::typeBuiltinNotNormalized()
+{
+ QFETCH(QByteArray, typeName);
+ const char *nm = typeName.constData();
+ QBENCHMARK {
+ for (int i = 0; i < 10000; ++i)
+ QMetaType::type(nm);
+ }
+}
+
+struct Foo { int i; };
+
+void tst_QMetaType::typeCustom()
+{
+ qRegisterMetaType<Foo>("Foo");
+ QBENCHMARK {
+ for (int i = 0; i < 10000; ++i)
+ QMetaType::type("Foo");
+ }
+}
+
+void tst_QMetaType::typeCustomNotNormalized()
+{
+ qRegisterMetaType<Foo>("Foo");
+ QBENCHMARK {
+ for (int i = 0; i < 10000; ++i)
+ QMetaType::type("Foo ");
+ }
+}
+
+void tst_QMetaType::typeNotRegistered()
+{
+ Q_ASSERT(QMetaType::type("Bar") == 0);
+ QBENCHMARK {
+ for (int i = 0; i < 10000; ++i)
+ QMetaType::type("Bar");
+ }
+}
+
+void tst_QMetaType::typeNotRegisteredNotNormalized()
+{
+ Q_ASSERT(QMetaType::type("Bar") == 0);
+ QBENCHMARK {
+ for (int i = 0; i < 10000; ++i)
+ QMetaType::type("Bar ");
+ }
+}
+
+void tst_QMetaType::typeNameBuiltin_data()
+{
+ QTest::addColumn<int>("type");
+ for (int i = 0; i < QMetaType::User; ++i) {
+ const char *name = QMetaType::typeName(i);
+ if (name)
+ QTest::newRow(name) << i;
+ }
+}
+
+void tst_QMetaType::typeNameBuiltin()
+{
+ QFETCH(int, type);
+ QBENCHMARK {
+ for (int i = 0; i < 500000; ++i)
+ QMetaType::typeName(type);
+ }
+}
+
+void tst_QMetaType::typeNameCustom()
+{
+ int type = qRegisterMetaType<Foo>("Foo");
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i)
+ QMetaType::typeName(type);
+ }
+}
+
+void tst_QMetaType::typeNameNotRegistered()
+{
+ // We don't care much about this case, but test it anyway.
+ Q_ASSERT(QMetaType::typeName(-1) == 0);
+ QBENCHMARK {
+ for (int i = 0; i < 500000; ++i)
+ QMetaType::typeName(-1);
+ }
+}
+
+void tst_QMetaType::isRegisteredBuiltin_data()
+{
+ typeNameBuiltin_data();
+}
+
+void tst_QMetaType::isRegisteredBuiltin()
+{
+ QFETCH(int, type);
+ QBENCHMARK {
+ for (int i = 0; i < 500000; ++i)
+ QMetaType::isRegistered(type);
+ }
+}
+
+void tst_QMetaType::isRegisteredCustom()
+{
+ int type = qRegisterMetaType<Foo>("Foo");
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i)
+ QMetaType::isRegistered(type);
+ }
+}
+
+void tst_QMetaType::isRegisteredNotRegistered()
+{
+ Q_ASSERT(QMetaType::typeName(-1) == 0);
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i)
+ QMetaType::isRegistered(-1);
+ }
+}
+
+QTEST_MAIN(tst_QMetaType)
+#include "tst_qmetatype.moc"
diff --git a/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/qtimer_vs_qmetaobject.pro b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/qtimer_vs_qmetaobject.pro
new file mode 100644
index 0000000000..9c6b16be12
--- /dev/null
+++ b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/qtimer_vs_qmetaobject.pro
@@ -0,0 +1,11 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = qtimer_vs_qmetaobject
+DEPENDPATH += .
+INCLUDEPATH += .
+
+CONFIG += release
+#CONFIG += debug
+
+
+SOURCES += tst_qtimer_vs_qmetaobject.cpp
diff --git a/src/declarative/util/qdeclarativenumberformatter_p.h b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp
index 3b8c7e1ac7..2f265bf7bf 100644
--- a/src/declarative/util/qdeclarativenumberformatter_p.h
+++ b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
+** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,55 +39,58 @@
**
****************************************************************************/
-#ifndef QDECLARATIVENUMBERFORMATTER_H
-#define QDECLARATIVENUMBERFORMATTER_H
+#include <QtCore>
+#include <QtTest/QtTest>
-#include "qnumberformat_p.h"
+#define INVOKE_COUNT 10000
-#include <qdeclarative.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QDeclarativeNumberFormatterPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeNumberFormatter : public QObject, public QDeclarativeParserStatus
+class qtimer_vs_qmetaobject : public QObject
{
Q_OBJECT
- Q_INTERFACES(QDeclarativeParserStatus)
+private slots:
+ void testZeroTimerSingleShot();
+ void testQueuedInvokeMethod();
+};
- Q_PROPERTY(QString text READ text NOTIFY textChanged)
- Q_PROPERTY(QString format READ format WRITE setFormat)
- Q_PROPERTY(qreal number READ number WRITE setNumber)
+class InvokeCounter : public QObject {
+ Q_OBJECT
public:
- QDeclarativeNumberFormatter(QObject *parent=0);
- ~QDeclarativeNumberFormatter();
-
- QString text() const;
-
- qreal number() const;
- void setNumber(const qreal &);
-
- QString format() const;
- void setFormat(const QString &);
-
- virtual void classBegin();
- virtual void componentComplete();
-
-Q_SIGNALS:
- void textChanged();
-
-private:
- Q_DISABLE_COPY(QDeclarativeNumberFormatter)
- Q_DECLARE_PRIVATE(QDeclarativeNumberFormatter)
+ InvokeCounter() : count(0) { };
+public slots:
+ void invokeSlot() {
+ count++;
+ if (count == INVOKE_COUNT)
+ QTestEventLoop::instance().exitLoop();
+ }
+protected:
+ int count;
};
-QT_END_NAMESPACE
+void qtimer_vs_qmetaobject::testZeroTimerSingleShot()
+{
+ QBENCHMARK {
+ InvokeCounter invokeCounter;
+ for(int i = 0; i < INVOKE_COUNT; ++i) {
+ QTimer::singleShot(0, &invokeCounter, SLOT(invokeSlot()));
+ }
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ }
+}
+
+void qtimer_vs_qmetaobject::testQueuedInvokeMethod()
+{
+ QBENCHMARK {
+ InvokeCounter invokeCounter;
+ for(int i = 0; i < INVOKE_COUNT; ++i) {
+ QMetaObject::invokeMethod(&invokeCounter, "invokeSlot", Qt::QueuedConnection);
+ }
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ }
+}
-QML_DECLARE_TYPE(QDeclarativeNumberFormatter)
-QT_END_HEADER
+QTEST_MAIN(qtimer_vs_qmetaobject)
-#endif
+#include "tst_qtimer_vs_qmetaobject.moc"
diff --git a/tests/benchmarks/corelib/tools/containers-sequential/main.cpp b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp
index a6e405c639..edf0eff2c5 100644
--- a/tests/benchmarks/corelib/tools/containers-sequential/main.cpp
+++ b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp
@@ -133,7 +133,7 @@ struct Large { // A "large" item type
};
// Symbian devices typically have limited memory
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_WINCE)
# define LARGE_MAX_SIZE 2000
#else
# define LARGE_MAX_SIZE 20000
diff --git a/tests/benchmarks/corelib/tools/qstringlist/main.cpp b/tests/benchmarks/corelib/tools/qstringlist/main.cpp
index 1717b88ee9..a4969bf191 100644
--- a/tests/benchmarks/corelib/tools/qstringlist/main.cpp
+++ b/tests/benchmarks/corelib/tools/qstringlist/main.cpp
@@ -163,6 +163,7 @@ void tst_QStringList::split_qlist_qstring() const
void tst_QStringList::split_stdvector_stdstring() const
{
+#ifndef QT_NO_STL
QFETCH(QString, input);
const char split_char = ':';
std::string stdinput = input.toStdString();
@@ -175,10 +176,12 @@ void tst_QStringList::split_stdvector_stdstring() const
token.push_back(each))
;
}
+#endif
}
void tst_QStringList::split_stdvector_stdwstring() const
{
+#ifndef QT_NO_STL
QFETCH(QString, input);
const wchar_t split_char = ':';
std::wstring stdinput = input.toStdWString();
@@ -191,6 +194,7 @@ void tst_QStringList::split_stdvector_stdwstring() const
token.push_back(each))
;
}
+#endif
}
void tst_QStringList::split_stdlist_stdstring() const
diff --git a/tests/benchmarks/declarative/binding/binding.pro b/tests/benchmarks/declarative/binding/binding.pro
index aa4cc41277..5ceaf34aa1 100644
--- a/tests/benchmarks/declarative/binding/binding.pro
+++ b/tests/benchmarks/declarative/binding/binding.pro
@@ -7,6 +7,9 @@ macx:CONFIG -= app_bundle
SOURCES += tst_binding.cpp testtypes.cpp
HEADERS += testtypes.h
+# Define SRCDIR equal to test's source directory
+DEFINES += SRCDIR=\\\"$$PWD\\\"
+
symbian* {
data.sources = data/*
data.path = data
diff --git a/tests/benchmarks/declarative/binding/data/idproperty.txt b/tests/benchmarks/declarative/binding/data/idproperty.txt
index 71e3c4e3c8..4e474ba49a 100644
--- a/tests/benchmarks/declarative/binding/data/idproperty.txt
+++ b/tests/benchmarks/declarative/binding/data/idproperty.txt
@@ -1,7 +1,7 @@
import Test 1.0
MyQmlObject {
- id: MyObject
+ id: myObject
MyQmlObject {
result: ###
diff --git a/tests/benchmarks/declarative/binding/data/objectproperty.txt b/tests/benchmarks/declarative/binding/data/objectproperty.txt
index 63fa74dc36..6133dd648b 100644
--- a/tests/benchmarks/declarative/binding/data/objectproperty.txt
+++ b/tests/benchmarks/declarative/binding/data/objectproperty.txt
@@ -1,7 +1,7 @@
import Test 1.0
MyQmlObject {
- id: MyObject
+ id: myObject
result: ###
}
diff --git a/tests/benchmarks/declarative/binding/testtypes.h b/tests/benchmarks/declarative/binding/testtypes.h
index 4b103ceb25..523f94dd09 100644
--- a/tests/benchmarks/declarative/binding/testtypes.h
+++ b/tests/benchmarks/declarative/binding/testtypes.h
@@ -50,7 +50,7 @@ class MyQmlObject : public QObject
Q_PROPERTY(int result READ result WRITE setResult);
Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged);
Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged);
- Q_PROPERTY(QDeclarativeList<QObject *> *data READ data);
+ Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data);
Q_CLASSINFO("DefaultProperty", "data");
public:
MyQmlObject() : m_result(0), m_value(0), m_object(0) {}
@@ -61,7 +61,7 @@ public:
int value() const { return m_value; }
void setValue(int v) { m_value = v; emit valueChanged(); }
- QDeclarativeList<QObject *> *data() { return &m_data; }
+ QDeclarativeListProperty<QObject> data() { return QDeclarativeListProperty<QObject>(this, m_data); }
MyQmlObject *object() const { return m_object; }
void setObject(MyQmlObject *o) { m_object = o; emit objectChanged(); }
@@ -71,7 +71,7 @@ signals:
void objectChanged();
private:
- QDeclarativeConcreteList<QObject *> m_data;
+ QList<QObject *> m_data;
int m_result;
int m_value;
MyQmlObject *m_object;
diff --git a/tests/benchmarks/declarative/binding/tst_binding.cpp b/tests/benchmarks/declarative/binding/tst_binding.cpp
index ee529a7a2e..dbddac39df 100644
--- a/tests/benchmarks/declarative/binding/tst_binding.cpp
+++ b/tests/benchmarks/declarative/binding/tst_binding.cpp
@@ -103,8 +103,8 @@ void tst_binding::objectproperty_data()
QTest::addColumn<QString>("file");
QTest::addColumn<QString>("binding");
- QTest::newRow("object.value") << "data/objectproperty.txt" << "object.value";
- QTest::newRow("object.value + 10") << "data/objectproperty.txt" << "object.value + 10";
+ QTest::newRow("object.value") << SRCDIR "/data/objectproperty.txt" << "object.value";
+ QTest::newRow("object.value + 10") << SRCDIR "/data/objectproperty.txt" << "object.value + 10";
}
void tst_binding::objectproperty()
@@ -132,13 +132,13 @@ void tst_binding::basicproperty_data()
QTest::addColumn<QString>("file");
QTest::addColumn<QString>("binding");
- QTest::newRow("value") << "data/localproperty.txt" << "value";
- QTest::newRow("value + 10") << "data/localproperty.txt" << "value + 10";
- QTest::newRow("value + value + 10") << "data/localproperty.txt" << "value + value + 10";
+ QTest::newRow("value") << SRCDIR "/data/localproperty.txt" << "value";
+ QTest::newRow("value + 10") << SRCDIR "/data/localproperty.txt" << "value + 10";
+ QTest::newRow("value + value + 10") << SRCDIR "/data/localproperty.txt" << "value + value + 10";
- QTest::newRow("MyObject.value") << "data/idproperty.txt" << "MyObject.value";
- QTest::newRow("MyObject.value + 10") << "data/idproperty.txt" << "MyObject.value + 10";
- QTest::newRow("MyObject.value + MyObject.value + 10") << "data/idproperty.txt" << "MyObject.value + MyObject.value + 10";
+ QTest::newRow("myObject.value") << SRCDIR "/data/idproperty.txt" << "myObject.value";
+ QTest::newRow("myObject.value + 10") << SRCDIR "/data/idproperty.txt" << "myObject.value + 10";
+ QTest::newRow("myObject.value + myObject.value + 10") << SRCDIR "/data/idproperty.txt" << "myObject.value + myObject.value + 10";
}
void tst_binding::basicproperty()
diff --git a/tests/benchmarks/declarative/creation/tst_creation.cpp b/tests/benchmarks/declarative/creation/tst_creation.cpp
index 9c0fd27d08..5b0004ff50 100644
--- a/tests/benchmarks/declarative/creation/tst_creation.cpp
+++ b/tests/benchmarks/declarative/creation/tst_creation.cpp
@@ -42,7 +42,7 @@
#include <qtest.h>
#include <QDeclarativeEngine>
#include <QDeclarativeComponent>
-#include <QDeclarativeMetaType>
+#include <private/qdeclarativemetatype_p.h>
#include <QDebug>
#include <QGraphicsScene>
#include <QGraphicsItem>
@@ -163,6 +163,8 @@ void tst_creation::objects_qmltype()
{
QFETCH(QByteArray, type);
QDeclarativeType *t = QDeclarativeMetaType::qmlType(type, 4, 6);
+ if (!t || !t->isCreatable())
+ QSKIP("Non-creatable type", SkipSingle);
QBENCHMARK {
QObject *obj = t->create();
@@ -339,7 +341,8 @@ void tst_creation::itemtree_data_cpp()
for (int i = 0; i < 30; ++i) {
QDeclarativeItem *child = new QDeclarativeItem;
QDeclarativeGraphics_setParent_noEvent(child,item);
- item->data()->append(child);
+ QDeclarativeListReference ref(item, "data");
+ ref.append(child);
}
delete item;
}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
index 69114afd47..dc29f151b8 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
@@ -1,6 +1,6 @@
import Qt 4.6
QtObject {
- id: Blah
+ id: blah
}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
index 723e62aa38..e48194a7e3 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
@@ -7,8 +7,8 @@ Item { id:block
property int targetX: 0
property int targetY: 0
- x: SpringFollow { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
- y: SpringFollow { source: targetY; spring: 2; damping: 0.2 }
+ SpringFollow on x { enabled: spawned; source: targetX; spring: 2; damping: 0.2 }
+ SpringFollow on y { source: targetY; spring: 2; damping: 0.2 }
Image { id: img
source: {
@@ -21,7 +21,7 @@ Item { id:block
}
}
opacity: 0
- opacity: Behavior { NumberAnimation { duration: 200 } }
+ Behavior on opacity { NumberAnimation { duration: 200 } }
anchors.fill: parent
}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro b/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
index 12fa9f4482..30ef23572e 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
@@ -7,6 +7,9 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativecomponent.cpp testtypes.cpp
HEADERS += testtypes.h
+# Define SRCDIR equal to test's source directory
+DEFINES += SRCDIR=\\\"$$PWD\\\"
+
symbian* {
data.sources = data/*
data.path = data
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h b/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
index 4b103ceb25..523f94dd09 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
@@ -50,7 +50,7 @@ class MyQmlObject : public QObject
Q_PROPERTY(int result READ result WRITE setResult);
Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged);
Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged);
- Q_PROPERTY(QDeclarativeList<QObject *> *data READ data);
+ Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data);
Q_CLASSINFO("DefaultProperty", "data");
public:
MyQmlObject() : m_result(0), m_value(0), m_object(0) {}
@@ -61,7 +61,7 @@ public:
int value() const { return m_value; }
void setValue(int v) { m_value = v; emit valueChanged(); }
- QDeclarativeList<QObject *> *data() { return &m_data; }
+ QDeclarativeListProperty<QObject> data() { return QDeclarativeListProperty<QObject>(this, m_data); }
MyQmlObject *object() const { return m_object; }
void setObject(MyQmlObject *o) { m_object = o; emit objectChanged(); }
@@ -71,7 +71,7 @@ signals:
void objectChanged();
private:
- QDeclarativeConcreteList<QObject *> m_data;
+ QList<QObject *> m_data;
int m_result;
int m_value;
MyQmlObject *m_object;
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp b/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
index 706530386c..4b1456ed31 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
@@ -90,13 +90,13 @@ void tst_qmlcomponent::creation_data()
{
QTest::addColumn<QString>("file");
- QTest::newRow("Object") << "data/object.qml";
- QTest::newRow("Object - Id") << "data/object_id.qml";
- QTest::newRow("MyQmlObject") << "data/myqmlobject.qml";
- QTest::newRow("MyQmlObject: basic binding") << "data/myqmlobject_binding.qml";
- QTest::newRow("Synthesized properties") << "data/synthesized_properties.qml";
- QTest::newRow("Synthesized properties.2") << "data/synthesized_properties.2.qml";
- QTest::newRow("SameGame - BoomBlock") << "data/samegame/BoomBlock.qml";
+ QTest::newRow("Object") << SRCDIR "/data/object.qml";
+ QTest::newRow("Object - Id") << SRCDIR "/data/object_id.qml";
+ QTest::newRow("MyQmlObject") << SRCDIR "/data/myqmlobject.qml";
+ QTest::newRow("MyQmlObject: basic binding") << SRCDIR "/data/myqmlobject_binding.qml";
+ QTest::newRow("Synthesized properties") << SRCDIR "/data/synthesized_properties.qml";
+ QTest::newRow("Synthesized properties.2") << SRCDIR "/data/synthesized_properties.2.qml";
+ QTest::newRow("SameGame - BoomBlock") << SRCDIR "/data/samegame/BoomBlock.qml";
}
void tst_qmlcomponent::creation()
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro b/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
index 80707680e6..79fdd262cd 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
@@ -6,3 +6,5 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativemetaproperty.cpp
+# Define SRCDIR equal to test's source directory
+DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp b/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
index dae175120e..8a5f4aea73 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
@@ -42,7 +42,7 @@
#include <qtest.h>
#include <QDeclarativeEngine>
#include <QDeclarativeComponent>
-#include <QDeclarativeMetaProperty>
+#include <QDeclarativeProperty>
#include <QFile>
#include <QDebug>
@@ -89,8 +89,8 @@ void tst_qmlmetaproperty::lookup_data()
{
QTest::addColumn<QString>("file");
- QTest::newRow("Simple Object") << "data/object.qml";
- QTest::newRow("Synthesized Object") << "data/synthesized_object.qml";
+ QTest::newRow("Simple Object") << SRCDIR "/data/object.qml";
+ QTest::newRow("Synthesized Object") << SRCDIR "/data/synthesized_object.qml";
}
void tst_qmlmetaproperty::lookup()
@@ -103,7 +103,7 @@ void tst_qmlmetaproperty::lookup()
QObject *obj = c.create();
QBENCHMARK {
- QDeclarativeMetaProperty p(obj, "x");
+ QDeclarativeProperty p(obj, "x");
}
delete obj;
diff --git a/tests/benchmarks/declarative/script/tst_script.cpp b/tests/benchmarks/declarative/script/tst_script.cpp
index 61f5fc8457..9dd40761d7 100644
--- a/tests/benchmarks/declarative/script/tst_script.cpp
+++ b/tests/benchmarks/declarative/script/tst_script.cpp
@@ -96,11 +96,6 @@ private slots:
private:
};
-void tst_script::initTestCase()
-{
- QML_REGISTER_TYPE(Qt.test, 1, 0, TestObject, TestObject);
-}
-
inline QUrl TEST_FILE(const QString &filename)
{
return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
@@ -147,6 +142,12 @@ int TestObject::x()
return m_x++;
}
+void tst_script::initTestCase()
+{
+ QML_REGISTER_TYPE(Qt.test, 1, 0, TestObject, TestObject);
+}
+
+
#define PROPERTY_PROGRAM \
"(function(testObject) { return (function() { " \
" var test = 0; " \
diff --git a/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index 3c0ae71bbe..ba56d58ae3 100644
--- a/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -414,6 +414,9 @@ void tst_QGraphicsView::chipTester_data()
void tst_QGraphicsView::chipTester()
{
+#ifdef Q_WS_WINCE_WM
+QSKIP("WinCE WM: Fails on Windows Mobile w/o OpenGL", SkipAll);
+#endif
QFETCH(bool, antialias);
QFETCH(bool, opengl);
QFETCH(int, operation);
diff --git a/tests/benchmarks/gui/painting/painting.pro b/tests/benchmarks/gui/painting/painting.pro
index 2c042b54c6..76c26c1627 100644
--- a/tests/benchmarks/gui/painting/painting.pro
+++ b/tests/benchmarks/gui/painting/painting.pro
@@ -3,4 +3,5 @@ SUBDIRS = \
qpainter \
qregion \
qtransform \
- qtracebench
+ qtracebench \
+ qtbench
diff --git a/tests/benchmarks/gui/painting/qtbench/benchmarktests.h b/tests/benchmarks/gui/painting/qtbench/benchmarktests.h
new file mode 100644
index 0000000000..362d121262
--- /dev/null
+++ b/tests/benchmarks/gui/painting/qtbench/benchmarktests.h
@@ -0,0 +1,841 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the FOO 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.
+**
+** 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 BENCHMARKTESTS_H
+#define BENCHMARKTESTS_H
+
+#include <QApplication>
+#include <QTextDocument>
+#include <QDesktopWidget>
+#include <QTextLayout>
+#include <QFontMetrics>
+#include <QDebug>
+
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+# include <QStaticText>
+#endif
+
+class Benchmark
+{
+public:
+ virtual ~Benchmark() {}
+
+ Benchmark(const QSize &size)
+ : m_size(size)
+ {
+ for (int i=0; i<16; ++i) {
+ m_colors[i] = QColor::fromRgbF((rand() % 4) / 3.0,
+ (rand() % 4) / 3.0,
+ (rand() % 4) / 3.0,
+ 1);
+ }
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int iteration) = 0;
+ virtual QString name() const = 0;
+
+ inline const QSize &size() const
+ {
+ return m_size;
+ }
+ virtual void begin(QPainter *, int iterations = 1) { Q_UNUSED(iterations); }
+ virtual void end(QPainter *) { }
+
+ inline const QColor &randomColor(int i) { return m_colors[i % 16]; }
+
+protected:
+ QColor m_colors[16];
+ QSize m_size;
+};
+
+class PaintingRectAdjuster
+{
+public:
+ PaintingRectAdjuster()
+ : m_benchmark(0),
+ m_bounds(),
+ m_screen_filled(false)
+ {
+ }
+
+ const QRect &newPaintingRect() {
+ m_rect.translate(m_rect.width(), 0);
+
+ if (m_rect.right() > m_bounds.width()) {
+ m_rect.moveLeft(m_bounds.left());
+ m_rect.translate(0,m_rect.height());
+ if (m_rect.bottom() > m_bounds.height()) {
+ m_screen_filled = true;
+ m_rect.moveTo(m_bounds.topLeft());
+ }
+ }
+ return m_rect;
+ }
+
+ inline bool isScreenFilled() const
+ { return m_screen_filled; }
+
+ void reset(const QRect &bounds)
+ {
+ m_bounds = bounds;
+ m_rect.moveTo(m_bounds.topLeft());
+ m_rect = QRect(m_bounds.topLeft(),m_benchmark->size());
+ m_rect.translate(-m_rect.width(),0);
+ m_screen_filled = false;
+ }
+
+ inline void setNewBenchmark( Benchmark *benchmark )
+ {
+ m_benchmark = benchmark;
+ }
+
+protected:
+ Benchmark *m_benchmark;
+ QRect m_rect;
+ QRect m_bounds;
+ bool m_screen_filled;
+};
+
+class FillRectBenchmark : public Benchmark
+{
+public:
+ FillRectBenchmark(int size)
+ : Benchmark(QSize(size, size))
+ {
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int iterationCount) {
+ p->fillRect(rect, randomColor(iterationCount));
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("fillRect(%1)").arg(m_size.width());
+ }
+};
+
+class ImageFillRectBenchmark : public Benchmark
+{
+public:
+ ImageFillRectBenchmark(int size)
+ : Benchmark(QSize(size, size))
+ {
+ int s = rand() % 24 + 8;
+ m_content = QImage(s, s, QImage::Format_ARGB32_Premultiplied);
+ QPainter p(&m_content);
+ p.fillRect(0, 0, s, s, Qt::white);
+ p.fillRect(s/2, 0, s/2, s/2, Qt::gray);
+ p.fillRect(0, s/2, s/2, s/2, Qt::gray);
+ p.end();
+
+ m_brush = QBrush(m_content);
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ p->fillRect(rect, m_brush);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("fillRect with image(%1)").arg(m_size.width());
+ }
+
+private:
+ QImage m_content;
+ QBrush m_brush;
+};
+
+
+class DrawRectBenchmark : public Benchmark
+{
+public:
+ DrawRectBenchmark(int size)
+ : Benchmark(QSize(size, size))
+ {
+ }
+
+ virtual void begin(QPainter *p, int) {
+ p->setPen(Qt::NoPen);
+ p->setBrush(randomColor(m_size.width()));
+ }
+
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ p->drawRect(rect);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("drawRect(%1)").arg(m_size.width());
+ }
+};
+
+
+class DrawRectWithBrushChangeBenchmark : public Benchmark
+{
+public:
+ DrawRectWithBrushChangeBenchmark(int size)
+ : Benchmark(QSize(size, size))
+ {
+ }
+
+ virtual void begin(QPainter *p, int) {
+ p->setPen(Qt::NoPen);
+ }
+
+
+ virtual void draw(QPainter *p, const QRect &rect, int i) {
+ p->setBrush(randomColor(i));
+ p->drawRect(rect);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("drawRect with brushchange(%1)").arg(m_size.width());
+ }
+};
+
+class RoundRectBenchmark : public Benchmark
+{
+public:
+ RoundRectBenchmark(int size)
+ : Benchmark(QSize(size, size))
+ {
+ m_roundness = size / 4.;
+ }
+
+ virtual void begin(QPainter *p, int) {
+ p->setPen(Qt::NoPen);
+ p->setBrush(Qt::red);
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ p->drawRoundedRect(rect, m_roundness, m_roundness);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("drawRoundedRect(%1)").arg(m_size.width());
+ }
+
+ qreal m_roundness;
+};
+
+
+class ArcsBenchmark : public Benchmark
+{
+public:
+ enum Type {
+ Stroked = 0x0001,
+ Filled = 0x0002,
+
+ ArcShape = 0x0010,
+ ChordShape = 0x0020,
+ PieShape = 0x0040,
+ CircleShape = 0x0080,
+ Shapes = 0x00f0
+
+ };
+
+ ArcsBenchmark(int size, uint type)
+ : Benchmark(QSize(size, size)),
+ m_type(type)
+ {
+ }
+
+ virtual void begin(QPainter *p, int) {
+ if (m_type & Stroked)
+ p->setPen(Qt::black);
+ else
+ p->setPen(Qt::NoPen);
+
+ if (m_type & Filled)
+ p->setBrush(Qt::red);
+ else
+ p->setBrush(Qt::NoBrush);
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ switch (m_type & Shapes) {
+ case ArcShape:
+ p->drawArc(rect, 45*16, 120*16);
+ break;
+ case ChordShape:
+ p->drawChord(rect, 45*16, 120*16);
+ break;
+ case PieShape:
+ p->drawPie(rect, 45*16, 120*16);
+ break;
+ case CircleShape:
+ p->drawEllipse(rect);
+ break;
+ }
+ }
+
+ virtual QString name() const {
+ QString fillStroke;
+
+ if ((m_type & (Stroked|Filled)) == (Stroked|Filled)) {
+ fillStroke = QLatin1String("Fill & Outline");
+ } else if (m_type & Stroked) {
+ fillStroke = QLatin1String("Outline");
+ } else if (m_type & Filled) {
+ fillStroke = QLatin1String("Fill");
+ }
+
+ QString shape;
+ if (m_type & PieShape) shape = QLatin1String("drawPie");
+ else if (m_type & ChordShape) shape = QLatin1String("drawChord");
+ else if (m_type & ArcShape) shape = QLatin1String("drawArc");
+ else if (m_type & CircleShape) shape = QLatin1String("drawEllipse");
+
+ return QString::fromLatin1("%1(%2) %3").arg(shape).arg(m_size.width()).arg(fillStroke);
+ }
+
+ uint m_type;
+};
+
+
+class DrawScaledImage : public Benchmark
+{
+public:
+ DrawScaledImage(const QImage &image, qreal scale, bool asPixmap)
+ : Benchmark(QSize(image.width(), image.height())),
+ m_image(image),
+ m_type(m_as_pixmap ? "Pixmap" : "Image"),
+ m_scale(scale),
+ m_as_pixmap(asPixmap)
+ {
+ m_pixmap = QPixmap::fromImage(m_image);
+ }
+ DrawScaledImage(const QString& type, const QPixmap &pixmap, qreal scale)
+ : Benchmark(QSize(pixmap.width(), pixmap.height())),
+ m_type(type),
+ m_scale(scale),
+ m_as_pixmap(true),
+ m_pixmap(pixmap)
+ {
+ }
+
+ virtual void begin(QPainter *p, int) {
+ p->scale(m_scale, m_scale);
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ if (m_as_pixmap)
+ p->drawPixmap(rect.topLeft(), m_pixmap);
+ else
+ p->drawImage(rect.topLeft(), m_image);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("draw%4(%1) at scale=%2, depth=%3")
+ .arg(m_size.width())
+ .arg(m_scale)
+ .arg(m_as_pixmap ? m_pixmap.depth() : m_image.depth())
+ .arg(m_type);
+ }
+
+private:
+ QImage m_image;
+ QString m_type;
+ qreal m_scale;
+ bool m_as_pixmap;
+ QPixmap m_pixmap;
+};
+
+class DrawTransformedImage : public Benchmark
+{
+public:
+ DrawTransformedImage(const QImage &image, bool asPixmap)
+ : Benchmark(QSize(image.width(), image.height())),
+ m_image(image),
+ m_type(m_as_pixmap ? "Pixmap" : "Image"),
+ m_as_pixmap(asPixmap)
+ {
+ m_pixmap = QPixmap::fromImage(m_image);
+ }
+ DrawTransformedImage(const QString& type, const QPixmap &pixmap)
+ : Benchmark(QSize(pixmap.width(), pixmap.height())),
+ m_type(type),
+ m_as_pixmap(true),
+ m_pixmap(pixmap)
+ {
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ QTransform oldTransform = p->transform();
+ p->translate(0.5 * rect.width() + rect.left(), 0.5 * rect.height() + rect.top());
+ p->shear(0.25, 0.0);
+ p->rotate(5.0);
+ if (m_as_pixmap)
+ p->drawPixmap(-0.5 * rect.width(), -0.5 * rect.height(), m_pixmap);
+ else
+ p->drawImage(-0.5 * rect.width(), -0.5 * rect.height(), m_image);
+ p->setTransform(oldTransform);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("draw%3(%1) w/transform, depth=%2")
+ .arg(m_size.width())
+ .arg(m_as_pixmap ? m_pixmap.depth() : m_image.depth())
+ .arg(m_type);
+ }
+
+private:
+ QImage m_image;
+ QString m_type;
+ bool m_as_pixmap;
+ QPixmap m_pixmap;
+};
+
+
+class DrawImage : public Benchmark
+{
+public:
+ DrawImage(const QImage &image, bool asPixmap)
+ : Benchmark(QSize(image.width(), image.height())),
+ m_image(image),
+ m_type(m_as_pixmap ? "Pixmap" : "Image"),
+ m_as_pixmap(asPixmap)
+ {
+ m_pixmap = QPixmap::fromImage(image);
+ }
+ DrawImage(const QString& type, const QPixmap &pixmap)
+ : Benchmark(QSize(pixmap.width(), pixmap.height())),
+ m_type(type),
+ m_as_pixmap(true),
+ m_pixmap(pixmap)
+ {
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ if (m_as_pixmap)
+ p->drawPixmap(rect.topLeft(), m_pixmap);
+ else
+ p->drawImage(rect.topLeft(), m_image);
+ }
+
+ virtual QString name() const {
+ return QString::fromLatin1("draw%2(%1), depth=%3")
+ .arg(m_size.width())
+ .arg(m_type)
+ .arg(m_as_pixmap ? m_pixmap.depth() : m_image.depth());
+ }
+
+private:
+ QImage m_image;
+ QString m_type;
+ bool m_as_pixmap;
+ QPixmap m_pixmap;
+};
+
+
+class DrawText : public Benchmark
+{
+public:
+ enum Mode {
+ PainterMode,
+ PainterQPointMode,
+ LayoutMode,
+ DocumentMode,
+ PixmapMode
+
+#if QT_VERSION >= 0x040700
+ , StaticTextMode,
+ StaticTextWithMaximumSizeMode,
+ StaticTextBackendOptimizations
+#endif
+ };
+
+ DrawText(const QString &text, Mode mode)
+ : Benchmark(QSize()), m_mode(mode), m_text(text), m_document(text), m_layout(text)
+ {
+ }
+
+ virtual void begin(QPainter *p, int iterations) {
+#if QT_VERSION >= 0x040700
+ m_staticTexts.clear();
+ m_currentStaticText = 0;
+#else
+ Q_UNUSED(iterations);
+#endif
+ m_pixmaps.clear();
+ m_currentPixmap = 0;
+ QRect m_bounds = QRect(0,0,p->device()->width(), p->device()->height());
+ switch (m_mode) {
+ case PainterMode:
+ m_size = (p->boundingRect(m_bounds, 0, m_text)).size();
+// m_rect = m_rect.translated(-m_rect.topLeft());
+ break;
+ case DocumentMode:
+ m_size = QSize(m_document.size().toSize());
+ break;
+ case PixmapMode:
+ for (int i=0; i<4; ++i) {
+ m_size = (p->boundingRect(m_bounds, 0, m_text)).size();
+ QPixmap pixmap = QPixmap(m_size);
+ pixmap.fill(Qt::transparent);
+ {
+ QPainter p(&pixmap);
+ p.drawText(pixmap.rect(), m_text);
+ }
+ m_pixmaps.append(pixmap);
+ }
+ break;
+
+ case LayoutMode: {
+ QRect r = p->boundingRect(m_bounds, 0, m_text);
+ QStringList lines = m_text.split('\n');
+ int height = 0;
+ int leading = p->fontMetrics().leading();
+ m_layout.beginLayout();
+ for (int i=0; i<lines.size(); ++i) {
+ QTextLine textLine = m_layout.createLine();
+ if (textLine.isValid()) {
+ textLine.setLineWidth(r.width());
+ textLine.setPosition(QPointF(0, height));
+ height += leading + textLine.height();
+ }
+ }
+ m_layout.endLayout();
+ m_layout.setCacheEnabled(true);
+ m_size = m_layout.boundingRect().toRect().size();
+ break; }
+
+#if QT_VERSION >= 0x040700
+ case StaticTextWithMaximumSizeMode: {
+ QStaticText staticText;
+ m_size = (p->boundingRect(m_bounds, 0, m_text)).size();
+ staticText.setMaximumSize(m_size + QSize(10, 10));
+ staticText.setText(m_text);
+ staticText.prepare(p->transform(), p->font());
+ m_staticTexts.append(staticText);
+ break;
+ }
+ case StaticTextBackendOptimizations: {
+ m_size = (p->boundingRect(m_bounds, 0, m_text)).size();
+ for (int i=0; i<iterations; ++i) {
+ QStaticText staticText;
+ staticText.setPerformanceHint(QStaticText::AggressiveCaching);
+ staticText.setMaximumSize(m_size + QSize(10, 10));
+ staticText.setText(m_text);
+ staticText.prepare(p->transform(), p->font());
+ m_staticTexts.append(staticText);
+ }
+
+ break;
+ }
+ case StaticTextMode: {
+ QStaticText staticText;
+ staticText.setText(m_text);
+ staticText.prepare(p->transform(), p->font());
+ m_staticTexts.append(staticText);
+
+ QFontMetrics fm(p->font());
+ m_size = QSize(fm.width(m_text, m_text.length()), fm.height());
+
+ break;
+ }
+#endif
+
+ case PainterQPointMode: {
+ QFontMetrics fm(p->font());
+ m_size = QSize(fm.width(m_text, m_text.length()), fm.height());
+ break;
+ }
+
+ }
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int)
+ {
+ switch (m_mode) {
+ case PainterMode:
+ p->drawText(rect, 0, m_text);
+ break;
+ case PainterQPointMode:
+ p->drawText(rect.topLeft(), m_text);
+ break;
+ case PixmapMode:
+ p->drawPixmap(rect.topLeft(), m_pixmaps.at(m_currentPixmap));
+ m_currentPixmap = (m_currentPixmap + 1) % m_pixmaps.size();
+ break;
+ case DocumentMode:
+ p->translate(rect.topLeft());
+ m_document.drawContents(p);
+ p->translate(-rect.topLeft());
+ break;
+ case LayoutMode:
+ m_layout.draw(p, rect.topLeft());
+ break;
+
+#if QT_VERSION >= 0x040700
+ case StaticTextWithMaximumSizeMode:
+ case StaticTextMode:
+ p->drawStaticText(rect.topLeft(), m_staticTexts.at(0));
+ break;
+ case StaticTextBackendOptimizations:
+ p->drawStaticText(rect.topLeft(), m_staticTexts.at(m_currentStaticText));
+ m_currentStaticText = (m_currentStaticText + 1) % m_staticTexts.size();
+ break;
+#endif
+ }
+ }
+
+ virtual QString name() const {
+ int letters = m_text.length();
+ int lines = m_text.count('\n');
+ if (lines == 0)
+ lines = 1;
+ QString type;
+ switch (m_mode) {
+ case PainterMode: type = "drawText(rect)"; break;
+ case PainterQPointMode: type = "drawText(point)"; break;
+ case LayoutMode: type = "layout.draw()"; break;
+ case DocumentMode: type = "doc.drawContents()"; break;
+ case PixmapMode: type = "pixmap cached text"; break;
+
+#if QT_VERSION >= 0x040700
+ case StaticTextMode: type = "drawStaticText()"; break;
+ case StaticTextWithMaximumSizeMode: type = "drawStaticText() w/ maxsize"; break;
+ case StaticTextBackendOptimizations: type = "drawStaticText() w/ backend optimizations"; break;
+#endif
+ }
+
+ return QString::fromLatin1("%3, len=%1, lines=%2")
+ .arg(letters)
+ .arg(lines)
+ .arg(type);
+ }
+
+private:
+ Mode m_mode;
+ QString m_text;
+ QTextDocument m_document;
+ QTextLayout m_layout;
+
+ QList<QPixmap> m_pixmaps;
+ int m_currentPixmap;
+
+#if QT_VERSION >= 0x040700
+ int m_currentStaticText;
+ QList<QStaticText> m_staticTexts;
+#endif
+};
+
+
+
+
+class ClippedDrawRectBenchmark : public Benchmark
+{
+public:
+ enum ClipType {
+ RectClip,
+ TwoRectRegionClip,
+ EllipseRegionClip,
+ TwoRectPathClip,
+ EllipsePathClip,
+ AAEllipsePathClip,
+ EllipseRegionThenRectClip,
+ EllipsePathThenRectClip
+ };
+
+ ClippedDrawRectBenchmark(int size, ClipType type)
+ : Benchmark(QSize(size, size)), m_type(type)
+ {
+ }
+
+ virtual void begin(QPainter *p, int) {
+ QRect m_bounds = QRect(0,0,p->device()->width(), p->device()->height());
+ p->setPen(Qt::NoPen);
+ p->setBrush(Qt::red);
+
+ switch (m_type) {
+ case RectClip:
+ p->setClipRect(m_bounds.adjusted(1, 1, -1, -1));
+ break;
+ case TwoRectRegionClip:
+ p->setClipRegion(QRegion(m_bounds.adjusted(0, 0, -1, -1))
+ | QRegion(m_bounds.adjusted(1, 1, 0, 0)));
+ break;
+ case EllipseRegionClip:
+ p->setClipRegion(QRegion(m_bounds, QRegion::Ellipse));
+ break;
+ case TwoRectPathClip:
+ {
+ QPainterPath path;
+ path.addRect(m_bounds.adjusted(0, 0, -1, -1));
+ path.addRect(m_bounds.adjusted(1, 1, 0, 0));
+ path.setFillRule(Qt::WindingFill);
+ p->setClipPath(path);
+ }
+ break;
+ case EllipsePathClip:
+ {
+ QPainterPath path;
+ path.addEllipse(m_bounds);
+ p->setClipPath(path);
+ }
+ break;
+ case AAEllipsePathClip:
+ {
+ QPainterPath path;
+ path.addEllipse(m_bounds);
+ p->setRenderHint(QPainter::Antialiasing);
+ p->setClipPath(path);
+ p->setRenderHint(QPainter::Antialiasing, false);
+ }
+ break;
+ case EllipseRegionThenRectClip:
+ p->setClipRegion(QRegion(m_bounds, QRegion::Ellipse));
+ p->setClipRegion(QRegion(m_bounds.width() / 4,
+ m_bounds.height() / 4,
+ m_bounds.width() / 2,
+ m_bounds.height() / 2), Qt::IntersectClip);
+ break;
+ case EllipsePathThenRectClip:
+ {
+ QPainterPath path;
+ path.addEllipse(m_bounds);
+ p->setClipPath(path);
+ p->setClipRegion(QRegion(m_bounds.width() / 4,
+ m_bounds.height() / 4,
+ m_bounds.width() / 2,
+ m_bounds.height() / 2), Qt::IntersectClip);
+ }
+ break;
+ }
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ p->drawRect(rect);
+ }
+
+ virtual QString name() const {
+ QString namedType;
+ switch (m_type) {
+ case RectClip:
+ namedType = "rect";
+ break;
+ case TwoRectRegionClip:
+ namedType = "two-rect-region";
+ break;
+ case EllipseRegionClip:
+ namedType = "ellipse-region";
+ break;
+ case TwoRectPathClip:
+ namedType = "two-rect-path";
+ break;
+ case EllipsePathClip:
+ namedType = "ellipse-path";
+ break;
+ case AAEllipsePathClip:
+ namedType = "aa-ellipse-path";
+ break;
+ case EllipseRegionThenRectClip:
+ namedType = "ellipseregion&rect";
+ break;
+ case EllipsePathThenRectClip:
+ namedType = "ellipsepath&rect";
+ break;
+ }
+ return QString::fromLatin1("%1-clipped-drawRect(%2)").arg(namedType).arg(m_size.width());
+ }
+
+ ClipType m_type;
+};
+
+class LinesBenchmark : public Benchmark
+{
+public:
+ enum LineType {
+ Horizontal_Integer,
+ Diagonal_Integer,
+ Vertical_Integer,
+ Horizontal_Float,
+ Diagonal_Float,
+ Vertical_Float
+ };
+
+ LinesBenchmark(int length, LineType type)
+ : Benchmark(QSize(qAbs(length), qAbs(length))),
+ m_type(type),
+ m_length(length)
+ {
+
+ }
+
+ virtual void draw(QPainter *p, const QRect &rect, int) {
+ switch (m_type) {
+ case Horizontal_Integer:
+ p->drawLine(QLine(rect.x(), rect.y(), rect.x() + m_length, rect.y()));
+ break;
+ case Diagonal_Integer:
+ p->drawLine(QLine(rect.x(), rect.y(), rect.x() + m_length, rect.y() + m_length));
+ break;
+ case Vertical_Integer:
+ p->drawLine(QLine(rect.x() + 4, rect.y(), rect.x() + 4, rect.y() + m_length));
+ break;
+ case Horizontal_Float:
+ p->drawLine(QLineF(rect.x(), rect.y(), rect.x() + m_length, rect.y()));
+ break;
+ case Diagonal_Float:
+ p->drawLine(QLineF(rect.x(), rect.y(), rect.x() + m_length, rect.y() + m_length));
+ break;
+ case Vertical_Float:
+ p->drawLine(QLineF(rect.x() + 4, rect.y(), rect.x() + 4, rect.y() + m_length));
+ break;
+ }
+ }
+
+ virtual QString name() const {
+ const char *names[] = {
+ "Hor_I",
+ "Diag_I",
+ "Ver_I",
+ "Hor_F",
+ "Diag_F",
+ "Ver_F"
+ };
+ return QString::fromLatin1("drawLine(size=%1,type=%2)").arg(m_length).arg(names[m_type]);
+ }
+
+ LineType m_type;
+ int m_length;
+};
+
+#endif // BENCHMARKTESTS_H
diff --git a/tests/benchmarks/gui/painting/qtbench/qtbench.pro b/tests/benchmarks/gui/painting/qtbench/qtbench.pro
new file mode 100644
index 0000000000..91f416de79
--- /dev/null
+++ b/tests/benchmarks/gui/painting/qtbench/qtbench.pro
@@ -0,0 +1,6 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_qtbench
+
+SOURCES += tst_qtbench.cpp
+
diff --git a/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp b/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp
new file mode 100644
index 0000000000..8eef472891
--- /dev/null
+++ b/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp
@@ -0,0 +1,254 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the 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 <qtest.h>
+
+#include <QtGui>
+
+#include "benchmarktests.h"
+
+//TESTED_FILES=
+
+class BenchWidget : public QWidget
+{
+public:
+ BenchWidget(Benchmark *benchmark);
+
+ void paintEvent(QPaintEvent *event);
+
+ bool done() const { return m_done; }
+ qreal result() const { return m_result; }
+
+public:
+ QTime timer;
+
+ Benchmark *m_benchmark;
+
+ bool m_done;
+ qreal m_result;
+
+ uint m_total;
+ uint m_iteration;
+
+ QVector<uint> iterationTimes;
+};
+
+void BenchWidget::paintEvent(QPaintEvent *)
+{
+ if (m_done)
+ return;
+
+ QPainter p(this);
+
+ m_benchmark->begin(&p, 100);
+
+ PaintingRectAdjuster adjuster;
+ adjuster.setNewBenchmark(m_benchmark);
+ adjuster.reset(rect());
+
+ for (int i = 0; i < 100; ++i)
+ m_benchmark->draw(&p, adjuster.newPaintingRect(), i);
+
+ m_benchmark->end(&p);
+
+ ++m_iteration;
+
+ uint currentElapsed = timer.isNull() ? 0 : timer.elapsed();
+ timer.restart();
+
+ m_total += currentElapsed;
+
+ // warm up for at most 5 iterations or half a second
+ if (m_iteration >= 5 || m_total >= 500) {
+ iterationTimes << currentElapsed;
+
+ if (iterationTimes.size() >= 5) {
+ qreal mean = 0;
+ qreal stddev = 0;
+ uint min = INT_MAX;
+
+ for (int i = 0; i < iterationTimes.size(); ++i) {
+ mean += iterationTimes.at(i);
+ min = qMin(min, iterationTimes.at(i));
+ }
+
+ mean /= qreal(iterationTimes.size());
+
+ for (int i = 0; i < iterationTimes.size(); ++i) {
+ qreal delta = iterationTimes.at(i) - mean;
+ stddev += delta * delta;
+ }
+
+ stddev = qSqrt(stddev / iterationTimes.size());
+
+ stddev = 100 * stddev / mean;
+ // do 50 iterations, break earlier if we spend more than 5 seconds or have a low std deviation after 2 seconds
+ if (iterationTimes.size() >= 50 || m_total >= 5000 || (m_total >= 2000 && stddev < 4)) {
+ m_result = min;
+ m_done = true;
+ return;
+ }
+ }
+ }
+}
+
+BenchWidget::BenchWidget(Benchmark *benchmark)
+ : m_benchmark(benchmark)
+ , m_done(false)
+ , m_result(0)
+ , m_total(0)
+ , m_iteration(0)
+{
+ setWindowTitle(benchmark->name());
+ resize(640, 480);
+}
+
+class tst_QtBench : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void qtBench();
+ void qtBench_data();
+};
+
+QString makeString(int length)
+{
+ const char chars[] = "abcd efgh ijkl mnop qrst uvwx yz!$. ABCD 1234";
+ int len = strlen(chars);
+
+ QString ret;
+ for (int j = 0; j < length; j++) {
+ ret += QChar(chars[(j * 97) % len]);
+ }
+
+ return ret;
+}
+
+void tst_QtBench::qtBench_data()
+{
+ QTest::addColumn<void *>("benchmark");
+
+ QString shortString = makeString(5);
+ QString middleString = makeString(50);
+ QString longString = makeString(35) + "\n"
+ + makeString(45) + "\n"
+ + makeString(75);
+ QString superLongString = "Lorem ipsum dolor sit am\n"
+ "et, consectetur adipisci\n"
+ "ng elit. Integer mi leo,\n"
+ "interdum ut congue at, p\n"
+ "ulvinar et tellus. Quisq\n"
+ "ue pretium eleifend laci\n"
+ "nia. Ut semper gravida l\n"
+ "ectus in commodo. Vestib\n"
+ "ulum pharetra arcu in en\n"
+ "im ultrices hendrerit. P\n"
+ "ellentesque habitant mor\n"
+ "bi tristique senectus et\n"
+ "netus et malesuada fames\n"
+ "ac turpis egestas. Ut er\n"
+ "os sem, feugiat in eleme\n"
+ "ntum in, porta sit amet \n"
+ "neque. Fusce mi tellus, \n"
+ "congue non dapibus eget,\n"
+ "pharetra quis quam. Duis\n"
+ "dui massa, pulvinar ac s\n"
+ "odales pharetra, dictum \n"
+ "in enim. Phasellus a nis\n"
+ "i erat, sed pellentesque\n"
+ "mi. Curabitur sed.";
+
+ QList<Benchmark *> benchmarks;
+ benchmarks << (new DrawText(shortString, DrawText::PainterMode));
+ benchmarks << (new DrawText(middleString, DrawText::PainterMode));
+ benchmarks << (new DrawText(longString, DrawText::PainterMode));
+ benchmarks << (new DrawText(superLongString, DrawText::PainterMode));
+
+ benchmarks << (new DrawText(shortString, DrawText::PainterQPointMode));
+ benchmarks << (new DrawText(middleString, DrawText::PainterQPointMode));
+ benchmarks << (new DrawText(longString, DrawText::PainterQPointMode));
+ benchmarks << (new DrawText(superLongString, DrawText::PainterQPointMode));
+
+ benchmarks << (new DrawText(shortString, DrawText::PixmapMode));
+ benchmarks << (new DrawText(middleString, DrawText::PixmapMode));
+ benchmarks << (new DrawText(longString, DrawText::PixmapMode));
+ benchmarks << (new DrawText(superLongString, DrawText::PixmapMode));
+
+#if QT_VERSION >= 0x040700
+ benchmarks << (new DrawText(shortString, DrawText::StaticTextMode));
+ benchmarks << (new DrawText(middleString, DrawText::StaticTextMode));
+ benchmarks << (new DrawText(longString, DrawText::StaticTextMode));
+ benchmarks << (new DrawText(superLongString, DrawText::StaticTextMode));
+
+ benchmarks << (new DrawText(shortString, DrawText::StaticTextWithMaximumSizeMode));
+ benchmarks << (new DrawText(middleString, DrawText::StaticTextWithMaximumSizeMode));
+ benchmarks << (new DrawText(longString, DrawText::StaticTextWithMaximumSizeMode));
+ benchmarks << (new DrawText(superLongString, DrawText::StaticTextWithMaximumSizeMode));
+
+ benchmarks << (new DrawText(shortString, DrawText::StaticTextBackendOptimizations));
+ benchmarks << (new DrawText(middleString, DrawText::StaticTextBackendOptimizations));
+ benchmarks << (new DrawText(longString, DrawText::StaticTextBackendOptimizations));
+ benchmarks << (new DrawText(superLongString, DrawText::StaticTextBackendOptimizations));
+#endif
+
+ foreach (Benchmark *benchmark, benchmarks)
+ QTest::newRow(qPrintable(benchmark->name())) << reinterpret_cast<void *>(benchmark);
+}
+
+void tst_QtBench::qtBench()
+{
+ QFETCH(void *, benchmark);
+
+ BenchWidget widget(reinterpret_cast<Benchmark *>(benchmark));
+ widget.show();
+ QTest::qWaitForWindowShown(&widget);
+
+ while (!widget.done()) {
+ widget.update();
+ QApplication::processEvents();
+ }
+
+ QTest::setBenchmarkResult(widget.result(), QTest::WalltimeMilliseconds);
+}
+
+QTEST_MAIN(tst_QtBench)
+#include "tst_qtbench.moc"
diff --git a/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp
index f173ed1fb9..90ae15302e 100644
--- a/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -555,7 +555,7 @@ void tst_qnetworkreply::uploadPerformance()
void tst_qnetworkreply::httpUploadPerformance()
{
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_WINCE_WM)
// SHow some mercy for non-desktop platform/s
enum {UploadSize = 4*1024*1024}; // 4 MB
#else
@@ -626,7 +626,7 @@ void tst_qnetworkreply::httpDownloadPerformance()
{
QFETCH(bool, serverSendsContentLength);
QFETCH(bool, chunkedEncoding);
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_WINCE_WM)
// Show some mercy to non-desktop platform/s
enum {UploadSize = 4*1024*1024}; // 4 MB
#else
diff --git a/tests/benchmarks/network/kernel/qhostinfo/main.cpp b/tests/benchmarks/network/kernel/qhostinfo/main.cpp
index 0ae1b7fa79..f4648d63b6 100644
--- a/tests/benchmarks/network/kernel/qhostinfo/main.cpp
+++ b/tests/benchmarks/network/kernel/qhostinfo/main.cpp
@@ -48,10 +48,15 @@
#include <qtest.h>
#include <qtesteventloop.h>
+#include "private/qhostinfo_p.h"
+
class tst_qhostinfo : public QObject
{
Q_OBJECT
+public slots:
+ void init();
private slots:
+ void lookupSpeed_data();
void lookupSpeed();
};
@@ -70,14 +75,33 @@ public slots:
}
};
+void tst_qhostinfo::init()
+{
+ // delete the cache so inidividual testcase results are independant from each other
+ qt_qhostinfo_clear_cache();
+}
+
+void tst_qhostinfo::lookupSpeed_data()
+{
+ QTest::addColumn<bool>("cache");
+ QTest::newRow("WithCache") << true;
+ QTest::newRow("WithoutCache") << false;
+}
+
void tst_qhostinfo::lookupSpeed()
{
+ QFETCH(bool, cache);
+ qt_qhostinfo_enable_cache(cache);
+
QStringList hostnameList;
hostnameList << "www.ovi.com" << "www.nokia.com" << "qt.nokia.com" << "www.trolltech.com" << "troll.no"
<< "www.qtcentre.org" << "forum.nokia.com" << "www.forum.nokia.com" << "wiki.forum.nokia.com"
<< "www.nokia.no" << "nokia.de" << "127.0.0.1" << "----";
// also add some duplicates:
hostnameList << "www.nokia.com" << "127.0.0.1" << "www.trolltech.com";
+ // and some more
+ hostnameList << hostnameList;
+
const int COUNT = hostnameList.size();
SignalReceiver receiver(COUNT);
diff --git a/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp
index 022bf3d85e..c77c6193e2 100644
--- a/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp
@@ -175,6 +175,9 @@ void tst_QTcpServer::ipv6LoopbackPerformanceTest()
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
+#if defined(Q_WS_WINCE_WM)
+ QSKIP("WinCE WM: Not yet supported", SkipAll);
+#endif
#if defined(Q_OS_SYMBIAN)
QSKIP("Symbian: IPv6 is not yet supported", SkipAll);
diff --git a/tools/assistant/lib/qhelpcollectionhandler.cpp b/tools/assistant/lib/qhelpcollectionhandler.cpp
index 235f737bc6..bd8dc20375 100644
--- a/tools/assistant/lib/qhelpcollectionhandler.cpp
+++ b/tools/assistant/lib/qhelpcollectionhandler.cpp
@@ -114,6 +114,9 @@ bool QHelpCollectionHandler::openCollectionFile()
return false;
}
+ m_query.exec(QLatin1String("PRAGMA synchronous=OFF"));
+ m_query.exec(QLatin1String("PRAGMA cache_size=3000"));
+
m_query.exec(QLatin1String("SELECT COUNT(*) FROM sqlite_master WHERE TYPE=\'table\'"
"AND Name=\'NamespaceTable\'"));
m_query.next();
@@ -163,6 +166,9 @@ bool QHelpCollectionHandler::copyCollectionFile(const QString &fileName)
return false;
}
+ copyQuery->exec(QLatin1String("PRAGMA synchronous=OFF"));
+ copyQuery->exec(QLatin1String("PRAGMA cache_size=3000"));
+
if (!createTables(copyQuery)) {
emit error(tr("Cannot copy collection file: %1").arg(colFile));
return false;
@@ -582,6 +588,8 @@ void QHelpCollectionHandler::optimizeDatabase(const QString &fileName)
}
QSqlQuery query(db);
+ db.exec(QLatin1String("PRAGMA synchronous=OFF"));
+ db.exec(QLatin1String("PRAGMA cache_size=3000"));
db.exec(QLatin1String("CREATE INDEX IF NOT EXISTS NameIndex ON IndexTable(Name)"));
db.exec(QLatin1String("CREATE INDEX IF NOT EXISTS FileNameIndex ON FileNameTable(Name)"));
db.exec(QLatin1String("CREATE INDEX IF NOT EXISTS FileIdIndex ON FileNameTable(FileId)"));
diff --git a/tools/assistant/lib/qhelpgenerator.cpp b/tools/assistant/lib/qhelpgenerator.cpp
index 783f0161bb..85bdd75e4f 100644
--- a/tools/assistant/lib/qhelpgenerator.cpp
+++ b/tools/assistant/lib/qhelpgenerator.cpp
@@ -191,6 +191,9 @@ bool QHelpGenerator::generate(QHelpDataInterface *helpData,
return false;
}
+ d->query->exec(QLatin1String("PRAGMA synchronous=OFF"));
+ d->query->exec(QLatin1String("PRAGMA cache_size=3000"));
+
addProgress(1.0);
createTables();
insertFileNotFoundFile();
diff --git a/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp b/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
index d9dcec5e71..4baa376800 100644
--- a/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
+++ b/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
@@ -586,7 +586,7 @@ void QHelpSearchIndexWriter::updateIndex(const QString &collectionFile,
this->m_indexFilesFolder = indexFilesFolder;
mutex.unlock();
- start(QThread::NormalPriority);
+ start(QThread::LowestPriority);
}
void QHelpSearchIndexWriter::optimizeIndex()
diff --git a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp
index cb3e49c917..827d145a9d 100644
--- a/tools/assistant/lib/qhelpsearchindexwriter_default.cpp
+++ b/tools/assistant/lib/qhelpsearchindexwriter_default.cpp
@@ -191,7 +191,7 @@ void QHelpSearchIndexWriter::updateIndex(const QString &collectionFile,
this->m_collectionFile = collectionFile;
this->m_indexFilesFolder = indexFilesFolder;
- start(QThread::NormalPriority);
+ start(QThread::LowestPriority);
}
void QHelpSearchIndexWriter::run()
diff --git a/tools/assistant/lib/qhelpsearchresultwidget.cpp b/tools/assistant/lib/qhelpsearchresultwidget.cpp
index 8e476d5e4f..2f5489b37c 100644
--- a/tools/assistant/lib/qhelpsearchresultwidget.cpp
+++ b/tools/assistant/lib/qhelpsearchresultwidget.cpp
@@ -304,7 +304,7 @@ private:
last = resultLastToShow > count ? count : resultLastToShow;
}
}
- hitsLabel->setText(QHelpSearchResultWidget::tr("%1 - %2 of %3 Hits").arg(first).arg(last).arg(count));
+ hitsLabel->setText(QHelpSearchResultWidget::tr("%1 - %2 of %n Hits", 0, count).arg(first).arg(last));
}
private:
diff --git a/tools/assistant/tools/assistant/assistant.pro b/tools/assistant/tools/assistant/assistant.pro
index cd343bd39c..eb8cc51d90 100644
--- a/tools/assistant/tools/assistant/assistant.pro
+++ b/tools/assistant/tools/assistant/assistant.pro
@@ -30,8 +30,6 @@ HEADERS += aboutdialog.h \
filternamedialog.h \
helpenginewrapper.h \
helpviewer.h \
- helpviewer_qtb.h \
- helpviewer_qwv.h \
indexwindow.h \
installdialog.h \
mainwindow.h \
@@ -43,6 +41,11 @@ HEADERS += aboutdialog.h \
tracer.h \
xbelsupport.h \
../shared/collectionconfiguration.h
+contains(QT_CONFIG, webkit) {
+ HEADERS += helpviewer_qwv.h
+} else {
+ HEADERS += helpviewer_qtb.h
+ }
win32:HEADERS += remotecontrol_win.h
SOURCES += aboutdialog.cpp \
@@ -59,8 +62,6 @@ SOURCES += aboutdialog.cpp \
filternamedialog.cpp \
helpenginewrapper.cpp \
helpviewer.cpp \
- helpviewer_qtb.cpp \
- helpviewer_qwv.cpp \
indexwindow.cpp \
installdialog.cpp \
main.cpp \
@@ -71,7 +72,12 @@ SOURCES += aboutdialog.cpp \
searchwidget.cpp \
topicchooser.cpp \
xbelsupport.cpp \
- ../shared/collectionconfiguration.cpp \
+ ../shared/collectionconfiguration.cpp
+ contains(QT_CONFIG, webkit) {
+ SOURCES += helpviewer_qwv.cpp
+} else {
+ SOURCES += helpviewer_qtb.cpp
+}
FORMS += bookmarkdialog.ui \
bookmarkmanagerwidget.ui \
diff --git a/tools/assistant/tools/assistant/bookmarkmanager.cpp b/tools/assistant/tools/assistant/bookmarkmanager.cpp
index 70f562e1a0..b9a1b0e1c1 100644
--- a/tools/assistant/tools/assistant/bookmarkmanager.cpp
+++ b/tools/assistant/tools/assistant/bookmarkmanager.cpp
@@ -148,7 +148,7 @@ void BookmarkManager::takeBookmarksMenu(QMenu* menu)
void BookmarkManager::addBookmark(const QString &title, const QString &url)
{
TRACE_OBJ
- showBookmarkDialog(title.isEmpty() ? tr("Untiled") : title,
+ showBookmarkDialog(title.isEmpty() ? tr("Untitled") : title,
url.isEmpty() ? QLatin1String("about:blank") : url);
}
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index f56e9e3dfd..2359479505 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -43,12 +43,16 @@
#include "centralwidget.h"
#include "findwidget.h"
#include "helpenginewrapper.h"
-#include "helpviewer_qtb.h"
-#include "helpviewer_qwv.h"
#include "searchwidget.h"
#include "mainwindow.h"
#include "../shared/collectionconfiguration.h"
+#if defined(QT_NO_WEBKIT)
+#include "helpviewer_qtb.h"
+#else
+#include "helpviewer_qwv.h"
+#endif // QT_NO_WEBKIT
+
#include <QtCore/QTimer>
#include <QtGui/QApplication>
diff --git a/tools/assistant/tools/assistant/cmdlineparser.cpp b/tools/assistant/tools/assistant/cmdlineparser.cpp
index bbc0c37df7..b6c0beba0f 100644
--- a/tools/assistant/tools/assistant/cmdlineparser.cpp
+++ b/tools/assistant/tools/assistant/cmdlineparser.cpp
@@ -167,10 +167,10 @@ void CmdLineParser::handleCollectionFileOption()
const QString &fileName = nextArg();
m_collectionFile = getFileName(fileName);
if (m_collectionFile.isEmpty())
- m_error = tr("The collection file '%1' does not exist!").
+ m_error = tr("The collection file '%1' does not exist.").
arg(fileName);
} else {
- m_error = tr("Missing collection file!");
+ m_error = tr("Missing collection file.");
}
}
@@ -183,9 +183,9 @@ void CmdLineParser::handleShowUrlOption()
if (url.isValid()) {
m_url = url;
} else
- m_error = tr("Invalid URL '%1'!").arg(urlString);
+ m_error = tr("Invalid URL '%1'.").arg(urlString);
} else {
- m_error = tr("Missing URL!");
+ m_error = tr("Missing URL.");
}
}
@@ -223,7 +223,7 @@ void CmdLineParser::handleShowOrHideOrActivateOption(ShowState state)
else
m_error = tr("Unknown widget: %1").arg(widget);
} else {
- m_error = tr("Missing widget!");
+ m_error = tr("Missing widget.");
}
}
@@ -246,11 +246,11 @@ void CmdLineParser::handleRegisterOrUnregisterOption(RegisterState state)
const QString &fileName = nextArg();
m_helpFile = getFileName(fileName);
if (m_helpFile.isEmpty())
- m_error = tr("The Qt help file '%1' does not exist!").arg(fileName);
+ m_error = tr("The Qt help file '%1' does not exist.").arg(fileName);
else
m_register = state;
} else {
- m_error = tr("Missing help file!");
+ m_error = tr("Missing help file.");
}
}
@@ -260,7 +260,7 @@ void CmdLineParser::handleSetCurrentFilterOption()
if (hasMoreArgs())
m_currentFilter = nextArg();
else
- m_error = tr("Missing filter argument!");
+ m_error = tr("Missing filter argument.");
}
QString CmdLineParser::getFileName(const QString &fileName)
diff --git a/tools/assistant/tools/assistant/findwidget.cpp b/tools/assistant/tools/assistant/findwidget.cpp
index 2e40ab00dc..60318d4a53 100644
--- a/tools/assistant/tools/assistant/findwidget.cpp
+++ b/tools/assistant/tools/assistant/findwidget.cpp
@@ -72,6 +72,7 @@ FindWidget::FindWidget(QWidget *parent)
toolClose = setupToolButton(QLatin1String(""),
resourcePath + QLatin1String("/closetab.png"));
hboxLayout->addWidget(toolClose);
+ connect(toolClose, SIGNAL(clicked()), SLOT(hide()));
editFind = new QLineEdit(this);
hboxLayout->addWidget(editFind);
diff --git a/tools/assistant/tools/assistant/helpenginewrapper.cpp b/tools/assistant/tools/assistant/helpenginewrapper.cpp
index e21e95dd09..41ad633744 100644
--- a/tools/assistant/tools/assistant/helpenginewrapper.cpp
+++ b/tools/assistant/tools/assistant/helpenginewrapper.cpp
@@ -167,6 +167,13 @@ HelpEngineWrapper::HelpEngineWrapper(const QString &collectionFile)
HelpEngineWrapper::~HelpEngineWrapper()
{
TRACE_OBJ
+ const QStringList &namespaces = d->m_helpEngine->registeredDocumentations();
+ foreach (const QString &nameSpace, namespaces) {
+ const QString &docFile
+ = d->m_helpEngine->documentationFileName(nameSpace);
+ d->m_qchWatcher->removePath(docFile);
+ }
+
delete d;
}
diff --git a/tools/assistant/tools/assistant/helpviewer.h b/tools/assistant/tools/assistant/helpviewer.h
index 0bfe9042c5..9e8f5f45f0 100644
--- a/tools/assistant/tools/assistant/helpviewer.h
+++ b/tools/assistant/tools/assistant/helpviewer.h
@@ -53,7 +53,7 @@ class AbstractHelpViewer
{
public:
AbstractHelpViewer();
- ~AbstractHelpViewer();
+ virtual ~AbstractHelpViewer();
virtual QFont viewerFont() const = 0;
virtual void setViewerFont(const QFont &font) = 0;
diff --git a/tools/assistant/tools/assistant/helpviewer_qtb.cpp b/tools/assistant/tools/assistant/helpviewer_qtb.cpp
index bba285087c..07b89eb438 100644
--- a/tools/assistant/tools/assistant/helpviewer_qtb.cpp
+++ b/tools/assistant/tools/assistant/helpviewer_qtb.cpp
@@ -40,8 +40,6 @@
****************************************************************************/
#include "helpviewer_qtb.h"
-#if defined(QT_NO_WEBKIT)
-
#include "centralwidget.h"
#include "helpenginewrapper.h"
#include "tracer.h"
@@ -287,7 +285,3 @@ bool HelpViewer::eventFilter(QObject *obj, QEvent *event)
return true;
return QTextBrowser::eventFilter(obj, event);
}
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_WEBKIT
diff --git a/tools/assistant/tools/assistant/helpviewer_qtb.h b/tools/assistant/tools/assistant/helpviewer_qtb.h
index 5b38870927..a05782c1ea 100644
--- a/tools/assistant/tools/assistant/helpviewer_qtb.h
+++ b/tools/assistant/tools/assistant/helpviewer_qtb.h
@@ -41,10 +41,6 @@
#ifndef HELPVIEWERQTB_H
#define HELPVIEWERQTB_H
-#include <QtCore/qglobal.h>
-
-#if defined(QT_NO_WEBKIT)
-
#include "helpviewer.h"
#include <QtCore/QUrl>
@@ -111,6 +107,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_WEBKIT
-
#endif // HELPVIEWERQTB_H
diff --git a/tools/assistant/tools/assistant/helpviewer_qwv.cpp b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
index 9bb66e18d9..582d013b2e 100644
--- a/tools/assistant/tools/assistant/helpviewer_qwv.cpp
+++ b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
@@ -41,8 +41,6 @@
#include "helpviewer_qwv.h"
-#if !defined(QT_NO_WEBKIT)
-
#include "centralwidget.h"
#include "helpenginewrapper.h"
#include "tracer.h"
@@ -223,7 +221,7 @@ bool HelpPage::acceptNavigationRequest(QWebFrame *,
if (type == QWebPage::NavigationTypeLinkClicked
&& (m_keyboardModifiers & Qt::ControlModifier
|| m_pressedButtons == Qt::MidButton)) {
- if (HelpViewer* viewer = centralWidget->newEmptyTab())
+ if (centralWidget->newEmptyTab())
centralWidget->setSource(url);
m_pressedButtons = Qt::NoButton;
m_keyboardModifiers = Qt::NoModifier;
@@ -385,5 +383,3 @@ void HelpViewer::setLoadFinished(bool ok)
}
QT_END_NAMESPACE
-
-#endif // !QT_NO_WEBKIT
diff --git a/tools/assistant/tools/assistant/helpviewer_qwv.h b/tools/assistant/tools/assistant/helpviewer_qwv.h
index fbfbaac3ea..41ee5531be 100644
--- a/tools/assistant/tools/assistant/helpviewer_qwv.h
+++ b/tools/assistant/tools/assistant/helpviewer_qwv.h
@@ -42,10 +42,6 @@
#ifndef HELPVIEWERQWV_H
#define HELPVIEWERQWV_H
-#include <QtCore/qglobal.h>
-
-#if !defined(QT_NO_WEBKIT)
-
#include "helpviewer.h"
#include <QtGui/QAction>
@@ -120,6 +116,4 @@ private:
QT_END_NAMESPACE
-#endif // !QT_NO_WEBKIT
-
#endif // HELPVIEWERQWV_H
diff --git a/tools/assistant/tools/assistant/main.cpp b/tools/assistant/tools/assistant/main.cpp
index 77e5e7c28a..51ea9f9a53 100644
--- a/tools/assistant/tools/assistant/main.cpp
+++ b/tools/assistant/tools/assistant/main.cpp
@@ -292,7 +292,7 @@ void setupTranslation(const QString &fileName, const QString &dir)
QTranslator *translator = new QTranslator(QCoreApplication::instance());
if (translator->load(fileName, dir)) {
QCoreApplication::installTranslator(translator);
- } else {
+ } else if (!fileName.endsWith(QLatin1String("en_US"))) {
qWarning("Could not load translation file %s in directory %s.",
qPrintable(fileName), qPrintable(dir));
}
diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp
index 80962182ff..687e6bcefa 100644
--- a/tools/assistant/tools/assistant/mainwindow.cpp
+++ b/tools/assistant/tools/assistant/mainwindow.cpp
@@ -341,7 +341,7 @@ void MainWindow::lookForNewQtDocumentation()
m_qtDocInstaller = new QtDocInstaller(qtDocInfos);
connect(m_qtDocInstaller, SIGNAL(docsInstalled(bool)), this,
- SLOT(qtDocumentationInstalled(bool)));
+ SLOT(qtDocumentationInstalled()));
connect(m_qtDocInstaller, SIGNAL(qchFileNotFound(QString)), this,
SLOT(resetQtDocInfo(QString)));
connect(m_qtDocInstaller, SIGNAL(registerDocumentation(QString, QString)),
@@ -351,7 +351,7 @@ void MainWindow::lookForNewQtDocumentation()
m_qtDocInstaller->installDocs();
}
-void MainWindow::qtDocumentationInstalled(bool newDocsInstalled)
+void MainWindow::qtDocumentationInstalled()
{
TRACE_OBJ
statusBar()->clearMessage();
diff --git a/tools/assistant/tools/assistant/mainwindow.h b/tools/assistant/tools/assistant/mainwindow.h
index 40ca624d2b..8e4276dce4 100644
--- a/tools/assistant/tools/assistant/mainwindow.h
+++ b/tools/assistant/tools/assistant/mainwindow.h
@@ -112,7 +112,7 @@ private slots:
void lookForNewQtDocumentation();
void indexingStarted();
void indexingFinished();
- void qtDocumentationInstalled(bool newDocsInstalled);
+ void qtDocumentationInstalled();
void registerDocumentation(const QString &component,
const QString &absFileName);
void resetQtDocInfo(const QString &component);
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 0ff7301e55..6b7740e69d 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -249,6 +249,7 @@ Configure::Configure( int& argc, char** argv )
dictionary[ "MULTIMEDIA" ] = "yes";
dictionary[ "AUDIO_BACKEND" ] = "auto";
dictionary[ "MEDIASERVICE"] = "auto";
+ dictionary[ "WMSDK" ] = "auto";
dictionary[ "DIRECTSHOW" ] = "no";
dictionary[ "WEBKIT" ] = "auto";
dictionary[ "DECLARATIVE" ] = "auto";
@@ -1592,6 +1593,7 @@ bool Configure::displayHelp()
"[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-no-phonon]\n"
"[-phonon] [-no-phonon-backend] [-phonon-backend]\n"
"[-no-multimedia] [-multimedia] [-no-audio-backend] [-audio-backend]\n"
+ "[-no-mediaservice] [-mediaservice]\n"
"[-no-script] [-script] [-no-scripttools] [-scripttools]\n"
"[-no-webkit] [-webkit] [-graphicssystem raster|opengl|openvg]\n\n", 0, 7);
@@ -2077,6 +2079,8 @@ bool Configure::checkAvailability(const QString &part)
if (!findFile("msdmo.lib")) cout << "msdmo.lib not found" << endl;
if (!findFile("d3d9.h")) cout << "d3d9.h not found" << endl;
}
+ } else if (part == "WMSDK") {
+ available = findFile("wmsdk.h");
} else if (part == "MULTIMEDIA" || part == "SCRIPT" || part == "SCRIPTTOOLS") {
available = true;
} else if (part == "WEBKIT") {
@@ -2221,6 +2225,8 @@ void Configure::autoDetection()
dictionary["AUDIO_BACKEND"] = checkAvailability("AUDIO_BACKEND") ? "yes" : "no";
if (dictionary["MEDIASERVICE"] == "auto")
dictionary["MEDIASERVICE"] = checkAvailability("MEDIASERVICE") ? "yes" : "no";
+ if (dictionary["WMSDK"] == "auto")
+ dictionary["WMSDK"] = checkAvailability("WMSDK") ? "yes" : "no";
// Qt/WinCE remote test application
if (dictionary["CETEST"] == "auto")
@@ -2611,8 +2617,11 @@ void Configure::generateOutputVars()
qtConfig += "multimedia";
if (dictionary["AUDIO_BACKEND"] == "yes")
qtConfig += "audio-backend";
- if (dictionary["MEDIASERVICE"] == "yes")
+ if (dictionary["MEDIASERVICE"] == "yes") {
qtConfig += "mediaservice";
+ if (dictionary["WMSDK"] == "yes")
+ qtConfig += "wmsdk";
+ }
}
if (dictionary["WEBKIT"] == "yes")
@@ -3723,7 +3732,7 @@ void Configure::generateMakefiles()
QTextStream txt(&file);
txt << "all:\n";
txt << "\t" << args.join(" ") << "\n";
- txt << "\t" << dictionary[ "MAKE" ] << " -f " << it->target << "\n";
+ txt << "\t\"$(MAKE)\" -$(MAKEFLAGS) -f " << it->target << "\n";
txt << "first: all\n";
txt << "qmake:\n";
txt << "\t" << args.join(" ") << "\n";
diff --git a/tools/designer/src/lib/shared/formwindowbase.cpp b/tools/designer/src/lib/shared/formwindowbase.cpp
index 2c5efbf94c..5292f5fa58 100644
--- a/tools/designer/src/lib/shared/formwindowbase.cpp
+++ b/tools/designer/src/lib/shared/formwindowbase.cpp
@@ -72,6 +72,7 @@
#include <QtGui/QStatusBar>
#include <QtGui/QMenu>
#include <QtGui/QAction>
+#include <QtGui/QLabel>
QT_BEGIN_NAMESPACE
@@ -181,7 +182,17 @@ void FormWindowBase::reloadProperties()
QMapIterator<int, bool> itIndex(itSheet.value());
while (itIndex.hasNext()) {
const int index = itIndex.next().key();
- sheet->setProperty(index, sheet->property(index));
+ const QVariant newValue = sheet->property(index);
+ if (qobject_cast<QLabel *>(sheet->object()) && sheet->propertyName(index) == QLatin1String("text")) {
+ const PropertySheetStringValue newString = qVariantValue<PropertySheetStringValue>(newValue);
+ // optimize a bit, reset only if the text value might contain a reference to qt resources
+ // (however reloading of icons other than taken from resources might not work here)
+ if (newString.value().contains(QLatin1String(":/"))) {
+ const QVariant resetValue = qVariantFromValue(PropertySheetStringValue());
+ sheet->setProperty(index, resetValue);
+ }
+ }
+ sheet->setProperty(index, newValue);
}
if (QTabWidget *tabWidget = qobject_cast<QTabWidget *>(sheet->object())) {
const int count = tabWidget->count();
diff --git a/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp b/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
index 13bb1d789f..77ab2a6e34 100644
--- a/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
@@ -271,6 +271,7 @@ bool QDesignerPropertySheetPrivate::isReloadableProperty(int index) const
{
return isResourceProperty(index)
|| propertyType(index) == QDesignerPropertySheet::PropertyStyleSheet
+ || propertyType(index) == QDesignerPropertySheet::PropertyText
|| q->property(index).type() == QVariant::Url;
}
@@ -549,6 +550,7 @@ QDesignerPropertySheet::PropertyType QDesignerPropertySheet::propertyTypeFromNam
propertyTypeHash.insert(QLatin1String("windowModality"), PropertyWindowModality);
propertyTypeHash.insert(QLatin1String("windowModified"), PropertyWindowModified);
propertyTypeHash.insert(QLatin1String("styleSheet"), PropertyStyleSheet);
+ propertyTypeHash.insert(QLatin1String("text"), PropertyText);
}
return propertyTypeHash.value(name, PropertyNone);
}
diff --git a/tools/designer/src/lib/shared/qdesigner_propertysheet_p.h b/tools/designer/src/lib/shared/qdesigner_propertysheet_p.h
index 9db7367bf8..0105eaca42 100644
--- a/tools/designer/src/lib/shared/qdesigner_propertysheet_p.h
+++ b/tools/designer/src/lib/shared/qdesigner_propertysheet_p.h
@@ -176,7 +176,8 @@ public:
PropertyWindowIconText,
PropertyWindowModality,
PropertyWindowModified,
- PropertyStyleSheet
+ PropertyStyleSheet,
+ PropertyText
};
enum ObjectType { ObjectNone, ObjectLabel, ObjectLayout, ObjectLayoutWidget, ObjectQ3GroupBox };
diff --git a/tools/designer/src/plugins/plugins.pro b/tools/designer/src/plugins/plugins.pro
index baf5261139..cf4fa8a70c 100644
--- a/tools/designer/src/plugins/plugins.pro
+++ b/tools/designer/src/plugins/plugins.pro
@@ -7,3 +7,4 @@ win32:!contains(QT_EDITION, OpenSource):SUBDIRS += activeqt
# contains(QT_CONFIG, opengl): SUBDIRS += tools/view3d
contains(QT_CONFIG, webkit): SUBDIRS += qwebview
contains(QT_CONFIG, phonon): SUBDIRS += phononwidgets
+contains(QT_CONFIG, declarative): SUBDIRS += qdeclarativeview
diff --git a/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview.pro b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview.pro
new file mode 100644
index 0000000000..b8abe87412
--- /dev/null
+++ b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview.pro
@@ -0,0 +1,13 @@
+TEMPLATE = lib
+TARGET = qdeclarativeview
+CONFIG += qt warn_on plugin designer
+QT += declarative
+
+include(../plugins.pri)
+build_all:!build_pass {
+ CONFIG -= build_all
+ CONFIG += release
+}
+
+SOURCES += qdeclarativeview_plugin.cpp
+HEADERS += qdeclarativeview_plugin.h
diff --git a/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.cpp b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.cpp
new file mode 100644
index 0000000000..b352a9b361
--- /dev/null
+++ b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.cpp
@@ -0,0 +1,132 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Designer 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 "qdeclarativeview_plugin.h"
+
+#include <QtDesigner/QExtensionFactory>
+#include <QtDesigner/QExtensionManager>
+
+#include <QtCore/qplugin.h>
+#include <QtDeclarative/QDeclarativeView>
+
+static const char toolTipC[] = "QtDeclarative view widget";
+
+QT_BEGIN_NAMESPACE
+
+QDeclarativeViewPlugin::QDeclarativeViewPlugin(QObject *parent) :
+ QObject(parent),
+ m_initialized(false)
+{
+}
+
+QString QDeclarativeViewPlugin::name() const
+{
+ return QLatin1String("QDeclarativeView");
+}
+
+QString QDeclarativeViewPlugin::group() const
+{
+ return QLatin1String("Display Widgets");
+}
+
+QString QDeclarativeViewPlugin::toolTip() const
+{
+ return QString(QLatin1String(toolTipC));
+}
+
+QString QDeclarativeViewPlugin::whatsThis() const
+{
+ return QString(QLatin1String(toolTipC));
+}
+
+QString QDeclarativeViewPlugin::includeFile() const
+{
+ return QLatin1String("QtDeclarative/QDeclarativeView");
+}
+
+QIcon QDeclarativeViewPlugin::icon() const
+{
+ return QIcon();
+}
+
+bool QDeclarativeViewPlugin::isContainer() const
+{
+ return false;
+}
+
+QWidget *QDeclarativeViewPlugin::createWidget(QWidget *parent)
+{
+ return new QDeclarativeView(parent);
+}
+
+bool QDeclarativeViewPlugin::isInitialized() const
+{
+ return m_initialized;
+}
+
+void QDeclarativeViewPlugin::initialize(QDesignerFormEditorInterface * /*core*/)
+{
+ if (m_initialized)
+ return;
+
+ m_initialized = true;
+}
+
+QString QDeclarativeViewPlugin::domXml() const
+{
+ return QLatin1String("\
+ <ui language=\"c++\">\
+ <widget class=\"QDeclarativeView\" name=\"declarativeView\">\
+ <property name=\"geometry\">\
+ <rect>\
+ <x>0</x>\
+ <y>0</y>\
+ <width>300</width>\
+ <height>200</height>\
+ </rect>\
+ </property>\
+ </widget>\
+ </ui>");
+}
+
+Q_EXPORT_PLUGIN2(customwidgetplugin, QDeclarativeViewPlugin)
+
+QT_END_NAMESPACE
diff --git a/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.h b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.h
new file mode 100644
index 0000000000..2f13f1615f
--- /dev/null
+++ b/tools/designer/src/plugins/qdeclarativeview/qdeclarativeview_plugin.h
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Designer 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 QDECLARATIVEVIEW_PLUGIN_H
+#define QDECLARATIVEVIEW_PLUGIN_H
+
+#include <QtDesigner/QDesignerCustomWidgetInterface>
+
+QT_BEGIN_NAMESPACE
+
+class QDeclarativeViewPlugin: public QObject, public QDesignerCustomWidgetInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(QDesignerCustomWidgetInterface)
+public:
+ QDeclarativeViewPlugin(QObject *parent = 0);
+
+ virtual QString name() const;
+ virtual QString group() const;
+ virtual QString toolTip() const;
+ virtual QString whatsThis() const;
+ virtual QString includeFile() const;
+ virtual QIcon icon() const;
+ virtual bool isContainer() const;
+ virtual QWidget *createWidget(QWidget *parent);
+ virtual bool isInitialized() const;
+ virtual void initialize(QDesignerFormEditorInterface *core);
+ virtual QString domXml() const;
+
+private:
+ bool m_initialized;
+};
+
+QT_END_NAMESPACE
+
+#endif // QDECLARATIVEVIEW_PLUGIN_H
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index 6bd910818a..2d5620e178 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -260,6 +260,8 @@ private:
bool qualifyOneCallbackOwn(const Namespace *ns, void *context) const;
bool qualifyOneCallbackUsing(const Namespace *ns, void *context) const;
bool qualifyOne(const NamespaceList &namespaces, int nsCnt, const HashString &segment,
+ NamespaceList *resolved, QSet<HashStringList> *visitedUsings) const;
+ bool qualifyOne(const NamespaceList &namespaces, int nsCnt, const HashString &segment,
NamespaceList *resolved) const;
bool fullyQualify(const NamespaceList &namespaces, int nsCnt,
const QList<HashString> &segments, bool isDeclaration,
@@ -1036,15 +1038,16 @@ QStringList CppParser::stringListifySegments(const QList<HashString> &segments)
}
struct QualifyOneData {
- QualifyOneData(const NamespaceList &ns, int nsc, const HashString &seg, NamespaceList *rslvd)
- : namespaces(ns), nsCount(nsc), segment(seg), resolved(rslvd)
+ QualifyOneData(const NamespaceList &ns, int nsc, const HashString &seg, NamespaceList *rslvd,
+ QSet<HashStringList> *visited)
+ : namespaces(ns), nsCount(nsc), segment(seg), resolved(rslvd), visitedUsings(visited)
{}
const NamespaceList &namespaces;
int nsCount;
const HashString &segment;
NamespaceList *resolved;
- QSet<HashStringList> visitedUsings;
+ QSet<HashStringList> *visitedUsings;
};
bool CppParser::qualifyOneCallbackOwn(const Namespace *ns, void *context) const
@@ -1078,18 +1081,19 @@ bool CppParser::qualifyOneCallbackUsing(const Namespace *ns, void *context) cons
{
QualifyOneData *data = (QualifyOneData *)context;
foreach (const HashStringList &use, ns->usings)
- if (!data->visitedUsings.contains(use)) {
- data->visitedUsings.insert(use);
- if (qualifyOne(use.value(), use.value().count(), data->segment, data->resolved))
+ if (!data->visitedUsings->contains(use)) {
+ data->visitedUsings->insert(use);
+ if (qualifyOne(use.value(), use.value().count(), data->segment, data->resolved,
+ data->visitedUsings))
return true;
}
return false;
}
bool CppParser::qualifyOne(const NamespaceList &namespaces, int nsCnt, const HashString &segment,
- NamespaceList *resolved) const
+ NamespaceList *resolved, QSet<HashStringList> *visitedUsings) const
{
- QualifyOneData data(namespaces, nsCnt, segment, resolved);
+ QualifyOneData data(namespaces, nsCnt, segment, resolved, visitedUsings);
if (visitNamespace(namespaces, nsCnt, &CppParser::qualifyOneCallbackOwn, &data))
return true;
@@ -1097,6 +1101,14 @@ bool CppParser::qualifyOne(const NamespaceList &namespaces, int nsCnt, const Has
return visitNamespace(namespaces, nsCnt, &CppParser::qualifyOneCallbackUsing, &data);
}
+bool CppParser::qualifyOne(const NamespaceList &namespaces, int nsCnt, const HashString &segment,
+ NamespaceList *resolved) const
+{
+ QSet<HashStringList> visitedUsings;
+
+ return qualifyOne(namespaces, nsCnt, segment, resolved, &visitedUsings);
+}
+
bool CppParser::fullyQualify(const NamespaceList &namespaces, int nsCnt,
const QList<HashString> &segments, bool isDeclaration,
NamespaceList *resolved, QStringList *unresolved) const
diff --git a/tools/linguist/phrasebooks/russian.qph b/tools/linguist/phrasebooks/russian.qph
index 9d40bd35c6..ae1a9b9083 100644
--- a/tools/linguist/phrasebooks/russian.qph
+++ b/tools/linguist/phrasebooks/russian.qph
@@ -1164,4 +1164,44 @@
<source>Table of Contents</source>
<target>Оглавление</target>
</phrase>
+<phrase>
+ <source>parse</source>
+ <target>разобрать</target>
+</phrase>
+<phrase>
+ <source>parsing</source>
+ <target>разбор</target>
+</phrase>
+<phrase>
+ <source>phrasebook</source>
+ <target>глоÑÑарий</target>
+</phrase>
+<phrase>
+ <source>phrase book</source>
+ <target>глоÑÑарий</target>
+</phrase>
+<phrase>
+ <source>In use</source>
+ <target>ИÑпользуетÑÑ</target>
+</phrase>
+<phrase>
+ <source>Access denied</source>
+ <target>ДоÑтуп запрещён</target>
+</phrase>
+<phrase>
+ <source>No error</source>
+ <target>Ðет ошибки</target>
+</phrase>
+<phrase>
+ <source>Not supported</source>
+ <target>Ðе поддерживаетÑÑ</target>
+</phrase>
+<phrase>
+ <source>Already exists</source>
+ <target>Уже ÑущеÑтвует</target>
+</phrase>
+<phrase>
+ <source>Permission denied</source>
+ <target>ДоÑтуп запрещён</target>
+</phrase>
</QPH>
diff --git a/tools/qdbus/qdbus/qdbus.cpp b/tools/qdbus/qdbus/qdbus.cpp
index b08910aa0b..ce18cb9160 100644
--- a/tools/qdbus/qdbus/qdbus.cpp
+++ b/tools/qdbus/qdbus/qdbus.cpp
@@ -249,116 +249,123 @@ static QStringList readList(QStringList &args)
}
static int placeCall(const QString &service, const QString &path, const QString &interface,
- const QString &member, QStringList args, bool try_prop=true)
+ const QString &member, const QStringList& arguments, bool try_prop=true)
{
QDBusInterface iface(service, path, interface, connection);
// Don't check whether the interface is valid to allow DBus try to
// activate the service if possible.
+ QList<int> knownIds;
+ bool matchFound = false;
+ QStringList args = arguments;
QVariantList params;
if (!args.isEmpty()) {
const QMetaObject *mo = iface.metaObject();
QByteArray match = member.toLatin1();
match += '(';
- int midx = -1;
for (int i = mo->methodOffset(); i < mo->methodCount(); ++i) {
QMetaMethod mm = mo->method(i);
QByteArray signature = mm.signature();
- if (signature.startsWith(match)) {
- midx = i;
- break;
- }
+ if (signature.startsWith(match))
+ knownIds += i;
}
- if (midx == -1) {
- // Failed to set property after falling back?
- // Bail out without displaying an error
- if (!try_prop)
+
+ while (!matchFound) {
+ args = arguments; // reset
+ params.clear();
+ if (knownIds.isEmpty()) {
+ // Failed to set property after falling back?
+ // Bail out without displaying an error
+ if (!try_prop)
+ return 1;
+ if (try_prop && args.size() == 1) {
+ QStringList proparg;
+ proparg += interface;
+ proparg += member;
+ proparg += args.first();
+ if (!placeCall(service, path, "org.freedesktop.DBus.Properties", "Set", proparg, false))
+ return 0;
+ }
+ fprintf(stderr, "Cannot find '%s.%s' in object %s at %s\n",
+ qPrintable(interface), qPrintable(member), qPrintable(path),
+ qPrintable(service));
return 1;
- if (try_prop && args.size() == 1) {
- QStringList proparg;
- proparg += interface;
- proparg += member;
- proparg += args.first();
- if (!placeCall(service, path, "org.freedesktop.DBus.Properties", "Set", proparg, false))
- return 0;
}
- fprintf(stderr, "Cannot find '%s.%s' in object %s at %s\n",
- qPrintable(interface), qPrintable(member), qPrintable(path),
- qPrintable(service));
- return 1;
- }
- QMetaMethod mm = mo->method(midx);
- QList<QByteArray> types = mm.parameterTypes();
- for (int i = 0; i < types.count(); ++i) {
- if (types.at(i).endsWith('&')) {
- // reference (and not a reference to const): output argument
- // we're done with the inputs
- while (types.count() > i)
- types.removeLast();
- break;
+ QMetaMethod mm = mo->method(knownIds.takeFirst());
+ QList<QByteArray> types = mm.parameterTypes();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i).endsWith('&')) {
+ // reference (and not a reference to const): output argument
+ // we're done with the inputs
+ while (types.count() > i)
+ types.removeLast();
+ break;
+ }
}
- }
- for (int i = 0; !args.isEmpty() && i < types.count(); ++i) {
- int id = QVariant::nameToType(types.at(i));
- if (id == QVariant::UserType)
- id = QMetaType::type(types.at(i));
- Q_ASSERT(id);
-
- QVariant p;
- QString argument;
- if ((id == QVariant::List || id == QVariant::StringList)
- && args.at(0) == QLatin1String("("))
- p = readList(args);
- else
- p = argument = args.takeFirst();
-
- if (id == int(QMetaType::UChar)) {
- // special case: QVariant::convert doesn't convert to/from
- // UChar because it can't decide if it's a character or a number
- p = qVariantFromValue<uchar>(p.toUInt());
- } else if (id < int(QMetaType::User) && id != int(QVariant::Map)) {
- p.convert(QVariant::Type(id));
- if (p.type() == QVariant::Invalid) {
- fprintf(stderr, "Could not convert '%s' to type '%s'.\n",
- qPrintable(argument), types.at(i).constData());
- return 1 ;
- }
- } else if (id == qMetaTypeId<QDBusVariant>()) {
- QDBusVariant tmp(p);
- p = qVariantFromValue(tmp);
- } else if (id == qMetaTypeId<QDBusObjectPath>()) {
- QDBusObjectPath path(argument);
- if (path.path().isNull()) {
- fprintf(stderr, "Cannot pass argument '%s' because it is not a valid object path.\n",
- qPrintable(argument));
+ for (int i = 0; !args.isEmpty() && i < types.count(); ++i) {
+ int id = QVariant::nameToType(types.at(i));
+ if (id == QVariant::UserType)
+ id = QMetaType::type(types.at(i));
+ Q_ASSERT(id);
+
+ QVariant p;
+ QString argument;
+ if ((id == QVariant::List || id == QVariant::StringList)
+ && args.at(0) == QLatin1String("("))
+ p = readList(args);
+ else
+ p = argument = args.takeFirst();
+
+ if (id == int(QMetaType::UChar)) {
+ // special case: QVariant::convert doesn't convert to/from
+ // UChar because it can't decide if it's a character or a number
+ p = qVariantFromValue<uchar>(p.toUInt());
+ } else if (id < int(QMetaType::User) && id != int(QVariant::Map)) {
+ p.convert(QVariant::Type(id));
+ if (p.type() == QVariant::Invalid) {
+ fprintf(stderr, "Could not convert '%s' to type '%s'.\n",
+ qPrintable(argument), types.at(i).constData());
+ return 1 ;
+ }
+ } else if (id == qMetaTypeId<QDBusVariant>()) {
+ QDBusVariant tmp(p);
+ p = qVariantFromValue(tmp);
+ } else if (id == qMetaTypeId<QDBusObjectPath>()) {
+ QDBusObjectPath path(argument);
+ if (path.path().isNull()) {
+ fprintf(stderr, "Cannot pass argument '%s' because it is not a valid object path.\n",
+ qPrintable(argument));
+ return 1;
+ }
+ p = qVariantFromValue(path);
+ } else if (id == qMetaTypeId<QDBusSignature>()) {
+ QDBusSignature sig(argument);
+ if (sig.signature().isNull()) {
+ fprintf(stderr, "Cannot pass argument '%s' because it is not a valid signature.\n",
+ qPrintable(argument));
+ return 1;
+ }
+ p = qVariantFromValue(sig);
+ } else {
+ fprintf(stderr, "Sorry, can't pass arg of type '%s'.\n",
+ types.at(i).constData());
return 1;
}
- p = qVariantFromValue(path);
- } else if (id == qMetaTypeId<QDBusSignature>()) {
- QDBusSignature sig(argument);
- if (sig.signature().isNull()) {
- fprintf(stderr, "Cannot pass argument '%s' because it is not a valid signature.\n",
- qPrintable(argument));
- return 1;
- }
- p = qVariantFromValue(sig);
- } else {
- fprintf(stderr, "Sorry, can't pass arg of type '%s'.\n",
- types.at(i).constData());
+ params += p;
+ }
+ if (params.count() == types.count() && args.isEmpty())
+ matchFound = true;
+ else if (knownIds.isEmpty()) {
+ fprintf(stderr, "Invalid number of parameters\n");
return 1;
}
- params += p;
- }
- if (params.count() != types.count() || !args.isEmpty()) {
- fprintf(stderr, "Invalid number of parameters\n");
- return 1;
- }
- }
+ } // while (!matchFound)
+ } // if (!args.isEmpty()
QDBusMessage reply = iface.callWithArgumentList(QDBus::Block, member, params);
if (reply.type() == QDBusMessage::ErrorMessage) {
diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp
index 5ae63accc1..042378e75a 100644
--- a/tools/qdoc3/codeparser.cpp
+++ b/tools/qdoc3/codeparser.cpp
@@ -43,7 +43,6 @@
codeparser.cpp
*/
-#include <QtCore>
#include "codeparser.h"
#include "node.h"
#include "tree.h"
diff --git a/tools/qdoc3/command.cpp b/tools/qdoc3/command.cpp
index 76b483c301..b78ad07037 100644
--- a/tools/qdoc3/command.cpp
+++ b/tools/qdoc3/command.cpp
@@ -47,6 +47,8 @@
#include "command.h"
+#include <stdlib.h>
+
QT_BEGIN_NAMESPACE
void executeCommand(const Location& location,
@@ -69,6 +71,12 @@ void executeCommand(const Location& location,
if (space != -1)
toolName.truncate(space);
+#ifdef QT_BOOTSTRAPPED
+ int status = system(qPrintable(actualCommand));
+ int exitCode = WEXITSTATUS(status);
+ if (status == -1 || exitCode != EXIT_SUCCESS)
+ location.fatal(QString("Error executing '$1': $2").arg(toolName).arg(exitCode));
+#else
QProcess process;
process.start(QLatin1String("sh"),
QStringList() << QLatin1String("-c") << actualCommand);
@@ -89,6 +97,7 @@ void executeCommand(const Location& location,
tr("The tool was invoked like this:\n%1\n"
"It emitted these errors:\n%2")
.arg(actualCommand).arg(errors));
+#endif
}
QT_END_NAMESPACE
diff --git a/tools/qdoc3/config.cpp b/tools/qdoc3/config.cpp
index acb1576ddb..3150f28a5b 100644
--- a/tools/qdoc3/config.cpp
+++ b/tools/qdoc3/config.cpp
@@ -43,7 +43,11 @@
config.cpp
*/
-#include <QtCore>
+#include <QDir>
+#include <QVariant>
+#include <QFile>
+#include <QTemporaryFile>
+#include <QTextStream>
#include "archiveextractor.h"
#include "config.h"
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp
index 021d64add0..688478155f 100644
--- a/tools/qdoc3/cppcodeparser.cpp
+++ b/tools/qdoc3/cppcodeparser.cpp
@@ -43,11 +43,11 @@
cppcodeparser.cpp
*/
-#include <QtCore>
#include <qfile.h>
#include <stdio.h>
#include <errno.h>
+#include <qdebug.h>
#include "codechunk.h"
#include "config.h"
@@ -1034,7 +1034,7 @@ void CppCodeParser::processOtherMetaCommand(const Doc& doc,
else if (command == COMMAND_QMLINHERITS) {
setLink(node, Node::InheritsLink, arg);
if (node->subType() == Node::QmlClass) {
- QmlClassNode::addInheritedBy(arg,node->name());
+ QmlClassNode::addInheritedBy(arg,node);
}
}
else if (command == COMMAND_QMLDEFAULT) {
@@ -1651,8 +1651,9 @@ bool CppCodeParser::matchNamespaceDecl(InnerNode *parent)
*/
QString namespaceName = previousLexeme();
NamespaceNode *namespasse = 0;
- if (parent)
+ if (parent) {
namespasse = static_cast<NamespaceNode*>(parent->findNode(namespaceName, Node::Namespace));
+ }
if (!namespasse) {
namespasse = new NamespaceNode(parent, namespaceName);
namespasse->setAccess(access);
diff --git a/tools/qdoc3/doc.h b/tools/qdoc3/doc.h
index e98bb26f20..3e764564fe 100644
--- a/tools/qdoc3/doc.h
+++ b/tools/qdoc3/doc.h
@@ -48,6 +48,7 @@
#include <QSet>
#include <QString>
+#include <QMap>
#include "location.h"
diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp
index 6a8899a306..80f7e45b50 100644
--- a/tools/qdoc3/generator.cpp
+++ b/tools/qdoc3/generator.cpp
@@ -42,7 +42,6 @@
/*
generator.cpp
*/
-#include <QtCore>
#include <qdir.h>
#include <qdebug.h>
#include "codemarker.h"
@@ -227,6 +226,7 @@ void Generator::terminate()
imageFiles.clear();
imageDirs.clear();
outDir = "";
+ QmlClassNode::clear();
}
Generator *Generator::generatorForFormat(const QString& format)
@@ -1186,6 +1186,31 @@ void Generator::appendSortedNames(Text& text,
}
}
+void Generator::appendSortedQmlNames(Text& text,
+ const Node* base,
+ const NodeList& subs,
+ CodeMarker *marker)
+{
+ QMap<QString,Text> classMap;
+ int index = 0;
+
+ qDebug() << "Generator::appendSortedQmlNames():" << base->name() << "is inherited by...";
+ for (int i = 0; i < subs.size(); ++i) {
+ Text t;
+ qDebug() << " " << subs[i]->name();
+ appendFullName(t, subs[i], base, marker);
+ classMap[t.toString().toLower()] = t;
+ }
+
+ QStringList names = classMap.keys();
+ names.sort();
+
+ foreach (const QString &name, names) {
+ text << classMap[name];
+ text << separator(index++, names.count());
+ }
+}
+
int Generator::skipAtoms(const Atom *atom, Atom::Type type) const
{
int skipAhead = 0;
diff --git a/tools/qdoc3/generator.h b/tools/qdoc3/generator.h
index 44f56e21df..30d9af488b 100644
--- a/tools/qdoc3/generator.h
+++ b/tools/qdoc3/generator.h
@@ -169,6 +169,13 @@ class Generator
const QList<RelatedClass> &classes,
CodeMarker *marker);
+ protected:
+ void appendSortedQmlNames(Text& text,
+ const Node* base,
+ const NodeList& subs,
+ CodeMarker *marker);
+
+ private:
QString amp;
QString lt;
QString gt;
diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp
index 2189e02280..71810e458a 100644
--- a/tools/qdoc3/helpprojectwriter.cpp
+++ b/tools/qdoc3/helpprojectwriter.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-#include <QtXml>
#include <QHash>
#include <QMap>
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index e767460b9a..411a886caf 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -73,6 +73,7 @@ QString HtmlGenerator::sinceTitles[] =
" New Typedefs",
" New Properties",
" New Variables",
+ " New QML Elements",
" New Qml Properties",
" New Qml Signals",
" New Qml Methods",
@@ -687,6 +688,8 @@ int HtmlGenerator::generateAtom(const Atom *atom,
nsmap = newSinceMaps.find(atom->string());
NewClassMaps::const_iterator ncmap;
ncmap = newClassMaps.find(atom->string());
+ NewClassMaps::const_iterator nqcmap;
+ nqcmap = newQmlClassMaps.find(atom->string());
if ((nsmap != newSinceMaps.constEnd()) && !nsmap.value().isEmpty()) {
QList<Section> sections;
QList<Section>::ConstIterator s;
@@ -697,6 +700,13 @@ int HtmlGenerator::generateAtom(const Atom *atom,
while (n != nsmap.value().constEnd()) {
const Node* node = n.value();
switch (node->type()) {
+ case Node::Fake:
+ if (node->subType() == Node::QmlClass) {
+ sections[QmlClass].appendMember((Node*)node);
+ //qDebug() << "HtmlGenerator::generateAtom(): Atom::SinceList, append"
+ // << node->name();
+ }
+ break;
case Node::Namespace:
sections[Namespace].appendMember((Node*)node);
break;
@@ -782,6 +792,8 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "<h3>" << protectEnc((*s).name) << "</h3>\n";
if (idx == Class)
generateCompactList(0, marker, ncmap.value(), QString("Q"));
+ else if (idx == QmlClass)
+ generateCompactList(0, marker, nqcmap.value(), QString("Q"));
else if (idx == MemberFunction) {
ParentMaps parentmaps;
ParentMaps::iterator pmap;
@@ -2332,7 +2344,11 @@ void HtmlGenerator::generateCompactList(const Node *relative,
out() << "<a href=\""
<< linkForNode(it.value(), relative)
<< "\">";
- QStringList pieces = fullName(it.value(), relative, marker).split("::");
+ QStringList pieces;
+ if (it.value()->subType() == Node::QmlClass)
+ pieces << it.value()->name();
+ else
+ pieces = fullName(it.value(), relative, marker).split("::");
out() << protectEnc(pieces.last());
out() << "</a>";
if (pieces.size() > 1) {
@@ -3723,6 +3739,9 @@ void HtmlGenerator::findAllSince(const InnerNode *node)
NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion);
if (ncmap == newClassMaps.end())
ncmap = newClassMaps.insert(sinceVersion,NodeMap());
+ NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion);
+ if (nqcmap == newQmlClassMaps.end())
+ nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap());
if ((*child)->type() == Node::Function) {
FunctionNode *func = static_cast<FunctionNode *>(*child);
@@ -3742,6 +3761,16 @@ void HtmlGenerator::findAllSince(const InnerNode *node)
nsmap.value().insert(className,(*child));
ncmap.value().insert(className,(*child));
}
+ else if ((*child)->subType() == Node::QmlClass) {
+ QString className = (*child)->name();
+ if ((*child)->parent() &&
+ (*child)->parent()->type() == Node::Namespace &&
+ !(*child)->parent()->name().isEmpty())
+ className = (*child)->parent()->name()+"::"+className;
+ nsmap.value().insert(className,(*child));
+ nqcmap.value().insert(className,(*child));
+ //qDebug() << "findAllSince(): insert" << className << sinceVersion;
+ }
}
else {
QString name = (*child)->name();
@@ -4316,40 +4345,15 @@ void HtmlGenerator::generateQmlInheritedBy(const QmlClassNode* cn,
CodeMarker* marker)
{
if (cn) {
- QStringList subs;
+ NodeList subs;
QmlClassNode::subclasses(cn->name(),subs);
if (!subs.isEmpty()) {
- subs.sort();
Text text;
text << Atom::ParaLeft << "Inherited by ";
- for (int i = 0; i < subs.size(); ++i) {
- text << subs.at(i);
- text << separator(i, subs.size());
- }
+ appendSortedQmlNames(text,cn,subs,marker);
text << Atom::ParaRight;
generateText(text, cn, marker);
}
-#if 0
- if (cn->links().contains(Node::InheritsLink)) {
- QPair<QString,QString> linkPair;
- linkPair = cn->links()[Node::InheritsLink];
- QStringList strList(linkPair.first);
- const Node* n = myTree->findNode(strList,Node::Fake);
- if (n && n->subType() == Node::QmlClass) {
- const QmlClassNode* qcn = static_cast<const QmlClassNode*>(n);
- out() << "<p style=\"text-align: center\">";
- Text text;
- text << "[Inherits ";
- text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn));
- text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
- text << Atom(Atom::String, linkPair.second);
- text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
- text << "]";
- generateText(text, cn, marker);
- out() << "</p>";
- }
- }
-#endif
}
}
diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h
index 551bead038..8fe0331f18 100644
--- a/tools/qdoc3/htmlgenerator.h
+++ b/tools/qdoc3/htmlgenerator.h
@@ -90,6 +90,7 @@ class HtmlGenerator : public PageGenerator
Typedef,
Property,
Variable,
+ QmlClass,
QmlProperty,
QmlSignal,
QmlMethod,
@@ -326,6 +327,7 @@ class HtmlGenerator : public PageGenerator
NewSinceMaps newSinceMaps;
static QString sinceTitles[];
NewClassMaps newClassMaps;
+ NewClassMaps newQmlClassMaps;
static int id;
};
diff --git a/tools/qdoc3/jambiapiparser.cpp b/tools/qdoc3/jambiapiparser.cpp
index 3aba1b0997..23f271642f 100644
--- a/tools/qdoc3/jambiapiparser.cpp
+++ b/tools/qdoc3/jambiapiparser.cpp
@@ -43,8 +43,6 @@
jambiapiparser.cpp
*/
-#include <QtXml>
-
#include "cppcodeparser.h"
#include "jambiapiparser.h"
#include "node.h"
diff --git a/tools/qdoc3/main.cpp b/tools/qdoc3/main.cpp
index 57823fb19c..ea843bab41 100644
--- a/tools/qdoc3/main.cpp
+++ b/tools/qdoc3/main.cpp
@@ -44,7 +44,6 @@
*/
#include <qglobal.h>
-#include <QtCore>
#include <stdlib.h>
#include "apigenerator.h"
#include "codemarker.h"
@@ -72,6 +71,11 @@
#include "tokenizer.h"
#include "tree.h"
+#include "qtranslator.h"
+#ifndef QT_BOOTSTRAPPED
+# include "qcoreapplication.h"
+#endif
+
QT_BEGIN_NAMESPACE
/*
@@ -151,7 +155,9 @@ static void printVersion()
*/
static void processQdocconfFile(const QString &fileName)
{
+#ifndef QT_NO_TRANSLATION
QList<QTranslator *> translators;
+#endif
/*
The Config instance represents the configuration data for qdoc.
@@ -207,6 +213,7 @@ static void processQdocconfFile(const QString &fileName)
CodeParser::initialize(config);
Generator::initialize(config);
+#ifndef QT_NO_TRANSLATION
/*
Load the language translators, if the configuration specifies any.
*/
@@ -221,6 +228,7 @@ static void processQdocconfFile(const QString &fileName)
translators.append(translator);
++fn;
}
+#endif
//QSet<QString> outputLanguages = config.getStringSet(CONFIG_OUTPUTLANGUAGES);
@@ -351,8 +359,9 @@ static void processQdocconfFile(const QString &fileName)
Location::terminate();
QDir::setCurrent(prevCurrentDir);
- foreach (QTranslator *translator, translators)
- delete translator;
+#ifndef QT_NO_TRANSLATION
+ qDeleteAll(translators);
+#endif
delete tree;
}
@@ -362,7 +371,9 @@ int main(int argc, char **argv)
{
QT_USE_NAMESPACE
+#ifndef QT_BOOTSTRAPPED
QCoreApplication app(argc, argv);
+#endif
QString cf = "qsauncompress \1 \2";
PolyArchiveExtractor qsaExtractor(QStringList() << "qsa",cf);
cf = "tar -C \2 -xf \1";
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index 4ddcfb1ab7..d4e4196f2d 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -43,8 +43,8 @@
node.cpp
*/
-#include <QtCore>
#include "node.h"
+#include <qdebug.h>
QT_BEGIN_NAMESPACE
@@ -1161,7 +1161,8 @@ QString FunctionNode::signature(bool values) const
*/
void FunctionNode::debug() const
{
- qDebug() << "QML METHOD" << name() << "rt" << rt << "pp" << pp;
+ qDebug("QML METHOD %s rt %s pp %s",
+ qPrintable(name()), qPrintable(rt), qPrintable(pp.join(" ")));
}
/*!
@@ -1257,7 +1258,7 @@ bool TargetNode::isInnerNode() const
#ifdef QDOC_QML
bool QmlClassNode::qmlOnly = false;
-QMultiMap<QString,QString> QmlClassNode::inheritedBy;
+QMultiMap<QString,Node*> QmlClassNode::inheritedBy;
/*!
Constructs a Qml class node (i.e. a Fake node with the
@@ -1275,6 +1276,23 @@ QmlClassNode::QmlClassNode(InnerNode *parent,
}
/*!
+ I made this so I could print a debug message here.
+ */
+QmlClassNode::~QmlClassNode()
+{
+ qDebug() << "Deleting QmlClassNode:" << name();
+}
+
+/*!
+ Clear the multimap so that subsequent runs don't try to use
+ nodes from a previous run.
+ */
+void QmlClassNode::clear()
+{
+ inheritedBy.clear();
+}
+
+/*!
The base file name for this kind of node has "qml_"
prepended to it.
@@ -1294,19 +1312,23 @@ QString QmlClassNode::fileBase() const
Record the fact that QML class \a base is inherited by
QML class \a sub.
*/
-void QmlClassNode::addInheritedBy(const QString& base, const QString& sub)
+void QmlClassNode::addInheritedBy(const QString& base, Node* sub)
{
inheritedBy.insert(base,sub);
+ qDebug() << "QmlClassNode::addInheritedBy(): insert" << base << sub->name() << inheritedBy.size();
}
/*!
- Loads the list \a subs with the names of all the subclasses of \a base.
+ Loads the list \a subs with the nodes of all the subclasses of \a base.
*/
-void QmlClassNode::subclasses(const QString& base, QStringList& subs)
+void QmlClassNode::subclasses(const QString& base, NodeList& subs)
{
subs.clear();
- if (inheritedBy.contains(base))
+ if (inheritedBy.count(base) > 0) {
subs = inheritedBy.values(base);
+ qDebug() << "QmlClassNode::subclasses():" << inheritedBy.count(base) << base
+ << "subs:" << subs.size() << "total size:" << inheritedBy.size();
+ }
}
/*!
diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h
index de26025a3f..1017813f43 100644
--- a/tools/qdoc3/node.h
+++ b/tools/qdoc3/node.h
@@ -379,16 +379,17 @@ class QmlClassNode : public FakeNode
QmlClassNode(InnerNode *parent,
const QString& name,
const ClassNode* cn);
- virtual ~QmlClassNode() { }
+ virtual ~QmlClassNode();
const ClassNode* classNode() const { return cnode; }
virtual QString fileBase() const;
- static void addInheritedBy(const QString& base, const QString& sub);
- static void subclasses(const QString& base, QStringList& subs);
+ static void addInheritedBy(const QString& base, Node* sub);
+ static void subclasses(const QString& base, NodeList& subs);
+ static void clear();
public:
static bool qmlOnly;
- static QMultiMap<QString,QString> inheritedBy;
+ static QMultiMap<QString,Node*> inheritedBy;
private:
const ClassNode* cnode;
diff --git a/tools/qdoc3/pagegenerator.cpp b/tools/qdoc3/pagegenerator.cpp
index 2cad9ed774..f0f14fedcd 100644
--- a/tools/qdoc3/pagegenerator.cpp
+++ b/tools/qdoc3/pagegenerator.cpp
@@ -43,7 +43,6 @@
pagegenerator.cpp
*/
-#include <QtCore>
#include <qfile.h>
#include <qfileinfo.h>
@@ -212,7 +211,7 @@ void PageGenerator::generateInnerNode(const InnerNode *node,
#endif
if (fakeNode->subType() == Node::Page) {
if (node->count() > 0)
- qDebug() << "PAGE" << fakeNode->title() << "HAS CHILDREN";
+ qDebug("PAGE %s HAS CHILDREN", qPrintable(fakeNode->title()));
}
}
diff --git a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro
index 7705692605..e394799380 100644
--- a/tools/qdoc3/qdoc3.pro
+++ b/tools/qdoc3/qdoc3.pro
@@ -4,9 +4,16 @@ DEFINES += QT_NO_CAST_TO_ASCII
#DEFINES += QT_USE_FAST_OPERATOR_PLUS
#DEFINES += QT_USE_FAST_CONCATENATION
-QT = core xml
-CONFIG += console
-CONFIG -= debug_and_release_target
+qdoc_bootstrapped {
+ include(../../src/tools/bootstrap/bootstrap.pri)
+ DEFINES -= QT_NO_CAST_FROM_ASCII
+ DEFINES += QT_NO_TRANSLATION
+} else {
+ QT = core xml
+ CONFIG += console
+ CONFIG -= debug_and_release_target
+}
+
!isEmpty(QT_BUILD_TREE):DESTDIR = $$QT_BUILD_TREE/bin
#CONFIG += debug
build_all:!build_pass {
@@ -14,7 +21,8 @@ build_all:!build_pass {
CONFIG += release
# CONFIG += debug
}
-mac:CONFIG -= app_bundle
+
+CONFIG -= app_bundle
HEADERS += apigenerator.h \
archiveextractor.h \
atom.h \
diff --git a/tools/qdoc3/test/qml.qdocconf b/tools/qdoc3/test/qdeclarative.qdocconf
index 3b5d8dc897..e5b883a1e4 100644
--- a/tools/qdoc3/test/qml.qdocconf
+++ b/tools/qdoc3/test/qdeclarative.qdocconf
@@ -6,7 +6,7 @@ include(qt-defines.qdocconf)
project = Qml
description = Qml Reference Documentation
-url = http://doc.qtsoftware.com/4.6
+url = http://qt.nokia.com/doc/4.6/
qmlonly = true
edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \
diff --git a/tools/qdoc3/tree.cpp b/tools/qdoc3/tree.cpp
index 6c2502d39f..922c23e45a 100644
--- a/tools/qdoc3/tree.cpp
+++ b/tools/qdoc3/tree.cpp
@@ -43,7 +43,6 @@
tree.cpp
*/
-#include <QtCore>
#include <QDomDocument>
#include "atom.h"
@@ -54,6 +53,8 @@
#include "text.h"
#include "tree.h"
+#include <limits.h>
+
QT_BEGIN_NAMESPACE
struct InheritanceBound
diff --git a/tools/qdoc3/webxmlgenerator.cpp b/tools/qdoc3/webxmlgenerator.cpp
index 205bc8cd52..6020b1b581 100644
--- a/tools/qdoc3/webxmlgenerator.cpp
+++ b/tools/qdoc3/webxmlgenerator.cpp
@@ -43,8 +43,6 @@
webxmlgenerator.cpp
*/
-#include <QtXml>
-
#include "codemarker.h"
#include "pagegenerator.h"
#include "webxmlgenerator.h"
@@ -52,6 +50,8 @@
#include "separator.h"
#include "tree.h"
+#include <QtCore/qxmlstream.h>
+
QT_BEGIN_NAMESPACE
#define COMMAND_VERSION Doc::alias("version")
diff --git a/tools/qdoc3/webxmlgenerator.h b/tools/qdoc3/webxmlgenerator.h
index cadf1769e8..071896a36b 100644
--- a/tools/qdoc3/webxmlgenerator.h
+++ b/tools/qdoc3/webxmlgenerator.h
@@ -46,12 +46,17 @@
#ifndef WEBXMLGENERATOR_H
#define WEBXMLGENERATOR_H
+#include <QtCore/qxmlstream.h>
+
#include "codemarker.h"
#include "config.h"
#include "pagegenerator.h"
QT_BEGIN_NAMESPACE
+class QXmlStreamReader;
+class QXmlStreamWriter;
+
class WebXMLGenerator : public PageGenerator
{
public:
diff --git a/tools/qev/qev.pro b/tools/qev/qev.pro
index 28383c605a..962b9faf2a 100644
--- a/tools/qev/qev.pro
+++ b/tools/qev/qev.pro
@@ -9,5 +9,3 @@ INCLUDEPATH += .
# Input
SOURCES += qev.cpp
CONFIG += qt warn_on create_prl link_prl
-OBJECTS_DIR=.obj/debug-shared
-MOC_DIR=.moc/debug-shared
diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp
index 9ef02ac3cb..a4de339c3d 100644
--- a/tools/qml/main.cpp
+++ b/tools/qml/main.cpp
@@ -311,8 +311,11 @@ int main(int argc, char ** argv)
usage();
}
+ viewer.addLibraryPath(QCoreApplication::applicationDirPath());
+
foreach (QString lib, libraries)
viewer.addLibraryPath(lib);
+
viewer.setNetworkCacheSize(cache);
viewer.setRecordFile(recordfile);
if (resizeview)
@@ -324,7 +327,7 @@ int main(int argc, char ** argv)
if (!skin.isEmpty()) {
if (skin == "list") {
foreach (QString s, viewer.builtinSkins())
- qWarning(s.toUtf8());
+ qWarning() << qPrintable(s);
exit(0);
} else {
viewer.setSkin(skin);
diff --git a/tools/qml/qfxtester.h b/tools/qml/qfxtester.h
index 1a9f07744a..6521409b34 100644
--- a/tools/qml/qfxtester.h
+++ b/tools/qml/qfxtester.h
@@ -54,12 +54,12 @@ QT_BEGIN_NAMESPACE
class QDeclarativeVisualTest : public QObject
{
Q_OBJECT
- Q_PROPERTY(QList<QObject *>* events READ events CONSTANT)
+ Q_PROPERTY(QDeclarativeListProperty<QObject> events READ events CONSTANT)
Q_CLASSINFO("DefaultProperty", "events")
public:
QDeclarativeVisualTest() {}
- QList<QObject *> *events() { return &m_events; }
+ QDeclarativeListProperty<QObject> events() { return QDeclarativeListProperty<QObject>(this, m_events); }
int count() const { return m_events.count(); }
QObject *event(int idx) { return m_events.at(idx); }
diff --git a/tools/qml/qml.pro b/tools/qml/qml.pro
index 9c9c398eb6..9b68dbc8c6 100644
--- a/tools/qml/qml.pro
+++ b/tools/qml/qml.pro
@@ -41,9 +41,11 @@ INSTALLS += target
wince* {
QT += scripttools \
xml \
- xmlpatterns \
phonon
+ contains(QT_CONFIG, xmlpatterns) {
+ QT += xmlpatterns
+ }
contains(QT_CONFIG, webkit) {
QT += webkit
}
diff --git a/tools/qtestlib/wince/cetest/cetest.pro b/tools/qtestlib/wince/cetest/cetest.pro
index 6b6b02aa97..2773fe4484 100644
--- a/tools/qtestlib/wince/cetest/cetest.pro
+++ b/tools/qtestlib/wince/cetest/cetest.pro
@@ -18,10 +18,13 @@ DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED QT_NO_CODECS QT_LITE_UNICODE QT
INCLUDEPATH = \
$$QT_SOURCE_TREE/tools/qtestlib/ce/cetest \
$$QT_SOURCE_TREE/qmake \
- $$QT_SOURCE_TREE/tools/shared \
+ $$QT_SOURCE_TREE/qmake/generators/symbian \
+ $$QT_SOURCE_TREE/tools/shared \
$$QT_BUILD_TREE/include \
$$QT_BUILD_TREE/include/QtCore \
$$QT_BUILD_TREE/src/corelib/global
+
+VPATH += $$QT_SOURCE_TREE/tools/shared
DEPENDPATH += $$QT_BUILD_TREE/src/corelib/tools $$QT_BUILD_TREE/src/corelib/io
@@ -33,6 +36,8 @@ HEADERS += \
SOURCES += \
remoteconnection.cpp \
deployment.cpp \
+ symbian/epocroot.cpp \
+ windows/registry.cpp \
main.cpp
LIBS += ole32.lib advapi32.lib
diff --git a/translations/assistant_de.ts b/translations/assistant_de.ts
index b020003568..0a0d37f5a9 100644
--- a/translations/assistant_de.ts
+++ b/translations/assistant_de.ts
@@ -4,7 +4,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+117"/>
<source>&amp;Close</source>
<translation>&amp;Schließen</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>AboutLabel</name>
<message>
- <location line="-14"/>
+ <location line="-15"/>
<source>Warning</source>
<translation>Achtung</translation>
</message>
@@ -24,12 +24,79 @@
</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
+ <name>Assistant</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+177"/>
+ <source>Error registering documentation file &apos;%1&apos;: %2</source>
+ <translation>Beim Registrieren der Dokumentationsdatei &apos;%1&apos; trat ein Fehler auf: %2</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Error: %1</source>
+ <translation>Fehler: %1</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Dokumentationsdatei %1 kann nicht registriert werden
+
+Grund:
+%2</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Documentation successfully registered.</source>
+ <translation>Dokumentation erfolgreich registriert.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Registrierung der Dokumentationsdatei %1 kann nicht aufgehoben werden
+
+Grund:
+%2</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>Dokumentation erfolgreich entfernt.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Error reading collection file &apos;%1&apos;: %2.</source>
+ <translation>Fehler beim Lesen der Katalogdatei &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Error creating collection file &apos;%1&apos;: %2.</source>
+ <translation>Fehler beim Erstellen der Katalogdatei &apos;%1&apos;: %2.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Error reading collection file &apos;%1&apos;: %2</source>
+ <translation>Fehler beim Lesen der Katalogdatei &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Der Datenbanktreiber für SQLite kann nicht geladen werden.</translation>
+ </message>
+</context>
+<context>
<name>BookmarkDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
@@ -52,39 +119,20 @@
<translation>Neuer Ordner</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
- <location line="+18"/>
- <location line="+39"/>
- <location line="+18"/>
- <location line="+30"/>
- <source>Bookmarks</source>
- <translation>Lesezeichen</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
+ <location/>
<source>+</source>
<translation>+</translation>
</message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="-61"/>
- <source>Delete Folder</source>
- <translation>Ordner löschen</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Rename Folder</source>
- <translation>Ordner umbenennen</translation>
- </message>
</context>
<context>
<name>BookmarkManager</name>
<message>
- <location line="+435"/>
- <source>Bookmarks</source>
- <translation>Lesezeichen</translation>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+151"/>
+ <source>Untitled</source>
+ <translation>Ohne Titel</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+65"/>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
@@ -94,26 +142,22 @@
<translation>Wenn Sie diesen Ordner löschen, wird auch&lt;br&gt;dessen kompletter Inhalt gelöscht. Möchten Sie wirklich fortfahren?</translation>
</message>
<message>
- <location line="+143"/>
- <location line="+9"/>
- <source>New Folder</source>
- <translation>Neuer Ordner</translation>
+ <location line="+147"/>
+ <source>Manage Bookmarks...</source>
+ <translation>Lesezeichen verwalten...</translation>
</message>
-</context>
-<context>
- <name>BookmarkWidget</name>
<message>
- <location line="-417"/>
- <source>Filter:</source>
- <translation>Filter:</translation>
+ <location line="+2"/>
+ <source>Add Bookmark...</source>
+ <translation>Lesezeichen hinzufügen ...</translation>
</message>
<message>
- <location line="+33"/>
- <source>Remove</source>
- <translation>Entfernen</translation>
+ <location line="+1"/>
+ <source>Ctrl+D</source>
+ <translation>Ctrl+D</translation>
</message>
<message>
- <location line="-79"/>
+ <location line="+68"/>
<source>Delete Folder</source>
<translation>Ordner löschen</translation>
</message>
@@ -133,7 +177,7 @@
<translation>Lesezeichen in neuem Reiter öffnen</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Delete Bookmark</source>
<translation>Lesezeichen löschen</translation>
</message>
@@ -142,16 +186,11 @@
<source>Rename Bookmark</source>
<translation>Lesezeichen umbenennen</translation>
</message>
- <message>
- <location line="+62"/>
- <source>Add</source>
- <translation>Hinzufügen</translation>
- </message>
</context>
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+117"/>
<source>Add new page</source>
<translation>Neue Seite hinzufügen</translation>
</message>
@@ -161,18 +200,18 @@
<translation>Aktuelle Seite schließen</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+287"/>
<source>Print Document</source>
<translation>Drucken</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+126"/>
<location line="+2"/>
<source>unknown</source>
<translation>unbekannt</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+100"/>
<source>Add New Page</source>
<translation>Neue Seite hinzufügen</translation>
</message>
@@ -192,15 +231,78 @@
<translation>Lesezeichen für diese Seite hinzufügen ...</translation>
</message>
<message>
- <location line="+235"/>
+ <location line="+264"/>
<source>Search</source>
<translation>Suchen</translation>
</message>
</context>
<context>
+ <name>CmdLineParser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+137"/>
+ <source>Unknown option: %1</source>
+ <translation>Unbekannte Option: %1</translation>
+ </message>
+ <message>
+ <location line="+87"/>
+ <source>Unknown widget: %1</source>
+ <translation>Unbekanntes Widget-Objekt: %1</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>The collection file &apos;%1&apos; does not exist.</source>
+ <translation>Die Katalogdatei &apos;%1&apos; existiert nicht.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing collection file.</source>
+ <translation>Fehlende Katalogdatei.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid URL &apos;%1&apos;.</source>
+ <translation>Ungültige URL &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing URL.</source>
+ <translation>Fehlende URL.</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Missing widget.</source>
+ <translation>Fehlendes Widget-Objekt.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The Qt help file &apos;%1&apos; does not exist.</source>
+ <translation>Die Hilfedatei &apos;%1&apos; existiert nicht.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Missing help file.</source>
+ <translation>Fehlende Hilfedatei.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Missing filter argument.</source>
+ <translation>Das Filter-Argument fehlt.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Error</source>
+ <translation>Fehler</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Notice</source>
+ <translation>Hinweis</translation>
+ </message>
+</context>
+<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+171"/>
<source>Open Link</source>
<translation>Link öffnen</translation>
</message>
@@ -224,34 +326,6 @@
</message>
</context>
<context>
- <name>FindWidget</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/>
- <source>Previous</source>
- <translation>Zurück</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Next</source>
- <translation>Weiter</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Case Sensitive</source>
- <translation>Groß-/Kleinschreibung beachten</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Whole words</source>
- <translation>Ganze Wörter</translation>
- </message>
- <message>
- <location line="+12"/>
- <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>FontPanel</name>
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
@@ -282,52 +356,25 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/>
- <source>Help</source>
- <translation>Hilfe</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>OK</source>
- <translation>OK</translation>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+56"/>
+ <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
+ <translation>&lt;title&gt;about:blank&lt;/title&gt;</translation>
</message>
<message>
- <location line="-62"/>
+ <location line="+6"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&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;title&gt;Fehler 404 ...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Die Seite kann nicht gefunden werden.&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
- <message>
- <location line="+125"/>
- <source>Copy &amp;Link Location</source>
- <translation>&amp;Link-Adresse kopieren</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Link in neuem Reiter öffnen </translation>
- </message>
- <message>
- <location line="-275"/>
- <source>Open Link in New Tab</source>
- <translation>Link in neuem Reiter öffnen</translation>
- </message>
- <message>
- <location line="+209"/>
- <source>Unable to launch external application.
-</source>
- <translation>Fehler beim Starten der externen Anwendung.
-</translation>
- </message>
</context>
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+68"/>
<source>&amp;Look for:</source>
<translation>Suchen &amp;nach:</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+74"/>
<source>Open Link</source>
<translation>Link öffnen</translation>
</message>
@@ -341,29 +388,29 @@
<name>InstallDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+78"/>
<source>Install Documentation</source>
<translation>Dokumentation installieren</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+30"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+33"/>
<source>Downloading documentation info...</source>
<translation>Dokumentationsinformation herunterladen ...</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+51"/>
<source>Download canceled.</source>
<translation>Herunterladen abgebrochen.</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+78"/>
+ <location line="+28"/>
+ <location line="+79"/>
<location line="+27"/>
<source>Done.</source>
<translation>Fertig.</translation>
</message>
<message>
- <location line="-90"/>
+ <location line="-91"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
<translation>Die Datei %1 existiert bereits. Möchten Sie sie überschreiben?</translation>
</message>
@@ -378,14 +425,14 @@
<translation>Herunterladen der Datei %1 ...</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+20"/>
<location line="+42"/>
- <location line="+38"/>
+ <location line="+40"/>
<source>Download failed: %1.</source>
<translation>Herunterladen fehlgeschlagen: %1.</translation>
</message>
<message>
- <location line="-70"/>
+ <location line="-72"/>
<source>Documentation info file is corrupt!</source>
<translation>Die Dokumentationsdatei ist beschädigt.</translation>
</message>
@@ -400,7 +447,7 @@
<translation>Dokumentation %1 installieren ...</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Error while installing documentation:
%1</source>
<translation>Fehler bei der Installation von:
@@ -440,20 +487,20 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+383"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+123"/>
+ <location line="+366"/>
<source>Index</source>
<translation>Index</translation>
</message>
<message>
- <location line="-377"/>
- <location line="+375"/>
+ <location line="-360"/>
+ <location line="+358"/>
<source>Contents</source>
<translation>Inhalt</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+374"/>
+ <location line="-351"/>
+ <location line="+355"/>
<source>Bookmarks</source>
<translation>Lesezeichen</translation>
</message>
@@ -463,20 +510,14 @@
<translation>Suchen</translation>
</message>
<message>
- <location line="-364"/>
- <location line="+207"/>
- <location line="+514"/>
+ <location line="-335"/>
+ <location line="+672"/>
+ <location line="+284"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-546"/>
- <location line="+5"/>
- <source>Unfiltered</source>
- <translation>Ohne Filter</translation>
- </message>
- <message>
- <location line="+107"/>
+ <location line="-702"/>
<source>Page Set&amp;up...</source>
<translation>S&amp;eite einrichten ...</translation>
</message>
@@ -506,7 +547,12 @@
<translation>&amp;Beenden</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+3"/>
+ <source>CTRL+Q</source>
+ <translation>CTRL+Q</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Copy selected Text</source>
<translation>Ausgewählten Text &amp;kopieren</translation>
</message>
@@ -616,12 +662,12 @@
<translation>Ctrl+Alt+Left</translation>
</message>
<message>
- <location line="+4"/>
- <source>Add Bookmark...</source>
- <translation>Lesezeichen hinzufügen ...</translation>
+ <location line="+591"/>
+ <source>Could not register file &apos;%1&apos;: %2</source>
+ <translation>Die Datei &apos;%1&apos; konnte nicht registriert werden: %2</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="-584"/>
<source>About...</source>
<translation>Ãœber ...</translation>
</message>
@@ -631,12 +677,12 @@
<translation>Navigationsleiste</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+69"/>
<source>Toolbars</source>
<translation>Werkzeugleisten</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Filter Toolbar</source>
<translation>Filterleiste</translation>
</message>
@@ -646,7 +692,7 @@
<translation>Filter:</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>Address Toolbar</source>
<translation>Adressleiste</translation>
</message>
@@ -656,27 +702,27 @@
<translation>Adresse:</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+112"/>
<source>Could not find the associated content item.</source>
<translation>Der zugehörige Inhaltseintrag konnte nicht gefunden werden.</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+60"/>
<source>About %1</source>
<translation>Ãœber %1</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+175"/>
<source>Updating search index</source>
<translation>Suchindex wird aufgebaut</translation>
</message>
<message>
- <location line="-640"/>
+ <location line="-661"/>
<source>Looking for Qt Documentation...</source>
<translation>Suche nach Qt-Dokumentation ...</translation>
</message>
<message>
- <location line="+241"/>
+ <location line="+219"/>
<source>&amp;Window</source>
<translation>&amp;Fenster</translation>
</message>
@@ -696,12 +742,12 @@
<translation>Zoom</translation>
</message>
<message>
- <location line="-159"/>
+ <location line="-161"/>
<source>&amp;File</source>
<translation>&amp;Datei</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+29"/>
<source>&amp;Edit</source>
<translation>&amp;Bearbeiten</translation>
</message>
@@ -721,41 +767,36 @@
<translation>ALT+Home</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+30"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Lesezeichen</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+2"/>
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
- <location line="-40"/>
+ <location line="-38"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
- <message>
- <location line="+38"/>
- <source>CTRL+D</source>
- <translation>CTRL+D</translation>
- </message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+259"/>
- <location line="+43"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+252"/>
+ <location line="+44"/>
<source>Add Documentation</source>
<translation>Dokumentation hinzufügen</translation>
</message>
<message>
- <location line="-43"/>
+ <location line="-44"/>
<source>Qt Compressed Help Files (*.qch)</source>
<translation>Komprimierte Hilfedateien (*.qch)</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+38"/>
<source>The specified file is not a valid Qt Help File!</source>
<translation>Die angegebene Datei ist keine Qt-Hilfedatei.</translation>
</message>
@@ -765,7 +806,7 @@
<translation>Der Namespace %1 ist bereits registriert.</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+32"/>
<source>Remove Documentation</source>
<translation>Dokumentation entfernen</translation>
</message>
@@ -785,7 +826,7 @@
<translation>OK</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+83"/>
<source>Use custom settings</source>
<translation>Benutzerdefinierte Einstellungen verwenden</translation>
</message>
@@ -909,118 +950,9 @@
</message>
</context>
<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
- <source>The specified collection file does not exist!</source>
- <translation>Die angegebene Katalogdatei (collection file) kann nicht gefunden werden.</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing collection file!</source>
- <translation>Fehlende Katalogdatei.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Invalid URL!</source>
- <translation>Ungültige URL.</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing URL!</source>
- <translation>Fehlende URL.</translation>
- </message>
- <message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Unknown widget: %1</source>
- <translation>Unbekanntes Objekt: %1</translation>
- </message>
- <message>
- <location line="-34"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Missing widget!</source>
- <translation>Fehlendes Objekt.</translation>
- </message>
- <message>
- <location line="+7"/>
- <location line="+12"/>
- <source>The specified Qt help file does not exist!</source>
- <translation>Die angegebene Hilfedatei kann nicht gefunden werden.</translation>
- </message>
- <message>
- <location line="-7"/>
- <location line="+12"/>
- <source>Missing help file!</source>
- <translation>Fehlende Hilfedatei.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Missing filter argument!</source>
- <translation>Das Filter-Argument fehlt.</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>Unknown option: %1</source>
- <translation>Unbekannte Option: %1</translation>
- </message>
- <message>
- <location line="+30"/>
- <location line="+2"/>
- <source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+225"/>
- <source>Could not register documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Dokumentationsdatei %1 kann nicht registriert werden
-
-Grund:
-%2</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Documentation successfully registered.</source>
- <translation>Dokumentation erfolgreich registriert.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Could not unregister documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Registrierung der Dokumentationsdatei %1 kann nicht aufgehoben werden
-
-Grund:
-%2</translation>
- </message>
- <message>
- <location line="-3"/>
- <source>Documentation successfully unregistered.</source>
- <translation>Dokumentation erfolgreich entfernt.</translation>
- </message>
- <message>
- <location line="+40"/>
- <source>Cannot load sqlite database driver!</source>
- <translation>Der Datenbanktreiber für SQLite kann nicht geladen werden.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>The specified collection file could not be read!</source>
- <translation>Die angegebene Katalogdatei (collection file) kann nicht gelesen werden.</translation>
- </message>
-</context>
-<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+165"/>
<source>Debugging Remote Control</source>
<translation>Debugging Remote Control</translation>
</message>
@@ -1033,7 +965,7 @@ Grund:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+210"/>
<source>&amp;Copy</source>
<translation>&amp;Kopieren</translation>
</message>
@@ -1056,7 +988,7 @@ Grund:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+53"/>
<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>
diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts
index 992cf18a1e..ade4c85b67 100644
--- a/translations/assistant_ru.ts
+++ b/translations/assistant_ru.ts
@@ -32,41 +32,41 @@
<context>
<name>BookmarkDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="+19"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>Add Bookmark</source>
<translation>Добавление закладки</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Bookmark:</source>
<translation>Закладка:</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Add in Folder:</source>
<translation>Добавить в папку:</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>+</source>
<translation>+</translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>New Folder</source>
<translation>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+187"/>
<location line="+18"/>
<location line="+39"/>
<location line="+18"/>
- <location line="+30"/>
+ <location line="+33"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-64"/>
<source>Delete Folder</source>
<translation>Удалить папку</translation>
</message>
@@ -79,7 +79,7 @@
<context>
<name>BookmarkManager</name>
<message>
- <location line="+434"/>
+ <location line="+452"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
@@ -103,7 +103,7 @@
<context>
<name>BookmarkWidget</name>
<message>
- <location line="-462"/>
+ <location line="-474"/>
<source>Delete Folder</source>
<translation>Удалить папку</translation>
</message>
@@ -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>Открыть новую Ñтраницу</translation>
</message>
@@ -166,7 +166,7 @@
<translation>Печать документа</translation>
</message>
<message>
- <location line="+148"/>
+ <location line="+130"/>
<location line="+2"/>
<source>unknown</source>
<translation>безымÑÐ½Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°</translation>
@@ -192,7 +192,7 @@
<translation>Добавить закладку Ð´Ð»Ñ Ñтой Ñтраницы...</translation>
</message>
<message>
- <location line="+255"/>
+ <location line="+248"/>
<source>Search</source>
<translation>ПоиÑк</translation>
</message>
@@ -213,12 +213,12 @@
<context>
<name>FilterNameDialogClass</name>
<message>
- <location filename="../tools/assistant/tools/assistant/filternamedialog.ui" line="+13"/>
+ <location filename="../tools/assistant/tools/assistant/filternamedialog.ui"/>
<source>Add Filter Name</source>
<translation>Добавление фильтра</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Filter Name:</source>
<translation>Ðазвание фильтра:</translation>
</message>
@@ -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="-931"/>
<source>Previous</source>
<translation>Предыдущее</translation>
</message>
@@ -282,7 +282,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+284"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+283"/>
<source>Open Link in New Tab</source>
<translation>Открыть ÑÑылку в новой вкладке</translation>
</message>
@@ -327,7 +327,7 @@
<translation>&amp;ИÑкать:</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+72"/>
<source>Open Link</source>
<translation>Открыть ÑÑылку</translation>
</message>
@@ -340,7 +340,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="+13"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
<source>Install Documentation</source>
<translation>УÑтановка документации</translation>
@@ -407,32 +407,32 @@
%1</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="+6"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Available Documentation:</source>
<translation>ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Install</source>
<translation>УÑтановить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Installation Path:</source>
<translation>Путь уÑтановки:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -441,31 +441,31 @@
<name>MainWindow</name>
<message>
<location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+391"/>
+ <location line="+383"/>
<source>Index</source>
<translation>Указатель</translation>
</message>
<message>
- <location line="-385"/>
- <location line="+383"/>
+ <location line="-377"/>
+ <location line="+375"/>
<source>Contents</source>
<translation>Содержание</translation>
</message>
<message>
- <location line="-378"/>
- <location line="+382"/>
+ <location line="-370"/>
+ <location line="+374"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+215"/>
- <location line="+512"/>
+ <location line="-362"/>
+ <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>Без фильтрации</translation>
@@ -526,7 +526,12 @@
<translation>П&amp;оиÑк в текÑте...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+2"/>
+ <source>&amp;Find</source>
+ <translation>&amp;ПоиÑк</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Find &amp;Next</source>
<translation>Ðайти &amp;Ñледующее</translation>
</message>
@@ -621,7 +626,12 @@
<translation>Синхронизировать Ñ Ð¾Ð³Ð»Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+2"/>
+ <source>Sync</source>
+ <translation>Синхронизировать</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Next Page</source>
<translation>Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница</translation>
</message>
@@ -706,7 +716,7 @@
<translation>Отфильтровано по:</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+25"/>
<source>Address Toolbar</source>
<translation>Панель адреÑа</translation>
</message>
@@ -783,118 +793,117 @@
<context>
<name>PreferencesDialogClass</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="+14"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui"/>
<source>Preferences</source>
<translation>ÐаÑтройки</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Fonts</source>
<translation>Шрифты</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Font settings:</source>
<translation>ÐаÑтройки шрифта:</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Browser</source>
<translation>Обозреватель</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Application</source>
<translation>Приложение</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Filters</source>
<translation>Фильтры</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Filter:</source>
<translation>Фильтр:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Attributes:</source>
<translation>Ðтрибуты:</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Add</source>
<translation>Добавить</translation>
</message>
<message>
- <location line="+7"/>
- <location line="+51"/>
+ <location/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="-43"/>
+ <location/>
<source>Documentation</source>
<translation>ДокументациÑ</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Registered Documentation:</source>
<translation>ЗарегиÑÑ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:</translation>
</message>
<message>
- <location line="+30"/>
+ <location/>
<source>Add...</source>
<translation>Добавить...</translation>
</message>
<message>
- <location line="+32"/>
+ <location/>
<source>Options</source>
<translation>Параметры</translation>
</message>
<message>
- <location line="+74"/>
+ <location/>
<source>Homepage</source>
<translation>Ð¡Ñ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>Current Page</source>
<translation>Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñтраница</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Restore to default</source>
<translation>Страница по умолчанию</translation>
</message>
<message>
- <location line="-97"/>
+ <location/>
<source>On help start:</source>
<translation>При запуÑке:</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Show my home page</source>
<translation>Отобразить Ñтартовую Ñтраницу</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Show a blank page</source>
<translation>Отобразить пуÑтую Ñтраницу</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Show my tabs from last session</source>
<translation>ВоÑÑтановить предыдущую ÑеÑÑиию</translation>
</message>
<message>
- <location line="+66"/>
+ <location/>
<source>Blank Page</source>
<translation>ПуÑÑ‚Ð°Ñ Ñтраница</translation>
</message>
@@ -964,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="+228"/>
<source>Could not register documentation file
%1
@@ -1026,7 +1035,7 @@ Reason:
<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;Копировать</translation>
</message>
@@ -1054,22 +1063,22 @@ Reason:
<translation>Выберите раздел Ð´Ð»Ñ &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="+16"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui"/>
<source>Choose Topic</source>
<translation>Выбор раздела</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>&amp;Topics</source>
<translation>&amp;Разделы</translation>
</message>
<message>
- <location line="+51"/>
+ <location/>
<source>&amp;Display</source>
<translation>&amp;Показать</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
diff --git a/translations/designer_de.ts b/translations/designer_de.ts
index 8c1ba68335..475a5d542f 100644
--- a/translations/designer_de.ts
+++ b/translations/designer_de.ts
@@ -506,7 +506,7 @@
<translation>Werkzeugleiste löschen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1194"/>
<source>Set action text</source>
<translation>Text der Aktion setzen</translation>
</message>
@@ -621,7 +621,7 @@
<translation>Skript ändern</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1225"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>&apos;%1&apos; von &apos;%2&apos; geändert</translation>
</message>
@@ -635,7 +635,7 @@
</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+84"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
<translation>&apos;%1&apos; von &apos;%2&apos; zurücksetzen</translation>
</message>
@@ -1109,7 +1109,7 @@
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1754"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Ungültiges Element &lt;%1&gt;</translation>
</message>
@@ -1985,7 +1985,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1179"/>
<source>Type Here</source>
<translation>Geben Sie Text ein</translation>
</message>
@@ -2011,7 +2011,7 @@ Möchten Sie es noch einmal versuchen?</translation>
</message>
<message>
<location line="+27"/>
- <location line="+650"/>
+ <location line="+648"/>
<source>Add separator</source>
<translation>Trenner hinzufügen</translation>
</message>
@@ -2085,7 +2085,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+755"/>
<source>Dynamic Properties</source>
<translation>Dynamische Eigenschaften</translation>
</message>
@@ -2456,7 +2456,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+247"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+255"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -2472,7 +2472,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
<translation>Wahr</translation>
</message>
@@ -2501,7 +2501,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4750"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4718"/>
<source>Red</source>
<translation>Rot</translation>
</message>
@@ -2524,7 +2524,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtCursorDatabase</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-234"/>
<source>Arrow</source>
<translation>Pfeil</translation>
</message>
@@ -3080,7 +3080,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+241"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+249"/>
<source>Clear Shortcut</source>
<translation>Tastenkürzel löschen</translation>
</message>
@@ -3522,7 +3522,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtResourceViewDialog</name>
<message>
- <location line="+250"/>
+ <location line="+252"/>
<source>Select Resource</source>
<translation>Ressource auswählen</translation>
</message>
@@ -4034,7 +4034,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+89"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -4727,7 +4727,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1322"/>
<source>Edit contents</source>
<translation>Ändern</translation>
</message>
@@ -4737,34 +4737,33 @@ Möchten Sie sie überschreiben?</translation>
<translation>F2</translation>
</message>
<message>
- <location line="+841"/>
+ <location line="+840"/>
<source>Resize</source>
<translation>Größe ändern</translation>
</message>
<message>
- <location line="+218"/>
- <location line="+15"/>
+ <location line="+248"/>
<source>Key Move</source>
<translation>Verschieben mittels Tastatur</translation>
</message>
<message>
- <location line="+276"/>
+ <location line="+317"/>
<source>Paste error</source>
<translation>Fehler beim Einfügen</translation>
</message>
<message>
- <location line="+450"/>
+ <location line="+448"/>
<source>Lay out</source>
<translation>Layout</translation>
</message>
<message>
- <location line="+493"/>
+ <location line="+485"/>
<location line="+55"/>
<source>Drop widget</source>
<translation>Widget einfügen</translation>
</message>
<message numerus="yes">
- <location line="-1063"/>
+ <location line="-1053"/>
<source>Paste %n action(s)</source>
<translation>
<numerusform>Eine Aktion einfügen</numerusform>
@@ -4772,12 +4771,17 @@ Möchten Sie sie überschreiben?</translation>
</translation>
</message>
<message>
- <location line="-511"/>
+ <location line="-565"/>
<source>Insert widget &apos;%1&apos;</source>
<translation>Widget &apos;%1&apos; einfügen</translation>
</message>
+ <message>
+ <location line="+313"/>
+ <source>Key Resize</source>
+ <translation>Größe ändern mittels Tastatur</translation>
+ </message>
<message numerus="yes">
- <location line="+513"/>
+ <location line="+254"/>
<source>Paste %n widget(s)</source>
<translation>
<numerusform>Widget einfügen</numerusform>
@@ -4800,17 +4804,17 @@ Möchten Sie sie überschreiben?</translation>
<translation>Bitte lösen Sie das Layout des gewünschten Containers auf und wählen Sie ihn erneut aus, um die Widgets einzufügen.</translation>
</message>
<message>
- <location line="+408"/>
+ <location line="+406"/>
<source>Select Ancestor</source>
<translation>Übergeordnetes Widget auswählen</translation>
</message>
<message>
- <location line="+581"/>
+ <location line="+573"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation>Ein auf QMainWindow basierendes Formular enthält kein zentrales Widget.</translation>
</message>
<message>
- <location line="-802"/>
+ <location line="-794"/>
<source>Raise widgets</source>
<translation>Widgets nach vorn bringen</translation>
</message>
diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts
index 932c611172..412be47abd 100644
--- a/translations/designer_ru.ts
+++ b/translations/designer_ru.ts
@@ -32,17 +32,17 @@
<context>
<name>AddLinkDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui"/>
<source>Insert Link</source>
<translation>Ð’Ñтавить ÑÑылку</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Title:</source>
<translation>Заголовок:</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>URL:</source>
<translation>URL:</translation>
</message>
@@ -149,12 +149,12 @@
<context>
<name>AppearanceOptionsWidget</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui" line="+14"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>User Interface Mode</source>
<translation>Режим пользовательÑкого интерфейÑа</translation>
</message>
@@ -585,7 +585,7 @@
<translation>Изменить компоновку &apos;%1&apos; Ñ %2 на %3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1194"/>
<source>Set action text</source>
<translation>УÑтановить текÑÑ‚ дейÑтвиÑ</translation>
</message>
@@ -596,12 +596,12 @@
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+907"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+915"/>
<source>Move action</source>
<translation>ПеремеÑтить дейÑтвие</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-424"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-432"/>
<source>Change Title</source>
<translation>Изменить заголовок</translation>
</message>
@@ -680,24 +680,22 @@
<context>
<name>ConnectDialog</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui"/>
<source>Configure Connection</source>
<translation>ÐаÑтройка ÑоединениÑ</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+40"/>
+ <location/>
<source>GroupBox</source>
<translation>GroupBox</translation>
</message>
<message>
- <location line="-25"/>
- <location line="+40"/>
+ <location/>
<source>Edit...</source>
<translation>Изменить...</translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Show signals and slots inherited from QWidget</source>
<translation>Показывать Ñигналы и Ñлоты, унаÑледованные от QWidget</translation>
</message>
@@ -705,7 +703,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;объект&gt;</translation>
</message>
@@ -761,12 +759,12 @@
<message>
<location line="+173"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation type="unfinished">Ðекорректный файл UI: ОтÑутÑтвует корневой Ñлемент &lt;ui&gt;.</translation>
+ <translation>Ðекорректный файл UI: ОтÑутÑтвует корневой Ñлемент &lt;ui&gt;.</translation>
</message>
<message>
<location line="+6"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation type="unfinished">При чтении файла UI в Ñтроке %1 позиции %2 возникла ошибка: %3</translation>
+ <translation>При чтении файла UI в Ñтроке %1 позиции %2 возникла ошибка: %3</translation>
</message>
<message>
<location line="+26"/>
@@ -808,7 +806,7 @@
<message>
<location line="+31"/>
<source>This file cannot be read because the extra info extension failed to load.</source>
- <translation type="unfinished">Ðе удалоÑÑŒ прочитать файл, так как возникла ошибка при загрузке раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации.</translation>
+ <translation>Ðе удалоÑÑŒ прочитать файл, так как возникла ошибка при загрузке раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации.</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="+339"/>
@@ -869,27 +867,27 @@
<context>
<name>DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui"/>
<source>&amp;Family</source>
<translation>&amp;Шрифт</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Point Size</source>
<translation>&amp;Размер</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Style</source>
<translation>Ðачертание</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Device DPI</source>
<translation>DPI уÑтройÑтва</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Name</source>
<translation>Ðазвание</translation>
</message>
@@ -1030,7 +1028,7 @@
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+359"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+375"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation>Ðекорректный коÑффициент раÑÑ‚ÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ &apos;%1&apos;: &apos;%2&apos;</translation>
@@ -1074,38 +1072,38 @@
<context>
<name>FormLayoutRowDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="+6"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/>
<source>Add Form Layout Row</source>
<translatorcomment>нелепица какаÑ-то</translatorcomment>
<translation type="unfinished">Добавление Ñтроки компоновки компоновщика формы</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Label text:</source>
<translation>ТекÑÑ‚ &amp;метки:</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Field &amp;type:</source>
<translation>&amp;Тип полÑ:</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>&amp;Field name:</source>
<translation>Ð˜Ð¼Ñ Ð¿&amp;олÑ:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Buddy:</source>
<translation>П&amp;артнёр:</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>&amp;Row:</source>
<translation>&amp;Строка:</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Label &amp;name:</source>
<translation>Ð˜Ð¼Ñ Ð¼&amp;етки:</translation>
</message>
@@ -1126,62 +1124,62 @@
<context>
<name>FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="+54"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui"/>
<source>Form Settings</source>
<translation>ÐаÑтройки формы</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Layout &amp;Default</source>
<translation>Компоновка по &amp;умолчанию</translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>&amp;Spacing:</source>
<translation>&amp;ОтÑтуп:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Margin:</source>
<translation>&amp;Границы:</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Layout Function</source>
<translation>&amp;Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Ma&amp;rgin:</source>
<translation>Г&amp;раницы:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Spa&amp;cing:</source>
<translation>О&amp;Ñ‚Ñтуп:</translation>
</message>
<message>
- <location line="+117"/>
+ <location/>
<source>&amp;Author</source>
<translation>&amp;Ðвтор</translation>
</message>
<message>
- <location line="-41"/>
+ <location/>
<source>&amp;Include Hints</source>
<translation>&amp;Подключить подÑказки</translation>
</message>
<message>
- <location line="-53"/>
+ <location/>
<source>&amp;Pixmap Function</source>
<translation type="unfinished">&amp;Загрузчик изображений</translation>
</message>
<message>
- <location line="+71"/>
+ <location/>
<source>Grid</source>
<translation>Сетка</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Embedded Design</source>
<translation type="unfinished">Оформление портативных уÑтройÑтв</translation>
</message>
@@ -1329,12 +1327,12 @@
<context>
<name>PluginDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plugindialog.ui" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
<translation>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
@@ -1342,7 +1340,7 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/designer/src/designer/preferencesdialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/designer/preferencesdialog.ui"/>
<source>Preferences</source>
<translation>ÐаÑтройки</translation>
</message>
@@ -1350,34 +1348,32 @@
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Print/Preview Configuration</source>
<translation>ÐаÑтройка печати/предпроÑмотра</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Style</source>
<translation>Стиль</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Style sheet</source>
<translation>Таблица Ñтилей</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+7"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location line="-12"/>
+ <location/>
<source>Device skin</source>
<translation>Обложка уÑтройÑтва</translation>
</message>
@@ -1410,15 +1406,15 @@
<message>
<location line="+5"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation type="unfinished">Возникла ошибка при чтении файла UI в Ñтроке %1 позиции %2: %3</translation>
+ <translation>Возникла ошибка при чтении файла UI в Ñтроке %1 позиции %2: %3</translation>
</message>
<message>
<location line="+6"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation type="unfinished">Ðеверный файл UI: ОтÑутÑтвует корневой Ñлемент &lt;ui&gt;.</translation>
+ <translation>Ðекорректный файл UI: отÑутÑтвует корневой Ñлемент &lt;ui&gt;.</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+104"/>
<source>The creation of a widget of the class &apos;%1&apos; failed.</source>
<translation>Ðе удалоÑÑŒ Ñоздание виджета клаÑÑа &apos;%1&apos;.</translation>
</message>
@@ -1932,7 +1928,7 @@ Would you like to retry?</source>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="-71"/>
<source>Reset control</source>
- <translation>СброÑить Ñлемент управлениÑ</translation>
+ <translation type="unfinished">СброÑить Ñлемент управлениÑ</translation>
</message>
<message>
<location line="+2"/>
@@ -1994,7 +1990,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1179"/>
<source>Type Here</source>
<translation>Пишите здеÑÑŒ</translation>
</message>
@@ -2020,7 +2016,7 @@ Would you like to retry?</source>
</message>
<message>
<location line="+25"/>
- <location line="+650"/>
+ <location line="+648"/>
<source>Add separator</source>
<translation>Добавить разделитель</translation>
</message>
@@ -2283,7 +2279,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+163"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+168"/>
<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>Методу %1 (объекта &apos;%2&apos;) было передано пуÑтое Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа.</translation>
@@ -2323,6 +2319,16 @@ Container pages should only be added by specifying them in XML returned by the d
<source>The property %1 could not be written. The type %2 is not supported yet.</source>
<translation>Ðе удалоÑÑŒ запиÑать ÑвойÑтво %1. Тип %2 ещё не поддерживаетÑÑ.</translation>
</message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
+ <source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
+ <translation>Значение &apos;%1&apos; перечиÑлÑемого типа некорректно. Будет иÑпользовано значение &apos;%2&apos;.</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>The flag-value &apos;%1&apos; is invalid. Zero will be used instead.</source>
+ <translation>Значение флага &apos;%1&apos; перечиÑлÑемого типа некорректно. Будет иÑпользовано значение &apos;0&apos; (нуль).</translation>
+ </message>
</context>
<context>
<name>QStackedWidgetEventFilter</name>
@@ -2456,36 +2462,36 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+255"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
- <translation>Вкл.</translation>
+ <translation type="unfinished">Вкл.</translation>
</message>
<message>
<location line="-25"/>
<location line="+25"/>
<source>False</source>
- <translation>Выкл.</translation>
+ <translation type="unfinished">Выкл.</translation>
</message>
</context>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
- <translation type="unfinished">Да</translation>
+ <translation type="unfinished">Вкл.</translation>
</message>
<message>
<location line="+1"/>
<source>False</source>
- <translation type="unfinished">Ðет</translation>
+ <translation type="unfinished">Выкл.</translation>
</message>
</context>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1581"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1584"/>
<source>Clear Char</source>
<translation>Стереть Ñимвол</translation>
</message>
@@ -2501,7 +2507,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4743"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4718"/>
<source>Red</source>
<translation>КраÑный</translation>
</message>
@@ -2524,7 +2530,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtCursorDatabase</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-206"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-234"/>
<source>Arrow</source>
<translation>Arrow</translation>
</message>
@@ -2673,7 +2679,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/>
<source>Edit Gradient</source>
<translation>Правка градиента</translation>
</message>
@@ -2763,234 +2769,222 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished">ЗеркальнаÑ</translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+48"/>
+ <location/>
<source>Gradient Editor</source>
<translation>Редактор градиента</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<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>Эта облаÑÑ‚ÑŒ отображает предварительный вариант наÑтраиваемого градиента. Также она позволÑет менÑÑ‚ÑŒ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ перетаÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ñ‹Ðµ Ð´Ð»Ñ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð° параметры, такие как: Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸, Ñ€Ð°Ð´Ð¸ÑƒÑ Ð¸ пр.</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>2</source>
<translation>2</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>3</source>
<translation>3</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>4</source>
<translation>4</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>5</source>
<translation>5</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Gradient Stops Editor</source>
<translation>Редактор опорных точек градиента</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<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>Эта облаÑÑ‚ÑŒ позволÑет редактировать опорные точки градиента. Двойной щелчок на ÑущеÑтвующей точке ÑоздаÑÑ‚ её копию. Двойной клик вне ÑущеÑтвующей точки ÑоздаÑÑ‚ новую. Точки можно перемещать путем ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð»ÐµÐ²Ð¾Ð¹ кнопки. По правой кнопке можно получить контекÑтное меню дополнительных дейÑтвий.</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Zoom</source>
<translation>МаÑштаб</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+3"/>
+ <location/>
<source>Reset Zoom</source>
<translation>100%</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Position</source>
<translation>Положение</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Hue</source>
<translation>Оттенок</translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>H</source>
<translation>H</translation>
</message>
<message>
- <location line="+87"/>
- <location line="+49"/>
+ <location/>
<source>Saturation</source>
<translation>ÐаÑыщенноÑÑ‚ÑŒ</translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>S</source>
<translation>S</translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Sat</source>
<translation>ÐаÑыщение</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
+ <location/>
<source>Value</source>
<translation>Значение</translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>V</source>
<translation>V</translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Val</source>
<translation>Значение</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Alpha</source>
<translation>Ðльфа</translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>A</source>
<translation>A</translation>
</message>
<message>
- <location line="+81"/>
+ <location/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Spread</source>
<translation>Заливка</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Color</source>
<translation>Цвет</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Current stop&apos;s color</source>
<translation>Цвет текущей точки</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show HSV specification</source>
<translation>ÐаÑтройки в виде HSV</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>HSV</source>
<translation>HSV</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show RGB specification</source>
<translation>ÐаÑтройки в виде RGB</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>RGB</source>
<translation>RGB</translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Current stop&apos;s position</source>
<translation>Положение текущей точки</translation>
</message>
<message>
- <location line="+188"/>
+ <location/>
<source>%</source>
<translation>%</translation>
</message>
<message>
- <location line="+111"/>
+ <location/>
<source>Zoom In</source>
<translation>Увеличить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Zoom Out</source>
<translation>Уменьшить</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Toggle details extension</source>
<translation>Показать/Ñкрыть детальные наÑтройки</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&gt;</source>
<translation>&gt;</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Linear Type</source>
<translation>Линейный тип</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location line="-91"/>
+ <location/>
<source>Radial Type</source>
<translation>Радиальный тип</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Conical Type</source>
<translation>КоничеÑкий тип</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Pad Spread</source>
<translation>Ð Ð°Ð²Ð½Ð¾Ð¼ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ°</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Repeat Spread</source>
<translation>Ð¦Ð¸ÐºÐ»Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ°</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Reflect Spread</source>
<translation>Ð—ÐµÑ€ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ°</translation>
</message>
@@ -3015,7 +3009,7 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location line="+1"/>
<source>Select All</source>
- <translation>Выделить вÑе</translation>
+ <translation>Выделить вÑÑ‘</translation>
</message>
<message>
<location line="+1"/>
@@ -3038,7 +3032,7 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
- <translation type="unfinished">Градиент</translation>
+ <translation>Градиент</translation>
</message>
<message>
<location line="+26"/>
@@ -3051,31 +3045,31 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Ð’Ñ‹ дейÑтвительно желаете удалить выбранный градиент?</translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="+39"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+74"/>
<source>New...</source>
<translation>Ðовый...</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Edit...</source>
<translation>Правка...</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Rename</source>
<translation>Переименовать</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="-83"/>
+ <location/>
<source>Gradient View</source>
<translation>ПроÑмотр градиента</translation>
</message>
@@ -3083,7 +3077,8 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<source>Select Gradient</source>
<translation>Выбрать градиент</translation>
</message>
@@ -3091,7 +3086,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+249"/>
<source>Clear Shortcut</source>
<translation>Удалить комбинацию горÑчих клавиш</translation>
</message>
@@ -3153,7 +3148,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtPropertyBrowserUtils</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-156"/>
<source>[%1, %2, %3] (%4)</source>
<translation>[%1, %2, %3] (%4)</translation>
</message>
@@ -3269,7 +3264,7 @@ Do you want to replace it?</source>
<message>
<location line="+112"/>
<source>newPrefix</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">newPrefix</translation>
</message>
<message>
<location line="+16"/>
@@ -3460,49 +3455,47 @@ to
<translation type="unfinished">Предупреждение</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui"/>
<source>Dialog</source>
<translation>Диалог</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>New File</source>
<translation>Ðовый файл</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+50"/>
+ <location/>
<source>N</source>
<translation>N</translation>
</message>
<message>
- <location line="-43"/>
+ <location/>
<source>Remove File</source>
<translation>Удалить файл</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+57"/>
+ <location/>
<source>R</source>
<translation>R</translation>
</message>
<message>
- <location line="-34"/>
+ <location/>
<source>I</source>
<translation>I</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>New Resource</source>
<translation>Ðовый реÑурÑ</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>A</source>
<translation>A</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove Resource or File</source>
<translation>Удалить реÑÑƒÑ€Ñ Ð¸Ð»Ð¸ файл</translation>
</message>
@@ -3623,97 +3616,97 @@ to
<translation>&lt; Р РЗ Д Е Л И Т Е Л Ь &gt;</translation>
</message>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="+13"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/>
<source>Customize Toolbars</source>
<translation>ÐаÑтройка панелей инÑтрументов</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Actions</source>
<translation>ДейÑтвиÑ</translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>Toolbars</source>
<translation>Панель инÑтрументов</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Add new toolbar</source>
<translation>Добавить новую панель инÑтрументов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>New</source>
<translation>ÐоваÑ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove selected toolbar</source>
<translation>Удалить выбранную панель инÑтрументов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Rename toolbar</source>
<translation>Переименовать панель инÑтрументов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Rename</source>
<translation>Переименовать</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Move action up</source>
<translation>ПеремеÑтить дейÑтвие вверх</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
<translation>Вверх</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Remove action from toolbar</source>
<translation>Удалить дейÑтвие из панели инÑтрументов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;-</source>
<translation>&lt;-</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Add action to toolbar</source>
<translation>Добавить дейÑтвие на панель инÑтрументов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>-&gt;</source>
<translation>-&gt;</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Move action down</source>
<translation>ПеремеÑтить дейÑтвие вниз</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
<translation>Вниз</translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Current Toolbar Actions</source>
<translation>Текущие дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ инÑтрументов</translation>
</message>
@@ -3781,17 +3774,17 @@ Do you want overwrite the template?</source>
<translation>Выберите каталог Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð²</translation>
</message>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="+45"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui"/>
<source>Save Form As Template</source>
<translation>Сохранить форму как шаблон</translation>
</message>
<message>
- <location line="+49"/>
+ <location/>
<source>&amp;Category:</source>
<translation>&amp;КатегориÑ:</translation>
</message>
<message>
- <location line="-35"/>
+ <location/>
<source>&amp;Name:</source>
<translation>&amp;ИмÑ:</translation>
</message>
@@ -3809,22 +3802,22 @@ Do you want overwrite the template?</source>
<context>
<name>SelectSignalDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="+14"/>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui"/>
<source>Go to slot</source>
<translation>Переход к Ñлоту</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Select signal</source>
<translation>Выбор Ñигнала</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>signal</source>
<translation>Ñигнал</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>class</source>
<translation>клаÑÑ</translation>
</message>
@@ -3840,37 +3833,32 @@ Do you want overwrite the template?</source>
<context>
<name>SignalSlotDialogClass</name>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui"/>
<source>Signals and slots</source>
<translation>Сигналы и Ñлоты</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Slots</source>
<translation>Слоты</translation>
</message>
<message>
- <location line="+11"/>
- <location line="+49"/>
+ <location/>
<source>Add</source>
<translation>Добавить</translation>
</message>
<message>
- <location line="-46"/>
- <location line="+10"/>
- <location line="+39"/>
- <location line="+10"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location line="-52"/>
- <location line="+49"/>
+ <location/>
<source>Delete</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="-21"/>
+ <location/>
<source>Signals</source>
<translation>Сигналы</translation>
</message>
@@ -3934,7 +3922,7 @@ Do you want overwrite the template?</source>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+170"/>
<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;ВерÑÐ¸Ñ %2</translation>
</message>
@@ -4053,7 +4041,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+89"/>
<source>Name</source>
<translation>ИмÑ</translation>
</message>
@@ -4609,57 +4597,57 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::Dialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="+53"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui"/>
<source>Dialog</source>
<translation>Диалог</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>StringList</source>
<translation>СпиÑок Ñтрок</translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>New String</source>
<translation>ÐÐ¾Ð²Ð°Ñ Ñтрока</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
<translation>&amp;ÐоваÑ</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Delete String</source>
<translation>Удалить Ñтроку</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <location line="+33"/>
+ <location/>
<source>&amp;Value:</source>
<translation>&amp;Значение:</translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Move String Up</source>
<translation>ПеремеÑтить Ñтроку вверх</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
<translation>Вверх</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move String Down</source>
<translation>ПеремеÑтить Ñтроку вниз</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
<translation> Вниз </translation>
</message>
@@ -4828,7 +4816,7 @@ Do you want overwrite the template?</source>
<translation>Выбрать предка</translation>
</message>
<message>
- <location line="+41"/>
+ <location line="+46"/>
<source>Lay out</source>
<translation>Компоновка</translation>
</message>
@@ -4860,7 +4848,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+364"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+365"/>
<source>Cu&amp;t</source>
<translation>&amp;Вырезать</translation>
</message>
@@ -5074,38 +5062,37 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::GridPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Grid</source>
<translation>Сетка</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Visible</source>
<translation>ВидимаÑ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Grid &amp;X</source>
<translation>Сетка &amp;X</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+57"/>
+ <location/>
<source>Snap</source>
<translation>Прилипать</translation>
</message>
<message>
- <location line="-48"/>
+ <location/>
<source>Reset</source>
<translation>СброÑить</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Grid &amp;Y</source>
<translation>Сетка &amp;Y</translation>
</message>
@@ -5227,53 +5214,53 @@ Do you want overwrite the template?</source>
<translation>СвойÑтва &amp;&lt;&lt;</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="+143"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>СвойÑтва &amp;&gt;&gt;</translation>
</message>
<message>
- <location line="-75"/>
+ <location/>
<source>Items List</source>
<translation>СпиÑок Ñлементов</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>New Item</source>
<translation>Ðовый Ñлемент</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
<translation>&amp;Ðовый</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
<translation>Удалить Ñлемент</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Up</source>
<translation>ПеремеÑтить Ñлемент вверх</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
<translation>ПеремеÑтить Ñлемент вниз</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
<translation>D</translation>
</message>
@@ -5380,43 +5367,42 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::NewActionDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui"/>
<source>New Action...</source>
<translation>Ðовое дейÑтвие...</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Text:</source>
<translation>&amp;ТекÑÑ‚:</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Object &amp;name:</source>
<translation>&amp;Ð˜Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Icon:</source>
<translation>&amp;Значок:</translation>
</message>
<message>
- <location line="+30"/>
+ <location/>
<source>Shortcut:</source>
<translation>ГорÑÑ‡Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ°:</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Checkable:</source>
<translation>Триггерное:</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>ToolTip:</source>
<translation>ПодÑказка:</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -5443,22 +5429,22 @@ Please select another name.</source>
Укажите другое имÑ.</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/>
<source>Create Dynamic Property</source>
<translation>Создание динамичеÑкого ÑвойÑтва</translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Name</source>
<translation>Ð˜Ð¼Ñ ÑвойÑтва</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>horizontalSpacer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Type</source>
<translation>Тип ÑвойÑтва</translation>
</message>
@@ -5522,27 +5508,27 @@ Please select another name.</source>
<translation>ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: Шаблон не выбран.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="+82"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Choose a template for a preview</source>
<translation>Выберите шаблон Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¿Ñ€Ð¾Ñмотра</translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Embedded Design</source>
<translation type="unfinished">Оформление портативных уÑтройÑтв</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Device:</source>
<translation>УÑтройÑтво:</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Screen Size:</source>
<translation>Размер Ñкрана:</translation>
</message>
@@ -5592,9 +5578,6 @@ Please select another name.</source>
<source>&amp;Find in Text...</source>
<translation>&amp;Ðайти в текÑте...</translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
<message>
<location line="-438"/>
<source>Change Current Page</source>
@@ -5614,22 +5597,22 @@ Please select another name.</source>
<translation>%1 %2</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/>
<source>Change Page Order</source>
<translation>Изменение порÑдка Ñтраниц</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Page Order</source>
<translation>ПорÑдок Ñтраниц</translation>
</message>
<message>
- <location line="+57"/>
+ <location/>
<source>Move page up</source>
<translation>ПеремеÑтить Ñтраницу выше</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move page down</source>
<translation>ПеремеÑтить Ñтраницу ниже</translation>
</message>
@@ -5637,47 +5620,47 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/>
<source>Edit Palette</source>
<translation>Правка палитры</translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tune Palette</source>
<translation>ÐаÑтройка палитры</translation>
</message>
<message>
- <location line="+37"/>
+ <location/>
<source>Show Details</source>
<translation type="unfinished">Показывать детали</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Compute Details</source>
<translation type="unfinished">РаÑчитывать детали</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Quick</source>
<translation type="unfinished">БыÑтрый</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Preview</source>
<translation>ПредпроÑмотр</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Disabled</source>
<translation>ВыключеннаÑ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Inactive</source>
<translation>ÐеактивнаÑ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Active</source>
<translation>ÐктивнаÑ</translation>
</message>
@@ -5813,9 +5796,6 @@ Please select another name.</source>
<source>Browse...</source>
<translation>Обзор...</translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
<message>
<location line="+118"/>
<source>Load Custom Device Skin</source>
@@ -5895,57 +5875,57 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PreviewWidget</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui"/>
<source>Preview Window</source>
<translation>Окно предпроÑмотра</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>LineEdit</source>
<translation>LineEdit</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>ComboBox</source>
<translation>ComboBox</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>PushButton</source>
<translation>PushButton</translation>
</message>
<message>
- <location line="+58"/>
+ <location/>
<source>ButtonGroup2</source>
<translation>ButtonGroup2</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>CheckBox1</source>
<translation>CheckBox1</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>CheckBox2</source>
<translation>CheckBox2</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>ButtonGroup</source>
<translation>ButtonGroup</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>RadioButton1</source>
<translation>RadioButton1</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton2</source>
<translation>RadioButton2</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>RadioButton3</source>
<translation>RadioButton3</translation>
</message>
@@ -6628,23 +6608,23 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="+97"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+218"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>СвойÑтва &amp;&gt;&gt;</translation>
</message>
<message>
- <location line="-44"/>
+ <location/>
<source>Edit Table Widget</source>
<translation>Правка табличного виджета</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Items</source>
<translation>&amp;Элементы</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Table Items</source>
<translation>Элементы таблицы</translation>
</message>
@@ -6690,18 +6670,17 @@ Class: %2</source>
<translation>Выберите каталог Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð²</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Additional Template Paths</source>
<translation>Дополнительные пути к шаблонам</translation>
</message>
<message>
- <location line="+9"/>
- <location line="+7"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -6803,13 +6782,13 @@ Class: %2</source>
<translation>Общие ÑвойÑтва</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+101"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+53"/>
<source>New Item</source>
<translation>Ðовый Ñлемент</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+19"/>
<source>New Subitem</source>
<translation>Ðовый дочерний Ñлемент</translation>
@@ -6820,88 +6799,88 @@ Class: %2</source>
<translation>СвойÑтва &amp;&lt;&lt;</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+86"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>СвойÑтва &amp;&gt;&gt;</translation>
</message>
<message>
- <location line="-144"/>
+ <location/>
<source>Edit Tree Widget</source>
- <translation type="unfinished">Изменение виджета Tree</translation>
+ <translation type="unfinished">Изменение виджета Дерево</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Items</source>
<translation>&amp;Элементы</translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tree Items</source>
<translation>Элементы дерева</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;New</source>
<translation>&amp;Ðовый</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>New &amp;Subitem</source>
<translation>Ðовый &amp;дочерний Ñлемент</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
<translation>Удалить Ñлемент</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Left (before Parent Item)</source>
<translation>ПеремеÑтить Ñлемент влево (перед родительÑким)</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>L</source>
<translation>L</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Right (as a First Subitem of the Next Sibling Item)</source>
<translation>ПеремеÑтить Ñлемент вправо (Ñделать первым дочерним Ñлементом ÑоÑеднего Ñлемента)</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>R</source>
<translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Up</source>
<translation>ПеремеÑтить Ñлемент вверх</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
<translation>ПеремеÑтить Ñлемент вниз</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
<translation>D</translation>
</message>
diff --git a/translations/linguist_de.ts b/translations/linguist_de.ts
index 101aa5b413..14095ba72f 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="+1358"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1366"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -286,7 +286,7 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<context>
<name>FormMultiWidget</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+296"/>
+ <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
<translation>Alt+Delete</translation>
@@ -317,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="+761"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+763"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation>
<numerusform>Es wurde ein Eintrag ohne Bezeichner gelöscht.</numerusform>
@@ -862,11 +862,6 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
</message>
<message>
<location/>
- <source>Display information about the Qt toolkit by Trolltech.</source>
- <translation>Informationen über das Qt-Toolkit von Trolltech anzeigen.</translation>
- </message>
- <message>
- <location/>
<source>&amp;What&apos;s This?</source>
<translation>&amp;Direkthilfe</translation>
</message>
@@ -914,13 +909,13 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<translation>Freigeben unter ...</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2005"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2013"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+188"/>
+ <location line="+190"/>
<source>Source text</source>
<translation>Ursprungstext</translation>
</message>
@@ -947,12 +942,12 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<translation>Dieser Bereich zeigt die Kontexte an.</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+13"/>
<source>Strings</source>
<translation>Zeichenketten</translation>
</message>
<message>
- <location line="+39"/>
+ <location line="+37"/>
<source>Phrases and guesses</source>
<translation>Wörterbuch und Vorschläge</translation>
</message>
@@ -973,7 +968,7 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<translation>Geändert</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+139"/>
<source>Loading...</source>
<translation>Lade ...</translation>
</message>
@@ -1010,7 +1005,7 @@ Soll die erstgenannte Datei übersprungen werden?</translation>
</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+94"/>
<source>Related files (%1);;</source>
<translation>Verwandte Dateien (%1);;</translation>
</message>
@@ -1390,7 +1385,7 @@ Alle Dateien (*)</translation>
<translation>Möchten Sie das Wörterbuch &apos;%1&apos; speichern?</translation>
</message>
<message>
- <location line="+323"/>
+ <location line="+349"/>
<source>All</source>
<translation>Alle</translation>
</message>
@@ -1411,7 +1406,7 @@ Alle Dateien (*)</translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-536"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-562"/>
<source>Translation File &amp;Settings...</source>
<translation>E&amp;instellungen ...</translation>
</message>
@@ -1495,6 +1490,11 @@ Alle Dateien (*)</translation>
<source>Length Variants</source>
<translation>Längenvarianten</translation>
</message>
+ <message>
+ <location/>
+ <source>Display information about the Qt toolkit by Nokia.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1535,12 +1535,12 @@ Alle Dateien (*)</translation>
<translation>Chinesisch</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
<translation>Dieser Bereich erlaubt die Darstellung und Änderung der Übersetzung eines Textes.</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+10"/>
<source>Source text</source>
<translation>Ursprungstext</translation>
</message>
@@ -1575,7 +1575,7 @@ Alle Dateien (*)</translation>
<translation>Hier können Sie Hinweise für den eigenen Gebrauch eintragen. Diese haben keinen Einflusse auf die Übersetzung.</translation>
</message>
<message>
- <location line="+232"/>
+ <location line="+234"/>
<source>%1 translation (%2)</source>
<translation>Ãœbersetzung %1 (%2)</translation>
</message>
@@ -1605,7 +1605,7 @@ Zeile: %2</translation>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+839"/>
<source>Completion status for %1</source>
<translation>Bearbeitungsstand von %1</translation>
</message>
@@ -1628,7 +1628,7 @@ Zeile: %2</translation>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-614"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-602"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1807,7 +1807,7 @@ Zeile: %2</translation>
<translation>Alle Dateien (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1127"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1134"/>
<location line="+27"/>
<location line="+67"/>
<location line="+39"/>
@@ -1843,7 +1843,7 @@ Zeile: %2</translation>
<translation>XLIFF-Ãœbersetzungsdateien</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qph.cpp" line="+183"/>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+195"/>
<source>Qt Linguist &apos;Phrase Book&apos;</source>
<translation>Qt-Linguist-Wörterbuch</translation>
</message>
@@ -1985,12 +1985,12 @@ Zeile: %2</translation>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+93"/>
<source>Any Country</source>
<translation>Land</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="-22"/>
<location line="+8"/>
<source>Settings for &apos;%1&apos; - Qt Linguist</source>
<translation>Einstellungen für &apos;%1&apos; - Qt Linguist</translation>
diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts
index 1749d48e63..3f26c49509 100644
--- a/translations/linguist_ru.ts
+++ b/translations/linguist_ru.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="+1366"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -12,52 +12,52 @@
<context>
<name>BatchTranslationDialog</name>
<message>
- <location filename="../tools/linguist/linguist/batchtranslation.ui" line="+54"/>
+ <location filename="../tools/linguist/linguist/batchtranslation.ui"/>
<source>Qt Linguist - Batch Translation</source>
<translation>Qt Linguist - Пакетный перевод</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Options</source>
<translation>Параметры</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Set translated entries to finished</source>
<translation>Помечать переведенные запиÑи как завершённые</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Retranslate entries with existing translation</source>
<translation>Переводить запиÑи, уже имеющие перевод</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Translate also finished entries</source>
<translation>Также переводить запиÑи Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ñ‹Ð¼Ð¸ переводами</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Phrase book preference</source>
- <translation>Предпочитаемые разговорники</translation>
+ <translation>Предпочитаемые глоÑÑарии</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Move up</source>
<translation>ПоднÑÑ‚ÑŒ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move down</source>
<translation>ОпуÑтить</translation>
</message>
<message>
- <location line="+58"/>
+ <location/>
<source>&amp;Run</source>
<translation>&amp;Выполнить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
@@ -91,14 +91,14 @@
</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/batchtranslation.ui" line="-126"/>
+ <location filename="../tools/linguist/linguist/batchtranslation.ui"/>
<source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked</source>
<translation>Имейте в виду, что изменённые запиÑи будут отмечены как незавершённые, еÑли не включен параметр &quot;Помечать переведенные запиÑи как завершённые&quot;</translation>
</message>
<message>
- <location line="+85"/>
+ <location/>
<source>The batch translator will search through the selected phrase books in the order given above</source>
- <translation>Пакетный переводчик будет иÑкать в выбранных разговорниках в указанном выше порÑдке</translation>
+ <translation>Пакетный переводчик будет иÑкать в выбранных глоÑÑариÑÑ… в указанном выше порÑдке</translation>
</message>
</context>
<context>
@@ -110,11 +110,17 @@
</message>
<message>
<location line="+4"/>
+ <location line="+8"/>
<source>&lt;p&gt;[more duplicates omitted]</source>
<translation>&lt;p&gt;[оÑтальные повторы не указаны]</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;* КонтекÑÑ‚: %1&lt;br&gt;* ИÑточник: %2</translation>
</message>
@@ -124,7 +130,7 @@
<translation>&lt;br&gt;* Комментарий: %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>Qt Linguist не знает правила множеÑтвенных форм Ð´Ð»Ñ &apos;%1&apos;.
@@ -161,7 +167,7 @@ Will assume a single universal form.</source>
<message>
<location line="+3"/>
<source>A phrase book suggestion for &apos;%1&apos; was ignored.</source>
- <translation>Предложение разговорника Ð´Ð»Ñ &apos;%1&apos; пропущено.</translation>
+ <translation>Предложение глоÑÑÐ°Ñ€Ð¸Ñ Ð´Ð»Ñ &apos;%1&apos; пропущено.</translation>
</message>
<message>
<location line="+3"/>
@@ -188,92 +194,92 @@ Will assume a single universal form.</source>
<translation></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/finddialog.ui" line="+60"/>
+ <location filename="../tools/linguist/linguist/finddialog.ui"/>
<source>Find</source>
<translation>ПоиÑк</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>This window allows you to search for some text in the translation source file.</source>
<translation>Данное окно позволÑет иÑкать текÑÑ‚ в файле перевода.</translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>&amp;Find what:</source>
<translation>&amp;ИÑкать:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Type in the text to search for.</source>
<translation>Введите иÑкомый текÑÑ‚.</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Options</source>
<translation>Параметры</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Source texts are searched when checked.</source>
<translation>ЕÑли отмечено, поиÑк будет веÑтиÑÑŒ в иÑходных текÑтах.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Source texts</source>
<translation>&amp;ИÑходные текÑÑ‚Ñ‹</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Translations are searched when checked.</source>
<translation>ЕÑли отмечено, поиÑк будет веÑтиÑÑŒ в переведённых текÑтах.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Translations</source>
<translation>&amp;Переводы</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
<translation>ЕÑли отмечено, Ñтроки &quot;ПрИмЕр&quot; и &quot;пример&quot; будет ÑчитатьÑÑ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Match case</source>
<translation>С учётом &amp;региÑтра</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Comments and contexts are searched when checked.</source>
<translation>ЕÑли отмечено, поиÑк будет веÑтиÑÑŒ по контекÑтам и комментариÑм.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Comments</source>
<translation>&amp;Комментарии</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Ignore &amp;accelerators</source>
<translation>ПропуÑкать &amp;акÑелераторы</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
<translation>Ðайти Ñледующее Ñовпадение Ð´Ð»Ñ Ð²Ð²ÐµÐ´Ñ‘Ð½Ð½Ð¾Ð³Ð¾ текÑта.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Find Next</source>
<translation>Ðайти далее</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Click here to close this window.</source>
<translation>Закрыть окно.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
@@ -281,7 +287,7 @@ Will assume a single universal form.</source>
<context>
<name>FormMultiWidget</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+296"/>
+ <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
<translation type="unfinished"></translation>
@@ -306,23 +312,27 @@ Will assume a single universal form.</source>
<message>
<location line="+1"/>
<source>Delete non-empty length variant?</source>
- <translation type="unfinished"></translation>
+ <translation>Удалить непуÑтой вариант длины?</translation>
</message>
</context>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+747"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+763"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation type="unfinished">
- <numerusform></numerusform>
+ <numerusform>Удалено %n Ñообщение, у которого не было ID.</numerusform>
+ <numerusform>Удалено %n ÑообщениÑ, у которых не было ID.</numerusform>
+ <numerusform>Удалено %n Ñообщений, у которых не было ID.</numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+4"/>
<source>Excess context/disambiguation dropped from %n message(s).</source>
<translation type="unfinished">
- <numerusform></numerusform>
+ <numerusform>Удалён лишний контекÑÑ‚ из %n ÑообщениÑ.</numerusform>
+ <numerusform>Удалён лишний контекÑÑ‚ из %n Ñообщений.</numerusform>
+ <numerusform>Удалён лишний контекÑÑ‚ из %n Ñообщений.</numerusform>
</translation>
</message>
<message numerus="yes">
@@ -355,14 +365,14 @@ Will assume a single universal form.</source>
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1315"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1324"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translatorcomment>ОÑновное окно программы.</translatorcomment>
<translation></translation>
</message>
<message>
- <location line="+158"/>
+ <location line="+160"/>
<source>Source text</source>
<translation>ИÑходный текÑÑ‚</translation>
</message>
@@ -374,27 +384,27 @@ Will assume a single universal form.</source>
</message>
<message>
<location line="-2"/>
- <location line="+62"/>
+ <location line="+63"/>
<source>Context</source>
<translation>КонтекÑÑ‚</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-62"/>
<source>Items</source>
<translation>ЗапиÑи</translation>
</message>
<message>
- <location line="+78"/>
+ <location line="+79"/>
<source>This panel lists the source contexts.</source>
<translation>Ð’ данной панели перечиÑлены иÑходные контекÑÑ‚Ñ‹.</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+13"/>
<source>Strings</source>
<translation>Строки</translation>
</message>
<message>
- <location line="+39"/>
+ <location line="+37"/>
<source>Phrases and guesses</source>
<translation>Фразы и похожие переводы</translation>
</message>
@@ -415,7 +425,7 @@ Will assume a single universal form.</source>
<translation> ИЗМ </translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+139"/>
<source>Loading...</source>
<translation>Загрузка...</translation>
</message>
@@ -453,7 +463,7 @@ Skip loading the first named file?</source>
</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+94"/>
<source>Related files (%1);;</source>
<translation>СвÑзанные файлы (%1);;</translation>
</message>
@@ -469,7 +479,7 @@ Skip loading the first named file?</source>
<translation>Файл Ñохранён.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="+247"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+15"/>
<location line="+1165"/>
<source>Release</source>
@@ -586,29 +596,29 @@ All files (*)</source>
<message>
<location line="+30"/>
<source>Create New Phrase Book</source>
- <translation>Создать разговорник</translation>
+ <translation>Создать глоÑÑарий</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph)
All files (*)</source>
- <translation>Разговорники Qt (*.qph)
+ <translation>ГлоÑÑарии Qt (*.qph)
Ð’Ñе файлы (*)</translation>
</message>
<message>
<location line="+11"/>
<source>Phrase book created.</source>
- <translation>Разговорник Ñоздан.</translation>
+ <translation>ГлоÑÑарий Ñоздан.</translation>
</message>
<message>
<location line="+17"/>
<source>Open Phrase Book</source>
- <translation>Открыть разговорник</translation>
+ <translation>Открыть глоÑÑарий</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph);;All files (*)</source>
- <translation>Разговорники Qt (*.qph);;Ð’Ñе файлы (*)</translation>
+ <translation>ГлоÑÑарии Qt (*.qph);;Ð’Ñе файлы (*)</translation>
</message>
<message numerus="yes">
<location line="+7"/>
@@ -624,22 +634,22 @@ All files (*)</source>
<location line="+3"/>
<location line="+7"/>
<source>Add to phrase book</source>
- <translation>Добавить в разговорник</translation>
+ <translation>Добавить в глоÑÑарий</translation>
</message>
<message>
<location line="-9"/>
<source>No appropriate phrasebook found.</source>
- <translation>ПодходÑщий разговорник не найден.</translation>
+ <translation>ПодходÑщий глоÑÑарий не найден.</translation>
</message>
<message>
<location line="+3"/>
<source>Adding entry to phrasebook %1</source>
- <translation>Добавление запиÑи в разговорник %1</translation>
+ <translation>Добавление запиÑи в глоÑÑарий %1</translation>
</message>
<message>
<location line="+7"/>
<source>Select phrase book to add to</source>
- <translation>Выберите разговорник, в который желаете добавить фразу</translation>
+ <translation>Выберите глоÑÑарий, в который желаете добавить фразу</translation>
</message>
<message>
<location line="+29"/>
@@ -739,15 +749,14 @@ All files (*)</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="-11"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="-14"/>
<location line="+11"/>
<source>Save &amp;As...</source>
<translation>Сохранить &amp;как...</translation>
</message>
<message>
- <location line="+508"/>
- <location line="+3"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="-9"/>
<location line="+10"/>
<source>Release As...</source>
@@ -765,7 +774,7 @@ All files (*)</source>
<translation>Сохранить вÑе</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="+118"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>&amp;Release All</source>
<translation>С&amp;компилировать вÑе</translation>
@@ -796,13 +805,13 @@ All files (*)</source>
<translation>&amp;Ðайти и перевеÑти в &apos;%1&apos;...</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="-32"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+2"/>
<source>Translation File &amp;Settings...</source>
<translation>&amp;Параметры файла перевода...</translation>
</message>
<message>
- <location line="-100"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>&amp;Batch Translation...</source>
<translation>Пак&amp;етный перевод...</translation>
@@ -813,31 +822,31 @@ All files (*)</source>
<translation>&amp;Ðайти и перевеÑти...</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="+28"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+51"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+7"/>
<source>Edit</source>
<translation>Правка</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+6"/>
<source>Translation</source>
<translation>Перевод</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+6"/>
<source>Validation</source>
<translation>Проверка</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+7"/>
<source>Help</source>
<translation>Справка</translation>
@@ -845,658 +854,655 @@ All files (*)</source>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+84"/>
<source>Cannot read from phrase book &apos;%1&apos;.</source>
- <translation>Ðе удалоÑÑŒ прочитать из разговорника &apos;%1&apos;.</translation>
+ <translation>Ðе удалоÑÑŒ прочитать из глоÑÑÐ°Ñ€Ð¸Ñ &apos;%1&apos;.</translation>
</message>
<message>
<location line="+15"/>
<source>Close this phrase book.</source>
- <translation>Закрыть разговорник.</translation>
+ <translation>Закрыть глоÑÑарий.</translation>
</message>
<message>
<location line="+4"/>
<source>Enables you to add, modify, or delete entries in this phrase book.</source>
- <translation>ПозволÑет добавлÑÑ‚ÑŒ, изменÑÑ‚ÑŒ и удалÑÑ‚ÑŒ запиÑи в разговорнике.</translation>
+ <translation>ПозволÑет добавлÑÑ‚ÑŒ, изменÑÑ‚ÑŒ и удалÑÑ‚ÑŒ запиÑи в глоÑÑарии.</translation>
</message>
<message>
<location line="+5"/>
<source>Print the entries in this phrase book.</source>
- <translation>Печать запиÑей фраз разговорника.</translation>
+ <translation>Печать запиÑей фраз глоÑÑариÑ.</translation>
</message>
<message>
<location line="+16"/>
<source>Cannot create phrase book &apos;%1&apos;.</source>
- <translation>Ðе удалоÑÑŒ Ñоздать разговорник &apos;%1&apos;.</translation>
+ <translation>Ðе удалоÑÑŒ Ñоздать глоÑÑарий &apos;%1&apos;.</translation>
</message>
<message>
<location line="+10"/>
<source>Do you want to save phrase book &apos;%1&apos;?</source>
- <translation>Желаете Ñохранить разговорник &apos;%1&apos;?</translation>
+ <translation>Желаете Ñохранить глоÑÑарий &apos;%1&apos;?</translation>
</message>
<message>
- <location line="+323"/>
+ <location line="+349"/>
<source>All</source>
<translation>Ð’Ñе</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.ui" line="-751"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>MainWindow</source>
<translation>Главное окно</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Phrases</source>
<translation>Фра&amp;зы</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>&amp;Close Phrase Book</source>
- <translation>&amp;Закрыть разговорник</translation>
+ <translation>&amp;Закрыть глоÑÑарий</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Edit Phrase Book</source>
- <translation>&amp;Редактироваь разговорник</translation>
+ <translation>&amp;Редактироваь глоÑÑарий</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Print Phrase Book</source>
- <translation>&amp;Печатать разговорник</translation>
+ <translation>&amp;Печатать глоÑÑарий</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>V&amp;alidation</source>
<translation>П&amp;роверка</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>&amp;View</source>
<translation>&amp;Вид</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Vie&amp;ws</source>
<translation>Вид&amp;ы</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Toolbars</source>
<translation>Пан&amp;ели инÑтрументов</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Help</source>
<translation>&amp;Справка</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>&amp;Translation</source>
<translation>П&amp;еревод</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Recently Opened &amp;Files</source>
<translation>Ðедавно открытые &amp;файлы</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>&amp;Edit</source>
<translation>&amp;Правка</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>&amp;Open...</source>
<translation>&amp;Открыть...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Open a Qt translation source file (TS file) for editing</source>
<translation>Открыть иÑходный файл переводов Qt (файл TS) Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>E&amp;xit</source>
<translation>В&amp;ыход</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Close this window and exit.</source>
<translation>Закрыть окно и выйти.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Save</source>
<translation>Сохранить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Save changes made to this Qt translation source file</source>
<translation>Сохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² данном иÑходном файле перевода Qt</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Save As...</source>
<translation>Сохранить как...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Save changes made to this Qt translation source file into a new file.</source>
<translation>Сохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² данном иÑходном файле перевода Qt в новый файл.</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Create a Qt message file suitable for released applications from the current message file.</source>
<translation>Скомпилировать файл перевода Qt из текущего файла.</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Print...</source>
<translation>&amp;Печать...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Print a list of all the translation units in the current translation source file.</source>
<translation>Печать ÑпиÑка вÑех запиÑей перевода из текущего файла.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Undo</source>
<translation>&amp;Отменить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Undo the last editing operation performed on the current translation.</source>
<translation>Отменить поÑледнее изменение текущего перевода.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Redo</source>
<translation>&amp;Повторить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Redo an undone editing operation performed on the translation.</source>
<translation>Повторить отменённую правку перевода.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>Cu&amp;t</source>
<translation>Выр&amp;езать</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Copy the selected translation text to the clipboard and deletes it.</source>
<translation>Скопировать отмеченный текÑÑ‚ в буфер обмена и удалить его из оригинала.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Copy</source>
<translation>&amp;Копировать</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Copy the selected translation text to the clipboard.</source>
<translation>Скопировать отмеченный текÑÑ‚ в буфер обмена.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Paste</source>
<translation>&amp;Ð’Ñтавить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Paste the clipboard text into the translation.</source>
<translation>Ð’Ñтавить текÑÑ‚ из буфера обмена в перевод.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+V</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>Select &amp;All</source>
<translation>Ð’&amp;ыделить вÑÑ‘</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Select the whole translation text.</source>
<translation>Выделить веÑÑŒ текÑÑ‚ перевода.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Find...</source>
<translation>&amp;Ðайти...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Search for some text in the translation source file.</source>
<translation>Ðайти текÑÑ‚ в иÑходном файле перевода.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>Find &amp;Next</source>
<translation>Ðайти д&amp;алее</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Continue the search where it was left.</source>
<translation>Продолжить поиÑк Ñ Ð¼ÐµÑта, где он был оÑтановлен.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>F3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Prev Unfinished</source>
<translation>&amp;Предыдущий незавершённый</translation>
</message>
<message>
- <location line="+348"/>
+ <location/>
<source>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file.</source>
<translation>Создание готового файла перевода Qt из текущего файла. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° будет автоматичеÑки определено из имени .ts файла.</translation>
</message>
<message>
- <location line="+136"/>
+ <location/>
<source>Length Variants</source>
- <translation type="unfinished"></translation>
+ <translation>Варианты длины</translation>
</message>
<message>
- <location line="-478"/>
+ <location/>
<source>Move to the previous unfinished item.</source>
<translation>Перейти к предыдущему незавершённому переводу.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+K</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Next Unfinished</source>
<translation>&amp;Следующий незавершённый</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Move to the next unfinished item.</source>
<translation>Перейти к Ñледующему незавершённому переводу.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+J</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>P&amp;rev</source>
<translation>Пр&amp;едыдущий</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Move to the previous item.</source>
<translation>Перейти к предыдущему переводу.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+Shift+K</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Ne&amp;xt</source>
<translation>С&amp;ледующий</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Move to the next item.</source>
<translation>Перейти к Ñледующему переводу.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+Shift+J</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Done and Next</source>
<translation>&amp;Готово и далее</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Mark this item as done and move to the next unfinished item.</source>
<translation>Пометить перевод как завершённый и перейти к Ñледующему незавершённому.</translation>
</message>
<message>
- <location line="+11"/>
- <location line="+3"/>
+ <location/>
<source>Copy from source text</source>
<translation>Скопировать из иÑходного текÑта</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Copies the source text into the translation field.</source>
<translation>Скопировать иÑходный текÑÑ‚ в поле перевода.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Accelerators</source>
<translation>&amp;ÐкÑелераторы</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window.</source>
<translation>Переключение проверки акÑелераторов, Ñ‚.е. Ñовпадает ли количеÑтво амперÑандов в иÑходном и переведённом текÑтах. ЕÑли выÑвлено неÑовпадение, будет показано Ñообщение в окне предупреждений.</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Ending Punctuation</source>
<translation>&amp;Знаки препинаниÑ</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source>
<translation>Переключение проверки знаков Ð¿Ñ€ÐµÐ¿Ð¸Ð½Ð°Ð½Ð¸Ñ Ð² конце текÑта. ЕÑли выÑвлено неÑовпадение, будет показано Ñообщение в окне предупреждений.</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Phrase matches</source>
<translation>Совпадение &amp;фраз</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window.</source>
<translation>Переключение проверки иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Ð´Ð»Ñ Ñ„Ñ€Ð°Ð·. ЕÑли выÑвлено неÑовпадение, будет показано Ñообщение в окне предупреждений.</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>Place &amp;Marker Matches</source>
<translation>Совпадение &amp;маркеров</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window.</source>
<translation>Переключение проверки маркеров форматированиÑ, Ñ‚.е. вÑе ли маркеры (%1, %2, ...) иÑходного текÑта приÑутÑтвуют в переведённом. ЕÑли выÑвлено неÑовпадение, будет показано Ñообщение в окне предупреждений.</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;New Phrase Book...</source>
- <translation>&amp;Ðовый разговорник...</translation>
+ <translation>&amp;Ðовый глоÑÑарий...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Create a new phrase book.</source>
- <translation>Создать разговорник.</translation>
+ <translation>Создать глоÑÑарий.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Open Phrase Book...</source>
- <translation>&amp;Открыть разговорник...</translation>
+ <translation>&amp;Открыть глоÑÑарий...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Open a phrase book to assist translation.</source>
- <translation>Открыть разговорник Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ в переводе.</translation>
+ <translation>Открыть глоÑÑарий Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ в переводе.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+H</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Reset Sorting</source>
<translation>&amp;Ð¡Ð±Ñ€Ð¾Ñ Ñортировки</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Sort the items back in the same order as in the message file.</source>
<translation>УпорÑдочить Ñлементы в той поÑледовательноÑти, в которой они находÑÑ‚ÑÑ Ð² файле.</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Display guesses</source>
<translation>&amp;Предлагать похожие</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Set whether or not to display translation guesses.</source>
<translation>ОпределÑет необходимо или нет отображать похожие переводы.</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Statistics</source>
<translation>&amp;СтатиÑтика</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Display translation statistics.</source>
<translation>Показать ÑтатиÑтику перевода.</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Manual</source>
<translation>&amp;РуководÑтво</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>About Qt Linguist</source>
<translation>О Qt Linguist</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>About Qt</source>
<translation>О Qt</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Display information about the Qt toolkit by Trolltech.</source>
<translation>Показать информацию об инÑтрументарии Qt от Nokia.</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;What&apos;s This?</source>
<translation>&amp;Что Ñто?</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+3"/>
+ <location/>
<source>What&apos;s This?</source>
<translation>Что Ñто?</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Enter What&apos;s This? mode.</source>
<translation>Переход в режим &quot;Что Ñто?&quot;.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Shift+F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Search And Translate...</source>
<translation>&amp;Ðайти и перевеÑти...</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Replace the translation on all entries that matches the search source text.</source>
<translation>Заменить перевод вÑех запиÑей, которые Ñовпадают Ñ Ð¸Ñкомым иÑходным текÑтом.</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Batch translate all entries using the information in the phrase books.</source>
- <translation>ПеревеÑти вÑе запиÑи в пакетном режиме, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ из разговорника.</translation>
+ <translation>ПеревеÑти вÑе запиÑи в пакетном режиме, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ из глоÑÑариÑ.</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
<source>Open/Refresh Form &amp;Preview</source>
<translation>Открыть/обновить предпроÑ&amp;мотр формы</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+3"/>
+ <location/>
<source>Form Preview Tool</source>
<translation>ИнÑтрумент предпроÑмотра форм</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>&amp;Add to Phrase Book</source>
- <translation>&amp;Добавить в разговорник</translation>
+ <translation>&amp;Добавить в глоÑÑарий</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Open Read-O&amp;nly...</source>
<translation>Открыть только Ð´Ð»Ñ &amp;чтениÑ...</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Save All</source>
<translation>&amp;Сохранить вÑе</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>&amp;Close All</source>
<translation>&amp;Закрыть вÑе</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-473"/>
+ <location/>
<source>Previous unfinished item</source>
<translation>Предыдущий незавершённый перевод</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Next unfinished item</source>
<translation>Следующий незавершённый перевод</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Move to previous item</source>
<translation>Перейти к предыдущему переводу</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Next item</source>
<translation>Следующий перевод</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Mark item as done and move to the next unfinished item</source>
<translation>Пометить перевод как завершённый и перейти к Ñледующему незавершённому</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Copies the source text into the translation field</source>
<translation>Скопировать иÑходный текÑÑ‚ в поле перевода</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Toggle the validity check of accelerators</source>
<translation>Переключение проверки акÑелераторов</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Toggle the validity check of ending punctuation</source>
<translation>Переключение проверки знаков Ð¿Ñ€ÐµÐ¿Ð¸Ð½Ð°Ð½Ð¸Ñ Ð² конце текÑта</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Toggle checking that phrase suggestions are used</source>
<translation>Переключение проверки иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Ð´Ð»Ñ Ñ„Ñ€Ð°Ð·</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Toggle the validity check of place markers</source>
<translation>Переключение проверки маркеров форматированиÑ</translation>
</message>
@@ -1541,12 +1547,12 @@ All files (*)</source>
<translation>КитайÑкий</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
<translation>Ð”Ð°Ð½Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ позволÑет проÑматривать и редактировать перевод иÑходного текÑта.</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+10"/>
<source>Source text</source>
<translation>ИÑходный текÑÑ‚</translation>
</message>
@@ -1581,7 +1587,7 @@ All files (*)</source>
<translation>ЗдеÑÑŒ вы можете оÑтавить комментарий Ð´Ð»Ñ ÑобÑтвенного иÑпользованиÑ. Комментарии не влиÑÑŽÑ‚ на перевод приложений.</translation>
</message>
<message>
- <location line="+232"/>
+ <location line="+234"/>
<source>%1 translation (%2)</source>
<translation>%1 перевод (%2)</translation>
</message>
@@ -1611,7 +1617,7 @@ Line: %2</source>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+839"/>
<source>Completion status for %1</source>
<translation>СоÑтоÑние завершённоÑти Ð´Ð»Ñ %1</translation>
</message>
@@ -1657,90 +1663,90 @@ Line: %2</source>
<message>
<location line="+1"/>
<source>Cannot save phrase book &apos;%1&apos;.</source>
- <translation>Ðе удалоÑÑŒ Ñохранить разговорник &apos;%1&apos;.</translation>
+ <translation>Ðе удалоÑÑŒ Ñохранить глоÑÑарий &apos;%1&apos;.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.ui" line="+54"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.ui"/>
<source>Edit Phrase Book</source>
- <translation>Правка разговорника</translation>
+ <translation>Правка глоÑÑариÑ</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>This window allows you to add, modify, or delete entries in a phrase book.</source>
- <translation>Данное окно позволÑет добавлÑÑ‚ÑŒ, изменÑÑ‚ÑŒ и удалÑÑ‚ÑŒ запиÑи в разговорнике.</translation>
+ <translation>Данное окно позволÑет добавлÑÑ‚ÑŒ, изменÑÑ‚ÑŒ и удалÑÑ‚ÑŒ запиÑи в глоÑÑарии.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Translation:</source>
<translation>&amp;Перевод:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>This is the phrase in the target language corresponding to the source phrase.</source>
<translation>Перевод, ÑоответÑтвующий иÑходной фразе.</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>S&amp;ource phrase:</source>
<translation>&amp;ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñ„Ñ€Ð°Ð·Ð°:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>This is a definition for the source phrase.</source>
<translation>Определение иÑходной фразы.</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>This is the phrase in the source language.</source>
<translation>Фраза на иÑходном Ñзыке.</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>&amp;Definition:</source>
<translation>&amp;Определение:</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Click here to add the phrase to the phrase book.</source>
- <translation>Добавить фразу в разговорник.</translation>
+ <translation>Добавить фразу в глоÑÑарий.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New Entry</source>
<translation>ÐÐ¾Ð²Ð°Ñ &amp;запиÑÑŒ</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Click here to remove the entry from the phrase book.</source>
- <translation>Удалить фразу из разговорника.</translation>
+ <translation>Удалить фразу из глоÑÑариÑ.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Remove Entry</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Settin&amp;gs...</source>
<translation>&amp;ÐаÑтройки...</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Click here to save the changes made.</source>
<translation>Сохранить изменениÑ.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Save</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Click here to close this window.</source>
<translation>Закрыть окно.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
@@ -1789,7 +1795,7 @@ Line: %2</source>
<context>
<name>QObject</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1816"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1842"/>
<source>Translation files (%1);;</source>
<translation>Файлы перевода (%1);;</translation>
</message>
@@ -1799,8 +1805,8 @@ Line: %2</source>
<translation>Ð’Ñе файлы (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
- <location line="+18"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1134"/>
+ <location line="+27"/>
<location line="+67"/>
<location line="+39"/>
<location line="+17"/>
@@ -1820,9 +1826,9 @@ Line: %2</source>
<translation>Скомпилированные переводы Qt</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qph.cpp" line="+183"/>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+195"/>
<source>Qt Linguist &apos;Phrase Book&apos;</source>
- <translation>&apos;Разговорник&apos; Qt Linguist</translation>
+ <translation>&apos;ГлоÑÑарий&apos; Qt Linguist</translation>
</message>
<message>
<location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
@@ -1866,47 +1872,42 @@ Line: %2</source>
<context>
<name>Statistics</name>
<message>
- <location filename="../tools/linguist/linguist/statistics.ui" line="+54"/>
+ <location filename="../tools/linguist/linguist/statistics.ui"/>
<source>Statistics</source>
<translation>СтатиÑтика</translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
- <location line="+34"/>
+ <location/>
<source>Translation</source>
<translation>Перевод</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Source</source>
<translation>ИÑточник</translation>
</message>
<message>
- <location line="+7"/>
- <location line="+7"/>
- <location line="+14"/>
- <location line="+7"/>
- <location line="+21"/>
- <location line="+7"/>
+ <location/>
<source>0</source>
<translation>0</translation>
</message>
<message>
- <location line="-42"/>
+ <location/>
<source>Words:</source>
<translation>Слов:</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Characters:</source>
<translation>Символов:</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Characters (with spaces):</source>
<translation>Символов (Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð°Ð¼Ð¸):</translation>
</message>
@@ -1914,73 +1915,72 @@ Line: %2</source>
<context>
<name>TranslateDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translatedialog.ui" line="+60"/>
+ <location filename="../tools/linguist/linguist/translatedialog.ui"/>
<source>This window allows you to search for some text in the translation source file.</source>
<translation>Данное окно позволÑет иÑкать текÑÑ‚ в файле перевода.</translation>
</message>
<message>
- <location line="+28"/>
- <location line="+27"/>
+ <location/>
<source>Type in the text to search for.</source>
<translation>Введите иÑкомый текÑÑ‚.</translation>
</message>
<message>
- <location line="-20"/>
+ <location/>
<source>Find &amp;source text:</source>
<translation>&amp;Ðайти текÑÑ‚:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Translate to:</source>
<translation>&amp;ПеревеÑти как:</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Search options</source>
<translation>Параметры поиÑка</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
<translation>ЕÑли отмечено, Ñтроки &quot;ПрИмЕр&quot; и &quot;пример&quot; будет ÑчитатьÑÑ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Match &amp;case</source>
<translation>С учётом &amp;региÑтра</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Mark new translation as &amp;finished</source>
<translation>Помечать перевод как завер&amp;шённый</translation>
</message>
<message>
- <location line="+33"/>
+ <location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
<translation>Ðайти Ñледующее Ñовпадение Ð´Ð»Ñ Ð²Ð²ÐµÐ´Ñ‘Ð½Ð½Ð¾Ð³Ð¾ текÑта.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Find Next</source>
<translation>Ðайти далее</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Translate</source>
<translation>ПеревеÑти</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Translate All</source>
<translation>ПеревеÑти вÑе</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Click here to close this window.</source>
<translation>Закрыть окно.</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
@@ -1988,34 +1988,32 @@ Line: %2</source>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettings.ui" line="+20"/>
+ <location filename="../tools/linguist/linguist/translationsettings.ui"/>
<source>Source language</source>
<translation>ИÑходный Ñзык</translation>
</message>
<message>
- <location line="+15"/>
- <location line="+38"/>
+ <location/>
<source>Language</source>
<translation>Язык</translation>
</message>
<message>
- <location line="-25"/>
- <location line="+38"/>
+ <location/>
<source>Country/Region</source>
<translation>Страна/Регион</translation>
</message>
<message>
- <location line="-28"/>
+ <location/>
<source>Target language</source>
<translation>Язык перевода</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+93"/>
<source>Any Country</source>
<translation>Ð›ÑŽÐ±Ð°Ñ Ñтрана</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="-22"/>
<location line="+8"/>
<source>Settings for &apos;%1&apos; - Qt Linguist</source>
<translation>ÐаÑтройки Ð´Ð»Ñ &apos;%1&apos; - Qt Linguist</translation>
diff --git a/translations/qt_da.ts b/translations/qt_da.ts
index 6267bb212a..515ed5000b 100644
--- a/translations/qt_da.ts
+++ b/translations/qt_da.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="da_DK">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Tjenester</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Skjul %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Skjul andre</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Vis alle</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 6447451912..21087745c0 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -2,9 +2,32 @@
<!DOCTYPE TS>
<TS version="2.0" language="de">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Dienste</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>%1 ausblenden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Andere ausblenden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Alle anzeigen</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2264"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2266"/>
<source>Close Tab</source>
<translation>Schließen</translation>
</message>
@@ -372,6 +395,7 @@ Bitte überprüfen Sie Ihre GStreamer-Installation und stellen Sie sicher, dass
<message>
<location line="+6"/>
<source>Decay time (ms)</source>
+ <extracomment>DecayTime: Time over which reverberation is diminished.</extracomment>
<translation>Abklingzeit (ms)</translation>
</message>
<message>
@@ -548,7 +572,7 @@ Bitte überprüfen Sie Ihre GStreamer-Installation und stellen Sie sicher, dass
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+827"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+835"/>
<source>Copy or Move a File</source>
<translation>Datei kopieren oder verschieben</translation>
</message>
@@ -1212,7 +1236,7 @@ nach
<translation>Diese Socket-Operation wird nicht unterstützt</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+585"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+586"/>
<location filename="../src/network/socket/qabstractsocket.cpp" line="+200"/>
<source>Socket operation timed out</source>
<translation>Das Zeitlimit für die Operation wurde überschritten</translation>
@@ -1257,7 +1281,7 @@ nach
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2287"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2309"/>
<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>
@@ -1327,7 +1351,7 @@ nach
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1356"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1355"/>
<source>Hu&amp;e:</source>
<translation>Farb&amp;ton:</translation>
</message>
@@ -1367,7 +1391,7 @@ nach
<translation>Farbauswahl</translation>
</message>
<message>
- <location line="+184"/>
+ <location line="+183"/>
<source>&amp;Basic colors</source>
<translation>Grundfar&amp;ben</translation>
</message>
@@ -1567,7 +1591,7 @@ nach
<message>
<location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1876"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+650"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+648"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1818,7 +1842,7 @@ nach
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+557"/>
<location line="+471"/>
<source>All Files (*)</source>
<translation>Alle Dateien (*)</translation>
@@ -1906,7 +1930,7 @@ nach
<translation>Verzeichnisse</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+174"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+148"/>
<source>All Files (*.*)</source>
<translation>Alle Dateien (*.*)</translation>
</message>
@@ -2059,7 +2083,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+740"/>
<location filename="../src/gui/itemviews/qdirmodel.cpp" line="+476"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
@@ -2088,7 +2112,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>%1 Byte</translation>
</message>
<message>
- <location line="+77"/>
+ <location line="+89"/>
<source>Invalid filename</source>
<translation>Ungültiger Dateiname</translation>
</message>
@@ -2125,7 +2149,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Änderungsdatum</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+258"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+261"/>
<source>My Computer</source>
<translation>Mein Computer</translation>
</message>
@@ -2558,17 +2582,30 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+270"/>
+ <source>Unable to play %1</source>
+ <translation>%1 kann nicht abgespielt werden</translation>
+ </message>
+</context>
+<context>
<name>QHostInfo</name>
<message>
<location filename="../src/network/kernel/qhostinfo_p.h" line="+101"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
+ <message>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+168"/>
+ <source>No host name given</source>
+ <translation>Es wurde kein Hostname angegeben</translation>
+ </message>
</context>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+259"/>
<location line="+32"/>
<location filename="../src/network/kernel/qhostinfo_win.cpp" line="+216"/>
<location line="+27"/>
@@ -2591,12 +2628,14 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Unbekannter Fehler</translation>
</message>
<message>
+ <location line="-98"/>
<location filename="../src/network/kernel/qhostinfo_win.cpp" line="-67"/>
<source>No host name given</source>
<translation>Es wurde kein Hostname angegeben</translation>
</message>
<message>
- <location line="+0"/>
+ <location line="+1"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+0"/>
<source>Invalid hostname</source>
<translation>Ungültiger Rechnername</translation>
</message>
@@ -2919,7 +2958,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2096"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2094"/>
<source>Permission denied</source>
<translation>Zugriff verweigert</translation>
</message>
@@ -3003,7 +3042,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="+345"/>
+ <location line="+361"/>
<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>
@@ -3055,7 +3094,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2112"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2104"/>
<source>Select All</source>
<translation>Alles auswählen</translation>
</message>
@@ -3132,7 +3171,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
- <location line="+45"/>
+ <location line="+59"/>
<source>%1: Invalid name</source>
<translation>%1: Ungültiger Name</translation>
</message>
@@ -3163,7 +3202,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-64"/>
<source>%1: Connection error</source>
<translation>%1: Verbindungsfehler</translation>
</message>
@@ -3376,6 +3415,39 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/playback/qmediaplayer.cpp" line="+471"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation>Das QMediaPlayer-Objekt verfügt über keinen gültigen Dienst</translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/base/qmediaplaylist.cpp" line="+454"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation>Es konnten keine Einträge zur Wiedergabeliste hinzugefügt werden, da sie schreibgeschützt ist.</translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation>Das Format der Wiedergabeliste ist nicht unterstützt</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation>Auf die Datei konnte nicht zugegriffen werden.</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation>Das Format der Wiedergabeliste ist nicht unterstützt.</translation>
+ </message>
+</context>
+<context>
<name>QMenu</name>
<message>
<location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
@@ -3470,7 +3542,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+209"/>
<source>The remote host closed the connection</source>
<translation>Der entfernte Rechner hat die Verbindung geschlossen</translation>
</message>
@@ -3609,12 +3681,35 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
+ <name>QNetworkAccessDataBackend</name>
+ <message>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+76"/>
+ <source>Operation not supported on %1</source>
+ <translation>Diese Operation wird von %1 nicht unterstützt</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Invalid URI: %1</source>
+ <translation>Ungültiger URI: %1</translation>
+ </message>
+</context>
+<context>
<name>QNetworkAccessDebugPipeBackend</name>
<message>
<location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+195"/>
<source>Write error writing to %1: %2</source>
<translation>Fehler beim Schreiben zu %1: %2</translation>
</message>
+ <message>
+ <location line="+60"/>
+ <source>Socket error on %1: %2</source>
+ <translation>Socket-Fehler bei %1: %2</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>Der entfernte Rechner hat die Verbindung zu %1 vorzeitig beendet</translation>
+ </message>
</context>
<context>
<name>QNetworkAccessFileBackend</name>
@@ -3678,37 +3773,106 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+599"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+645"/>
<source>No suitable proxy found</source>
<translation>Es konnte kein geeigneter Proxy-Server gefunden werden</translation>
</message>
</context>
<context>
+ <name>QNetworkAccessManager</name>
+ <message>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+862"/>
+ <source>Network access is disabled.</source>
+ <translation>Der Zugriff auf das Netzwerk ist nicht gestattet.</translation>
+ </message>
+</context>
+<context>
<name>QNetworkReply</name>
<message>
- <location line="+101"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+101"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+80"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-780"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Das Protokoll &quot;%1&quot; ist unbekannt</translation>
</message>
+ <message>
+ <location line="+486"/>
+ <source>Temporary network failure.</source>
+ <translation>Das Netzwerk ist zur Zeit ausgefallen.</translation>
+ </message>
</context>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+525"/>
+ <location line="+110"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>Operation abgebrochen</translation>
</message>
</context>
<context>
+ <name>QNetworkSession</name>
+ <message>
+ <location filename="../src/network/bearer/qnetworksession.cpp" line="+437"/>
+ <source>Invalid configuration.</source>
+ <translation>Ungültige Konfiguration.</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivateImpl</name>
+ <message>
+ <location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+247"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+213"/>
+ <source>Unknown session error.</source>
+ <translation>Unbekannter Fehler bei Netzwerkverbindung.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation>Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation>Die angeforderte Operation wird vom System nicht unterstützt.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation>Die angegebene Konfiguration kann nicht verwendet werden.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation>Das Roaming wurde abgebrochen oder ist hier nicht möglich.</translation>
+ </message>
+ <message>
+ <location filename="../src/plugins/bearer/icd/qnetworksession_impl.cpp" line="+1083"/>
+ <source>Roaming error</source>
+ <translation>Fehler beim Roaming</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation>Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation>Unbekannter Fehler</translation>
+ </message>
+</context>
+<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2083"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2082"/>
<source>Unable to logon</source>
<translation>Logon-Vorgang fehlgeschlagen</translation>
</message>
@@ -3782,12 +3946,12 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1806"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1791"/>
<source>Unable to connect</source>
<translation>Es kann keine Verbindung aufgebaut werden</translation>
</message>
<message>
- <location line="+238"/>
+ <location line="+233"/>
<source>Unable to disable autocommit</source>
<translation>&apos;autocommit&apos; konnte nicht deaktiviert werden</translation>
</message>
@@ -3807,7 +3971,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>&apos;autocommit&apos; konnte nicht aktiviert werden</translation>
</message>
<message>
- <location line="-281"/>
+ <location line="-276"/>
<source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
<translation>Es kann keine Verbindung aufgebaut werden weil der Treiber die benötigte Funktionalität nicht vollständig unterstützt</translation>
</message>
@@ -3815,19 +3979,19 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-937"/>
+ <location line="-935"/>
<location line="+351"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: &apos;SQL_CURSOR_STATIC&apos; konnte nicht als Attribut des Befehls gesetzt werden. Bitte prüfen Sie die Konfiguration Ihres ODBC-Treibers</translation>
</message>
<message>
<location line="-334"/>
- <location line="+628"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Der Befehl konnte nicht ausgeführt werden</translation>
</message>
<message>
- <location line="-547"/>
+ <location line="-545"/>
<source>Unable to fetch next</source>
<translation>Der nächste Datensatz konnte nicht abgeholt werden</translation>
</message>
@@ -3837,19 +4001,19 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Der Befehl konnte nicht initialisiert werden</translation>
</message>
<message>
- <location line="+268"/>
+ <location line="+266"/>
<source>Unable to bind variable</source>
<translation>Die Variable konnte nicht gebunden werden</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/>
- <location line="+576"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-465"/>
+ <location line="+574"/>
<source>Unable to fetch last</source>
<translation>Der letzte Datensatz konnte nicht abgeholt werden</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-670"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-668"/>
<source>Unable to fetch</source>
<translation>Es konnten keine Daten abgeholt werden</translation>
</message>
@@ -3867,41 +4031,15 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-97"/>
- <source>Invalid hostname</source>
- <translation>Ungültiger Rechnername</translation>
- </message>
- <message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
- <source>Operation not supported on %1</source>
- <translation>Diese Operation wird von %1 nicht unterstützt</translation>
- </message>
- <message>
- <location line="+57"/>
- <source>Invalid URI: %1</source>
- <translation>Ungültiger URI: %1</translation>
- </message>
- <message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+60"/>
- <source>Socket error on %1: %2</source>
- <translation>Socket-Fehler bei %1: %2</translation>
- </message>
- <message>
- <location line="+15"/>
- <source>Remote host closed the connection prematurely on %1</source>
- <translation>Der entfernte Rechner hat die Verbindung zu %1 vorzeitig beendet</translation>
- </message>
- <message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+168"/>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/>
- <source>No host name given</source>
- <translation>Es wurde kein Hostname angegeben</translation>
+ <location filename="../src/declarative/util/qmlxmllistmodel.cpp" line="+370"/>
+ <source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
+ <translation>&quot;%1&quot; ist bereits als Name einer Rolle vergeben und wird daher deaktiviert.</translation>
</message>
</context>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -4959,7 +5097,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+547"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+538"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -4987,7 +5125,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-404"/>
+ <location line="-395"/>
<location line="+62"/>
<location line="+8"/>
<source>Unable to fetch row</source>
@@ -5245,7 +5383,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QScriptDebuggerLocalsModel</name>
<message>
- <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/>
+ <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+897"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -6428,7 +6566,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Umdrehen</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+602"/>
<location line="+135"/>
<source>Ctrl</source>
<translation>Strg</translation>
@@ -6462,7 +6600,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>F%1</translation>
</message>
<message>
- <location line="-871"/>
+ <location line="-898"/>
<source>Home Page</source>
<translation>Startseite</translation>
</message>
@@ -6596,7 +6734,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+273"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+312"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
@@ -6940,7 +7078,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2027"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2029"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -7989,7 +8127,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5728"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5761"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -8454,6 +8592,866 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
</context>
<context>
+ <name>QmlAbstractAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qmlanimation.cpp" line="+235"/>
+ <source>Cannot animate non-existent property &quot;%1&quot;</source>
+ <translation>Die Eigenschaft &apos;%1&quot; existiert nicht und kann daher nicht animiert werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot animate read-only property &quot;%1&quot;</source>
+ <translation>Die Eigenschaft &apos;%1&quot; ist schreibgeschützt und kann daher nicht animiert werden</translation>
+ </message>
+</context>
+<context>
+ <name>QmlBehavior</name>
+ <message>
+ <location filename="../src/declarative/util/qmlbehavior.cpp" line="+122"/>
+ <source>Cannot change the animation assigned to a Behavior.</source>
+ <translation>Die zu einem Behavior-Element gehörende Animation kann nicht geändert werden.</translation>
+ </message>
+</context>
+<context>
+ <name>QmlBinding</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlbinding.cpp" line="+195"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation>Bei der für die Eigenschaft &quot;%1&quot; angegebenen Bindung wurde eine Schleife festgestellt</translation>
+ </message>
+</context>
+<context>
+ <name>QmlCompiler</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlcompiler.cpp" line="+214"/>
+ <location line="+1772"/>
+ <location line="+124"/>
+ <location line="+427"/>
+ <source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: &quot;%1&quot; ist schreibgeschützt</translation>
+ </message>
+ <message>
+ <location line="-2314"/>
+ <source>Invalid property assignment: unknown enumeration</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Ungültiger Aufzählungswert</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: string expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeichenkette erwartet</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: url expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine URL erwartet</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Invalid property assignment: unsigned int expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine vorzeichenloser Ganzzahlwert erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: int expected</source>
+ <translation type="unfinished">Ungültige Zuweisung bei Eigenschaft: Es wird ein Ganzzahlwert erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: float expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: double expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl (double) erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: color expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Farbspezifikation erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: date expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: time expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeitangabe erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: datetime expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: point expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Koordinatenangabe für einen Punkt erwartet</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: size expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Größenangabe erwartet</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: rect expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es werden Parameter für ein Rechteck erwartet</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Invalid property assignment: boolean expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein Boolescher Wert erwartet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: 3D vector expected</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein dreidimensionaler Vektor erwartet</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: unsupported type &quot;%1&quot;</source>
+ <translation>Ungültige Zuweisung bei Eigenschaft: Der Typ &quot;%1&quot; ist nicht unterstützt</translation>
+ </message>
+ <message>
+ <location line="+801"/>
+ <location line="+3"/>
+ <source>Invalid component specification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Invalid component id specification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+565"/>
+ <source>id is not unique</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-555"/>
+ <source>Invalid component body specification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Cannot create empty component specification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Invalid Script block. Specify either the source property or inline script</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid Script source value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Properties cannot be set on Script block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Invalid Script block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+130"/>
+ <source>Incorrectly specified signal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Empty signal assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Empty property assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Attached properties cannot be used here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <location line="+104"/>
+ <source>Non-existent attached object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-100"/>
+ <location line="+103"/>
+ <source>Invalid attached object assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-50"/>
+ <source>Cannot assign to non-existent default property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+339"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-308"/>
+ <source>Invalid use of namespace</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Not an attached property name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+169"/>
+ <source>Invalid use of id property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&quot;%1&quot; is not a valid object id</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>id conflicts with type name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>id conflicts with namespace prefix</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+78"/>
+ <source>Invalid value in grouped property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+8"/>
+ <source>Invalid grouped property access</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Invalid property use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Property assignment expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Single property assignment expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Unexpected object assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cannot assign primitives to lists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>Can only assign one binding to lists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Cannot assign multiple values to a script property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: script expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+129"/>
+ <source>Cannot assign object to property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
+ <source>Duplicate default property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Duplicate property name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Duplicate signal name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate method name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Invalid property nesting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Cannot override FINAL property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Invalid property type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+174"/>
+ <location line="+9"/>
+ <source>No property alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <location line="+25"/>
+ <source>Invalid alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlCompositeTypeManager</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlcompositetypemanager.cpp" line="+415"/>
+ <location line="+220"/>
+ <source>Resource %1 unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Import %1 unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Namespace %1 cannot be used as a type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 is not a type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Type %1 unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlEngine</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlsqldatabase.cpp" line="+204"/>
+ <source>executeSql called outside transaction()</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>Read-only Transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Version mismatch: expected %1, found %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>SQL transaction failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>transaction: missing callback</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <location line="+16"/>
+ <source>SQL: database version mismatch</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlGraphicsAnchors</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qmlgraphicsanchors.cpp" line="+177"/>
+ <source>Possible anchor loop detected on fill.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Possible anchor loop detected on centerIn.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+163"/>
+ <location line="+34"/>
+ <location line="+607"/>
+ <location line="+37"/>
+ <source>Cannot anchor to an item that isn&apos;t a parent or sibling.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-534"/>
+ <source>Possible anchor loop detected on vertical anchor.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Possible anchor loop detected on horizontal anchor.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+422"/>
+ <source>Cannot specify left, right, and hcenter anchors.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+37"/>
+ <source>Cannot anchor to a null item.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-34"/>
+ <source>Cannot anchor a horizontal edge to a vertical edge.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+37"/>
+ <source>Cannot anchor item to self.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Cannot specify top, bottom, and vcenter anchors.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot anchor a vertical edge to a horizontal edge.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlGraphicsFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qmlgraphicsflipable.cpp" line="+149"/>
+ <source>front is a write-once property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlGraphicsTextInput</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qmlgraphicstextinput.cpp" line="+594"/>
+ <location line="+9"/>
+ <source>Could not load cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not instantiate cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlGraphicsVisualDataModel</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp" line="+826"/>
+ <source>Delegate component must be Item type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlInfo</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlinfo.cpp" line="+112"/>
+ <location line="+3"/>
+ <source>unknown location</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qmllistmodel.cpp" line="+491"/>
+ <source>remove: index %1 out of range</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>insert: value is not an object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>insert: index %1 out of range</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>move: out of range</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>append: value is not an object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>get: index %1 out of range</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>set: value is not an object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location line="+39"/>
+ <source>set: index %1 out of range</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>ListElement: cannot use default property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>ListElement: cannot use reserved &quot;id&quot; property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>ListElement: cannot use script for property value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>ListModel: undefined property &apos;%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlParentChange</name>
+ <message>
+ <location filename="../src/declarative/util/qmlstateoperations.cpp" line="+85"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlParser</name>
+ <message>
+ <location filename="../src/declarative/qml/parser/qmljslexer.cpp" line="+554"/>
+ <source>Illegal character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Unclosed string at end of line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Illegal escape squence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Illegal unicode escape sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Unclosed comment at end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
+ <source>Illegal syntax for exponential number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Identifier cannot start with numeric literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+331"/>
+ <source>Unterminated regular expression literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid regular expression flag &apos;%0&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/parser/qmljsparser.cpp" line="+1767"/>
+ <location line="+67"/>
+ <source>Syntax error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-65"/>
+ <source>Unexpected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+24"/>
+ <source>Expected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/qmlscriptparser.cpp" line="+267"/>
+ <source>Expected type name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Invalid use of Script block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+151"/>
+ <source>Invalid import qualifier ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Library import requires a version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Expected parameter type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Invalid property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unexpected property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Expected property type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Readonly not yet supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+194"/>
+ <source>QmlJS declaration outside Script element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Variable declarations not allow in inline Script blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlPauseAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qmlanimation.cpp" line="+410"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlPropertyAnimation</name>
+ <message>
+ <location line="-568"/>
+ <source>Unmatched parenthesis in easing function &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Easing function &quot;%1&quot; must start with &quot;ease&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Unknown easing curve &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+9"/>
+ <source>Improperly specified parameter in easing function &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Unknown easing parameter &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1754"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlPropertyChanges</name>
+ <message>
+ <location filename="../src/declarative/util/qmlpropertychanges.cpp" line="+361"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign to read-only property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlVME</name>
+ <message>
+ <location filename="../src/declarative/qml/qmlvme.cpp" line="+195"/>
+ <source>Unable to create object of type %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+306"/>
+ <source>Cannot assign value %1 to property %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Cannot assign object type %1 with no default method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot connect mismatched signal/slot %1 %vs. %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Cannot assign an object to signal property %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Cannot assign object to interface property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Unable to create attached object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Cannot set properties on %1 as it is null</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlXmlListModelRole</name>
+ <message>
+ <location filename="../src/declarative/util/qmlxmllistmodel.cpp" line="-255"/>
+ <source>An XmlRole query must not start with &apos;/&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QmlXmlRoleList</name>
+ <message>
+ <location line="+430"/>
+ <source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QtXmlPatterns</name>
<message>
<location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
diff --git a/translations/qt_es.ts b/translations/qt_es.ts
index e65f09234f..596864adb0 100644
--- a/translations/qt_es.ts
+++ b/translations/qt_es.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="es">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Servicios</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Ocultar %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Ocultar otros</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Mostrar todo</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_fr.ts b/translations/qt_fr.ts
index 3186a1fa0b..322fb65dad 100644
--- a/translations/qt_fr.ts
+++ b/translations/qt_fr.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="fr">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Services</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Masquer %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Masquer les autres</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Tout afficher</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_help_de.ts b/translations/qt_help_de.ts
index f64e741c85..40d115869f 100644
--- a/translations/qt_help_de.ts
+++ b/translations/qt_help_de.ts
@@ -63,7 +63,7 @@
<translation>Unbekannter Filter &apos;%1&apos;.</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+103"/>
<source>Invalid documentation file &apos;%1&apos;!</source>
<translation>Ungültige Dokumentationsdatei &apos;%1&apos;.</translation>
</message>
@@ -78,7 +78,7 @@
<translation>Die Datenbank &apos;%1&apos; kann nicht zur Optimierung geöffnet werden.</translation>
</message>
<message>
- <location line="-438"/>
+ <location line="-436"/>
<source>Cannot create directory: %1</source>
<translation>Das Verzeichnis kann nicht angelegt werden: %1</translation>
</message>
@@ -88,7 +88,7 @@
<translation>Die Katalogdatei kann nicht kopiert werden: %1</translation>
</message>
<message>
- <location line="+174"/>
+ <location line="+172"/>
<source>Cannot register filter %1!</source>
<translation>Der Filter kann nicht registriert werden: %1</translation>
</message>
@@ -120,23 +120,20 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+523"/>
- <source>The specified namespace does not exist!</source>
- <translation>Der angegebene Namensraum existiert nicht.</translation>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+122"/>
+ <source>Cannot open documentation file %1: %2!</source>
+ <translation>Die Dokumentationsdatei %1 kann nicht geöffnet werden: %2!</translation>
</message>
-</context>
-<context>
- <name>QHelpEngineCorePrivate</name>
<message>
- <location line="-401"/>
- <source>Cannot open documentation file %1: %2!</source>
- <translation>Die Dokumentationsdatei %1 kann nicht geöffnet werden: %2.</translation>
+ <location line="+404"/>
+ <source>The specified namespace does not exist!</source>
+ <translation>Der angegebene Namensraum existiert nicht.</translation>
</message>
</context>
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+158"/>
<source>Invalid help data!</source>
<translation>Ungültige Hilfe-Daten.</translation>
</message>
@@ -216,7 +213,7 @@
<translation>Die Datei %1 kann nicht geöffnet werden. Wird übersprungen.</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+133"/>
<source>The filter %1 is already registered!</source>
<translation>Der Filter %1 ist bereits registriert.</translation>
</message>
@@ -231,7 +228,7 @@
<translation>Indizes einfügen...</translation>
</message>
<message>
- <location line="+80"/>
+ <location line="+91"/>
<source>Insert contents...</source>
<translation>Inhalt einfügen...</translation>
</message>
@@ -245,122 +242,142 @@
<source>Cannot register contents!</source>
<translation>Inhalt kann nicht registriert werden.</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>File &apos;%1&apos; does not exist.</source>
+ <translation>Die Datei &apos;%1&apos; existiert nicht.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; cannot be opened.</source>
+ <translation>Die Datei &apos;%1&apos; kann nicht geöffnet werden.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; contains an invalid link to file &apos;%2&apos;</source>
+ <translation>Die Datei &apos;%1&apos; enthält einen ungültigen Verweis auf die Datei &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid links in HTML files.</source>
+ <translation>Es wurden ungültige Verweise in HTML-Dateien gefunden.</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpProject</name>
+ <message>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+86"/>
+ <source>Unknown token.</source>
+ <translation>Unbekanntes Token.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
+ <translation>Unbekanntes Token. &quot;QtHelpProject&quot; erwartet.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Error in line %1: %2</source>
+ <translation>Fehler in Zeile %1: %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>A virtual folder must not contain a &apos;/&apos; character!</source>
+ <translation>Ein virtuelles Verzeichnis darf kein &apos;/&apos;-Zeichen enthalten.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>A namespace must not contain a &apos;/&apos; character!</source>
+ <translation>Ein Namensraum darf kein &apos;/&apos;-Zeichen enthalten.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Missing namespace in QtHelpProject.</source>
+ <translation>Fehlender Namensraum in QtHelpProject.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing virtual folder in QtHelpProject</source>
+ <translation>Fehlendes virtuelles Verzeichnis in QtHelpProject.</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Missing attribute in keyword at line %1.</source>
+ <translation>Fehlendes Attribut in Schlagwort in Zeile %1.</translation>
+ </message>
+ <message>
+ <location line="+125"/>
+ <source>The input file %1 could not be opened!</source>
+ <translation>Die Eingabe-Datei %1 kann nicht geöffnet werden.</translation>
+ </message>
</context>
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+411"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+124"/>
<source>Search for:</source>
<translation>Suche nach:</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+1"/>
<source>Previous search</source>
<translation>Vorige Suche</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+1"/>
<source>Next search</source>
<translation>Nächste Suche</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+2"/>
<source>Advanced search</source>
<translation>Erweiterte Suche</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+1"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
<translation>Worte &lt;B&gt;ähnlich&lt;/B&gt; zu:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>&lt;B&gt;ohne&lt;/B&gt; die Wörter:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>mit der &lt;B&gt;genauen Wortgruppe&lt;/B&gt;:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>mit &lt;B&gt;allen&lt;/B&gt; Wörtern:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>mit &lt;B&gt;irgendeinem&lt;/B&gt; der Wörter:</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidget</name>
+ <message numerus="yes">
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+174"/>
+ <source>%1 - %2 of %n Hits</source>
+ <translation>
+ <numerusform>%1 - %2 - Ein Treffer</numerusform>
+ <numerusform>%1 - %2 von %n Treffern</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
+ <location line="+61"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0 von 0 Treffern</translation>
</message>
</context>
-<context>
- <name>QHelpSearchResultWidgetPrivate</name>
- <message>
- <location line="-61"/>
- <source>%1 - %2 of %3 Hits</source>
- <translation>%1 - %2 von %3 Treffern</translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/>
- <source>Unknown token.</source>
- <translation>Unbekanntes Token.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation>Unbekanntes Token. &quot;QtHelpProject&quot; erwartet.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Error in line %1: %2</source>
- <translation>Fehler in Zeile %1: %2</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>A virtual folder must not contain a &apos;/&apos; character!</source>
- <translation>Ein virtuelles Verzeichnis darf kein &apos;/&apos;-Zeichen enthalten.</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>A namespace must not contain a &apos;/&apos; character!</source>
- <translation>Ein Namensraum darf kein &apos;/&apos;-Zeichen enthalten.</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Missing namespace in QtHelpProject.</source>
- <translation>Fehlender Namensraum in QtHelpProject.</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Missing virtual folder in QtHelpProject</source>
- <translation>Fehlendes virtuelles Verzeichnis in QtHelpProject.</translation>
- </message>
- <message>
- <location line="+88"/>
- <source>Missing attribute in keyword at line %1.</source>
- <translation>Fehlendes Attribut in Schlagwort in Zeile %1.</translation>
- </message>
- <message>
- <location line="+123"/>
- <source>The input file %1 could not be opened!</source>
- <translation>Die Eingabe-Datei %1 kann nicht geöffnet werden.</translation>
- </message>
-</context>
</TS>
diff --git a/translations/qt_help_ru.ts b/translations/qt_help_ru.ts
index 006a90bdea..341cf19073 100644
--- a/translations/qt_help_ru.ts
+++ b/translations/qt_help_ru.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 type="unfinished">Файл набора ещё не уÑтановлен!</translation>
+ <source>The collection file &apos;%1&apos; is not set up yet!</source>
+ <translation type="unfinished">Файл набора &apos;%1&apos; ещё не уÑтановлен!</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Cannot load sqlite database driver!</source>
<translation>Ðе удалоÑÑŒ загрузить драйвер базы данных sqlite!</translation>
</message>
<message>
<location line="+11"/>
- <location line="+48"/>
+ <location line="+49"/>
<source>Cannot open collection file: %1</source>
<translation type="unfinished">Ðе удалоÑÑŒ открыть файл набора: %1</translation>
</message>
<message>
- <location line="-39"/>
+ <location line="-40"/>
<source>Cannot create tables in file %1!</source>
<translation>Ðе удалоÑÑŒ Ñоздать таблицы в файле %1!</translation>
</message>
<message>
<location line="+16"/>
- <source>The specified collection file already exists!</source>
- <translation type="unfinished">Указанный файла набора уже ÑущеÑтвует!</translation>
+ <source>The collection file &apos;%1&apos; already exists!</source>
+ <translation type="unfinished">Файл набора &apos;%1&apos; уже ÑущеÑтвует!</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+148"/>
+ <source>Unknown filter &apos;%1&apos;!</source>
+ <translation>ÐеизвеÑтный фильтр &apos;%1&apos;!</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Invalid documentation file &apos;%1&apos;!</source>
+ <translation>Ðекорректный файл документации &apos;%1&apos;!</translation>
+ </message>
+ <message>
+ <location line="+167"/>
+ <source>Cannot register namespace &apos;%1&apos;!</source>
+ <translation>Ðе удалоÑÑŒ зарегиÑтрировать проÑтранÑтво имён %1!</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Cannot open database &apos;%1&apos; to optimize!</source>
+ <translation>Ðе удалоÑÑŒ открыть базу данных &apos;%1&apos; Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ð¸!</translation>
+ </message>
+ <message>
+ <location line="-438"/>
<source>Cannot create directory: %1</source>
<translation>Ðе удалоÑÑŒ Ñоздать каталог: %1</translation>
</message>
@@ -68,12 +88,7 @@
<translation type="unfinished">Ðе удалоÑÑŒ Ñкопировать файл набора: %1</translation>
</message>
<message>
- <location line="+119"/>
- <source>Unknown filter!</source>
- <translation>ÐеизвеÑтный фильтр!</translation>
- </message>
- <message>
- <location line="+55"/>
+ <location line="+174"/>
<source>Cannot register filter %1!</source>
<translation>Ðе удалоÑÑŒ зарегиÑтрировать фильтр %1!</translation>
</message>
@@ -83,12 +98,7 @@
<translation>Ðе удалоÑÑŒ открыть файл документации %1!</translation>
</message>
<message>
- <location line="+6"/>
- <source>Invalid documentation file!</source>
- <translation>Ðекорректный файл документации!</translation>
- </message>
- <message>
- <location line="+34"/>
+ <location line="+40"/>
<source>The namespace %1 was not registered!</source>
<translation>ПроÑтранÑтво имён %1 не зарегиÑтрировано!</translation>
</message>
@@ -97,16 +107,6 @@
<source>Namespace %1 already exists!</source>
<translation>ПроÑтранÑтво имён %1 уже ÑущеÑтвует!</translation>
</message>
- <message>
- <location line="+13"/>
- <source>Cannot register namespace!</source>
- <translation>Ðе удалоÑÑŒ зарегиÑтрировать проÑтранÑтво имён!</translation>
- </message>
- <message>
- <location line="+24"/>
- <source>Cannot open database to optimize!</source>
- <translation>Ðе удалоÑÑŒ открыть базу данных Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ð¸!</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="+525"/>
<source>The specified namespace does not exist!</source>
<translation>Указанное проÑтранÑтво имён не ÑущеÑтвует!</translation>
</message>
@@ -128,7 +128,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-402"/>
+ <location line="-403"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Ðе удалоÑÑŒ открыть файл документации %1: %2!</translation>
</message>
@@ -249,52 +249,52 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+411"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+125"/>
<source>Search for:</source>
<translation>ИÑкать:</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+1"/>
<source>Previous search</source>
<translation>Предыдущий запроÑ</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+1"/>
<source>Next search</source>
<translation>Следующий запроÑ</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Search</source>
<translation>ПоиÑк</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+2"/>
<source>Advanced search</source>
<translation>РаÑширенный поиÑк</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+1"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
<translation>&lt;B&gt;похожие&lt;/B&gt; Ñлова:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>&lt;B&gt;не Ñодержит&lt;/B&gt; Ñлов:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>Ñодержит &lt;B&gt;точную фразу&lt;/B&gt;:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>Ñодержит &lt;B&gt;вÑе&lt;/B&gt; Ñлова:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>Ñодержит &lt;B&gt;Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно&lt;/B&gt; из Ñлов:</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>БезымÑнный</translation>
- </message>
- <message>
<location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/>
<source>Unknown token.</source>
<translation>ÐеизвеÑтный идентификатор.</translation>
diff --git a/translations/qt_ja_JP.ts b/translations/qt_ja_JP.ts
index 493f3a2e23..f0dae3aac5 100644
--- a/translations/qt_ja_JP.ts
+++ b/translations/qt_ja_JP.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="ja">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>サービス</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>%1ã‚’éš ã™</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>ã»ã‹ã‚’éš ã™</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>ã™ã¹ã¦ã‚’表示</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
<location filename="../src/gui/widgets/qtabbar.cpp" line="+2253"/>
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index e219c9a524..bf6e1fe331 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="pl">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Usługi</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Ukryj %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Ukryj pozostałe</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Pokaż wszystko</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
<location filename="../src/gui/widgets/qtabbar.cpp" line="+2264"/>
diff --git a/translations/qt_pt.ts b/translations/qt_pt.ts
index 101267c01c..7ca7fe7f3d 100644
--- a/translations/qt_pt.ts
+++ b/translations/qt_pt.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="pt_PT">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Serviços</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Ocultar %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Ocultar Outros</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Mostrar Tudo</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index f2d1af2958..641d7aafd8 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -2,9 +2,32 @@
<!DOCTYPE TS>
<TS version="2.0" language="ru_RU">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Службы</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Скрыть %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Скрыть оÑтальные</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Показать вÑе</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2245"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2264"/>
<source>Close Tab</source>
<translation>Закрыть вкладку</translation>
</message>
@@ -12,7 +35,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="+2200"/>
<source>Fake error !</source>
<translation type="unfinished"></translation>
</message>
@@ -58,7 +81,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;Звуковое уÑтройÑтво &lt;b&gt;%1&lt;/b&gt; не работает.&lt;br/&gt;Будет иÑпользоватьÑÑ &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
@@ -76,7 +99,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>Внимание: Похоже, пакет gstreamer0.10-plugins-good не уÑтановлен.
@@ -96,11 +119,11 @@
<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>Ðевозможно начать воÑпроизведение.
-Проверьте уÑтановку Gstreamer и убедитеÑÑŒ,
+Проверьте уÑтановку GStreamer и убедитеÑÑŒ,
что пакет libgstreamer-plugins-base уÑтановлен.</translation>
</message>
<message>
@@ -109,10 +132,10 @@ have libgstreamer-plugins-base installed.</source>
<translation>ОтÑутÑтвует необходимый кодек. Вам нужно уÑтановить Ñледующие кодеки Ð´Ð»Ñ Ð²Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñодержимого: %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"/>
@@ -121,12 +144,12 @@ have libgstreamer-plugins-base installed.</source>
<translation>Ðе удалоÑÑŒ открыть иÑточник медиа-данных.</translation>
</message>
<message>
- <location line="-420"/>
+ <location line="-424"/>
<source>Invalid source type.</source>
<translation>Ðеверный тип иÑточника медиа-данных.</translation>
</message>
<message>
- <location line="+394"/>
+ <location line="+398"/>
<source>Could not locate media source.</source>
<translation>Ðе удалоÑÑŒ найти иÑточник медиа-данных.</translation>
</message>
@@ -144,7 +167,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Phonon::MMF</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/>
+ <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+103"/>
<source>Audio Output</source>
<translation>ВоÑпроизведение звука</translation>
</message>
@@ -153,52 +176,334 @@ have libgstreamer-plugins-base installed.</source>
<source>The audio output device</source>
<translation>УÑтройÑтво воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð·Ð²ÑƒÐºÐ°</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::AudioEqualizer</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+75"/>
- <source>Frequency band, %1 Hz</source>
- <translation>ПолоÑа чаÑтот, %1 Гц</translation>
+ <location filename="../src/3rdparty/phonon/mmf/utils.cpp" line="+87"/>
+ <source>No error</source>
+ <translation>Ðет ошибки</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::EffectFactory</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/>
- <source>audio equalizer</source>
- <translation>ÐудиоÑквалайзер</translation>
+ <location line="+2"/>
+ <source>Not found</source>
+ <translation>Ðе найден</translation>
</message>
<message>
<location line="+2"/>
- <source>Bass boost</source>
- <translation>УÑиление баÑов</translation>
+ <source>Out of memory</source>
+ <translation>ÐедоÑтаточно реÑурÑов</translation>
</message>
<message>
<location line="+2"/>
- <source>Distance Attenuation</source>
- <translation>ОÑлабление при отдалении</translation>
+ <source>Not supported</source>
+ <translation>Ðе поддерживаетÑÑ</translation>
</message>
<message>
<location line="+2"/>
+ <source>Overflow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+2"/>
- <source>Environmental Reverb</source>
- <translation>РеверберациÑ</translation>
+ <source>Underflow</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
- <source>Loudness</source>
- <translation>ГромкоÑÑ‚ÑŒ</translation>
+ <source>Already exists</source>
+ <translation>Уже ÑущеÑтвует</translation>
</message>
<message>
<location line="+2"/>
- <source>Source Orientation</source>
- <translation>ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¸Ñточника</translation>
+ <source>Path not found</source>
+ <translation>Путь не найден</translation>
</message>
<message>
<location line="+2"/>
- <source>Stereo Widening</source>
- <translation>РаÑширение Ñтереобазы</translation>
+ <source>In use</source>
+ <translation>ИÑпользуетÑÑ</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Not ready</source>
+ <translation>Ðе готов</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Access denied</source>
+ <translation>ДоÑтуп запрещён</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Could not connect</source>
+ <translation>Ðе удалоÑÑŒ уÑтановить Ñоединение</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Disconnected</source>
+ <translation>Соединение разорвано</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Permission denied</source>
+ <translation>ДоÑтуп запрещён</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Insufficient bandwidth</source>
+ <translation type="unfinished">ÐедоÑÑ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° канала</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Network unavailable</source>
+ <translation>Сеть недоÑтупна</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Network communication error</source>
+ <translation type="unfinished">Ошибка Ñетевого обмена данными</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Streaming not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Server alert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Invalid protocol</source>
+ <translation>Ðекорректный протокол</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Invalid URL</source>
+ <translation>Ðекорректный URL</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Multicast error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Proxy server error</source>
+ <translation>Ошибка прокÑи-Ñервера</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Proxy server not supported</source>
+ <translation>ПрокÑи-Ñервер не поддерживаетÑÑ</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio output error</source>
+ <translation>Ошибка воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð·Ð²ÑƒÐºÐ°</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Video output error</source>
+ <translation>Ошибка воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Decoder error</source>
+ <translation>Ошибка декодированиÑ</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio or video components could not be played</source>
+ <translation>Ðудио- или видео-ÑоÑтовлÑÑŽÑ‰Ð°Ñ Ð½Ðµ может быть воÑпроизведена</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>DRM error</source>
+ <translation>Ошибка DRM</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Unknown error (%1)</source>
+ <translation>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° (%1)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractmediaplayer.cpp" line="+73"/>
+ <source>Not ready to play</source>
+ <translation>Ðе готов к воÑпроизведению</translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <location line="+10"/>
+ <source>Error opening file</source>
+ <translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error opening URL</source>
+ <translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ URL</translation>
+ </message>
+ <message>
+ <location line="+83"/>
+ <source>Setting volume failed</source>
+ <translation>Ðе удалоÑÑŒ уÑтановить уровень громкоÑти</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Playback complete</source>
+ <translation>ВоÑпроизведение завершено</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+92"/>
+ <source>%1 Hz</source>
+ <translation>%1 Гц</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioplayer.cpp" line="+173"/>
+ <source>Getting position failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Opening clip failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+181"/>
+ <source>Enabled</source>
+ <translation type="unfinished">Ðктивно</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/environmentalreverb.cpp" line="+146"/>
+ <source>Decay HF ratio (%)</source>
+ <extracomment>DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Decay time (ms)</source>
+ <extracomment>DecayTime: Time over which reverberation is diminished.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Density (%)</source>
+ <extracomment>Density Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Diffusion value.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Diffusion (%)</source>
+ <extracomment>Diffusion: Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Density value.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Reflections delay (ms)</source>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reflections level (mB)</source>
+ <extracomment>ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reverb delay (ms)</source>
+ <extracomment>ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reverb level (mB)</source>
+ <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Room HF level</source>
+ <extracomment>RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Room level (mB)</source>
+ <extracomment>RoomLevel: Master volume control for all reflected sound.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+270"/>
+ <source>Error opening source: type not supported</source>
+ <translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¸Ñ Ð¸Ñточника: тип не поддерживаетÑÑ</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¸Ñ Ð¸Ñточника: тип медиа-данных не определён</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/stereowidening.cpp" line="+79"/>
+ <source>Level (%)</source>
+ <translation>Уровень (%)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/mmf_videoplayer.cpp" line="+125"/>
+ <source>Pause failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Seek failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+54"/>
+ <source>Getting position failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Opening clip failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Buffering clip failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+174"/>
+ <location line="+12"/>
+ <location line="+176"/>
+ <location line="+15"/>
+ <location line="+6"/>
+ <source>Video display error</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -268,7 +573,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+829"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+835"/>
<source>Copy or Move a File</source>
<translation>Копировать или перемеÑтить файл</translation>
</message>
@@ -293,7 +598,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2149"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+112"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+133"/>
<source>All Files (*)</source>
<translation>Ð’Ñе файлы (*)</translation>
</message>
@@ -905,8 +1210,8 @@ to
<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="+906"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+629"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/>
<location line="+26"/>
<source>Host not found</source>
@@ -925,19 +1230,20 @@ to
<translation>Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° Ñоединение иÑтекло</translation>
</message>
<message>
- <location line="-548"/>
- <location line="+789"/>
+ <location line="-559"/>
+ <location line="+809"/>
<location line="+208"/>
<source>Operation on socket is not supported</source>
<translation>ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñокетом не поддерживаетÑÑ</translation>
</message>
<message>
- <location line="+187"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+598"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+203"/>
<source>Socket operation timed out</source>
<translation>Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° операцию Ñ Ñокетом иÑтекло</translation>
</message>
<message>
- <location line="+380"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+380"/>
<source>Socket is not connected</source>
<translation>Сокет не подключён</translation>
</message>
@@ -950,7 +1256,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1217"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1260"/>
<source>&amp;Step up</source>
<translation>Шаг вв&amp;ерх</translation>
</message>
@@ -966,6 +1272,14 @@ to
</message>
</context>
<context>
+ <name>QAccessibleButton</name>
+ <message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
+ <source>Press</source>
+ <translation>Ðажать</translation>
+ </message>
+</context>
+<context>
<name>QApplication</name>
<message>
<location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
@@ -983,7 +1297,7 @@ to
<translation>Ошибка ÑовмеÑтимоÑти библиотеки Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2293"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2287"/>
<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>
@@ -1020,7 +1334,7 @@ to
<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>СнÑÑ‚ÑŒ отметку</translation>
</message>
@@ -1038,7 +1352,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1349"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1355"/>
<source>Hu&amp;e:</source>
<translation>&amp;Тон:</translation>
</message>
@@ -1078,7 +1392,7 @@ to
<translation>Выбор цвета</translation>
</message>
<message>
- <location line="+180"/>
+ <location line="+183"/>
<source>&amp;Basic colors</source>
<translation>&amp;ОÑновные цвета</translation>
</message>
@@ -1165,7 +1479,7 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1254"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1253"/>
<source>Unable to connect</source>
<translation>Ðевозможно ÑоединитьÑÑ</translation>
</message>
@@ -1188,7 +1502,7 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-1031"/>
+ <location line="-1030"/>
<location line="+240"/>
<source>Unable to execute statement</source>
<translation>Ðевозможно выполнить выражение</translation>
@@ -1263,7 +1577,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+636"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+652"/>
<source>What&apos;s This?</source>
<translation>Что Ñто?</translation>
</message>
@@ -1276,9 +1590,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1876"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+607"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+650"/>
<source>OK</source>
<translation>ОК</translation>
</message>
@@ -1390,7 +1704,7 @@ to
<message>
<location line="+3"/>
<source>Restore Defaults</source>
- <translation type="unfinished">ВоÑÑтановить значениÑ</translation>
+ <translation>ВоÑÑтановить значениÑ</translation>
</message>
<message>
<location line="-29"/>
@@ -1477,7 +1791,7 @@ to
<translation>КритичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°:</translation>
</message>
<message>
- <location line="+199"/>
+ <location line="+200"/>
<source>&amp;Show this message again</source>
<translation>&amp;Показывать Ñто Ñообщение в дальнейшем</translation>
</message>
@@ -1490,7 +1804,7 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+697"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+698"/>
<location line="+155"/>
<source>Destination file exists</source>
<translation>Файл ÑущеÑтвует</translation>
@@ -1529,36 +1843,36 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
- <location line="+450"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+557"/>
+ <location line="+471"/>
<source>All Files (*)</source>
<translation>Ð’Ñе файлы (*)</translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+216"/>
<source>Directories</source>
<translation>Каталоги</translation>
</message>
<message>
<location line="-3"/>
- <location line="+50"/>
- <location line="+1528"/>
+ <location line="+55"/>
+ <location line="+1532"/>
<source>&amp;Open</source>
<translation>&amp;Открыть</translation>
</message>
<message>
- <location line="-1578"/>
- <location line="+50"/>
+ <location line="-1587"/>
+ <location line="+55"/>
<source>&amp;Save</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="-741"/>
+ <location line="-756"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
<message>
- <location line="+1508"/>
+ <location line="+1527"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 уже ÑущеÑтвует.
@@ -1579,7 +1893,7 @@ Please verify the correct file name was given.</source>
<translation>Мой компьютер</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1497"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1516"/>
<source>&amp;Rename</source>
<translation>&amp;Переименовать</translation>
</message>
@@ -1625,12 +1939,12 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+659"/>
+ <location line="+669"/>
<source>Directory:</source>
<translation>Каталог:</translation>
</message>
<message>
- <location line="+776"/>
+ <location line="+785"/>
<location line="+862"/>
<source>%1
Directory not found.
@@ -1657,7 +1971,7 @@ Do you want to delete it anyway?</source>
<translation>Ðе удалоÑÑŒ удалить каталог.</translation>
</message>
<message>
- <location line="+410"/>
+ <location line="+404"/>
<source>Recent Places</source>
<translation>Ðедавние документы</translation>
</message>
@@ -1667,12 +1981,12 @@ Do you want to delete it anyway?</source>
<translation>Ð’Ñе файлы (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2546"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2559"/>
<source>Save As</source>
<translation>Сохранить как</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+461"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+462"/>
<source>Drive</source>
<translation>ДиÑк</translation>
</message>
@@ -1728,18 +2042,18 @@ Do you want to delete it anyway?</source>
<translation>Вперёд</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1963"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1982"/>
<source>New Folder</source>
<translation>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</translation>
</message>
<message>
- <location line="-1956"/>
+ <location line="-1975"/>
<source>&amp;New Folder</source>
<translation>&amp;ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</translation>
</message>
<message>
- <location line="+667"/>
- <location line="+38"/>
+ <location line="+677"/>
+ <location line="+43"/>
<source>&amp;Choose</source>
<translation>&amp;Выбрать</translation>
</message>
@@ -1749,8 +2063,8 @@ Do you want to delete it anyway?</source>
<translation>Удалить</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-698"/>
- <location line="+663"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-713"/>
+ <location line="+673"/>
<source>File &amp;name:</source>
<translation>&amp;Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°:</translation>
</message>
@@ -1770,6 +2084,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+483"/>
+ <source>%1 byte(s)</source>
+ <translation>%1 байт</translation>
+ </message>
+ <message>
<location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/>
<source>Invalid filename</source>
<translation>Ðекорректное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°</translation>
@@ -1818,7 +2137,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-164"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+476"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="-7"/>
<source>%1 TB</source>
<translation>%1 Тб</translation>
</message>
@@ -1842,7 +2161,6 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
<source>%1 bytes</source>
<translation>%1 байт</translation>
</message>
@@ -1851,55 +2169,55 @@ Do you want to delete it anyway?</source>
<name>QFontDatabase</name>
<message>
<location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/>
- <location line="+1334"/>
+ <location line="+1342"/>
<source>Normal</source>
<translation>Обычный</translation>
</message>
<message>
- <location line="-1331"/>
+ <location line="-1339"/>
<location line="+12"/>
- <location line="+1307"/>
+ <location line="+1315"/>
<source>Bold</source>
<translation>Жирный</translation>
</message>
<message>
- <location line="-1316"/>
- <location line="+1318"/>
+ <location line="-1324"/>
+ <location line="+1326"/>
<source>Demi Bold</source>
<translation>Полужирный</translation>
</message>
<message>
- <location line="-1315"/>
+ <location line="-1323"/>
<location line="+18"/>
- <location line="+1293"/>
+ <location line="+1301"/>
<source>Black</source>
<translation>Чёрный</translation>
</message>
<message>
- <location line="-1303"/>
+ <location line="-1311"/>
<source>Demi</source>
<translation>Средний</translation>
</message>
<message>
<location line="+6"/>
- <location line="+1303"/>
+ <location line="+1311"/>
<source>Light</source>
<translation>Светлый</translation>
</message>
<message>
- <location line="-1157"/>
- <location line="+1160"/>
+ <location line="-1165"/>
+ <location line="+1168"/>
<source>Italic</source>
<translation>КурÑив</translation>
</message>
<message>
- <location line="-1157"/>
- <location line="+1159"/>
+ <location line="-1165"/>
+ <location line="+1167"/>
<source>Oblique</source>
<translation>Ðаклонный</translation>
</message>
<message>
- <location line="+703"/>
+ <location line="+704"/>
<source>Any</source>
<translation>ЛюбаÑ</translation>
</message>
@@ -1941,12 +2259,12 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Thaana</source>
- <translation type="unfinished">Таана</translation>
+ <translation>Таана</translation>
</message>
<message>
<location line="+3"/>
<source>Devanagari</source>
- <translation type="unfinished">Деванагири</translation>
+ <translation>Деванагири</translation>
</message>
<message>
<location line="+3"/>
@@ -1956,17 +2274,17 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Gurmukhi</source>
- <translation type="unfinished">Гурмукхи</translation>
+ <translation>Гурмукхи</translation>
</message>
<message>
<location line="+3"/>
<source>Gujarati</source>
- <translation type="unfinished">Гуджарати</translation>
+ <translation>Гуджарати</translation>
</message>
<message>
<location line="+3"/>
<source>Oriya</source>
- <translation type="unfinished">ОриÑ</translation>
+ <translation>ОриÑ</translation>
</message>
<message>
<location line="+3"/>
@@ -1976,17 +2294,17 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Telugu</source>
- <translation type="unfinished">Телугу</translation>
+ <translation>Телугу</translation>
</message>
<message>
<location line="+3"/>
<source>Kannada</source>
- <translation type="unfinished">Каннада</translation>
+ <translation>Каннада</translation>
</message>
<message>
<location line="+3"/>
<source>Malayalam</source>
- <translation type="unfinished">МалайÑлам</translation>
+ <translation>МалаÑльÑкаÑ</translation>
</message>
<message>
<location line="+3"/>
@@ -2011,7 +2329,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation type="unfinished">МьÑнма</translation>
+ <translation>МайанмарÑкаÑ</translation>
</message>
<message>
<location line="+3"/>
@@ -2026,7 +2344,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Simplified Chinese</source>
- <translation>КитайÑÐºÐ°Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ð°Ñ</translation>
+ <translation>КитайÑÐºÐ°Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰Ñ‘Ð½Ð½Ð°Ñ</translation>
</message>
<message>
<location line="+3"/>
@@ -2063,6 +2381,11 @@ Do you want to delete it anyway?</source>
<source>Runic</source>
<translation>РуничеÑкаÑ</translation>
</message>
+ <message>
+ <location line="+3"/>
+ <source>N&apos;Ko</source>
+ <translation>Ðко</translation>
+ </message>
</context>
<context>
<name>QFontDialog</name>
@@ -2262,7 +2585,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+101"/>
<source>Unknown error</source>
<translation>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</translation>
</message>
@@ -2272,7 +2595,7 @@ Do you want to delete it anyway?</source>
<message>
<location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+220"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+216"/>
<location line="+27"/>
<source>Host not found</source>
<translation>Узел не найден</translation>
@@ -2306,7 +2629,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+1577"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1582"/>
<location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+1159"/>
<location line="+567"/>
@@ -2338,7 +2661,7 @@ Do you want to delete it anyway?</source>
<translation>Сервер неожиданно разорвал Ñоединение</translation>
</message>
<message>
- <location line="+179"/>
+ <location line="+200"/>
<source>Unknown authentication method</source>
<translation>ÐеизвеÑтный метод авторизации</translation>
</message>
@@ -2348,13 +2671,13 @@ Do you want to delete it anyway?</source>
<translation>Ошибка запиÑи ответа на уÑтройÑтво</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+569"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-6"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Отказано в Ñоединении</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-304"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-325"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2362,14 +2685,12 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+20"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
- <location line="+19"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>HTTP request failed</source>
<translation>HTTP-Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ удалÑÑ</translation>
</message>
<message>
- <location line="+73"/>
+ <location line="+94"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
<source>Invalid HTTP response header</source>
<translation>Ðекорректный HTTP-заголовок ответа</translation>
@@ -2408,7 +2729,7 @@ Do you want to delete it anyway?</source>
<translation>Соединение Ñ ÑƒÐ·Ð»Ð¾Ð¼ уÑтановлено</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+7"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Connection closed</source>
<translation>Соединение закрыто</translation>
@@ -2424,7 +2745,7 @@ Do you want to delete it anyway?</source>
<translation>ТребуетÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ</translation>
</message>
<message>
- <location line="-138"/>
+ <location line="-159"/>
<source>Connection refused (or timed out)</source>
<translation>Ð’ Ñоединении отказано (или Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ñтекло)</translation>
</message>
@@ -2623,7 +2944,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2057"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2094"/>
<source>Permission denied</source>
<translation>ДоÑтуп запрещён</translation>
</message>
@@ -2643,7 +2964,7 @@ Do you want to delete it anyway?</source>
<translation>Ðет Ñвободного меÑта на уÑтройÑтве</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1561"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1565"/>
<source>Unknown error</source>
<translation>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</translation>
</message>
@@ -2707,7 +3028,7 @@ Do you want to delete it anyway?</source>
<translation>Ðе удалоÑÑŒ выполнить unmap &apos;%1&apos;: %2</translation>
</message>
<message>
- <location line="+341"/>
+ <location line="+345"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
<translation>Модуль &apos;%1&apos; иÑпользует неÑомеÑтимую библиотеку Qt. (%2.%3.%4) [%5]</translation>
</message>
@@ -2759,7 +3080,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+1980"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2072"/>
<source>&amp;Undo</source>
<translation>&amp;Отменить дейÑтвие</translation>
</message>
@@ -2769,27 +3090,27 @@ Do you want to delete it anyway?</source>
<translation>&amp;Повторить дейÑтвие</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+9"/>
<source>Cu&amp;t</source>
<translation>&amp;Вырезать</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Copy</source>
<translation>&amp;Копировать</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Paste</source>
<translation>Ð’&amp;Ñтавить</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+8"/>
<source>Select All</source>
<translation>Выделить вÑÑ‘</translation>
</message>
@@ -2798,7 +3119,7 @@ Do you want to delete it anyway?</source>
<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: Ðекорректное имÑ</translation>
</message>
@@ -2836,7 +3157,7 @@ Do you want to delete it anyway?</source>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
- <location line="+45"/>
+ <location line="+59"/>
<source>%1: Invalid name</source>
<translation>%1: Ðекорректное имÑ</translation>
</message>
@@ -2867,7 +3188,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-64"/>
<source>%1: Connection error</source>
<translation>%1: Ошибка ÑоединениÑ</translation>
</message>
@@ -2892,7 +3213,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1261"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1270"/>
<source>Unable to open database &apos;</source>
<translation>Ðевозможно открыть базу данных &apos;</translation>
</message>
@@ -2902,7 +3223,7 @@ Do you want to delete it anyway?</source>
<translation>Ðевозможно ÑоединитьÑÑ</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+150"/>
<source>Unable to begin transaction</source>
<translation>Ðевозможно начать транзакцию</translation>
</message>
@@ -2920,12 +3241,13 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-969"/>
+ <location line="-977"/>
+ <location line="+31"/>
<source>Unable to fetch data</source>
<translation>Ðевозможно получить данные</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+161"/>
<source>Unable to execute query</source>
<translation>Ðевозможно выполнить запроÑ</translation>
</message>
@@ -3103,7 +3425,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+404"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+436"/>
<source>Actions</source>
<translation>ДейÑтвиÑ</translation>
</message>
@@ -3129,7 +3451,7 @@ Do you want to delete it anyway?</source>
<translation>О Qt</translation>
</message>
<message>
- <location line="-1611"/>
+ <location line="-1614"/>
<source>Show Details...</source>
<translation>Показать подробноÑти...</translation>
</message>
@@ -3139,7 +3461,7 @@ Do you want to delete it anyway?</source>
<translation>Скрыть подробноÑти...</translation>
</message>
<message>
- <location line="+1574"/>
+ <location line="+1577"/>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
<translation>&lt;h3&gt;О Qt&lt;/h3&gt;&lt;p&gt;Ð”Ð°Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° иÑпользует Qt верÑии %1.&lt;/p&gt;</translation>
</message>
@@ -3323,27 +3645,30 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="+85"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/>
<source>Request for opening non-local file %1</source>
<translation>Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° открытие файла вне файловой ÑиÑтемы %1</translation>
</message>
<message>
- <location line="+45"/>
+ <location line="+33"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+45"/>
<source>Error opening %1: %2</source>
<translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %1: %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>Ошибка запиÑи в %1: %2</translation>
</message>
<message>
- <location line="+48"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="-13"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+48"/>
<source>Cannot open %1: Path is a directory</source>
<translation>Ðевозможно открыть %1: Указан путь к каталогу</translation>
</message>
<message>
- <location line="+21"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+21"/>
<source>Read error reading from %1: %2</source>
<translation>Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð· %1: %2</translation>
</message>
@@ -3379,7 +3704,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+585"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+599"/>
<source>No suitable proxy found</source>
<translation>ПодходÑщий прокÑи-Ñервер не найден</translation>
</message>
@@ -3387,12 +3712,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReply</name>
<message>
- <location line="+95"/>
+ <location line="+101"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Ошибка загрузки %1 - ответ Ñервера: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+77"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+80"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>ÐеизвеÑтный протокол &quot;%1&quot;</translation>
</message>
@@ -3400,7 +3725,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+519"/>
+ <location line="+525"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð°</translation>
@@ -3409,7 +3734,7 @@ Do you want to delete it anyway?</source>
<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>Ðевозможно авторизоватьÑÑ</translation>
</message>
@@ -3438,8 +3763,8 @@ Do you want to delete it anyway?</source>
<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>Ðевозможно привÑзать Ñтолбец Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð³Ð¾ выполнениÑ</translation>
@@ -3483,7 +3808,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1790"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1806"/>
<source>Unable to connect</source>
<translation>Ðевозможно ÑоединитьÑÑ</translation>
</message>
@@ -3516,14 +3841,14 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-932"/>
- <location line="+346"/>
+ <location line="-937"/>
+ <location line="+351"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Ðевозможно уÑтановить &apos;SQL_CURSOR_STATIC&apos; атрибутом выражение. Проверьте наÑтройки драйвера ODBC</translation>
</message>
<message>
- <location line="-329"/>
- <location line="+623"/>
+ <location line="-334"/>
+ <location line="+628"/>
<source>Unable to execute statement</source>
<translation>Ðевозможно выполнить выражение</translation>
</message>
@@ -3543,7 +3868,7 @@ Do you want to delete it anyway?</source>
<translation>Ðевозможно привÑзать значение</translation>
</message>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+190"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/>
<location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/>
<location line="+576"/>
<source>Unable to fetch last</source>
@@ -3593,7 +3918,7 @@ Do you want to delete it anyway?</source>
<translation>Удалённый узел неожиданно прервал Ñоединение Ð´Ð»Ñ %1</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+168"/>
<location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/>
<source>No host name given</source>
<translation>Ð˜Ð¼Ñ ÑƒÐ·Ð»Ð° не задано</translation>
@@ -3602,7 +3927,7 @@ Do you want to delete it anyway?</source>
<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>ИмÑ</translation>
</message>
@@ -3777,7 +4102,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+108"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+110"/>
<source>locally connected</source>
<translation>Ñоединено локально</translation>
</message>
@@ -3788,7 +4113,7 @@ Do you want to delete it anyway?</source>
<translation>ПÑевдонимы: %1</translation>
</message>
<message>
- <location line="+223"/>
+ <location line="+225"/>
<location line="+199"/>
<source>unknown</source>
<translation>неизвеÑтно</translation>
@@ -3956,7 +4281,7 @@ Do you want to delete it anyway?</source>
<translation>Печать</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>Печать в файл ...</translation>
</message>
@@ -3971,7 +4296,7 @@ Do you want to delete it anyway?</source>
<translation>Печатать вÑе</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+82"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
<translation>%1 недоÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи.
@@ -4162,7 +4487,7 @@ Please choose a different file name.</source>
<translation>ПользовательÑкий</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;Параметры &gt;&gt;</translation>
@@ -4212,12 +4537,12 @@ Please choose a different file name.</source>
<translation>Параметры Ñтраницы</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+246"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+249"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+71"/>
<source>Print Preview</source>
<translation>ПроÑмотр печати</translation>
</message>
@@ -4297,7 +4622,12 @@ Please choose a different file name.</source>
<translation>Параметры Ñтраницы</translation>
</message>
<message>
- <location line="+150"/>
+ <location line="+6"/>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <location line="+148"/>
<source>Export to PDF</source>
<translation>ЭкÑпорт в PDF</translation>
</message>
@@ -4474,7 +4804,7 @@ Please choose a different file name.</source>
<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>Ðе удалоÑÑŒ открыть перенаправление ввода Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ</translation>
@@ -4491,7 +4821,7 @@ Please choose a different file name.</source>
<translation>Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑов (Ñбой fork): %1</translation>
</message>
<message>
- <location line="+252"/>
+ <location line="+258"/>
<location line="+52"/>
<location line="+74"/>
<location line="+66"/>
@@ -4504,7 +4834,7 @@ Please choose a different file name.</source>
<translation>Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° операцию Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑом иÑтекло</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+851"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+856"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4619,7 +4949,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+391"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+399"/>
<source>Error opening database</source>
<translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
@@ -4642,12 +4972,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-319"/>
+ <location line="-326"/>
<source>Unable to fetch results</source>
<translation>Ðевозможно получить результаты</translation>
</message>
<message>
- <location line="+143"/>
+ <location line="+150"/>
<source>Unable to execute statement</source>
<translation>Ðевозможно выполнить выражение</translation>
</message>
@@ -4655,7 +4985,7 @@ Please choose a different file name.</source>
<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="+538"/>
<source>Error opening database</source>
<translation>Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
@@ -4683,8 +5013,8 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-408"/>
- <location line="+66"/>
+ <location line="-395"/>
+ <location line="+62"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Ðевозможно получить Ñтроку</translation>
@@ -4710,7 +5040,7 @@ Please choose a different file name.</source>
<translation>КоличеÑтво параметров не Ñовпадает</translation>
</message>
<message>
- <location line="-204"/>
+ <location line="-200"/>
<source>No query</source>
<translation>ОтÑутÑтвует запроÑ</translation>
</message>
@@ -4725,7 +5055,7 @@ Please choose a different file name.</source>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Размещение</translation>
+ <translation>РаÑположение</translation>
</message>
<message>
<location line="+2"/>
@@ -4735,17 +5065,17 @@ Please choose a different file name.</source>
<message>
<location line="+2"/>
<source>Ignore-count</source>
- <translation type="unfinished">ПропуÑтить</translation>
+ <translation>Пропущено</translation>
</message>
<message>
<location line="+2"/>
<source>Single-shot</source>
- <translation type="unfinished">Один раз</translation>
+ <translation>Однократно</translation>
</message>
<message>
<location line="+2"/>
<source>Hit-count</source>
- <translation type="unfinished">Попаданий</translation>
+ <translation>Совпадений</translation>
</message>
</context>
<context>
@@ -4837,12 +5167,12 @@ Please choose a different file name.</source>
<message>
<location line="+16"/>
<source>Run to New Script</source>
- <translation type="unfinished">Выполнить до нового ÑценариÑ</translation>
+ <translation>Выполнить до нового ÑценариÑ</translation>
</message>
<message>
<location line="+15"/>
<source>Toggle Breakpoint</source>
- <translation type="unfinished">УÑтановить/убрать точку оÑтанова</translation>
+ <translation>УÑтановить/убрать точку оÑтанова</translation>
</message>
<message>
<location line="+1"/>
@@ -4974,22 +5304,22 @@ Please choose a different file name.</source>
<message>
<location filename="../src/scripttools/debugging/qscriptedit.cpp" line="+411"/>
<source>Toggle Breakpoint</source>
- <translation type="unfinished">УÑтановить/убрать точку оÑтанова</translation>
+ <translation>УÑтановить/убрать точку оÑтанова</translation>
</message>
<message>
<location line="+2"/>
<source>Disable Breakpoint</source>
- <translation type="unfinished">Убрать точку оÑтанова</translation>
+ <translation>Убрать точку оÑтанова</translation>
</message>
<message>
<location line="+1"/>
<source>Enable Breakpoint</source>
- <translation type="unfinished">УÑтановить точку оÑтанова</translation>
+ <translation>УÑтановить точку оÑтанова</translation>
</message>
<message>
<location line="+4"/>
<source>Breakpoint Condition:</source>
- <translation type="unfinished">УÑловие точки оÑтанова:</translation>
+ <translation>УÑловие точки оÑтанова:</translation>
</message>
</context>
<context>
@@ -5163,7 +5493,7 @@ Please choose a different file name.</source>
</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="+81"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1: доÑтуп запрещён</translation>
@@ -5255,117 +5585,117 @@ Please choose a different file name.</source>
<message>
<location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
<source>Space</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Пробел</translation>
</message>
<message>
<location line="+1"/>
<source>Esc</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Esc</translation>
</message>
<message>
<location line="+1"/>
<source>Tab</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Tab</translation>
</message>
<message>
<location line="+1"/>
<source>Backtab</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Backtab</translation>
</message>
<message>
<location line="+1"/>
<source>Backspace</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Backspace</translation>
</message>
<message>
<location line="+1"/>
<source>Return</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Return</translation>
</message>
<message>
<location line="+1"/>
<source>Enter</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Enter</translation>
</message>
<message>
<location line="+1"/>
<source>Ins</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ins</translation>
</message>
<message>
<location line="+1"/>
<source>Del</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Del</translation>
</message>
<message>
<location line="+1"/>
<source>Pause</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Pause</translation>
</message>
<message>
<location line="+1"/>
<source>Print</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Print</translation>
</message>
<message>
<location line="+1"/>
<source>SysReq</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">SysReq</translation>
</message>
<message>
<location line="+1"/>
<source>Home</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Home</translation>
</message>
<message>
<location line="+1"/>
<source>End</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">End</translation>
</message>
<message>
<location line="+1"/>
<source>Left</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Влево</translation>
</message>
<message>
<location line="+1"/>
<source>Up</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Вверх</translation>
</message>
<message>
<location line="+1"/>
<source>Right</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Вправо</translation>
</message>
<message>
<location line="+1"/>
<source>Down</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Вниз</translation>
</message>
<message>
<location line="+1"/>
<source>PgUp</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">PgUp</translation>
</message>
<message>
<location line="+1"/>
<source>PgDown</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">PgDown</translation>
</message>
<message>
<location line="+1"/>
<source>CapsLock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">CapsLock</translation>
</message>
<message>
<location line="+1"/>
<source>NumLock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">NumLock</translation>
</message>
<message>
<location line="+1"/>
<source>ScrollLock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">ScrollLock</translation>
</message>
<message>
<location line="+1"/>
@@ -5378,7 +5708,7 @@ Please choose a different file name.</source>
<translation type="unfinished">Справка</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Back</source>
<translation type="unfinished">Ðазад</translation>
</message>
@@ -5415,27 +5745,27 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Bass Boost</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">УÑиление баÑов</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Up</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">БаÑÑ‹ выше</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Down</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">БаÑÑ‹ ниже</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Up</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ð’Ñ‹Ñокие чаÑтоты выше</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Down</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ð’Ñ‹Ñокие чаÑтоты ниже</translation>
</message>
<message>
<location line="+1"/>
@@ -5573,39 +5903,485 @@ Please choose a different file name.</source>
<translation type="unfinished">ЗапуÑтить (F)</translation>
</message>
<message>
+ <location line="+1"/>
+ <source>Monitor Brightness Up</source>
+ <translation type="unfinished">ЯркоÑÑ‚ÑŒ монитора выше</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Monitor Brightness Down</source>
+ <translation type="unfinished">ЯркоÑÑ‚ÑŒ монитора ниже</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Light On/Off</source>
+ <translation type="unfinished">Вкл/выкл подÑветку клавиатуры</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Brightness Up</source>
+ <translation type="unfinished">ПодÑветка клавиатуры Ñрче</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Brightness Down</source>
+ <translation type="unfinished">ПодÑветка клавиатуры бледнее</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Power Off</source>
+ <translation type="unfinished">Выключение питаниÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Wake Up</source>
+ <translation type="unfinished">Пробуждение</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eject</source>
+ <translation type="unfinished">Извлечение</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Screensaver</source>
+ <translation type="unfinished">Хранитель Ñкрана</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>WWW</source>
+ <translation type="unfinished">WWW</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Sleep</source>
+ <translation type="unfinished">ЗаÑыпание</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>LightBulb</source>
+ <translatorcomment>лампочка?</translatorcomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shop</source>
+ <translation type="unfinished">Магазин</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>History</source>
+ <translation type="unfinished">ИÑториÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Add Favorite</source>
+ <translation type="unfinished">Добавить в избранное</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hot Links</source>
+ <translation type="unfinished">ГорÑчие ÑÑылки</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Adjust Brightness</source>
+ <translation type="unfinished">ÐаÑтройка ÑркоÑти</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Finance</source>
+ <translation type="unfinished">ФинанÑÑ‹</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Community</source>
+ <translation type="unfinished">СообщеÑтво</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Rewind</source>
+ <translation type="unfinished">Перемотка</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Back Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Application Left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Application Right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Book</source>
+ <translation type="unfinished">Книга</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>CD</source>
+ <translation type="unfinished">CD</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Calculator</source>
+ <translation type="unfinished">КалькулÑтор</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Clear</source>
+ <translation type="unfinished">ОчиÑтить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Clear Grab</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Close</source>
+ <translation type="unfinished">Закрыть</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy</source>
+ <translation type="unfinished">Копировать</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cut</source>
+ <translation type="unfinished">Вырезать</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>DOS</source>
+ <translation type="unfinished">DOS</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Documents</source>
+ <translation type="unfinished">Документы</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Spreadsheet</source>
+ <translation type="unfinished">Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browser</source>
+ <translation type="unfinished">Обозреватель</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Game</source>
+ <translation type="unfinished">Игра</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Go</source>
+ <translation type="unfinished">Перейти</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>iTouch</source>
+ <translation type="unfinished">iTouch</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Logoff</source>
+ <translation type="unfinished">Выйти из ÑиÑтемы</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Market</source>
+ <translation type="unfinished">Рынок</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Meeting</source>
+ <translation type="unfinished">Ð’Ñтреча</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Menu</source>
+ <translation type="unfinished">Клавиатурное меню</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Menu PB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>My Sites</source>
+ <translation type="unfinished">Мои Ñайты</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>News</source>
+ <translation type="unfinished">ÐовоÑти</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Home Office</source>
+ <translation type="unfinished">Домашний офиÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Option</source>
+ <translation type="unfinished">ОпциÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Paste</source>
+ <translation type="unfinished">Ð’Ñтавить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Phone</source>
+ <translation type="unfinished">Телефон</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Reply</source>
+ <translation type="unfinished">Ответить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Reload</source>
+ <translation type="unfinished">Перезагрузить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotate Windows</source>
+ <translation type="unfinished">Повернуть окна</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotation PB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotation KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save</source>
+ <translation type="unfinished">Сохранить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send</source>
+ <translation type="unfinished">Отправить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Spellchecker</source>
+ <translation type="unfinished">Проверка орфографии</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Split Screen</source>
+ <translation type="unfinished">Разделить Ñкран</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Support</source>
+ <translation type="unfinished">Поддержка</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Task Panel</source>
+ <translation type="unfinished">Панель задач</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Terminal</source>
+ <translation type="unfinished">Терминал</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Tools</source>
+ <translation type="unfinished">ИнÑтрументы</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Travel</source>
+ <translation type="unfinished">ПутешеÑтвие</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Video</source>
+ <translation type="unfinished">Видео</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Word Processor</source>
+ <translation type="unfinished">ТекÑтовый редактор</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>XFer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zoom In</source>
+ <translation type="unfinished">Увеличить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zoom Out</source>
+ <translation type="unfinished">Уменьшить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Away</source>
+ <translation type="unfinished">Ушёл</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Messenger</source>
+ <translation type="unfinished">Клиент обмена мгновенными ÑообщениÑми</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>WebCam</source>
+ <translation type="unfinished">Ð’Ñб-камера</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mail Forward</source>
+ <translation type="unfinished">ПереÑлать пиÑьмо</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Pictures</source>
+ <translation type="unfinished">ИзображениÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Music</source>
+ <translation type="unfinished">Музыка</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Battery</source>
+ <translation type="unfinished">БатареÑ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Bluetooth</source>
+ <translation type="unfinished">Bluetooth</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Wireless</source>
+ <translation type="unfinished">БеÑÐ¿Ñ€Ð¾Ð²Ð¾Ð´Ð½Ð°Ñ Ñеть</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ultra Wide Band</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Repeat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Random Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Subtitle</source>
+ <translation type="unfinished">Субтитры</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Cycle Track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Time</source>
+ <translation type="unfinished">ВремÑ</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>View</source>
+ <translation type="unfinished">Вид</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Top Menu</source>
+ <translation type="unfinished">Главное меню</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Suspend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hibernate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+4"/>
<source>Print Screen</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Печать Ñкрана</translation>
</message>
<message>
<location line="+1"/>
<source>Page Up</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ðа Ñтраницу вверх</translation>
</message>
<message>
<location line="+1"/>
<source>Page Down</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ðа Ñтраницу вниз</translation>
</message>
<message>
<location line="+1"/>
<source>Caps Lock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Верний региÑÑ‚Ñ€</translation>
</message>
<message>
<location line="+1"/>
<source>Num Lock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Цифровые клавиши</translation>
</message>
<message>
<location line="+1"/>
<source>Number Lock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Цифровые клавиши</translation>
</message>
<message>
<location line="+1"/>
<source>Scroll Lock</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Scroll Lock</translation>
</message>
<message>
<location line="+1"/>
@@ -5620,15 +6396,16 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Escape</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Escape</translation>
</message>
<message>
<location line="+1"/>
<source>System Request</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">СиÑтемный запроÑ</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-18"/>
+ <location line="+22"/>
<source>Select</source>
<translation type="unfinished">Выбрать</translation>
</message>
@@ -5665,12 +6442,12 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Call</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Позвонить</translation>
</message>
<message>
<location line="+1"/>
<source>Hangup</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Положить трубку</translation>
</message>
<message>
<location line="+1"/>
@@ -5678,43 +6455,43 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+561"/>
+ <location line="+575"/>
<location line="+135"/>
<source>Ctrl</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ctrl</translation>
</message>
<message>
<location line="-134"/>
<location line="+138"/>
<source>Shift</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Shift</translation>
</message>
<message>
<location line="-137"/>
<location line="+135"/>
<source>Alt</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Alt</translation>
</message>
<message>
<location line="-134"/>
<location line="+130"/>
<source>Meta</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Meta</translation>
</message>
<message>
<location line="-40"/>
<source>+</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">+</translation>
</message>
<message>
<location line="+61"/>
<source>F%1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">F%1</translation>
</message>
<message>
- <location line="-767"/>
+ <location line="-871"/>
<source>Home Page</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">ДомашнÑÑ Ñтраница</translation>
</message>
</context>
<context>
@@ -5813,7 +6590,7 @@ Please choose a different file name.</source>
<translation>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° SOCKSv5 прокÑи (код 0x%1)</translation>
</message>
<message>
- <location line="+685"/>
+ <location line="+689"/>
<source>Network operation timed out</source>
<translation>Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° Ñетевую операцию иÑтекло</translation>
</message>
@@ -5821,7 +6598,7 @@ Please choose a different file name.</source>
<context>
<name>QSoftKeyManager</name>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+78"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+63"/>
<source>Ok</source>
<translation>ОК</translation>
</message>
@@ -5846,7 +6623,7 @@ Please choose a different file name.</source>
<translation>Отмена</translation>
</message>
<message>
- <location line="+152"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+322"/>
<source>Exit</source>
<translation>Выход</translation>
</message>
@@ -5929,7 +6706,12 @@ Please choose a different file name.</source>
<translation>Ðевозможно запиÑать данные: %1</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+63"/>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Ðевозможно раÑшифровать данные: %1</translation>
+ </message>
+ <message>
+ <location line="+76"/>
<source>Error while reading: %1</source>
<translation>Ошибка чтениÑ: %1</translation>
</message>
@@ -5939,7 +6721,7 @@ Please choose a different file name.</source>
<translation>Ошибка ÐºÐ²Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SSL: %1</translation>
</message>
<message>
- <location line="-501"/>
+ <location line="-521"/>
<source>Error creating SSL context (%1)</source>
<translation>Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑта SSL: (%1)</translation>
</message>
@@ -5949,7 +6731,12 @@ Please choose a different file name.</source>
<translation>Ðеправильный или пуÑтой ÑпиÑок шифров (%1)</translation>
</message>
<message>
- <location line="+62"/>
+ <location line="+42"/>
+ <source>Private key does not certify public key, %1</source>
+ <translation>Закрытый ключ не ÑоответÑтвует открытому ключу, %1</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Error creating SSL session, %1</source>
<translation>Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑеÑÑии SSL, %1</translation>
</message>
@@ -5974,15 +6761,126 @@ Please choose a different file name.</source>
<translation>Ошибка загрузки закрытого ключа, %1</translation>
</message>
<message>
- <location line="+7"/>
- <source>Private key does not certificate public key, %1</source>
- <translation>Закрытый ключ не ÑоответÑтвует открытому ключу, %1</translation>
+ <location filename="../src/network/ssl/qsslerror.cpp" line="+213"/>
+ <source>No error</source>
+ <translation>Ðет ошибки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The issuer certificate could not be found</source>
+ <translatorcomment>Ð¸Ð·Ð´Ð°Ñ‚ÐµÐ»Ñ ?</translatorcomment>
+ <translation type="unfinished">Ðе удалоÑÑŒ найти Ñертификат запрашивающей Ñтороны</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>Ðе удалоÑÑŒ раÑшифровать подпиÑÑŒ Ñертификата</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The public key in the certificate could not be read</source>
+ <translation>Ðе удалоÑÑŒ прочитать открытый ключ Ñертификата</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The signature of the certificate is invalid</source>
+ <translation>ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ñертификата</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate is not yet valid</source>
+ <translation>Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата ещё не наÑтупил</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate has expired</source>
+ <translation>Срок дейÑÑ‚Ð²Ð¸Ñ Ñертификата иÑтёк</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Поле Ñертификата notBefore Ñодержит некорректное времÑ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Поле Ñертификата notAfter Ñодержит некорректное времÑ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation type="unfinished">СамоподпиÑанный Ñертификат не ÑвлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation type="unfinished">Корневой Ñертификат цепочки Ñертификатов ÑамоподпиÑанный и не ÑвлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>No certificates could be verified</source>
+ <translation>Ðе удалоÑÑŒ проверить Ñертификаты</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>One of the CA certificates is invalid</source>
+ <translation>Один из CA Ñертификатов некорректный</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation type="unfinished">Путь параметра basicConstraints Ñлишком длинный</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation type="unfinished">ПредÑтавленный Ñертификат не предназначен Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ иÑпользованиÑ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation type="unfinished">Корневой CA Ñертификат не ÑвлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ иÑпользованиÑ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation type="unfinished">Корневой CA Ñертификат отмечен как &apos;отказывать&apos; Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ иÑпользованиÑ</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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The peer did not present any certificate</source>
+ <translation>Узел не предоÑтавил Ñертификат</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>Ðазвание узла не Ñовпадает ни Ñ Ð¾Ð´Ð½Ð¸Ð¼ из допуÑтимых узлов данного Ñертификата</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Unknown error</source>
+ <translation>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</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 type="unfinished"></translation>
</message>
@@ -6036,7 +6934,7 @@ Please choose a different file name.</source>
<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>Ðевозможно открыть Ñоединение</translation>
</message>
@@ -6070,7 +6968,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2003"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2027"/>
<source>&amp;Undo</source>
<translation>&amp;Отменить дейÑтвие</translation>
</message>
@@ -6113,7 +7011,7 @@ Please choose a different file name.</source>
<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>Ðажать</translation>
@@ -6170,14 +7068,14 @@ Please choose a different file name.</source>
<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 Признак пиÑьма Ñлева направо</translation>
+ <translation type="unfinished">LRM Индикатор напиÑÐ°Ð½Ð¸Ñ Ñлева направо</translation>
</message>
<message>
<location line="+1"/>
<source>RLM Right-to-left mark</source>
- <translation>RLM Признак пиÑьма Ñправа налево</translation>
+ <translation type="unfinished">RLM Индикатор напиÑÐ°Ð½Ð¸Ñ Ñправа налево</translation>
</message>
<message>
<location line="+1"/>
@@ -6187,7 +7085,7 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
- <translation type="unfinished">ZWNJ Ðе объединÑющий Ñимвол нулевой ширины</translation>
+ <translation type="unfinished">ZWNJ Разделитель нулевой ширины</translation>
</message>
<message>
<location line="+1"/>
@@ -6197,27 +7095,27 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">LRE Индикатор напиÑÐ°Ð½Ð¸Ñ Ñлева направо внутри текÑта, напиÑанного Ñправа налево</translation>
</message>
<message>
<location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">RLE Индикатор напиÑÐ°Ð½Ð¸Ñ Ñправа налево внутри текÑта, напиÑанного Ñлева направо</translation>
</message>
<message>
<location line="+1"/>
<source>LRO Start of left-to-right override</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">LRO Перекрывающий индикатор напиÑÐ°Ð½Ð¸Ñ Ñлева направо</translation>
</message>
<message>
<location line="+1"/>
<source>RLO Start of right-to-left override</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">RLO Перекрывающий индикатор напиÑÐ°Ð½Ð¸Ñ Ñправа налево</translation>
</message>
<message>
<location line="+1"/>
<source>PDF Pop directional formatting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">PDF Индикатор конца текÑта Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ направлением</translation>
</message>
<message>
<location line="+6"/>
@@ -6228,7 +7126,7 @@ Please choose a different file name.</source>
<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>Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‘Ð½</translation>
</message>
@@ -6266,7 +7164,7 @@ Please choose a different file name.</source>
<translation>Ðекорректный HTTP-запроÑ</translation>
</message>
<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>Отправить</translation>
@@ -6284,7 +7182,7 @@ Please choose a different file name.</source>
<translation>СброÑить</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+11"/>
<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>Ð˜Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ð¸Ñка. Введите ключевые Ñлова Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка: </translation>
@@ -6541,19 +7439,19 @@ Please choose a different file name.</source>
<location line="+8"/>
<source>Audio Element</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ðудио-Ñлемент</translation>
</message>
<message>
<location line="+2"/>
<source>Video Element</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Видео-Ñлемент</translation>
</message>
<message>
<location line="+2"/>
<source>Mute Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;приглушить&quot;</translation>
</message>
<message>
<location line="+2"/>
@@ -6565,13 +7463,13 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Play Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;воÑпроизведение&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Pause Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;пауза&quot;</translation>
</message>
<message>
<location line="+2"/>
@@ -6589,7 +7487,7 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Rewind Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;перемотать&quot;</translation>
</message>
<message>
<location line="+2"/>
@@ -6601,73 +7499,73 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Elapsed Time</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Прошло времени</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining Time</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">ОÑталоÑÑŒ времени</translation>
</message>
<message>
<location line="+2"/>
<source>Status Display</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Отображение ÑоÑтоÑниÑ</translation>
</message>
<message>
<location line="+2"/>
<source>Fullscreen Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;полноÑкранный режим&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Forward Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;перемотка вперёд&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Back Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;перемотка назад&quot;</translation>
</message>
<message>
<location line="+8"/>
<source>Audio element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Элементы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ñпроизведением звука и Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑоÑтоÑниÑ</translation>
</message>
<message>
<location line="+2"/>
<source>Video element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Элементы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ñпроизведением видео и Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑоÑтоÑниÑ</translation>
</message>
<message>
<location line="+2"/>
<source>Mute audio tracks</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Выключить звуковые дорожки</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute audio tracks</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Включить звуковые дорожки</translation>
</message>
<message>
<location line="+2"/>
<source>Begin playback</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation>Ðачать воÑпроизведение</translation>
</message>
<message>
<location line="+2"/>
<source>Pause playback</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation>ПриоÑтановить воÑпроизведение</translation>
</message>
<message>
<location line="+2"/>
@@ -6685,7 +7583,7 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Rewind movie</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ðачать фильм Ñначала</translation>
</message>
<message>
<location line="+2"/>
@@ -6697,67 +7595,67 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Current movie time</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Текущее Ð²Ñ€ÐµÐ¼Ñ Ñ„Ð¸Ð»ÑŒÐ¼Ð°</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining movie time</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">ОÑталоÑÑŒ времени фильма</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie status</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Текущее ÑоÑтоÑние фильма</translation>
</message>
<message>
<location line="+2"/>
<source>Play movie in full-screen mode</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">ВоÑпроизводить фильм в полноÑкранном режиме</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly back</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">БыÑÑ‚Ñ€Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¾Ñ‚ÐºÐ° назад</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly forward</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">БыÑÑ‚Ñ€Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¾Ñ‚ÐºÐ° вперёд</translation>
</message>
<message>
<location line="+9"/>
<source>Indefinite time</source>
<comment>Media time description</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ð’Ñ€ÐµÐ¼Ñ Ð½Ðµ определено</translation>
</message>
<message>
<location line="+9"/>
<source>%1 days %2 hours %3 minutes %4 seconds</source>
<comment>Media time description</comment>
- <translation type="unfinished"></translation>
+ <translation>%1 дней %2 чаÑов %3 минут %4 Ñекунд</translation>
</message>
<message>
<location line="+4"/>
<source>%1 hours %2 minutes %3 seconds</source>
<comment>Media time description</comment>
- <translation type="unfinished"></translation>
+ <translation>%1 чаÑов %2 минут %3 Ñекунд</translation>
</message>
<message>
<location line="+4"/>
<source>%1 minutes %2 seconds</source>
<comment>Media time description</comment>
- <translation type="unfinished"></translation>
+ <translation>%1 минут %2 Ñекунд</translation>
</message>
<message>
<location line="+3"/>
<source>%1 seconds</source>
<comment>Media time description</comment>
- <translation type="unfinished"></translation>
+ <translation>%1 Ñекунд</translation>
</message>
<message>
<location line="-210"/>
@@ -6796,7 +7694,7 @@ Please choose a different file name.</source>
<translation>%1 (%2x%3 px)</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-инÑпектор - %2</translation>
</message>
@@ -6876,7 +7774,7 @@ Please choose a different file name.</source>
</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="+1833"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript: Предупреждение - %1</translation>
</message>
@@ -6886,7 +7784,7 @@ Please choose a different file name.</source>
<translation>JavaScript: Подтверждение - %1</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+19"/>
<source>JavaScript Prompt - %1</source>
<translation>JavaScript: Ð—Ð°Ð¿Ñ€Ð¾Ñ - %1</translation>
</message>
@@ -6901,7 +7799,7 @@ Please choose a different file name.</source>
<translation>Сбой Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ Ð½Ð° данной Ñтранице. Желаете оÑтановить выполение ÑценариÑ?</translation>
</message>
<message>
- <location line="+383"/>
+ <location line="+381"/>
<source>Move the cursor to the next character</source>
<translation>ПеремеÑтить указатель к Ñледующему Ñимволу</translation>
</message>
@@ -7122,7 +8020,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5652"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5757"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -7374,6 +8272,34 @@ Please choose a different file name.</source>
</message>
</context>
<context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <location filename="../src/xmlpatterns/api/qcoloringmessagehandler.cpp" line="+87"/>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>Предупреждение в %1, в Ñтроке %2, Ñтолбце %3: %4</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Warning in %1: %2</source>
+ <translation>Предупреждение в %1: %2</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Unknown location</source>
+ <translation>ÐеизвеÑтное раÑположение</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>Ошибка %1 в %2, в Ñтроке %3, Ñтолбце %4: %5</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Error %1 in %2: %3</source>
+ <translation>Ошибка %1 в %2: %3</translation>
+ </message>
+</context>
+<context>
<name>QXmlStream</name>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="+611"/>
@@ -7588,7 +8514,7 @@ Please choose a different file name.</source>
<message>
<location line="+10"/>
<source>Overflow: Can&apos;t represent date %1.</source>
- <translation>Переполнение: Ðе удаетÑÑ Ð¿Ñ€ÐµÐ´Ñтавить дату %1.</translation>
+ <translation>Переполнение: Ðе удаётÑÑ Ð¿Ñ€ÐµÐ´Ñтавить дату %1.</translation>
</message>
<message>
<location line="+9"/>
@@ -7759,7 +8685,7 @@ Please choose a different file name.</source>
</message>
<message>
<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, is %2 invalid.</source>
+ <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>Целевое Ð¸Ð¼Ñ Ð² обрабатываемой инÑтрукции не может быть %1 в любой комбинации нижнего и верхнего региÑтров. Ð˜Ð¼Ñ %2 некорректно.</translation>
</message>
<message>
@@ -7943,7 +8869,12 @@ Please choose a different file name.</source>
<translation>%1 ÑвлÑетÑÑ Ñхемой неизвеÑтного типа.</translation>
</message>
<message>
- <location line="-7041"/>
+ <location line="-7254"/>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>Шаблон Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже был объÑвлен.</translation>
+ </message>
+ <message>
+ <location line="+213"/>
<source>Only one %1 declaration can occur in the query prolog.</source>
<translation>Только одно объÑвление %1 может приÑутÑтвовать в прологе запроÑа.</translation>
</message>
@@ -7953,17 +8884,12 @@ Please choose a different file name.</source>
<translation>Ð˜Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ %1 завиÑит от ÑÐµÐ±Ñ Ñамой</translation>
</message>
<message>
- <location line="+63"/>
- <source>No variable by name %1 exists</source>
- <translation>ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 отÑутÑтвует</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %1 не иÑпользуетÑÑ</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2841"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2904"/>
<source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
<translation>ВерÑÐ¸Ñ %1 не поддерживаетÑÑ. ПоддерживаетÑÑ XQuery верÑии 1.0.</translation>
</message>
@@ -8024,37 +8950,12 @@ Please choose a different file name.</source>
<translation>ВозможноÑÑ‚ÑŒ импорта модулей не поддерживаетÑÑ</translation>
</message>
<message>
- <location line="+52"/>
- <source>No value is available for the external variable by name %1.</source>
- <translation>ОтÑутÑтвует значение Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ переменной Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1.</translation>
- </message>
- <message>
- <location line="-4036"/>
- <source>A template by name %1 has already been declared.</source>
- <translation>Шаблон Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже был объÑвлен.</translation>
- </message>
- <message>
- <location line="+3581"/>
+ <location line="-403"/>
<source>The keyword %1 cannot occur with any other mode name.</source>
- <translation type="unfinished">Ключевое Ñлово %1 не может вÑтречатьÑÑ Ñ Ð»ÑŽÐ±Ñ‹Ð¼ другим названием режима.</translation>
- </message>
- <message>
- <location line="+29"/>
- <source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
- <translation>Значение атрибута %1 должно быть типа %2, но %3 ему не ÑоответÑтвует.</translation>
+ <translation>Ключевое Ñлово %1 не может вÑтречатьÑÑ Ñ Ð»ÑŽÐ±Ñ‹Ð¼ другим названием режима.</translation>
</message>
<message>
- <location line="+75"/>
- <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
- <translation>Ðе удаетÑÑ ÑвÑзать Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ %1. По умолчанию Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ ÑвÑзан Ñ Ð¿Ñ€Ð¾ÑтранÑтвом имён %2.</translation>
- </message>
- <message>
- <location line="+312"/>
- <source>A variable by name %1 has already been declared.</source>
- <translation>ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже объÑвлена.</translation>
- </message>
- <message>
- <location line="+135"/>
+ <location line="+551"/>
<source>A stylesheet function must have a prefixed name.</source>
<translation>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñтилей должна иметь Ð¸Ð¼Ñ Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом.</translation>
</message>
@@ -8084,8 +8985,33 @@ Please choose a different file name.</source>
<translation>Внешние функции не поддерживаютÑÑ. Ð’Ñе поддерживаемые функции могут иÑпользоватьÑÑ Ð½Ð°Ð¿Ñ€Ñмую без первоначального объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñ… в качеÑтве внешних</translation>
</message>
<message>
- <location line="+37"/>
- <source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
+ <location line="-3755"/>
+ <source>No variable with name %1 exists</source>
+ <translation>ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 отÑутÑтвует</translation>
+ </message>
+ <message>
+ <location line="+3146"/>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>Значение атрибута %1 должно быть типа %2, но %3 не ÑоответÑтвует данному типу.</translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>Ðе удаётÑÑ ÑвÑзать Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ %1. По умолчанию Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ ÑвÑзан Ñ Ð¿Ñ€Ð¾ÑтранÑтвом имён %2.</translation>
+ </message>
+ <message>
+ <location line="+312"/>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже объÑвлена.</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>ОтÑутÑтвует значение Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ переменной Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1.</translation>
+ </message>
+ <message>
+ <location line="+220"/>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
<translation>Ðргумент Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже объÑвлен. Ð˜Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ аргумента должно быть уникальным.</translation>
</message>
<message>
@@ -8149,7 +9075,17 @@ Please choose a different file name.</source>
<translation>ОÑÑŒ %1 не поддерживаетÑÑ Ð² XQuery</translation>
</message>
<message>
- <location line="+1197"/>
+ <location line="+333"/>
+ <source>No function with name %1 is available.</source>
+ <translation>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 отÑутÑтвует.</translation>
+ </message>
+ <message>
+ <location line="+250"/>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>Ðтрибут Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже ÑущеÑтвует Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñлемента.</translation>
+ </message>
+ <message>
+ <location line="+614"/>
<source>%1 is not a valid name for a processing-instruction.</source>
<translation>%1 ÑвлÑетÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¼ названием Ð´Ð»Ñ Ð¸Ð½Ñтрукции обработки.</translation>
</message>
@@ -8174,12 +9110,7 @@ Please choose a different file name.</source>
<translation>Ð’Ñтречена конÑтрукциÑ, Ð·Ð°Ð¿Ñ€ÐµÑ‰Ñ‘Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ Ñзыка (%1).</translation>
</message>
<message>
- <location line="+6380"/>
- <source>No function by name %1 is available.</source>
- <translation>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 отÑутÑтвует.</translation>
- </message>
- <message>
- <location line="+102"/>
+ <location line="+6482"/>
<source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
<translation>URI проÑтранÑтва имён не может быть пуÑтой Ñтрокой при ÑвÑзывании Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом %1.</translation>
</message>
@@ -8214,12 +9145,7 @@ Please choose a different file name.</source>
<translation>URI проÑтранÑтва имён должно быть конÑтантой и не может Ñодержать выражений.</translation>
</message>
<message>
- <location line="+16"/>
- <source>An attribute by name %1 has already appeared on this element.</source>
- <translation>Ðтрибут Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %1 уже ÑущеÑтвует Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñлемента.</translation>
- </message>
- <message>
- <location line="+61"/>
+ <location line="+77"/>
<source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
<translation>ПрÑмой конÑтруктор Ñлемента ÑоÑтавлен некорректно. %1 заканчиваетÑÑ Ð½Ð° %2.</translation>
</message>
@@ -8926,7 +9852,7 @@ Please choose a different file name.</source>
</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 type="unfinished"></translation>
</message>
<message>
@@ -9378,7 +10304,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+131"/>
- <source>Component with id %1 has been defined previously.</source>
+ <source>Component with ID %1 has been defined previously.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -9792,11 +10718,16 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+6"/>
- <source>Fixed value constrained not allowed if element is nillable.</source>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+230"/>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-198"/>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -9840,12 +10771,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <source>Element %1 can not contain other elements, as it has a fixed content.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+43"/>
+ <location line="+61"/>
<source>Element %1 is missing required attribute %2.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_sv.ts b/translations/qt_sv.ts
index 61fc081f6f..391af4abcb 100644
--- a/translations/qt_sv.ts
+++ b/translations/qt_sv.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>Tjänster</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>Göm %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Göm övriga</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Visa alla</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_zh_CN.ts b/translations/qt_zh_CN.ts
index a3f20a1302..d6a995dfa3 100644
--- a/translations/qt_zh_CN.ts
+++ b/translations/qt_zh_CN.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="zh">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>æœåŠ¡</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>éšè—%1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>éšè—其他</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>全部显示</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qt_zh_TW.ts b/translations/qt_zh_TW.ts
index a2cd27e788..50c004893b 100644
--- a/translations/qt_zh_TW.ts
+++ b/translations/qt_zh_TW.ts
@@ -2,6 +2,29 @@
<!DOCTYPE TS>
<TS version="2.0" language="zh_TW">
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <source>Services</source>
+ <translation>æœå‹™</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>éš±è—%1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>éš±è—其他</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>顯示全部</translation>
+ </message>
+</context>
+<context>
<name>AudioOutput</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts
index 9f747126e5..7be0f04c9f 100644
--- a/translations/qtconfig_ru.ts
+++ b/translations/qtconfig_ru.ts
@@ -45,7 +45,7 @@
<message>
<location line="+31"/>
<source>Phonon GStreamer backend not available.</source>
- <translation type="unfinished">Модуль Phonon поддержки GStreamer недоÑтупен.</translation>
+ <translation>Модуль поддержки GStreamer недоÑтупен.</translation>
</message>
<message>
<location line="+4"/>
@@ -156,363 +156,347 @@
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/qtconfig/mainwindowbase.ui" line="+54"/>
+ <location filename="../tools/qtconfig/mainwindowbase.ui"/>
<source>Qt Configuration</source>
<translation>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Qt</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Appearance</source>
<translation>Внешний вид</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>GUI Style</source>
<translation>Стиль пользовательÑкого графичеÑкого интерфейÑа</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Select GUI &amp;Style:</source>
<translation type="unfinished">&amp;Стиль интерфейÑа:</translation>
</message>
<message>
- <location line="+88"/>
+ <location/>
<source>Build Palette</source>
<translation type="unfinished">Палитра</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>&amp;3-D Effects:</source>
<translation>Эффекты &amp;3D:</translation>
</message>
<message>
- <location line="+31"/>
+ <location/>
<source>Window Back&amp;ground:</source>
<translation>&amp;Фон окна:</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>&amp;Tune Palette...</source>
<translation>&amp;ÐаÑтроить палитру...</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Please use the KDE Control Center to set the palette.</source>
<translation>ИÑпользуйте Центр ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ KDE Ð´Ð»Ñ Ð½Ð°Ñтройки цветов.</translation>
</message>
<message>
- <location line="-154"/>
+ <location/>
<source>Preview</source>
<translation>ПредпроÑмотр</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Select &amp;Palette:</source>
<translation>Выбор &amp;палитры:</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>Active Palette</source>
<translation>Палитра активных Ñлементов</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Inactive Palette</source>
<translation>Палитра неактивных Ñлементов</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Disabled Palette</source>
<translation>Палитра выключенных Ñлементов</translation>
</message>
<message>
- <location line="+138"/>
+ <location/>
<source>Fonts</source>
<translation>Шрифты</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Default Font</source>
<translation>Шрифт по умолчанию</translation>
</message>
<message>
- <location line="+45"/>
+ <location/>
<source>&amp;Style:</source>
<translation>&amp;Ðачертание:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Point Size:</source>
<translation>&amp;Размер:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>F&amp;amily:</source>
<translation>&amp;Шрифт:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Sample Text</source>
<translation>ТекÑÑ‚ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° (Sample Text)</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Font Substitution</source>
<translation>ПодÑтановка шрифтов</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>S&amp;elect or Enter a Family:</source>
<translation>&amp;Выберите шрифт Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹:</translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Current Substitutions:</source>
<translation>Текущие замены:</translation>
</message>
<message>
- <location line="+18"/>
- <location line="+501"/>
+ <location/>
<source>Up</source>
<translation>Выше</translation>
</message>
<message>
- <location line="-494"/>
- <location line="+508"/>
+ <location/>
<source>Down</source>
<translation>Ðиже</translation>
</message>
<message>
- <location line="-501"/>
- <location line="+494"/>
+ <location/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
- <location line="-464"/>
+ <location/>
<source>Select s&amp;ubstitute Family:</source>
<translation>&amp;ЗаменÑÑ‚ÑŒ на шрифт:</translation>
</message>
<message>
- <location line="+20"/>
- <location line="+487"/>
+ <location/>
<source>Add</source>
<translation>Добавить</translation>
</message>
<message>
- <location line="-474"/>
+ <location/>
<source>Interface</source>
<translation>ИнтерфейÑ</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Feel Settings</source>
<translation type="unfinished">ÐаÑтройка указателÑ</translation>
</message>
<message>
- <location line="+12"/>
- <location line="+26"/>
+ <location/>
<source> ms</source>
<translation> мÑ</translation>
</message>
<message>
- <location line="-13"/>
+ <location/>
<source>&amp;Double Click Interval:</source>
<translation>&amp;Интервал двойного щелчка:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>No blinking</source>
<translation>Без миганиÑ</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>&amp;Cursor Flash Time:</source>
<translation>&amp;Период Ð¼Ð¸Ð³Ð°Ð½Ð¸Ñ ÐºÑƒÑ€Ñора:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source> lines</source>
<translation> Ñтрок</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Wheel &amp;Scroll Lines:</source>
<translation type="unfinished">&amp;Прокручивать Ñтрок при повороте колёÑика:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Resolve symlinks in URLs</source>
<translation>Разрешать Ñимвольные ÑÑылки в URL-ах</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>GUI Effects</source>
<translation type="unfinished">Эффекты пользовательÑкого интерфейÑа</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>&amp;Enable</source>
<translation>&amp;Включить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Alt+E</source>
<translation>Alt+D</translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>&amp;Menu Effect:</source>
<translation>Эффект &amp;меню:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>C&amp;omboBox Effect:</source>
<translation type="unfinished">Эффект C&amp;omboBox:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;ToolTip Effect:</source>
<translation type="unfinished">Эффект &amp;ToolTip:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Tool&amp;Box Effect:</source>
<translation type="unfinished">Эффект Tool&amp;Box:</translation>
</message>
<message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Disable</source>
<translation>Выключен</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Animate</source>
<translation>ÐнимациÑ</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+33"/>
+ <location/>
<source>Fade</source>
<translation>Затухание</translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Global Strut</source>
<translation type="unfinished">Специальные возможноÑти</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Minimum &amp;Width:</source>
<translation>ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ &amp;ширина:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Minimum Hei&amp;ght:</source>
<translation>ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²&amp;Ñ‹Ñота:</translation>
</message>
<message>
- <location line="+10"/>
- <location line="+10"/>
+ <location/>
<source> pixels</source>
<translation> пикÑелей</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Enhanced support for languages written right-to-left</source>
<translation>РаÑÑˆÐ¸Ñ€ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° пиÑьма Ñправа налево</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>XIM Input Style:</source>
<translation>Стиль ввода XIM:</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>On The Spot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Over The Spot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Off The Spot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Root</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Default Input Method:</source>
<translation>Метод ввода по умолчанию:</translation>
</message>
<message>
- <location line="+31"/>
+ <location/>
<source>Printer</source>
<translation>Принтер</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Enable Font embedding</source>
<translation>Разрешить вÑтраивание шрифтов</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Font Paths</source>
<translation>Пути к шрифтам</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
<source>Browse...</source>
<translation>Обзор...</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
<translation>Ðажмите кнопку &lt;b&gt;Обзор...&lt;/b&gt; или укажите каталог и нажмите Ввод Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ в ÑпиÑок.</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Phonon</source>
<translation>Phonon</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>About Phonon</source>
<translation>О Phonon</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+44"/>
+ <location/>
<source>Current Version:</source>
<translation>Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ:</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Not available</source>
<translation>ÐедоÑтупно</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Website:</source>
<translation>Ð’Ñб-Ñайт:</translation>
</message>
<message>
- <location line="-37"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -525,12 +509,12 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>About GStreamer</source>
<translation>О GStreamer</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -543,22 +527,22 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>GStreamer backend settings</source>
<translation>ÐаÑтройки Ð¼Ð¾Ð´ÑƒÐ»Ñ GStreamer</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Preferred audio sink:</source>
<translation>Предпочитаемое звуковое уÑтройÑтво:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Preferred render method:</source>
<translation>Предпочитаемый метод отриÑовки:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -571,57 +555,57 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Внимание: Изменение данных наÑтроек может повлечь невозможноÑÑ‚ÑŒ корректного запуÑка приложений.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Help</source>
<translation>&amp;Справка</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Save</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Save</source>
<translation>Сохранить</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>E&amp;xit</source>
<translation>В&amp;ыход</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Exit</source>
<translation>Выход</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;About</source>
<translation>&amp;О программе</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>About &amp;Qt</source>
<translation>О &amp;Qt</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About Qt</source>
<translation>О Qt</translation>
</message>
@@ -629,208 +613,207 @@ p, li { white-space: pre-wrap; }
<context>
<name>PaletteEditorAdvancedBase</name>
<message>
- <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui" line="+61"/>
+ <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui"/>
<source>Tune Palette</source>
<translation>ÐаÑтройка палитры</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
<translation>&lt;b&gt;Изменение палитры&lt;/b&gt;&lt;p&gt;Изменение палитры текущего виджета или формы.&lt;/p&gt;&lt;p&gt;ИÑпользуйте Ñформированную палитру или выберите цвета Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ группы цветов и каждой их роли.&lt;/p&gt;&lt;p&gt;Палитру можно проверить на виджетах в разных режимах Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² разделе предпроÑмотра.&lt;/p&gt;</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Select &amp;Palette:</source>
<translation>Выбор &amp;палитры:</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Active Palette</source>
<translation>Палитра активных Ñлементов</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Inactive Palette</source>
<translation>Палитра неактивных Ñлементов</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Disabled Palette</source>
<translation>Палитра выключенных Ñлементов</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Auto</source>
<translation>ÐвтоматичеÑки</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Build inactive palette from active</source>
<translation type="unfinished">Создать неактивную палитру из активной</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Build disabled palette from active</source>
<translation type="unfinished">Создать выключенную палитру из активной</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Central color &amp;roles</source>
<translation type="unfinished">Роли &amp;цветов</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Choose central color role</source>
<translation type="unfinished">Выберите роль цвета</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
<translation type="unfinished">&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;ДоÑтупны Ñледующие роли: &lt;ul&gt;&lt;li&gt;Window - оÑновной цвет фона.&lt;/li&gt; &lt;li&gt;WindowText - оÑновной цвет текÑта.&lt;/li&gt; &lt;li&gt;Base - иÑпользуетÑÑ Ð² качеÑтве фона длÑ, например, виджетов Ñ Ñ‚ÐµÐºÑтовыми полÑми, обычно, белый или другой Ñветлый цвет.&lt;/li&gt; &lt;li&gt;Text - цвет текÑта иÑпользуемый ÑовмеÑтно Ñ Base. Обычно, он Ñовпадает Ñ WindowText, так как в Ñтом Ñлучае получаетÑÑ Ð¼Ð°ÐºÑимальный контраÑÑ‚ и Ñ Window, и Ñ Base.&lt;/li&gt; &lt;li&gt;Button - оÑновной цвет фона кнопки, которой требуетÑÑ Ñ†Ð²ÐµÑ‚ отличный от Window, например, в Ñтиле Macintosh.&lt;/li&gt; &lt;li&gt;ButtonText - цвет текÑта иÑпользуемый ÑовмеÑтно Ñ Button.&lt;/li&gt; &lt;li&gt;Highlight - цвет Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ или выделенного Ñлемента.&lt;/li&gt; &lt;li&gt;HighlightedText - цвет текÑта контраÑтирующий Ñ Highlight.&lt;/li&gt; &lt;li&gt;BrightText - цвет текÑта, который отличаетÑÑ Ð¾Ñ‚ WindowText и хорошо контраÑтирует Ñ Ñ‡ÐµÑ€Ð½Ñ‹Ð¼.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>WindowText</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Button</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Base</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>BrightText</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>ButtonText</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Highlight</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>HighlightedText</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+52"/>
+ <location/>
<source>&amp;Select Color:</source>
<translation>&amp;Выбор цвета:</translation>
</message>
<message>
- <location line="+24"/>
- <location line="+171"/>
+ <location/>
<source>Choose a color</source>
<translation>Выберите цвет</translation>
</message>
<message>
- <location line="-168"/>
+ <location/>
<source>Choose a color for the selected central color role.</source>
<translation>Выберите цвет Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ роли.</translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>3-D shadow &amp;effects</source>
<translation>Эффекты т&amp;рехмерной тени</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Build &amp;from button color</source>
<translation>Получ&amp;ить из цвета кнопки</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Generate shadings</source>
<translation type="unfinished">Создание полутонов</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
<translation type="unfinished">Включите, чтобы цвета Ñффекта трёхмерноÑти были получены из цвета кнопки.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Choose 3D-effect color role</source>
<translation type="unfinished">Выбор роли цвета дÑл Ñффекта трёхмерноÑти</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
<translation>&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;ДоÑтупны Ñледующие роли: &lt;ul&gt; &lt;li&gt;Light - Ñветлее цвета Button. &lt;/li&gt; &lt;li&gt;Midlight - Ñреднее между Light и Button. &lt;/li&gt; &lt;li&gt;Mid - Ñреднее между Button и Dark. &lt;/li&gt; &lt;li&gt;Dark - темнее цвета Button. &lt;/li&gt; &lt;li&gt;Shadow - очень темный цвет. &lt;/li&gt; &lt;/ul&gt;</translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Light</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Midlight</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Mid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Dark</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location/>
<source>Select Co&amp;lor:</source>
<translation>Выбор &amp;цвета:</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>Choose a color for the selected effect color role.</source>
<translation type="unfinished">Выбор цвета Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ роли.</translation>
</message>
<message>
- <location line="+42"/>
+ <location/>
<source>OK</source>
<translation>ПринÑÑ‚ÑŒ</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Close dialog and apply all changes.</source>
<translation>Закрыть окно Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ изменений.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Close dialog and discard all changes.</source>
<translation>Закрыть окно Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¾Ð¹ изменений.</translation>
</message>
@@ -846,62 +829,62 @@ p, li { white-space: pre-wrap; }
<context>
<name>PreviewWidgetBase</name>
<message>
- <location filename="../tools/qtconfig/previewwidgetbase.ui" line="+66"/>
+ <location filename="../tools/qtconfig/previewwidgetbase.ui"/>
<source>Preview Window</source>
<translation>Окно предпроÑмотра</translation>
</message>
<message>
- <location line="+40"/>
+ <location/>
<source>ButtonGroup</source>
<translation>ButtonGroup</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>RadioButton1</source>
<translation>RadioButton1</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>RadioButton2</source>
<translation>RadioButton2</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton3</source>
<translation>RadioButton3</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>ButtonGroup2</source>
<translation>ButtonGroup2</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>CheckBox1</source>
<translation>CheckBox1</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>CheckBox2</source>
<translation>CheckBox2</translation>
</message>
<message>
- <location line="+36"/>
+ <location/>
<source>LineEdit</source>
<translation>LineEdit</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>ComboBox</source>
<translation>ComboBox</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>PushButton</source>
<translation>PushButton</translation>
</message>
<message>
- <location line="+41"/>
+ <location/>
<source>&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
diff --git a/translations/qvfb_ru.ts b/translations/qvfb_ru.ts
index 6d8681ea25..28f701029c 100644
--- a/translations/qvfb_ru.ts
+++ b/translations/qvfb_ru.ts
@@ -4,7 +4,7 @@
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+865"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+868"/>
<location line="+204"/>
<source>Record</source>
<translation>ЗапиÑать</translation>
@@ -76,191 +76,193 @@
<context>
<name>Config</name>
<message>
- <location filename="../tools/qvfb/config.ui" line="+54"/>
+ <location filename="../tools/qvfb/config.ui"/>
<source>Configure</source>
<translation>ÐаÑтройка</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Size</source>
<translation>Размер</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>176x220 &quot;SmartPhone&quot;</source>
<translation>176x220 &quot;SmartPhone&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>240x320 &quot;PDA&quot;</source>
<translation>240x320 &quot;PDA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>320x240 &quot;TV&quot; / &quot;QVGA&quot;</source>
<translation>320x240 &quot;TV&quot; / &quot;QVGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>640x480 &quot;VGA&quot;</source>
<translation>640x480 &quot;VGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
+ <source>800x480</source>
+ <translation>800x480</translation>
+ </message>
+ <message>
+ <location/>
<source>800x600</source>
<translation>800x600</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>1024x768</source>
<translation>1024x768</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Custom</source>
<translation>ОÑобый</translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Depth</source>
<translation>Глубина</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>1 bit monochrome</source>
<translation>1 бит (монохромный)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>2 bit grayscale</source>
<translation>2 бита (градации Ñерого)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>4 bit grayscale</source>
<translation>4 бита (градации Ñерого)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>8 bit</source>
<translation>8 бит</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>12 (16) bit</source>
<translation>12 (16) бит</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>15 bit</source>
<translation>15 бит</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>16 bit</source>
<translation>16 бит</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>18 bit</source>
<translation>18 бит</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>24 bit</source>
<translation>24 бита</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit</source>
<translation>32 бита</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit ARGB</source>
<translation>32 бита (ARGB)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Swap red and blue channels</source>
<translation>ПоменÑÑ‚ÑŒ Ñиний и краÑный каналы</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>BGR format</source>
<translation>Формат BGR</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Skin</source>
<translation>Обложка</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>None</source>
<translation>Ðет</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Emulate touch screen (no mouse move)</source>
<translatorcomment>указателÑ?</translatorcomment>
<translation>Эмулировать тачÑкрин (без Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source>
<translation>Эмулировать ж/к Ñкран (только Ñ 3-Ñ… кратным увеличением)</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>&lt;p&gt;Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth &lt;i&gt;above&lt;/i&gt;. You may freely modify the Gamma &lt;i&gt;below&lt;/i&gt;.</source>
<translation>&lt;p&gt;Имейте в виду, что программы, иÑпользующие Ñ„Ñ€Ñймбуфер, будут завершены, еÑли изменитÑÑ &lt;i&gt;размер&lt;/i&gt; и/или &lt;i&gt;глубина&lt;/i&gt; Ñкрана.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Gamma</source>
<translation>Гамма</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Blue</source>
<translation>Синий</translation>
</message>
<message>
- <location line="+489"/>
- <location line="+496"/>
- <location line="+14"/>
- <location line="+496"/>
+ <location/>
<source>1.0</source>
<translation>1.0</translation>
</message>
<message>
- <location line="-999"/>
+ <location/>
<source>Green</source>
<translation>Зеленый</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>All</source>
<translation>Ð’Ñе</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Red</source>
<translation>КраÑный</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Set all to 1.0</source>
<translation>Ð’Ñ‹Ñтавить вÑе в 1.0</translation>
</message>
<message>
- <location line="+34"/>
+ <location/>
<source>&amp;OK</source>
<translation>&amp;ОК</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Cancel</source>
<translation>От&amp;мена</translation>
</message>
@@ -326,12 +328,12 @@
<context>
<name>QVFb</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="-501"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="-504"/>
<source>Browse...</source>
<translation>Обзор...</translation>
</message>
<message>
- <location line="+140"/>
+ <location line="+143"/>
<source>Load Custom Skin...</source>
<translation>Загрузить обложку пользователÑ...</translation>
</message>
diff --git a/translations/translations.pri b/translations/translations.pri
index a8fb7ee51e..34da6b118e 100644
--- a/translations/translations.pri
+++ b/translations/translations.pri
@@ -58,7 +58,7 @@ ts-linguist.depends = sub-tools
ts-assistant.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/assistant/translations/translations.pro \
&& $$LUPDATE \
- ../tools/assistant/translations/qt_help.pro))
+ ../tools/assistant/translations/qt_help.pro)
ts-assistant.depends = sub-tools
###### Qtconfig
diff --git a/util/unicode/.gitattributes b/util/unicode/.gitattributes
new file mode 100644
index 0000000000..772b88fc2f
--- /dev/null
+++ b/util/unicode/.gitattributes
@@ -0,0 +1 @@
+data/*.txt -crlf
diff --git a/util/unicode/data/CompositionExclusions.txt b/util/unicode/data/CompositionExclusions.txt
deleted file mode 100644
index 8a9b7be8dd..0000000000
--- a/util/unicode/data/CompositionExclusions.txt
+++ /dev/null
@@ -1,197 +0,0 @@
-# CompositionExclusions-5.0.0.txt
-# Date: 2006-05-23, 12:42:00 PST [KW]
-#
-# This file lists the characters for the Composition Exclusion Table
-# defined in UAX #15, Unicode Normalization Forms.
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2006 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# For more information, see
-# http://www.unicode.org/unicode/reports/tr15/#Primary Exclusion List Table
-#
-# For a full derivation of composition exclusions, see the derived property
-# Full_Composition_Exclusion in DerivedNormalizationProps.txt
-#
-
-# ================================================
-# (1) Script Specifics
-#
-# This list of characters cannot be derived from the UnicodeData.txt file.
-# ================================================
-
-0958 # DEVANAGARI LETTER QA
-0959 # DEVANAGARI LETTER KHHA
-095A # DEVANAGARI LETTER GHHA
-095B # DEVANAGARI LETTER ZA
-095C # DEVANAGARI LETTER DDDHA
-095D # DEVANAGARI LETTER RHA
-095E # DEVANAGARI LETTER FA
-095F # DEVANAGARI LETTER YYA
-09DC # BENGALI LETTER RRA
-09DD # BENGALI LETTER RHA
-09DF # BENGALI LETTER YYA
-0A33 # GURMUKHI LETTER LLA
-0A36 # GURMUKHI LETTER SHA
-0A59 # GURMUKHI LETTER KHHA
-0A5A # GURMUKHI LETTER GHHA
-0A5B # GURMUKHI LETTER ZA
-0A5E # GURMUKHI LETTER FA
-0B5C # ORIYA LETTER RRA
-0B5D # ORIYA LETTER RHA
-0F43 # TIBETAN LETTER GHA
-0F4D # TIBETAN LETTER DDHA
-0F52 # TIBETAN LETTER DHA
-0F57 # TIBETAN LETTER BHA
-0F5C # TIBETAN LETTER DZHA
-0F69 # TIBETAN LETTER KSSA
-0F76 # TIBETAN VOWEL SIGN VOCALIC R
-0F78 # TIBETAN VOWEL SIGN VOCALIC L
-0F93 # TIBETAN SUBJOINED LETTER GHA
-0F9D # TIBETAN SUBJOINED LETTER DDHA
-0FA2 # TIBETAN SUBJOINED LETTER DHA
-0FA7 # TIBETAN SUBJOINED LETTER BHA
-0FAC # TIBETAN SUBJOINED LETTER DZHA
-0FB9 # TIBETAN SUBJOINED LETTER KSSA
-FB1D # HEBREW LETTER YOD WITH HIRIQ
-FB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A # HEBREW LETTER SHIN WITH SHIN DOT
-FB2B # HEBREW LETTER SHIN WITH SIN DOT
-FB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E # HEBREW LETTER ALEF WITH PATAH
-FB2F # HEBREW LETTER ALEF WITH QAMATS
-FB30 # HEBREW LETTER ALEF WITH MAPIQ
-FB31 # HEBREW LETTER BET WITH DAGESH
-FB32 # HEBREW LETTER GIMEL WITH DAGESH
-FB33 # HEBREW LETTER DALET WITH DAGESH
-FB34 # HEBREW LETTER HE WITH MAPIQ
-FB35 # HEBREW LETTER VAV WITH DAGESH
-FB36 # HEBREW LETTER ZAYIN WITH DAGESH
-FB38 # HEBREW LETTER TET WITH DAGESH
-FB39 # HEBREW LETTER YOD WITH DAGESH
-FB3A # HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B # HEBREW LETTER KAF WITH DAGESH
-FB3C # HEBREW LETTER LAMED WITH DAGESH
-FB3E # HEBREW LETTER MEM WITH DAGESH
-FB40 # HEBREW LETTER NUN WITH DAGESH
-FB41 # HEBREW LETTER SAMEKH WITH DAGESH
-FB43 # HEBREW LETTER FINAL PE WITH DAGESH
-FB44 # HEBREW LETTER PE WITH DAGESH
-FB46 # HEBREW LETTER TSADI WITH DAGESH
-FB47 # HEBREW LETTER QOF WITH DAGESH
-FB48 # HEBREW LETTER RESH WITH DAGESH
-FB49 # HEBREW LETTER SHIN WITH DAGESH
-FB4A # HEBREW LETTER TAV WITH DAGESH
-FB4B # HEBREW LETTER VAV WITH HOLAM
-FB4C # HEBREW LETTER BET WITH RAFE
-FB4D # HEBREW LETTER KAF WITH RAFE
-FB4E # HEBREW LETTER PE WITH RAFE
-
-# Total code points: 67
-
-# ================================================
-# (2) Post Composition Version precomposed characters
-#
-# These characters cannot be derived solely from the UnicodeData.txt file
-# in this version of Unicode.
-#
-# Note that characters added to the standard after the
-# Composition Version and which have canonical decomposition mappings
-# are not automatically added to this list of Post Composition
-# Version precomposed characters.
-# ================================================
-
-2ADC # FORKING
-1D15E # MUSICAL SYMBOL HALF NOTE
-1D15F # MUSICAL SYMBOL QUARTER NOTE
-1D160 # MUSICAL SYMBOL EIGHTH NOTE
-1D161 # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB # MUSICAL SYMBOL MINIMA
-1D1BC # MUSICAL SYMBOL MINIMA BLACK
-1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF # MUSICAL SYMBOL FUSA WHITE
-1D1C0 # MUSICAL SYMBOL FUSA BLACK
-
-# Total code points: 14
-
-# ================================================
-# (3) Singleton Decompositions
-#
-# These characters can be derived from the UnicodeData.txt file
-# by including all characters whose canonical decomposition
-# consists of a single character.
-#
-# These characters are simply quoted here for reference.
-# See also Full_Composition_Exclusion in DerivedNormalizationProps.txt
-# ================================================
-
-# 0340..0341 [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-# 0343 COMBINING GREEK KORONIS
-# 0374 GREEK NUMERAL SIGN
-# 037E GREEK QUESTION MARK
-# 0387 GREEK ANO TELEIA
-# 1F71 GREEK SMALL LETTER ALPHA WITH OXIA
-# 1F73 GREEK SMALL LETTER EPSILON WITH OXIA
-# 1F75 GREEK SMALL LETTER ETA WITH OXIA
-# 1F77 GREEK SMALL LETTER IOTA WITH OXIA
-# 1F79 GREEK SMALL LETTER OMICRON WITH OXIA
-# 1F7B GREEK SMALL LETTER UPSILON WITH OXIA
-# 1F7D GREEK SMALL LETTER OMEGA WITH OXIA
-# 1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
-# 1FBE GREEK PROSGEGRAMMENI
-# 1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
-# 1FCB GREEK CAPITAL LETTER ETA WITH OXIA
-# 1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-# 1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
-# 1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-# 1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
-# 1FEE..1FEF [2] GREEK DIALYTIKA AND OXIA..GREEK VARIA
-# 1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
-# 1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
-# 1FFD GREEK OXIA
-# 2000..2001 [2] EN QUAD..EM QUAD
-# 2126 OHM SIGN
-# 212A..212B [2] KELVIN SIGN..ANGSTROM SIGN
-# 2329 LEFT-POINTING ANGLE BRACKET
-# 232A RIGHT-POINTING ANGLE BRACKET
-# F900..FA0D [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-# FA10 CJK COMPATIBILITY IDEOGRAPH-FA10
-# FA12 CJK COMPATIBILITY IDEOGRAPH-FA12
-# FA15..FA1E [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-# FA20 CJK COMPATIBILITY IDEOGRAPH-FA20
-# FA22 CJK COMPATIBILITY IDEOGRAPH-FA22
-# FA25..FA26 [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-# FA2A..FA2D [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-# FA30..FA6A [59] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6A
-# FA70..FAD9 [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-# 2F800..2FA1D [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 924
-
-# ================================================
-# (4) Non-Starter Decompositions
-#
-# These characters can be derived from the UnicodeData file
-# by including all characters whose canonical decomposition consists
-# of a sequence of characters, the first of which has a non-zero
-# combining class.
-#
-# These characters are simply quoted here for reference.
-# See also Full_Composition_Exclusion in DerivedNormalizationProps.txt
-# ================================================
-
-# 0344 COMBINING GREEK DIALYTIKA TONOS
-# 0F73 TIBETAN VOWEL SIGN II
-# 0F75 TIBETAN VOWEL SIGN UU
-# 0F81 TIBETAN VOWEL SIGN REVERSED II
-
-# Total code points: 4
-
diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp
index 8f27d4a969..f2ebe7c886 100644
--- a/util/unicode/main.cpp
+++ b/util/unicode/main.cpp
@@ -38,36 +38,56 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
#include <qlist.h>
#include <qhash.h>
#include <qfile.h>
+#include <qbytearray.h>
#include <qstring.h>
#include <qchar.h>
-#include <private/qunicodetables_p.h>
#include <qvector.h>
#include <qdebug.h>
+#if 0
+#include <private/qunicodetables_p.h>
+#endif
+#define DATA_VERSION_S "5.0"
+#define DATA_VERSION_STR "QChar::Unicode_5_0"
+
+#define LAST_CODEPOINT 0x10ffff
+#define LAST_CODEPOINT_STR "0x10ffff"
+
+
+static QHash<QByteArray, QChar::UnicodeVersion> age_map;
+
+static void initAgeMap()
+{
+ struct AgeMap {
+ const QChar::UnicodeVersion version;
+ const char *age;
+ } ageMap[] = {
+ { QChar::Unicode_1_1, "1.1" },
+ { QChar::Unicode_2_0, "2.0" },
+ { QChar::Unicode_2_1_2, "2.1" },
+ { QChar::Unicode_3_0, "3.0" },
+ { QChar::Unicode_3_1, "3.1" },
+ { QChar::Unicode_3_2, "3.2" },
+ { QChar::Unicode_4_0, "4.0" },
+ { QChar::Unicode_4_1, "4.1" },
+ { QChar::Unicode_5_0, "5.0" },
+ { QChar::Unicode_Unassigned, 0 }
+ };
+ AgeMap *d = ageMap;
+ while (d->age) {
+ age_map.insert(d->age, d->version);
+ ++d;
+ }
+}
-static struct AgeMap {
- const char *age;
- const QChar::UnicodeVersion version;
-} ageMap [] = {
- { "1.1", QChar::Unicode_1_1 },
- { "2.0", QChar::Unicode_2_0 },
- { "2.1", QChar::Unicode_2_1_2 },
- { "3.0", QChar::Unicode_3_0 },
- { "3.1", QChar::Unicode_3_1 },
- { "3.2", QChar::Unicode_3_2 },
- { "4.0", QChar::Unicode_4_0 },
- { "4.1", QChar::Unicode_4_1 },
- { "5.0", QChar::Unicode_5_0 },
- { 0, QChar::Unicode_Unassigned }
-};
-#define CURRENT_UNICODE_VERSION "QChar::Unicode_5_0"
static const char *grapheme_break_string =
" enum GraphemeBreak {\n"
- " GraphemeBreakOther, \n"
+ " GraphemeBreakOther,\n"
" GraphemeBreakCR,\n"
" GraphemeBreakLF,\n"
" GraphemeBreakControl,\n"
@@ -90,9 +110,11 @@ enum GraphemeBreak {
GraphemeBreakT,
GraphemeBreakLV,
GraphemeBreakLVT
+
+ , GraphemeBreak_Unassigned
};
-QHash<QByteArray, GraphemeBreak> grapheme_break_map;
+static QHash<QByteArray, GraphemeBreak> grapheme_break_map;
static void initGraphemeBreak()
{
@@ -110,7 +132,7 @@ static void initGraphemeBreak()
{ GraphemeBreakT, "T" },
{ GraphemeBreakLV, "LV" },
{ GraphemeBreakLVT, "LVT" },
- { GraphemeBreakOther, 0 }
+ { GraphemeBreak_Unassigned, 0 }
};
GraphemeBreakList *d = breaks;
while (d->name) {
@@ -119,7 +141,8 @@ static void initGraphemeBreak()
}
}
-const char *word_break_string =
+
+static const char *word_break_string =
" enum WordBreak {\n"
" WordBreakOther,\n"
" WordBreakFormat,\n"
@@ -140,10 +163,11 @@ enum WordBreak {
WordBreakMidNum,
WordBreakNumeric,
WordBreakExtendNumLet
-};
+ , WordBreak_Unassigned
+};
-QHash<QByteArray, WordBreak> word_break_map;
+static QHash<QByteArray, WordBreak> word_break_map;
static void initWordBreak()
{
@@ -159,7 +183,7 @@ static void initWordBreak()
{ WordBreakMidNum, "MidNum" },
{ WordBreakNumeric, "Numeric" },
{ WordBreakExtendNumLet, "ExtendNumLet" },
- { WordBreakFormat, 0 }
+ { WordBreak_Unassigned, 0 }
};
WordBreakList *d = breaks;
while (d->name) {
@@ -196,10 +220,11 @@ enum SentenceBreak {
SentenceBreakATerm,
SentenceBreakSTerm,
SentenceBreakClose
-};
+ , SentenceBreak_Unassigned
+};
-QHash<QByteArray, SentenceBreak> sentence_break_map;
+static QHash<QByteArray, SentenceBreak> sentence_break_map;
static void initSentenceBreak()
{
@@ -218,7 +243,7 @@ static void initSentenceBreak()
{ SentenceBreakATerm, "ATerm" },
{ SentenceBreakSTerm, "STerm" },
{ SentenceBreakClose, "Close" },
- { SentenceBreakOther, 0 }
+ { SentenceBreak_Unassigned, 0 }
};
SentenceBreakList *d = breaks;
while (d->name) {
@@ -228,33 +253,7 @@ static void initSentenceBreak()
}
-// Keep this one in sync with the code in createPropertyInfo
-const char *property_string =
- " struct Properties {\n"
- " ushort category : 8;\n"
- " ushort line_break_class : 8;\n"
- " ushort direction : 8;\n"
- " ushort combiningClass :8;\n"
- " ushort joining : 2;\n"
- " signed short digitValue : 6; /* 5 needed */\n"
- " ushort unicodeVersion : 4;\n"
- " ushort lowerCaseSpecial : 1;\n"
- " ushort upperCaseSpecial : 1;\n"
- " ushort titleCaseSpecial : 1;\n"
- " ushort caseFoldSpecial : 1; /* currently unused */\n"
- " signed short mirrorDiff : 16;\n"
- " signed short lowerCaseDiff : 16;\n"
- " signed short upperCaseDiff : 16;\n"
- " signed short titleCaseDiff : 16;\n"
- " signed short caseFoldDiff : 16;\n"
- " ushort graphemeBreak : 8;\n"
- " ushort wordBreak : 8;\n"
- " ushort sentenceBreak : 8;\n"
- " };\n"
- " Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);\n"
- " Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);\n";
-
-const char *lineBreakClass =
+static const char *lineBreakClass =
" // see http://www.unicode.org/reports/tr14/tr14-19.html\n"
" // we don't use the XX, AI and CB properties and map them to AL instead.\n"
" // as we don't support any EBDIC based OS'es, NL is ignored and mapped to AL as well.\n"
@@ -268,16 +267,108 @@ const char *lineBreakClass =
" LineBreak_SP, LineBreak_CR, LineBreak_LF, LineBreak_BK\n"
" };\n\n";
-const char *methods =
+enum LineBreakClass {
+ LineBreak_OP, LineBreak_CL, LineBreak_QU, LineBreak_GL, LineBreak_NS,
+ LineBreak_EX, LineBreak_SY, LineBreak_IS, LineBreak_PR, LineBreak_PO,
+ LineBreak_NU, LineBreak_AL, LineBreak_ID, LineBreak_IN, LineBreak_HY,
+ LineBreak_BA, LineBreak_BB, LineBreak_B2, LineBreak_ZW, LineBreak_CM,
+ LineBreak_WJ, LineBreak_H2, LineBreak_H3, LineBreak_JL, LineBreak_JV,
+ LineBreak_JT, LineBreak_SA, LineBreak_SG,
+ LineBreak_SP, LineBreak_CR, LineBreak_LF, LineBreak_BK
+
+ , LineBreak_Unassigned
+};
+
+static QHash<QByteArray, LineBreakClass> line_break_map;
+
+static void initLineBreak()
+{
+ // ### Classes XX and AI are left out and mapped to AL for now;
+ // ### Class NL is ignored and mapped to AL as well.
+ struct LineBreakList {
+ LineBreakClass brk;
+ const char *name;
+ } breaks[] = {
+ { LineBreak_BK, "BK" },
+ { LineBreak_CR, "CR" },
+ { LineBreak_LF, "LF" },
+ { LineBreak_CM, "CM" },
+ { LineBreak_AL, "NL" },
+ { LineBreak_SG, "SG" },
+ { LineBreak_WJ, "WJ" },
+ { LineBreak_ZW, "ZW" },
+ { LineBreak_GL, "GL" },
+ { LineBreak_SP, "SP" },
+ { LineBreak_B2, "B2" },
+ { LineBreak_BA, "BA" },
+ { LineBreak_BB, "BB" },
+ { LineBreak_HY, "HY" },
+ { LineBreak_AL, "CB" }, // ###
+ { LineBreak_CL, "CL" },
+ { LineBreak_EX, "EX" },
+ { LineBreak_IN, "IN" },
+ { LineBreak_NS, "NS" },
+ { LineBreak_OP, "OP" },
+ { LineBreak_QU, "QU" },
+ { LineBreak_IS, "IS" },
+ { LineBreak_NU, "NU" },
+ { LineBreak_PO, "PO" },
+ { LineBreak_PR, "PR" },
+ { LineBreak_SY, "SY" },
+ { LineBreak_AL, "AI" },
+ { LineBreak_AL, "AL" },
+ { LineBreak_H2, "H2" },
+ { LineBreak_H3, "H3" },
+ { LineBreak_ID, "ID" },
+ { LineBreak_JL, "JL" },
+ { LineBreak_JV, "JV" },
+ { LineBreak_JT, "JT" },
+ { LineBreak_SA, "SA" },
+ { LineBreak_AL, "XX" },
+ { LineBreak_Unassigned, 0 }
+ };
+ LineBreakList *d = breaks;
+ while (d->name) {
+ line_break_map.insert(d->name, d->brk);
+ ++d;
+ }
+}
+
+
+// Keep this one in sync with the code in createPropertyInfo
+static const char *property_string =
+ " struct Properties {\n"
+ " ushort category : 8; /* 5 needed */\n"
+ " ushort line_break_class : 8; /* 6 needed */\n"
+ " ushort direction : 8; /* 5 needed */\n"
+ " ushort combiningClass : 8;\n"
+ " ushort joining : 2;\n"
+ " signed short digitValue : 6; /* 5 needed */\n"
+ " ushort unicodeVersion : 4;\n"
+ " ushort lowerCaseSpecial : 1;\n"
+ " ushort upperCaseSpecial : 1;\n"
+ " ushort titleCaseSpecial : 1;\n"
+ " ushort caseFoldSpecial : 1; /* currently unused */\n"
+ " signed short mirrorDiff : 16;\n"
+ " signed short lowerCaseDiff : 16;\n"
+ " signed short upperCaseDiff : 16;\n"
+ " signed short titleCaseDiff : 16;\n"
+ " signed short caseFoldDiff : 16;\n"
+ " ushort graphemeBreak : 8; /* 4 needed */\n"
+ " ushort wordBreak : 8; /* 4 needed */\n"
+ " ushort sentenceBreak : 8; /* 4 needed */\n"
+ " };\n"
+ " Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);\n"
+ " Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);\n";
+
+static const char *methods =
" Q_CORE_EXPORT QUnicodeTables::LineBreakClass QT_FASTCALL lineBreakClass(uint ucs4);\n"
- " inline int lineBreakClass(const QChar &ch) {\n"
- " return QUnicodeTables::lineBreakClass(ch.unicode());\n"
- " }\n"
+ " inline int lineBreakClass(const QChar &ch)\n"
+ " { return lineBreakClass(ch.unicode()); }\n"
"\n"
" Q_CORE_EXPORT int QT_FASTCALL script(uint ucs4);\n"
- " Q_CORE_EXPORT_INLINE int QT_FASTCALL script(const QChar &ch) {\n"
- " return script(ch.unicode());\n"
- " }\n\n";
+ " inline int script(const QChar &ch)\n"
+ " { return script(ch.unicode()); }\n\n";
struct PropertyFlags {
@@ -312,7 +403,7 @@ struct PropertyFlags {
// from DerivedAge.txt
QChar::UnicodeVersion age : 4;
int digitValue;
- uint line_break_class : 5;
+ uint line_break_class : 6;
int mirrorDiff : 16;
@@ -329,8 +420,9 @@ struct PropertyFlags {
SentenceBreak sentenceBreak;
};
-QList<int> specialCaseMap;
-int specialCaseMaxLen = 0;
+
+static QList<int> specialCaseMap;
+static int specialCaseMaxLen = 0;
static int appendToSpecialCaseMap(const QList<int> &map)
{
@@ -347,7 +439,7 @@ static int appendToSpecialCaseMap(const QList<int> &map)
specialCaseMaxLen = qMax(specialCaseMaxLen, utf16map.size());
utf16map << 0;
- for (int i = 0; i < specialCaseMap.size() - utf16map.size() - 1; ++i) {
+ for (int i = 0; i < specialCaseMap.size() - utf16map.size() + 1; ++i) {
int j;
for (j = 0; j < utf16map.size(); ++j) {
if (specialCaseMap.at(i+j) != utf16map.at(j))
@@ -364,7 +456,7 @@ static int appendToSpecialCaseMap(const QList<int> &map)
struct UnicodeData {
UnicodeData(int codepoint = 0) {
- p.category = QChar::NoCategory;
+ p.category = QChar::Other_NotAssigned; // Cn
p.combiningClass = 0;
p.direction = QChar::DirL;
@@ -387,7 +479,7 @@ struct UnicodeData {
p.age = QChar::Unicode_Unassigned;
p.mirrorDiff = 0;
p.digitValue = -1;
- p.line_break_class = QUnicodeTables::LineBreak_AL;
+ p.line_break_class = LineBreak_AL; // XX -> AL
p.lowerCaseDiff = 0;
p.upperCaseDiff = 0;
p.titleCaseDiff = 0;
@@ -438,14 +530,15 @@ enum UniDataFields {
UD_TitleCase
};
-QHash<QByteArray, QChar::Category> categoryMap;
+
+static QHash<QByteArray, QChar::Category> categoryMap;
static void initCategoryMap()
{
struct Cat {
QChar::Category cat;
const char *name;
- } categories [] = {
+ } categories[] = {
{ QChar::Mark_NonSpacing, "Mn" },
{ QChar::Mark_SpacingCombining, "Mc" },
{ QChar::Mark_Enclosing, "Me" },
@@ -485,13 +578,14 @@ static void initCategoryMap()
{ QChar::NoCategory, 0 }
};
Cat *c = categories;
- while (c->cat != QChar::NoCategory) {
+ while (c->name) {
categoryMap.insert(c->name, c->cat);
++c;
}
}
-QHash<QByteArray, QChar::Direction> directionMap;
+
+static QHash<QByteArray, QChar::Direction> directionMap;
static void initDirectionMap()
{
@@ -528,7 +622,7 @@ static void initDirectionMap()
}
-QHash<QByteArray, QChar::Decomposition> decompositionMap;
+static QHash<QByteArray, QChar::Decomposition> decompositionMap;
static void initDecompositionMap()
{
@@ -553,7 +647,7 @@ static void initDecompositionMap()
{ QChar::Square, "<square>" },
{ QChar::Compat, "<compat>" },
{ QChar::Fraction, "<fraction>" },
- { QChar::NoDecomposition, 0 }
+ { QChar::NoDecomposition, 0 }
};
Dec *d = decompositions;
while (d->name) {
@@ -563,28 +657,31 @@ static void initDecompositionMap()
}
-QHash<int, UnicodeData> unicodeData;
-QList<PropertyFlags> uniqueProperties;
+static QHash<int, UnicodeData> unicodeData;
+static QList<PropertyFlags> uniqueProperties;
-QHash<int, int> decompositionLength;
-int highestComposedCharacter = 0;
-int numLigatures = 0;
-int highestLigature = 0;
+static QHash<int, int> decompositionLength;
+static int highestComposedCharacter = 0;
+static int numLigatures = 0;
+static int highestLigature = 0;
-struct Ligature {ushort u1; ushort u2; ushort ligature;};
+struct Ligature {
+ ushort u1;
+ ushort u2;
+ ushort ligature;
+};
// we need them sorted after the first component for fast lookup
-bool operator < (const Ligature &l1, const Ligature &l2) {
- return l1.u1 < l2.u1;
-}
+bool operator < (const Ligature &l1, const Ligature &l2)
+{ return l1.u1 < l2.u1; }
-QHash<ushort, QList<Ligature> > ligatureHashes;
+static QHash<ushort, QList<Ligature> > ligatureHashes;
-QHash<int, int> combiningClassUsage;
+static QHash<int, int> combiningClassUsage;
-int maxLowerCaseDiff = 0;
-int maxUpperCaseDiff = 0;
-int maxTitleCaseDiff = 0;
+static int maxLowerCaseDiff = 0;
+static int maxUpperCaseDiff = 0;
+static int maxTitleCaseDiff = 0;
static void readUnicodeData()
{
@@ -609,6 +706,8 @@ static void readUnicodeData()
QList<QByteArray> properties = line.split(';');
bool ok;
int codepoint = properties[UD_Value].toInt(&ok, 16);
+ Q_ASSERT(ok);
+ Q_ASSERT(codepoint <= LAST_CODEPOINT);
int lastCodepoint = codepoint;
QByteArray name = properties[UD_Name];
@@ -617,11 +716,16 @@ static void readUnicodeData()
nextLine.resize(1024);
f.readLine(nextLine.data(), 1024);
QList<QByteArray> properties = nextLine.split(';');
+ Q_ASSERT(properties[UD_Name].startsWith('<') && properties[UD_Name].contains("Last"));
lastCodepoint = properties[UD_Value].toInt(&ok, 16);
+ Q_ASSERT(ok);
+ Q_ASSERT(lastCodepoint <= LAST_CODEPOINT);
}
UnicodeData data(codepoint);
data.p.category = categoryMap.value(properties[UD_Category], QChar::NoCategory);
+ if (data.p.category == QChar::NoCategory)
+ qFatal("unassigned char category: %s", properties[UD_Category].constData());
data.p.combiningClass = properties[UD_CombiningClass].toInt();
if (!combiningClassUsage.contains(data.p.combiningClass))
@@ -634,6 +738,8 @@ static void readUnicodeData()
if (!properties[UD_UpperCase].isEmpty()) {
int upperCase = properties[UD_UpperCase].toInt(&ok, 16);
Q_ASSERT(ok);
+ if (qAbs(upperCase - codepoint) >= (1<<14))
+ qWarning() << "upperCaseDiff exceeded (" << hex << codepoint << "->" << upperCase << ")";
data.p.upperCaseDiff = upperCase - codepoint;
maxUpperCaseDiff = qMax(maxUpperCaseDiff, qAbs(data.p.upperCaseDiff));
if (codepoint > 0xffff) {
@@ -644,7 +750,9 @@ static void readUnicodeData()
}
if (!properties[UD_LowerCase].isEmpty()) {
int lowerCase = properties[UD_LowerCase].toInt(&ok, 16);
- Q_ASSERT (ok);
+ Q_ASSERT(ok);
+ if (qAbs(lowerCase - codepoint) >= (1<<14))
+ qWarning() << "lowerCaseDiff exceeded (" << hex << codepoint << "->" << lowerCase << ")";
data.p.lowerCaseDiff = lowerCase - codepoint;
maxLowerCaseDiff = qMax(maxLowerCaseDiff, qAbs(data.p.lowerCaseDiff));
if (codepoint > 0xffff) {
@@ -658,7 +766,9 @@ static void readUnicodeData()
properties[UD_TitleCase] = properties[UD_UpperCase];
if (!properties[UD_TitleCase].isEmpty()) {
int titleCase = properties[UD_TitleCase].toInt(&ok, 16);
- Q_ASSERT (ok);
+ Q_ASSERT(ok);
+ if (qAbs(titleCase - codepoint) >= (1<<14))
+ qWarning() << "titleCaseDiff exceeded (" << hex << codepoint << "->" << titleCase << ")";
data.p.titleCaseDiff = titleCase - codepoint;
maxTitleCaseDiff = qMax(maxTitleCaseDiff, qAbs(data.p.titleCaseDiff));
if (codepoint > 0xffff) {
@@ -677,13 +787,17 @@ static void readUnicodeData()
highestComposedCharacter = qMax(highestComposedCharacter, codepoint);
QList<QByteArray> d = decomposition.split(' ');
if (d[0].contains('<')) {
- data.decompositionType = decompositionMap.value(d[0], QChar::Canonical);
+ data.decompositionType = decompositionMap.value(d[0], QChar::NoDecomposition);
+ if (data.decompositionType == QChar::NoDecomposition)
+ qFatal("unassigned decomposition type: %s", d[0].constData());
d.takeFirst();
} else {
data.decompositionType = QChar::Canonical;
}
- for (int i = 0; i < d.size(); ++i)
+ for (int i = 0; i < d.size(); ++i) {
data.decomposition.append(d[i].toInt(&ok, 16));
+ Q_ASSERT(ok);
+ }
if (!decompositionLength.contains(data.decomposition.size()))
decompositionLength[data.decomposition.size()] = 1;
else
@@ -725,14 +839,14 @@ static void readBidiMirroring()
bool ok;
int codepoint = pair[0].toInt(&ok, 16);
+ Q_ASSERT(ok);
int mirror = pair[1].toInt(&ok, 16);
+ Q_ASSERT(ok);
UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
d.mirroredChar = mirror;
- if (qAbs(codepoint-d.mirroredChar) > maxMirroredDiff)
- maxMirroredDiff = qAbs(codepoint - d.mirroredChar);
-
d.p.mirrorDiff = d.mirroredChar - codepoint;
+ maxMirroredDiff = qMax(maxMirroredDiff, qAbs(d.p.mirrorDiff));
unicodeData.insert(codepoint, d);
}
}
@@ -764,6 +878,8 @@ static void readArabicShaping()
bool ok;
int codepoint = shaping[0].toInt(&ok, 16);
+ Q_ASSERT(ok);
+
QChar::Joining j = QChar::OtherJoining;
QByteArray shape = shaping[2].trimmed();
if (shape == "R")
@@ -810,22 +926,17 @@ static void readDerivedAge()
bool ok;
int from = cl[0].toInt(&ok, 16);
+ Q_ASSERT(ok);
int to = from;
- if (cl.size() == 2)
+ if (cl.size() == 2) {
to = cl[1].toInt(&ok, 16);
-
- QChar::UnicodeVersion age = QChar::Unicode_Unassigned;
- QByteArray ba = l[1];
- AgeMap *map = ageMap;
- while (map->age) {
- if (ba == map->age) {
- age = map->version;
- break;
- }
- ++map;
+ Q_ASSERT(ok);
}
+
+ QChar::UnicodeVersion age = age_map.value(l[1].trimmed(), QChar::Unicode_Unassigned);
//qDebug() << hex << from << ".." << to << ba << age;
- Q_ASSERT(age != QChar::Unicode_Unassigned);
+ if (age == QChar::Unicode_Unassigned)
+ qFatal("unassigned or unhandled age value: %s", l[1].constData());
for (int codepoint = from; codepoint <= to; ++codepoint) {
UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
@@ -836,11 +947,11 @@ static void readDerivedAge()
}
-static void readCompositionExclusion()
+static void readDerivedNormalizationProps()
{
- QFile f("data/CompositionExclusions.txt");
+ QFile f("data/DerivedNormalizationProps.txt");
if (!f.exists())
- qFatal("Couldn't find CompositionExclusions.txt");
+ qFatal("Couldn't find DerivedNormalizationProps.txt");
f.open(QFile::ReadOnly);
@@ -853,42 +964,61 @@ static void readCompositionExclusion()
int comment = line.indexOf('#');
if (comment >= 0)
line = line.left(comment);
- line.replace(" ", "");
- if (line.isEmpty())
+ if (line.trimmed().isEmpty())
continue;
- Q_ASSERT(!line.contains(".."));
+ QList<QByteArray> l = line.split(';');
+ Q_ASSERT(l.size() >= 2);
+
+ QByteArray propName = l[1].trimmed();
+ if (propName != "Full_Composition_Exclusion")
+ // ###
+ continue;
+
+ QByteArray codes = l[0].trimmed();
+ codes.replace("..", ".");
+ QList<QByteArray> cl = codes.split('.');
bool ok;
- int codepoint = line.toInt(&ok, 16);
+ int from = cl[0].toInt(&ok, 16);
+ Q_ASSERT(ok);
+ int to = from;
+ if (cl.size() == 2) {
+ to = cl[1].toInt(&ok, 16);
+ Q_ASSERT(ok);
+ }
- UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
- d.excludedComposition = true;
- unicodeData.insert(codepoint, d);
+ for (int codepoint = from; codepoint <= to; ++codepoint) {
+ UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
+ d.excludedComposition = true;
+ unicodeData.insert(codepoint, d);
+ }
}
- for (int i = 0; i < 0x110000; ++i) {
- UnicodeData data = unicodeData.value(i, UnicodeData(i));
- if (!data.excludedComposition
- && data.decompositionType == QChar::Canonical
- && data.decomposition.size() > 1) {
- Q_ASSERT(data.decomposition.size() == 2);
-
- uint part1 = data.decomposition.at(0);
- uint part2 = data.decomposition.at(1);
- UnicodeData first = unicodeData.value(part1, UnicodeData(part1));
- if (first.p.combiningClass != 0)
- continue;
+ for (int codepoint = 0; codepoint <= LAST_CODEPOINT; ++codepoint) {
+ UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
+ if (!d.excludedComposition
+ && d.decompositionType == QChar::Canonical
+ && d.decomposition.size() > 1) {
+ Q_ASSERT(d.decomposition.size() == 2);
+
+ uint part1 = d.decomposition.at(0);
+ uint part2 = d.decomposition.at(1);
+
+ // all non-starters are listed in DerivedNormalizationProps.txt
+ // and already excluded from composition
+ Q_ASSERT(unicodeData.value(part1, UnicodeData(part1)).p.combiningClass == 0);
++numLigatures;
highestLigature = qMax(highestLigature, (int)part1);
- Ligature l = {(ushort)part1, (ushort)part2, i};
+ Ligature l = {(ushort)part1, (ushort)part2, codepoint};
ligatureHashes[part2].append(l);
}
}
}
+
struct NormalizationCorrection {
uint codepoint;
uint mapped;
@@ -933,10 +1063,12 @@ static QByteArray createNormalizationCorrections()
QList<QByteArray> fields = line.split(';');
Q_ASSERT(fields.size() == 4);
- NormalizationCorrection c;
+ NormalizationCorrection c = { 0, 0, 0 };
bool ok;
c.codepoint = fields.at(0).toInt(&ok, 16);
+ Q_ASSERT(ok);
c.mapped = fields.at(1).toInt(&ok, 16);
+ Q_ASSERT(ok);
if (fields.at(3) == "3.2.0")
c.version = QChar::Unicode_3_2;
else if (fields.at(3) == "4.0.0")
@@ -953,7 +1085,6 @@ static QByteArray createNormalizationCorrections()
"enum { NumNormalizationCorrections = " + QByteArray::number(numCorrections) + " };\n\n";
-
return out;
}
@@ -961,7 +1092,7 @@ static QByteArray createNormalizationCorrections()
static void computeUniqueProperties()
{
qDebug("computeUniqueProperties:");
- for (int uc = 0; uc < 0x110000; ++uc) {
+ for (int uc = 0; uc <= LAST_CODEPOINT; ++uc) {
UnicodeData d = unicodeData.value(uc, UnicodeData(uc));
int index = uniqueProperties.indexOf(d.p);
@@ -972,7 +1103,7 @@ static void computeUniqueProperties()
d.propertyIndex = index;
unicodeData.insert(uc, d);
}
- qDebug(" %d unicode properties found", uniqueProperties.size());
+ qDebug(" %d unique unicode properties found", uniqueProperties.size());
}
@@ -1007,54 +1138,17 @@ static void readLineBreak()
bool ok;
int from = cl[0].toInt(&ok, 16);
+ Q_ASSERT(ok);
int to = from;
- if (cl.size() == 2)
+ if (cl.size() == 2) {
to = cl[1].toInt(&ok, 16);
-
- // ### Classes XX and AI are left out and mapped to AL for now
- QUnicodeTables::LineBreakClass lb = QUnicodeTables::LineBreak_AL;
- QByteArray ba = l[1];
-
- if (ba == "AI") lb = QUnicodeTables::LineBreak_AL;
- else if (ba == "XX") lb = QUnicodeTables::LineBreak_AL;
- else if (ba == "NL") lb = QUnicodeTables::LineBreak_AL;
- else if (ba == "OP") lb = QUnicodeTables::LineBreak_OP;
- else if (ba == "CL") lb = QUnicodeTables::LineBreak_CL;
- else if (ba == "QU") lb = QUnicodeTables::LineBreak_QU;
- else if (ba == "GL") lb = QUnicodeTables::LineBreak_GL;
- else if (ba == "NS") lb = QUnicodeTables::LineBreak_NS;
- else if (ba == "EX") lb = QUnicodeTables::LineBreak_EX;
- else if (ba == "SY") lb = QUnicodeTables::LineBreak_SY;
- else if (ba == "IS") lb = QUnicodeTables::LineBreak_IS;
- else if (ba == "PR") lb = QUnicodeTables::LineBreak_PR;
- else if (ba == "PO") lb = QUnicodeTables::LineBreak_PO;
- else if (ba == "NU") lb = QUnicodeTables::LineBreak_NU;
- else if (ba == "AL") lb = QUnicodeTables::LineBreak_AL;
- else if (ba == "ID") lb = QUnicodeTables::LineBreak_ID;
- else if (ba == "IN") lb = QUnicodeTables::LineBreak_IN;
- else if (ba == "HY") lb = QUnicodeTables::LineBreak_HY;
- else if (ba == "BA") lb = QUnicodeTables::LineBreak_BA;
- else if (ba == "BB") lb = QUnicodeTables::LineBreak_BB;
- else if (ba == "B2") lb = QUnicodeTables::LineBreak_B2;
- else if (ba == "ZW") lb = QUnicodeTables::LineBreak_ZW;
- else if (ba == "CM") lb = QUnicodeTables::LineBreak_CM;
- else if (ba == "SA") lb = QUnicodeTables::LineBreak_SA;
- else if (ba == "BK") lb = QUnicodeTables::LineBreak_BK;
- else if (ba == "CR") lb = QUnicodeTables::LineBreak_CR;
- else if (ba == "LF") lb = QUnicodeTables::LineBreak_LF;
- else if (ba == "SG") lb = QUnicodeTables::LineBreak_SG;
- else if (ba == "CB") lb = QUnicodeTables::LineBreak_AL;
- else if (ba == "SP") lb = QUnicodeTables::LineBreak_SP;
- else if (ba == "WJ") lb = QUnicodeTables::LineBreak_WJ;
- else if (ba == "H2") lb = QUnicodeTables::LineBreak_H2;
- else if (ba == "H3") lb = QUnicodeTables::LineBreak_H3;
- else if (ba == "JL") lb = QUnicodeTables::LineBreak_JL;
- else if (ba == "JV") lb = QUnicodeTables::LineBreak_JV;
- else if (ba == "JT") lb = QUnicodeTables::LineBreak_JT;
- else {
- qDebug() << "unhandled line break class:" << ba;
+ Q_ASSERT(ok);
}
+ LineBreakClass lb = line_break_map.value(l[1].trimmed(), LineBreak_Unassigned);
+ if (lb == LineBreak_Unassigned)
+ qFatal("unassigned line break class: %s", l[1].constData());
+
for (int codepoint = from; codepoint <= to; ++codepoint) {
UnicodeData d = unicodeData.value(codepoint, UnicodeData(codepoint));
d.p.line_break_class = lb;
@@ -1066,7 +1160,7 @@ static void readLineBreak()
static void readSpecialCasing()
{
-// qDebug() << "Reading SpecialCasing.txt";
+ qDebug() << "Reading SpecialCasing.txt";
QFile f("data/SpecialCasing.txt");
if (!f.exists())
qFatal("Couldn't find SpecialCasing.txt");
@@ -1114,8 +1208,6 @@ static void readSpecialCasing()
for (int i = 0; i < title.size(); ++i) {
bool ok;
titleMap.append(title.at(i).toInt(&ok, 16));
- if (!ok)
- qDebug() << line << title.at(i);
Q_ASSERT(ok);
}
@@ -1151,7 +1243,7 @@ static void readSpecialCasing()
}
}
-int maxCaseFoldDiff = 0;
+static int maxCaseFoldDiff = 0;
static void readCaseFolding()
{
@@ -1178,7 +1270,7 @@ static void readCaseFolding()
QList<QByteArray> l = line.split(';');
bool ok;
- uint codepoint = l[0].trimmed().toInt(&ok, 16);
+ int codepoint = l[0].trimmed().toInt(&ok, 16);
Q_ASSERT(ok);
@@ -1198,8 +1290,10 @@ static void readCaseFolding()
UnicodeData ud = unicodeData.value(codepoint, UnicodeData(codepoint));
if (foldMap.size() == 1) {
+ if (qAbs(foldMap.at(0) - codepoint) >= (1<<14))
+ qWarning() << "caseFoldDiff exceeded (" << hex << codepoint << "->" << foldMap.at(0) << ")";
ud.p.caseFoldDiff = foldMap.at(0) - codepoint;
- maxCaseFoldDiff = qMax(maxCaseFoldDiff, ud.p.caseFoldDiff);
+ maxCaseFoldDiff = qMax(maxCaseFoldDiff, qAbs(ud.p.caseFoldDiff));
if (codepoint > 0xffff) {
// if the condition below doesn't hold anymore we need to modify our case folding code
//qDebug() << codepoint << QChar::highSurrogate(codepoint) << QChar::highSurrogate(foldMap.at(0));
@@ -1208,7 +1302,7 @@ static void readCaseFolding()
if (foldMap.at(0) != codepoint + ud.p.lowerCaseDiff)
qDebug() << hex << codepoint;
} else {
- Q_ASSERT(false); // we currently don't support full case foldings
+ qFatal("we currently don't support full case foldings");
// qDebug() << "special" << hex << foldMap;
ud.p.caseFoldSpecial = true;
ud.p.caseFoldDiff = appendToSpecialCaseMap(foldMap);
@@ -1254,7 +1348,9 @@ static void readGraphemeBreak()
Q_ASSERT(ok);
}
- GraphemeBreak brk = grapheme_break_map.value(l[1].trimmed(), GraphemeBreakOther);
+ GraphemeBreak brk = grapheme_break_map.value(l[1].trimmed(), GraphemeBreak_Unassigned);
+ if (brk == GraphemeBreak_Unassigned)
+ qFatal("unassigned grapheme break class: %s", l[1].constData());
for (int codepoint = from; codepoint <= to; ++codepoint) {
UnicodeData ud = unicodeData.value(codepoint, UnicodeData(codepoint));
@@ -1301,8 +1397,9 @@ static void readWordBreak()
Q_ASSERT(ok);
}
- WordBreak brk = word_break_map.value(l[1].trimmed(), WordBreakOther);
- Q_ASSERT(brk != WordBreakOther);
+ WordBreak brk = word_break_map.value(l[1].trimmed(), WordBreak_Unassigned);
+ if (brk == WordBreak_Unassigned)
+ qFatal("unassigned word break class: %s", l[1].constData());
for (int codepoint = from; codepoint <= to; ++codepoint) {
UnicodeData ud = unicodeData.value(codepoint, UnicodeData(codepoint));
@@ -1349,8 +1446,9 @@ static void readSentenceBreak()
Q_ASSERT(ok);
}
- SentenceBreak brk = sentence_break_map.value(l[1].trimmed(), SentenceBreakOther);
- Q_ASSERT(brk != SentenceBreakOther);
+ SentenceBreak brk = sentence_break_map.value(l[1].trimmed(), SentenceBreak_Unassigned);
+ if (brk == SentenceBreak_Unassigned)
+ qFatal("unassigned sentence break class: %s", l[1].constData());
for (int codepoint = from; codepoint <= to; ++codepoint) {
UnicodeData ud = unicodeData.value(codepoint, UnicodeData(codepoint));
@@ -1644,6 +1742,7 @@ QByteArray createScriptEnumDeclaration()
"Lao",
"Malayalam",
"Myanmar",
+ "Nko",
"Ogham",
"Oriya",
"Runic",
@@ -1661,7 +1760,7 @@ QByteArray createScriptEnumDeclaration()
// generate script enum
QByteArray declaration;
- declaration += " // See http://www.unicode.org/reports/tr24/tr24-5.html\n\n";
+ declaration += " // See http://www.unicode.org/reports/tr24/tr24-5.html\n";
declaration += " enum Script {\n Common";
int uniqueScripts = 1; // Common
@@ -1671,31 +1770,35 @@ QByteArray createScriptEnumDeclaration()
QByteArray scriptName = scriptNames.at(i);
// does the script require special processing?
bool special = false;
- for (int s = 0; !special && s < specialScriptsCount; ++s) {
- if (scriptName == specialScripts[s])
+ for (int s = 0; s < specialScriptsCount; ++s) {
+ if (scriptName == specialScripts[s]) {
special = true;
+ break;
+ }
}
if (!special) {
- scriptHash[i] = 0; // alias for 'Common'
+ scriptHash[i] = 0; // alias for 'Common'
continue;
} else {
++uniqueScripts;
scriptHash[i] = i;
}
- declaration += ",\n ";
- declaration += scriptName;
+ if (scriptName != "Inherited") {
+ declaration += ",\n ";
+ declaration += scriptName;
+ }
}
+ declaration += ",\n Inherited";
declaration += ",\n ScriptCount = Inherited";
// output the ones that are an alias for 'Common'
for (int i = 1; i < scriptNames.size(); ++i) {
if (scriptHash.value(i) != 0)
continue;
- QByteArray scriptName = scriptNames.at(i);
- scriptName += " = Common";
declaration += ",\n ";
- declaration += scriptName;
+ declaration += scriptNames.at(i);
+ declaration += " = Common";
}
declaration += "\n };\n";
@@ -1831,14 +1934,15 @@ struct PropertyBlock {
PropertyBlock() { index = -1; }
int index;
QList<int> properties;
- bool operator ==(const PropertyBlock &other) { return properties == other.properties; }
+ bool operator==(const PropertyBlock &other)
+ { return properties == other.properties; }
};
static QByteArray createPropertyInfo()
{
qDebug("createPropertyInfo:");
- const int BMP_BLOCKSIZE=32;
+ const int BMP_BLOCKSIZE = 32;
const int BMP_SHIFT = 5;
const int BMP_END = 0x11000;
const int SMP_END = 0x110000;
@@ -1890,14 +1994,14 @@ static QByteArray createPropertyInfo()
int bmp_block_data = bmp_blocks*BMP_BLOCKSIZE*2;
int bmp_trie = BMP_END/BMP_BLOCKSIZE*2;
int bmp_mem = bmp_block_data + bmp_trie;
- qDebug(" %d unique blocks in BMP.",blocks.size());
+ qDebug(" %d unique blocks in BMP.", blocks.size());
qDebug(" block data uses: %d bytes", bmp_block_data);
qDebug(" trie data uses : %d bytes", bmp_trie);
- int smp_block_data = (blocks.size()- bmp_blocks)*SMP_BLOCKSIZE*2;
+ int smp_block_data = (blocks.size() - bmp_blocks)*SMP_BLOCKSIZE*2;
int smp_trie = (SMP_END-BMP_END)/SMP_BLOCKSIZE*2;
int smp_mem = smp_block_data + smp_trie;
- qDebug(" %d unique blocks in SMP.",blocks.size()-bmp_blocks);
+ qDebug(" %d unique blocks in SMP.", blocks.size()-bmp_blocks);
qDebug(" block data uses: %d bytes", smp_block_data);
qDebug(" trie data uses : %d bytes", smp_trie);
@@ -1908,7 +2012,7 @@ static QByteArray createPropertyInfo()
out += "static const unsigned short uc_property_trie[] = {\n";
// first write the map
- out += " // 0x" + QByteArray::number(BMP_END, 16);
+ out += " // 0 - 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
if (!(i % 8)) {
if (out.endsWith(' '))
@@ -1977,7 +2081,7 @@ static QByteArray createPropertyInfo()
"] + (ucs2 & 0x" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")])\n\n"
- "static const QUnicodeTables::Properties uc_properties [] = {\n";
+ "static const QUnicodeTables::Properties uc_properties[] = {\n";
// keep in sync with the property declaration
for (int i = 0; i < uniqueProperties.size(); ++i) {
@@ -2036,7 +2140,7 @@ static QByteArray createPropertyInfo()
out += QByteArray::number( p.wordBreak );
out += ", ";
out += QByteArray::number( p.sentenceBreak );
- out += "},\n";
+ out += " },\n";
}
out += "};\n\n";
@@ -2064,20 +2168,18 @@ static QByteArray createPropertyInfo()
" return uc_properties + index;\n"
"}\n\n";
- out += "#define CURRENT_VERSION "CURRENT_UNICODE_VERSION"\n\n";
-
- out += "static const ushort specialCaseMap [] = {";
+ out += "static const ushort specialCaseMap[] = {\n ";
for (int i = 0; i < specialCaseMap.size(); ++i) {
- if (!(i % 16))
- out += "\n ";
out += QByteArray(" 0x") + QByteArray::number(specialCaseMap.at(i), 16);
if (i < specialCaseMap.size() - 1)
out += ",";
+ if (!specialCaseMap.at(i))
+ out += "\n ";
}
out += "\n};\n";
out += "#define SPECIAL_CASE_MAX_LEN " + QByteArray::number(specialCaseMaxLen) + "\n\n";
- qDebug() << "Special case map uses " << specialCaseMap.size()*2 << "bytes";
+ qDebug("Special case map uses : %d bytes", specialCaseMap.size()*2);
return out;
}
@@ -2088,14 +2190,14 @@ struct DecompositionBlock {
int index;
QList<int> decompositionPositions;
bool operator ==(const DecompositionBlock &other)
- { return decompositionPositions == other.decompositionPositions; }
+ { return decompositionPositions == other.decompositionPositions; }
};
static QByteArray createCompositionInfo()
{
qDebug("createCompositionInfo:");
- const int BMP_BLOCKSIZE=16;
+ const int BMP_BLOCKSIZE = 16;
const int BMP_SHIFT = 4;
const int BMP_END = 0x3400; // start of Han
const int SMP_END = 0x30000;
@@ -2120,15 +2222,14 @@ static QByteArray createCompositionInfo()
if (!d.decomposition.isEmpty()) {
int utf16Chars = 0;
for (int j = 0; j < d.decomposition.size(); ++j)
- utf16Chars += d.decomposition.at(j) > 0x10000 ? 2 : 1;
+ utf16Chars += d.decomposition.at(j) >= 0x10000 ? 2 : 1;
decompositions.append(d.decompositionType + (utf16Chars<<8));
for (int j = 0; j < d.decomposition.size(); ++j) {
int code = d.decomposition.at(j);
- if (code > 0x10000) {
+ if (code >= 0x10000) {
// save as surrogate pair
- code -= 0x10000;
- ushort high = code/0x400 + 0xd800;
- ushort low = code%0x400 + 0xdc00;
+ ushort high = QChar::highSurrogate(code);
+ ushort low = QChar::lowSurrogate(code);
decompositions.append(high);
decompositions.append(low);
} else {
@@ -2162,15 +2263,14 @@ static QByteArray createCompositionInfo()
if (!d.decomposition.isEmpty()) {
int utf16Chars = 0;
for (int j = 0; j < d.decomposition.size(); ++j)
- utf16Chars += d.decomposition.at(j) > 0x10000 ? 2 : 1;
+ utf16Chars += d.decomposition.at(j) >= 0x10000 ? 2 : 1;
decompositions.append(d.decompositionType + (utf16Chars<<8));
for (int j = 0; j < d.decomposition.size(); ++j) {
int code = d.decomposition.at(j);
- if (code > 0x10000) {
+ if (code >= 0x10000) {
// save as surrogate pair
- code -= 0x10000;
- ushort high = code/0x400 + 0xd800;
- ushort low = code%0x400 + 0xdc00;
+ ushort high = QChar::highSurrogate(code);
+ ushort low = QChar::lowSurrogate(code);
decompositions.append(high);
decompositions.append(low);
} else {
@@ -2196,15 +2296,15 @@ static QByteArray createCompositionInfo()
int bmp_block_data = bmp_blocks*BMP_BLOCKSIZE*2;
int bmp_trie = BMP_END/BMP_BLOCKSIZE*2;
int bmp_mem = bmp_block_data + bmp_trie;
- qDebug(" %d unique blocks in BMP.",blocks.size());
+ qDebug(" %d unique blocks in BMP.", blocks.size());
qDebug(" block data uses: %d bytes", bmp_block_data);
qDebug(" trie data uses : %d bytes", bmp_trie);
qDebug(" memory usage: %d bytes", bmp_mem);
- int smp_block_data = (blocks.size()- bmp_blocks)*SMP_BLOCKSIZE*2;
+ int smp_block_data = (blocks.size() - bmp_blocks)*SMP_BLOCKSIZE*2;
int smp_trie = (SMP_END-BMP_END)/SMP_BLOCKSIZE*2;
int smp_mem = smp_block_data + smp_trie;
- qDebug(" %d unique blocks in SMP.",blocks.size()-bmp_blocks);
+ qDebug(" %d unique blocks in SMP.", blocks.size()-bmp_blocks);
qDebug(" block data uses: %d bytes", smp_block_data);
qDebug(" trie data uses : %d bytes", smp_trie);
@@ -2347,7 +2447,7 @@ static QByteArray createLigatureInfo()
int bmp_block_data = bmp_blocks*BMP_BLOCKSIZE*2;
int bmp_trie = BMP_END/BMP_BLOCKSIZE*2;
int bmp_mem = bmp_block_data + bmp_trie;
- qDebug(" %d unique blocks in BMP.",blocks.size());
+ qDebug(" %d unique blocks in BMP.", blocks.size());
qDebug(" block data uses: %d bytes", bmp_block_data);
qDebug(" trie data uses : %d bytes", bmp_trie);
qDebug(" ligature data uses : %d bytes", ligatures.size()*2);
@@ -2399,7 +2499,7 @@ static QByteArray createLigatureInfo()
"uc_ligature_trie[uc_ligature_trie[u2>>" + QByteArray::number(BMP_SHIFT) +
"] + (u2 & 0x" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")] : 0xffff);\n\n"
- "static const unsigned short uc_ligature_map [] = {\n";
+ "static const unsigned short uc_ligature_map[] = {\n";
for (int i = 0; i < ligatures.size(); ++i) {
if (!(i % 8)) {
@@ -2433,19 +2533,20 @@ QByteArray createCasingInfo()
int main(int, char **)
{
+ initAgeMap();
initCategoryMap();
initDirectionMap();
initDecompositionMap();
initGraphemeBreak();
initWordBreak();
initSentenceBreak();
-
+ initLineBreak();
+
readUnicodeData();
readBidiMirroring();
readArabicShaping();
readDerivedAge();
- readCompositionExclusion();
- readLineBreak();
+ readDerivedNormalizationProps();
readSpecialCasing();
readCaseFolding();
// readBlocks();
@@ -2453,6 +2554,7 @@ int main(int, char **)
readGraphemeBreak();
readWordBreak();
readSentenceBreak();
+ readLineBreak();
computeUniqueProperties();
QByteArray properties = createPropertyInfo();
@@ -2462,9 +2564,6 @@ int main(int, char **)
QByteArray scriptEnumDeclaration = createScriptEnumDeclaration();
QByteArray scriptTableDeclaration = createScriptTableDeclaration();
- QFile f("../../src/corelib/tools/qunicodetables.cpp");
- f.open(QFile::WriteOnly|QFile::Truncate);
-
QByteArray header =
"/****************************************************************************\n"
"**\n"
@@ -2505,9 +2604,10 @@ int main(int, char **)
"**\n"
"** $QT_END_LICENSE$\n"
"**\n"
- "****************************************************************************/\n\n"
+ "****************************************************************************/\n\n";
- "/* This file is autogenerated from the Unicode 5.0 database. Do not edit */\n\n";
+ QByteArray note =
+ "/* This file is autogenerated from the Unicode "DATA_VERSION_S" database. Do not edit */\n\n";
QByteArray warning =
"//\n"
@@ -2521,41 +2621,47 @@ int main(int, char **)
"// We mean it.\n"
"//\n\n";
+ QFile f("../../src/corelib/tools/qunicodetables.cpp");
+ f.open(QFile::WriteOnly|QFile::Truncate);
f.write(header);
+ f.write(note);
f.write("QT_BEGIN_NAMESPACE\n\n");
f.write(properties);
f.write(compositions);
f.write(ligatures);
f.write(normalizationCorrections);
f.write(scriptTableDeclaration);
- f.write("\nQT_END_NAMESPACE\n");
+ f.write("QT_END_NAMESPACE\n");
f.close();
f.setFileName("../../src/corelib/tools/qunicodetables_p.h");
f.open(QFile::WriteOnly | QFile::Truncate);
f.write(header);
+ f.write(note);
f.write(warning);
f.write("#ifndef QUNICODETABLES_P_H\n"
"#define QUNICODETABLES_P_H\n\n"
"#include <QtCore/qchar.h>\n\n"
"QT_BEGIN_NAMESPACE\n\n");
- f.write("namespace QUnicodeTables {\n");
+ f.write("#define UNICODE_DATA_VERSION "DATA_VERSION_STR"\n\n");
+ f.write("#define UNICODE_LAST_CODEPOINT "LAST_CODEPOINT_STR"\n\n");
+ f.write("namespace QUnicodeTables {\n\n");
f.write(property_string);
f.write("\n");
f.write(scriptEnumDeclaration);
f.write("\n");
f.write(lineBreakClass);
f.write("\n");
- f.write(methods);
- f.write("\n");
f.write(grapheme_break_string);
f.write("\n");
f.write(word_break_string);
f.write("\n");
f.write(sentence_break_string);
- f.write("\n}\n\n"
+ f.write("\n");
+ f.write(methods);
+ f.write("} // namespace QUnicodeTables\n\n"
"QT_END_NAMESPACE\n\n"
- "#endif\n");
+ "#endif // QUNICODETABLES_P_H\n");
f.close();
qDebug() << "maxMirroredDiff = " << hex << maxMirroredDiff;
@@ -2578,7 +2684,7 @@ int main(int, char **)
sum += decompositionLength.value(i, 0);
}
qDebug(" len decomposition map %d, average length %f, num composed chars %d",
- totalcompositions, (float)totalcompositions/(float)sum, sum);
+ totalcompositions, (float)totalcompositions/(float)sum, sum);
qDebug("highest composed character %x", highestComposedCharacter);
qDebug("num ligatures = %d highest=%x, maxLength=%d", numLigatures, highestLigature, longestLigature);
@@ -2599,4 +2705,3 @@ int main(int, char **)
#endif
}
-
diff --git a/util/unicode/unicode.pro b/util/unicode/unicode.pro
index a53f70ac92..0250c2a43a 100644
--- a/util/unicode/unicode.pro
+++ b/util/unicode/unicode.pro
@@ -1,2 +1,3 @@
SOURCES += main.cpp
QT = core
+CONFIG += console