diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2010-07-15 13:14:37 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2010-07-15 13:14:37 (GMT) |
commit | 8106f716043c22d71ff3dcdf9cd8a4db258fa81f (patch) | |
tree | fef8ef2bcc78da549037c94451058fde10268edd | |
parent | a98bda4b42b068c9c3220ae2aded41a263387ac2 (diff) | |
parent | 03c01176ebf423085e56ceabcf8335ca5027a786 (diff) | |
download | Qt-8106f716043c22d71ff3dcdf9cd8a4db258fa81f.zip Qt-8106f716043c22d71ff3dcdf9cd8a4db258fa81f.tar.gz Qt-8106f716043c22d71ff3dcdf9cd8a4db258fa81f.tar.bz2 |
Merge remote branch 'origin/4.7' into qt-master-from-4.7
Conflicts:
src/gui/kernel/qapplication.h
705 files changed, 20459 insertions, 14551 deletions
diff --git a/README.s60-mkspec b/README.s60-mkspec deleted file mode 100644 index af500e1..0000000 --- a/README.s60-mkspec +++ /dev/null @@ -1,99 +0,0 @@ -How to build Qt for Symbian using the Linux makespec. - -Prerequisites: - - - Working RVCT 2.2 native Linux compiler. The new publicly - available RVCT 4.0 compiler may work, but it hasn't been tested - yet. - - - A working GnuPoc environment. See this page for details: - http://www.martin.st/symbian/ - Download the latest version, unpack it and run the 'install_eka2_tools' script as - described in the last part under the EKA2 part. The part about the your own gcc - are not needed as we use the rvct compiler. - Make sure you do the part about Wine setup as well. - - - Anderson Lizardo's patches for GnuPoc. Look for the - qt_s60_gnupoc_v10.patch on this page: - http://lizardo.wordpress.com/2009/09/24/installing-qt-for-s60-daily-snapshots-on-linux/ - and carry out the instructions under point 8: Installing Open C. - -Compiling: - - 1. First a few environment variables need to be set: - - export RVCT22LIB=<rvct-dir>/lib/armlib - export EPOCROOT=<s60-root> - export PATH=$PATH:<s60-root>/epoc32/tools:<rvctInstallDir>/bin - export PATH=$PATH:<qt-root>/bin - - Replace the s60-root with the installation directory of your SDK, - and the qt-root with the root of your Qt repository. - These are good candidates for putting in a script somewhere. - - 2. Run configure. It needs a bit more switches than usual, so here's - the full line: - - ./configure -developer-build -platform linux-g++ -xplatform \ - symbian/linux-armcc -little-endian -host-little-endian \ - -arch symbian - - 3. Compile Qt - - cd src - make - - and then wait for a while. - - 4. Package and install Qt - - cd s60installs - - Edit Qt_template.pkg and change the first 0x2xxxxxxx to - 0xExxxxxxx. Then execute: - - makesis Qt_template.pkg - signsis Qt_template.sis Qt_template.sisx selfsigned.cer selfsigned.key - - Then put Qt_template.sisx on a memory card and install it from - the phone file manager. - - Alternatively, you can use the runonphone tool found in the tools - directory of Qt. To build, this requires a separately configured - Qt installation for Linux, unfortunately. To use it, you also - need have App TRK running on the phone. At the time of writing, - only bleeding edge Linux kernels are able to autodetect the USB - serial port on the phone, but you can force detection by running: - - modprobe usbserial vendor=0xXXXX product=0xXXXX - - The XXXXs should be replaced with the two values listed for your - device when executing "lsusb". In most distributions, this will - lead to the creation of two devices: /dev/ttyUSB0 and - /dev/ttyUSB1. The latter is usually the one that App TRK responds - to. Then execute: - - runonphone -p /dev/ttyUSB1 -s Qt_template.sisx dummy.exe - - The dummy.exe argument is irrelevant, since we are not executing - anything yet. - - 5. Compile some helloworld application (I leave the details to you - ;-) - - qmake - make - - 6. Package, install and run application. - - makesis helloworld_template.pkg - signsis helloworld_template.sis helloworld_template.sisx \ - <QTDIR>/src/s60installs/selfsigned.cer \ - <QTDIR>/src/s60installs/selfsigned.key - - Then either install by memory card, or install and run like this: - - runonphone -p /dev/ttyUSB1 -s helloworld_template.sisx \ - helloworld.exe - - 7. Enjoy "hello world" on the phone! diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl index 501939a..7d6f5dc 100755 --- a/bin/patch_capabilities.pl +++ b/bin/patch_capabilities.pl @@ -186,7 +186,7 @@ if (@ARGV) } # If the line specifies a file, parse the source and destination locations. - if ($line =~ m|\"([^\"]+)\"\s*\-\s*\"([^\"]+)\"|) + if ($line =~ m|^ *\"([^\"]+)\"\s*\-\s*\"([^\"]+)\"|) { my $sourcePath = $1; diff --git a/config.tests/mac/crc.test b/config.tests/mac/crc.test index 644ff75..9cbe7ba 100755 --- a/config.tests/mac/crc.test +++ b/config.tests/mac/crc.test @@ -53,7 +53,7 @@ test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST" cd "$OUTDIR/$TEST" $MAKE distclean >/dev/null 2>&1 -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" if [ "$VERBOSE" = "yes" ]; then $MAKE diff --git a/config.tests/symbian/compile.test b/config.tests/symbian/compile.test index 20a3039..ab85819 100755 --- a/config.tests/symbian/compile.test +++ b/config.tests/symbian/compile.test @@ -26,7 +26,7 @@ cd "$OUTDIR/$TEST" test -r Makefile && $MAKE distclean >/dev/null 2>&1 -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" if [ "$VERBOSE" = "yes" ]; then $MAKE diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test index 99ebfd2..29ddea7 100755 --- a/config.tests/unix/compile.test +++ b/config.tests/unix/compile.test @@ -68,7 +68,7 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1 # Make sure output from possible previous tests is gone rm -f "$EXE" "${EXE}.exe" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" if [ "$VERBOSE" = "yes" ]; then $MAKE diff --git a/config.tests/unix/doubleformat.test b/config.tests/unix/doubleformat.test index 953efd8..9968553 100755 --- a/config.tests/unix/doubleformat.test +++ b/config.tests/unix/doubleformat.test @@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/doubleformat" || mkdir -p "$OUTDIR/config.tests/unix/doubleformat" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/doubleformat/doubleformattest.pro" -o "$OUTDIR/config.tests/unix/doubleformat/Makefile" >/dev/null 2>&1 +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/config.tests/unix/doubleformat/doubleformattest.pro" -o "$OUTDIR/config.tests/unix/doubleformat/Makefile" >/dev/null 2>&1 cd "$OUTDIR/config.tests/unix/doubleformat" DOUBLEFORMAT="UNKNOWN" diff --git a/config.tests/unix/endian.test b/config.tests/unix/endian.test index 4755b1f..d0fb6ce 100755 --- a/config.tests/unix/endian.test +++ b/config.tests/unix/endian.test @@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/endian" || mkdir -p "$OUTDIR/config.tests/unix/endian" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/endian/endiantest.pro" -o "$OUTDIR/config.tests/unix/endian/Makefile" >/dev/null 2>&1 +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/config.tests/unix/endian/endiantest.pro" -o "$OUTDIR/config.tests/unix/endian/Makefile" >/dev/null 2>&1 cd "$OUTDIR/config.tests/unix/endian" diff --git a/config.tests/unix/ptrsize.test b/config.tests/unix/ptrsize.test index c1d80ee..c78c73f 100755 --- a/config.tests/unix/ptrsize.test +++ b/config.tests/unix/ptrsize.test @@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/ptrsize" || mkdir -p "$OUTDIR/config.tests/unix/ptrsize" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1 +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1 cd "$OUTDIR/config.tests/unix/ptrsize" if [ "$VERBOSE" = "yes" ]; then diff --git a/config.tests/unix/sun-libiconv/sun-libiconv.pro b/config.tests/unix/sun-libiconv/sun-libiconv.pro new file mode 100644 index 0000000..00df865 --- /dev/null +++ b/config.tests/unix/sun-libiconv/sun-libiconv.pro @@ -0,0 +1,2 @@ +SOURCES = ../gnu-libiconv/gnu-libiconv.cpp +CONFIG -= qt dylib app_bundle diff --git a/config.tests/x11/notype.test b/config.tests/x11/notype.test index 3a01d8f..1b534c8 100755 --- a/config.tests/x11/notype.test +++ b/config.tests/x11/notype.test @@ -27,7 +27,7 @@ if [ $XPLATFORM = "solaris-g++" -o $XPLATFORM = "hpux-g++" -o $XPLATFORM = "aix- NOTYPE=yes test -d "$OUTDIR/config.tests/x11/notype" || mkdir -p "$OUTDIR/config.tests/x11/notype" - "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/x11/notype/notypetest.pro" -o "$OUTDIR/config.tests/x11/notype/Makefile" >/dev/null 2>&1 + "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/config.tests/x11/notype/notypetest.pro" -o "$OUTDIR/config.tests/x11/notype/Makefile" >/dev/null 2>&1 cd "$OUTDIR/config.tests/x11/notype" if [ "$VERBOSE" = "yes" ]; then @@ -1526,8 +1526,8 @@ while [ "$#" -gt 0 ]; do fi ;; gif) - [ "$VAL" = "qt" ] && VAL=yes - if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + [ "$VAL" = "qt" ] && VAL=auto + if [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then CFG_GIF="$VAL" else UNKNOWN_OPT=yes @@ -3634,26 +3634,26 @@ Third Party Libraries: + -system-zlib ....... Use zlib from the operating system. See http://www.gzip.org/zlib - -no-gif ............ Do not compile the plugin for GIF reading support. - * -qt-gif ............ Compile the plugin for GIF reading support. - See also src/plugins/imageformats/gif/qgifhandler.h + -no-gif ............ Do not compile GIF reading support. + * -qt-gif ............ Compile GIF reading support. + See also src/gui/image/qgifhandler.h - -no-libtiff ........ Do not compile the plugin for TIFF support. + -no-libtiff ........ Do not compile TIFF support. -qt-libtiff ........ Use the libtiff bundled with Qt. + -system-libtiff .... Use libtiff from the operating system. See http://www.libtiff.org - -no-libpng ......... Do not compile in PNG support. + -no-libpng ......... Do not compile PNG support. -qt-libpng ......... Use the libpng bundled with Qt. + -system-libpng ..... Use libpng from the operating system. See http://www.libpng.org/pub/png - -no-libmng ......... Do not compile the plugin for MNG support. + -no-libmng ......... Do not compile MNG support. -qt-libmng ......... Use the libmng bundled with Qt. + -system-libmng ..... Use libmng from the operating system. See http://www.libmng.com - -no-libjpeg ........ Do not compile the plugin for JPEG support. + -no-libjpeg ........ Do not compile JPEG support. -qt-libjpeg ........ Use the libjpeg bundled with Qt. + -system-libjpeg .... Use libjpeg from the operating system. See http://www.ijg.org @@ -5154,6 +5154,8 @@ if [ "$CFG_ICONV" != "no" ]; then CFG_ICONV=no elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ICONV=yes + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + CFG_ICONV=sun elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ICONV=gnu else @@ -6675,6 +6677,7 @@ fi [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis" [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups" [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv" +[ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv" [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv" [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib" [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer" @@ -7624,6 +7627,13 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF EOF fi +if [ -n "$QT_LIBINFIX" ]; then +cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF +#define QT_LIBINFIX "$QT_LIBINFIX" + +EOF +fi + # avoid unecessary rebuilds by copying only if qconfig.h has changed if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then rm -f "$outpath/src/corelib/global/qconfig.h.new" diff --git a/configure.exe b/configure.exe Binary files differindex 1fddc81..6817331 100755 --- a/configure.exe +++ b/configure.exe diff --git a/demos/.gitignore b/demos/.gitignore new file mode 100644 index 0000000..bc54bd5 --- /dev/null +++ b/demos/.gitignore @@ -0,0 +1,2 @@ +*.dll +*.dso diff --git a/demos/declarative/calculator/Core/calculator.js b/demos/declarative/calculator/Core/calculator.js index 51b3dd3..c80c42f 100644 --- a/demos/declarative/calculator/Core/calculator.js +++ b/demos/declarative/calculator/Core/calculator.js @@ -84,7 +84,7 @@ function doOperation(op) { } if (op == rotateLeft) - main.state = 'rotated' + main.state = "orientation " + Orientation.Landscape if (op == rotateRight) main.state = '' } diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml index 3d36211..63b6c55 100644 --- a/demos/declarative/calculator/calculator.qml +++ b/demos/declarative/calculator/calculator.qml @@ -58,10 +58,11 @@ Rectangle { property string plusminus : "\u00b1" function doOp(operation) { CalcEngine.doOperation(operation) } - + Item { id: main - state: (runtime.orientation == Orientation.Portrait) ? '' : 'rotated' + state: "orientation " + runtime.orientation + width: parent.width; height: parent.height; anchors.centerIn: parent Column { @@ -130,16 +131,28 @@ Rectangle { } } - states: State { - name: 'rotated' - PropertyChanges { target: main; rotation: -90; width: window.height; height: window.width } - PropertyChanges { target: rotateButton; operation: rotateRight } - } + states: [ + State { + name: "orientation " + Orientation.Landscape + PropertyChanges { target: main; rotation: -90; width: window.height; height: window.width } + PropertyChanges { target: rotateButton; operation: rotateRight } + }, + State { + name: "orientation " + Orientation.PortraitInverted + PropertyChanges { target: main; rotation: -180; } + PropertyChanges { target: rotateButton; operation: rotateLeft } + }, + State { + name: "orientation " + Orientation.LandscapeInverted + PropertyChanges { target: main; rotation: -270; width: window.height; height: window.width } + PropertyChanges { target: rotateButton; operation: rotateRight } + } + ] transitions: Transition { SequentialAnimation { PropertyAction { target: rotateButton; property: "operation" } - NumberAnimation { properties: "rotation"; duration: 300; easing.type: Easing.InOutQuint } + RotationAnimation { direction: RotationAnimation.Shortest; duration: 300; easing.type: Easing.InOutQuint } NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: Easing.InOutQuint } } } diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml index c7e1a53..335c315 100644 --- a/demos/declarative/flickr/mobile/TitleBar.qml +++ b/demos/declarative/flickr/mobile/TitleBar.qml @@ -109,6 +109,7 @@ Item { Item { id: returnKey Keys.onReturnPressed: container.accept() + Keys.onEnterPressed: container.accept() Keys.onEscapePressed: titleBar.state = "" } } diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro index aac91f6..f85afeb 100644 --- a/demos/declarative/minehunt/minehunt.pro +++ b/demos/declarative/minehunt/minehunt.pro @@ -27,7 +27,7 @@ symbian:{ TARGET.EPOCALLOWDLLDATA = 1 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) TARGET.CAPABILITY = NetworkServices ReadUserData - importFiles.sources = qmlminehuntplugin.dll \ + importFiles.sources = MinehuntCore/qmlminehuntplugin.dll \ MinehuntCore/Explosion.qml \ MinehuntCore/pics \ MinehuntCore/qmldir diff --git a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml index 6109535..be7dfa4 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml @@ -64,6 +64,10 @@ Item { container.labelChanged(textInput.text) container.focus = true } + Keys.onEnterPressed: { + container.labelChanged(textInput.text) + container.focus = true + } Keys.onEscapePressed: { textInput.text = container.label container.focus = true diff --git a/demos/declarative/rssnews/content/NewsDelegate.qml b/demos/declarative/rssnews/content/NewsDelegate.qml index 040dadc..cfe9b00 100644 --- a/demos/declarative/rssnews/content/NewsDelegate.qml +++ b/demos/declarative/rssnews/content/NewsDelegate.qml @@ -43,10 +43,11 @@ import Qt 4.7 Item { id: delegate - height: childrenRect.height + 20 + height: column.height + 40 width: delegate.ListView.view.width Column { + id: column x: 20; y: 20 width: parent.width - 40 diff --git a/demos/declarative/samegame/SamegameCore/BoomBlock.qml b/demos/declarative/samegame/SamegameCore/BoomBlock.qml index 3f43579..43050af 100644 --- a/demos/declarative/samegame/SamegameCore/BoomBlock.qml +++ b/demos/declarative/samegame/SamegameCore/BoomBlock.qml @@ -47,11 +47,14 @@ Item { property bool dying: false property bool spawned: false property int type: 0 - property int targetX: 0 - property int targetY: 0 - SpringFollow on x { enabled: spawned; to: targetX; spring: 2; damping: 0.2 } - SpringFollow on y { to: targetY; spring: 2; damping: 0.2 } + Behavior on x { + enabled: spawned; + SpringAnimation{ spring: 2; damping: 0.2 } + } + Behavior on y { + SpringAnimation{ spring: 2; damping: 0.2 } + } Image { id: img diff --git a/demos/declarative/samegame/SamegameCore/Dialog.qml b/demos/declarative/samegame/SamegameCore/Dialog.qml index c71a4b3..7e64bd6 100644 --- a/demos/declarative/samegame/SamegameCore/Dialog.qml +++ b/demos/declarative/samegame/SamegameCore/Dialog.qml @@ -49,6 +49,8 @@ Rectangle { signal closed signal opened function forceClose() { + if(page.opacity == 0) + return; //already closed page.closed(); page.opacity = 0; } diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js index 5c008a2..6e1b24d 100755 --- a/demos/declarative/samegame/SamegameCore/samegame.js +++ b/demos/declarative/samegame/SamegameCore/samegame.js @@ -110,7 +110,7 @@ function shuffleDown() }else{ if(fallDist > 0){ var obj = board[index(column,row)]; - obj.targetY += fallDist * gameCanvas.blockSize; + obj.y += fallDist * gameCanvas.blockSize; board[index(column,row+fallDist)] = obj; board[index(column,row)] = null; } @@ -128,7 +128,7 @@ function shuffleDown() obj = board[index(column,row)]; if(obj == null) continue; - obj.targetX -= fallDist * gameCanvas.blockSize; + obj.x -= fallDist * gameCanvas.blockSize; board[index(column-fallDist,row)] = obj; board[index(column,row)] = null; } @@ -184,8 +184,7 @@ function createBlock(column,row){ } dynamicObject.type = Math.floor(Math.random() * 3); dynamicObject.x = column*gameCanvas.blockSize; - dynamicObject.targetX = column*gameCanvas.blockSize; - dynamicObject.targetY = row*gameCanvas.blockSize; + dynamicObject.y = row*gameCanvas.blockSize; dynamicObject.width = gameCanvas.blockSize; dynamicObject.height = gameCanvas.blockSize; dynamicObject.spawned = true; diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml index 10bf79f..9504fb6 100644 --- a/demos/declarative/samegame/samegame.qml +++ b/demos/declarative/samegame/samegame.qml @@ -88,7 +88,7 @@ Rectangle { Behavior on width { NumberAnimation {} - enabled: initialWidth != 0 + enabled: nameInputDialog.initialWidth != 0 } onOpened: nameInputText.focus = true; diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js index 4d05e33..0f0dbf7 100644 --- a/demos/declarative/snake/content/snake.js +++ b/demos/declarative/snake/content/snake.js @@ -150,7 +150,7 @@ function move() { snake.push(newLink); } else { var lastLink = snake[snake.length-1]; - board[lastLink.row * numColumns + lastLink.column] = Undefined; + board[lastLink.row * numColumns + lastLink.column] = undefined; } if (waitForCookie > 0) { @@ -186,7 +186,7 @@ function move() { function isFree(row, column) { - return board[row * numColumns + column] == Undefined; + return board[row * numColumns + column] == undefined; } function isHead(row, column) @@ -214,7 +214,7 @@ function moveSkull() --linksToDie; var link = snake.pop(); link.dying = true; - board[link.row * numColumns + link.column] = Undefined; + board[link.row * numColumns + link.column] = undefined; if (score > 0) --score; if (snake.length == 0) { diff --git a/demos/declarative/twitter/TwitterCore/AuthView.qml b/demos/declarative/twitter/TwitterCore/AuthView.qml index ef10258..0d05deb 100644 --- a/demos/declarative/twitter/TwitterCore/AuthView.qml +++ b/demos/declarative/twitter/TwitterCore/AuthView.qml @@ -93,6 +93,7 @@ Item { color: "#151515"; selectionColor: "green" KeyNavigation.tab: login KeyNavigation.backtab: nameIn + onAccepted: login.doLogin(); } } } @@ -114,6 +115,7 @@ Item { KeyNavigation.tab: guest KeyNavigation.backtab: passIn Keys.onReturnPressed: login.doLogin(); + Keys.onEnterPressed: login.doLogin(); Keys.onSelectPressed: login.doLogin(); Keys.onSpacePressed: login.doLogin(); onClicked: login.doLogin(); @@ -134,6 +136,7 @@ Item { KeyNavigation.tab: nameIn KeyNavigation.backtab: login Keys.onReturnPressed: guest.doGuest(); + Keys.onEnterPressed: guest.doGuest(); Keys.onSelectPressed: guest.doGuest(); Keys.onSpacePressed: guest.doGuest(); onClicked: guest.doGuest(); diff --git a/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml index 52164ed..56f31b1 100644 --- a/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml +++ b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml @@ -128,7 +128,7 @@ Item { cursorVisible: true; font.bold: true width: parent.width - 12 height: parent.height - 8 - font.pointSize: 10 + font.pixelSize: 12 wrapMode: TextEdit.Wrap color: "#151515"; selectionColor: "green" } @@ -136,6 +136,7 @@ Item { Item { id: returnKey Keys.onReturnPressed: container.accept() + Keys.onEnterPressed: container.accept() Keys.onEscapePressed: titleBar.state = "" } } diff --git a/demos/declarative/twitter/TwitterCore/TitleBar.qml b/demos/declarative/twitter/TwitterCore/TitleBar.qml index 6cd0a50..558bc18 100644 --- a/demos/declarative/twitter/TwitterCore/TitleBar.qml +++ b/demos/declarative/twitter/TwitterCore/TitleBar.qml @@ -98,6 +98,7 @@ Item { Item { id: returnKey Keys.onReturnPressed: container.accept() + Keys.onEnterPressed: container.accept() Keys.onEscapePressed: titleBar.state = "" } } diff --git a/demos/qtdemo/examplecontent.cpp b/demos/qtdemo/examplecontent.cpp index b93062c..19be3e0 100644 --- a/demos/qtdemo/examplecontent.cpp +++ b/demos/qtdemo/examplecontent.cpp @@ -79,14 +79,20 @@ void ExampleContent::animationStopped(int id) QString ExampleContent::loadDescription() { QByteArray ba = MenuManager::instance()->getHtml(this->name); + QString errorMsg; + int errorLine, errorColumn; QDomDocument exampleDoc; - exampleDoc.setContent(ba, false); + if (!exampleDoc.setContent(ba, false, &errorMsg, &errorLine, &errorColumn)) { + qDebug() << errorMsg << errorLine << errorColumn; + } QDomNodeList paragraphs = exampleDoc.elementsByTagName("p"); if (paragraphs.length() < 1 && Colors::verbose) - qDebug() << "- ExampleContent::loadDescription(): Could not load description:" << MenuManager::instance()->info[this->name]["docfile"]; - QString description = Colors::contentColor + QLatin1String("Could not load description. Ensure that the documentation for Qt is built."); + qDebug() << "- ExampleContent::loadDescription(): Could not load description:" + << MenuManager::instance()->info[this->name]["docfile"]; + QString description = Colors::contentColor + + QLatin1String("Could not load description. Ensure that the documentation for Qt is built."); for (int p = 0; p < int(paragraphs.length()); ++p) { description = this->extractTextFromParagraph(paragraphs.item(p)); if (this->isSummary(description)) { @@ -99,7 +105,8 @@ QString ExampleContent::loadDescription() bool ExampleContent::isSummary(const QString &text) { return (!text.contains("[") && - text.indexOf(QRegExp(QString("(In )?((The|This) )?(%1 )?.*(tutorial|example|demo|application)").arg(this->name), Qt::CaseInsensitive)) != -1); + text.indexOf(QRegExp(QString("(In )?((The|This) )?(%1 )?.*(tutorial|example|demo|application)").arg(this->name), + Qt::CaseInsensitive)) != -1); } QString ExampleContent::extractTextFromParagraph(const QDomNode &parentNode) diff --git a/demos/qtdemo/menumanager.cpp b/demos/qtdemo/menumanager.cpp index a2ceb0e..15561ab 100644 --- a/demos/qtdemo/menumanager.cpp +++ b/demos/qtdemo/menumanager.cpp @@ -369,10 +369,10 @@ void MenuManager::launchQmlExample(const QString &name) dir = QDir(QLibraryInfo::location(QLibraryInfo::DemosPath)); else dir = QDir(QLibraryInfo::location(QLibraryInfo::ExamplesPath)); - QFile file(dir.path() + "/" + dirName + "/" + fileName + "/" + fileName.split('/').last() + ".qml"); + QFile file(dir.path() + "/" + dirName + "/" + fileName + "/" + "main.qml"); if(!file.exists()){ - //try main.qml as well - file.setFileName(dir.path() + "/" + dirName + "/" + fileName + "/" + "main.qml"); + //try dirname.qml as well + file.setFileName(dir.path() + "/" + dirName + "/" + fileName + "/" + fileName.split('/').last() + ".qml"); if(!file.exists()){ exampleError(QProcess::UnknownError); return; diff --git a/demos/qtdemo/qmlShell.qml b/demos/qtdemo/qmlShell.qml index 5c5f96c..e15d33c 100644 --- a/demos/qtdemo/qmlShell.qml +++ b/demos/qtdemo/qmlShell.qml @@ -99,6 +99,7 @@ Item { } MouseArea{ anchors.fill: parent + acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton onClicked: loader.focus=true;/* and don't propogate to the 'exit' area*/ } @@ -130,7 +131,7 @@ Item { textFormat: Text.RichText //Note that if loader is Error, it is because the file was found but there was an error creating the component //This means either we have a bug in our demos, or the required modules (which ship with Qt) did not deploy correctly - text: "The example has failed to load.<br />If you installed Qt's QML modules this is a bug!<br />" + text: "The example has failed to load.<br />If you installed all Qt's C++ and QML modules then this is a bug!<br />" + 'Report it at <a href="http://bugreports.qt.nokia.com">http://bugreports.qt.nokia.com</a>'; onLinkActivated: Qt.openUrlExternally(link); } @@ -145,6 +146,7 @@ Item { z: 8 enabled: main.show hoverEnabled: main.show //To steal focus from the buttons + acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton anchors.fill: parent onClicked: main.show=false; } diff --git a/demos/spectrum/3rdparty/fftreal/fftreal.pro b/demos/spectrum/3rdparty/fftreal/fftreal.pro index 6801b42..c9da205 100644 --- a/demos/spectrum/3rdparty/fftreal/fftreal.pro +++ b/demos/spectrum/3rdparty/fftreal/fftreal.pro @@ -1,3 +1,5 @@ +include(../../spectrum.pri) + TEMPLATE = lib TARGET = fftreal @@ -31,13 +33,13 @@ symbian { # Provide unique ID for the generated binary, required by Symbian OS TARGET.UID3 = 0xA000E403 TARGET.CAPABILITY = UserEnvironment +} + +macx { + CONFIG += lib_bundle } else { - macx { - CONFIG += lib_bundle - } else { - DESTDIR = ../../bin - } -} + !symbian: DESTDIR = ../.. +} # Install diff --git a/demos/spectrum/app/.gitignore b/demos/spectrum/app/.gitignore new file mode 100644 index 0000000..82cf2a2 --- /dev/null +++ b/demos/spectrum/app/.gitignore @@ -0,0 +1,2 @@ +spectrum +spectrum.exe diff --git a/demos/spectrum/app/app.pro b/demos/spectrum/app/app.pro index c15edf9..1b419db 100644 --- a/demos/spectrum/app/app.pro +++ b/demos/spectrum/app/app.pro @@ -3,7 +3,6 @@ include(../spectrum.pri) TEMPLATE = app TARGET = spectrum -unix: !macx: !symbian: TARGET = spectrum.bin QT += multimedia @@ -64,8 +63,7 @@ symbian { LIBS += -F$${fftreal_dir} LIBS += -framework fftreal } else { - # Link to dynamic library which is written to ../bin - LIBS += -L../bin + LIBS += -L.. LIBS += -lfftreal } } @@ -86,7 +84,7 @@ symbian { !contains(DEFINES, DISABLE_FFT) { # Include FFTReal DLL in the SIS file - fftreal.sources = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/fftreal.dll + fftreal.sources = ../fftreal.dll fftreal.path = !:/sys/bin DEPLOYMENT += fftreal } @@ -111,17 +109,11 @@ symbian { } } else { # Specify directory in which to create spectrum application - DESTDIR = ../bin - - unix: !symbian { - # On unices other than Mac OSX, we copy a shell script into the bin directory. - # This script takes care of correctly setting the LD_LIBRARY_PATH so that - # the dynamic library can be located. - copy_launch_script.target = copy_launch_script - copy_launch_script.commands = \ - install -m 0555 $$QT_SOURCE_TREE/demos/spectrum/app/spectrum.sh ../bin/spectrum - QMAKE_EXTRA_TARGETS += copy_launch_script - POST_TARGETDEPS += copy_launch_script + DESTDIR = .. + + unix: { + # Provide relative path from application to fftreal library + QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN } } } diff --git a/demos/spectrum/app/spectrum.sh b/demos/spectrum/app/spectrum.sh deleted file mode 100644 index 2a230ed..0000000 --- a/demos/spectrum/app/spectrum.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -############################################################################# -## -## 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 examples of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## No Commercial Usage -## This file contains pre-release code and may not be distributed. -## You may use this file in accordance with the terms and conditions -## contained in the Technology Preview License Agreement accompanying -## this package. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 2.1 requirements -## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## In addition, as a special exception, Nokia gives you certain additional -## rights. These rights are described in the Nokia Qt LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## If you have questions regarding the use of this file, please contact -## Nokia at qt-info@nokia.com. -## -## -## -## -## -## -## -## -## $QT_END_LICENSE$ -## -############################################################################# - - -# Shell script for launching spectrum application on Unix systems other than Mac OSX - -bindir=`dirname "$0"` -LD_LIBRARY_PATH="${bindir}:${LD_LIBRARY_PATH}" -export LD_LIBRARY_PATH -exec "${bindir}/spectrum.bin" ${1+"$@"} - diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc index 9c72e95..afedb44 100644 --- a/doc/src/declarative/advtutorial.qdoc +++ b/doc/src/declarative/advtutorial.qdoc @@ -164,7 +164,7 @@ The \c createBlock() function creates a block from the \c Block.qml file and moves the new block to its position on the game canvas. This involves several steps: \list -\o \l {Qt::createComponent()}{Qt.createComponent()} is called to generate an element from \c Block.qml. +\o \l {QML:Qt::createComponent()}{Qt.createComponent()} is called to generate an element from \c Block.qml. If the component is ready, we can call \c createObject() to create an instance of the \c Block item. \o If \c createObject() returned null (i.e. if there was an error while loading the object), print the error information. @@ -306,18 +306,17 @@ In anticipation of the new block animations, \c Block.qml file is now renamed to \section3 Animating block movement First we will animate the blocks so that they move in a fluid manner. QML has a number of methods for adding fluid -movement, and in this case we're going to use the \l SpringFollow element to add an animation with a spring-like -movement. In \c BoomBlock.qml, we apply a \l SpringFollow -to the \c x and \c y properties so that the block will follow and animate its movement towards the -position specified by the new \c targetX and \c targetY properties (whose values will be set by \c samegame.js). -Here is the code added to \c BoomBlock.qml: +movement, and in this case we're going to use the \l Behavior element to add a \l SpringAnimation. +In \c BoomBlock.qml, we apply a \l SpringAnimation behavior to the \c x and \c y properties so that the +block will follow and animate its movement in a spring-like fashion towards the specified position (whose +values will be set by \c samegame.js).Here is the code added to \c BoomBlock.qml: \snippet declarative/tutorials/samegame/samegame4/content/BoomBlock.qml 1 The \c spring and \c damping values can be changed to modify the spring-like effect of the animation. The \c {enabled: spawned} setting refers to the \c spawned value that is set from \c createBlock() in \c samegame.js. -This ensures the \l SpringFollow on the \c x is only enabled after \c createBlock() has set the block to +This ensures the \l SpringAnimation on the \c x is only enabled after \c createBlock() has set the block to the correct position. Otherwise, the blocks will slide out of the corner (0,0) when a game begins, instead of falling from the top in rows. (Try commenting out \c {enabled: spawned} and see for yourself.) diff --git a/doc/src/declarative/anchor-layout.qdoc b/doc/src/declarative/anchor-layout.qdoc index 9c217e1..5c025e5 100644 --- a/doc/src/declarative/anchor-layout.qdoc +++ b/doc/src/declarative/anchor-layout.qdoc @@ -33,7 +33,10 @@ In addition to the more traditional \l Grid, \l Row, and \l Column, QML also provides a way to layout items using the concept of \e anchors. Each item can be thought of as having a set of 7 invisible "anchor lines": -\e left, \e horizontalCenter, \e right, \e top, \e verticalCenter, \e baseline, and \e bottom. +\l {Item::anchors.left}{left}, \l {Item::anchors.horizontalCenter}{horizontalCenter}, +\l {Item::anchors.right}{right}, \l {Item::anchors.top}{top}, +\l {Item::anchors.verticalCenter}{verticalCenter}, \l {Item::anchors.baseline}{baseline}, +and \l {Item::anchors.bottom}{bottom}. \image edges_qml.png diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc index 13202ee..c5333df 100644 --- a/doc/src/declarative/animation.qdoc +++ b/doc/src/declarative/animation.qdoc @@ -71,13 +71,15 @@ to explicitly set the \c target and \c property to animate. Animations can be joined into a group using SequentialAnimation and ParallelAnimation. +See the \l {declarative/animation/basics}{Animation basics example} for a demonstration of creating and combining multiple animations in QML. + \target state-transitions \section1 Transitions -QML transitions describe animations to perform when \l{qmlstates}{state} changes occur. A transition +\l Transition elements describe the animations to perform when \l{qmlstates}{state} changes occur. A transition can only be triggered by a state change. -For example, a transition could describe how an item moves from its initial position to its new position: +For example, a \l Transition could describe how an item moves from its initial position to its new position: \snippet doc/src/snippets/declarative/animation.qml transitions-1 @@ -108,9 +110,13 @@ making use of both sequential and parallel animations: \snippet doc/src/snippets/declarative/animation.qml transitions-3 + +See \l {declarative/animation/states}{States and Transitions example} for a simple example of how transitions can be applied. + + \section1 Property Behaviors -A \l{Behavior}{property behavior} specifies a default animation to run whenever the property's value changes, regardless +A property \l {Behavior}{behavior} specifies a default animation to run whenever the property's value changes, regardless of what caused the change. The \c enabled property can be used to force a \l Behavior to only apply under certain circumstances. @@ -119,7 +125,7 @@ whenever it changes. The animation will last 300 milliseconds and use an \l{Prop \snippet doc/src/snippets/declarative/animation.qml behavior -Like using an animation as a value source, when used in a Behavior and animation does not need to specify +Like using an animation as a value source, when used in a \l Behavior and animation does not need to specify a \c target or \c property. To trigger this behavior, we could enter a state that changes \c x: @@ -149,4 +155,6 @@ If \c x were bound to another property, triggering the binding would also trigge If a state change has a transition animation matching a property with a \l Behavior, the transition animation will override the \l Behavior for that state change. +The \l {declarative/animation/behaviors}{Behaviors example} shows how behaviors can be used to provide animations. + */ diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc index 159f40d..e327d4a 100644 --- a/doc/src/declarative/basictypes.qdoc +++ b/doc/src/declarative/basictypes.qdoc @@ -107,6 +107,9 @@ Text { text: "Hello world!" } \endqml + Strings have a \c length attribute that holds the number of + characters in the string. + \sa {QML Basic Types} */ @@ -400,3 +403,26 @@ \sa {QML Basic Types} */ + +/*! + \qmlbasictype enumeration + \ingroup qmlbasictypes + + \brief An enumeration type consists of a set of named values. + + An enumeration type consists of a set of named values. + + An enumeration value may be specifed as either a string: + \qml + Text { horizontalAlignment: "AlignRight" } + \endqml + + or as \c {<Element>.<value>}: + \qml + Text { horizontalAlignment: Text.AlignRight } + \endqml + + The second form is preferred. + + \sa {QML Basic Types} +*/ diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index f113147..217e372 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -37,7 +37,9 @@ custom user interfaces from a rich set of \l {QML Elements}{QML elements}. Qt Quick helps programmers and designers collaborate to build the fluid user interfaces that are becoming common in portable consumer devices, such as mobile phones, media players, set-top boxes -and netbooks. +and netbooks. Qt Quick consists of the QtDeclarative C++ module, QML, and +the integration of both of these into the Qt Creator IDE. Using the QtDeclarative +C++ module, you can load and interact with QML files from your Qt application. QML is an extension to \l {http://www.ecma-international.org/publications/standards/Ecma-262.htm} @@ -58,7 +60,7 @@ complete internet-enabled applications like a \l Qt Quick builds on \l {QML for Qt programmers}{Qt's existing strengths}. QML can be be used to incrementally extend an existing application or to build completely new applications. QML is fully \l -{Extending QML in C++}{extensible from C++}. +{Extending QML in C++}{extensible from C++} through the QtDeclarative Module. \section1 Getting Started @@ -74,15 +76,15 @@ application or to build completely new applications. QML is fully \l \list \o \l {QML Documents} \o \l {Property Binding} -\o \l {Integrating JavaScript} -\o \l {QML Scope} \o \l {Network Transparency} +\o \l {QML Scope} +\o \l {Integrating JavaScript} \o \l {Data Models} \o \l {anchor-layout.html}{Anchor-based Layout} \o \l {qdeclarativestates.html}{States} \o \l {qdeclarativeanimation.html}{Animation} -\o \l {qdeclarativemodules.html}{Modules} \o \l {qdeclarativefocus.html}{Keyboard Focus} +\o \l {qdeclarativemodules.html}{Modules} \o \l {Extending types from QML} \o \l {qdeclarativedynamicobjects.html}{Dynamic Object Creation} \o \l {qmlruntime.html}{The Qt Declarative Runtime} @@ -90,10 +92,10 @@ application or to build completely new applications. QML is fully \l \section1 Using QML with C++ \list -\o \l {Tutorial: Writing QML extensions with C++} -\o \l {Extending QML in C++} \o \l {Using QML in C++ Applications} \o \l {Integrating QML with existing Qt UI code} +\o \l {Tutorial: Writing QML extensions with C++} +\o \l {Extending QML in C++} \endlist \section1 Reference @@ -104,6 +106,7 @@ application or to build completely new applications. QML is fully \l \o \l {QML Security} \o \l {QtDeclarative Module} \o \l {Debugging QML} +\o \l {QML Viewer} \o \l {QML Performance} \o \l {QML Coding Conventions} \endlist diff --git a/doc/src/declarative/dynamicobjects.qdoc b/doc/src/declarative/dynamicobjects.qdoc index de65a12..a5e53a9 100644 --- a/doc/src/declarative/dynamicobjects.qdoc +++ b/doc/src/declarative/dynamicobjects.qdoc @@ -39,8 +39,12 @@ QML also supports the dynamic creation of objects from within JavaScript code. This is useful if the existing QML elements do not fit the needs of your application, and there are no C++ components involved. +See the {declarative/toys/dynamicscene}{Dynamic Scene example} for a demonstration +of the concepts discussed on this page. + \section1 Creating Objects Dynamically + There are two ways to create objects dynamically from JavaScript. You can either call \l {QML:Qt::createComponent()}{Qt.createComponent()} to create a component which instantiates items, or use \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()} diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc index 2c36d12..0edd242 100644 --- a/doc/src/declarative/elements.qdoc +++ b/doc/src/declarative/elements.qdoc @@ -32,169 +32,106 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt Declarative} module. -\table 80% -\header -\o \bold {States} -\o \bold {Animation and Transitions} -\o \bold {Working with Data} -\o \bold {Utility} -\row - -\o -\list -\o \l State -\o \l PropertyChanges -\o \l StateGroup -\o \l StateChangeScript -\o \l ParentChange (Item-specific) -\o \l AnchorChanges (Item-specific) -\endlist - -\o -\list -\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 AnchorAnimation -\o \l SmoothedAnimation -\o \l Vector3dAnimation -\o \l PropertyAction -\o \l ScriptAction -\o \l Transition -\o \l SmoothedFollow -\o \l SpringFollow -\o \l Behavior -\endlist - -\o -\list -\o \l Binding -\o \l ListModel -\list -\o \l ListElement -\endlist -\o \l VisualItemModel -\o \l VisualDataModel -\o \l Package -\o \l XmlListModel -\list -\o \l XmlRole -\endlist -\endlist - -\o -\list -\o \l Connections -\o \l Component -\o \l Timer -\o \l QtObject -\o \l WorkerScript -\endlist - -\header -\o \bold {Basic Visual Items} -\o \bold {Basic Interaction Items} -\o \bold {Utility} -\o \bold {Transforms} - -\row -\o -\list -\o \l Item -\o \l Rectangle - \list - \o \l Gradient - \list - \o \l GradientStop - \endlist - \endlist -\o \l Image -\o \l BorderImage -\o \l AnimatedImage -\o \l Text -\o \l TextInput - \list - \o \l IntValidator - \o \l DoubleValidator - \o \l RegExpValidator - \endlist -\o \l TextEdit -\endlist - -\o -\list -\o \l MouseArea -\o \l FocusScope -\o \l Flickable -\o \l Flipable -\o \l GestureArea (experimental) -\endlist - -\o -\list -\o \l Loader -\o \l Repeater -\o \l SystemPalette -\o \l FontLoader -\o \l LayoutItem -\endlist - -\o -\list -\o \l Scale -\o \l Rotation -\o \l Translate -\endlist - -\header -\o \bold {Views} -\o \bold {Positioners} -\o \bold {Effects} -\o - -\row -\o - -\target xmlViews -\list -\o \l ListView -\o \l GridView -\o \l PathView - \list - \o \l Path - \list - \o \l PathLine - \o \l PathQuad - \o \l PathCubic - \o \l PathAttribute - \o \l PathPercent - \endlist - \endlist -\o \l WebView -\endlist - -\o -\list -\o \l Column -\o \l Row -\o \l Grid -\o \l Flow -\endlist - -\o -\list -\o \l Particles (experimental) - \list - \o \l ParticleMotionLinear - \o \l ParticleMotionGravity - \o \l ParticleMotionWander - \endlist -\endlist +\table +\header \o {2,1} \bold {Basic Visual Items} +\row \o \l {Item} \o Basic item element inherited by all visual items in QML +\row \o \l {Rectangle} \o Basic visual rectangle element +\row \o \l {Gradient} \o Defines a gradient between two or more colors +\row \o \l {GradientStop} \o Defines a color used in a \l {Gradient} +\row \o \l {Image} \o Allows the use of bitmaps to a scene +\row \o \l {BorderImage} (Item-specific) \o Defines an image as a border +\row \o \l {AnimatedImage} \o For playing animations stored as a series of frames +\row \o \l {Text} \o Allows the use of formatted text in a scene +\row \o \l {TextInput} \o Displays an editable line of text +\row \o \l {IntValidator} \o Validator for integer values +\row \o \l {DoubleValidator} \o Validator for non-integer values +\row \o \l {RegExpValidator} \o Validator for string regular expressions +\row \o \l {TextEdit} \o Displays multiple lines of editable formatted text + +\header \o {2,1} \bold {Basic Interaction Items} +\row \o \l {MouseArea} \o Handles mouse interactions +\row \o \l {FocusScope} \o For keyboard focus handling +\row \o \l {Flickable} \o Provides a surface that can be "flicked" +\row \o \l {Flipable} \o Provides a surface that produces flipping effects +\row \o \l {GestureArea} (experimental) \o Enables simple gesture handling + +\header \o {2,1} \bold {States} +\row \o \l {State} \o Defines sets of configurations of objects and properties +\row \o \l {PropertyChanges} \o Describes property changes within a state +\row \o \l {StateGroup} \o Contains a set of states and state transitions +\row \o \l {StateChangeScript} \o Allows script binding in a state +\row \o \l {ParentChange} (Item-specific) \o Re-parent an Item in a state change +\row \o \l {AnchorChanges} \o Change the anchors of an item in a state + +\header \o {2,1} \bold {Animation and Transitions} +\row \o \l {Behavior} \o Specifies a default animation for property changes +\row \o \l {SequentialAnimation} \o Runs animations sequentially +\row \o \l {ParallelAnimation} \o Runs animations in parallel +\row \o \l {PropertyAnimation} \o Animates property changes +\row \o \l {NumberAnimation} \o Animates properties of type qreal +\row \o \l {Vector3dAnimation} \o Animates properties of type QVector3d +\row \o \l {ColorAnimation} \o Animates color changes +\row \o \l {RotationAnimation} \o Animates rotations +\row \o \l {ParentAnimation} \o Animates parent changes +\row \o \l {AnchorAnimation} \o Animates anchor changes +\row \o \l {PauseAnimation} \o Pauses an animation +\row \o \l {SmoothedAnimation} \o Allows a property to smoothly track a value +\row \o \l {SpringAnimation} \o Allows a property to track a value in a spring-like motion +\row \o \l {PropertyAction} \o Sets immediate property changes during animation +\row \o \l {ScriptAction} \o Runs scripts during an animation +\row \o \l {Transition} \o Animates transitions during state changes + +\header \o {2,1} \bold {Working with Data} +\row \o \l {Binding} \o Binds any value to any property +\row \o \l {ListModel} \o Defines a list of data +\row \o \l {ListElement} \o Defines a data item in a \l {ListModel} +\row \o \l {VisualItemModel} \o Contains items that already defines its own visual delegate +\row \o \l {VisualDataModel} \o Encapsulates a model and a delegate +\row \o \l {Package} \o Collection that enables sharing of items within different views +\row \o \l {XmlListModel} \o Specifies a model using XPath expressions +\row \o \l {XmlRole} \o Specifies a role for an \l {XmlListModel} + +\header \o {2,1} \bold {Views} +\row \o \l {ListView} \o Provides a list visualization of a model +\row \o \l {GridView} \o Provides a grid visualization of a model +\row \o \l {PathView} \o Visualizes a model's contents along a path +\row \o \l {Path} \o Defines a path used by \l {PathView} +\row \o \l {PathLine} \o Defines a line in \l {Path} +\row \o \l {PathQuad} \o Defines a quadratic Bezier curve in a \l {Path} +\row \o \l {PathCubic} \o Defines a cubic Bezier curve in a \l {Path} +\row \o \l {PathAttribute} \o Allows the setting of attributes along a \l {Path} +\row \o \l {PathPercent} \o Modifies the item distribution along a \l {Path} +\row \o \l {WebView} \o Allows the addition of web content to a canvas + +\header \o {2,1} \bold {Positioners} +\row \o \l {Column} \o Arranges its children vertically +\row \o \l {Row} \o Arranges its children horizontally +\row \o \l {Grid} \o Positions its children in a grid +\row \o \l {Flow} \o Positions its children with wrapping support + +\header \o {2,1} \bold {Utility} +\row \o \l {Connections} \o Explicitly connects signals and signal handlers +\row \o \l {Component} \o Encapsulate QML items as a component +\row \o \l {Timer} \o Provides timed triggers +\row \o \l {QtObject} \o Basic element containing only the objectName property +\row \o \l {WorkerScript} \o Enables the use of threads in QML +\row \o \l {Loader} \o Controls the loading of items or components +\row \o \l {Repeater} \o Uses a model to create multiples of components +\row \o \l {SystemPalette} \o Provides access to the Qt palettes +\row \o \l {FontLoader} \o Loads fonts by name or URL +\row \o \l {LayoutItem} \o Allows declarative UI elements inside Qt's Graphics View layouts + +\header \o {2,1} \bold {Transforms} +\row \o \l {Scale} \o Assigns item scaling behaviors +\row \o \l {Rotation} \o Assigns item rotation behaviors +\row \o \l {Translate} \o Assigns item translation behaviors + +\header \o {2,1} \bold {Effects} +\row \o \l {Particles} (experimental) \o Generates and animates particles +\row \o \l {ParticleMotionLinear} \o Adds linear motion behavior to \l {Particles} +\row \o \l {ParticleMotionGravity} \o Adds gravitational motion to \l {Particles} +\row \o \l {ParticleMotionWander} \o Adds varied motions to \l {Particles} \endtable + */ diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc index 7b02d33..8a24228 100644 --- a/doc/src/declarative/examples.qdoc +++ b/doc/src/declarative/examples.qdoc @@ -36,11 +36,18 @@ Qt includes a set of examples and demos that show how to use various aspects of QML. The examples are small demonstrations of particular QML components, while the demos contain more complete and functional applications. -To run the examples and demos, you can use Qt Creator or the included \l {Qt Declarative UI Runtime}{qmlviewer} -command-line application. For example, from your build directory, run: +To run the examples and demos, open them in Qt Creator or use the included +\l {QML Viewer} tool. The \l {QML Viewer} can be run from the command line: \code - bin/qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml + qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml +\endcode + +On Mac OS X, you can run the included "QMLViewer" application from the +Finder, or use the command line: + +\code + QMLViewer.app/Contents/MacOS/QMLViewer $QTDIR/demos/declarative/samegame/samegame.qml \endcode @@ -168,11 +175,14 @@ The examples can be found in Qt's \c examples/declarative directory. \list \o \l{declarative/modelviews/gridview}{GridView} \o \l{declarative/modelviews/listview}{ListView} -\o \l{declarative/modelviews/objectlistmodel}{Object ListModel} \o \l{declarative/modelviews/package}{Package} \o \l{declarative/modelviews/parallax}{Parallax} -\o \l{declarative/modelviews/stringlistmodel}{String ListModel} \o \l{declarative/modelviews/visualitemmodel}{VisualItemModel} + +\o \l{declarative/modelviews/stringlistmodel}{String ListModel} +\o \l{declarative/modelviews/objectlistmodel}{Object ListModel} +\o \l{declarative/modelviews/abstractitemmodel}{AbstractItemModel} + \o \l{declarative/modelviews/webview}{WebView} \endlist diff --git a/doc/src/declarative/extending-tutorial.qdoc b/doc/src/declarative/extending-tutorial.qdoc index 0cb3a7d..2cf00b9 100644 --- a/doc/src/declarative/extending-tutorial.qdoc +++ b/doc/src/declarative/extending-tutorial.qdoc @@ -116,9 +116,9 @@ Now we can build and run the application. Try it yourself with the code in Qt's \example declarative/tutorials/extending/chapter1-basics At the moment, the \c app.qml is run from within a C++ application. -This may seem odd if you're used to running QML files with the standard \c qml tool. +This may seem odd if you're used to running QML files with the \l {QML Viewer}. Later on, we'll show how to create a plugin so that you can run \c app.qml using the -\c qml tool instead. +\l {QML Viewer} instead. */ @@ -301,8 +301,8 @@ Try it out with the code in Qt's \c examples/tutorials/extending/chapter4-custom Currently the \c Musician and \c Instrument types are used by \c app.qml, which is displayed using a QDeclarativeView in a C++ application. An alternative way to use our QML extension is to create a plugin library to make it available -to the QML engine. This means we could load \c app.qml using the standard \c qml tool -(or some other QML runtime application) instead of writing a \c main.cpp file and +to the QML engine. This means we could load \c app.qml using the \l {QML Viewer} +(or some other QML \l{Qt Declarative UI Runtime}{runtime} application) instead of writing a \c main.cpp file and loading our own C++ application. To create a plugin library, we need: @@ -337,12 +337,14 @@ of the example project) can be found in the "lib" subdirectory: \quotefile declarative/tutorials/extending/chapter5-plugins/qmldir Now we have a plugin, and instead of having a main.cpp and an executable, we can build -the project and then run the QML file directly using the \c qml tool: +the project and then load the QML file in the \l {QML Viewer}: \code - qml app.qml + qmlviewer app.qml \endcode +(On Mac OS X, you can launch the "QMLViewer" application instead.) + Notice the "import Music 1.0" statement has disappeared from \c app.qml. This is because the \c qmldir file is in the same directory as \c app.qml: this is equivalent to having Musician.qml and Instrument.qml files inside the project directory, which could both diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc index 6476dfb..3acfbdf 100644 --- a/doc/src/declarative/extending.qdoc +++ b/doc/src/declarative/extending.qdoc @@ -65,20 +65,22 @@ template<typename T> int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName) \endcode -Calling qmlRegisterType() registers the C++ type \a T with the QML system, and makes it available in QML -under the name \a qmlName in library \a uri version \a versionMajor.versionMinor. -The \a qmlName can be the same as the C++ type name. +Calling qmlRegisterType() registers the C++ type \a T with the QML +system, and makes it available in QML under the name \a qmlName in +library \a uri version \a versionMajor.versionMinor. The \a qmlName +can be the same as the C++ type name. Type \a T must be a concrete type that inherits QObject and has a default constructor. + \endquotation -Types can be registered by libraries (such as Qt does), application code, -or by plugins (see QDeclarativeExtensionPlugin). +Types can be registered by libraries, application code, or by plugins +(see QDeclarativeExtensionPlugin). -Once registered, all of the \l {Qt's Property System}{properties} of a supported -type are available for use within QML. QML has intrinsic support for properties -of these types: +Once registered, all \l {Qt's Property System}{properties} of the +supported types are available in QML. QML has intrinsic support for +properties of these types: \list \o bool @@ -94,9 +96,14 @@ of these types: \o QVariant \endlist -QML is typesafe. Attempting to assign an invalid value to a property will -generate an error. For example, assuming the name property of the \c Person -element had a type of QString, this would cause an error: +When a property of a supported type is added to a C++ class, in a QML +element based on the C++ class, a \e{value-changed} signal handler +will be available. See \l{Signal Support} below. + +QML is typesafe. Attempting to assign an invalid value to a property +will generate an error. For example, assuming the \e{name} property +of the \c Person element had a type of QString, this would cause an +error: \code Person { @@ -412,7 +419,20 @@ value will not be accessible from script. implement the onPartyStarted signal property. If you want to use signals from items not created in QML, you can access their -signals with the \l {Connections} element. +signals with the \l {Connections} element. + +Additionally, if a property is added to a C++ class, all QML elements +based on that C++ class will have a \e{value-changed} signal handler +for that property. The name of the signal handler is +\e{on<Property-name>Changed}, with the first letter of the property +name being upper case. + +\note The QML signal handler will always be named +on<Property-name>Changed, regardless of the name used for the NOTIFY +signal in C++. We recommend using <property-name>Changed() for the +NOTIFY signal in C++. + +See also \l {Extending types from QML}. \section1 Property Value Sources @@ -684,10 +704,6 @@ of some of the types. For the remaining types the default values are undefined. \row \o color \o #000000 (black) \endtable -If specified, the optional "default" attribute marks the new property as the -types default property, overriding any existing default property. Using the -default attribute twice in the same type block is an error. - The following example shows how to declare a new "innerColor" property that controls the color of the inner rectangle. @@ -705,6 +721,63 @@ controls the color of the inner rectangle. } \endcode + +\section3 Property signal handlers + +Adding a property to an item automatically adds a \e{value-changed} +signal handler to the item. The signal hander is named +\c{on<Property_name>Changed}, with the first letter of the property +name being upper case. + +Signal handlers can have arbitrary JavaScript code assigned. The following +example shows how to output to a text console a new value of property +\c{innerColor} whenever the value of this property changes. + +\code + Rectangle { + id: rect + property color innerColor: "black" + + onInnerColorChanged: { console.log(rect.innerColor); } + } +\endcode + + +\section3 Setting default properties + +The optional \c default attribute for a property marks it as the \e {default property} +for a type. This allows other items to specify the default property's value +as child elements. For example, the \l Item element's default property is its +\l{Item::children}{children} property. This allows the children of an \l Item +to be set like this: + +\qml +Item { + Rectangle {} + Rectangle {} +} +\endqml + +If the \l{Item::children}{children} property was not the default property for +\l Item, its value would have to be set like this instead: + +\qml +Item { + children: [ + Rectangle {} + Rectangle {} + ] +} +\endqml + +See the \l{declarative/ui-components/tabwidget}{TabWidget} example for a +demonstration of using default properties. + +Specifying a default property overrides any existing default property (for +example, any default property inherited from a parent item). Using the +default attribute twice in the same type block is an error. + + \target qml-property-aliases \section2 Property aliases diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc index 699ebcb..0dd5eb3 100644 --- a/doc/src/declarative/focus.qdoc +++ b/doc/src/declarative/focus.qdoc @@ -87,7 +87,7 @@ Text { An \l Item requests focus by setting the \c {Item::focus} property to true. For very simple cases simply setting the \c {Item::focus} property is sometimes -sufficient. If we run the following example with the \l {Qt Declarative UI Runtime}{qml} tool, we see that +sufficient. If we run the following example with the \l {QML Viewer}, we see that the \c {keyHandler} element has \e {active focus} and pressing the 'A', 'B' or 'C' keys modifies the text appropriately. @@ -266,6 +266,10 @@ When a QML item explicitly relinquishes focus (by setting its does not automatically select another element to receive focus. That is, it is possible for there to be no currently \e {active focus}. +See the {declarative/keyinteraction/focus}{Keyboard Focus example} for a +demonstration of moving keyboard focus between multiple areas using FocusScope +elements. + \section1 Advanced uses of Focus Scopes Focus scopes allow focus to allocation to be easily partitioned. Several diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc index ecbaa9e..a9aee2f 100644 --- a/doc/src/declarative/globalobject.qdoc +++ b/doc/src/declarative/globalobject.qdoc @@ -35,7 +35,7 @@ Contains all the properties of the JavaScript global object, plus: \section1 Qt Object -The \l{Qt}{Qt object} provides useful enums and functions from Qt, for use in all QML +The \l{QmlGlobalQtObject}{Qt object} provides useful enums and functions from Qt, for use in all QML files. \section1 XMLHttpRequest @@ -114,6 +114,9 @@ browser. The following objects and properties are supported by the QML implemen \endtable +The \l{declarative/xml/xmlhttprequest}{XMLHttpRequest example} demonstrates how to +use the XMLHttpRequest object to make a request and read the response headers. + \section1 Offline Storage API \section2 Database API @@ -132,6 +135,9 @@ The API can be used from JavaScript functions in your QML: The API conforms to the Synchronous API of the HTML5 Web Database API, \link http://www.w3.org/TR/2009/WD-webdatabase-20091029/ W3C Working Draft 29 October 2009\endlink. +The \l{declarative/sqllocalstorage}{SQL Local Storage example} demonstrates the basics of +using the Offline Storage API. + \section3 db = openDatabaseSync(identifier, version, description, estimated_size, callback(db)) Returns the database identified by \e identifier. If the database does not already exist, it diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index 02a2f5f..938222a 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -72,7 +72,7 @@ The second exception is explained in more detail in the section below on Namespa \section2 The Import Path Installed modules are searched for on the import path. -The \c -I option to the \l {Qt Declarative UI Runtime}{qml} runtime adds paths to the import path. +The \c -I option to the \l {QML Viewer} adds paths to the import path. From C++, the path is available via \l QDeclarativeEngine::importPathList() and can be prepended to using \l QDeclarativeEngine::addImportPath(). @@ -103,9 +103,16 @@ the \c qmldir file. Types which you do not wish to export to users of your modul may be marked with the \c internal keyword: \c internal <TypeName> <File>. The same type can be provided by different files in different versions, in which -case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), +case later versions (eg. 1.2) must precede earlier versions (eg. 1.0), since the \e first name-version match is used and a request for a version of a type -can be fulfilled by one defined in an earlier version of the module. +can be fulfilled by one defined in an earlier version of the module. If a user attempts +to import a version earlier than the earliest provided or later than the latest provided, +an error results, but if the user imports a version within the range of versions provided, +even if no type is specific to that version, no error results. + +A single module, in all versions, may only be provided in a single directory (and a single \c qmldir file). +If multiple are provided, only the first in the search path will be used (regardless of whether other versions +are provided by directories later in the search path). Installed and remote files without a namespace \e must be referred to by version information described above, local files \e may have it. @@ -122,7 +129,7 @@ to the module. of the plugin binary, which is platform dependent; e.g. the library MyAppTypes would produce a libMyAppTypes.so on Linux and MyAppTypes.dll on Windows. By default the engine searches for the plugin library in the directory containing the \c qmldir -file. The \c -P option to the \l {Qt Declarative UI Runtime}{qml} runtime adds paths to the +file. The \c -P option to the \l {QML Viewer} adds paths to the plugin search path. From C++, the path is available via \l QDeclarativeEngine::pluginPathList() and can be prepended to using \l QDeclarativeEngine::addPluginPath(). diff --git a/doc/src/declarative/network.qdoc b/doc/src/declarative/network.qdoc index b0d19e2..60359de 100644 --- a/doc/src/declarative/network.qdoc +++ b/doc/src/declarative/network.qdoc @@ -54,7 +54,7 @@ Network transparency is supported throughout QML, for example: \o WebViews - the \c url property of WebView (obviously!) \endlist -Even QML types themselves can be on the network - if the \l {Qt Declarative UI Runtime}{qml} tool is used to load +Even QML types themselves can be on the network - if the \l {QML Viewer} is used to load \tt http://example.com/mystuff/Hello.qml and that content refers to a type "World", the engine will load \tt http://example.com/mystuff/qmldir and resolve the type just as it would for a local file. For example if the qmldir file contains the line "World World.qml", it will load @@ -119,7 +119,7 @@ All network access from QML is managed by a QNetworkAccessManager set on the QDe By default, this is an unmodified Qt QNetworkAccessManager. You may set a different manager by providing a QDeclarativeNetworkAccessManagerFactory and setting it via QDeclarativeEngine::setNetworkAccessManagerFactory(). -For example, the \l {Qt Declarative UI Runtime}{qml} tool sets a QDeclarativeNetworkAccessManagerFactory which +For example, the \l {QML Viewer} sets a QDeclarativeNetworkAccessManagerFactory which creates QNetworkAccessManager that trusts HTTP Expiry headers to avoid network cache checks, allows HTTP Pipelining, adds a persistent HTTP CookieJar, a simple disk cache, and supports proxy settings. diff --git a/doc/src/declarative/pics/imageprovider.png b/doc/src/declarative/pics/imageprovider.png Binary files differnew file mode 100644 index 0000000..422103c --- /dev/null +++ b/doc/src/declarative/pics/imageprovider.png diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc index da6e407..ea21852 100644 --- a/doc/src/declarative/qdeclarativedebugging.qdoc +++ b/doc/src/declarative/qdeclarativedebugging.qdoc @@ -47,7 +47,7 @@ Rectangle { When a transition doesn't look quite right, it can be helpful to view it in slow motion to see what is happening more clearly. This functionality is supported -in the \l {Qt Declarative UI Runtime}{qmlviewer} tool: to enable this, +in the \l {QML Viewer} tool: to enable this, click on the "Debugging" menu, then "Slow Down Animations". @@ -64,7 +64,7 @@ import Qt 4.7 Rectangle { width: 100; height: 100 } \endqml -If you set \c {QML_IMPORT_TRACE=1} before running the \l {Qt Declarative UI Runtime}{qmlviewer} +If you set \c {QML_IMPORT_TRACE=1} before running the \l {QML Viewer} (or your QML C++ application), you will see output similar to this: \code @@ -85,11 +85,11 @@ show QML debugging information and options for your application, including object inspection, property monitoring and application frame-rate analysis. Creator can be used to debug both local and remote QML applications. To -enable remote debugging, start the \l {Qt Declarative UI Runtime}{qml} tool +enable remote debugging, start the \l {QML Viewer} on the remote device with a debugging port defined, like this: \code - QML_DEBUG_SERVER_PORT=3768 qml myqmlfile.qml + QML_DEBUG_SERVER_PORT=3768 qmlviewer myqmlfile.qml \endcode In Creator, open the project settings pane and set the server and port diff --git a/doc/src/declarative/qdeclarativei18n.qdoc b/doc/src/declarative/qdeclarativei18n.qdoc index c16dea3..b6e6c6e 100644 --- a/doc/src/declarative/qdeclarativei18n.qdoc +++ b/doc/src/declarative/qdeclarativei18n.qdoc @@ -49,7 +49,7 @@ capabilities are described more fully in: \o \l {Qt Linguist Manual} \endlist -You can test a translation with the \l {Qt Declarative UI Runtime}{qml} tool using the -translation option. +You can test a translation with the \l {QML Viewer} using the -translation option. \section1 Example @@ -61,8 +61,8 @@ hello.qml: import Qt 4.7 Rectangle { - width: 200; height: 200 - Text { text: qsTr("Hello"); anchors.centerIn: parent } + width: 200; height: 200 + Text { text: qsTr("Hello"); anchors.centerIn: parent } } \endqml @@ -76,6 +76,9 @@ a translation and create the release file \c hello.qm. Finally, we can test the translation: \code -qml -translation hello.qm hello.qml +qmlviewer -translation hello.qm hello.qml \endcode + + +You can see a complete example and source code in the {declarative/i18n}{QML Internationalization example}. */ diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc index bb17896..b44e6f2 100644 --- a/doc/src/declarative/qdeclarativemodels.qdoc +++ b/doc/src/declarative/qdeclarativemodels.qdoc @@ -30,63 +30,67 @@ \target qmlmodels \title Data Models -Some QML Items use Data Models to provide the data to be displayed. +QML items such as ListView, GridView and \l Repeater require Data Models +that provide the data to be displayed. These items typically require a \e delegate component that creates an instance for each item in the model. Models may be static, or have items modified, inserted, removed or moved dynamically. Data is provided to the delegate via named data roles which the -delegate may bind to. The roles are exposed as properties of the -\e model context property, though this property is set as a default property -of the delegate so, unless there is a naming clash with a -property in the delegate, the roles are usually accessed unqualified. The -example below would have a clash between the \e color role of the model and -the \e color property of the Rectangle. The clash is avoided by referencing -the \e color property of the model by its full name: \e model.color. +delegate may bind to. Here is a ListModel with two roles, \e type and \e age, +and a ListView with a delegate that binds to these roles to display their +values: -\code -ListModel { - id: myModel - ListElement { color: "red" } - ListElement { color: "green" } -} +\qml +import Qt 4.7 + +Item { + width: 200; height: 250 + + ListModel { + id: myModel + ListElement { type: "Dog"; age: 8 } + ListElement { type: "Cat"; age: 5 } + } -Component { - id: myDelegate - Rectangle { - width: 20; height: 20 - color: model.color + Component { + id: myDelegate + Text { text: type + ", " + age } + } + + ListView { + anchors.fill: parent + model: myModel + delegate: myDelegate } } -\endcode +\endqml -A special \e index role containing the index of the item in the model -is also available. +If there is a naming clash between the model's properties and the delegate's +properties, the roles can be accessed with the qualified \e model name instead. +For example, if a \l Text element had \e type or \e age properties, the text in the +above example would display those property values instead of the \e type and \e age values +from the model item. In this case, the properties could have been referenced as +\c model.type and \c model.age instead to ensure the delegate displays the +property values from the model item. -\e Note: the index role will be set to -1 if the item is removed from +A special \e index role containing the index of the item in the model +is also available to the delegate. Note this index is set to -1 if the item is removed from the model. If you bind to the index role, be sure that the logic accounts for the possibility of index being -1, i.e. that the item -is no longer valid. Usually the item will shortly be destroyed, but -it is possible to delay delegate destruction in some views via a delayRemove -attached property. +is no longer valid. (Usually the item will shortly be destroyed, but +it is possible to delay delegate destruction in some views via a \c delayRemove +attached property.) -Models that do not have named roles will have the data provided via -the \e modelData role. The \e modelData role is also provided for -Models that have only one role. In this case the \e modelData role +Models that do not have named roles (such as the QStringList model shown below) +will have the data provided via the \e modelData role. The \e modelData role is also provided for +models that have only one role. In this case the \e modelData role contains the same data as the named role. -There are a number of QML elements that operate using data models: +QML provides several types of data models among the built-in set of +QML elements. In addition, models can be created with C++ and then +made available to QML components. -\list -\o ListView -\o GridView -\o PathView -\o \l Repeater -\endlist - -QML supports several types of data model, which may be provided by QML -or C++ (via QDeclarativeContext::setContextProperty() or as plugin types, -for example). \section1 QML Data Models @@ -98,6 +102,7 @@ available roles are specified by the \l ListElement properties. \code ListModel { id: fruitModel + ListElement { name: "Apple" cost: 2.45 @@ -117,30 +122,26 @@ The above model has two roles, \e name and \e cost. These can be bound to by a ListView delegate, for example: \code -Component { - id: fruitDelegate - Row { +ListView { + width: 200; height: 250 + model: fruitModel + delegate: Row { Text { text: "Fruit: " + name } Text { text: "Cost: $" + cost } } } -ListView { - model: fruitModel - delegate: fruitDelegate -} \endcode -It is also possible to manipulate the ListModel directly via JavaScript. -In this case, the first item inserted will determine the roles available -to any views using the model. For example, if an empty ListModel is -created and populated via JavaScript the roles provided by the first +ListModel provides methods to manipulate the ListModel directly via JavaScript. +In this case, the first item inserted determines the roles available +to any views that are using the model. For example, if an empty ListModel is +created and populated via JavaScript, the roles provided by the first insertion are the only roles that will be shown in the view: \code Item { - ListModel { - id: fruitModel - } + ListModel { id: fruitModel } + MouseArea { anchors.fill: parent onClicked: fruitModel.append({"cost": 5.95, "name":"Pizza"}) @@ -148,9 +149,9 @@ Item { } \endcode -When the MouseArea is clicked fruitModel will have two roles, "cost" and "name". +When the MouseArea is clicked, \c fruitModel will have two roles, \e cost and \e name. Even if subsequent roles are added, only the first two will be handled by views -using the model. +using the model. To reset the roles available in the model, call ListModel::clear(). \section2 XmlListModel @@ -170,11 +171,17 @@ XmlListModel { } \endcode +The \l{demos/declarative/rssnews}{RSS News demo} shows how XmlListModel can +be used to display an RSS feed. + \section2 VisualItemModel -VisualItemModel allows QML items to be provided as a model. This model contains -both the data and delegate (its child items). This model does not provide any roles. +VisualItemModel allows QML items to be provided as a model. + +This model contains both the data and delegate; the child items of a +VisualItemModel provide the contents of the delegate. The model +does not provide any roles. \code VisualItemModel { @@ -197,15 +204,74 @@ will be positioned by the view. \section1 C++ Data Models -Models defined in C++ can be made available to QML either from a C++ application or from a -\l{QDeclarativeExtensionPlugin}{QML C++ plugin}. +Models can be defined in C++ and then made available to QML. This is useful +for exposing existing C++ data models or otherwise complex datasets to QML. + +A C++ model class can be defined as a QStringList, a QList<QObject*> or a +QAbstractItemModel. + +\section2 QStringList + +A model may be a simple QStringList, which provides the contents of the list via the \e modelData role. + +Here is a ListView with a delegate that references its model item's +value using the \c modelData role: + +\snippet examples/declarative/modelviews/stringlistmodel/view.qml 0 + +A Qt application can load this QML document and set the value of \c myModel +to a QStringList: + +\snippet examples/declarative/modelviews/stringlistmodel/main.cpp 0 + +The complete example is available in Qt's \l {declarative/modelviews/stringlistmodel}{examples/declarative/modelviews/stringlistmodel} directory. + +\note There is no way for the view to know that the contents of a QStringList +have changed. If the QStringList changes, it will be necessary to reset +the model by calling QDeclarativeContext::setContextProperty() again. + + +\section2 QList<QObject*> + +A list of QObject* values can also be used as a model. A QList<QObject*> provides +the properties of the objects in the list as roles. + +The following application creates a \c DataObject class that with +Q_PROPERTY values that will be accessible as named roles when a +QList<DataObject*> is exposed to QML: + +\snippet examples/declarative/modelviews/objectlistmodel/dataobject.h 0 +\dots 4 +\snippet examples/declarative/modelviews/objectlistmodel/dataobject.h 1 +\codeline +\snippet examples/declarative/modelviews/objectlistmodel/main.cpp 0 +\dots + +The QObject* is available as the \c modelData property. As a convenience, +the properties of the object are also made available directly in the +delegate's context. Here, \c view.qml references the \c DataModel properties in +the ListView delegate: + +\snippet examples/declarative/modelviews/objectlistmodel/view.qml 0 + +Note the use of the fully qualified access to the \c color property. +The properties of the object are not replicated in the \c model +object, since they are easily available via the \c modelData +object. + +The complete example is available in Qt's \l {declarative/modelviews/objectlistmodel}{examples/declarative/modelviews/objectlistmodel} directory. + +Note: There is no way for the view to know that the contents of a QList +have changed. If the QList changes, it will be necessary to reset +the model by calling QDeclarativeContext::setContextProperty() again. + \section2 QAbstractItemModel A model can be defined by subclassing QAbstractItemModel. -QAbstractItemModel provides the roles set via the QAbstractItemModel::setRoleNames() method. -The default role names set by Qt are: +The roles of a QAbstractItemModel subclass can be exposed to QML by calling +QAbstractItemModel::setRoleNames(). The default role names set by Qt are: \table \header @@ -219,22 +285,34 @@ The default role names set by Qt are: \o decoration \endtable -The model could be made available to QML either directly: +Here is an application with a QAbstractListModel subclass named \c AnimalModel +that has \e type and \e size roles. It calls QAbstractItemModel::setRoleNames() to set the +role names for accessing the properties via QML: -\code -QDeclarativeContext *ctxt = view.rootContext(); -MyModel *model = new MyModel; // subclass of QAbstractItemModel -ctxt->setContextProperty("myModel", model); -\endcode +\snippet examples/declarative/modelviews/abstractitemmodel/model.h 0 +\dots +\snippet examples/declarative/modelviews/abstractitemmodel/model.h 1 +\dots +\snippet examples/declarative/modelviews/abstractitemmodel/model.h 2 +\codeline +\snippet examples/declarative/modelviews/abstractitemmodel/model.cpp 0 +\codeline +\snippet examples/declarative/modelviews/abstractitemmodel/main.cpp 0 +\dots + +This model is displayed by a ListView delegate that accesses the \e type and \e size +roles: + +\snippet examples/declarative/modelviews/abstractitemmodel/view.qml 0 -or by registering the subclass as a new QML type in -a \l{QDeclarativeExtensionPlugin}{QML C++ plugin}. +The complete example is available in Qt's \l {declarative/modelviews/abstractitemmodel}{examples/declarative/modelviews/abstractitemmodel} directory. -QAbstractItemModel presents a heirachy of tables, but views currently provided by QML +QAbstractItemModel presents a hierarchy of tables, but the views currently provided by QML can only display list data. -In order to display child lists of a heirachical model +In order to display child lists of a hierarchical model the VisualDataModel element provides several properties and functions for use with models of type QAbstractItemModel: + \list \o \e hasModelChildren role property to determine whether a node has child nodes. \o \l VisualDataModel::rootIndex allows the root node to be specifed @@ -243,100 +321,51 @@ with models of type QAbstractItemModel: \endlist -\section2 QStringList +\section2 Exposing C++ data models to QML -A model may be a simple QStringList, which provides the contents of the list via the \e modelData role: +The above examples use QDeclarativeContext::setContextProperty() to set +model values directly in QML components. An alternative to this is to +register the C++ model class as a QML type from a QML C++ plugin using +QDeclarativeExtensionPlugin. This would allow the model classes to be +created directly as elements within QML: \table -\row -\o -\code -// main.cpp -QStringList dataList; -dataList.append("Fred"); -dataList.append("Ginger"); -dataList.append("Skipper"); - -QDeclarativeContext *ctxt = view.rootContext(); -ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); -\endcode +\row \o \code -// main.qml -ListView { - width: 100 - height: 100 - anchors.fill: parent - model: myModel - delegate: Component { - Rectangle { - height: 25 - Text { text: modelData } - } - } -} -\endcode -\endtable - -\note There is no way for the view to know that the contents of a QStringList -have changed. If the QStringList is changed, it will be necessary to reset -the model by calling QDeclarativeContext::setContextProperty() again. - - -\section2 QList<QObject*> - -QList<QObject*> provides the properties of the objects in the list as roles. - -\code -class DataObject : public QObject +class MyModelPlugin : public QDeclarativeExtensionPlugin { - Q_OBJECT - - Q_PROPERTY(QString name READ name WRITE setName) - Q_PROPERTY(QString color READ color WRITE setColor) -... -}; - -QList<QObject*> dataList; -dataList.append(new DataObject("Item 1", "red")); -dataList.append(new DataObject("Item 2", "green")); -dataList.append(new DataObject("Item 3", "blue")); -dataList.append(new DataObject("Item 4", "yellow")); +public: + void registerTypes(const char *uri) + { + qmlRegisterType<MyModel>(uri, 1, 0, + "MyModel"); + } +} -QDeclarativeContext *ctxt = view.rootContext(); -ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); +Q_EXPORT_PLUGIN2(mymodelplugin, MyModelPlugin); \endcode -The QObject* is available as the \c modelData property. As a convenience, -the properties of the object are also made available directly in the -delegate's context: +\o +\qml +MyModel { + id: myModel + ListElement { someProperty: "some value" } +} -\code ListView { - width: 100 - height: 100 - anchors.fill: parent - model: myModel - delegate: Component { - Rectangle { - height: 25 - width: 100 - color: model.modelData.color - Text { text: name } - } - } + width: 200; height: 250 + model: myModel + delegate: Text { text: someProperty } } -\endcode +\endqml -Note the use of the fully qualified access to the \c color property. -The properties of the object are not replicated in the \c model -object, since they are easily available via the modelData -object. +\endtable + +See \l {Tutorial: Writing QML extensions with C++} for details on writing QML C++ +plugins. -Note: There is no way for the view to know that the contents of a QList -have changed. If the QList is changed, it will be necessary to reset -the model by calling QDeclarativeContext::setContextProperty() again. \section1 Other Data Models @@ -344,14 +373,13 @@ the model by calling QDeclarativeContext::setContextProperty() again. \section2 An Integer -An Integer specifies a model containing the integer number of elements. -There are no data roles. +An integer can be used to specify a model that contains a certain number +of elements. In this case, the model does not have any data roles. The following example creates a ListView with five elements: \code Item { - width: 200 - height: 250 + width: 200; height: 250 Component { id: itemDelegate @@ -370,7 +398,7 @@ Item { \section2 An Object Instance -An Object Instance specifies a model with a single Object element. The +An object instance can be used to specify a model with a single object element. The properties of the object are provided as roles. The example below creates a list with one item, showing the color of the @@ -379,6 +407,8 @@ to avoid clashing with \e color property of the Text element in the delegate. \code Rectangle { + width: 200; height: 250 + Text { id: myText text: "Hello" @@ -387,10 +417,9 @@ Rectangle { Component { id: myDelegate - Text { - text: model.color - } + Text { text: model.color } } + ListView { anchors.fill: parent anchors.topMargin: 30 diff --git a/doc/src/declarative/qdeclarativeperformance.qdoc b/doc/src/declarative/qdeclarativeperformance.qdoc index 26c1e89..be8c029 100644 --- a/doc/src/declarative/qdeclarativeperformance.qdoc +++ b/doc/src/declarative/qdeclarativeperformance.qdoc @@ -115,4 +115,25 @@ provide an image that includes the frame and the shadow. Avoid running JavaScript during animation. For example, running a complex JavaScript expression for each frame of an x property animation. +\section1 Rendering + +Often using a different graphics system will give superior performance to the native +graphics system (this is especially the case on X11). This can be configured using +QApplication::setGraphicsSystem() or via the command line using the \c -graphicssystem +switch. + +You can enable OpenGL acceleration using the \c opengl graphics system, or by setting a +QGLWidget as the viewport of your QDeclarativeView. + +You may need to try various options to find what works the best for your application. +For embedded X11-based devices one recommended combination is to use the raster graphics +system with a QGLWidget for the viewport. While this doesn't guarantee the \bold fastest +performance for all use-cases, it typically has \bold{consistently good} performance for +all use-cases. In contrast, only using the raster paint engine may result in very good +performance for parts of your application and very poor performance elsewhere. + +The QML Viewer uses the raster graphics system by default for X11 and OS X. It also +includes a \c -opengl command line option which sets a QGLWidget as the viewport of the +view. On OS X, a QGLWidget is always used. + */ diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc index ef5bf98..6461925 100644 --- a/doc/src/declarative/qdeclarativestates.qdoc +++ b/doc/src/declarative/qdeclarativestates.qdoc @@ -82,4 +82,7 @@ Other things you can do in a state change: \o Run some script with StateChangeScript \endlist + +The {declarative/animation/states}{States and Transitions example} demonstrates how to declare a basic set of states and then apply animated transitions between them. + */ diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc index ac79496..fbab001 100644 --- a/doc/src/declarative/qml-intro.qdoc +++ b/doc/src/declarative/qml-intro.qdoc @@ -105,9 +105,17 @@ This is a valid QML script. To run it, copy it and save it to a file, say myexample.qml, and on the command line run the command \code - qml myexample.qml + qmlviewer myexample.qml \endcode +On Mac OS X, open the "QMLViewer" application instead and open the +\c myexample.qml file, or run it from the command line: + + \code + QMLViewer.app/Contents/MacOS/QMLViewer myexample.qml + \endcode + + It will create a very boring rectangle in its own window. @@ -915,16 +923,18 @@ the rotation of the needle image. Notice this piece of code in Dial where the change in \c value modifies the position of the needle. \code - SpringFollow on angle { - spring: 1.4 - damping: .15 - to: Math.min(Math.max(-130, root.value*2.6 - 130), 133) + angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133) + Behavior on angle { + SpringAnimation { + spring: 1.4 + damping: .15 + } } \endcode This is part of the \c needleRotation that rotates the needle and causes the -rotation of its shadow. \l SpringFollow is an element that modifies the value -of that rotation angle \e to and mimics the oscillatory behavior of a spring, +rotation of its shadow. \l SpringAnimation is an element that modifies the value +of that rotation \e angle and mimics the oscillatory behavior of a spring, with the appropriate \e spring constant to control the acceleration and the \e damping to control how quickly the effect dies away. diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc index 15d8567..d44e774 100644 --- a/doc/src/declarative/qmlruntime.qdoc +++ b/doc/src/declarative/qmlruntime.qdoc @@ -26,172 +26,117 @@ ****************************************************************************/ /*! - \page qmlruntime.html - \title Qt Declarative UI Runtime - \keyword QML Viewer - \ingroup qttools - - This page documents the \e{Declarative UI Runtime} for the Qt GUI - toolkit, and the \QQV which can be used to run apps - written for the runtime. The \QQV reads a declarative - user interface definition (\c .qml) file and displays the user interface it describes. - - QML is a runtime, as you can run plain QML files which pull in their required modules. - To run apps with the QML runtime, you can either start the runtime - from your own application (using a QDeclarativeView) or with the simple \QQV. - The launcher can be installed in a production environment, assuming that it is not already - present in the system. It is generally packaged alongside Qt. - - To deploy an application using the QML runtime, you have two options: - - \list - \o Write your own Qt application including a QDeclarative view and deploy it the same as - any other Qt application (not discussed further on this page), or - \o Write a main QML file for your application, and run your application using the included \QQV. - \endlist - - To run an application with the \QQV, pass the filename as an argument: - - \code - qmlviewer myQmlFile.qml - \endcode - - Deploying a QML application via the \QQV allows for QML only deployments, but can also - include custom C++ modules just as easily. Below is an example of how you might structure - a complex application deployed via the QML runtime, it is a listing of the files that would - be included in the deployment package. - - \code - MyApp.qml - MyAppCore/qmldir - MyAppCore/libMyAppCore.so - MyAppCore/MyAppCore.dll - MyAppCore/AnAppElement.qml - MyAppCore/AnotherElement.qml - MyAppCore/images/Logo.png - OtherModule/qmldir - OtherModule/OtherElement.qml - \endcode - - Note that this example is for deploying the example to both windows and linux. You will still need to compile the C++ - modules for each target platform, but you can deploy multiple versions of the modules across platforms with different naming conventions, - as the appropriate module file is chosen based on platform naming conventions. The C++ - modules must contain a QDeclarativeExtentionPlugin subclass. - - The application would be executed either with your own application, the command 'qmlviewer MyApp.qml' or by - opening the file if your system has the \QQV registered as the handler for QML files. The MyApp.qml file would have access - to all of the deployed types using the import statements such as the following: - - \code - import "MyAppCore" - import "OtherModule" 1.0 as Other - \endcode - - \section1 Qt QML Viewer functionality - The \QQV implements some additional functionality to help it supporting - myriad applications. If you implement your own application, you may also wish to reimplement - some or all of this functionality. However, much of this functionality is intended to aid the prototyping of - QML applications and may not be necessary for a deployed application. - - \section2 Options - - When run with the \c -help option, \c qmlviewer shows available options. - - \section2 Translations - - When the launcher loads an initial QML file, it will install a translation file from - a "i18n" subdirectory relative to that initial QML file. The actual translation file - loaded will be according to the system locale and have the form - "qml_<language>.qm", where <language> is a two-letter ISO 639 language, - such as "qml_fr.qm", optionally followed by an underscore and an uppercase two-letter ISO 3166 country - code, such as "qml_fr_FR.qm" or "qml_fr_CA.qm". - - Such files can be created using \l{Qt Linguist}. - - See the \l{scripting.html#internationalization}{Qt Internationalization} documentation for information about how to make - the JavaScript in QML files use translatable strings. - - Additionally, the launcher will load translation files specified on the - command line via the \c -translation option. - - \section2 Dummy Data - - The secondary use of the launcher is to allow QML files to be viewed with - dummy data. This is useful when prototyping the UI, as the dummy data can - be later replaced with actual data and bindings from a C++ plugin. - To provide dummy data: create a directory called "dummydata" in the same directory as - the target QML file and create files there with the "qml" extension. - All such files will be loaded as QML objects and bound to the root - context as a property with the name of the file (without ".qml"). - - To replace this with real data, you simply bind the real object to - the root context in C++. - - For example, if the Qt application has a "clock.time" property - that is a qreal from 0 to 86400 representing the number of seconds since - midnight, dummy data for this could be provided by \c dummydata/clock.qml: - \code - QtObject { property real time: 12345 } - \endcode - Any QML can be used in the dummy data files. You could even animate the - fictional data! - - \section2 Runtime Object - - All applications using the launcher will have access to the \c runtime - property on the root context. This property contains several pieces of - information about the runtime environment of the application. - - \section3 Screen Orientation - - A special piece of dummy data which is integrated into the launcher is - a simple orientation property. The orientation can be set via the - settings menu in the application, or by pressing Ctrl+T to rotate it. - - To use this from within your QML file, access \c runtime.orientation, - which can be one of the following values: - - \list - \o \c Orientation.Portrait - \o \c Orientation.Landscape - \o \c Orientation.PortraitInverted (Portrait orientation, upside-down) - \o \c Orientation.LandscapeInverted (Landscape orientation, upside-down) - \endlist - - These values can be bound to in your application. For example: - - \code - Item { - state: (runtime.orientation == Orientation.Landscape) ? 'landscape' : '' +\page qmlruntime.html +\title Qt Declarative UI Runtime + +QML documents are loaded and executed by the QML runtime. This includes the +Declarative UI engine along with the built-in QML elements and plugin modules, +and it also provides access to third-party QML elements and modules. + +Applications that use QML need to invoke the QML runtime in order to +execute QML documents. This can be done by creating a QDeclarativeView +or a QDeclarativeEngine, as described below. In addition, the Declarative UI +package includes the \QQV tool, which loads \c .qml files. This tool is +useful for developing and testing QML code without the need to write +a C++ application to load the QML runtime. + + + +\section1 Deploying QML-based applications + +To deploy an application that uses QML, the QML runtime must be invoked by +the application. This is done by writing a Qt C++ application that loads the +QDeclarativeEngine by either: + +\list +\o Loading the QML file through a QDeclarativeView instance, or +\o Creating a QDeclarativeEngine instance and loading QML files with QDeclarativeComponent +\endlist + + +\section2 Deploying with QDeclarativeView + +QDeclarativeView is a QWidget-based class that is able to load QML files. +For example, if there is a QML file, \c application.qml, like this: + +\qml + import Qt 4.7 + + Rectangle { width: 100; height: 100; color: "red" } +\endqml + +It can be loaded in a Qt application's \c main.cpp file like this: + +\code + #include <QApplication> + #include <QDeclarativeView> + + int main(int argc, char *argv[]) + { + QApplication app(argc, argv); + + QDeclarativeView view; + view.setSource(QUrl::fromLocalFile("application.qml")); + view.show(); + + return app.exec(); } - \endcode - - This allows your application to respond to changes in the screen's orientation. The launcher - will automatically update this on some platforms (currently the N900 only) to match the physical - screen's orientation. On other plaforms orientation changes will only happen when explictly asked for. - - \section3 Window Active - - The \c runtime.isActiveWindow property tells whether the main window of the launcher is currently active - or not. This is especially useful for embedded devices when you want to pause parts of your application, - including animations, when your application loses focus or goes to the background. - - The example below, stops the animation when the application's window is deactivated and resumes on activation: - - \code - Item { - width: 300; height: 200 - Rectangle { - width: 100; height: 100 - color: "green" - SequentialAnimation on x { - running: runtime.isActiveWindow - loops: Animation.Infinite - NumberAnimation {to: 200} - NumberAnimation {to: 0} - } - } +\endcode + +This creates a QWidget-based view that displays the contents of +\c application.qml. + +The application's \c .pro \l{qmake Project Files}{project file} must specify +the \c declarative module for the \c QT variable. For example: + +\code + TEMPLATE += app + QT += gui declarative + SOURCES += main.cpp +\endcode + + +\section2 Creating a QDeclarativeEngine directly + +If \c application.qml does not have any graphical components, or if it is +preferred to avoid QDeclarativeView for other reasons, the QDeclarativeEngine +can be constructed directly instead. In this case, \c application.qml is +loaded as a QDeclarativeComponent instance rather than placed into a view: + +\code + #include <QCoreApplication> + #include <QDeclarativeEngine> + + int main(int argc, char *argv[]) + { + QCoreApplication app(argc, argv); + + QDeclarativeEngine engine; + QDeclarativeContext *windowContext = new QDeclarativeContext(engine.rootContext()); + + QDeclarativeComponent component(&engine, "application.qml"); + QObject *window = component.create(windowContext); + + // ... delete window and windowContext when necessary + + return app.exec(); } - \endcode +\endcode + +See \l {Using QML in C++ Applications} for more information about using +QDeclarativeEngine, QDeclarativeContext and QDeclarativeComponent, as well +as details on including QML files through \l{The Qt Resource System}{Qt's Resource system}. + + + +\section1 Developing and prototyping with QML Viewer + +The Declarative UI package includes a QML runtime tool, the \QQV, which loads +and displays QML documents. This is useful during the application development +phase for prototyping QML-based applications without writing your own C++ +applications to invoke the QML runtime. + +See the \l{QML Viewer} documentation for more details. */ + diff --git a/doc/src/declarative/qmlviewer.qdoc b/doc/src/declarative/qmlviewer.qdoc new file mode 100644 index 0000000..5efc0ce --- /dev/null +++ b/doc/src/declarative/qmlviewer.qdoc @@ -0,0 +1,234 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + +\page qmlviewer.html +\title QML Viewer +\ingroup qttools + +The Declarative UI package includes \QQV, a tool for loading QML documents that +makes it easy to quickly develop and debug QML applications. It invokes the QML +runtime to load QML documents and also includes additional features useful for +the development of QML-based applications. + +The QML Viewer is a tool for testing and developing QML applications. It is +\e not intended for use in a production environment and should not be used for the +deployment of QML applications. In those cases, the QML runtime should be invoked +from a Qt application instead; see \l {Qt Declarative UI Runtime} for more +information. + +The viewer is located at \c QTDIR/bin/qmlviewer. To load a \c .qml file +with the viewer, run the viewer and select the file to be opened, or provide the +file path on the command line: + +\code + qmlviewer myqmlfile.qml +\endcode + +On Mac OS X, the QML Viewer application is named "QMLViewer" instead. You +can launch the viewer by opening the QMLViewer application from the Finder, or +from the command line: + +\code + QMLViewer.app/Contents/MacOS/QMLViewer myqmlfile.qml +\endcode + +The QML Viewer has a number of configuration options involving features such as +fullscreen display, module import path configurations, video recording of QML +animations, and OpenGL support. + +To see the configuration options, run \c qmlviewer with the \c -help argument. + + +\section1 Adding module import paths + +Additional module import paths can be provided using the \c -I flag. +For example, the \l{declarative/cppextensions/plugins}{QML plugins example} creates +a C++ plugin identified as \c com.nokia.TimeExample. Since this has a namespaced +identifier, the viewer has to be run with the \c -I flag from the example's +base directory: + +\code +qmlviewer -I . plugins.qml +\endcode + +This adds the current directory to the import path so that the viewer will +find the plugin in the \c com/nokia/TimeExample directory. + +Note by default, the current directory is included in the import search path, +but namespaced modules like \c com.nokia.TimeExample are not found unless +the path is explicitly added. + + +\section1 Loading translation files + +When the QML Viewer loads a QML file, it installs a translation file from a +"i18n" subdirectory relative to that initial file. This directory should contain +translation files named "qml_<language>.qm", where <language> is a two-letter +ISO 639 language, such as "qml_fr.qm", optionally followed by an underscore and +an uppercase two-letter ISO 3166 country code, such as "qml_fr_FR.qm" or +"qml_fr_CA.qm". + +Such files can be created using \l {Qt Linguist}. + +The actual translation file that is loaded depends on the system locale. +Additionally, the viewer will load any translation files specified on the command +line via the \c -translation option. + +See the \l{declarative/i18n}{QML i18n example} for an example. Also, the +\l{scripting.html#internationalization}{Qt Internationalization} documentation +shows how JavaScript code in QML files can be made to use translatable strings. + + +\section1 Loading placeholder data with QML Viewer + +Often, QML applications are prototyped with fake data that is later replaced +by real data sources from C++ plugins. QML Viewer assists in this aspect by +loading fake data into the application context: it looks for a directory named +"dummydata" in the same directory as the target QML file, and any \c .qml +files in that directory are loaded as QML objects and bound to the root context +as properties named after the files. + +For example, this QML document refers to a \c lottoNumbers property which does +not actually exist within the document: + +\qml +import Qt 4.7 + +ListView { + width: 200; height: 300 + model: lottoNumbers + delegate: Text { text: number } +} +\endqml + +If within the document's directory, there is a "dummydata" directory which +contains a \c lottoNumbers.qml file like this: + +\qml +import Qt 4.7 + +ListModel { + ListElement { number: 23 } + ListElement { number: 44 } + ListElement { number: 78 } +} +\endqml + +Then this model would be automatically loaded into the ListView in the previous document. + +Child properties are included when loaded from dummy data. The following document +refers to a \c clock.time property: + +\qml +import Qt 4.7 +Text { text: clock.time } +\endqml + +The text value could be filled by a \c dummydata/clock.qml file with a \c time +property in the root context: + +\qml +import Qt 4.7 +QtObject { property int time: 54321 } +\endqml + +To replace this with real data, you can simply bind the real data object to +the root context in C++ using QDeclarativeContext::setContextProperty(). This +is detailed in \l {Using QML in C++ Applications}. + +\section1 Using the \c runtime object + +QML applications that are loaded with the QML Viewer have access to a special +\c runtime property on the root context. This property provides additional +information about the application's runtime environment through the following properties: + +\table +\row + +\o \c runtime.isActiveWindow + +\o This property indicates whether the QML Viewer window is the current active +window on the system. It is useful for "pausing" an application, particularly +animations, when the QML Viewer loses focus or moves to the background. + +For example, the following animation is only played when the QML Viewer is +the active window: + +\qml +Rectangle { + width: 200; height: 200 + + ColorAnimation on color { + running: runtime.isActiveWindow + loops: Animation.Infinite + from: "green"; to: "blue"; duration: 2000 + } +} +\endqml + +\row + +\o \c runtime.orientation + +\o This property indicates the current orientation of the QML Viewer. On the +N900 platform, this property automatically updates to reflect the device's +actual orientation; on other platforms, this indicates the orientation currently +selected in the QML Viewer's \e {Settings -> Properties} menu. The +\c orientation value can be one of the following: + +\list +\o \c Orientation.Portrait +\o \c Orientation.Landscape +\o \c Orientation.PortraitInverted (Portrait orientation, upside-down) +\o \c Orientation.LandscapeInverted (Landscape orientation, upside-down) +\endlist + +When the viewer's orientation changes, the appearance of the loaded QML document +does not change unless it has been set to respond to changes in +\c runtime.orientation. For example, the following Rectangle changes its +aspect ratio depending on the orientation of the QML Viewer: + +\qml +Rectangle { + id: window + width: 640; height: 480 + + states: State { + name: "landscape" + PropertyChanges { target: window; width: 480; height: 640 } + } + state: (runtime.orientation == Orientation.Landscape + || runtime.orientation == Orientation.LandscapeInverted) ? 'landscape' : '' +} +\endqml + +\endtable + +*/ + diff --git a/doc/src/declarative/qtprogrammers.qdoc b/doc/src/declarative/qtprogrammers.qdoc index ae54d58..68d56bf 100644 --- a/doc/src/declarative/qtprogrammers.qdoc +++ b/doc/src/declarative/qtprogrammers.qdoc @@ -27,8 +27,6 @@ /*! - INCOMPLETE - \page qtprogrammers.html \target qtprogrammers \title QML for Qt programmers @@ -146,4 +144,14 @@ transition from an arbitrary Text item, or characters within a Text item, so you item would need to be sufficiently flexible to allow such animation. \section1 QML Items Compared With QGraphicsWidgets + +The main difference between QML items and QGraphicsWidgets is how they are intended to be used. The technical implementation details are much the same, but in practice they are different because QML items are made for declarative and compositional use, and QGraphicsWidgets are made for imperative and more integrated use. Both QML items and QGraphicsWidgets inherit from QGraphicsObject, and can co-exist. The differences are in the layouting system and the interfacing with other components. Note that, as QGraphicsWidgets tend more to be all-in-one packages, the equivalent of a QGraphicsWidget may be many QML items composed across several QML files, but it can still be loaded and used as a single QGraphicsObject from C++. + +QGraphicsWidgets are usually designed to be laid out with QGraphicsLayouts. QML does not use QGraphicsLayouts, as the Qt layouts do not mix well with animated and fluid UIs, so the geometry interface is one of the main differences. When writing QML elements, you allow the designers to place their bounding rectangle using absolute geometry, bindings or anchors (all setup for you when you inherit QDeclarativeItem) and you do not use layouts or size hints. If size hints are appropriate, then place them in the QML documentation so that the designers know how to use the item best, but still have complete control over the look and feel. + +The other main difference is that QGraphicsWidgets tend to follow the widget model, in that they are a self-contained bundle of UI and logic. In contrast, QML primitives are usually a single purpose item that does not fulfill a use case on its own, but is composed into the equivalent of the widget inside the QML file. So when writing QML Items, try to avoid doing UI logic or composing visual elements inside the items. Try instead to write more general purpose primitives, so that the look and feel (which involves the UI logic) can be written in QML. + +Both differences are caused by the different method of interaction. QGraphicsWidget is a QGraphicsObject subclass which makes fluid UI development from C++ easier, and QDeclarativeItem is a QGraphicsObject subclass which makes fluid UI development from QML easier. The difference therefore is primarily one of the interface exposed, and the design of the items that come with it (the Declarative primitives for QML and the nothing for QGraphicsWidget, because you need to write your own UI logic into the subclass). + +If you wish to use both QML and C++ to write the UI, for example to ease the transition period, it is recommended to use QDeclarativeItem subclasses (although you can use QGraphicsWidgets as well). To allow for easier use from C++ make the root item of each C++ component a LayoutItem, and load individual 'widgets' of QML (possibly comprised of multiple files, and containing a self-contained bundle of UI and logic) into your scene to replace individual QGraphicsWidgets one at a time. */ diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc index 252c11e..7a97eb1 100644 --- a/doc/src/declarative/tutorial.qdoc +++ b/doc/src/declarative/tutorial.qdoc @@ -101,11 +101,11 @@ The \c font.pointSize and \c font.bold properties are related to fonts and use t \section2 Viewing the example -To view what you have created, run the \l{Qt Declarative UI Runtime}{qml} tool (located in the \c bin directory) with your filename as the first argument. +To view what you have created, run the \l{QML Viewer} tool (located in the \c bin directory) with your filename as the first argument. For example, to run the provided completed Tutorial 1 example from the install location, you would type: \code -bin/qml $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml +bin/qmlviewer $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml \endcode */ @@ -222,5 +222,5 @@ This is equivalent to writing the two transitions separately. The \l ParallelAnimation element makes sure that the two types of animations (number and color) start at the same time. We could also run them one after the other by using \l SequentialAnimation instead. -For more details on states and transitions, see \l {QML States}. +For more details on states and transitions, see \l {QML States} and the {declarative/animation/states}{states and transitions example}. */ diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc index 211ee4b..ce53677 100644 --- a/doc/src/examples/qml-examples.qdoc +++ b/doc/src/examples/qml-examples.qdoc @@ -196,6 +196,9 @@ \o \l{declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout}{QGraphicsGridLayout} \o \l{declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout}{QGraphicsLinearLayout} \endlist + + Also see \l {Integrating QML with existing Qt UI code} for information on using QML + in Qt applications that use the Graphics View framework or ordinary QWidget-based views. */ /*! @@ -211,8 +214,10 @@ \title C++ Extensions: Image Provider \example declarative/cppextensions/imageprovider - This examples shows how to use QDeclarativeImageProvider to serve images asynchronously - into a QML item. + This examples shows how to use QDeclarativeImageProvider to serve images + to QML image elements. + + \image qml-imageprovider-example.png */ /*! @@ -252,6 +257,15 @@ */ /*! + \title Models and Views: AbstractItemModel + \example declarative/modelviews/abstractitemmodel + + This example shows how to use a QAbstractItemModel subclass as a model in QML. + + \image qml-abstractitemmodel-example.png +*/ + +/*! \title Models and Views: GridView \example declarative/modelviews/gridview @@ -306,8 +320,7 @@ \title Models and Views: Object ListModel \example declarative/modelviews/objectlistmodel - This example shows how to create a C++ extension that exposes a - QList<QObject*> as a model in QML. + This example shows how to use a QList<QObject*> as a model in QML. \image qml-objectlistmodel-example.png */ @@ -334,8 +347,7 @@ \title Models and Views: String ListModel \example declarative/modelviews/stringlistmodel - This example shows how to create a C++ extension that exposes a - QStringList as a model in QML. + This example shows how to use a QStringList as a model in QML. \image qml-stringlistmodel-example.png */ @@ -465,7 +477,7 @@ This example displays a set of clocks with different times for different cities. Each clock is created by combining \l Image elements with \l Rotation transforms - and \l SpringFollow animations. + and \l SpringAnimation behaviors. \image qml-clocks-example.png */ @@ -505,7 +517,7 @@ \title Toys: TV Tennis \example declarative/toys/tvtennis - This example shows how to use animation components such as \l SpringFollow, + This example shows how to use animation components such as \l SpringAnimation, \l SequentialAnimation and \l PropertyAction to create a game of TV tennis. \image qml-tvtennis-example.png @@ -533,7 +545,7 @@ \example declarative/ui-components/dialcontrol This example shows how to create a dial-type control. It combines - \l Image elements with \l Rotation transforms and \l SpringFollow animations + \l Image elements with \l Rotation transforms and \l SpringAnimatino behaviors to produce an interactive speedometer-type dial. \image qml-dialcontrol-example.png @@ -601,7 +613,9 @@ \title UI Components: Tab Widget \example declarative/ui-components/tabwidget - This example shows how to create a tab widget. + This example shows how to create a tab widget. It also demonstrates how + \l {Setting default properties}{default properties} can be used to collect and + assemble the child items declared within an \l Item. \image qml-tabwidget-example.png */ diff --git a/doc/src/examples/qml-webbrowser.qdoc b/doc/src/examples/qml-webbrowser.qdoc index da6f600..a3cef66 100644 --- a/doc/src/examples/qml-webbrowser.qdoc +++ b/doc/src/examples/qml-webbrowser.qdoc @@ -6,41 +6,27 @@ ** ** This file is part of the documentation of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! - \title Web Browser + \title QML Web Browser \example demos/declarative/webbrowser This demo shows how to write a simple web browser in QML by combining the diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc index d4dc2b1..61c9da2 100644 --- a/doc/src/external-resources.qdoc +++ b/doc/src/external-resources.qdoc @@ -410,6 +410,11 @@ */ /*! + \externalpage http://www.iso.org/iso/date_and_time_format + \title ISO 8601 +*/ + +/*! \externalpage http://opensource.org/licenses/bsd-license.php - \title New and Modified BSD Licenses + \title BSD License */ diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index b2c39c4..0fa23f6 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -129,6 +129,14 @@ will not compile. See \l{http://bugreports.qt.nokia.com/browse/QTBUG-6297} for a workaround for QtScript. + + \o Compile errors with Microsoft Visual C++ compiler. \br + There seems to be a bug in the Microsoft compiler when compiling with O2 + optimization level in 64 bit. + This problem will result in crashes in QAbstractItemView::viewOptions(). + See \l{http://bugreports.qt.nokia.com/browse/QTBUG-11445} for updates on this + bug. + \endlist diff --git a/doc/src/images/qml-abstractitemmodel-example.png b/doc/src/images/qml-abstractitemmodel-example.png Binary files differnew file mode 100644 index 0000000..1d7ff19 --- /dev/null +++ b/doc/src/images/qml-abstractitemmodel-example.png diff --git a/doc/src/images/qml-focus-example.png b/doc/src/images/qml-focus-example.png Binary files differindex 0ec2bff..107d2cb 100644 --- a/doc/src/images/qml-focus-example.png +++ b/doc/src/images/qml-focus-example.png diff --git a/doc/src/images/qml-imageprovider-example.png b/doc/src/images/qml-imageprovider-example.png Binary files differnew file mode 100644 index 0000000..e82548a --- /dev/null +++ b/doc/src/images/qml-imageprovider-example.png diff --git a/doc/src/images/qml-mousearea-example.png b/doc/src/images/qml-mousearea-example.png Binary files differindex c6e52d6..c0eef7f 100644 --- a/doc/src/images/qml-mousearea-example.png +++ b/doc/src/images/qml-mousearea-example.png diff --git a/doc/src/images/qml-xmlhttprequest-example.png b/doc/src/images/qml-xmlhttprequest-example.png Binary files differindex 68e7d27..f585613 100644 --- a/doc/src/images/qml-xmlhttprequest-example.png +++ b/doc/src/images/qml-xmlhttprequest-example.png diff --git a/doc/src/images/qml-xmllistmodel-example.png b/doc/src/images/qml-xmllistmodel-example.png Binary files differnew file mode 100644 index 0000000..be2d15d --- /dev/null +++ b/doc/src/images/qml-xmllistmodel-example.png diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index da50a6d..18a1746 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -70,15 +70,15 @@ <li><a href="declarativeui.html">Device UI's & Qt Quick</a></li> <li><a href="qt-gui-concepts.html">Desktop UI components</a></li> <li><a href="platform-specific.html">Platform-specific info</a></li> - <li><a href="qt-graphics.html">Graphics, Painting & Printing</a></li> - <li><a href="qt-network.html">Input/Output & networking</a></li> + <li><a href="qt-graphics.html">Graphics, Painting & Printing</a></li> + <li><a href="qt-network.html">Input/Output & networking</a></li> </ul> </div> <div class="sectionlist"> <ul> <li><a href="model-view-programming.html">Model/View programming</a></li> <li><a href="technology-apis.html">Qt API's for other technologies</a></li> - <li><a href="best-practices.html">Qt How-to's & best practices</a></li> + <li><a href="best-practices.html">Qt How-to's & best practices</a></li> <li><a href="developing-with-qt.html">Cross-platform development</a></li> </ul> </div> diff --git a/doc/src/platforms/compiler-notes.qdoc b/doc/src/platforms/compiler-notes.qdoc index 7eb92e0..c6ecd68 100644 --- a/doc/src/platforms/compiler-notes.qdoc +++ b/doc/src/platforms/compiler-notes.qdoc @@ -237,8 +237,6 @@ Qt works with the Standard Edition, the Professional Edition and Team System Edition of Visual Studio 2005. - We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003. - In order to use Qt with the Visual Studio 2005/2008 Express Edition you need to download and install the platform SDK. Due to limitations in the Express Edition it is not possible for us to install the Qt Visual @@ -266,6 +264,10 @@ from Microsoft. See this \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry} for more information. + + There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit. + Its optimizer causes trouble and crashes for the release builds and it is not supported + in that configuration. See task http://bugreports.qt.nokia.com/browse/QTBUG-11445. \section1 IBM xlC (AIX) diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc index 1b3641d..22d858f 100644 --- a/doc/src/platforms/symbian-introduction.qdoc +++ b/doc/src/platforms/symbian-introduction.qdoc @@ -112,6 +112,7 @@ \row \o \c release-armv5 \o Build release binaries for hardware using RVCT. \row \o \c run \o Run the application on the emulator. \row \o \c runonphone \o Run the application on a device. + \row \o \c deploy \o Deploys the project into a device. \row \o \c sis \o Create signed \c .sis file for project. \row \o \c unsigned_sis \o Create unsigned \c .sis file for project. \row \o \c installer_sis \o Create signed \l{Smart Installer}{smart installer} @@ -172,7 +173,7 @@ By default empty. \endtable - The suppported options for \c QT_SIS_OPTIONS: + The supported options for \c QT_SIS_OPTIONS: \target Supported options for QT_SIS_OPTIONS \table @@ -186,7 +187,7 @@ \endtable Execute the \c{createpackage.pl} script without any - parameters for detailed information about options. By default no otions are given. + parameters for detailed information about options. By default no options are given. For example: @@ -196,9 +197,9 @@ \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 3 - If you want to install the program immediately, make sure that the device - is connected to the computer in "PC Suite" mode, and run \c sis target - with the \c QT_SIS_OPTIONS=-i, like this: + If you want to install the program immediately after creating \c .sis file, + make sure that the device is connected to the computer in "PC Suite" mode, + and use \c deploy target instead of \c sis target: \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 5 diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc index 985f3da..c46159c 100644 --- a/doc/src/snippets/code/doc_src_installation.qdoc +++ b/doc/src/snippets/code/doc_src_installation.qdoc @@ -263,7 +263,7 @@ make //! [40] //! [41] -cd src/s60installs +cd src make sis //! [41] diff --git a/doc/src/snippets/code/doc_src_symbian-introduction.qdoc b/doc/src/snippets/code/doc_src_symbian-introduction.qdoc index 60c69c0..a2ea686 100644 --- a/doc/src/snippets/code/doc_src_symbian-introduction.qdoc +++ b/doc/src/snippets/code/doc_src_symbian-introduction.qdoc @@ -63,6 +63,5 @@ //! [4] //! [5] - set QT_SIS_OPTIONS=-i - make sis + make deploy //! [5] diff --git a/doc/src/snippets/declarative/gridview/gridview.qml b/doc/src/snippets/declarative/gridview/gridview.qml index 7377cee..e92a429 100644 --- a/doc/src/snippets/declarative/gridview/gridview.qml +++ b/doc/src/snippets/declarative/gridview/gridview.qml @@ -108,8 +108,10 @@ Component { Rectangle { width: view.cellWidth; height: view.cellHeight color: "lightsteelblue"; radius: 5 - SpringFollow on x { to: view.currentItem.x; spring: 3; damping: 0.2 } - SpringFollow on y { to: view.currentItem.y; spring: 3; damping: 0.2 } + x: view.currentItem.x + y: view.currentItem.y + Behavior on x { SpringAnimation { spring: 3; damping: 0.2 } } + Behavior on y { SpringAnimation { spring: 3; damping: 0.2 } } } } diff --git a/doc/src/snippets/declarative/listview/listview.qml b/doc/src/snippets/declarative/listview/listview.qml index 0c6dfd4..cde820e 100644 --- a/doc/src/snippets/declarative/listview/listview.qml +++ b/doc/src/snippets/declarative/listview/listview.qml @@ -99,10 +99,12 @@ Component { Rectangle { width: 180; height: 40 color: "lightsteelblue"; radius: 5 - SpringFollow on y { - to: list.currentItem.y - spring: 3 - damping: 0.2 + y: list.currentItem.y + Behavior on y { + SpringAnimation { + spring: 3 + damping: 0.2 + } } } } diff --git a/doc/src/snippets/declarative/mousearea.qml b/doc/src/snippets/declarative/mousearea.qml index 8e7c737..fb6cba0 100644 --- a/doc/src/snippets/declarative/mousearea.qml +++ b/doc/src/snippets/declarative/mousearea.qml @@ -83,17 +83,18 @@ Rectangle { id: container width: 600; height: 200 - Image { - id: pic - source: "pics/qt.png" - opacity: (600.0 - pic.x) / 600 + Rectangle { + id: rect + width: 50; height: 50 + color: "red" + opacity: (600.0 - rect.x) / 600 MouseArea { anchors.fill: parent - drag.target: pic + drag.target: rect drag.axis: Drag.XAxis drag.minimumX: 0 - drag.maximumX: container.width - pic.width + drag.maximumX: container.width - rect.width } } } diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml index 835ca32..9e759f9 100644 --- a/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml +++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml @@ -55,7 +55,7 @@ ListView { MouseArea { anchors.fill: parent onClicked: { - if (hasModelChildren) + if (model.hasModelChildren) view.model.rootIndex = view.model.modelIndex(index) } } diff --git a/doc/src/template/images/bullet_up.png b/doc/src/template/images/bullet_up.png Binary files differindex 285e741..7de2f06 100644 --- a/doc/src/template/images/bullet_up.png +++ b/doc/src/template/images/bullet_up.png diff --git a/doc/src/template/scripts/functions.js b/doc/src/template/scripts/functions.js index 2723ff2..faa4ca4 100755 --- a/doc/src/template/scripts/functions.js +++ b/doc/src/template/scripts/functions.js @@ -63,11 +63,9 @@ function processNokiaData(response){ if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'APIPage'){ lookupCount++; - for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){ full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue; full_li_element = full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd; - $('#ul001').append(full_li_element); $('#ul001 .defaultLink').css('display','none'); @@ -77,7 +75,6 @@ function processNokiaData(response){ if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Article'){ articleCount++; - for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){ full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue; full_li_element =full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd ; @@ -103,10 +100,13 @@ function processNokiaData(response){ if(i==propertyTags.length){$('#pageType').removeClass('loading');} } + if(lookupCount > 0){$('#ul001 .menuAlert').remove();$('#ul001').prepend('<li class=\"menuAlert liveResult hit\">Found ' + lookupCount + ' hits</li>');$('#ul001 li').css('display','block');$('.sidebar .search form input').removeClass('loading');} + if(articleCount > 0){$('#ul002 .menuAlert').remove();$('#ul002').prepend('<li class=\"menuAlert liveResult hit\">Found ' + articleCount + ' hits</li>');$('#ul002 li').css('display','block');} + if(exampleCount > 0){$('#ul003 .menuAlert').remove();$('#ul003').prepend('<li class=\"menuAlert liveResult hit\">Found ' + articleCount + ' hits</li>');$('#ul003 li').css('display','block');} - if(lookupCount == 0){$('#ul001').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul001 li').css('display','block');$('.sidebar .search form input').removeClass('loading');} - if(articleCount == 0){$('#ul002').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul002 li').css('display','block');} - if(exampleCount == 0){$('#ul003').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul003 li').css('display','block');} + if(lookupCount == 0){$('#ul001 .menuAlert').remove();$('#ul001').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul001 li').css('display','block');$('.sidebar .search form input').removeClass('loading');} + if(articleCount == 0){$('#ul002 .menuAlert').remove();$('#ul002').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul002 li').css('display','block');} + if(exampleCount == 0){$('#ul003 .menuAlert').remove();$('#ul003').prepend('<li class=\"menuAlert liveResult noMatch\">Found no result</li>');$('#ul003 li').css('display','block');} // reset count variables; lookupCount=0; articleCount = 0; @@ -121,6 +121,7 @@ function CheckEmptyAndLoadList() var pageVal = $('title').html(); $('#feedUrl').remove(); $('#pageVal').remove(); + $('.menuAlert').remove(); $('#feedform').append('<input id="feedUrl" name="feedUrl" value="'+pageUrl+'" style="display:none;">'); $('#feedform').append('<input id="pageVal" name="pageVal" value="'+pageVal+'" style="display:none;">'); $('.liveResult').remove(); @@ -170,6 +171,7 @@ else if (this.timer) clearTimeout(this.timer); this.timer = setTimeout(function () { $('#pageType').addClass('loading'); + $('.searching').remove(); $('.list ul').prepend('<li class="menuAlert searching">Searching...</li>'); $.ajax({ contentType: "application/x-www-form-urlencoded", @@ -180,7 +182,8 @@ else success: function (response, textStatus) { $('.liveResult').remove(); - $('#pageType').removeClass('loading'); + $('.searching').remove(); + $('#pageType').removeClass('loading'); $('.list ul').prepend('<li class="menuAlert searching">Searching...</li>'); processNokiaData(response); diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css index 78a21f6..184a832 100755 --- a/doc/src/template/style/style.css +++ b/doc/src/template/style/style.css @@ -18,6 +18,8 @@ fieldset, img { border: 0; + height:100%; + width:100% } address, caption, cite, code, dfn, em, strong, th, var, optgroup { @@ -239,7 +241,7 @@ width: 158px; height: 19px; padding: 0; - border: none; + border: 0px; outline: none; font: 13px/1.2 Verdana; } @@ -328,13 +330,18 @@ { background: url(../images/box_bg.png) repeat-x 0 bottom; } - .sidebar .box ul li.menuAlert + .sidebar .box ul li.noMatch { background: none; - color:gray; + color:#FF2A00; font-style:italic; } - + .sidebar .box ul li.hit + { + background: none; + color:#AAD2F0; + font-style:italic; + } .wrap { @@ -490,11 +497,20 @@ } .wrap .content h2 { - font: 600 16px/1.2 Arial; + + border-bottom:1px solid #DDDDDD; + font:600 16px/1.2 Arial; + margin-top:15px; + width:100%; + } .wrap .content h3 { font: 600 14px/1.2 Arial; + /*border-bottom:1px solid #DDDDDD;*/ + font:600 16px/1.2 Arial; + margin-top:15px; + width:100%; } .wrap .content p { @@ -742,6 +758,7 @@ pre { border: 1px solid #DDDDDD; + -moz-border-radius: 7px 7px 7px 7px; margin: 0 20px 10px 10px; padding: 20px 15px 20px 20px; overflow-x: auto; @@ -755,7 +772,7 @@ font-size: 11px; /*min-width: 395px;*/ margin-bottom: 25px; - display: inline-block; + /* display: inline-block;*/ } thead { @@ -820,12 +837,14 @@ } .qmlreadonly { + padding-left: 5px; float: right; color: #254117; } .qmldefault { + padding-left: 5px; float: right; color: red; } @@ -846,7 +865,7 @@ position: fixed; top: 100px; left: 33%; - height: 190px; + height: 230px; width: 400px; padding: 5px; background-color: #e6e7e8; @@ -870,12 +889,25 @@ height: 120px; margin: 0px 25px 10px 15px; } + #noteHead + { + font-weight:bold; + padding:10px 10px 10px 20px; + } #feedsubmit { display: inline; float: right; margin: 4px 32px 0 0; } + + .note + { + font-size:7pt; + padding-bottom:3px; + padding-left:20px; + } + #blurpage { display: none; @@ -994,6 +1026,7 @@ } h3.fn, span.fn { + -moz-border-radius:7px 7px 7px 7px; background-color: #F6F6F6; border-width: 1px; border-style: solid; @@ -1011,6 +1044,7 @@ border-width: 1px; border-style: solid; border-color: #E6E6E6; + -moz-border-radius: 7px 7px 7px 7px; width:100%; } @@ -1170,6 +1204,7 @@ vertical-align:top; width:100%; background-color:#F6F6F6; border:1px solid #E6E6E6; +-moz-border-radius: 7px 7px 7px 7px; font-size:12pt; padding-left:10px; margin-top:10px; @@ -1219,7 +1254,23 @@ pre.highlightedCode { list-style-type:decimal; } - + .navTop{ + float:right; + display:block; + padding-right:15px; + /*margin-top:10px;*/ + } + + .wrap .content .toc h3{ + border-bottom:0px; + margin-top:0px; + } + + .wrap .content .toc h3 a:hover{ + color:#00732F; + text-decoration:none; + } + /* end of screen media */ /* start of print media */ diff --git a/examples/declarative/animation/behaviors/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example.qml index d187fbf..adefb9e 100644 --- a/examples/declarative/animation/behaviors/behavior-example.qml +++ b/examples/declarative/animation/behaviors/behavior-example.qml @@ -82,7 +82,7 @@ Rectangle { property string text - x: 62.5; y: 75; width: 75; height: 50 + x: 62; y: 75; width: 75; height: 50 radius: 6 border.width: 4; border.color: "white" color: "firebrick" diff --git a/examples/declarative/cppextensions/cppextensions.qmlproject b/examples/declarative/cppextensions/cppextensions.qmlproject index d4909f8..6b36284 100644 --- a/examples/declarative/cppextensions/cppextensions.qmlproject +++ b/examples/declarative/cppextensions/cppextensions.qmlproject @@ -12,5 +12,5 @@ Project { directory: "." } /* List of plugin directories passed to QML runtime */ - // importPaths: [ " ../exampleplugin " ] + importPaths: [ "plugins" ] } diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml index 5890c91..1ef97fa 100644 --- a/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml +++ b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml @@ -37,29 +37,13 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ - import Qt 4.7 -import "ImageProviderCore" -//![0] -ListView { - width: 100; height: 100 - anchors.fill: parent - - model: myModel +import "ImageProviderCore" // import the plugin that registers the color image provider - delegate: Component { - Item { - width: 100 - height: 50 - Text { - text: "Loading..." - anchors.centerIn: parent - } - Image { - source: modelData - sourceSize: "50x25" - } - } - } +//![0] +Column { + Image { source: "image://colors/yellow" } + Image { source: "image://colors/red" } } //![0] + diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider.cpp b/examples/declarative/cppextensions/imageprovider/imageprovider.cpp index 0281b4a..18d027e 100644 --- a/examples/declarative/cppextensions/imageprovider/imageprovider.cpp +++ b/examples/declarative/cppextensions/imageprovider/imageprovider.cpp @@ -42,7 +42,6 @@ #include <qdeclarativeextensionplugin.h> #include <qdeclarativeengine.h> -#include <qdeclarativecontext.h> #include <qdeclarative.h> #include <qdeclarativeitem.h> #include <qdeclarativeimageprovider.h> @@ -50,62 +49,57 @@ #include <QImage> #include <QPainter> -/* - This example illustrates using a QDeclarativeImageProvider to serve - images asynchronously. -*/ - //![0] class ColorImageProvider : public QDeclarativeImageProvider { public: - // This is run in a low priority thread. - QImage request(const QString &id, QSize *size, const QSize &req_size) + ColorImageProvider() + : QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap) { - if (size) *size = QSize(100,50); - QImage image( - req_size.width() > 0 ? req_size.width() : 100, - req_size.height() > 0 ? req_size.height() : 50, - QImage::Format_RGB32); - image.fill(QColor(id).rgba()); - QPainter p(&image); - QFont f = p.font(); - f.setPixelSize(30); - p.setFont(f); - p.setPen(Qt::black); - if (req_size.isValid()) - p.scale(req_size.width()/100.0, req_size.height()/50.0); - p.drawText(QRectF(0,0,100,50),Qt::AlignCenter,id); - return image; + } + + QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) + { + int width = 100; + int height = 50; + + if (size) + *size = QSize(width, height); + QPixmap pixmap(requestedSize.width() > 0 ? requestedSize.width() : width, + requestedSize.height() > 0 ? requestedSize.height() : height); + pixmap.fill(QColor(id).rgba()); +//![0] + + // write the color name + QPainter painter(&pixmap); + QFont f = painter.font(); + f.setPixelSize(20); + painter.setFont(f); + painter.setPen(Qt::black); + if (requestedSize.isValid()) + painter.scale(requestedSize.width() / width, requestedSize.height() / height); + painter.drawText(QRectF(0, 0, width, height), Qt::AlignCenter, id); + +//![1] + return pixmap; } }; +//![1] class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin { Q_OBJECT public: - void registerTypes(const char *uri) { + void registerTypes(const char *uri) + { Q_UNUSED(uri); - } - void initializeEngine(QDeclarativeEngine *engine, const char *uri) { + void initializeEngine(QDeclarativeEngine *engine, const char *uri) + { Q_UNUSED(uri); - engine->addImageProvider("colors", new ColorImageProvider); - - 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"); - - QDeclarativeContext *ctxt = engine->rootContext(); - ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); } }; @@ -113,5 +107,4 @@ public: #include "imageprovider.moc" Q_EXPORT_PLUGIN(ImageProviderExtensionPlugin); -//![0] diff --git a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml index 37128b5..6b2676e 100644 --- a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml +++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml @@ -57,10 +57,10 @@ Rectangle { smooth: true transform: Rotation { id: hourRotation - origin.x: 7.5; origin.y: 73; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: (clock.hours * 30) + (clock.minutes * 0.5) + origin.x: 7.5; origin.y: 73; + angle: (clock.hours * 30) + (clock.minutes * 0.5) + Behavior on angle { + SpringAnimation{ spring: 2; damping: 0.2; modulus: 360 } } } } @@ -71,10 +71,10 @@ Rectangle { smooth: true transform: Rotation { id: minuteRotation - origin.x: 6.5; origin.y: 83; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: clock.minutes * 6 + origin.x: 6.5; origin.y: 83; + angle: clock.minutes * 6 + Behavior on angle { + SpringAnimation{ spring: 2; damping: 0.2; modulus: 360 } } } } diff --git a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml index d0b45f5..9a8d3f3 100644 --- a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml +++ b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml @@ -55,10 +55,11 @@ FocusScope { GridView { id: gridView - x: 20; width: parent.width - 40; height: parent.height + anchors.fill: parent; anchors.leftMargin: 20; anchors.rightMargin: 20 cellWidth: 152; cellHeight: 152 focus: true model: 12 + KeyNavigation.down: listViews KeyNavigation.left: contextMenu @@ -70,9 +71,9 @@ FocusScope { id: content color: "transparent" smooth: true - anchors.centerIn: parent; width: container.width - 40; height: container.height - 40; radius: 10 + anchors.fill: parent; anchors.margins: 20; radius: 10 - Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 } + Rectangle { color: "#91AA9D"; anchors.fill: parent; anchors.margins: 3; radius: 8; smooth: true } Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true } } diff --git a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml index fba9b05..cc13637 100644 --- a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml +++ b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml @@ -42,7 +42,7 @@ import Qt 4.7 Item { id: container - x: 5; width: ListView.view.width - 10; height: 60 + width: ListView.view.width; height: 60; anchors.leftMargin: 10; anchors.rightMargin: 10 Rectangle { id: content @@ -51,11 +51,15 @@ Item { smooth: true radius: 10 - Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 } - Text { - text: "List element " + (index + 1); color: "#193441"; font.bold: false; anchors.centerIn: parent - font.pixelSize: 14 - } + Rectangle { anchors.fill: parent; anchors.margins: 3; color: "#91AA9D"; smooth: true; radius: 8 } + } + + Text { + id: label + anchors.centerIn: content + text: "List element " + (index + 1) + color: "#193441" + font.pixelSize: 14 } MouseArea { @@ -72,6 +76,7 @@ Item { states: State { name: "active"; when: container.focus == true PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 } + PropertyChanges { target: label; font.pixelSize: 16 } } transitions: Transition { diff --git a/examples/declarative/keyinteraction/focus/Core/ListViews.qml b/examples/declarative/keyinteraction/focus/Core/ListViews.qml index 670a3fa..6f9ceb4 100644 --- a/examples/declarative/keyinteraction/focus/Core/ListViews.qml +++ b/examples/declarative/keyinteraction/focus/Core/ListViews.qml @@ -60,7 +60,7 @@ FocusScope { ListView { id: list2 - y: wantsFocus ? 10 : 40; x: parent.width / 3; width: parent.width / 3; height: parent.height - 20 + y: wantsFocus ? 10 : 40; x: parseInt(parent.width / 3); width: parent.width / 3; height: parent.height - 20 KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3 model: 10; cacheBuffer: 200 delegate: ListViewDelegate {} @@ -72,7 +72,7 @@ FocusScope { ListView { id: list3 - y: wantsFocus ? 10 : 40; x: 2 * parent.width / 3; width: parent.width / 3; height: parent.height - 20 + y: wantsFocus ? 10 : 40; x: parseInt(2 * parent.width / 3); width: parent.width / 3; height: parent.height - 20 KeyNavigation.up: gridMenu; KeyNavigation.left: list2 model: 10; cacheBuffer: 200 delegate: ListViewDelegate {} diff --git a/examples/declarative/keyinteraction/focus/focus.qml b/examples/declarative/keyinteraction/focus/focus.qml index 068ba1d..8b2af70 100644 --- a/examples/declarative/keyinteraction/focus/focus.qml +++ b/examples/declarative/keyinteraction/focus/focus.qml @@ -68,7 +68,8 @@ Rectangle { Rectangle { id: shade - color: "black"; opacity: 0; anchors.fill: parent + anchors.fill: parent + color: "black"; opacity: 0 } states: State { @@ -88,7 +89,7 @@ Rectangle { anchors.verticalCenter: parent.verticalCenter MouseArea { - anchors { fill: parent; leftMargin: -10; topMargin: -10; rightMargin: -10; bottomMargin: -10 } + anchors.fill: parent; anchors.margins: -10 onClicked: window.state = "contextMenuOpen" } } diff --git a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro new file mode 100644 index 0000000..55e67f3 --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro @@ -0,0 +1,8 @@ +TEMPLATE = app + +QT += declarative + +RESOURCES += abstractitemmodel.qrc + +HEADERS = model.h +SOURCES = main.cpp model.cpp diff --git a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.qrc b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.qrc new file mode 100644 index 0000000..4ae861c --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.qrc @@ -0,0 +1,6 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>view.qml</file> +</qresource> +</RCC> + diff --git a/examples/declarative/modelviews/abstractitemmodel/main.cpp b/examples/declarative/modelviews/abstractitemmodel/main.cpp new file mode 100644 index 0000000..e869aba --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/main.cpp @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** 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:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "model.h" +#include <QDeclarativeContext> +#include <QDeclarativeView> + +#include <QApplication> + +//![0] +int main(int argc, char ** argv) +{ + QApplication app(argc, argv); + + AnimalModel model; + model.addAnimal(Animal("Wolf", "Medium")); + model.addAnimal(Animal("Polar bear", "Large")); + model.addAnimal(Animal("Quoll", "Small")); + + QDeclarativeView view; + QDeclarativeContext *ctxt = view.rootContext(); + ctxt->setContextProperty("myModel", &model); +//![0] + + view.setSource(QUrl("qrc:view.qml")); + view.show(); + + return app.exec(); +} + diff --git a/examples/declarative/modelviews/abstractitemmodel/model.cpp b/examples/declarative/modelviews/abstractitemmodel/model.cpp new file mode 100644 index 0000000..d0e0971 --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/model.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** +** 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:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "model.h" + +Animal::Animal(const QString &type, const QString &size) + : m_type(type), m_size(size) +{ +} + +QString Animal::type() const +{ + return m_type; +} + +QString Animal::size() const +{ + return m_size; +} + +//![0] +AnimalModel::AnimalModel(QObject *parent) + : QAbstractListModel(parent) +{ + QHash<int, QByteArray> roles; + roles[TypeRole] = "type"; + roles[SizeRole] = "size"; + setRoleNames(roles); +} +//![0] + +void AnimalModel::addAnimal(const Animal &animal) +{ + m_animals << animal; +} + +int AnimalModel::rowCount(const QModelIndex & parent) const { + return m_animals.count(); +} + +QVariant AnimalModel::data(const QModelIndex & index, int role) const { + if (index.row() < 0 || index.row() > m_animals.count()) + return QVariant(); + + const Animal &animal = m_animals[index.row()]; + if (role == TypeRole) + return animal.type(); + else if (role == SizeRole) + return animal.size(); + return QVariant(); +} + diff --git a/examples/declarative/modelviews/abstractitemmodel/model.h b/examples/declarative/modelviews/abstractitemmodel/model.h new file mode 100644 index 0000000..1119837 --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/model.h @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** 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:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QAbstractListModel> +#include <QStringList> + +//![0] +class Animal +{ +public: + Animal(const QString &type, const QString &size); +//![0] + + QString type() const; + QString size() const; + +private: + QString m_type; + QString m_size; +//![1] +}; + +class AnimalModel : public QAbstractListModel +{ + Q_OBJECT +public: + enum AnimalRoles { + TypeRole = Qt::UserRole + 1, + SizeRole + }; + + AnimalModel(QObject *parent = 0); +//![1] + + void addAnimal(const Animal &animal); + + int rowCount(const QModelIndex & parent = QModelIndex()) const; + + QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const; + +private: + QList<Animal> m_animals; +//![2] +}; +//![2] + + diff --git a/examples/declarative/modelviews/abstractitemmodel/view.qml b/examples/declarative/modelviews/abstractitemmodel/view.qml new file mode 100644 index 0000000..591d89a --- /dev/null +++ b/examples/declarative/modelviews/abstractitemmodel/view.qml @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** 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:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ +import Qt 4.7 + +//![0] +ListView { + width: 200; height: 250 + anchors.fill: parent + + model: myModel + delegate: Text { text: "Animal: " + type + ", " + size } +} +//![0] + diff --git a/examples/declarative/modelviews/listview/highlight.qml b/examples/declarative/modelviews/listview/highlight.qml index 4c14f2a..2d68da6 100644 --- a/examples/declarative/modelviews/listview/highlight.qml +++ b/examples/declarative/modelviews/listview/highlight.qml @@ -39,7 +39,7 @@ ****************************************************************************/ // This example shows how to create your own highlight delegate for a ListView -// that uses a SpringFollow animation to provide custom movement when the +// that uses a SpringAnimation to provide custom movement when the // highlight bar is moved between items. import Qt 4.7 @@ -78,7 +78,8 @@ Rectangle { Rectangle { width: 200; height: 50 color: "#FFFF88" - SpringFollow on y { to: listView.currentItem.y; spring: 3; damping: 0.1 } + y: listView.currentItem.y; + Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } } } } diff --git a/examples/declarative/modelviews/objectlistmodel/dataobject.h b/examples/declarative/modelviews/objectlistmodel/dataobject.h index c61e50c..17aa355 100644 --- a/examples/declarative/modelviews/objectlistmodel/dataobject.h +++ b/examples/declarative/modelviews/objectlistmodel/dataobject.h @@ -43,12 +43,14 @@ #include <QObject> +//![0] class DataObject : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged) +//![0] public: DataObject(QObject *parent=0); @@ -67,6 +69,8 @@ signals: private: QString m_name; QString m_color; +//![1] }; +//![1] #endif // DATAOBJECT_H diff --git a/examples/declarative/modelviews/objectlistmodel/main.cpp b/examples/declarative/modelviews/objectlistmodel/main.cpp index 25de8d1..89c22a1 100644 --- a/examples/declarative/modelviews/objectlistmodel/main.cpp +++ b/examples/declarative/modelviews/objectlistmodel/main.cpp @@ -53,20 +53,21 @@ model in QML */ +//![0] int main(int argc, char ** argv) { QApplication app(argc, argv); - QDeclarativeView view; - QList<QObject*> dataList; dataList.append(new DataObject("Item 1", "red")); dataList.append(new DataObject("Item 2", "green")); dataList.append(new DataObject("Item 3", "blue")); dataList.append(new DataObject("Item 4", "yellow")); + QDeclarativeView view; QDeclarativeContext *ctxt = view.rootContext(); ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); +//![0] view.setSource(QUrl("qrc:view.qml")); view.show(); diff --git a/examples/declarative/modelviews/objectlistmodel/view.qml b/examples/declarative/modelviews/objectlistmodel/view.qml index 034121c..c3cccdd 100644 --- a/examples/declarative/modelviews/objectlistmodel/view.qml +++ b/examples/declarative/modelviews/objectlistmodel/view.qml @@ -40,17 +40,17 @@ import Qt 4.7 +//![0] ListView { - width: 100 - height: 100 + width: 100; height: 100 anchors.fill: parent + model: myModel - delegate: Component { - Rectangle { - height: 25 - width: 100 - color: model.modelData.color - Text { text: name } - } + delegate: Rectangle { + height: 25 + width: 100 + color: model.modelData.color + Text { text: name } } } +//![0] diff --git a/examples/declarative/modelviews/stringlistmodel/main.cpp b/examples/declarative/modelviews/stringlistmodel/main.cpp index b2ebd4b..bf46c63 100644 --- a/examples/declarative/modelviews/stringlistmodel/main.cpp +++ b/examples/declarative/modelviews/stringlistmodel/main.cpp @@ -56,16 +56,17 @@ int main(int argc, char ** argv) { QApplication app(argc, argv); - QDeclarativeView view; - +//![0] QStringList dataList; dataList.append("Item 1"); dataList.append("Item 2"); dataList.append("Item 3"); dataList.append("Item 4"); + QDeclarativeView view; QDeclarativeContext *ctxt = view.rootContext(); ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); +//![0] view.setSource(QUrl("qrc:view.qml")); view.show(); diff --git a/examples/declarative/modelviews/stringlistmodel/view.qml b/examples/declarative/modelviews/stringlistmodel/view.qml index ec5597d..3d789fd 100644 --- a/examples/declarative/modelviews/stringlistmodel/view.qml +++ b/examples/declarative/modelviews/stringlistmodel/view.qml @@ -39,17 +39,17 @@ ****************************************************************************/ import Qt 4.7 +//![0] ListView { - width: 100 - height: 100 + width: 100; height: 100 anchors.fill: parent + model: myModel - delegate: Component { - Rectangle { - height: 25 - width: 100 - Text { text: modelData } - } + delegate: Rectangle { + height: 25 + width: 100 + Text { text: modelData } } } +//![0] diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml index 64f72a9..85ea2dc 100644 --- a/examples/declarative/touchinteraction/mousearea/mousearea-example.qml +++ b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml @@ -44,59 +44,69 @@ Rectangle { id: box width: 350; height: 250 - function showInfo(text) { - statusText.text = text - } - Rectangle { + id: redSquare width: 80; height: 80 + anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10 color: "red" Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent } MouseArea { - anchors.fill: parent + anchors.fill: parent hoverEnabled: true acceptedButtons: Qt.LeftButton | Qt.RightButton - onPressed: box.showInfo('Pressed (x=' + mouse.x + ' y=' + mouse.y + ' button=' - + (mouse.button == Qt.RightButton ? 'right' : 'left') - + ' Shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')') - onReleased: box.showInfo('Released (x=' + mouse.x + ' y=' + mouse.y - + ' isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')') - onClicked: box.showInfo('Clicked (x=' + mouse.x + ' y=' + mouse.y + ' wasHeld=' + mouse.wasHeld + ')') - onDoubleClicked: box.showInfo('Double clicked (x=' + mouse.x + ' y=' + mouse.y + ')') - onPressAndHold: box.showInfo('Press and hold') - onEntered: box.showInfo('Entered (pressed=' + pressed + ')') - onExited: box.showInfo('Exited (pressed=' + pressed + ')') + onEntered: info.text = 'Entered' + onExited: info.text = 'Exited (pressed=' + pressed + ')' + + onPressed: { + info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left') + + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')' + var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y) + posInfo.text = + mouse.x + ',' + mouse.y + ' in square' + + ' (' + posInBox.x + ',' + posInBox.y + ' in window)' + } + + onReleased: { + info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')' + posInfo.text = '' + } + + onPressAndHold: info.text = 'Press and hold' + onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')' + onDoubleClicked: info.text = 'Double clicked' } } Rectangle { - width: 80; height: 80; anchors.right: parent.right + id: blueSquare + width: 80; height: 80 + x: box.width - width - 10; y: 10 // making this item draggable, so don't use anchors color: "blue" Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent } MouseArea { anchors.fill: parent - drag.target: parent - drag.axis: Drag.XAxis + drag.target: blueSquare + drag.axis: Drag.XandYAxis drag.minimumX: 0 - drag.maximumX: 150 - - onPressed: box.showInfo('Pressed') - onReleased: box.showInfo('Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')') - onClicked: box.showInfo('Clicked' + ' (wasHeld=' + mouse.wasHeld + ')') - onDoubleClicked: box.showInfo('Double clicked') - onPressAndHold: box.showInfo('Press and hold') + drag.maximumX: box.width - parent.width + drag.minimumY: 0 + drag.maximumY: box.height - parent.width } } Text { - id: statusText - anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 + id: info + anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 onTextChanged: console.log(text) } + + Text { + id: posInfo + anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 + } } diff --git a/examples/declarative/toys/clocks/content/Clock.qml b/examples/declarative/toys/clocks/content/Clock.qml index 136573b..24a07ec 100644 --- a/examples/declarative/toys/clocks/content/Clock.qml +++ b/examples/declarative/toys/clocks/content/Clock.qml @@ -45,10 +45,10 @@ Item { width: 200; height: 230 property alias city: cityLabel.text - property variant hours - property variant minutes - property variant seconds - property variant shift : 0 + property int hours + property int minutes + property int seconds + property real shift property bool night: false function timeChanged() { @@ -60,23 +60,24 @@ Item { } Timer { - interval: 100; running: true; repeat: true; triggeredOnStart: true + interval: 100; running: true; repeat: true; onTriggered: clock.timeChanged() } Image { id: background; source: "clock.png"; visible: clock.night == false } Image { source: "clock-night.png"; visible: clock.night == true } + Image { x: 92.5; y: 27 source: "hour.png" smooth: true transform: Rotation { id: hourRotation - origin.x: 7.5; origin.y: 73; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: (clock.hours * 30) + (clock.minutes * 0.5) + origin.x: 7.5; origin.y: 73; + angle: (clock.hours * 30) + (clock.minutes * 0.5) + Behavior on angle { + NumberAnimation{} } } } @@ -87,10 +88,10 @@ Item { smooth: true transform: Rotation { id: minuteRotation - origin.x: 6.5; origin.y: 83; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: clock.minutes * 6 + origin.x: 6.5; origin.y: 83; + angle: clock.minutes * 6 + Behavior on angle { + NumberAnimation{} } } } @@ -101,10 +102,10 @@ Item { smooth: true transform: Rotation { id: secondRotation - origin.x: 2.5; origin.y: 80; angle: 0 - SpringFollow on angle { - spring: 5; damping: 0.25; modulus: 360 - to: clock.seconds * 6 + origin.x: 2.5; origin.y: 80; + angle: clock.seconds * 6 + Behavior on angle { + NumberAnimation{} } } } diff --git a/examples/declarative/toys/corkboards/Day.qml b/examples/declarative/toys/corkboards/Day.qml index cc297b1..9d1f3ae 100644 --- a/examples/declarative/toys/corkboards/Day.qml +++ b/examples/declarative/toys/corkboards/Day.qml @@ -70,9 +70,9 @@ Component { x: randomX; y: randomY - SpringFollow on rotation { - to: -flickable.horizontalVelocity / 100 - spring: 2.0; damping: 0.15 + rotation: -flickable.horizontalVelocity / 100; + Behavior on rotation { + SpringAnimation { spring: 2.0; damping: 0.15 } } Item { diff --git a/examples/declarative/toys/tvtennis/tvtennis.qml b/examples/declarative/toys/tvtennis/tvtennis.qml index 726c649..2e144ed 100644 --- a/examples/declarative/toys/tvtennis/tvtennis.qml +++ b/examples/declarative/toys/tvtennis/tvtennis.qml @@ -50,7 +50,6 @@ Rectangle { id: ball // Add a property for the target y coordinate - property int targetY : page.height - 10 property variant direction : "right" x: 20; width: 20; height: 20; z: 1 @@ -65,15 +64,18 @@ Rectangle { PropertyAction { target: ball; property: "direction"; value: "right" } } - // Make y follow the target y coordinate, with a velocity of 200 - SpringFollow on y { to: ball.targetY; velocity: 200 } + // Make y move with a velocity of 200 + Behavior on y { SpringAnimation{ velocity: 200; } + } + + Component.onCompleted: y = page.height-10; // start the ball motion // Detect the ball hitting the top or bottom of the view and bounce it onYChanged: { if (y <= 0) { - targetY = page.height - 20; + y = page.height - 20; } else if (y >= page.height - 20) { - targetY = 0; + y = 0; } } } @@ -84,19 +86,15 @@ Rectangle { id: leftBat color: "Lime" x: 2; width: 20; height: 90 - SpringFollow on y { - to: ball.y - 45; velocity: 300 - enabled: ball.direction == 'left' - } + y: ball.direction == 'left' ? ball.y - 45 : page.height/2 -45; + Behavior on y { SpringAnimation{ spring: 1; damping: .1; } } } Rectangle { id: rightBat color: "Lime" x: page.width - 22; width: 20; height: 90 - SpringFollow on y { - to: ball.y-45; velocity: 300 - enabled: ball.direction == 'right' - } + y: ball.direction == 'right' ? ball.y - 45 : page.height/2 -45; + Behavior on y { SpringAnimation{ spring: 1; damping: .1; } } } // The rest, to make it look realistic, if neither ever scores... diff --git a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml index 1f51e13..92c607f 100644 --- a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml +++ b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml @@ -49,11 +49,14 @@ Item { //![1] property bool spawned: false - property int targetX: 0 - property int targetY: 0 - SpringFollow on x { to: targetX; spring: 2; damping: 0.2; enabled: spawned } - SpringFollow on y { to: targetY; spring: 2; damping: 0.2 } + Behavior on x { + enabled: spawned; + SpringAnimation{ spring: 2; damping: 0.2 } + } + Behavior on y { + SpringAnimation{ spring: 2; damping: 0.2 } + } //![1] //![2] diff --git a/examples/declarative/tutorials/samegame/samegame4/content/samegame.js b/examples/declarative/tutorials/samegame/samegame4/content/samegame.js index 930a3d8..b1f427c 100755 --- a/examples/declarative/tutorials/samegame/samegame4/content/samegame.js +++ b/examples/declarative/tutorials/samegame/samegame4/content/samegame.js @@ -57,8 +57,7 @@ function createBlock(column, row) { } dynamicObject.type = Math.floor(Math.random() * 3); dynamicObject.x = column * gameCanvas.blockSize; - dynamicObject.targetX = column * gameCanvas.blockSize; - dynamicObject.targetY = row * gameCanvas.blockSize; + dynamicObject.y = row * gameCanvas.blockSize; dynamicObject.width = gameCanvas.blockSize; dynamicObject.height = gameCanvas.blockSize; dynamicObject.spawned = true; @@ -128,7 +127,7 @@ function shuffleDown() { } else { if (fallDist > 0) { var obj = board[index(column, row)]; - obj.targetY += fallDist * gameCanvas.blockSize; + obj.y += fallDist * gameCanvas.blockSize; board[index(column, row + fallDist)] = obj; board[index(column, row)] = null; } @@ -146,7 +145,7 @@ function shuffleDown() { obj = board[index(column, row)]; if (obj == null) continue; - obj.targetX -= fallDist * gameCanvas.blockSize; + obj.x -= fallDist * gameCanvas.blockSize; board[index(column - fallDist, row)] = obj; board[index(column, row)] = null; } diff --git a/examples/declarative/ui-components/dialcontrol/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/content/Dial.qml index 2b421bf..b5074a64 100644 --- a/examples/declarative/ui-components/dialcontrol/content/Dial.qml +++ b/examples/declarative/ui-components/dialcontrol/content/Dial.qml @@ -50,11 +50,11 @@ Item { //! [needle_shadow] Image { - x: 93 + x: 96 y: 35 source: "needle_shadow.png" transform: Rotation { - origin.x: 11; origin.y: 67 + origin.x: 9; origin.y: 67 angle: needleRotation.angle } } @@ -62,17 +62,18 @@ Item { //! [needle] Image { id: needle - x: 95; y: 33 + x: 98; y: 33 smooth: true source: "needle.png" transform: Rotation { id: needleRotation - origin.x: 7; origin.y: 65 - angle: -130 - SpringFollow on angle { - spring: 1.4 - damping: .15 - to: Math.min(Math.max(-130, root.value*2.6 - 130), 133) + origin.x: 5; origin.y: 65 + angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133) + Behavior on angle { + SpringAnimation { + spring: 1.4 + damping: .15 + } } } } diff --git a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml index 829ab9b..6aa6765 100644 --- a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml +++ b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml @@ -66,7 +66,7 @@ Item { width: highlight.widthDest Behavior on width { SmoothedAnimation { velocity: 1200 } } - anchors { left: parent.left; top: parent.top; bottom: parent.bottom; leftMargin: 3; topMargin: 3; bottomMargin: 3 } + anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 } radius: 1 gradient: Gradient { GradientStop { id: gradient1; position: 0.0 } diff --git a/examples/declarative/ui-components/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/SearchBox.qml index e6b9c8f..6d87837 100644 --- a/examples/declarative/ui-components/searchbox/SearchBox.qml +++ b/examples/declarative/ui-components/searchbox/SearchBox.qml @@ -73,7 +73,7 @@ FocusScope { TextInput { id: textInput - anchors { left: parent.left; leftMargin: 8; verticalCenter: parent.verticalCenter } + anchors { left: parent.left; leftMargin: 8; right: clear.left; rightMargin: 8; verticalCenter: parent.verticalCenter } focus: true } diff --git a/examples/declarative/ui-components/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/TabWidget.qml index 9642e04..ce57213 100644 --- a/examples/declarative/ui-components/tabwidget/TabWidget.qml +++ b/examples/declarative/ui-components/tabwidget/TabWidget.qml @@ -43,9 +43,14 @@ import Qt 4.7 Item { id: tabWidget - property int current: 0 + // Setting the default property to stack.children means any child items + // of the TabWidget are actually added to the 'stack' item's children. + // See the "Extending Types from QML" documentation for details on default + // properties. default property alias content: stack.children + property int current: 0 + onCurrentChanged: setOpacities() Component.onCompleted: setOpacities() diff --git a/examples/declarative/ui-components/tabwidget/main.qml b/examples/declarative/ui-components/tabwidget/main.qml index e11902a..4a27806 100644 --- a/examples/declarative/ui-components/tabwidget/main.qml +++ b/examples/declarative/ui-components/tabwidget/main.qml @@ -50,7 +50,7 @@ TabWidget { color: "#e3e3e3" Rectangle { - anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 } + anchors.fill: parent; anchors.margins: 20 color: "#ff7f7f" Text { width: parent.width - 20 @@ -68,7 +68,7 @@ TabWidget { color: "#e3e3e3" Rectangle { - anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 } + anchors.fill: parent; anchors.margins: 20 color: "#7fff7f" Text { width: parent.width - 20 @@ -85,7 +85,7 @@ TabWidget { anchors.fill: parent; color: "#e3e3e3" Rectangle { - anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 } + anchors.fill: parent; anchors.margins: 20 color: "#7f7fff" Text { width: parent.width - 20 diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index baa519f..c1b31e5 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -67,7 +67,7 @@ QMAKE_LINK_OBJECT_SCRIPT= QMAKE_LIBS = -llibc -llibm -leuser -llibdl QMAKE_LIBS_CORE = $$QMAKE_LIBS -lefsrv -lhal -lbafl -QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository +QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -lapparc -lcentralrepository QMAKE_LIBS_NETWORK = QMAKE_LIBS_EGL = -llibEGL QMAKE_LIBS_OPENGL = @@ -75,7 +75,7 @@ QMAKE_LIBS_OPENVG = -llibOpenVG -lfbscli -lbitgdi -lgdi QMAKE_LIBS_THREAD = -llibpthread QMAKE_LIBS_COMPAT = QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib -QMAKE_LIBS_S60 = -lavkon +QMAKE_LIBS_S60 = -lavkon -leikcoctl exists($${EPOCROOT}epoc32/include/platform/sgresource/sgimage.h) { QMAKE_LIBS_OPENVG += -lsgresource diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf index c31e38f..19972d7 100644 --- a/mkspecs/features/sis_targets.prf +++ b/mkspecs/features/sis_targets.prf @@ -159,6 +159,16 @@ equals(GENERATE_SIS_TARGETS, true) { QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis } + + deploy_target.target = deploy + contains(QMAKE_HOST.os, "Windows") { + deploy_target.depends = sis + deploy_target.commands = call $$target_sis_target.target + } else { + deploy_target.commands = @echo Deployment not supported in this environment + } + QMAKE_EXTRA_TARGETS += deploy_target + } else { contains(TEMPLATE, subdirs) { # Enable recursive sis target. diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf index bae9d2d..f243878 100644 --- a/mkspecs/features/symbian/def_files.prf +++ b/mkspecs/features/symbian/def_files.prf @@ -3,6 +3,10 @@ CONFIG -= def_files_disabled +# We need a target name without the INFIX'ed part, since DEF files are not infixed. +equals(QMAKE_TARGET_PRODUCT, Qt4):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "") +else:clean_TARGET = $$TARGET + symbian-abld|symbian-sbsv2 { # Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one # (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements @@ -17,25 +21,25 @@ symbian-abld|symbian-sbsv2 { !isEmpty(DEF_FILE) { defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE $$DEF_FILE/bwins/$${TARGET}.def" \ + "DEFFILE $$DEF_FILE/bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE $$DEF_FILE/eabi/$${TARGET}.def" \ + "DEFFILE $$DEF_FILE/eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } else:!isEmpty(defFilePath) { defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE $$defFilePath/bwins/$${TARGET}.def" \ + "DEFFILE $$defFilePath/bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE $$defFilePath/eabi/$${TARGET}.def" \ + "DEFFILE $$defFilePath/eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } else { # If defFilePath is not defined, then put the folders containing the DEF files at the # same level as the .pro (and generated MMP) file(s) defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE ./bwins/$${TARGET}.def" \ + "DEFFILE ./bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE ./eabi/$${TARGET}.def" \ + "DEFFILE ./eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } MMP_RULES += defBlock @@ -52,7 +56,7 @@ symbian-abld|symbian-sbsv2 { !exists("$$_PRO_FILE_PWD_/$$defFile/eabi") { system("$$QMAKE_MKDIR $$_PRO_FILE_PWD_/$$defFile/eabi") } - elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile/eabi/$$basename(TARGET)u.def + elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile/eabi/$$basename(clean_TARGET)u.def } else { elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile } diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index fbaefca..ce124ec 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -1,13 +1,19 @@ +# We need a target name without the INFIX'ed part, since flags are not infixed. +equals(QMAKE_TARGET_PRODUCT, Qt4):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "") +else:clean_TARGET = $$TARGET + # we have some module specific options (defined in qt.prf) lets add them -!contains(TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_CXXFLAGS) +!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_CXXFLAGS) !isEmpty(TMPVAR):QMAKE_CXXFLAGS += $$TMPVAR -!contains(TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_LFLAGS) +!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_LFLAGS) !isEmpty(TMPVAR) { QMAKE_LFLAGS += $$TMPVAR } else :linux-gcce { # lets provide a simple default. Without elf2e32 complains QMAKE_LFLAGS += -Ttext 0x80000 -Tdata 0x400000 } +qtPrepareTool(QMAKE_ELF2E32_WRAPPER, elf2e32_qtwrapper) + isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000 isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000 epoc_heap_size = $$split(TARGET.EPOCHEAPSIZE, " ") @@ -107,7 +113,7 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) { contains(CONFIG, plugin):QMAKE_ELF2E32_FLAGS += --definput=plugin_commonu.def QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget}.dll $$symbianDestdir/$${baseTarget}.sym \ - && elf2e32_qtwrapper --version=$$decVersion \ + && $$QMAKE_ELF2E32_WRAPPER --version=$$decVersion \ --sid=$$TARGET.SID \ --uid1=0x10000079 \ --uid2=$$TARGET.UID2 \ @@ -155,7 +161,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") { QMAKE_POST_LINK = && $$QMAKE_POST_LINK } QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget} $$symbianDestdir/$${baseTarget}.sym \ - && elf2e32_qtwrapper --version $$decVersion \ + && $$QMAKE_ELF2E32_WRAPPER --version $$decVersion \ --sid=$$TARGET.SID \ --uid1=0x1000007a \ --uid2=$$TARGET.UID2 \ diff --git a/mkspecs/unsupported/win32-g++-cross/qmake.conf b/mkspecs/unsupported/win32-g++-cross/qmake.conf index e338a22..7e077a1 100644 --- a/mkspecs/unsupported/win32-g++-cross/qmake.conf +++ b/mkspecs/unsupported/win32-g++-cross/qmake.conf @@ -68,7 +68,7 @@ QMAKE_LIBS = QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 QMAKE_LIBS_NETWORK = -lws2_32 -QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32 +QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index 8881d02..ec216aa 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -68,7 +68,7 @@ QMAKE_LIBS = QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 QMAKE_LIBS_NETWORK = -lws2_32 -QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32 +QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf index acff5e1..3ae18b6 100644 --- a/mkspecs/win32-icc/qmake.conf +++ b/mkspecs/win32-icc/qmake.conf @@ -63,7 +63,7 @@ QMAKE_LIBS = QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib delayimp.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib delayimp.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/win32-msvc2003/qmake.conf b/mkspecs/win32-msvc2003/qmake.conf index 5344331..0230b30 100644 --- a/mkspecs/win32-msvc2003/qmake.conf +++ b/mkspecs/win32-msvc2003/qmake.conf @@ -59,7 +59,7 @@ QMAKE_LFLAGS_DLL = /DLL QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/win32-msvc2005/qmake.conf b/mkspecs/win32-msvc2005/qmake.conf index 84e831f..0406fd0 100644 --- a/mkspecs/win32-msvc2005/qmake.conf +++ b/mkspecs/win32-msvc2005/qmake.conf @@ -62,7 +62,7 @@ QMAKE_LFLAGS_LTCG = /LTCG QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/win32-msvc2008/qmake.conf b/mkspecs/win32-msvc2008/qmake.conf index 3e0bfb5..9805e90 100644 --- a/mkspecs/win32-msvc2008/qmake.conf +++ b/mkspecs/win32-msvc2008/qmake.conf @@ -62,7 +62,7 @@ QMAKE_LFLAGS_LTCG = /LTCG QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/win32-msvc2010/qmake.conf b/mkspecs/win32-msvc2010/qmake.conf index d9fe711..28d4d3c 100644 --- a/mkspecs/win32-msvc2010/qmake.conf +++ b/mkspecs/win32-msvc2010/qmake.conf @@ -62,7 +62,7 @@ QMAKE_LFLAGS_LTCG = /LTCG QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/src/3rdparty/libjpeg.pri b/src/3rdparty/libjpeg.pri new file mode 100644 index 0000000..4551d7b --- /dev/null +++ b/src/3rdparty/libjpeg.pri @@ -0,0 +1,48 @@ +INCLUDEPATH += $$PWD/libjpeg +SOURCES += \ + $$PWD/libjpeg/jaricom.c \ + $$PWD/libjpeg/jcapimin.c \ + $$PWD/libjpeg/jcapistd.c \ + $$PWD/libjpeg/jcarith.c \ + $$PWD/libjpeg/jccoefct.c \ + $$PWD/libjpeg/jccolor.c \ + $$PWD/libjpeg/jcdctmgr.c \ + $$PWD/libjpeg/jchuff.c \ + $$PWD/libjpeg/jcinit.c \ + $$PWD/libjpeg/jcmainct.c \ + $$PWD/libjpeg/jcmarker.c \ + $$PWD/libjpeg/jcmaster.c \ + $$PWD/libjpeg/jcomapi.c \ + $$PWD/libjpeg/jcparam.c \ + $$PWD/libjpeg/jcprepct.c \ + $$PWD/libjpeg/jcsample.c \ + $$PWD/libjpeg/jctrans.c \ + $$PWD/libjpeg/jdapimin.c \ + $$PWD/libjpeg/jdapistd.c \ + $$PWD/libjpeg/jdarith.c \ + $$PWD/libjpeg/jdatadst.c \ + $$PWD/libjpeg/jdatasrc.c \ + $$PWD/libjpeg/jdcoefct.c \ + $$PWD/libjpeg/jdcolor.c \ + $$PWD/libjpeg/jddctmgr.c \ + $$PWD/libjpeg/jdhuff.c \ + $$PWD/libjpeg/jdinput.c \ + $$PWD/libjpeg/jdmainct.c \ + $$PWD/libjpeg/jdmarker.c \ + $$PWD/libjpeg/jdmaster.c \ + $$PWD/libjpeg/jdmerge.c \ + $$PWD/libjpeg/jdpostct.c \ + $$PWD/libjpeg/jdsample.c \ + $$PWD/libjpeg/jdtrans.c \ + $$PWD/libjpeg/jerror.c \ + $$PWD/libjpeg/jfdctflt.c \ + $$PWD/libjpeg/jfdctfst.c \ + $$PWD/libjpeg/jfdctint.c \ + $$PWD/libjpeg/jidctflt.c \ + $$PWD/libjpeg/jidctfst.c \ + $$PWD/libjpeg/jidctint.c \ + $$PWD/libjpeg/jquant1.c \ + $$PWD/libjpeg/jquant2.c \ + $$PWD/libjpeg/jutils.c \ + $$PWD/libjpeg/jmemmgr.c \ + $$PWD/libjpeg/jmemnobs.c diff --git a/src/3rdparty/libmng.pri b/src/3rdparty/libmng.pri new file mode 100644 index 0000000..7b68210 --- /dev/null +++ b/src/3rdparty/libmng.pri @@ -0,0 +1,25 @@ +DEFINES += MNG_BUILD_SO +DEFINES += MNG_NO_INCLUDE_JNG +INCLUDEPATH += $$PWD/libmng +SOURCES += \ + $$PWD/libmng/libmng_callback_xs.c \ + $$PWD/libmng/libmng_chunk_io.c \ + $$PWD/libmng/libmng_chunk_descr.c \ + $$PWD/libmng/libmng_chunk_prc.c \ + $$PWD/libmng/libmng_chunk_xs.c \ + $$PWD/libmng/libmng_cms.c \ + $$PWD/libmng/libmng_display.c \ + $$PWD/libmng/libmng_dither.c \ + $$PWD/libmng/libmng_error.c \ + $$PWD/libmng/libmng_filter.c \ + $$PWD/libmng/libmng_hlapi.c \ + $$PWD/libmng/libmng_jpeg.c \ + $$PWD/libmng/libmng_object_prc.c \ + $$PWD/libmng/libmng_pixels.c \ + $$PWD/libmng/libmng_prop_xs.c \ + $$PWD/libmng/libmng_read.c \ + $$PWD/libmng/libmng_trace.c \ + $$PWD/libmng/libmng_write.c \ + $$PWD/libmng/libmng_zlib.c + +include($$PWD/zlib_dependency.pri) diff --git a/src/3rdparty/libpng.pri b/src/3rdparty/libpng.pri new file mode 100644 index 0000000..7ac1910 --- /dev/null +++ b/src/3rdparty/libpng.pri @@ -0,0 +1,20 @@ +DEFINES *= QT_USE_BUNDLED_LIBPNG +!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE +INCLUDEPATH += $$PWD/libpng +SOURCES += $$PWD/libpng/png.c \ + $$PWD/libpng/pngerror.c \ + $$PWD/libpng/pngget.c \ + $$PWD/libpng/pngmem.c \ + $$PWD/libpng/pngpread.c \ + $$PWD/libpng/pngread.c \ + $$PWD/libpng/pngrio.c \ + $$PWD/libpng/pngrtran.c \ + $$PWD/libpng/pngrutil.c \ + $$PWD/libpng/pngset.c \ + $$PWD/libpng/pngtrans.c \ + $$PWD/libpng/pngwio.c \ + $$PWD/libpng/pngwrite.c \ + $$PWD/libpng/pngwtran.c \ + $$PWD/libpng/pngwutil.c + +include($$PWD/zlib_dependency.pri) diff --git a/src/3rdparty/libtiff.pri b/src/3rdparty/libtiff.pri new file mode 100644 index 0000000..e43e1fe --- /dev/null +++ b/src/3rdparty/libtiff.pri @@ -0,0 +1,43 @@ +INCLUDEPATH += $$PWD/libtiff/libtiff +SOURCES += \ + $$PWD/libtiff/libtiff/tif_aux.c \ + $$PWD/libtiff/libtiff/tif_close.c \ + $$PWD/libtiff/libtiff/tif_codec.c \ + $$PWD/libtiff/libtiff/tif_color.c \ + $$PWD/libtiff/libtiff/tif_compress.c \ + $$PWD/libtiff/libtiff/tif_dir.c \ + $$PWD/libtiff/libtiff/tif_dirinfo.c \ + $$PWD/libtiff/libtiff/tif_dirread.c \ + $$PWD/libtiff/libtiff/tif_dirwrite.c \ + $$PWD/libtiff/libtiff/tif_dumpmode.c \ + $$PWD/libtiff/libtiff/tif_error.c \ + $$PWD/libtiff/libtiff/tif_extension.c \ + $$PWD/libtiff/libtiff/tif_fax3.c \ + $$PWD/libtiff/libtiff/tif_fax3sm.c \ + $$PWD/libtiff/libtiff/tif_flush.c \ + $$PWD/libtiff/libtiff/tif_getimage.c \ + $$PWD/libtiff/libtiff/tif_luv.c \ + $$PWD/libtiff/libtiff/tif_lzw.c \ + $$PWD/libtiff/libtiff/tif_next.c \ + $$PWD/libtiff/libtiff/tif_open.c \ + $$PWD/libtiff/libtiff/tif_packbits.c \ + $$PWD/libtiff/libtiff/tif_pixarlog.c \ + $$PWD/libtiff/libtiff/tif_predict.c \ + $$PWD/libtiff/libtiff/tif_print.c \ + $$PWD/libtiff/libtiff/tif_read.c \ + $$PWD/libtiff/libtiff/tif_strip.c \ + $$PWD/libtiff/libtiff/tif_swab.c \ + $$PWD/libtiff/libtiff/tif_thunder.c \ + $$PWD/libtiff/libtiff/tif_tile.c \ + $$PWD/libtiff/libtiff/tif_version.c \ + $$PWD/libtiff/libtiff/tif_warning.c \ + $$PWD/libtiff/libtiff/tif_write.c \ + $$PWD/libtiff/libtiff/tif_zip.c + +wince*: SOURCES += $$PWD/../corelib/kernel/qfunctions_wince.cpp \ + $$PWD/libtiff/libtiff/tif_wince.c +win32: SOURCES += $$PWD/libtiff/libtiff/tif_win32.c +else: SOURCES += $$PWD/libtiff/libtiff/tif_unix.c +symbian: SOURCES += $$PWD/libtiff/port/lfind.c + +include($$PWD/zlib_dependency.pri) diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.h b/src/3rdparty/phonon/mmf/abstractaudioeffect.h index 70adcf6..8879636 100644 --- a/src/3rdparty/phonon/mmf/abstractaudioeffect.h +++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.h @@ -21,7 +21,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. #include <QScopedPointer> -#include <AudioEffectBase.h> +#include <audioeffectbase.h> #include <phonon/effectinterface.h> diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h index 23a8233..7d28caf 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h @@ -71,7 +71,6 @@ protected: virtual int openFile(RFile& file) = 0; virtual int openUrl(const QString& url) = 0; virtual int bufferStatus() const = 0; - virtual void close() = 0; void updateMetaData(); virtual int numberOfMetaDataEntries() const = 0; diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h index ab892f5..30d5243 100644 --- a/src/3rdparty/phonon/mmf/abstractplayer.h +++ b/src/3rdparty/phonon/mmf/abstractplayer.h @@ -55,6 +55,7 @@ public: AbstractPlayer(const AbstractPlayer *player); virtual void open(const Phonon::MediaSource&, RFile&) = 0; + virtual void close() = 0; // MediaObjectInterface (implemented) qint32 tickInterval() const; diff --git a/src/3rdparty/phonon/mmf/abstractvideooutput.cpp b/src/3rdparty/phonon/mmf/abstractvideooutput.cpp index a8aabfd..2d221ed 100644 --- a/src/3rdparty/phonon/mmf/abstractvideooutput.cpp +++ b/src/3rdparty/phonon/mmf/abstractvideooutput.cpp @@ -60,7 +60,8 @@ MMF::AbstractVideoOutput::AbstractVideoOutput(QWidget *parent) , m_aspectRatio(DefaultAspectRatio) , m_scaleMode(DefaultScaleMode) { - + // Ensure that this widget has a native window handle + winId(); } MMF::AbstractVideoOutput::~AbstractVideoOutput() diff --git a/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp b/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp index 2e0ab1c..9ea4d18 100644 --- a/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp @@ -66,6 +66,8 @@ void MMF::AbstractVideoPlayer::construct() createPlayer(); + m_player->RegisterForVideoLoadingNotification(*this); + TRACE_EXIT_0(); } @@ -211,7 +213,8 @@ void MMF::AbstractVideoPlayer::aspectRatioChanged() TRACE_CONTEXT(AbstractVideoPlayer::aspectRatioChanged, EVideoInternal); TRACE_ENTRY("state %d aspectRatio %d", state()); - updateScaleFactors(m_videoOutput->videoWindowSize()); + if (m_videoOutput) + updateScaleFactors(m_videoOutput->videoWindowSize()); TRACE_EXIT_0(); } @@ -221,7 +224,8 @@ void MMF::AbstractVideoPlayer::scaleModeChanged() TRACE_CONTEXT(AbstractVideoPlayer::scaleModeChanged, EVideoInternal); TRACE_ENTRY("state %d", state()); - updateScaleFactors(m_videoOutput->videoWindowSize()); + if (m_videoOutput) + updateScaleFactors(m_videoOutput->videoWindowSize()); TRACE_EXIT_0(); } @@ -357,6 +361,8 @@ void MMF::AbstractVideoPlayer::videoOutputChanged() void MMF::AbstractVideoPlayer::initVideoOutput() { + Q_ASSERT(m_videoOutput); + bool connected = connect( m_videoOutput, SIGNAL(videoWindowChanged()), this, SLOT(videoWindowChanged()) @@ -378,9 +384,6 @@ void MMF::AbstractVideoPlayer::initVideoOutput() // Suppress warnings in release builds Q_UNUSED(connected); - // Do these after all connections are complete, to ensure - // that any signals generated get to their destinations. - m_videoOutput->winId(); m_videoOutput->setVideoSize(m_videoFrameSize); } @@ -400,6 +403,8 @@ QSize scaleToAspect(const QSize &srcRect, int aspectWidth, int aspectHeight) void MMF::AbstractVideoPlayer::updateScaleFactors(const QSize &windowSize, bool apply) { + Q_ASSERT(m_videoOutput); + if (m_videoFrameSize.isValid()) { QRect videoRect; diff --git a/src/3rdparty/phonon/mmf/audioequalizer.cpp b/src/3rdparty/phonon/mmf/audioequalizer.cpp index 1d2bbd4..28433f6 100644 --- a/src/3rdparty/phonon/mmf/audioequalizer.cpp +++ b/src/3rdparty/phonon/mmf/audioequalizer.cpp @@ -16,7 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. */ -#include <AudioEqualizerBase.h> +#include <audioequalizerbase.h> #include "audioequalizer.h" QT_BEGIN_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/bassboost.cpp b/src/3rdparty/phonon/mmf/bassboost.cpp index 67076f6..81d9208 100644 --- a/src/3rdparty/phonon/mmf/bassboost.cpp +++ b/src/3rdparty/phonon/mmf/bassboost.cpp @@ -16,7 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. */ -#include <BassBoostBase.h> +#include <bassboostbase.h> #include "bassboost.h" QT_BEGIN_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/dummyplayer.cpp b/src/3rdparty/phonon/mmf/dummyplayer.cpp index 6970088..d39ef76 100644 --- a/src/3rdparty/phonon/mmf/dummyplayer.cpp +++ b/src/3rdparty/phonon/mmf/dummyplayer.cpp @@ -97,6 +97,10 @@ void MMF::DummyPlayer::open(const Phonon::MediaSource &, RFile &) } +void MMF::DummyPlayer::close() +{ + +} //----------------------------------------------------------------------------- // AbstractPlayer diff --git a/src/3rdparty/phonon/mmf/dummyplayer.h b/src/3rdparty/phonon/mmf/dummyplayer.h index 6841b5d..9d45696 100644 --- a/src/3rdparty/phonon/mmf/dummyplayer.h +++ b/src/3rdparty/phonon/mmf/dummyplayer.h @@ -58,6 +58,7 @@ public: // AbstractPlayer virtual void open(const Phonon::MediaSource&, RFile&); + virtual void close(); virtual void doSetTickInterval(qint32 interval); }; } diff --git a/src/3rdparty/phonon/mmf/environmentalreverb.cpp b/src/3rdparty/phonon/mmf/environmentalreverb.cpp index d4f5223..c500385 100644 --- a/src/3rdparty/phonon/mmf/environmentalreverb.cpp +++ b/src/3rdparty/phonon/mmf/environmentalreverb.cpp @@ -16,7 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. */ -#include <EnvironmentalReverbBase.h> +#include <environmentalreverbbase.h> #include "environmentalreverb.h" QT_BEGIN_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/loudness.cpp b/src/3rdparty/phonon/mmf/loudness.cpp index ca05ab0..22d7518 100644 --- a/src/3rdparty/phonon/mmf/loudness.cpp +++ b/src/3rdparty/phonon/mmf/loudness.cpp @@ -16,7 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. */ -#include <LoudnessBase.h> +#include <loudnessbase.h> #include "loudness.h" QT_BEGIN_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp index e1b921b..d264377 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.cpp +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -281,6 +281,9 @@ void MMF::MediaObject::createPlayer(const MediaSource &source) break; } + if (oldPlayer) + oldPlayer->close(); + AbstractPlayer* newPlayer = 0; // Construct newPlayer using oldPlayer (if not 0) in order to copy diff --git a/src/3rdparty/phonon/mmf/stereowidening.cpp b/src/3rdparty/phonon/mmf/stereowidening.cpp index f90651b..e452160 100644 --- a/src/3rdparty/phonon/mmf/stereowidening.cpp +++ b/src/3rdparty/phonon/mmf/stereowidening.cpp @@ -16,7 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. */ -#include <StereoWideningBase.h> +#include <stereowideningbase.h> #include "stereowidening.h" QT_BEGIN_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp index 1925471..deb9774 100644 --- a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp +++ b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp @@ -61,6 +61,8 @@ DsaVideoPlayer::~DsaVideoPlayer() void MMF::DsaVideoPlayer::videoWindowScreenRectChanged() { + Q_ASSERT(m_videoOutput); + QRect windowRect = static_cast<DsaVideoOutput *>(m_videoOutput)->videoWindowScreenRect(); // Clip to physical window size @@ -124,12 +126,12 @@ void MMF::DsaVideoPlayer::createPlayer() // CVideoPlayerUtility::NewL starts DSA m_dsaActive = true; - - m_player->RegisterForVideoLoadingNotification(*this); } void MMF::DsaVideoPlayer::initVideoOutput() { + Q_ASSERT(m_videoOutput); + bool connected = connect( m_videoOutput, SIGNAL(videoWindowScreenRectChanged()), this, SLOT(videoWindowScreenRectChanged()) @@ -156,7 +158,8 @@ void MMF::DsaVideoPlayer::initVideoOutput() void MMF::DsaVideoPlayer::prepareCompleted() { - videoWindowScreenRectChanged(); + if (m_videoOutput) + videoWindowScreenRectChanged(); } void MMF::DsaVideoPlayer::handleVideoWindowChanged() diff --git a/src/3rdparty/phonon/mmf/videoplayer_surface.cpp b/src/3rdparty/phonon/mmf/videoplayer_surface.cpp index fda7342..f380e69 100644 --- a/src/3rdparty/phonon/mmf/videoplayer_surface.cpp +++ b/src/3rdparty/phonon/mmf/videoplayer_surface.cpp @@ -59,7 +59,8 @@ SurfaceVideoPlayer::~SurfaceVideoPlayer() void MMF::SurfaceVideoPlayer::videoWindowSizeChanged() { - updateScaleFactors(m_videoOutput->videoWindowSize()); + if (m_videoOutput) + updateScaleFactors(m_videoOutput->videoWindowSize()); } @@ -80,6 +81,8 @@ void MMF::SurfaceVideoPlayer::createPlayer() void MMF::SurfaceVideoPlayer::initVideoOutput() { + Q_ASSERT(m_videoOutput); + bool connected = connect( m_videoOutput, SIGNAL(videoWindowSizeChanged()), this, SLOT(videoWindowSizeChanged()) @@ -104,6 +107,9 @@ void MMF::SurfaceVideoPlayer::handleVideoWindowChanged() void MMF::SurfaceVideoPlayer::handleParametersChanged(VideoParameters parameters) { + TRACE_CONTEXT(SurfaceVideoPlayer::handleParametersChanged, EVideoApi); + TRACE_ENTRY("parameters 0x%x", parameters.operator int()); + TRect rect; if (m_videoOutput) { m_videoOutput->dump(); @@ -115,23 +121,14 @@ void MMF::SurfaceVideoPlayer::handleParametersChanged(VideoParameters parameters if (player) { int err = KErrNone; if (parameters & WindowHandle) { - if (m_displayWindow) - player->RemoveDisplayWindow(*m_displayWindow); - - RWindow *window = static_cast<RWindow *>(m_window); - if (window) { - window->SetBackgroundColor(TRgb(0, 0, 0, 255)); - TRAP(err, player->AddDisplayWindowL(m_wsSession, m_screenDevice, *window, rect, rect)); - if (KErrNone != err) { - setError(tr("Video display error"), err); - window = 0; - } - } - m_displayWindow = window; + removeDisplayWindow(); + addDisplayWindow(rect); } if (KErrNone == err) { if (parameters & ScaleFactors) { + if (!m_displayWindow) + addDisplayWindow(rect); Q_ASSERT(m_displayWindow); TRAP(err, player->SetVideoExtentL(*m_displayWindow, rect)); if (KErrNone == err) @@ -143,6 +140,45 @@ void MMF::SurfaceVideoPlayer::handleParametersChanged(VideoParameters parameters } } } + + TRACE_EXIT_0(); +} + +void MMF::SurfaceVideoPlayer::addDisplayWindow(const TRect &rect) +{ + TRACE_CONTEXT(SurfaceVideoPlayer::addDisplayWindow, EVideoApi); + TRACE_ENTRY("rect %d %d - %d %d", rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, rect.iBr.iY); + + Q_ASSERT(!m_displayWindow); + RWindow *window = static_cast<RWindow *>(m_window); + + TRACE("window 0x%08x", window); + + if (window) { + window->SetBackgroundColor(TRgb(0, 0, 0, 255)); + CVideoPlayerUtility2 *player = static_cast<CVideoPlayerUtility2 *>(m_player.data()); + Q_ASSERT(player); + TRAPD(err, player->AddDisplayWindowL(m_wsSession, m_screenDevice, *window, rect, rect)); + if (KErrNone == err) + m_displayWindow = window; + else + setError(tr("Video display error"), err); + TRACE("err %d", err); + } + + TRACE_EXIT_0(); +} + +void MMF::SurfaceVideoPlayer::removeDisplayWindow() +{ + TRACE_CONTEXT(SurfaceVideoPlayer::removeDisplayWindow, EVideoApi); + TRACE("player 0x%08x window 0x%08x", m_player.data(), m_displayWindow); + + CVideoPlayerUtility2 *player = static_cast<CVideoPlayerUtility2 *>(m_player.data()); + if (player && m_displayWindow) { + player->RemoveDisplayWindow(*m_displayWindow); + m_displayWindow = 0; + } } QT_END_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/videoplayer_surface.h b/src/3rdparty/phonon/mmf/videoplayer_surface.h index c05da9c..8572fdc 100644 --- a/src/3rdparty/phonon/mmf/videoplayer_surface.h +++ b/src/3rdparty/phonon/mmf/videoplayer_surface.h @@ -62,6 +62,9 @@ private: void handleVideoWindowChanged(); void handleParametersChanged(VideoParameters parameters); + void addDisplayWindow(const TRect &rect); + void removeDisplayWindow(); + private: // Window handle which has been passed to the MMF via // CVideoPlayerUtility2::SetDisplayWindowL diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c index 46d3dfc..27a8d18 100644 --- a/src/3rdparty/sqlite/sqlite3.c +++ b/src/3rdparty/sqlite/sqlite3.c @@ -48449,11 +48449,15 @@ SQLITE_PRIVATE void sqlite3VdbeIOTraceSql(Vdbe *p){ #endif /* !SQLITE_OMIT_TRACE && SQLITE_ENABLE_IOTRACE */ /* -** Allocate space from a fixed size buffer. Make *pp point to the -** allocated space. (Note: pp is a char* rather than a void** to -** work around the pointer aliasing rules of C.) *pp should initially -** be zero. If *pp is not zero, that means that the space has already -** been allocated and this routine is a noop. +** Allocate space from a fixed size buffer and return a pointer to +** that space. If insufficient space is available, return NULL. +** +** The pBuf parameter is the initial value of a pointer which will +** receive the new memory. pBuf is normally NULL. If pBuf is not +** NULL, it means that memory space has already been allocated and that +** this routine should not allocate any new memory. When pBuf is not +** NULL simply return pBuf. Only allocate new memory space when pBuf +** is NULL. ** ** nByte is the number of bytes of space needed. ** @@ -48464,23 +48468,23 @@ SQLITE_PRIVATE void sqlite3VdbeIOTraceSql(Vdbe *p){ ** to allocate. If there is insufficient space in *ppFrom to satisfy the ** request, then increment *pnByte by the amount of the request. */ -static void allocSpace( - char *pp, /* IN/OUT: Set *pp to point to allocated buffer */ +static void *allocSpace( + void *pBuf, /* Where return pointer will be stored */ int nByte, /* Number of bytes to allocate */ u8 **ppFrom, /* IN/OUT: Allocate from *ppFrom */ u8 *pEnd, /* Pointer to 1 byte past the end of *ppFrom buffer */ int *pnByte /* If allocation cannot be made, increment *pnByte */ ){ assert( EIGHT_BYTE_ALIGNMENT(*ppFrom) ); - if( (*(void**)pp)==0 ){ - nByte = ROUND8(nByte); - if( &(*ppFrom)[nByte] <= pEnd ){ - *(void**)pp = (void *)*ppFrom; - *ppFrom += nByte; - }else{ - *pnByte += nByte; - } + if( pBuf ) return pBuf; + nByte = ROUND8(nByte); + if( &(*ppFrom)[nByte] <= pEnd ){ + pBuf = (void*)*ppFrom; + *ppFrom += nByte; + }else{ + *pnByte += nByte; } + return pBuf; } /* @@ -48553,13 +48557,12 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( do { nByte = 0; - allocSpace((char*)&p->aMem, nMem*sizeof(Mem), &zCsr, zEnd, &nByte); - allocSpace((char*)&p->aVar, nVar*sizeof(Mem), &zCsr, zEnd, &nByte); - allocSpace((char*)&p->apArg, nArg*sizeof(Mem*), &zCsr, zEnd, &nByte); - allocSpace((char*)&p->azVar, nVar*sizeof(char*), &zCsr, zEnd, &nByte); - allocSpace((char*)&p->apCsr, - nCursor*sizeof(VdbeCursor*), &zCsr, zEnd, &nByte - ); + p->aMem = allocSpace(p->aMem, nMem*sizeof(Mem), &zCsr, zEnd, &nByte); + p->aVar = allocSpace(p->aVar, nVar*sizeof(Mem), &zCsr, zEnd, &nByte); + p->apArg = allocSpace(p->apArg, nArg*sizeof(Mem*), &zCsr, zEnd, &nByte); + p->azVar = allocSpace(p->azVar, nVar*sizeof(char*), &zCsr, zEnd, &nByte); + p->apCsr = allocSpace(p->apCsr, nCursor*sizeof(VdbeCursor*), + &zCsr, zEnd, &nByte); if( nByte ){ p->pFree = sqlite3DbMallocZero(db, nByte); } diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 8be0498..1d1c8ed 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -0eee8df53d1873669a9dda8f9c0340543258a316 +ad96ca2f9b57271da4ea7432022ac686ee0981c2 diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog index 1f067bf..14d6da3 100644 --- a/src/3rdparty/webkit/ChangeLog +++ b/src/3rdparty/webkit/ChangeLog @@ -1,3 +1,11 @@ +2010-07-01 Simon Hausmann <simon.hausmann@nokia.com> + + Rubber-stamped by Laszlo Gombos. + + [Qt][Symbian] Bumped up the maximum heap size to 96MB + + * WebKit.pri: + 2010-06-17 Alexis Menard <alexis.menard@nokia.com> Reviewed by Kenneth Rohde Christiansen. diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 56e2c01..2e5ebd0 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - 0eee8df53d1873669a9dda8f9c0340543258a316 + ad96ca2f9b57271da4ea7432022ac686ee0981c2 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 5ba94de..a993a97 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,518 @@ +2010-05-14 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Hyatt. + + Move the m_width(Length) and m_columns(RenderTable::ColumnStruct) + vector out-of-bounds check out of the ASSERT into the main code. + https://bugs.webkit.org/show_bug.cgi?id=38261 + + Test: fast/table/fixed-table-layout-large-colspan-crash.html + + * rendering/FixedTableLayout.cpp: + (WebCore::FixedTableLayout::calcWidthArray): + +2010-05-21 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() + while running MangleMe + -and corresponding- + https://bugs.webkit.org/show_bug.cgi?id=39508 + + The math was slightly off here, and we wound up trying to access an + array at index -1 in some cases. We need to decrement numberShadow + rather than subtracting one from the result of the modulo + operation. + + * rendering/RenderListMarker.cpp: + (WebCore::toAlphabeticOrNumeric): + +2010-05-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/8007953> Textarea using custom font appears blank + + Test: fast/css/font-face-in-shadow-DOM.html + + When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all + RenderSyles that have FontFallbackLists referencing the placeholder font with fresh + RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with + styles that still reference the placeholder font. + + The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return + true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles. + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated. + * rendering/RenderButton.h: + (WebCore::RenderButton::requiresForcedStyleRecalcPropagation): + * rendering/RenderDataGrid.h: + (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation): + * rendering/RenderFileUploadControl.h: + (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation): + * rendering/RenderListItem.h: + (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation): + * rendering/RenderMenuList.h: + (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation): + * rendering/RenderObject.h: + (WebCore::RenderObject::requiresForcedStyleRecalcPropagation): + * rendering/RenderProgress.h: + (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation): + * rendering/RenderSlider.h: + (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation): + * rendering/RenderTextControl.h: + (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation): + +2010-04-02 Justin Schuh <jschuh@chromium.org> + + Reviewed by Alexey Proskuryakov. + + XHR allows arbitrary XSRF across domains + https://bugs.webkit.org/show_bug.cgi?id=36843 + + Added a one-line change to prevent bypassing the XDC check on + synchronous preflighted requests. Added layout tests to cover + variations of this problem. + + Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html + http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html + http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html + http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::preflightFailure): + +2010-04-28 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Alexey Proskuryakov. + + [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR + https://bugs.webkit.org/show_bug.cgi?id=37781 + <rdar://problem/7905150> + + Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html + http/tests/xmlhttprequest/access-control-preflight-credential-sync.html + + Rolling the patch in as I could not reproduce Qt results locally. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the + credential from the request here to avoid forgetting to do so in the different code path. + (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the + "Origin" header. + (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have + been removed so that we don't leak them. Also tweaked a comment to make it clear that + the URL check has issue when credential is involved. + +2010-04-21 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Roben. + + Windows build fix. + + * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties + for now, as it's mistakenly missing from WebKitSupportLibrary headers. + +2010-05-19 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Hyatt. + + Check that the node is a text node before doing a static cast + to a Text class pointer. + https://bugs.webkit.org/show_bug.cgi?id=38626 + + Test: fast/text/text-transform-nontext-node-crash.xhtml + + * rendering/RenderText.cpp: + (WebCore::RenderText::originalText): + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): + (WebCore::RenderTextFragment::previousCharacter): + +2010-05-12 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Adler. + + HTML Entity Escape the contents of a textarea node when accessed + via the innerHTML and outerHTML node properties. + https://bugs.webkit.org/show_bug.cgi?id=38922 + + Test: fast/innerHTML/innerHTML-special-elements.html + + * editing/markup.cpp: + (WebCore::appendStartMarkup): + +2010-05-12 James Robinson <jamesr@chromium.org> + + Patch by Dan Bernstein. + + Reviewed by David Hyatt. + + Fix marking the layout root's parent as needing layout + https://bugs.webkit.org/show_bug.cgi?id=37760 + + If an element gets marked as needing layout due to the recalcStyle() + call in FrameView::layout(), the m_layoutSchedulingEnabled flag will + be set to false. It's possible at this point that a parent of the + existing FrameView::m_layoutRoot will be marked as needing layout. + + This patch updates FrameView::scheduleRelayoutOfSubtree to account + for this case. + + Manual test only due to subtle timing issues. + + * manual-tests/layoutroot_detach.xml: Added. + * page/FrameView.cpp: + (WebCore::FrameView::scheduleRelayoutOfSubtree): + +2010-05-10 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=38583 + <rdar://problem/7948784> Crash in Element::normalizeAttributes. + + Test: fast/dom/Element/normalize-crash.html + + * dom/Element.cpp: + (WebCore::Element::normalizeAttributes): Copy attributes to a vector + before iterating. + * dom/NamedAttrMap.cpp: + (WebCore::NamedNodeMap::copyAttributesToVector): Added. + * dom/NamedAttrMap.h: + +2010-05-10 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Based on a patch by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=28697 + <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex() + + It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes + that it can adjust start and end position to any node except for the one being removed - + so these notifications cannot be batched. + + Test: fast/dom/Range/remove-all-children-crash.html + + * dom/ContainerNode.cpp: + (WebCore::willRemoveChild): Removed unused ExceptionCode. + (WebCore::willRemoveChildren): New function, used in removeChildren() case. + (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it. + (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode. + (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode + and willRemoveChild. + + * dom/Document.cpp: + (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case. + + * dom/Document.h: + (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case. + + * dom/Range.h: + * dom/Range.cpp: + (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case. + (WebCore::Range::nodeChildrenWillBeRemoved): Ditto. + +2010-05-03 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=38497 + <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin + + This is a hardening fix, and behavior really depends on what an underlying networking layer + does. So, no test. + + * page/SecurityOrigin.cpp: + (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading. + (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities + have the same security origin. + +2010-05-03 Abhishek Arya <inferno@chromium.org> + + Reviewed by Adam Barth. + + Add support for controlling clipboard access from javascript. + Clipboard access from javascript is disabled by default. + https://bugs.webkit.org/show_bug.cgi?id=27751 + + Test: editing/execCommand/clipboard-access.html + + * WebCore.base.exp: + * editing/EditorCommand.cpp: + (WebCore::supportedCopyCut): + (WebCore::supportedPaste): + (WebCore::createCommandMap): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setJavaScriptCanAccessClipboard): + * page/Settings.h: + (WebCore::Settings::javaScriptCanAccessClipboard): + +2010-04-30 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Kilzer. + + Convert m_documentUnderMouse, m_dragInitiator to RefPtr. + Eliminated unused m_dragInitiator accessor to prevent dereferencing. + https://bugs.webkit.org/show_bug.cgi?id=37618 + + Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html + + * page/DragController.cpp: + (WebCore::DragController::tryDocumentDrag): + (WebCore::DragController::concludeEditDrag): + * page/DragController.h: + (WebCore::DragController::draggingImageURL): + (WebCore::DragController::documentUnderMouse): + +2010-04-14 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Javascript URL can be set as iframe.src via multiple DOM aliases + https://bugs.webkit.org/show_bug.cgi?id=37031 + + Moved frame/iframe checks from Attr to Node on inherited members. + Node child manipulation methods now return NOT_SUPPORTED_ERR if used + on a frame/iframe src attribute. + NamedNodeMap set methods now perform frame/iframe src checks. + Moved allowSettingSrcToJavascriptURL static helper function from + JSElementCustom.cpp to exported function in JSDOMBinding.h. + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::setValue): + * bindings/js/JSDOMBinding.cpp: + (WebCore::allowSettingSrcToJavascriptURL): + * bindings/js/JSDOMBinding.h: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSNamedNodeMapCustom.cpp: + (WebCore::JSNamedNodeMap::setNamedItem): + (WebCore::JSNamedNodeMap::setNamedItemNS): + * bindings/js/JSNodeCustom.cpp: + (WebCore::isAttrFrameSrc): + (WebCore::JSNode::setNodeValue): + (WebCore::JSNode::setTextContent): + (WebCore::JSNode::insertBefore): + (WebCore::JSNode::replaceChild): + (WebCore::JSNode::removeChild): + (WebCore::JSNode::appendChild): + * bindings/v8/custom/V8AttrCustom.cpp: + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::V8NamedNodeMap::setNamedItemNSCallback): + (WebCore::V8NamedNodeMap::setNamedItemCallback): + (WebCore::toV8): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::isFrameSrc): + (WebCore::V8Node::textContentAccessorSetter): + (WebCore::V8Node::nodeValueAccessorSetter): + (WebCore::V8Node::insertBeforeCallback): + (WebCore::V8Node::replaceChildCallback): + (WebCore::V8Node::removeChildCallback): + (WebCore::V8Node::appendChildCallback): + * dom/Attr.idl: + * dom/NamedNodeMap.idl: + * dom/Node.idl: + +2010-03-26 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Security: iFrame.src accepts JavaScript URL via nodeValue or textContent + https://bugs.webkit.org/show_bug.cgi?id=36502 + + Overrode inherited nodeValue and textContent in Attr.idl so they proxy + to value, which performs a security check. + + Test: http/tests/security/xss-DENIED-iframe-src-alias.html + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::nodeValue): + (WebCore::JSAttr::setNodeValue): + (WebCore::JSAttr::textContent): + (WebCore::JSAttr::setTextContent): + * bindings/v8/custom/V8AttrCustom.cpp: + (WebCore::V8Attr::nodeValueAccessorSetter): + (WebCore::V8Attr::nodeValueAccessorGetter): + (WebCore::V8Attr::textContentAccessorSetter): + (WebCore::V8Attr::textContentAccessorGetter): + * dom/Attr.idl: + +2010-05-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=38260 + <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL(). + + Broken all the way since r4 (yes, that's a revision number). + + Test: http/tests/security/xss-DENIED-javascript-with-spaces.html + + * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length. + +2010-04-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7898436> :after content is duplicated + + Test: fast/css-generated-content/after-duplicated-after-split.html + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list. + +2010-03-30 Chris Evans <cevans@chromium.org> + + Reviewed by Adam Barth. + + Taint the canvas if an SVG-derived pattern is rendered into it. + + https://bugs.webkit.org/show_bug.cgi?id=36838 + + Test: fast/canvas/svg-taint.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createPattern): + Take into account the image's hasSingleSecurityOrigin() property. + +2010-04-07 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darinn Adler. + + https://bugs.webkit.org/show_bug.cgi?id=37230 + <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when + authenticating to Windows IIS Server + + * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added + a constant for ProtectionSpaceAuthenticationSchemeUnknown. + + * platform/network/cf/AuthenticationCF.cpp: (WebCore::core): + * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod): + Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. + + * platform/network/mac/AuthenticationMac.mm: + (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from + NSURLConnection, even though there was no public constant. + (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. + +2010-04-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Make the fix for <rdar://problem/7873647> from r57759 more robust. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes. + +2010-04-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7873647> Crash when updating hover state + + Test: fast/dynamic/hover-style-recalc-crash.html + + Updating the hover state of an element caused the document to need style + recalc, and then updating the hover state of a link caused style recalc, + which changed the render tree while updateHoverActiveState() was iterating + over it, leading to a crash. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be + updated into vectors, then update their active and hover states. + +2010-03-31 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port" + + * platform/KURL.cpp: + (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with + no port number before the path. This is handled in the same manner as the colon and port being omitted completely. + +2010-03-24 Mark Rowe <mrowe@apple.com> + + Revert the portion of r56489 that dealt with port zero as it introduced some test failures. + + * platform/KURL.cpp: + (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether + it was able to successfully parse the string as an unsigned integer, rather than relying on + the fact it returned zero when it failed. + +2010-03-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + WebKit should treat port numbers outside the valid range as being blacklisted + <http://webkit.org/b/36571> / <rdar://problem/7790908> + + * platform/KURL.cpp: + (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber. + (WebCore::portAllowed): Add invalidPortNumber to the blacklist. + * platform/KURLGoogle.cpp: invalid port numbers to invalidPortNumber. + (WebCore::KURL::port): Add invalidPortNumber to the blacklist. + Also bring this in to sync with KURL. Having this identical code in two places is stupid. + +2010-05-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=26824 + <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during + keyboard event dispatch. + + EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard + event if focused frame changes between keydown and keypress. + + * manual-tests/focus-change-between-key-events.html: Added. + + * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame + changes while dispatching keydown. Also made similar changes for Windows to maintain matching + behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being + separate events. + +2010-07-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear + + The implementation of PathQt's addArcTo() was not float-safe and also had + a case where it drew an 'infinite' line, which is not part of the spec. + + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto + + We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder() + also had the same problem, and was refactored a bit in the process of fixing + the bug. + + Initial patch by Andreas Kling. + + https://bugs.webkit.org/show_bug.cgi?id=41412 + + * platform/graphics/qt/PathQt.cpp: + +2010-03-26 Shu Chang <chang.shu@nokia.com> + + Reviewed by Eric Seidel. + + [Qt] Prevent referring d->m_job in the future because calling abort() + deletes the instance itself. + https://bugs.webkit.org/show_bug.cgi?id=36618 + + Test: http/tests/appcache/fallback.html + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::cancel): + 2010-06-28 Sam Magnuson <smagnuson@netflix.com> Reviewed by Kenneth Rohde Christiansen. diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp index 3c01535..4cd40ac 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp @@ -33,6 +33,7 @@ #include "Document.h" #include "HTMLFrameElementBase.h" #include "HTMLNames.h" +#include "JSDOMBinding.h" using namespace JSC; @@ -46,13 +47,8 @@ void JSAttr::setValue(ExecState* exec, JSValue value) String attrValue = valueToStringWithNullCheck(exec, value); Element* ownerElement = imp->ownerElement(); - if (ownerElement && (ownerElement->hasTagName(iframeTag) || ownerElement->hasTagName(frameTag))) { - if (equalIgnoringCase(imp->name(), "src") && protocolIsJavaScript(deprecatedParseURL(attrValue))) { - Document* contentDocument = static_cast<HTMLFrameElementBase*>(ownerElement)->contentDocument(); - if (contentDocument && !checkNodeSecurity(exec, contentDocument)) - return; - } - } + if (ownerElement && !allowSettingSrcToJavascriptURL(exec, ownerElement, imp->name(), attrValue)) + return; ExceptionCode ec = 0; imp->setValue(attrValue, ec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp index f294dad..393c1ee 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp @@ -24,6 +24,7 @@ #include "debugger/DebuggerCallFrame.h" #include "ActiveDOMObject.h" +#include "CSSHelper.h" #include "DOMCoreException.h" #include "DOMObjectHashTableMap.h" #include "Document.h" @@ -33,6 +34,7 @@ #include "Frame.h" #include "HTMLAudioElement.h" #include "HTMLCanvasElement.h" +#include "HTMLFrameElementBase.h" #include "HTMLImageElement.h" #include "HTMLNames.h" #include "HTMLScriptElement.h" @@ -630,6 +632,16 @@ bool shouldAllowNavigation(ExecState* exec, Frame* frame) return lexicalFrame && lexicalFrame->loader()->shouldAllowNavigation(frame); } +bool allowSettingSrcToJavascriptURL(ExecState* exec, Element* element, const String& name, const String& value) +{ + if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(deprecatedParseURL(value))) { + Document* contentDocument = static_cast<HTMLFrameElementBase*>(element)->contentDocument(); + if (contentDocument && !checkNodeSecurity(exec, contentDocument)) + return false; + } + return true; +} + void printErrorMessageForFrame(Frame* frame, const String& message) { if (!frame) diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h index 219472b..40f7e40 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h @@ -301,6 +301,8 @@ namespace WebCore { bool allowsAccessFromFrame(JSC::ExecState*, Frame*); bool allowsAccessFromFrame(JSC::ExecState*, Frame*, String& message); bool shouldAllowNavigation(JSC::ExecState*, Frame*); + bool allowSettingSrcToJavascriptURL(JSC::ExecState*, Element*, const String&, const String&); + void printErrorMessageForFrame(Frame*, const String& message); JSC::JSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::JSValue, const JSC::Identifier& propertyName); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp index c725290..94012fd 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp @@ -36,6 +36,7 @@ #include "HTMLFrameElementBase.h" #include "HTMLNames.h" #include "JSAttr.h" +#include "JSDOMBinding.h" #include "JSHTMLElementWrapperFactory.h" #include "JSNodeList.h" #include "NodeList.h" @@ -63,16 +64,6 @@ void JSElement::markChildren(MarkStack& markStack) markDOMObjectWrapper(markStack, globalData, static_cast<StyledElement*>(element)->inlineStyleDecl()); } -static inline bool allowSettingSrcToJavascriptURL(ExecState* exec, Element* element, const String& name, const String& value) -{ - if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(deprecatedParseURL(value))) { - Document* contentDocument = static_cast<HTMLFrameElementBase*>(element)->contentDocument(); - if (contentDocument && !checkNodeSecurity(exec, contentDocument)) - return false; - } - return true; -} - JSValue JSElement::setAttribute(ExecState* exec, const ArgList& args) { ExceptionCode ec = 0; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp index 13f3628..965498a 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp @@ -35,6 +35,38 @@ using namespace JSC; namespace WebCore { +JSValue JSNamedNodeMap::setNamedItem(ExecState* exec, const ArgList& args) +{ + NamedNodeMap* imp = static_cast<NamedNodeMap*>(impl()); + ExceptionCode ec = 0; + Node* newNode = toNode(args.at(0)); + + if (newNode && newNode->nodeType() == Node::ATTRIBUTE_NODE && imp->element()) { + if (!allowSettingSrcToJavascriptURL(exec, imp->element(), newNode->nodeName(), newNode->nodeValue())) + return jsNull(); + } + + JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setNamedItem(newNode, ec))); + setDOMException(exec, ec); + return result; +} + +JSValue JSNamedNodeMap::setNamedItemNS(ExecState* exec, const ArgList& args) +{ + NamedNodeMap* imp = static_cast<NamedNodeMap*>(impl()); + ExceptionCode ec = 0; + Node* newNode = toNode(args.at(0)); + + if (newNode && newNode->nodeType() == Node::ATTRIBUTE_NODE && imp->element()) { + if (!allowSettingSrcToJavascriptURL(exec, imp->element(), newNode->nodeName(), newNode->nodeValue())) + return jsNull(); + } + + JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setNamedItemNS(newNode, ec))); + setDOMException(exec, ec); + return result; +} + bool JSNamedNodeMap::canGetItemsForName(ExecState*, NamedNodeMap* impl, const Identifier& propertyName) { return impl->getNamedItem(propertyName); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp index 134c581..bf6c633 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp @@ -38,6 +38,7 @@ #include "JSAttr.h" #include "JSCDATASection.h" #include "JSComment.h" +#include "JSDOMBinding.h" #include "JSDocument.h" #include "JSDocumentFragment.h" #include "JSDocumentType.h" @@ -66,12 +67,53 @@ using namespace JSC; namespace WebCore { -typedef int ExpectionCode; +static inline bool isAttrFrameSrc(Element *element, const String& name) +{ + return element && (element->hasTagName(HTMLNames::iframeTag) || element->hasTagName(HTMLNames::frameTag)) && equalIgnoringCase(name, "src"); +} + +void JSNode::setNodeValue(JSC::ExecState* exec, JSC::JSValue value) +{ + Node* imp = static_cast<Node*>(impl()); + String nodeValue = valueToStringWithNullCheck(exec, value); + + if (imp->nodeType() == Node::ATTRIBUTE_NODE) { + Element* ownerElement = static_cast<Attr*>(impl())->ownerElement(); + if (ownerElement && !allowSettingSrcToJavascriptURL(exec, ownerElement, imp->nodeName(), nodeValue)) + return; + } + + ExceptionCode ec = 0; + imp->setNodeValue(nodeValue, ec); + setDOMException(exec, ec); +} + +void JSNode::setTextContent(JSC::ExecState* exec, JSC::JSValue value) +{ + Node* imp = static_cast<Node*>(impl()); + String nodeValue = valueToStringWithNullCheck(exec, value); + + if (imp->nodeType() == Node::ATTRIBUTE_NODE) { + Element* ownerElement = static_cast<Attr*>(impl())->ownerElement(); + if (ownerElement && !allowSettingSrcToJavascriptURL(exec, ownerElement, imp->nodeName(), nodeValue)) + return; + } + + ExceptionCode ec = 0; + imp->setTextContent(nodeValue, ec); + setDOMException(exec, ec); +} JSValue JSNode::insertBefore(ExecState* exec, const ArgList& args) { + Node* imp = static_cast<Node*>(impl()); + if (imp->nodeType() == Node::ATTRIBUTE_NODE && isAttrFrameSrc(static_cast<Attr*>(impl())->ownerElement(), imp->nodeName())) { + setDOMException(exec, NOT_SUPPORTED_ERR); + return jsNull(); + } + ExceptionCode ec = 0; - bool ok = impl()->insertBefore(toNode(args.at(0)), toNode(args.at(1)), ec, true); + bool ok = imp->insertBefore(toNode(args.at(0)), toNode(args.at(1)), ec, true); setDOMException(exec, ec); if (ok) return args.at(0); @@ -80,8 +122,14 @@ JSValue JSNode::insertBefore(ExecState* exec, const ArgList& args) JSValue JSNode::replaceChild(ExecState* exec, const ArgList& args) { + Node* imp = static_cast<Node*>(impl()); + if (imp->nodeType() == Node::ATTRIBUTE_NODE && isAttrFrameSrc(static_cast<Attr*>(impl())->ownerElement(), imp->nodeName())) { + setDOMException(exec, NOT_SUPPORTED_ERR); + return jsNull(); + } + ExceptionCode ec = 0; - bool ok = impl()->replaceChild(toNode(args.at(0)), toNode(args.at(1)), ec, true); + bool ok = imp->replaceChild(toNode(args.at(0)), toNode(args.at(1)), ec, true); setDOMException(exec, ec); if (ok) return args.at(1); @@ -90,8 +138,14 @@ JSValue JSNode::replaceChild(ExecState* exec, const ArgList& args) JSValue JSNode::removeChild(ExecState* exec, const ArgList& args) { + Node* imp = static_cast<Node*>(impl()); + if (imp->nodeType() == Node::ATTRIBUTE_NODE && isAttrFrameSrc(static_cast<Attr*>(impl())->ownerElement(), imp->nodeName())) { + setDOMException(exec, NOT_SUPPORTED_ERR); + return jsNull(); + } + ExceptionCode ec = 0; - bool ok = impl()->removeChild(toNode(args.at(0)), ec); + bool ok = imp->removeChild(toNode(args.at(0)), ec); setDOMException(exec, ec); if (ok) return args.at(0); @@ -100,8 +154,14 @@ JSValue JSNode::removeChild(ExecState* exec, const ArgList& args) JSValue JSNode::appendChild(ExecState* exec, const ArgList& args) { + Node* imp = static_cast<Node*>(impl()); + if (imp->nodeType() == Node::ATTRIBUTE_NODE && isAttrFrameSrc(static_cast<Attr*>(impl())->ownerElement(), imp->nodeName())) { + setDOMException(exec, NOT_SUPPORTED_ERR); + return jsNull(); + } + ExceptionCode ec = 0; - bool ok = impl()->appendChild(toNode(args.at(0)), ec, true); + bool ok = imp->appendChild(toNode(args.at(0)), ec, true); setDOMException(exec, ec); if (ok) return args.at(0); diff --git a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp index 8e6f3a0..c3418b4 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp +++ b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp @@ -36,7 +36,7 @@ String deprecatedParseURL(const String& url) int o = 0; int l = i->length(); - while (o < l && (*i)[o] <= ' ') { + while (0 < l && (*i)[o] <= ' ') { ++o; --l; } @@ -53,7 +53,7 @@ String deprecatedParseURL(const String& url) l -= 5; } - while (o < l && (*i)[o] <= ' ') { + while (0 < l && (*i)[o] <= ' ') { ++o; --l; } @@ -65,7 +65,7 @@ String deprecatedParseURL(const String& url) l -= 2; } - while (o < l && (*i)[o] <= ' ') { + while (0 < l && (*i)[o] <= ' ') { ++o; --l; } diff --git a/src/3rdparty/webkit/WebCore/dom/Attr.idl b/src/3rdparty/webkit/WebCore/dom/Attr.idl index af84478..3c73bc0 100644 --- a/src/3rdparty/webkit/WebCore/dom/Attr.idl +++ b/src/3rdparty/webkit/WebCore/dom/Attr.idl @@ -28,7 +28,9 @@ module core { // DOM Level 1 readonly attribute [ConvertNullStringTo=Null] DOMString name; + readonly attribute boolean specified; + attribute [ConvertNullStringTo=Null, ConvertNullToNullString, CustomSetter] DOMString value setter raises(DOMException); diff --git a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp index fb2852f..c17489a 100644 --- a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp +++ b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp @@ -292,19 +292,32 @@ void ContainerNode::willRemove() Node::willRemove(); } -static ExceptionCode willRemoveChild(Node *child) +static void willRemoveChild(Node* child) { - ExceptionCode ec = 0; + // update auxiliary doc info (e.g. iterators) to note that node is being removed + child->document()->nodeWillBeRemoved(child); + child->document()->incDOMTreeVersion(); // fire removed from document mutation events. dispatchChildRemovalEvents(child); - if (ec) - return ec; if (child->attached()) child->willRemove(); - - return 0; +} + +static void willRemoveChildren(ContainerNode* container) +{ + container->document()->nodeChildrenWillBeRemoved(container); + container->document()->incDOMTreeVersion(); + + // FIXME: Adding new children from event handlers can cause an infinite loop here. + for (RefPtr<Node> child = container->firstChild(); child; child = child->nextSibling()) { + // fire removed from document mutation events. + dispatchChildRemovalEvents(child.get()); + + if (child->attached()) + child->willRemove(); + } } bool ContainerNode::removeChild(Node* oldChild, ExceptionCode& ec) @@ -328,10 +341,7 @@ bool ContainerNode::removeChild(Node* oldChild, ExceptionCode& ec) } RefPtr<Node> child = oldChild; - - ec = willRemoveChild(child.get()); - if (ec) - return false; + willRemoveChild(child.get()); // Mutation events might have moved this child into a different parent. if (child->parentNode() != this) { @@ -399,14 +409,12 @@ bool ContainerNode::removeChildren() return false; // The container node can be removed from event handlers. - RefPtr<Node> protect(this); - + RefPtr<ContainerNode> protect(this); + // Do any prep work needed before actually starting to detach // and remove... e.g. stop loading frames, fire unload events. - // FIXME: Adding new children from event handlers can cause an infinite loop here. - for (RefPtr<Node> n = m_firstChild; n; n = n->nextSibling()) - willRemoveChild(n.get()); - + willRemoveChildren(protect.get()); + // exclude this node when looking for removed focusedNode since only children will be removed document()->removeFocusedNodeOfSubtree(this, true); @@ -936,6 +944,8 @@ static void dispatchChildInsertionEvents(Node* child) static void dispatchChildRemovalEvents(Node* child) { + ASSERT(!eventDispatchForbidden()); + #if ENABLE(INSPECTOR) if (Page* page = child->document()->page()) { if (InspectorController* inspectorController = page->inspectorController()) @@ -946,11 +956,6 @@ static void dispatchChildRemovalEvents(Node* child) RefPtr<Node> c = child; RefPtr<Document> document = child->document(); - // update auxiliary doc info (e.g. iterators) to note that node is being removed - document->nodeWillBeRemoved(child); - - document->incDOMTreeVersion(); - // dispatch pre-removal mutation events if (c->parentNode() && document->hasListenerType(Document::DOMNODEREMOVED_LISTENER)) c->dispatchEvent(MutationEvent::create(eventNames().DOMNodeRemovedEvent, true, c->parentNode())); diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp index 545819d..9803cf5 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp @@ -2957,6 +2957,28 @@ void Document::nodeChildrenChanged(ContainerNode* container) } } +void Document::nodeChildrenWillBeRemoved(ContainerNode* container) +{ + if (!disableRangeMutation(page())) { + HashSet<Range*>::const_iterator end = m_ranges.end(); + for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != end; ++it) + (*it)->nodeChildrenWillBeRemoved(container); + } + + HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = m_nodeIterators.end(); + for (HashSet<NodeIterator*>::const_iterator it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it) { + for (Node* n = container->firstChild(); n; n = n->nextSibling()) + (*it)->nodeWillBeRemoved(n); + } + + if (Frame* frame = this->frame()) { + for (Node* n = container->firstChild(); n; n = n->nextSibling()) { + frame->selection()->nodeWillBeRemoved(n); + frame->dragCaretController()->nodeWillBeRemoved(n); + } + } +} + void Document::nodeWillBeRemoved(Node* n) { HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = m_nodeIterators.end(); diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h index 44cdf0d..68927f4 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.h +++ b/src/3rdparty/webkit/WebCore/dom/Document.h @@ -616,6 +616,9 @@ public: void detachRange(Range*); void nodeChildrenChanged(ContainerNode*); + // nodeChildrenWillBeRemoved is used when removing all node children at once. + void nodeChildrenWillBeRemoved(ContainerNode*); + // nodeWillBeRemoved is only safe when removing one node at a time. void nodeWillBeRemoved(Node*); void textInserted(Node*, unsigned offset, unsigned length); diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp index 6bd512d..a02bb4c 100644 --- a/src/3rdparty/webkit/WebCore/dom/Element.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp @@ -937,7 +937,7 @@ void Element::recalcStyle(StyleChange change) newStyle->setChildrenAffectedByDirectAdjacentRules(); } - if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle.get(), newStyle.get())) { + if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle.get(), newStyle.get()) || change == Force && renderer() && renderer()->requiresForcedStyleRecalcPropagation()) { setRenderStyle(newStyle); } else if (needsStyleRecalc() && (styleChangeType() != SyntheticStyleChange) && (document()->usesSiblingRules() || document()->usesDescendantRules())) { // Although no change occurred, we use the new style so that the cousin style sharing code won't get @@ -1429,9 +1429,15 @@ void Element::normalizeAttributes() NamedNodeMap* attrs = attributes(true); if (!attrs) return; - unsigned numAttrs = attrs->length(); - for (unsigned i = 0; i < numAttrs; i++) { - if (Attr* attr = attrs->attributeItem(i)->attr()) + + if (attrs->isEmpty()) + return; + + Vector<RefPtr<Attribute> > attributeVector; + attrs->copyAttributesToVector(attributeVector); + size_t numAttrs = attributeVector.size(); + for (size_t i = 0; i < numAttrs; ++i) { + if (Attr* attr = attributeVector[i]->attr()) attr->normalize(); } } diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp index d8a6ba8..ee979cf 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp +++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp @@ -172,6 +172,11 @@ PassRefPtr<Node> NamedNodeMap::item(unsigned index) const return m_attributes[index]->createAttrIfNeeded(m_element); } +void NamedNodeMap::copyAttributesToVector(Vector<RefPtr<Attribute> >& copy) +{ + copy = m_attributes; +} + Attribute* NamedNodeMap::getAttributeItemSlowCase(const String& name, bool shouldIgnoreAttributeCase) const { unsigned len = length(); diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h index d5136b5..e292576 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h +++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h @@ -72,6 +72,8 @@ public: Attribute* attributeItem(unsigned index) const { return m_attributes[index].get(); } Attribute* getAttributeItem(const QualifiedName&) const; + void copyAttributesToVector(Vector<RefPtr<Attribute> >&); + void shrinkToLength() { m_attributes.shrinkCapacity(length()); } void reserveInitialCapacity(unsigned capacity) { m_attributes.reserveInitialCapacity(capacity); } diff --git a/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl b/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl index 4d36577..7bfbf23 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl +++ b/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl @@ -28,7 +28,7 @@ module core { Node getNamedItem(in DOMString name); - Node setNamedItem(in Node node) + [Custom] Node setNamedItem(in Node node) raises(DOMException); Node removeNamedItem(in DOMString name) @@ -46,7 +46,7 @@ module core { // FIXME: the implementation does take an exceptioncode parameter. /*raises(DOMException)*/; - Node setNamedItemNS(in Node node) + [Custom] Node setNamedItemNS(in Node node) raises(DOMException); [OldStyleObjC] Node removeNamedItemNS(in [ConvertNullToNullString] DOMString namespaceURI, diff --git a/src/3rdparty/webkit/WebCore/dom/Node.idl b/src/3rdparty/webkit/WebCore/dom/Node.idl index 0489316..22d9a85 100644 --- a/src/3rdparty/webkit/WebCore/dom/Node.idl +++ b/src/3rdparty/webkit/WebCore/dom/Node.idl @@ -51,7 +51,7 @@ module core { readonly attribute [ConvertNullStringTo=Null] DOMString nodeName; // FIXME: the spec says this can also raise on retrieval. - attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString nodeValue + attribute [CustomSetter, ConvertNullStringTo=Null, ConvertNullToNullString] DOMString nodeValue setter raises(DOMException); readonly attribute unsigned short nodeType; @@ -96,7 +96,7 @@ module core { readonly attribute [ConvertNullStringTo=Null] DOMString baseURI; // FIXME: the spec says this can also raise on retrieval. - attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString textContent + attribute [CustomSetter, ConvertNullStringTo=Null, ConvertNullToNullString] DOMString textContent setter raises(DOMException); boolean isSameNode(in Node other); diff --git a/src/3rdparty/webkit/WebCore/dom/Range.cpp b/src/3rdparty/webkit/WebCore/dom/Range.cpp index 52d1785..689b590 100644 --- a/src/3rdparty/webkit/WebCore/dom/Range.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Range.cpp @@ -1716,6 +1716,31 @@ void Range::nodeChildrenChanged(ContainerNode* container) boundaryNodeChildrenChanged(m_end, container); } +static inline void boundaryNodeChildrenWillBeRemoved(RangeBoundaryPoint& boundary, ContainerNode* container) +{ + for (Node* nodeToBeRemoved = container->firstChild(); nodeToBeRemoved; nodeToBeRemoved = nodeToBeRemoved->nextSibling()) { + if (boundary.childBefore() == nodeToBeRemoved) { + boundary.setToStartOfNode(container); + return; + } + + for (Node* n = boundary.container(); n; n = n->parentNode()) { + if (n == nodeToBeRemoved) { + boundary.setToStartOfNode(container); + return; + } + } + } +} + +void Range::nodeChildrenWillBeRemoved(ContainerNode* container) +{ + ASSERT(container); + ASSERT(container->document() == m_ownerDocument); + boundaryNodeChildrenWillBeRemoved(m_start, container); + boundaryNodeChildrenWillBeRemoved(m_end, container); +} + static inline void boundaryNodeWillBeRemoved(RangeBoundaryPoint& boundary, Node* nodeToBeRemoved) { if (boundary.childBefore() == nodeToBeRemoved) { diff --git a/src/3rdparty/webkit/WebCore/dom/Range.h b/src/3rdparty/webkit/WebCore/dom/Range.h index fd0f66a..bfddd32 100644 --- a/src/3rdparty/webkit/WebCore/dom/Range.h +++ b/src/3rdparty/webkit/WebCore/dom/Range.h @@ -111,6 +111,7 @@ public: void textQuads(Vector<FloatQuad>&, bool useSelectionHeight = false); void nodeChildrenChanged(ContainerNode*); + void nodeChildrenWillBeRemoved(ContainerNode*); void nodeWillBeRemoved(Node*); void textInserted(Node*, unsigned offset, unsigned length); diff --git a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp index 34fa46d..4cb34ac 100644 --- a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp +++ b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp @@ -1069,6 +1069,21 @@ static bool supportedFromMenuOrKeyBinding(Frame*, EditorCommandSource source) return source == CommandFromMenuOrKeyBinding; } +static bool supportedCopyCut(Frame* frame, EditorCommandSource source) +{ + switch (source) { + case CommandFromMenuOrKeyBinding: + return true; + case CommandFromDOM: + case CommandFromDOMWithUserInterface: { + Settings* settings = frame ? frame->settings() : 0; + return settings && settings->javaScriptCanAccessClipboard(); + } + } + ASSERT_NOT_REACHED(); + return false; +} + static bool supportedPaste(Frame* frame, EditorCommandSource source) { switch (source) { @@ -1077,7 +1092,7 @@ static bool supportedPaste(Frame* frame, EditorCommandSource source) case CommandFromDOM: case CommandFromDOMWithUserInterface: { Settings* settings = frame ? frame->settings() : 0; - return settings && settings->isDOMPasteAllowed(); + return settings && (settings->javaScriptCanAccessClipboard() ? settings->isDOMPasteAllowed() : 0); } } ASSERT_NOT_REACHED(); @@ -1304,9 +1319,9 @@ static const CommandMap& createCommandMap() { "BackColor", { executeBackColor, supported, enabledInRichlyEditableText, stateNone, valueBackColor, notTextInsertion, doNotAllowExecutionWhenDisabled } }, { "BackwardDelete", { executeDeleteBackward, supportedFromMenuOrKeyBinding, enabledInEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, // FIXME: remove BackwardDelete when Safari for Windows stops using it. { "Bold", { executeToggleBold, supported, enabledInRichlyEditableText, stateBold, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, - { "Copy", { executeCopy, supported, enabledCopy, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } }, + { "Copy", { executeCopy, supportedCopyCut, enabledCopy, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } }, { "CreateLink", { executeCreateLink, supported, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, - { "Cut", { executeCut, supported, enabledCut, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } }, + { "Cut", { executeCut, supportedCopyCut, enabledCut, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } }, { "Delete", { executeDelete, supported, enabledDelete, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, { "DeleteBackward", { executeDeleteBackward, supportedFromMenuOrKeyBinding, enabledInEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, { "DeleteBackwardByDecomposingPreviousCharacter", { executeDeleteBackwardByDecomposingPreviousCharacter, supportedFromMenuOrKeyBinding, enabledInEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } }, diff --git a/src/3rdparty/webkit/WebCore/editing/markup.cpp b/src/3rdparty/webkit/WebCore/editing/markup.cpp index 787dad9..7e90107 100644 --- a/src/3rdparty/webkit/WebCore/editing/markup.cpp +++ b/src/3rdparty/webkit/WebCore/editing/markup.cpp @@ -404,10 +404,12 @@ static void appendStartMarkup(Vector<UChar>& result, const Node* node, const Ran if (Node* parent = node->parentNode()) { if (parent->hasTagName(scriptTag) || parent->hasTagName(styleTag) - || parent->hasTagName(textareaTag) || parent->hasTagName(xmpTag)) { appendUCharRange(result, ucharRange(node, range)); break; + } else if (parent->hasTagName(textareaTag)) { + appendEscapedContent(result, ucharRange(node, range), documentIsHTML); + break; } } if (!annotate) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp index 7aed66c..1232cfc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp @@ -264,14 +264,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItem(ExecState* exe if (!thisValue.inherits(&JSNamedNodeMap::s_info)) return throwError(exec, TypeError); JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue)); - NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl()); - ExceptionCode ec = 0; - Node* node = toNode(args.at(0)); - - - JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItem(node, ec))); - setDOMException(exec, ec); - return result; + return castedThisObj->setNamedItem(exec, args); } JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) @@ -325,14 +318,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItemNS(ExecState* e if (!thisValue.inherits(&JSNamedNodeMap::s_info)) return throwError(exec, TypeError); JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue)); - NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl()); - ExceptionCode ec = 0; - Node* node = toNode(args.at(0)); - - - JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItemNS(node, ec))); - setDOMException(exec, ec); - return result; + return castedThisObj->setNamedItemNS(exec, args); } JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h index 0fa1fdf..b79e97c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h @@ -50,6 +50,10 @@ public: virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties); static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); + + // Custom functions + JSC::JSValue setNamedItem(JSC::ExecState*, const JSC::ArgList&); + JSC::JSValue setNamedItemNS(JSC::ExecState*, const JSC::ArgList&); NamedNodeMap* impl() const { return m_impl.get(); } private: diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp index 47dafd4..1e16be6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp @@ -394,11 +394,7 @@ void JSNode::put(ExecState* exec, const Identifier& propertyName, JSValue value, void setJSNodeNodeValue(ExecState* exec, JSObject* thisObject, JSValue value) { - JSNode* castedThisObj = static_cast<JSNode*>(thisObject); - Node* imp = static_cast<Node*>(castedThisObj->impl()); - ExceptionCode ec = 0; - imp->setNodeValue(valueToStringWithNullCheck(exec, value), ec); - setDOMException(exec, ec); + static_cast<JSNode*>(thisObject)->setNodeValue(exec, value); } void setJSNodePrefix(ExecState* exec, JSObject* thisObject, JSValue value) @@ -412,11 +408,7 @@ void setJSNodePrefix(ExecState* exec, JSObject* thisObject, JSValue value) void setJSNodeTextContent(ExecState* exec, JSObject* thisObject, JSValue value) { - JSNode* castedThisObj = static_cast<JSNode*>(thisObject); - Node* imp = static_cast<Node*>(castedThisObj->impl()); - ExceptionCode ec = 0; - imp->setTextContent(valueToStringWithNullCheck(exec, value), ec); - setDOMException(exec, ec); + static_cast<JSNode*>(thisObject)->setTextContent(exec, value); } JSValue JSNode::getConstructor(ExecState* exec, JSGlobalObject* globalObject) diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.h b/src/3rdparty/webkit/WebCore/generated/JSNode.h index be6dd23..e2c82c4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNode.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNode.h @@ -54,6 +54,10 @@ public: static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); + // Custom attributes + void setNodeValue(JSC::ExecState*, JSC::JSValue); + void setTextContent(JSC::ExecState*, JSC::JSValue); + // Custom functions JSC::JSValue insertBefore(JSC::ExecState*, const JSC::ArgList&); JSC::JSValue replaceChild(JSC::ExecState*, const JSC::ArgList&); diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp index 9cec7a9..73a572e 100644 --- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp +++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp @@ -1215,7 +1215,7 @@ PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLImageEleme if (!cachedImage || !image->cachedImage()->image()) return CanvasPattern::create(Image::nullImage(), repeatX, repeatY, true); - bool originClean = !canvas()->document()->securityOrigin()->taintsCanvas(KURL(KURL(), cachedImage->url())); + bool originClean = !canvas()->document()->securityOrigin()->taintsCanvas(KURL(KURL(), cachedImage->url())) && cachedImage->image()->hasSingleSecurityOrigin(); return CanvasPattern::create(cachedImage->image(), repeatX, repeatY, originClean); } diff --git a/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp b/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp index de0a0b0..55f51ac 100644 --- a/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp +++ b/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp @@ -81,16 +81,19 @@ DocumentThreadableLoader::DocumentThreadableLoader(Document* document, Threadabl ASSERT(m_options.crossOriginRequestPolicy == UseAccessControl); - if (!m_options.forcePreflight && isSimpleCrossOriginAccessRequest(request.httpMethod(), request.httpHeaderFields())) - makeSimpleCrossOriginAccessRequest(request); + OwnPtr<ResourceRequest> crossOriginRequest(new ResourceRequest(request)); + crossOriginRequest->removeCredentials(); + crossOriginRequest->setAllowCookies(m_options.allowCredentials); + + if (!m_options.forcePreflight && isSimpleCrossOriginAccessRequest(crossOriginRequest->httpMethod(), crossOriginRequest->httpHeaderFields())) + makeSimpleCrossOriginAccessRequest(*crossOriginRequest); else { - m_actualRequest.set(new ResourceRequest(request)); - m_actualRequest->setAllowCookies(m_options.allowCredentials); + m_actualRequest.set(crossOriginRequest.release()); - if (CrossOriginPreflightResultCache::shared().canSkipPreflight(document->securityOrigin()->toString(), request.url(), m_options.allowCredentials, request.httpMethod(), request.httpHeaderFields())) + if (CrossOriginPreflightResultCache::shared().canSkipPreflight(document->securityOrigin()->toString(), m_actualRequest->url(), m_options.allowCredentials, m_actualRequest->httpMethod(), m_actualRequest->httpHeaderFields())) preflightSuccess(); else - makeCrossOriginAccessRequestWithPreflight(request); + makeCrossOriginAccessRequestWithPreflight(*m_actualRequest); } } @@ -106,8 +109,6 @@ void DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest(const Resource // Make a copy of the passed request so that we can modify some details. ResourceRequest crossOriginRequest(request); - crossOriginRequest.removeCredentials(); - crossOriginRequest.setAllowCookies(m_options.allowCredentials); crossOriginRequest.setHTTPOrigin(m_document->securityOrigin()->toString()); loadRequest(crossOriginRequest, DoSecurityCheck); @@ -287,11 +288,17 @@ void DocumentThreadableLoader::preflightSuccess() void DocumentThreadableLoader::preflightFailure() { + m_actualRequest = 0; // Prevent didFinishLoading() from bypassing access check. m_client->didFail(ResourceError()); } void DocumentThreadableLoader::loadRequest(const ResourceRequest& request, SecurityCheckPolicy securityCheck) { + // Any credential should have been removed from the cross-site requests. + const KURL& requestURL = request.url(); + ASSERT(m_sameOriginRequest || requestURL.user().isEmpty()); + ASSERT(m_sameOriginRequest || requestURL.pass().isEmpty()); + if (m_async) { // Don't sniff content or send load callbacks for the preflight request. bool sendLoadCallbacks = m_options.sendLoadCallbacks && !m_actualRequest; @@ -315,15 +322,15 @@ void DocumentThreadableLoader::loadRequest(const ResourceRequest& request, Secur // No exception for file:/// resources, see <rdar://problem/4962298>. // Also, if we have an HTTP response, then it wasn't a network error in fact. - if (!error.isNull() && !request.url().isLocalFile() && response.httpStatusCode() <= 0) { + if (!error.isNull() && !requestURL.isLocalFile() && response.httpStatusCode() <= 0) { m_client->didFail(error); return; } // FIXME: FrameLoader::loadSynchronously() does not tell us whether a redirect happened or not, so we guess by comparing the // request and response URLs. This isn't a perfect test though, since a server can serve a redirect to the same URL that was - // requested. - if (request.url() != response.url() && !isAllowedRedirect(response.url())) { + // requested. Also comparing the request and response URLs as strings will fail if the requestURL still has its credentials. + if (requestURL != response.url() && !isAllowedRedirect(response.url())) { m_client->didFailRedirectCheck(); return; } diff --git a/src/3rdparty/webkit/WebCore/page/DragController.cpp b/src/3rdparty/webkit/WebCore/page/DragController.cpp index f238b27..0da6873 100644 --- a/src/3rdparty/webkit/WebCore/page/DragController.cpp +++ b/src/3rdparty/webkit/WebCore/page/DragController.cpp @@ -313,7 +313,7 @@ bool DragController::tryDocumentDrag(DragData* dragData, DragDestinationAction a } IntPoint point = frameView->windowToContents(dragData->clientPosition()); - Element* element = elementUnderMouse(m_documentUnderMouse, point); + Element* element = elementUnderMouse(m_documentUnderMouse.get(), point); if (!asFileInput(element)) { VisibleSelection dragCaret = m_documentUnderMouse->frame()->visiblePositionForPoint(point); m_page->dragCaretController()->setSelection(dragCaret); @@ -363,7 +363,7 @@ bool DragController::concludeEditDrag(DragData* dragData) return false; IntPoint point = m_documentUnderMouse->view()->windowToContents(dragData->clientPosition()); - Element* element = elementUnderMouse(m_documentUnderMouse, point); + Element* element = elementUnderMouse(m_documentUnderMouse.get(), point); Frame* innerFrame = element->ownerDocument()->frame(); ASSERT(innerFrame); @@ -439,7 +439,7 @@ bool DragController::concludeEditDrag(DragData* dragData) applyCommand(MoveSelectionCommand::create(fragment, dragCaret.base(), smartInsert, smartDelete)); } else { if (setSelectionToDragCaret(innerFrame, dragCaret, range, point)) - applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, fragment, true, dragData->canSmartReplace(), chosePlainText)); + applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse.get(), fragment, true, dragData->canSmartReplace(), chosePlainText)); } } else { String text = dragData->asPlainText(); @@ -450,7 +450,7 @@ bool DragController::concludeEditDrag(DragData* dragData) m_client->willPerformDragDestinationAction(DragDestinationActionEdit, dragData); if (setSelectionToDragCaret(innerFrame, dragCaret, range, point)) - applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, createFragmentFromText(range.get(), text), true, false, true)); + applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse.get(), createFragmentFromText(range.get(), text), true, false, true)); } loader->setAllowStaleResources(false); diff --git a/src/3rdparty/webkit/WebCore/page/DragController.h b/src/3rdparty/webkit/WebCore/page/DragController.h index 3b2b083..712f9ab 100644 --- a/src/3rdparty/webkit/WebCore/page/DragController.h +++ b/src/3rdparty/webkit/WebCore/page/DragController.h @@ -67,13 +67,11 @@ namespace WebCore { DragOperation sourceDragOperation() const { return m_sourceDragOperation; } void setDraggingImageURL(const KURL& url) { m_draggingImageURL = url; } const KURL& draggingImageURL() const { return m_draggingImageURL; } - void setDragInitiator(Document* initiator) { m_dragInitiator = initiator; m_didInitiateDrag = true; } - Document* dragInitiator() const { return m_dragInitiator; } void setDragOffset(const IntPoint& offset) { m_dragOffset = offset; } const IntPoint& dragOffset() const { return m_dragOffset; } DragSourceAction dragSourceAction() const { return m_dragSourceAction; } - Document* documentUnderMouse() const { return m_documentUnderMouse; } + Document* documentUnderMouse() const { return m_documentUnderMouse.get(); } DragDestinationAction dragDestinationAction() const { return m_dragDestinationAction; } DragSourceAction delegateDragSourceAction(const IntPoint& pagePoint); @@ -114,8 +112,8 @@ namespace WebCore { Page* m_page; DragClient* m_client; - Document* m_documentUnderMouse; // The document the mouse was last dragged over. - Document* m_dragInitiator; // The Document (if any) that initiated the drag. + RefPtr<Document> m_documentUnderMouse; // The document the mouse was last dragged over. + RefPtr<Document> m_dragInitiator; // The Document (if any) that initiated the drag. DragDestinationAction m_dragDestinationAction; DragSourceAction m_dragSourceAction; diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp index 1654257..f1ee742 100644 --- a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp +++ b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp @@ -2163,7 +2163,9 @@ bool EventHandler::keyEvent(const PlatformKeyboardEvent& initialKeyEvent) if (initialKeyEvent.type() == PlatformKeyboardEvent::RawKeyDown) { node->dispatchEvent(keydown, ec); - return keydown->defaultHandled() || keydown->defaultPrevented(); + // If frame changed as a result of keydown dispatch, then return true to avoid sending a subsequent keypress message to the new frame. + bool changedFocusedFrame = m_frame->page() && m_frame != m_frame->page()->focusController()->focusedOrMainFrame(); + return keydown->defaultHandled() || keydown->defaultPrevented() || changedFocusedFrame; } // Run input method in advance of DOM event handling. This may result in the IM @@ -2183,7 +2185,9 @@ bool EventHandler::keyEvent(const PlatformKeyboardEvent& initialKeyEvent) } node->dispatchEvent(keydown, ec); - bool keydownResult = keydown->defaultHandled() || keydown->defaultPrevented(); + // If frame changed as a result of keydown dispatch, then return early to avoid sending a subsequent keypress message to the new frame. + bool changedFocusedFrame = m_frame->page() && m_frame != m_frame->page()->focusController()->focusedOrMainFrame(); + bool keydownResult = keydown->defaultHandled() || keydown->defaultPrevented() || changedFocusedFrame; if (handledByInputMethod || (keydownResult && !backwardCompatibilityMode)) return keydownResult; diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp index 639414b..01f0375 100644 --- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp +++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp @@ -1315,14 +1315,13 @@ void FrameView::scheduleRelayoutOfSubtree(RenderObject* relayoutRoot) { ASSERT(m_frame->view() == this); - if (!m_layoutSchedulingEnabled || (m_frame->contentRenderer() - && m_frame->contentRenderer()->needsLayout())) { + if (m_frame->contentRenderer() && m_frame->contentRenderer()->needsLayout()) { if (relayoutRoot) relayoutRoot->markContainingBlocksForLayout(false); return; } - if (layoutPending()) { + if (layoutPending() || !m_layoutSchedulingEnabled) { if (m_layoutRoot != relayoutRoot) { if (isObjectAncestorContainerOf(m_layoutRoot, relayoutRoot)) { // Keep the current root @@ -1339,7 +1338,7 @@ void FrameView::scheduleRelayoutOfSubtree(RenderObject* relayoutRoot) relayoutRoot->markContainingBlocksForLayout(false); } } - } else { + } else if (m_layoutSchedulingEnabled) { int delay = m_frame->document()->minimumLayoutDelay(); m_layoutRoot = relayoutRoot; m_delayedLayout = delay != 0; diff --git a/src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp b/src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp index c0b3e22..516c533 100644 --- a/src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp +++ b/src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp @@ -90,6 +90,20 @@ static URLSchemesMap& schemesWithUniqueOrigins() return schemesWithUniqueOrigins; } +static bool schemeRequiresAuthority(const String& scheme) +{ + DEFINE_STATIC_LOCAL(URLSchemesMap, schemes, ()); + + if (schemes.isEmpty()) { + schemes.add("http"); + schemes.add("https"); + schemes.add("ftp"); + } + + return schemes.contains(scheme); +} + + SecurityOrigin::SecurityOrigin(const KURL& url, SandboxFlags sandboxFlags) : m_sandboxFlags(sandboxFlags) , m_protocol(url.protocol().isNull() ? "" : url.protocol().lower()) @@ -103,6 +117,10 @@ SecurityOrigin::SecurityOrigin(const KURL& url, SandboxFlags sandboxFlags) if (m_protocol == "about" || m_protocol == "javascript") m_protocol = ""; + // For edge case URLs that were probably misparsed, make sure that the origin is unique. + if (schemeRequiresAuthority(m_protocol) && m_host.isEmpty()) + m_isUnique = true; + // document.domain starts as m_host, but can be set by the DOM. m_domain = m_host; diff --git a/src/3rdparty/webkit/WebCore/page/Settings.cpp b/src/3rdparty/webkit/WebCore/page/Settings.cpp index 475d373..c0659d2 100644 --- a/src/3rdparty/webkit/WebCore/page/Settings.cpp +++ b/src/3rdparty/webkit/WebCore/page/Settings.cpp @@ -79,6 +79,7 @@ Settings::Settings(Page* page) , m_allowUniversalAccessFromFileURLs(true) , m_allowFileAccessFromFileURLs(true) , m_javaScriptCanOpenWindowsAutomatically(false) + , m_javaScriptCanAccessClipboard(false) , m_shouldPrintBackgrounds(false) , m_textAreasAreResizable(false) #if ENABLE(DASHBOARD_SUPPORT) @@ -291,6 +292,11 @@ void Settings::setJavaScriptCanOpenWindowsAutomatically(bool javaScriptCanOpenWi m_javaScriptCanOpenWindowsAutomatically = javaScriptCanOpenWindowsAutomatically; } +void Settings::setJavaScriptCanAccessClipboard(bool javaScriptCanAccessClipboard) +{ + m_javaScriptCanAccessClipboard = javaScriptCanAccessClipboard; +} + void Settings::setDefaultTextEncodingName(const String& defaultTextEncodingName) { m_defaultTextEncodingName = defaultTextEncodingName; diff --git a/src/3rdparty/webkit/WebCore/page/Settings.h b/src/3rdparty/webkit/WebCore/page/Settings.h index b677712..a6653ce 100644 --- a/src/3rdparty/webkit/WebCore/page/Settings.h +++ b/src/3rdparty/webkit/WebCore/page/Settings.h @@ -122,6 +122,9 @@ namespace WebCore { void setJavaScriptCanOpenWindowsAutomatically(bool); bool javaScriptCanOpenWindowsAutomatically() const { return m_javaScriptCanOpenWindowsAutomatically; } + void setJavaScriptCanAccessClipboard(bool); + bool javaScriptCanAccessClipboard() const { return m_javaScriptCanAccessClipboard; } + void setSpatialNavigationEnabled(bool); bool isSpatialNavigationEnabled() const { return m_isSpatialNavigationEnabled; } @@ -330,6 +333,7 @@ namespace WebCore { bool m_allowUniversalAccessFromFileURLs: 1; bool m_allowFileAccessFromFileURLs: 1; bool m_javaScriptCanOpenWindowsAutomatically : 1; + bool m_javaScriptCanAccessClipboard : 1; bool m_shouldPrintBackgrounds : 1; bool m_textAreasAreResizable : 1; #if ENABLE(DASHBOARD_SUPPORT) diff --git a/src/3rdparty/webkit/WebCore/platform/KURL.cpp b/src/3rdparty/webkit/WebCore/platform/KURL.cpp index 40adfbc..3c8d50f 100644 --- a/src/3rdparty/webkit/WebCore/platform/KURL.cpp +++ b/src/3rdparty/webkit/WebCore/platform/KURL.cpp @@ -215,6 +215,9 @@ static const unsigned char characterClassTable[256] = { /* 252 */ BadChar, /* 253 */ BadChar, /* 254 */ BadChar, /* 255 */ BadChar }; +static const unsigned maximumValidPortNumber = 0xFFFE; +static const unsigned invalidPortNumber = 0xFFFF; + static int copyPathRemovingDots(char* dst, const char* src, int srcStart, int srcEnd); static void encodeRelativeString(const String& rel, const TextEncoding&, CharBuffer& ouput); static String substituteBackslashes(const String&); @@ -573,12 +576,17 @@ String KURL::host() const unsigned short KURL::port() const { - if (m_hostEnd == m_portEnd) + // We return a port of 0 if there is no port specified. This can happen in two situations: + // 1) The URL contains no colon after the host name and before the path component of the URL. + // 2) The URL contains a colon but there's no port number before the path component of the URL begins. + if (m_hostEnd == m_portEnd || m_hostEnd == m_portEnd - 1) return 0; - int number = m_string.substring(m_hostEnd + 1, m_portEnd - m_hostEnd - 1).toInt(); - if (number < 0 || number > 0xFFFF) - return 0; + const UChar* stringData = m_string.characters(); + bool ok = false; + unsigned number = charactersToUIntStrict(stringData + m_hostEnd + 1, m_portEnd - m_hostEnd - 1, &ok); + if (!ok || number > maximumValidPortNumber) + return invalidPortNumber; return number; } @@ -1757,7 +1765,7 @@ bool portAllowed(const KURL& url) 6667, // Standard IRC [Apple addition] 6668, // Alternate IRC [Apple addition] 6669, // Alternate IRC [Apple addition] - + invalidPortNumber, // Used to block all invalid port numbers }; const unsigned short* const blockedPortListEnd = blockedPortList + sizeof(blockedPortList) / sizeof(blockedPortList[0]); diff --git a/src/3rdparty/webkit/WebCore/platform/KURLGoogle.cpp b/src/3rdparty/webkit/WebCore/platform/KURLGoogle.cpp index 8be7009..10b9bb8 100644 --- a/src/3rdparty/webkit/WebCore/platform/KURLGoogle.cpp +++ b/src/3rdparty/webkit/WebCore/platform/KURLGoogle.cpp @@ -57,6 +57,8 @@ using std::binary_search; namespace WebCore { +static const unsigned invalidPortNumber = 0xFFFF; + // Wraps WebCore's text encoding in a character set converter for the // canonicalizer. class KURLCharsetConverter : public url_canon::CharsetConverter { @@ -499,7 +501,7 @@ String KURL::host() const unsigned short KURL::port() const { if (!m_url.m_isValid || m_url.m_parsed.port.len <= 0) - return 0; + return invalidPortNumber; int port = url_parse::ParsePort(m_url.utf8String().data(), m_url.m_parsed.port); if (port == url_parse::PORT_UNSPECIFIED) return 0; @@ -853,6 +855,12 @@ bool portAllowed(const KURL& url) 3659, // apple-sasl / PasswordServer [Apple addition] 4045, // lockd 6000, // X11 + 6665, // Alternate IRC [Apple addition] + 6666, // Alternate IRC [Apple addition] + 6667, // Standard IRC [Apple addition] + 6668, // Alternate IRC [Apple addition] + 6669, // Alternate IRC [Apple addition] + invalidPortNumber, // Used to block all invalid port numbers }; const unsigned short* const blockedPortListEnd = blockedPortList + sizeof(blockedPortList) / sizeof(blockedPortList[0]); diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp index a7351a0..c96fe25 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp @@ -69,23 +69,31 @@ Path& Path::operator=(const Path& other) return *this; } +static inline bool areCollinear(const QPointF& a, const QPointF& b, const QPointF& c) +{ + // Solved from comparing the slopes of a to b and b to c: (ay-by)/(ax-bx) == (cy-by)/(cx-bx) + return qFuzzyCompare((c.y() - b.y()) * (a.x() - b.x()), (a.y() - b.y()) * (c.x() - b.x())); +} + +static inline bool withinRange(qreal p, qreal a, qreal b) +{ + return (p >= a && p <= b) || (p >= b && p <= a); +} + // Check whether a point is on the border -bool isPointOnPathBorder(const QPolygonF& border, const QPointF& p) +static bool isPointOnPathBorder(const QPolygonF& border, const QPointF& p) { QPointF p1 = border.at(0); QPointF p2; for (int i = 1; i < border.size(); ++i) { p2 = border.at(i); - // (x1<=x<=x2||x1=>x>=x2) && (y1<=y<=y2||y1=>y>=y2) && (y2-y1)(x-x1) == (y-y1)(x2-x1) - // In which, (y2-y1)(x-x1) == (y-y1)(x2-x1) is from (y2-y1)/(x2-x1) == (y-y1)/(x-x1) - // it want to check the slope between p1 and p2 is same with slope between p and p1, - // if so then the three points lie on the same line. - // In which, (x1<=x<=x2||x1=>x>=x2) && (y1<=y<=y2||y1=>y>=y2) want to make sure p is - // between p1 and p2, not outside. - if (((p.x() <= p1.x() && p.x() >= p2.x()) || (p.x() >= p1.x() && p.x() <= p2.x())) - && ((p.y() <= p1.y() && p.y() >= p2.y()) || (p.y() >= p1.y() && p.y() <= p2.y())) - && (p2.y() - p1.y()) * (p.x() - p1.x()) == (p.y() - p1.y()) * (p2.x() - p1.x())) { + if (areCollinear(p, p1, p2) + // Once we know that the points are collinear we + // only need to check one of the coordinates + && (qAbs(p2.x() - p1.x()) > qAbs(p2.y() - p1.y()) ? + withinRange(p.x(), p1.x(), p2.x()) : + withinRange(p.y(), p1.y(), p2.y()))) { return true; } p1 = p2; @@ -199,19 +207,14 @@ void Path::addArcTo(const FloatPoint& p1, const FloatPoint& p2, float radius) float p1p2_length = sqrtf(p1p2.x() * p1p2.x() + p1p2.y() * p1p2.y()); double cos_phi = (p1p0.x() * p1p2.x() + p1p0.y() * p1p2.y()) / (p1p0_length * p1p2_length); - // all points on a line logic - if (cos_phi == -1) { + + // The points p0, p1, and p2 are on the same straight line (HTML5, 4.8.11.1.8) + // We could have used areCollinear() here, but since we're reusing + // the variables computed above later on we keep this logic. + if (qFuzzyCompare(qAbs(cos_phi), 1.0)) { m_path.lineTo(p1); return; } - if (cos_phi == 1) { - // add infinite far away point - unsigned int max_length = 65535; - double factor_max = max_length / p1p0_length; - FloatPoint ep((p0.x() + factor_max * p1p0.x()), (p0.y() + factor_max * p1p0.y())); - m_path.lineTo(ep); - return; - } float tangent = radius / tan(acos(cos_phi) / 2); float factor_p1p0 = tangent / p1p0_length; diff --git a/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h b/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h index 126b499..42cbc8a 100644 --- a/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h +++ b/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h @@ -47,6 +47,7 @@ enum ProtectionSpaceAuthenticationScheme { ProtectionSpaceAuthenticationSchemeHTMLForm = 4, ProtectionSpaceAuthenticationSchemeNTLM = 5, ProtectionSpaceAuthenticationSchemeNegotiate = 6, + ProtectionSpaceAuthenticationSchemeUnknown = 100, }; class ProtectionSpace { diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp index f006c08..aaa306a 100644 --- a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp @@ -144,8 +144,10 @@ bool ResourceHandle::start(Frame* frame) void ResourceHandle::cancel() { - if (d->m_job) + if (d->m_job) { d->m_job->abort(); + d->m_job = 0; + } } bool ResourceHandle::loadsBlocked() diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h index 8e48d1f..d3978b8 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h +++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h @@ -90,6 +90,8 @@ public: virtual QStyle* style() const = 0; virtual QRectF graphicsItemVisibleRect() const { return QRectF(); } + + virtual bool viewResizesToContentsEnabled() const = 0; protected: #ifndef QT_NO_CURSOR diff --git a/src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp b/src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp index 09af518..4d6b88c 100644 --- a/src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp @@ -166,8 +166,7 @@ int FixedTableLayout::calcWidthArray(int) int usedSpan = 0; int i = 0; - while (usedSpan < span) { - ASSERT(cCol + i < nEffCols); + while (usedSpan < span && cCol + i < nEffCols) { int eSpan = m_table->spanOfEffCol(cCol + i); // Only set if no col element has already set it. if (m_width[cCol + i].isAuto() && w.type() != Auto) { diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderButton.h b/src/3rdparty/webkit/WebCore/rendering/RenderButton.h index 7fd6ab0..1fc5eb6 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderButton.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderButton.h @@ -57,12 +57,14 @@ public: virtual bool canHaveChildren() const; -protected: +private: virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); virtual bool hasLineIfEmpty() const { return true; } + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + void timerFired(Timer<RenderButton>*); RenderTextFragment* m_buttonText; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h index 467edcc..ce221ea 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h @@ -53,6 +53,8 @@ public: private: virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + RenderStyle* columnStyle(DataGridColumn*); RenderStyle* headerStyle(DataGridColumn*); void recalcStyleForColumns(); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h b/src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h index 99dd35c..a5f3367 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h @@ -56,6 +56,8 @@ private: virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + // FileChooserClient methods. void valueChanged(); void repaint() { RenderBlock::repaint(); } diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp index 1d76742..5b1deff 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp @@ -274,7 +274,7 @@ void RenderInline::splitInlines(RenderBlock* fromBlock, RenderBlock* toBlock, // has to move into the inline continuation. Call updateBeforeAfterContent to ensure that the inline's :after // content gets properly destroyed. if (document()->usesBeforeAfterRules()) - inlineCurr->children()->updateBeforeAfterContent(this, AFTER); + inlineCurr->children()->updateBeforeAfterContent(inlineCurr, AFTER); // Now we need to take all of the children starting from the first child // *after* currChild and append them all to the clone. diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp index a012868..2aec361 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp @@ -3178,22 +3178,33 @@ void RenderLayer::updateHoverActiveState(const HitTestRequest& request, HitTestR // Locate the common ancestor render object for the two renderers. RenderObject* ancestor = commonAncestor(oldHoverObj, newHoverObj); + Vector<RefPtr<Node>, 32> nodesToRemoveFromChain; + Vector<RefPtr<Node>, 32> nodesToAddToChain; + if (oldHoverObj != newHoverObj) { // The old hover path only needs to be cleared up to (and not including) the common ancestor; for (RenderObject* curr = oldHoverObj; curr && curr != ancestor; curr = curr->hoverAncestor()) { - if (curr->node() && !curr->isText() && (!mustBeInActiveChain || curr->node()->inActiveChain())) { - curr->node()->setActive(false); - curr->node()->setHovered(false); - } + if (curr->node() && !curr->isText() && (!mustBeInActiveChain || curr->node()->inActiveChain())) + nodesToRemoveFromChain.append(curr->node()); } } // Now set the hover state for our new object up to the root. for (RenderObject* curr = newHoverObj; curr; curr = curr->hoverAncestor()) { - if (curr->node() && !curr->isText() && (!mustBeInActiveChain || curr->node()->inActiveChain())) { - curr->node()->setActive(request.active()); - curr->node()->setHovered(true); - } + if (curr->node() && !curr->isText() && (!mustBeInActiveChain || curr->node()->inActiveChain())) + nodesToAddToChain.append(curr->node()); + } + + size_t removeCount = nodesToRemoveFromChain.size(); + for (size_t i = 0; i < removeCount; ++i) { + nodesToRemoveFromChain[i]->setActive(false); + nodesToRemoveFromChain[i]->setHovered(false); + } + + size_t addCount = nodesToAddToChain.size(); + for (size_t i = 0; i < addCount; ++i) { + nodesToAddToChain[i]->setActive(request.active()); + nodesToAddToChain[i]->setHovered(true); } } diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderListItem.h b/src/3rdparty/webkit/WebCore/rendering/RenderListItem.h index c4c41dc..d140979 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderListItem.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderListItem.h @@ -63,6 +63,8 @@ private: virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + void updateMarkerLocation(); inline int calcValue() const; void updateValueNow() const; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp index d0353ee..6c8f769 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp @@ -101,8 +101,10 @@ static inline String toAlphabeticOrNumeric(int number, const UChar* sequence, in int length = 1; if (type == AlphabeticSequence) { - while ((numberShadow /= sequenceSize) > 0) - letters[lettersSize - ++length] = sequence[numberShadow % sequenceSize - 1]; + while ((numberShadow /= sequenceSize) > 0) { + --numberShadow; + letters[lettersSize - ++length] = sequence[numberShadow % sequenceSize]; + } } else { while ((numberShadow /= sequenceSize) > 0) letters[lettersSize - ++length] = sequence[numberShadow % sequenceSize]; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h index 0d24c4c..32d6d65 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h @@ -118,6 +118,8 @@ private: virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + RefPtr<HTMLElement> m_controlsShadowRoot; RefPtr<MediaControlElement> m_panel; RefPtr<MediaControlMuteButtonElement> m_muteButton; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h b/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h index aeb6205..5ee8588 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h @@ -78,6 +78,8 @@ private: virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + // PopupMenuClient methods virtual String itemText(unsigned listIndex) const; virtual String itemToolTip(unsigned listIndex) const; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h index d928521..593fa52 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h @@ -322,6 +322,8 @@ public: bool cellWidthChanged() const { return m_cellWidthChanged; } void setCellWidthChanged(bool b = true) { m_cellWidthChanged = b; } + virtual bool requiresForcedStyleRecalcPropagation() const { return false; } + #if ENABLE(MATHML) virtual bool isRenderMathMLBlock() const { return false; } #endif // ENABLE(MATHML) @@ -412,7 +414,6 @@ public: void drawArcForBoxSide(GraphicsContext*, int x, int y, float thickness, IntSize radius, int angleStart, int angleSpan, BoxSide, Color, const Color& textcolor, EBorderStyle, bool firstCorner); -public: // The pseudo element style can be cached or uncached. Use the cached method if the pseudo element doesn't respect // any pseudo classes (and therefore has no concept of changing state). RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) const; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderProgress.h b/src/3rdparty/webkit/WebCore/rendering/RenderProgress.h index 0a90fde..7aa1efe 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderProgress.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderProgress.h @@ -40,6 +40,8 @@ private: virtual void calcPrefWidths(); virtual void layout(); virtual void updateFromElement(); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + int m_position; }; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h index 92ad73b..fc8ce24 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h @@ -58,6 +58,8 @@ namespace WebCore { virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + PassRefPtr<RenderStyle> createThumbStyle(const RenderStyle* parentStyle); int trackSize(); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderText.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderText.cpp index 307db64..c08adc2 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderText.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderText.cpp @@ -203,7 +203,7 @@ void RenderText::deleteTextBoxes() PassRefPtr<StringImpl> RenderText::originalText() const { Node* e = node(); - return e ? static_cast<Text*>(e)->dataImpl() : 0; + return (e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : 0; } void RenderText::absoluteRects(Vector<IntRect>& rects, int tx, int ty) diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h index 2fc8edc..984f41d 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h @@ -107,6 +107,8 @@ private: virtual bool canBeProgramaticallyScrolled(bool) const { return true; } + virtual bool requiresForcedStyleRecalcPropagation() const { return true; } + String finishText(Vector<UChar>&) const; bool m_wasChangedSinceLastChangeEvent; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp index f3398a3..1e15d66 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp @@ -47,7 +47,7 @@ RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str) PassRefPtr<StringImpl> RenderTextFragment::originalText() const { Node* e = node(); - RefPtr<StringImpl> result = (e ? static_cast<Text*>(e)->dataImpl() : contentString()); + RefPtr<StringImpl> result = ((e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : contentString()); if (result && (start() > 0 || start() < result->length())) result = result->substring(start(), end()); return result.release(); @@ -80,7 +80,7 @@ UChar RenderTextFragment::previousCharacter() { if (start()) { Node* e = node(); - StringImpl* original = (e ? static_cast<Text*>(e)->dataImpl() : contentString()); + StringImpl* original = ((e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : contentString()); if (original) return (*original)[start() - 1]; } diff --git a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri index fcd2891..a080c43 100644 --- a/src/3rdparty/webkit/WebKit.pri +++ b/src/3rdparty/webkit/WebKit.pri @@ -30,7 +30,7 @@ building-libs { LIBS += -lQtWebKit symbian { TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB - TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB + TARGET.EPOCHEAPSIZE = 0x20000 0x6000000 // Min 128kB, Max 32MB } } } diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp index c4d240c..b63921b 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp @@ -117,6 +117,8 @@ public: virtual QStyle* style() const; + virtual bool viewResizesToContentsEnabled() const { return resizesToContents; } + #if USE(ACCELERATED_COMPOSITING) virtual void setRootGraphicsLayer(QGraphicsItem* layer); virtual void markForSync(bool scheduleSync); diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp index 9a4e9b2..d0c047d 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp @@ -233,6 +233,8 @@ public: virtual QStyle* style() const; + virtual bool viewResizesToContentsEnabled() const { return false; } + QWidget* view; }; @@ -3614,7 +3616,7 @@ QString QWebPage::userAgentForUrl(const QUrl&) const firstPartTemp += QString::fromLatin1("Sun Solaris"); #elif defined Q_OS_ULTRIX firstPartTemp += QString::fromLatin1("DEC Ultrix"); -#elif defined Q_WS_S60 +#elif defined Q_OS_SYMBIAN firstPartTemp += QLatin1Char(' '); QSysInfo::S60Version s60Version = QSysInfo::s60Version(); switch (s60Version) { diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp index 47b4f3b..d907d86 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp @@ -187,6 +187,7 @@ void QWebSettingsPrivate::apply() value = attributes.value(QWebSettings::JavascriptCanAccessClipboard, global->attributes.value(QWebSettings::JavascriptCanAccessClipboard)); settings->setDOMPasteAllowed(value); + settings->setJavaScriptCanAccessClipboard(value); value = attributes.value(QWebSettings::DeveloperExtrasEnabled, global->attributes.value(QWebSettings::DeveloperExtrasEnabled)); @@ -235,8 +236,8 @@ void QWebSettingsPrivate::apply() global->attributes.value(QWebSettings::LocalContentCanAccessFileUrls)); settings->setAllowFileAccessFromFileURLs(value); - value = attributes.value(QWebSettings::XSSAuditorEnabled, - global->attributes.value(QWebSettings::XSSAuditorEnabled)); + value = attributes.value(QWebSettings::XSSAuditingEnabled, + global->attributes.value(QWebSettings::XSSAuditingEnabled)); settings->setXSSAuditorEnabled(value); #if ENABLE(TILED_BACKING_STORE) diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h index 207a9b6..156f633 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h @@ -68,7 +68,7 @@ public: #endif LocalContentCanAccessRemoteUrls, DnsPrefetchEnabled, - XSSAuditorEnabled, + XSSAuditingEnabled, AcceleratedCompositingEnabled, SpatialNavigationEnabled, LocalContentCanAccessFileUrls, diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index acf1695..63d5568 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,120 @@ +2010-07-09 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed trivial Symbian build fix. + + [Qt] Fix the Symbian build when compiling without S60 + + Use Q_OS_SYMBIAN instead of Q_WS_S60 for the user agent + determination. + + * Api/qwebpage.cpp: + (QWebPage::userAgentForUrl): + +2010-07-09 Kristian Amlie <kristian.amlie@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fixed Qt symbian/linux-armcc mkspec when configured with -qtlibinfix. + + * declarative/declarative.pro: Use QT_LIBINFIX. + +2010-06-01 Raine Makelainen <raine.makelainen@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt]: REGRESSION(r58703): QWebSettings::JavascriptCanAccessClipboard has wrong case in "Javascript" part. + https://bugs.webkit.org/show_bug.cgi?id=39878 + + QWebSettings::JavaScriptCanAccessClipboard reverted back to + QWebSettings::JavascriptCanAccessClipboard. QWebSettings::DOMPasteAllowed enum removed. + + Value of QWebSettings::JavascriptCanAccessClipboard to setDOMPasteAllowed and + setJavaScriptCanAccessClipboard of WebCore::Settings. + + * Api/qwebsettings.cpp: + (QWebSettingsPrivate::apply): + * Api/qwebsettings.h: + +2010-05-03 Abhishek Arya <inferno@chromium.org> + + Reviewed by Adam Barth. + + Add support for controlling clipboard access from javascript. + Clipboard access from javascript is disabled by default. + https://bugs.webkit.org/show_bug.cgi?id=27751 + + * Api/qwebsettings.cpp: + (QWebSettingsPrivate::apply): + * Api/qwebsettings.h: + +2010-03-24 Kent Hansen <kent.hansen@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Rename QWebSettings::XSSAuditorEnabled to XSSAuditingEnabled + https://bugs.webkit.org/show_bug.cgi?id=36522 + + For consistency with other QWebSettings attributes. + + * Api/qwebsettings.cpp: + (QWebSettingsPrivate::apply): + * Api/qwebsettings.h: + +2010-05-19 Antti Koivisto <koivisto@iki.fi> + + Rubber-stamped by Kenneth Rohde Christiansen. + + [Qt] TiledBackingStore updates broken when not using resizesToContents mode + https://bugs.webkit.org/show_bug.cgi?id=39359 + + Put the back logic that was lost in refactoring. + + * WebCoreSupport/ChromeClientQt.cpp: + (WebCore::ChromeClientQt::visibleRectForTiledBackingStore): + * WebCoreSupport/PageClientQt.cpp: + (WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect): + * WebCoreSupport/PageClientQt.h: + (WebCore::PageClientQWidget::viewResizesToContentsEnabled): + (WebCore::PageClientQGraphicsWidget::viewResizesToContentsEnabled): + +2010-07-01 Bea Lam <bea.lam@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Doc improvements for QDeclarativeWebView + + * declarative/qdeclarativewebview.cpp: + +2010-07-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Create QComboBoxes when clicked and destroy on hide. + https://bugs.webkit.org/show_bug.cgi?id=41451 + + Currently a QComboBox is created for each RenderMenuList and + it gets destroyed either when the RenderMenuList or the + QWebView (its Qt parent) is destroyed. This cause a crash + when the QWebView is destroyed before the render tree (which + is kept in cache). + + This patch aim to destroy the QComboBox as soon as its popup + gets hidden, and likewise, create it only when the popup is + requested to be shown. + It also removes the unneeded reference to the QGraphicsProxyWidget, + destroying the QComboBox automatically destroys its bound + proxywidget. + + * WebCoreSupport/QtFallbackWebPopup.cpp: + (WebCore::QtFallbackWebPopupCombo::hidePopup): + (WebCore::QtFallbackWebPopup::QtFallbackWebPopup): + (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup): + (WebCore::QtFallbackWebPopup::show): + (WebCore::QtFallbackWebPopup::hide): + (WebCore::QtFallbackWebPopup::destroyPopup): + (WebCore::QtFallbackWebPopup::populate): + * WebCoreSupport/QtFallbackWebPopup.h: + 2010-06-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Reviewed by Kenneth Rohde Christiansen. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp index e253161..4d4e70e 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp @@ -563,8 +563,12 @@ bool ChromeClientQt::allowsAcceleratedCompositing() const #if ENABLE(TILED_BACKING_STORE) IntRect ChromeClientQt::visibleRectForTiledBackingStore() const { - if (!platformPageClient()) + if (!platformPageClient() || !m_webPage) return IntRect(); + + if (!platformPageClient()->viewResizesToContentsEnabled()) + return QRect(m_webPage->mainFrame()->scrollPosition(), m_webPage->mainFrame()->geometry().size()); + return enclosingIntRect(FloatRect(platformPageClient()->graphicsItemVisibleRect())); } #endif diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp index 1a87463..59ac87b 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp @@ -75,14 +75,12 @@ void QtFallbackWebPopupCombo::hidePopup() QComboBox::hidePopup(); - if (QGraphicsProxyWidget* proxy = graphicsProxyWidget()) - proxy->setVisible(false); - if (!m_ownerPopup.m_popupVisible) return; m_ownerPopup.m_popupVisible = false; m_ownerPopup.popupDidHide(); + m_ownerPopup.destroyPopup(); } bool QtFallbackWebPopupCombo::eventFilter(QObject* watched, QEvent* event) @@ -102,19 +100,13 @@ bool QtFallbackWebPopupCombo::eventFilter(QObject* watched, QEvent* event) QtFallbackWebPopup::QtFallbackWebPopup() : QtAbstractWebPopup() , m_popupVisible(false) - , m_combo(new QtFallbackWebPopupCombo(*this)) - , m_proxy(0) + , m_combo(0) { - connect(m_combo, SIGNAL(activated(int)), - SLOT(activeChanged(int)), Qt::QueuedConnection); } QtFallbackWebPopup::~QtFallbackWebPopup() { - // If we create a proxy, then the deletion of the proxy and the - // combo will be done by the proxy's parent (QGraphicsWebView) - if (!m_proxy && m_combo) - m_combo->deleteLater(); + destroyPopup(); } void QtFallbackWebPopup::show() @@ -125,17 +117,20 @@ void QtFallbackWebPopup::show() #if ENABLE(SYMBIAN_DIALOG_PROVIDERS) TRAP_IGNORE(showS60BrowserDialog()); #else + + destroyPopup(); + m_combo = new QtFallbackWebPopupCombo(*this); + connect(m_combo, SIGNAL(activated(int)), + SLOT(activeChanged(int)), Qt::QueuedConnection); + populate(); m_combo->setCurrentIndex(currentIndex()); QRect rect = geometry(); if (QGraphicsWebView *webView = qobject_cast<QGraphicsWebView*>(pageClient()->pluginParent())) { - if (!m_proxy) { - m_proxy = new QGraphicsProxyWidget(webView); - m_proxy->setWidget(m_combo); - } else - m_proxy->setVisible(true); - m_proxy->setGeometry(rect); + QGraphicsProxyWidget* proxy = new QGraphicsProxyWidget(webView); + proxy->setWidget(m_combo); + proxy->setGeometry(rect); } else { m_combo->setParent(pageClient()->ownerWidget()); m_combo->setGeometry(QRect(rect.left(), rect.top(), @@ -204,13 +199,21 @@ void QtFallbackWebPopup::showS60BrowserDialog() void QtFallbackWebPopup::hide() { - m_combo->hidePopup(); + // Destroying the QComboBox here cause problems if the popup is in the + // middle of its show animation. Instead we rely on the fact that the + // Qt::Popup window will hide itself on mouse events outside its window. } -void QtFallbackWebPopup::populate() +void QtFallbackWebPopup::destroyPopup() { - m_combo->clear(); + if (m_combo) { + m_combo->deleteLater(); + m_combo = 0; + } +} +void QtFallbackWebPopup::populate() +{ QStandardItemModel* model = qobject_cast<QStandardItemModel*>(m_combo->model()); Q_ASSERT(model); diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h index 860e9fa..e6c371f 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h @@ -42,6 +42,8 @@ public: virtual void show(); virtual void hide(); + void destroyPopup(); + private slots: void activeChanged(int); @@ -49,7 +51,6 @@ private: friend class QtFallbackWebPopupCombo; bool m_popupVisible; QtFallbackWebPopupCombo* m_combo; - QGraphicsProxyWidget* m_proxy; void populate(); #if ENABLE(SYMBIAN_DIALOG_PROVIDERS) diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/declarative.pro b/src/3rdparty/webkit/WebKit/qt/declarative/declarative.pro index 75268f3..526cf06 100644 --- a/src/3rdparty/webkit/WebKit/qt/declarative/declarative.pro +++ b/src/3rdparty/webkit/WebKit/qt/declarative/declarative.pro @@ -30,6 +30,7 @@ symbian: { TARGET.EPOCALLOWDLLDATA=1 TARGET.CAPABILITY = All -Tcb load(armcc_warnings) + TARGET = $$TARGET$${QT_LIBINFIX} } include(../../../WebKit.pri) diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp index a349bec..0342c9f 100644 --- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp @@ -180,6 +180,8 @@ void GraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* event) When this item has keyboard focus, all keyboard input will be sent directly to the web page within. + + \sa {declarative/modelviews/webview}{WebView example}, {demos/declarative/webbrowser}{Web Browser demo} */ /*! diff --git a/src/3rdparty/zlib.pri b/src/3rdparty/zlib.pri new file mode 100644 index 0000000..bae3221 --- /dev/null +++ b/src/3rdparty/zlib.pri @@ -0,0 +1,14 @@ +wince*: DEFINES += NO_ERRNO_H +INCLUDEPATH += $$PWD/zlib +SOURCES+= \ + $$PWD/zlib/adler32.c \ + $$PWD/zlib/compress.c \ + $$PWD/zlib/crc32.c \ + $$PWD/zlib/deflate.c \ + $$PWD/zlib/gzio.c \ + $$PWD/zlib/inffast.c \ + $$PWD/zlib/inflate.c \ + $$PWD/zlib/inftrees.c \ + $$PWD/zlib/trees.c \ + $$PWD/zlib/uncompr.c \ + $$PWD/zlib/zutil.c diff --git a/src/3rdparty/zlib_dependency.pri b/src/3rdparty/zlib_dependency.pri new file mode 100644 index 0000000..042eb13 --- /dev/null +++ b/src/3rdparty/zlib_dependency.pri @@ -0,0 +1,8 @@ +# zlib dependency satisfied by bundled 3rd party zlib or system zlib +contains(QT_CONFIG, system-zlib) { + symbian: LIBS_PRIVATE += -llibz + else:if(unix|win32-g++*):LIBS_PRIVATE += -lz + else: LIBS += zdll.lib +} else { + INCLUDEPATH += $$PWD/zlib +} diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index 04342e7..641b42b 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -168,7 +168,7 @@ Q_GLOBAL_STATIC(QThreadStorage<QUnifiedTimer *>, unifiedTimer) QUnifiedTimer::QUnifiedTimer() : QObject(), lastTick(0), timingInterval(DEFAULT_TIMER_INTERVAL), currentAnimationIdx(0), consistentTiming(false), slowMode(false), - isPauseTimerActive(false), runningLeafAnimations(0) + slowdownFactor(5.0f), isPauseTimerActive(false), runningLeafAnimations(0) { time.invalidate(); } @@ -205,12 +205,18 @@ void QUnifiedTimer::ensureTimerUpdate() void QUnifiedTimer::updateAnimationsTime() { + qint64 totalElapsed = time.elapsed(); // ignore consistentTiming in case the pause timer is active int delta = (consistentTiming && !isPauseTimerActive) ? - timingInterval : time.elapsed() - lastTick; - if (slowMode) - delta /= 5; - lastTick = time.elapsed(); + timingInterval : totalElapsed - lastTick; + if (slowMode) { + if (slowdownFactor > 0) + delta = qRound(delta / slowdownFactor); + else + delta = 0; + } + + lastTick = totalElapsed; //we make sure we only call update time if the time has actually changed //it might happen in some cases that the time doesn't change because events are delayed diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index fcfe824..d3d4098 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -145,8 +145,9 @@ public: */ void setConsistentTiming(bool consistent) { consistentTiming = consistent; } - //this facilitates fine-tuning of complex animations + //these facilitate fine-tuning of complex animations void setSlowModeEnabled(bool enabled) { slowMode = enabled; } + void setSlowdownFactor(qreal factor) { slowdownFactor = factor; } /* this is used for updating the currentTime of all animations in case the pause @@ -171,11 +172,17 @@ private: ElapsedTimer time; - int lastTick; + qint64 lastTick; int timingInterval; int currentAnimationIdx; bool consistentTiming; bool slowMode; + + // This factor will be used to divide the DEFAULT_TIMER_INTERVAL at each tick + // when slowMode is enabled. Setting it to 0 or higher than DEFAULT_TIMER_INTERVAL (16) + // stops all animations. + qreal slowdownFactor; + // bool to indicate that only pause animations are active bool isPauseTimerActive; diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri index c572e08..46d7dd4 100644 --- a/src/corelib/codecs/codecs.pri +++ b/src/corelib/codecs/codecs.pri @@ -31,6 +31,10 @@ unix { DEFINES += GNU_LIBICONV !mac:LIBS_PRIVATE *= -liconv + } else:contains(QT_CONFIG,sun-libiconv) { + HEADERS += codecs/qiconvcodec_p.h + SOURCES += codecs/qiconvcodec.cpp + DEFINES += GNU_LIBICONV } else:!symbian { # no iconv, so we put all plugins in the library HEADERS += \ diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index e39d326..dba2a42 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -48,7 +48,7 @@ symbian: { pu_header = "; Partial upgrade package for testing QtCore changes without reinstalling everything" \ "$${LITERAL_HASH}{\"Qt corelib\"}, (0x2001E61C), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU" partial_upgrade.pkg_prerules = pu_header vendorinfo - partial_upgrade.sources = $$QMAKE_LIBDIR_QT/QtCore.dll + partial_upgrade.sources = $$QMAKE_LIBDIR_QT/QtCore$${QT_LIBINFIX}.dll partial_upgrade.path = c:/sys/bin DEPLOYMENT = partial_upgrade $$DEPLOYMENT } diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index b31c83b..75a51ec 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -1622,7 +1622,7 @@ bool qSharedBuild() \macro Q_WS_S60 \relates <QtGlobal> - Defined on S60. + Defined on S60 with the Avkon UI framework. \sa Q_WS_MAC, Q_WS_WIN, Q_WS_X11, Q_WS_QWS */ @@ -1813,7 +1813,6 @@ const QSysInfo::WinVersion QSysInfo::WindowsVersion = QSysInfo::windowsVersion() #endif #ifdef Q_OS_SYMBIAN -# ifdef Q_WS_S60 static QSysInfo::S60Version cachedS60Version = QSysInfo::S60Version(-1); QSysInfo::S60Version QSysInfo::s60Version() @@ -1885,17 +1884,6 @@ QSysInfo::SymbianVersion QSysInfo::symbianVersion() return SV_Unknown; } } -#else -QSysInfo::S60Version QSysInfo::s60Version() -{ - return SV_S60_None; -} - -QSysInfo::SymbianVersion QSysInfo::symbianVersion() -{ - return SV_Unknown; -} -# endif // ifdef Q_WS_S60 #endif // ifdef Q_OS_SYMBIAN /*! diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index cc8d1b4..c6092cc 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1066,10 +1066,11 @@ redefine to built-in booleans to make autotests work properly */ //the alignment needs to be forced for sse2 to not crash with mingw #if defined(Q_WS_WIN) # if defined(Q_CC_MINGW) -# define QT_WIN_CALLBACK CALLBACK __attribute__ ((force_align_arg_pointer)) +# define QT_ENSURE_STACK_ALIGNED_FOR_SSE __attribute__ ((force_align_arg_pointer)) # else -# define QT_WIN_CALLBACK CALLBACK +# define QT_ENSURE_STACK_ALIGNED_FOR_SSE # endif +# define QT_WIN_CALLBACK CALLBACK QT_ENSURE_STACK_ALIGNED_FOR_SSE #endif typedef int QNoImplicitBoolCast; diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 564164b..dfa8799 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -570,8 +570,9 @@ be short, localized names. This is basically equivalent to using the date format string, "ddd MMM d yyyy". See QDate::toString() for more information. - \value ISODate ISO 8601 extended format: either \c{YYYY-MM-DD} for dates or - \c{YYYY-MM-DDTHH:MM:SS} for combined dates and times. + \value ISODate \l{ISO 8601} extended format: either \c{YYYY-MM-DD} for dates or + \c{YYYY-MM-DDTHH:MM:SS}, \c{YYYY-MM-DDTHH:MM:SSTZD} (e.g., 1997-07-16T19:20:30+01:00) + for combined dates and times. \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used by the \l{QLocale::system()}{operating system}. diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri index ef448b1..3d964c6 100644 --- a/src/corelib/io/io.pri +++ b/src/corelib/io/io.pri @@ -93,6 +93,6 @@ win32 { SOURCES += io/qfilesystemwatcher_symbian.cpp HEADERS += io/qfilesystemwatcher_symbian_p.h INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE - contains(QT_CONFIG, s60): LIBS += -lplatformenv + LIBS += -lplatformenv } } diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 569801a..32979e3 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -634,13 +634,8 @@ QString QFSFileEngine::homePath() QString QFSFileEngine::rootPath() { #if defined(Q_OS_SYMBIAN) -# ifdef Q_WS_S60 TFileName symbianPath = PathInfo::PhoneMemoryRootPath(); return QDir::cleanPath(QDir::fromNativeSeparators(qt_TDesC2QString(symbianPath))); -# else -# warning No fallback implementation of QFSFileEngine::rootPath() - return QString(); -# endif #else return QLatin1String("/"); #endif @@ -649,17 +644,12 @@ QString QFSFileEngine::rootPath() QString QFSFileEngine::tempPath() { #if defined(Q_OS_SYMBIAN) -# ifdef Q_WS_S60 TFileName symbianPath = PathInfo::PhoneMemoryRootPath(); QString temp = QDir::fromNativeSeparators(qt_TDesC2QString(symbianPath)); temp += QLatin1String( "temp/"); // Just to verify that folder really exist on hardware QT_MKDIR(QFile::encodeName(temp), 0777); -# else -# warning No fallback implementation of QFSFileEngine::tempPath() - QString temp; -# endif #else QString temp = QFile::decodeName(qgetenv("TMPDIR")); if (temp.isEmpty()) diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index b5e7a97..9bc4063 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -1377,6 +1377,50 @@ void QProcess::setStandardOutputProcess(QProcess *destination) dto->stdinChannel.pipeFrom(dfrom); } +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) + +/*! + \since 4.7 + + Returns the additional native command line arguments for the program. + + \note This function is available only on the Windows and Symbian + platforms. + + \sa setNativeArguments() +*/ +QString QProcess::nativeArguments() const +{ + Q_D(const QProcess); + return d->nativeArguments; +} + +/*! + \since 4.7 + \overload + + Sets additional native command line arguments for the program. + + On operating systems where the system API for passing command line + arguments to a subprocess natively uses a single string, one can + conceive command lines which cannot be passed via QProcess's portable + list-based API. In such cases this function must be used to set a + string which is \e appended to the string composed from the usual + argument list, with a delimiting space. + + \note This function is available only on the Windows and Symbian + platforms. + + \sa nativeArguments() +*/ +void QProcess::setNativeArguments(const QString &arguments) +{ + Q_D(QProcess); + d->nativeArguments = arguments; +} + +#endif + /*! If QProcess has been assigned a working directory, this function returns the working directory that the QProcess will enter before the program has @@ -1856,7 +1900,7 @@ QByteArray QProcess::readAllStandardError() } /*! - Starts the program \a program in a new process, if one is not already + Starts the given \a program in a new process, if none is already running, passing the command line arguments in \a arguments. The OpenMode is set to \a mode. @@ -1866,14 +1910,13 @@ QByteArray QProcess::readAllStandardError() process, a warning may be printed at the console, and the existing process will continue running. - \note Arguments that contain spaces are not passed to the - process as separate arguments. - \note Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted. + \note No further splitting of the arguments is performed. + \bold{Windows:} Arguments that contain spaces are wrapped in quotes. \sa pid(), started(), waitForStarted() @@ -2079,18 +2122,23 @@ QProcess::ExitStatus QProcess::exitStatus() const code of the process. Any data the new process writes to the console is forwarded to the calling process. - The environment and working directory are inherited by the calling + The environment and working directory are inherited from the calling process. On Windows, arguments that contain spaces are wrapped in quotes. + + If the process cannot be started, -2 is returned. If the process + crashes, -1 is returned. Otherwise, the process' exit code is + returned. */ int QProcess::execute(const QString &program, const QStringList &arguments) { QProcess process; process.setReadChannelMode(ForwardedChannels); process.start(program, arguments); - process.waitForFinished(-1); - return process.exitCode(); + if (!process.waitForFinished(-1)) + return -2; + return process.exitStatus() == QProcess::NormalExit ? process.exitCode() : -1; } /*! @@ -2105,8 +2153,9 @@ int QProcess::execute(const QString &program) QProcess process; process.setReadChannelMode(ForwardedChannels); process.start(program); - process.waitForFinished(-1); - return process.exitCode(); + if (!process.waitForFinished(-1)) + return -2; + return process.exitStatus() == QProcess::NormalExit ? process.exitCode() : -1; } /*! diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h index f84b855..b07d742 100644 --- a/src/corelib/io/qprocess.h +++ b/src/corelib/io/qprocess.h @@ -148,6 +148,11 @@ public: void setStandardErrorFile(const QString &fileName, OpenMode mode = Truncate); void setStandardOutputProcess(QProcess *destination); +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) + QString nativeArguments() const; + void setNativeArguments(const QString &arguments); +#endif + QString workingDirectory() const; void setWorkingDirectory(const QString &dir); diff --git a/src/corelib/io/qprocess_p.h b/src/corelib/io/qprocess_p.h index 60b7b5a..8b7e3ff 100644 --- a/src/corelib/io/qprocess_p.h +++ b/src/corelib/io/qprocess_p.h @@ -181,6 +181,9 @@ public: QString program; QStringList arguments; +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) + QString nativeArguments; +#endif QProcessEnvironment environment; QRingBuffer outputReadBuffer; diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp index 92212fe..af657b2 100644 --- a/src/corelib/io/qprocess_symbian.cpp +++ b/src/corelib/io/qprocess_symbian.cpp @@ -219,7 +219,8 @@ static bool qt_rprocess_running(RProcess *proc) return false; } -static void qt_create_symbian_commandline(const QStringList &arguments, QString &commandLine) +static void qt_create_symbian_commandline( + const QStringList &arguments, const QString &nativeArguments, QString &commandLine) { for (int i = 0; i < arguments.size(); ++i) { QString tmp = arguments.at(i); @@ -243,12 +244,14 @@ static void qt_create_symbian_commandline(const QStringList &arguments, QString } } - // Chop the extra trailing space if any arguments were appended - if (arguments.size()) + if (!nativeArguments.isEmpty()) + commandLine += nativeArguments; + else if (!commandLine.isEmpty()) // Chop the extra trailing space if any arguments were appended commandLine.chop(1); } -static TInt qt_create_symbian_process(RProcess **proc, const QString &programName, const QStringList &arguments) +static TInt qt_create_symbian_process(RProcess **proc, + const QString &programName, const QStringList &arguments, const QString &nativeArguments) { RProcess *newProc = NULL; newProc = new RProcess(); @@ -257,7 +260,7 @@ static TInt qt_create_symbian_process(RProcess **proc, const QString &programNam return KErrNoMemory; QString commandLine; - qt_create_symbian_commandline(arguments, commandLine); + qt_create_symbian_commandline(arguments, nativeArguments, commandLine); TPtrC program_ptr(reinterpret_cast<const TText*>(programName.constData())); TPtrC cmdline_ptr(reinterpret_cast<const TText*>(commandLine.constData())); @@ -794,7 +797,7 @@ void QProcessPrivate::startProcess() q, SLOT(_q_processDied())); } - TInt err = qt_create_symbian_process(&symbianProcess, program, arguments); + TInt err = qt_create_symbian_process(&symbianProcess, program, arguments, nativeArguments); if (err == KErrNone) { pid = symbianProcess->Id().Id(); @@ -1030,7 +1033,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a RProcess *newProc = NULL; - TInt err = qt_create_symbian_process(&newProc, program, arguments); + TInt err = qt_create_symbian_process(&newProc, program, arguments, QString()); if (err == KErrNone) { if (pid) diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp index cb25a58..702349f 100644 --- a/src/corelib/io/qprocess_win.cpp +++ b/src/corelib/io/qprocess_win.cpp @@ -366,6 +366,11 @@ void QProcessPrivate::startProcess() if (environment.d.constData()) envlist = qt_create_environment(environment.d.constData()->hash); #endif + if (!nativeArguments.isEmpty()) { + if (!args.isEmpty()) + args += QLatin1Char(' '); + args += nativeArguments; + } #if defined QPROCESS_DEBUG qDebug("Creating process"); diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 9562f58..384804a 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -2272,9 +2272,9 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile, be different instances of your application running at the same time or different applications altogether) to read and write to the same system locations. It uses advisory file locking and a - smart merging algorithm to ensure data integrity. Changes - performed by another process aren't visible in the current - process until sync() is called. + smart merging algorithm to ensure data integrity. Note that sync() + imports changes made by other processes (in addition to writing + the changes from this QSettings). \section1 Platform-Specific Notes diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp index 402eccf..5afde9a 100644 --- a/src/corelib/kernel/qcore_symbian_p.cpp +++ b/src/corelib/kernel/qcore_symbian_p.cpp @@ -131,7 +131,7 @@ public: private: void init() { -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN _LIT(KLibName_3_1, "qts60plugin_3_1" QT_LIBINFIX_UNICODE L".dll"); _LIT(KLibName_3_2, "qts60plugin_3_2" QT_LIBINFIX_UNICODE L".dll"); _LIT(KLibName_5_0, "qts60plugin_5_0" QT_LIBINFIX_UNICODE L".dll"); diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index e86efb2..2a52044 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -47,8 +47,6 @@ #include <unistd.h> #include <errno.h> -#include <net/if.h> - QT_BEGIN_NAMESPACE #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS @@ -100,16 +98,19 @@ static inline int qt_socket_select(int nfds, fd_set *readfds, fd_set *writefds, class QSelectMutexGrabber { public: - QSelectMutexGrabber(int fd, QMutex *mutex) + QSelectMutexGrabber(int writeFd, int readFd, QMutex *mutex) : m_mutex(mutex) { if (m_mutex->tryLock()) return; char dummy = 0; - qt_pipe_write(fd, &dummy, 1); + qt_pipe_write(writeFd, &dummy, 1); m_mutex->lock(); + + char buffer; + while (::read(readFd, &buffer, 1) > 0) {} } ~QSelectMutexGrabber() @@ -403,10 +404,6 @@ void QSelectThread::run() ret = qt_socket_select(maxfd, &readfds, &writefds, &exceptionfds, 0); savedSelectErrno = errno; - char buffer; - - while (::read(m_pipeEnds[0], &buffer, 1) > 0) {} - if(ret == 0) { // do nothing } else if (ret < 0) { @@ -481,7 +478,8 @@ void QSelectThread::run() updateActivatedNotifiers(QSocketNotifier::Write, &writefds); } - m_waitCond.wait(&m_mutex); + if (FD_ISSET(m_pipeEnds[0], &readfds)) + m_waitCond.wait(&m_mutex); } m_mutex.unlock(); @@ -495,7 +493,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta start(); } - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + Q_ASSERT(QThread::currentThread() == this->thread()); + + QSelectMutexGrabber lock(m_pipeEnds[1], m_pipeEnds[0], &m_mutex); Q_ASSERT(!m_AOStatuses.contains(notifier)); @@ -506,7 +506,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier ) { - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + Q_ASSERT(QThread::currentThread() == this->thread()); + + QSelectMutexGrabber lock(m_pipeEnds[1], m_pipeEnds[0], &m_mutex); m_AOStatuses.remove(notifier); @@ -515,7 +517,9 @@ void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier ) void QSelectThread::restart() { - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + Q_ASSERT(QThread::currentThread() == this->thread()); + + QSelectMutexGrabber lock(m_pipeEnds[1], m_pipeEnds[0], &m_mutex); m_waitCond.wakeAll(); } @@ -571,17 +575,13 @@ void QSelectThread::updateActivatedNotifiers(QSocketNotifier::Type type, fd_set * check if socket is in exception set * then signal RequestComplete for it */ - qWarning("exception on %d [will do setdefaultif(0) - hack]", i.key()->socket()); + qWarning("exception on %d [will close the socket handle - hack]", i.key()->socket()); // quick fix; there is a bug // when doing read on socket // errors not preoperly mapped // after offline-ing the device // on some devices we do get exception - // close all exiting sockets - // and reset default IAP - if(::setdefaultif(0) != KErrNone) // well we can't do much about it - qWarning("setdefaultif(0) failed"); - + ::close(i.key()->socket()); toRemove.append(i.key()); TRequestStatus *status = i.value(); QEventDispatcherSymbian::RequestComplete(d->threadData->symbian_thread_handle, status, KErrNone); diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h index 788cc44..b219841 100644 --- a/src/corelib/kernel/qeventdispatcher_win_p.h +++ b/src/corelib/kernel/qeventdispatcher_win_p.h @@ -76,7 +76,7 @@ public: explicit QEventDispatcherWin32(QObject *parent = 0); ~QEventDispatcherWin32(); - bool processEvents(QEventLoop::ProcessEventsFlags flags); + bool QT_ENSURE_STACK_ALIGNED_FOR_SSE processEvents(QEventLoop::ProcessEventsFlags flags); bool hasPendingEvents(); void registerSocketNotifier(QSocketNotifier *notifier); diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 23e08c8..40b8715 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -278,12 +278,15 @@ static QByteArray normalizeTypeInternal(const char *t, const char *e, bool fixSc ++templdepth; if (c == '>') --templdepth; - if (templdepth == 0) { + if (templdepth == 0 || (templdepth == 1 && c == ',')) { result += normalizeTypeInternal(tt, t-1, fixScope, false); result += c; - if (*t == '>') - result += ' '; // avoid >> - break; + if (templdepth == 0) { + if (*t == '>') + result += ' '; // avoid >> + break; + } + tt = t; } } } diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index 6b34b5f..d193b2e 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -247,6 +247,14 @@ void *QThreadPrivate::start(void *arg) data->symbian_thread_handle = RThread(); TThreadId threadId = data->symbian_thread_handle.Id(); data->symbian_thread_handle.Open(threadId); + // On symbian, threads other than the main thread are non critical by default + // This means a worker thread can crash without crashing the application - to + // use this feature, we would need to use RThread::Logon in the main thread + // to catch abnormal thread exit and emit the finished signal. + // For the sake of cross platform consistency, we set the thread as process critical + // - advanced users who want the symbian behaviour can change the critical + // attribute of the thread again once the app gains control in run() + User::SetCritical(User::EProcessCritical); #endif pthread_once(¤t_thread_data_once, create_current_thread_data_key); diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index ae8aad6..ab7530d 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -1843,7 +1843,7 @@ QTime QTime::fromString(const QString& s, Qt::DateFormat f) const QString msec_s(QLatin1String("0.") + s.mid(9, 4)); const float msec(msec_s.toFloat(&ok)); if (!ok) - return QTime(); + return QTime(hour, minute, second, 0); return QTime(hour, minute, second, qMin(qRound(msec * 1000.0), 999)); } } @@ -3304,12 +3304,37 @@ QDateTime QDateTime::fromString(const QString& s, Qt::DateFormat f) if (tmp.size() == 10) return QDateTime(date); + tmp = tmp.mid(11); + // Recognize UTC specifications if (tmp.endsWith(QLatin1Char('Z'))) { ts = Qt::UTC; tmp.chop(1); } - return QDateTime(date, QTime::fromString(tmp.mid(11), Qt::ISODate), ts); + + // Recognize timezone specifications + QRegExp rx(QLatin1String("[+-]")); + if (tmp.contains(rx)) { + int idx = tmp.indexOf(rx); + QString tmp2 = tmp.mid(idx); + tmp = tmp.left(idx); + bool ok = true; + int ntzhour = 1; + int ntzminute = 3; + if ( tmp2.indexOf(QLatin1Char(':')) == 3 ) + ntzminute = 4; + const int tzhour(tmp2.mid(ntzhour, 2).toInt(&ok)); + const int tzminute(tmp2.mid(ntzminute, 2).toInt(&ok)); + QTime tzt(tzhour, tzminute); + int utcOffset = (tzt.hour() * 60 + tzt.minute()) * 60; + if ( utcOffset != 0 ) { + ts = Qt::OffsetFromUTC; + QDateTime dt(date, QTime::fromString(tmp, Qt::ISODate), ts); + dt.setUtcOffset( utcOffset * (tmp2.startsWith(QLatin1Char('-')) ? -1 : 1) ); + return dt; + } + } + return QDateTime(date, QTime::fromString(tmp, Qt::ISODate), ts); } case Qt::SystemLocaleDate: case Qt::SystemLocaleShortDate: diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 58d2dcb..0ed9d5d 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -58,8 +58,7 @@ QT_BEGIN_HEADER #endif // SSE intrinsics -#if defined(QT_HAVE_SSE2) && !defined(QT_BOOTSTRAPPED) && (defined(__SSE2__) \ - || (defined(Q_CC_MSVC) && (defined(_M_X64) || _M_IX86_FP == 2))) +#if defined(QT_HAVE_SSE2) && (defined(__SSE2__) || defined(Q_CC_MSVC)) #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 @@ -73,8 +72,10 @@ QT_BEGIN_HEADER # include <emmintrin.h> #endif +#if !defined(QT_BOOTSTRAPPED) && (!defined(Q_CC_MSVC) || (defined(_M_X64) || _M_IX86_FP == 2)) #define QT_ALWAYS_HAVE_SSE2 #endif +#endif // defined(QT_HAVE_SSE2) && (defined(__SSE2__) || defined(Q_CC_MSVC)) // NEON intrinsics #if defined(QT_HAVE_NEON) diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index e579dd5..d81ab04 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -89,27 +89,8 @@ else:unix:SOURCES += tools/qelapsedtimer_unix.cpp else:win32:SOURCES += tools/qelapsedtimer_win.cpp else:SOURCES += tools/qelapsedtimer_generic.cpp -#zlib support -contains(QT_CONFIG, zlib) { - wince*: DEFINES += NO_ERRNO_H - INCLUDEPATH += ../3rdparty/zlib - SOURCES+= \ - ../3rdparty/zlib/adler32.c \ - ../3rdparty/zlib/compress.c \ - ../3rdparty/zlib/crc32.c \ - ../3rdparty/zlib/deflate.c \ - ../3rdparty/zlib/gzio.c \ - ../3rdparty/zlib/inffast.c \ - ../3rdparty/zlib/inflate.c \ - ../3rdparty/zlib/inftrees.c \ - ../3rdparty/zlib/trees.c \ - ../3rdparty/zlib/uncompr.c \ - ../3rdparty/zlib/zutil.c -} else:!contains(QT_CONFIG, no-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} +contains(QT_CONFIG, zlib):include($$PWD/../../3rdparty/zlib.pri) +else:include($$PWD/../../3rdparty/zlib_dependency.pri) DEFINES += HB_EXPORT=Q_CORE_EXPORT INCLUDEPATH += ../3rdparty/harfbuzz/src diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 432b5d6..872f6cb 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -1,5 +1,10 @@ ============================================================================= -The changes below are pre Qt 4.7.0 RC +The changes below are pre Qt 4.7.0 tech preview + +TextInput + - copy(), cut() and paste() functions added + +The changes below are pre Qt 4.7.0 beta 2 QDeclarativeView - initialSize() function added @@ -14,8 +19,13 @@ Component: - isReady, isLoading, isError and isNull properties removed, use status property instead - errorsString() renamed to errorString() - -TextInput xToPosition -> positionAt (to match TextEdit.positionAt) +ListView: + - ListView.prevSection property changed to ListView.previousSection +TextInput: + - xToPosition -> positionAt (to match TextEdit.positionAt) +Image: + - pixmap property removed, use QDeclarativeImageProvider to serve pixmaps + instead QList<QObject*> models no longer provide properties in model object. The properties are now updated when the object changes. An object's property @@ -33,6 +43,10 @@ The QDeclarativeExpression constructor has changed from to QDeclarativeExpression(context, scope, expression, parent = 0) +QDeclarativeImageProvider::request() has been renamed to +QDeclarativeImageProvider::image() and the class can now provide +both qimages and qpixmaps, and qimages can be served synchronously + QML Viewer ------------ The standalone qml executable has been renamed back to Qml Viewer. Runtime warnings diff --git a/src/declarative/debugger/qdeclarativedebug.cpp b/src/declarative/debugger/qdeclarativedebug.cpp index cd5340b..b950aef 100644 --- a/src/declarative/debugger/qdeclarativedebug.cpp +++ b/src/declarative/debugger/qdeclarativedebug.cpp @@ -562,6 +562,54 @@ QDeclarativeDebugExpressionQuery *QDeclarativeEngineDebug::queryExpressionResult return query; } +bool QDeclarativeEngineDebug::setBindingForObject(int objectDebugId, const QString &propertyName, + const QVariant &bindingExpression, + bool isLiteralValue) +{ + Q_D(QDeclarativeEngineDebug); + + if (d->client->isConnected() && objectDebugId != -1) { + QByteArray message; + QDataStream ds(&message, QIODevice::WriteOnly); + ds << QByteArray("SET_BINDING") << objectDebugId << propertyName << bindingExpression << isLiteralValue; + d->client->sendMessage(message); + return true; + } else { + return false; + } +} + +bool QDeclarativeEngineDebug::resetBindingForObject(int objectDebugId, const QString &propertyName) +{ + Q_D(QDeclarativeEngineDebug); + + if (d->client->isConnected() && objectDebugId != -1) { + QByteArray message; + QDataStream ds(&message, QIODevice::WriteOnly); + ds << QByteArray("RESET_BINDING") << objectDebugId << propertyName; + d->client->sendMessage(message); + return true; + } else { + return false; + } +} + +bool QDeclarativeEngineDebug::setMethodBody(int objectDebugId, const QString &methodName, + const QString &methodBody) +{ + Q_D(QDeclarativeEngineDebug); + + if (d->client->isConnected() && objectDebugId != -1) { + QByteArray message; + QDataStream ds(&message, QIODevice::WriteOnly); + ds << QByteArray("SET_METHOD_BODY") << objectDebugId << methodName << methodBody; + d->client->sendMessage(message); + return true; + } else { + return false; + } +} + QDeclarativeDebugWatch::QDeclarativeDebugWatch(QObject *parent) : QObject(parent), m_state(Waiting), m_queryId(-1), m_client(0), m_objectDebugId(-1) { @@ -698,7 +746,7 @@ QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery() QDeclarativeEngineDebugPrivate::remove(m_client, this); } -QString QDeclarativeDebugExpressionQuery::expression() const +QVariant QDeclarativeDebugExpressionQuery::expression() const { return m_expr; } diff --git a/src/declarative/debugger/qdeclarativedebug_p.h b/src/declarative/debugger/qdeclarativedebug_p.h index 4ead232..2e79c5d 100644 --- a/src/declarative/debugger/qdeclarativedebug_p.h +++ b/src/declarative/debugger/qdeclarativedebug_p.h @@ -94,6 +94,10 @@ public: QDeclarativeDebugExpressionQuery *queryExpressionResult(int objectDebugId, const QString &expr, QObject *parent = 0); + bool setBindingForObject(int objectDebugId, const QString &propertyName, + const QVariant &bindingExpression, bool isLiteralValue); + bool resetBindingForObject(int objectDebugId, const QString &propertyName); + bool setMethodBody(int objectDebugId, const QString &methodName, const QString &methodBody); private: Q_DECLARE_PRIVATE(QDeclarativeEngineDebug) @@ -348,7 +352,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeDebugExpressionQuery : public QDeclarativ Q_OBJECT public: virtual ~QDeclarativeDebugExpressionQuery(); - QString expression() const; + QVariant expression() const; QVariant result() const; private: friend class QDeclarativeEngineDebug; @@ -356,7 +360,7 @@ private: QDeclarativeDebugExpressionQuery(QObject *); QDeclarativeEngineDebug *m_client; int m_queryId; - QString m_expr; + QVariant m_expr; QVariant m_result; }; diff --git a/src/declarative/graphicsitems/qdeclarativeanimatedimage_p.h b/src/declarative/graphicsitems/qdeclarativeanimatedimage_p.h index 5981cd3..ec361ea 100644 --- a/src/declarative/graphicsitems/qdeclarativeanimatedimage_p.h +++ b/src/declarative/graphicsitems/qdeclarativeanimatedimage_p.h @@ -55,7 +55,7 @@ QT_MODULE(Declarative) class QMovie; class QDeclarativeAnimatedImagePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeAnimatedImage : public QDeclarativeImage +class Q_AUTOTEST_EXPORT QDeclarativeAnimatedImage : public QDeclarativeImage { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp index d4ca9eb..44c206b 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp @@ -94,8 +94,6 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage() Q_D(QDeclarativeBorderImage); if (d->sciReply) d->sciReply->deleteLater(); - if (d->sciPendingPixmapCache) - QDeclarativePixmapCache::cancel(d->sciurl, this); } /*! \qmlproperty enumeration BorderImage::status @@ -164,15 +162,6 @@ void QDeclarativeBorderImage::setSource(const QUrl &url) d->sciReply = 0; } - if (d->pendingPixmapCache) { - QDeclarativePixmapCache::cancel(d->url, this); - d->pendingPixmapCache = false; - } - if (d->sciPendingPixmapCache) { - QDeclarativePixmapCache::cancel(d->sciurl, this); - d->sciPendingPixmapCache = false; - } - d->url = url; d->sciurl = QUrl(); emit sourceChanged(d->url); @@ -190,7 +179,7 @@ void QDeclarativeBorderImage::load() } if (d->url.isEmpty()) { - d->pix = QPixmap(); + d->pix.clear(); d->status = Null; setImplicitWidth(0); setImplicitHeight(0); @@ -224,26 +213,24 @@ void QDeclarativeBorderImage::load() thisSciRequestFinished, Qt::DirectConnection); } } else { - QSize impsize; - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &errorString, &impsize, d->async); - if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url); - d->pendingPixmapCache = true; - connect(reply, SIGNAL(finished()), this, SLOT(requestFinished())); - connect(reply, SIGNAL(downloadProgress(qint64,qint64)), - this, SLOT(requestProgress(qint64,qint64))); + + d->pix.load(qmlEngine(this), d->url, d->async); + + if (d->pix.isLoading()) { + d->pix.connectFinished(this, SLOT(requestFinished())); + d->pix.connectDownloadProgress(this, SLOT(requestProgress(qint64,qint64))); } else { - //### should be unified with requestFinished + QSize impsize = d->pix.implicitSize(); setImplicitWidth(impsize.width()); setImplicitHeight(impsize.height()); - if (d->pix.isNull()) { + if (d->pix.isReady()) { + d->status = Ready; + } else { d->status = Error; - qmlInfo(this) << errorString; + qmlInfo(this) << d->pix.error(); } - if (d->status == Loading) - d->status = Ready; + d->progress = 1.0; emit statusChanged(d->status); emit progressChanged(d->progress); @@ -343,47 +330,40 @@ void QDeclarativeBorderImage::setGridScaledImage(const QDeclarativeGridScaledIma d->verticalTileMode = sci.verticalTileRule(); d->sciurl = d->url.resolved(QUrl(sci.pixmapUrl())); - QSize impsize; - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->sciurl, &d->pix, &errorString, &impsize, d->async); - if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->sciurl); - d->sciPendingPixmapCache = true; - - static int replyDownloadProgress = -1; - static int replyFinished = -1; + + d->pix.load(qmlEngine(this), d->sciurl, d->async); + + if (d->pix.isLoading()) { static int thisRequestProgress = -1; static int thisRequestFinished = -1; - if (replyDownloadProgress == -1) { - replyDownloadProgress = - QDeclarativePixmapReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)"); - replyFinished = - QDeclarativePixmapReply::staticMetaObject.indexOfSignal("finished()"); + if (thisRequestProgress == -1) { thisRequestProgress = QDeclarativeBorderImage::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QDeclarativeBorderImage::staticMetaObject.indexOfSlot("requestFinished()"); } - QMetaObject::connect(reply, replyFinished, this, - thisRequestFinished, Qt::DirectConnection); - QMetaObject::connect(reply, replyDownloadProgress, this, - thisRequestProgress, Qt::DirectConnection); + d->pix.connectFinished(this, thisRequestFinished); + d->pix.connectDownloadProgress(this, thisRequestProgress); + } else { - //### should be unified with requestFinished + + QSize impsize = d->pix.implicitSize(); setImplicitWidth(impsize.width()); setImplicitHeight(impsize.height()); - if (d->pix.isNull()) { + if (d->pix.isReady()) { + d->status = Ready; + } else { d->status = Error; - qmlInfo(this) << errorString; + qmlInfo(this) << d->pix.error(); } - if (d->status == Loading) - d->status = Ready; + d->progress = 1.0; emit statusChanged(d->status); emit progressChanged(1.0); update(); + } } } @@ -392,27 +372,17 @@ void QDeclarativeBorderImage::requestFinished() { Q_D(QDeclarativeBorderImage); - QSize impsize; - if (d->url.path().endsWith(QLatin1String(".sci"))) { - d->sciPendingPixmapCache = false; - QString errorString; - if (QDeclarativePixmapCache::get(d->sciurl, &d->pix, &errorString, &impsize, d->async) != QDeclarativePixmapReply::Ready) { - d->status = Error; - qmlInfo(this) << errorString; - } + QSize impsize = d->pix.implicitSize(); + if (d->pix.isError()) { + d->status = Error; + qmlInfo(this) << d->pix.error(); } else { - d->pendingPixmapCache = false; - QString errorString; - if (QDeclarativePixmapCache::get(d->url, &d->pix, &errorString, &impsize, d->async) != QDeclarativePixmapReply::Ready) { - d->status = Error; - qmlInfo(this) << errorString; - } + d->status = Ready; } + setImplicitWidth(impsize.width()); setImplicitHeight(impsize.height()); - if (d->status == Loading) - d->status = Ready; d->progress = 1.0; emit statusChanged(d->status); emit progressChanged(1.0); diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage_p.h b/src/declarative/graphicsitems/qdeclarativeborderimage_p.h index 07f049e..9944cbe 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage_p.h +++ b/src/declarative/graphicsitems/qdeclarativeborderimage_p.h @@ -54,7 +54,7 @@ QT_MODULE(Declarative) class QDeclarativeScaleGrid; class QDeclarativeGridScaledImage; class QDeclarativeBorderImagePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeBorderImage : public QDeclarativeImageBase +class Q_AUTOTEST_EXPORT QDeclarativeBorderImage : public QDeclarativeImageBase { Q_OBJECT Q_ENUMS(TileMode) diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h b/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h index 01e4a00..65583d6 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h @@ -66,7 +66,6 @@ class QDeclarativeBorderImagePrivate : public QDeclarativeImageBasePrivate public: QDeclarativeBorderImagePrivate() : border(0), sciReply(0), - sciPendingPixmapCache(false), horizontalTileMode(QDeclarativeBorderImage::Stretch), verticalTileMode(QDeclarativeBorderImage::Stretch), redirectCount(0) @@ -97,7 +96,6 @@ public: QDeclarativeScaleGrid *border; QUrl sciurl; QNetworkReply *sciReply; - bool sciPendingPixmapCache; QDeclarativeBorderImage::TileMode horizontalTileMode; QDeclarativeBorderImage::TileMode verticalTileMode; int redirectCount; diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index c3898da..f32d62b 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -122,7 +122,7 @@ void QDeclarativeFlickableVisibleArea::updateVisible() QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate() - : viewport(new QDeclarativeItem) + : contentItem(new QDeclarativeItem) , hData(this, &QDeclarativeFlickablePrivate::setRoundedViewportX) , vData(this, &QDeclarativeFlickablePrivate::setRoundedViewportY) , flickingHorizontally(false), flickingVertically(false) @@ -140,8 +140,8 @@ QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate() void QDeclarativeFlickablePrivate::init() { Q_Q(QDeclarativeFlickable); - QDeclarative_setParent_noEvent(viewport, q); - viewport->setParentItem(q); + QDeclarative_setParent_noEvent(contentItem, q); + contentItem->setParentItem(q); static int timelineUpdatedIdx = -1; static int timelineCompletedIdx = -1; static int flickableTickedIdx = -1; @@ -158,7 +158,7 @@ void QDeclarativeFlickablePrivate::init() q, flickableMovementEndingIdx, Qt::DirectConnection); q->setAcceptedMouseButtons(Qt::LeftButton); q->setFiltersChildEvents(true); - QDeclarativeItemPrivate *viewportPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(viewport)); + QDeclarativeItemPrivate *viewportPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(contentItem)); viewportPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); lastPosTime.invalidate(); } @@ -182,7 +182,7 @@ qreal QDeclarativeFlickablePrivate::overShootDistance(qreal velocity, qreal size void QDeclarativeFlickablePrivate::itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeom, const QRectF &oldGeom) { Q_Q(QDeclarativeFlickable); - if (item == viewport) { + if (item == contentItem) { if (newGeom.x() != oldGeom.x()) emit q->contentXChanged(); if (newGeom.y() != oldGeom.y()) @@ -579,10 +579,28 @@ void QDeclarativeFlickable::ticked() viewportMoved(); } -QDeclarativeItem *QDeclarativeFlickable::viewport() +/*! + \qmlproperty Item Flickable::contentItem + + The internal item that contains the Items to be moved in the Flickable. + + Items declared as children of a Flickable are automatically parented to the Flickable's contentItem. + + Items created dynamically need to be explicitly parented to the \e contentItem: + \code + Flickable { + id: myFlickable + function addItem(file) { + var component = Qt.createComponent(file) + component.createObject(myFlickable.contentItem); + } + } + \endcode +*/ +QDeclarativeItem *QDeclarativeFlickable::contentItem() { Q_D(QDeclarativeFlickable); - return d->viewport; + return d->contentItem; } QDeclarativeFlickableVisibleArea *QDeclarativeFlickable::visibleArea() @@ -623,18 +641,6 @@ void QDeclarativeFlickable::setFlickableDirection(FlickableDirection direction) } } -QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickDirection() const -{ - qmlInfo(this) << "'flickDirection' is deprecated. Please use 'flickableDirection' instead."; - return flickableDirection(); -} - -void QDeclarativeFlickable::setFlickDirection(FlickableDirection direction) -{ - qmlInfo(this) << "'flickDirection' is deprecated. Please use 'flickableDirection' instead."; - setFlickableDirection(direction); -} - void QDeclarativeFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event) { if (interactive && timeline.isActive() && (qAbs(hData.velocity) > 10 || qAbs(vData.velocity) > 10)) @@ -899,12 +905,12 @@ void QDeclarativeFlickablePrivate::clearDelayedPress() void QDeclarativeFlickablePrivate::setRoundedViewportX(qreal x) { - viewport->setX(qRound(x)); + contentItem->setX(qRound(x)); } void QDeclarativeFlickablePrivate::setRoundedViewportY(qreal y) { - viewport->setY(qRound(y)); + contentItem->setY(qRound(y)); } void QDeclarativeFlickable::timerEvent(QTimerEvent *event) @@ -953,20 +959,19 @@ void QDeclarativeFlickable::viewportMoved() { Q_D(QDeclarativeFlickable); - int elapsed = QDeclarativeItemPrivate::restart(d->velocityTime); - if (!elapsed) - return; - qreal prevY = d->lastFlickablePosition.x(); qreal prevX = d->lastFlickablePosition.y(); d->velocityTimeline.clear(); if (d->pressed) { - 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); + int elapsed = QDeclarativeItemPrivate::restart(d->velocityTime); + if (elapsed > 0) { + 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->hData.move.value()) * 1000 / (d->timeline.time() - d->vTime); @@ -991,13 +996,13 @@ void QDeclarativeFlickable::geometryChanged(const QRectF &newGeometry, bool changed = false; if (newGeometry.width() != oldGeometry.width()) { if (d->hData.viewSize < 0) { - d->viewport->setWidth(width()); + d->contentItem->setWidth(width()); emit contentWidthChanged(); } } if (newGeometry.height() != oldGeometry.height()) { if (d->vData.viewSize < 0) { - d->viewport->setHeight(height()); + d->contentItem->setHeight(height()); emit contentHeightChanged(); } } @@ -1018,7 +1023,7 @@ void QDeclarativeFlickablePrivate::data_append(QDeclarativeListProperty<QObject> { QDeclarativeItem *i = qobject_cast<QDeclarativeItem *>(o); if (i) - i->setParentItem(static_cast<QDeclarativeFlickablePrivate*>(prop->data)->viewport); + i->setParentItem(static_cast<QDeclarativeFlickablePrivate*>(prop->data)->contentItem); else o->setParent(prop->object); } @@ -1072,7 +1077,7 @@ QDeclarativeListProperty<QObject> QDeclarativeFlickable::flickableData() QDeclarativeListProperty<QGraphicsObject> QDeclarativeFlickable::flickableChildren() { Q_D(QDeclarativeFlickable); - return QGraphicsItemPrivate::get(d->viewport)->childrenList(); + return QGraphicsItemPrivate::get(d->contentItem)->childrenList(); } /*! @@ -1142,9 +1147,9 @@ void QDeclarativeFlickable::setContentWidth(qreal w) return; d->hData.viewSize = w; if (w < 0) - d->viewport->setWidth(width()); + d->contentItem->setWidth(width()); else - d->viewport->setWidth(w); + d->contentItem->setWidth(w); // Make sure that we're entirely in view. if (!d->pressed && !d->movingHorizontally && !d->movingVertically) { int oldDuration = d->fixupDuration; @@ -1169,9 +1174,9 @@ void QDeclarativeFlickable::setContentHeight(qreal h) return; d->vData.viewSize = h; if (h < 0) - d->viewport->setHeight(height()); + d->contentItem->setHeight(height()); else - d->viewport->setHeight(h); + d->contentItem->setHeight(h); // Make sure that we're entirely in view. if (!d->pressed && !d->movingHorizontally && !d->movingVertically) { int oldDuration = d->fixupDuration; @@ -1377,7 +1382,7 @@ bool QDeclarativeFlickable::isFlickingVertically() const This property holds the time to delay (ms) delivering a press to children of the Flickable. This can be useful where reacting - to a press before a flicking action has undesireable effects. + to a press before a flicking action has undesirable effects. If the flickable is dragged/flicked before the delay times out the press event will not be delivered. If the button is released diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h index d40a0dc..44f2bcf 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h @@ -52,7 +52,7 @@ QT_MODULE(Declarative) class QDeclarativeFlickablePrivate; class QDeclarativeFlickableVisibleArea; -class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeFlickable : public QDeclarativeItem { Q_OBJECT @@ -60,6 +60,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight NOTIFY contentHeightChanged) Q_PROPERTY(qreal contentX READ contentX WRITE setContentX NOTIFY contentXChanged) Q_PROPERTY(qreal contentY READ contentY WRITE setContentY NOTIFY contentYChanged) + Q_PROPERTY(QDeclarativeItem *contentItem READ contentItem CONSTANT) Q_PROPERTY(qreal horizontalVelocity READ horizontalVelocity NOTIFY horizontalVelocityChanged) Q_PROPERTY(qreal verticalVelocity READ verticalVelocity NOTIFY verticalVelocityChanged) @@ -73,7 +74,6 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem Q_PROPERTY(bool flicking READ isFlicking NOTIFY flickingChanged) Q_PROPERTY(bool flickingHorizontally READ isFlickingHorizontally NOTIFY flickingHorizontallyChanged) Q_PROPERTY(bool flickingVertically READ isFlickingVertically NOTIFY flickingVerticallyChanged) - Q_PROPERTY(FlickableDirection flickDirection READ flickDirection WRITE setFlickDirection NOTIFY flickableDirectionChanged) // deprecated Q_PROPERTY(FlickableDirection flickableDirection READ flickableDirection WRITE setFlickableDirection NOTIFY flickableDirectionChanged) Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged) @@ -111,10 +111,10 @@ public: void setContentHeight(qreal); qreal contentX() const; - void setContentX(qreal pos); + virtual void setContentX(qreal pos); qreal contentY() const; - void setContentY(qreal pos); + virtual void setContentY(qreal pos); bool isMoving() const; bool isMovingHorizontally() const; @@ -143,11 +143,9 @@ public: bool isAtYEnd() const; bool isAtYBeginning() const; - QDeclarativeItem *viewport(); + QDeclarativeItem *contentItem(); enum FlickableDirection { AutoFlickDirection=0x00, HorizontalFlick=0x01, VerticalFlick=0x02, HorizontalAndVerticalFlick=0x03 }; - FlickableDirection flickDirection() const; // deprecated - void setFlickDirection(FlickableDirection); // deprecated FlickableDirection flickableDirection() const; void setFlickableDirection(FlickableDirection); diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h index 0b80b1f..1bde021 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h @@ -125,7 +125,7 @@ public: void itemGeometryChanged(QDeclarativeItem *, const QRectF &, const QRectF &); public: - QDeclarativeItem *viewport; + QDeclarativeItem *contentItem; AxisData hData; AxisData vData; diff --git a/src/declarative/graphicsitems/qdeclarativeflipable_p.h b/src/declarative/graphicsitems/qdeclarativeflipable_p.h index fd0119b..78eaf53 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflipable_p.h @@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeFlipablePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeFlipable : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeFlipable : public QDeclarativeItem { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativefocuspanel_p.h b/src/declarative/graphicsitems/qdeclarativefocuspanel_p.h index d9ca0b0..99bd540 100644 --- a/src/declarative/graphicsitems/qdeclarativefocuspanel_p.h +++ b/src/declarative/graphicsitems/qdeclarativefocuspanel_p.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class Q_DECLARATIVE_EXPORT QDeclarativeFocusPanel : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeFocusPanel : public QDeclarativeItem { Q_OBJECT Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged) diff --git a/src/declarative/graphicsitems/qdeclarativefocusscope.cpp b/src/declarative/graphicsitems/qdeclarativefocusscope.cpp index 4bd2a86..e8e6fa2 100644 --- a/src/declarative/graphicsitems/qdeclarativefocusscope.cpp +++ b/src/declarative/graphicsitems/qdeclarativefocusscope.cpp @@ -54,6 +54,8 @@ QT_BEGIN_NAMESPACE Focus scopes assist in keyboard focus handling when building reusable QML components. All the details are covered in the \l {qmlfocus}{keyboard focus documentation}. + + \sa {declarative/keyinteraction/focus}{Keyboard focus example} */ /*! diff --git a/src/declarative/graphicsitems/qdeclarativefocusscope_p.h b/src/declarative/graphicsitems/qdeclarativefocusscope_p.h index c65a07c..363167e 100644 --- a/src/declarative/graphicsitems/qdeclarativefocusscope_p.h +++ b/src/declarative/graphicsitems/qdeclarativefocusscope_p.h @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) //### set component root as focusscope -class Q_DECLARATIVE_EXPORT QDeclarativeFocusScope : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeFocusScope : public QDeclarativeItem { Q_OBJECT Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeItem) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 3792595..14a4f08 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -151,9 +151,9 @@ public: void setPosition(qreal pos) { Q_Q(QDeclarativeGridView); if (flow == QDeclarativeGridView::LeftToRight) - q->setContentY(pos); + q->QDeclarativeFlickable::setContentY(pos); else - q->setContentX(pos); + q->QDeclarativeFlickable::setContentX(pos); } int size() const { Q_Q(const QDeclarativeGridView); @@ -421,10 +421,10 @@ FxGridItem *QDeclarativeGridViewPrivate::createItem(int modelIndex) if (model->completePending()) { // complete listItem->item->setZValue(1); - listItem->item->setParentItem(q->viewport()); + listItem->item->setParentItem(q->contentItem()); model->completeItem(); } else { - listItem->item->setParentItem(q->viewport()); + listItem->item->setParentItem(q->contentItem()); } unrequestedItems.remove(listItem->item); } @@ -716,12 +716,12 @@ void QDeclarativeGridViewPrivate::createHighlight() } } else { item = new QDeclarativeItem; - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); highlight = new FxGridItem(item, q); highlightXAnimator = new QSmoothedAnimation(q); highlightXAnimator->target = QDeclarativeProperty(highlight->item, QLatin1String("x")); @@ -808,8 +808,8 @@ void QDeclarativeGridViewPrivate::updateFooter() delete context; } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); item->setZValue(1); QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); @@ -854,8 +854,8 @@ void QDeclarativeGridViewPrivate::updateHeader() delete context; } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); item->setZValue(1); QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); @@ -1099,6 +1099,8 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m 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 {declarative/modelviews/gridview}{GridView example} */ QDeclarativeGridView::QDeclarativeGridView(QDeclarativeItem *parent) : QDeclarativeFlickable(*(new QDeclarativeGridViewPrivate), parent) @@ -1214,6 +1216,11 @@ void QDeclarativeGridView::setModel(const QVariant &model) } else { d->moveReason = QDeclarativeGridViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->colPos(), d->currentItem->rowPos()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeGridViewPrivate::Other; } } connect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); @@ -1272,6 +1279,11 @@ void QDeclarativeGridView::setDelegate(QDeclarativeComponent *delegate) refill(); d->moveReason = QDeclarativeGridViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->colPos(), d->currentItem->rowPos()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeGridViewPrivate::Other; } emit delegateChanged(); } @@ -1298,7 +1310,6 @@ void QDeclarativeGridView::setCurrentIndex(int index) return; if (isComponentComplete() && d->isValid() && index != d->currentIndex && index < d->model->count() && index >= 0) { d->moveReason = QDeclarativeGridViewPrivate::SetIndex; - cancelFlick(); d->updateCurrent(index); } else if (index != d->currentIndex) { d->currentIndex = index; @@ -1379,7 +1390,7 @@ void QDeclarativeGridView::setHighlight(QDeclarativeComponent *highlight) highlight is not moved by the view, and any movement must be implemented by the highlight. - Here is a highlight with its motion defined by a \l {SpringFollow} item: + Here is a highlight with its motion defined by a \l {SpringAnimation} item: \snippet doc/src/snippets/declarative/gridview/gridview.qml highlightFollowsCurrentItem */ @@ -1742,6 +1753,22 @@ void QDeclarativeGridView::setHeader(QDeclarativeComponent *header) } } +void QDeclarativeGridView::setContentX(qreal pos) +{ + Q_D(QDeclarativeGridView); + // Positioning the view manually should override any current movement state + d->moveReason = QDeclarativeGridViewPrivate::Other; + QDeclarativeFlickable::setContentX(pos); +} + +void QDeclarativeGridView::setContentY(qreal pos) +{ + Q_D(QDeclarativeGridView); + // Positioning the view manually should override any current movement state + d->moveReason = QDeclarativeGridViewPrivate::Other; + QDeclarativeFlickable::setContentY(pos); +} + bool QDeclarativeGridView::event(QEvent *event) { Q_D(QDeclarativeGridView); @@ -1919,6 +1946,8 @@ void QDeclarativeGridView::keyPressEvent(QKeyEvent *event) Move the currentIndex up one item in the view. The current index will wrap if keyNavigationWraps is true and it is currently at the end. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeGridView::moveCurrentIndexUp() { @@ -1942,6 +1971,8 @@ void QDeclarativeGridView::moveCurrentIndexUp() Move the currentIndex down one item in the view. The current index will wrap if keyNavigationWraps is true and it is currently at the end. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeGridView::moveCurrentIndexDown() { @@ -1965,6 +1996,8 @@ void QDeclarativeGridView::moveCurrentIndexDown() Move the currentIndex left one item in the view. The current index will wrap if keyNavigationWraps is true and it is currently at the end. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeGridView::moveCurrentIndexLeft() { @@ -1988,6 +2021,8 @@ void QDeclarativeGridView::moveCurrentIndexLeft() Move the currentIndex right one item in the view. The current index will wrap if keyNavigationWraps is true and it is currently at the end. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeGridView::moveCurrentIndexRight() { @@ -2028,6 +2063,14 @@ void QDeclarativeGridView::moveCurrentIndexRight() at a particular index. This is unreliable since removing items from the start of the view does not cause all other items to be repositioned. The correct way to bring an item into view is with \c positionViewAtIndex. + + \bold Note: methods should only be called after the Component has completed. To position + the view at startup, this method should be called by Component.onCompleted. For + example, to position the view at the end: + + \code + Component.onCompleted: positionViewAtIndex(count - 1, GridView.Beginning) + \endcode */ void QDeclarativeGridView::positionViewAtIndex(int index, int mode) { @@ -2037,6 +2080,8 @@ void QDeclarativeGridView::positionViewAtIndex(int index, int mode) if (mode < Beginning || mode > Contain) return; + if (d->layoutScheduled) + d->layout(); qreal pos = d->position(); FxGridItem *item = d->visibleItem(index); if (!item) { @@ -2079,6 +2124,8 @@ void QDeclarativeGridView::positionViewAtIndex(int index, int mode) pos = qMin(pos, maxExtent); qreal minExtent = d->flow == QDeclarativeGridView::LeftToRight ? -minYExtent() : -minXExtent(); pos = qMax(pos, minExtent); + d->moveReason = QDeclarativeGridViewPrivate::Other; + cancelFlick(); d->setPosition(pos); } d->fixupPosition(); @@ -2093,6 +2140,8 @@ void QDeclarativeGridView::positionViewAtIndex(int index, int mode) If the item is outside the visible area, -1 is returned, regardless of whether an item will exist at that point when scrolled into view. + + \bold Note: methods should only be called after the Component has completed. */ int QDeclarativeGridView::indexAt(int x, int y) const { @@ -2113,10 +2162,16 @@ void QDeclarativeGridView::componentComplete() d->updateGrid(); if (d->isValid()) { refill(); + d->moveReason = QDeclarativeGridViewPrivate::SetIndex; if (d->currentIndex < 0) d->updateCurrent(0); else d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->colPos(), d->currentItem->rowPos()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeGridViewPrivate::Other; d->fixupPosition(); } } @@ -2126,20 +2181,17 @@ void QDeclarativeGridView::trackedPositionChanged() Q_D(QDeclarativeGridView); if (!d->trackedItem || !d->currentItem) return; - if (!d->flickingHorizontally && !d->flickingVertically && !d->movingHorizontally && !d->movingVertically - && d->moveReason == QDeclarativeGridViewPrivate::SetIndex) { + if (d->moveReason == QDeclarativeGridViewPrivate::SetIndex) { const qreal trackedPos = d->trackedItem->rowPos(); const qreal viewPos = d->position(); + qreal pos = viewPos; 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 { - qreal pos = viewPos; if (trackedPos < d->startPosition() + d->highlightRangeStart) { pos = d->startPosition(); } else if (d->trackedItem->endRowPos() > d->endPosition() - d->size() + d->highlightRangeEnd) { @@ -2153,14 +2205,12 @@ void QDeclarativeGridView::trackedPositionChanged() 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()); + pos = 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()) @@ -2170,9 +2220,12 @@ void QDeclarativeGridView::trackedPositionChanged() if (d->rowSize() > d->size()) pos = d->currentItem->rowPos(); } - d->setPosition(pos); } } + if (viewPos != pos) { + cancelFlick(); + d->setPosition(pos); + } } } @@ -2385,8 +2438,11 @@ void QDeclarativeGridView::itemsRemoved(int modelIndex, int count) if (removedVisible && d->visibleItems.isEmpty()) { d->timeline.clear(); d->setPosition(0); - if (d->itemCount == 0) + if (d->itemCount == 0) { + d->updateHeader(); + d->updateFooter(); update(); + } } emit countChanged(); @@ -2517,6 +2573,12 @@ void QDeclarativeGridView::modelReset() refill(); d->moveReason = QDeclarativeGridViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->colPos(), d->currentItem->rowPos()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeGridViewPrivate::Other; + emit countChanged(); } diff --git a/src/declarative/graphicsitems/qdeclarativegridview_p.h b/src/declarative/graphicsitems/qdeclarativegridview_p.h index 021aad9..d6bbaf3 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview_p.h +++ b/src/declarative/graphicsitems/qdeclarativegridview_p.h @@ -52,7 +52,7 @@ QT_MODULE(Declarative) class QDeclarativeVisualModel; class QDeclarativeGridViewAttached; class QDeclarativeGridViewPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeGridView : public QDeclarativeFlickable +class Q_AUTOTEST_EXPORT QDeclarativeGridView : public QDeclarativeFlickable { Q_OBJECT Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeGridView) @@ -151,6 +151,9 @@ public: QDeclarativeComponent *header() const; void setHeader(QDeclarativeComponent *); + virtual void setContentX(qreal pos); + virtual void setContentY(qreal pos); + enum PositionMode { Beginning, Center, End, Visible, Contain }; Q_INVOKABLE void positionViewAtIndex(int index, int mode); diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp index ec08517..90738c8 100644 --- a/src/declarative/graphicsitems/qdeclarativeimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp @@ -65,18 +65,20 @@ QT_BEGIN_NAMESPACE Image { source: "qtlogo.png" } \endqml \endtable - - If a size is not specified explicitly, the Image element is sized to the loaded image. - Image elements can be stretched and tiled using the \l fillMode property. - If the image \l source is a network resource, the image is loaded asynchronous and the - \l progress and \l status properties are updated appropriately. Otherwise, if the image is - available locally, it is loaded immediately and the user interface is blocked until loading is - complete. (This is typically the correct behavior for user interface elements.) - For large local images, which do not need to be visible immediately, it may be preferable to - enable \l asynchronous loading. This loads the image in the background using a low priority thread. + If the \l {Image::width}{width} and \l{Image::height}{height} properties are not specified, + the Image element is automatically sized to the loaded image. Image elements can be + stretched and tiled using the \l fillMode property. + + By default, locally available images are loaded immediately, and the user interface + is blocked until loading is complete. If a large image is to be loaded, it may be + preferable to load the image in a low priority thread, by enabling the \l asynchronous + property. + + If the image is from a network rather than a local resource, it is automatically loaded + asynchronously, and the \l progress and \l status properties are updated as appropriate. - Images are cached and shared internally, so if several Image elements have the same source + Images are cached and shared internally, so if several Image elements have the same \l source, only one copy of the image will be loaded. \bold Note: Images are often the greatest user of memory in QML user interfaces. It is recommended @@ -84,7 +86,7 @@ QT_BEGIN_NAMESPACE size bounded via the \l sourceSize property. This is especially important for content that is loaded from external sources or provided by the user. - \sa {declarative/imageelements/image}{Image example} + \sa {declarative/imageelements/image}{Image example}, QDeclarativeImageProvider */ /*! @@ -114,19 +116,10 @@ QDeclarativeImage::~QDeclarativeImage() { } -/*! - \qmlproperty QPixmap Image::pixmap - - This property holds the QPixmap image to display. - - This is useful for displaying images provided by a C++ implementation, - for example, a model may provide a data role of type QPixmap. -*/ - QPixmap QDeclarativeImage::pixmap() const { Q_D(const QDeclarativeImage); - return d->pix; + return d->pix.pixmap(); } void QDeclarativeImage::setPixmap(const QPixmap &pix) @@ -140,7 +133,7 @@ void QDeclarativeImage::setPixmap(const QPixmap &pix) void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap) { Q_Q(QDeclarativeImage); - pix = pixmap; + pix.setPixmap(pixmap); q->setImplicitWidth(pix.width()); q->setImplicitHeight(pix.height()); @@ -199,6 +192,7 @@ void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap) fillMode: Image.PreserveAspectCrop smooth: true source: "qtlogo.png" + clip: true } \endqml @@ -220,6 +214,7 @@ void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap) Image { width: 120; height: 120 fillMode: Image.TileVertically + smooth: true source: "qtlogo.png" } \endqml @@ -231,11 +226,14 @@ void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap) Image { width: 120; height: 120 fillMode: Image.TileHorizontally + smooth: true source: "qtlogo.png" } \endqml \endtable + + \sa {declarative/imageelements/image}{Image example} */ QDeclarativeImage::FillMode QDeclarativeImage::fillMode() const { @@ -326,17 +324,34 @@ qreal QDeclarativeImage::paintedHeight() const /*! \qmlproperty QSize Image::sourceSize - This property holds the size of the loaded image, in pixels. + This property holds the actual width and height of the loaded image. - This is used to control the storage used by a loaded image. Unlike - the width and height properties, which scale the painting of the image, this property - affects the number of pixels stored. + Unlike the \l {Item::}{width} and \l {Item::}{height} properties, which scale + the painting of the image, this property sets the actual number of pixels + stored for the loaded image so that large images do not use more + memory than necessary. For example, this ensures the image is memory is no + larger than 1024x1024 pixels, regardless of the Image's \l {Item::}{width} and + \l {Item::}{height} values: + + \code + Rectangle { + width: ... + height: ... + + Image { + anchors.fill: parent + source: "reallyBigImage.jpg" + sourceSize.width: 1024 + sourceSize.height: 1024 + } + } + \endcode If the image's actual size is larger than the sourceSize, the image is scaled down. If only one dimension of the size is set to greater than 0, the other dimension is set in proportion to preserve the source image's aspect ratio. (The \l fillMode is independent of this.) - + If the source is an instrinsically scalable image (eg. SVG), this property determines the size of the loaded image regardless of intrinsic size. Avoid changing this property dynamically; rendering an SVG is \e slow compared @@ -346,34 +361,8 @@ qreal QDeclarativeImage::paintedHeight() const be no greater than this property specifies. For some formats (currently only JPEG), the whole image will never actually be loaded into memory. - \note \e{Changing this property dynamically will lead to the image source being reloaded, - potentially even from the network if it is not in the disk cache.} - - Here is an example that ensures the size of the image in memory is - no larger than 1024x1024 pixels, regardless of the size of the Image element. - - \code - Image { - anchors.fill: parent - source: "images/reallyBigImage.jpg" - sourceSize.width: 1024 - sourceSize.height: 1024 - } - \endcode - - The example below ensures the memory used by the image is no more than necessary - to display the image at the size of the Image element. - Of course if the Image element is resized a costly reload will be required, so - use this technique \e only when the Image size is fixed. - - \code - Image { - anchors.fill: parent - source: "images/reallyBigImage.jpg" - sourceSize.width: width - sourceSize.height: height - } - \endcode + \note \e {Changing this property dynamically causes the image source to be reloaded, + potentially even from the network, if it is not in the disk cache.} */ void QDeclarativeImage::updatePaintedGeometry() @@ -417,6 +406,8 @@ void QDeclarativeImage::geometryChanged(const QRectF &newGeometry, const QRectF Image can handle any image format supported by Qt, loaded from any URL scheme supported by Qt. The URL may be absolute, or relative to the URL of the component. + + \sa QDeclarativeImageProvider */ /*! @@ -426,7 +417,7 @@ void QDeclarativeImage::geometryChanged(const QRectF &newGeometry, const QRectF asynchronously in a separate thread. The default value is false, causing the user interface thread to block while the image is loaded. Setting \a asynchronous to true is useful where - maintaining a responsive user interface is more desireable + maintaining a responsive user interface is more desirable than having images immediately visible. Note that this property is only valid for images read from the @@ -517,7 +508,6 @@ 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 fa5b2a9..c8bb30b 100644 --- a/src/declarative/graphicsitems/qdeclarativeimage_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimage_p.h @@ -52,12 +52,11 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeImagePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeImage : public QDeclarativeImageBase +class Q_AUTOTEST_EXPORT QDeclarativeImage : public QDeclarativeImageBase { Q_OBJECT Q_ENUMS(FillMode) - Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap NOTIFY pixmapChanged DESIGNABLE false) Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged) Q_PROPERTY(qreal paintedWidth READ paintedWidth NOTIFY paintedGeometryChanged) Q_PROPERTY(qreal paintedHeight READ paintedHeight NOTIFY paintedGeometryChanged) @@ -79,7 +78,6 @@ public: void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); Q_SIGNALS: - void pixmapChanged(); void fillModeChanged(); void paintedGeometryChanged(); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp index c3f8195..67f2327 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp @@ -57,9 +57,6 @@ QDeclarativeImageBase::QDeclarativeImageBase(QDeclarativeImageBasePrivate &dd, Q QDeclarativeImageBase::~QDeclarativeImageBase() { - Q_D(QDeclarativeImageBase); - if (d->pendingPixmapCache) - QDeclarativePixmapCache::cancel(d->url, this); } QDeclarativeImageBase::Status QDeclarativeImageBase::status() const @@ -91,7 +88,6 @@ void QDeclarativeImageBase::setAsynchronous(bool async) } } - QUrl QDeclarativeImageBase::source() const { Q_D(const QDeclarativeImageBase); @@ -105,11 +101,6 @@ void QDeclarativeImageBase::setSource(const QUrl &url) if ((d->url.isEmpty() == url.isEmpty()) && url == d->url) return; - if (d->pendingPixmapCache) { - QDeclarativePixmapCache::cancel(d->url, this); - d->pendingPixmapCache = false; - } - d->url = url; emit sourceChanged(d->url); @@ -122,6 +113,7 @@ void QDeclarativeImageBase::setSourceSize(const QSize& size) Q_D(QDeclarativeImageBase); if (d->sourcesize == size) return; + d->sourcesize = size; emit sourceSizeChanged(); if (isComponentComplete()) @@ -143,7 +135,7 @@ void QDeclarativeImageBase::load() } if (d->url.isEmpty()) { - d->pix = QPixmap(); + d->pix.clear(); d->status = Null; setImplicitWidth(0); setImplicitHeight(0); @@ -152,48 +144,37 @@ void QDeclarativeImageBase::load() update(); } else { d->status = Loading; - int reqwidth = d->sourcesize.width(); - int reqheight = d->sourcesize.height(); - QSize impsize; - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &errorString, &impsize, d->async, reqwidth, reqheight); - if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url, reqwidth, reqheight); - d->pendingPixmapCache = true; - - static int replyDownloadProgress = -1; - static int replyFinished = -1; + + d->pix.load(qmlEngine(this), d->url, d->sourcesize, d->async); + + if (d->pix.isLoading()) { + static int thisRequestProgress = -1; static int thisRequestFinished = -1; - if (replyDownloadProgress == -1) { - replyDownloadProgress = - QDeclarativePixmapReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)"); - replyFinished = - QDeclarativePixmapReply::staticMetaObject.indexOfSignal("finished()"); + if (thisRequestProgress == -1) { thisRequestProgress = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestFinished()"); } - QMetaObject::connect(reply, replyFinished, this, - thisRequestFinished, Qt::DirectConnection); - QMetaObject::connect(reply, replyDownloadProgress, this, - thisRequestProgress, Qt::DirectConnection); + d->pix.connectFinished(this, thisRequestFinished); + d->pix.connectDownloadProgress(this, thisRequestProgress); + } else { - //### should be unified with requestFinished - if (status == QDeclarativePixmapReply::Ready) { - setImplicitWidth(impsize.width()); - setImplicitHeight(impsize.height()); + QSize impsize = d->pix.implicitSize(); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); - if (d->status == Loading) - d->status = Ready; + if (d->pix.isReady()) { + d->status = Ready; if (!d->sourcesize.isValid()) emit sourceSizeChanged(); + } else { d->status = Error; - qmlInfo(this) << errorString; + qmlInfo(this) << d->pix.error(); } d->progress = 1.0; emit statusChanged(d->status); @@ -201,6 +182,7 @@ void QDeclarativeImageBase::load() pixmapChange(); update(); } + } emit statusChanged(d->status); @@ -210,14 +192,13 @@ void QDeclarativeImageBase::requestFinished() { Q_D(QDeclarativeImageBase); - d->pendingPixmapCache = false; + QSize impsize = d->pix.implicitSize(); - QSize impsize; - QString errorString; - if (QDeclarativePixmapCache::get(d->url, &d->pix, &errorString, &impsize, d->async, d->sourcesize.width(), d->sourcesize.height()) != QDeclarativePixmapReply::Ready) { + if (d->pix.isError()) { d->status = Error; - qmlInfo(this) << errorString; + qmlInfo(this) << d->pix.error(); } + setImplicitWidth(impsize.width()); setImplicitHeight(impsize.height()); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h index 49b1c58..f5896b1 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h @@ -49,7 +49,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE class QDeclarativeImageBasePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeImageBase : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeImageBase : public QDeclarativeItem { Q_OBJECT Q_ENUMS(Status) diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h index 392c1db..aee8b28 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h @@ -54,6 +54,7 @@ // #include "private/qdeclarativeitem_p.h" +#include "private/qdeclarativepixmapcache_p.h" #include <QtCore/QPointer> @@ -68,18 +69,16 @@ public: QDeclarativeImageBasePrivate() : status(QDeclarativeImageBase::Null), progress(0.0), - pendingPixmapCache(false), async(false) { QGraphicsItemPrivate::flags = QGraphicsItemPrivate::flags & ~QGraphicsItem::ItemHasNoContents; } - QPixmap pix; + QDeclarativePixmap pix; QDeclarativeImageBase::Status status; QUrl url; qreal progress; QSize sourcesize; - bool pendingPixmapCache : 1; bool async : 1; }; diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 336010f..190b22c 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -149,7 +149,7 @@ QT_BEGIN_NAMESPACE } \endqml - \sa Rotate, Translate + \sa Rotation, Translate */ /*! @@ -196,6 +196,8 @@ QT_BEGIN_NAMESPACE \snippet doc/src/snippets/declarative/rotation.qml 0 \image axisrotation.png + + \sa {declarative/ui-components/dialcontrol}{Dial Control example}, {declarative/toys/clocks}{Clocks example} */ /*! @@ -345,6 +347,7 @@ void QDeclarativeContents::complete() void QDeclarativeContents::itemGeometryChanged(QDeclarativeItem *changed, const QRectF &newGeometry, const QRectF &oldGeometry) { + Q_UNUSED(changed) //### we can only pass changed if the left edge has moved left, or the right edge has moved right if (newGeometry.width() != oldGeometry.width() || newGeometry.x() != oldGeometry.x()) calcWidth(/*changed*/); @@ -1598,7 +1601,7 @@ QDeclarativeItem *QDeclarativeItem::parentItem() const Returns true if construction of the QML component is complete; otherwise returns false. - It is often desireable to delay some processing until the component is + It is often desirable to delay some processing until the component is completed. \sa componentComplete() @@ -1606,7 +1609,7 @@ QDeclarativeItem *QDeclarativeItem::parentItem() const bool QDeclarativeItem::isComponentComplete() const { Q_D(const QDeclarativeItem); - return d->_componentComplete; + return d->componentComplete; } void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty<QObject> *prop, QObject *o) @@ -1747,7 +1750,7 @@ QRectF QDeclarativeItem::childrenRect() Q_D(QDeclarativeItem); if (!d->_contents) { d->_contents = new QDeclarativeContents(this); - if (d->_componentComplete) + if (d->componentComplete) d->_contents->complete(); } return d->_contents->rectF(); @@ -2094,7 +2097,7 @@ QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline() const relationship with other items. Margins apply to top, bottom, left, right, and fill anchors. - The margins property can be used to set all of the various margins at once, to the same value. + The \c anchors.margins property can be used to set all of the various margins at once, to the same value. Offsets apply for horizontal center, vertical center, and baseline anchors. @@ -2129,10 +2132,12 @@ QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline() const \endqml \endtable - anchors.fill provides a convenient way for one item to have the + \c anchors.fill provides a convenient way for one item to have the same geometry as another item, and is equivalent to connecting all four directional anchors. + To clear an anchor value, set it to \c undefined. + \note You can only anchor an item to siblings or a parent. For more information see \l {anchor-layout}{Anchor Layouts}. @@ -2142,7 +2147,7 @@ QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline() const \property QDeclarativeItem::baselineOffset \brief The position of the item's baseline in local coordinates. - The baseline of a Text item is the imaginary line on which the text + The baseline of a \l Text item is the imaginary line on which the text sits. Controls containing text usually set their baseline to the baseline of their text. @@ -2151,19 +2156,19 @@ QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline() const qreal QDeclarativeItem::baselineOffset() const { Q_D(const QDeclarativeItem); - if (!d->_baselineOffset.isValid()) { + if (!d->baselineOffset.isValid()) { return 0.0; } else - return d->_baselineOffset; + return d->baselineOffset; } void QDeclarativeItem::setBaselineOffset(qreal offset) { Q_D(QDeclarativeItem); - if (offset == d->_baselineOffset) + if (offset == d->baselineOffset) return; - d->_baselineOffset = offset; + d->baselineOffset = offset; for(int ii = 0; ii < d->changeListeners.count(); ++ii) { const QDeclarativeItemPrivate::ChangeListener &change = d->changeListeners.at(ii); @@ -2292,7 +2297,7 @@ void QDeclarativeItem::setBaselineOffset(qreal offset) bool QDeclarativeItem::keepMouseGrab() const { Q_D(const QDeclarativeItem); - return d->_keepMouse; + return d->keepMouse; } /*! @@ -2316,7 +2321,7 @@ bool QDeclarativeItem::keepMouseGrab() const void QDeclarativeItem::setKeepMouseGrab(bool keep) { Q_D(QDeclarativeItem); - d->_keepMouse = keep; + d->keepMouse = keep; } /*! @@ -2413,6 +2418,8 @@ QDeclarativeItem *QDeclarativeItem::childAt(qreal x, qreal y) const void QDeclarativeItemPrivate::focusChanged(bool flag) { Q_Q(QDeclarativeItem); + if (!(flags & QGraphicsItem::ItemIsFocusScope) && parent) + emit q->wantsFocusChanged(flag); //see also QDeclarativeItemPrivate::subFocusItemChange() emit q->focusChanged(flag); } @@ -2587,7 +2594,7 @@ QDeclarativeListProperty<QGraphicsTransform> QDeclarativeItem::transform() void QDeclarativeItem::classBegin() { Q_D(QDeclarativeItem); - d->_componentComplete = false; + d->componentComplete = false; if (d->_stateGroup) d->_stateGroup->classBegin(); if (d->_anchors) @@ -2598,14 +2605,14 @@ void QDeclarativeItem::classBegin() \internal componentComplete() is called when all items in the component - have been constructed. It is often desireable to delay some + have been constructed. It is often desirable to delay some processing until the component is complete an all bindings in the component have been resolved. */ void QDeclarativeItem::componentComplete() { Q_D(QDeclarativeItem); - d->_componentComplete = true; + d->componentComplete = true; if (d->_stateGroup) d->_stateGroup->componentComplete(); if (d->_anchors) { @@ -2623,7 +2630,7 @@ QDeclarativeStateGroup *QDeclarativeItemPrivate::_states() Q_Q(QDeclarativeItem); if (!_stateGroup) { _stateGroup = new QDeclarativeStateGroup; - if (!_componentComplete) + if (!componentComplete) _stateGroup->classBegin(); QObject::connect(_stateGroup, SIGNAL(stateChanged(QString)), q, SIGNAL(stateChanged(QString))); @@ -3104,7 +3111,10 @@ void QDeclarativeItem::setSize(const QSizeF &size) /*! \internal */ bool QDeclarativeItem::wantsFocus() const { - return focusItem() != 0; + Q_D(const QDeclarativeItem); + return focusItem() == this || + (d->flags & QGraphicsItem::ItemIsFocusScope && focusItem() != 0) || + (!parentItem() && focusItem() != 0); } /*! diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index fb416c2..bc5d809 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -120,11 +120,11 @@ class Q_DECLARATIVE_EXPORT QDeclarativeItemPrivate : public QGraphicsItemPrivate public: QDeclarativeItemPrivate() : _anchors(0), _contents(0), - _baselineOffset(0), + baselineOffset(0), _anchorLines(0), _stateGroup(0), origin(QDeclarativeItem::Center), widthValid(false), heightValid(false), - _componentComplete(true), _keepMouse(false), + componentComplete(true), keepMouse(false), smooth(false), transformOriginDirty(true), doneEventPreHandler(false), keyHandler(0), mWidth(0), mHeight(0), implicitWidth(0), implicitHeight(0) { @@ -144,12 +144,10 @@ public: QDeclarative_setParent_noEvent(q, parent); q->setParentItem(parent); } - _baselineOffset.invalidate(); + baselineOffset.invalidate(); mouseSetsFocus = false; } - QString _id; - // Private Properties qreal width() const; void setWidth(qreal); @@ -203,7 +201,7 @@ public: if (!_anchors) { Q_Q(QDeclarativeItem); _anchors = new QDeclarativeAnchors(q); - if (!_componentComplete) + if (!componentComplete) _anchors->classBegin(); } return _anchors; @@ -211,7 +209,7 @@ public: QDeclarativeAnchors *_anchors; QDeclarativeContents *_contents; - QDeclarativeNullableValue<qreal> _baselineOffset; + QDeclarativeNullableValue<qreal> baselineOffset; struct AnchorLines { AnchorLines(QGraphicsObject *); @@ -260,8 +258,8 @@ public: QDeclarativeItem::TransformOrigin origin:4; bool widthValid:1; bool heightValid:1; - bool _componentComplete:1; - bool _keepMouse:1; + bool componentComplete:1; + bool keepMouse:1; bool smooth:1; bool transformOriginDirty : 1; bool doneEventPreHandler : 1; @@ -286,7 +284,9 @@ public: // Reimplemented from QGraphicsItemPrivate virtual void subFocusItemChange() { - emit q_func()->wantsFocusChanged(subFocusItem != 0); + if (flags & QGraphicsItem::ItemIsFocusScope || !parent) + emit q_func()->wantsFocusChanged(subFocusItem != 0); + //see also QDeclarativeItemPrivate::focusChanged } // Reimplemented from QGraphicsItemPrivate diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 06a3239..110c970 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -105,7 +105,7 @@ public: else return (view->orientation() == QDeclarativeListView::Vertical ? item->y() : item->x()); } - int size() const { + qreal size() const { if (section) return (view->orientation() == QDeclarativeListView::Vertical ? item->height()+section->height() : item->width()+section->height()); else @@ -216,9 +216,9 @@ public: void setPosition(qreal pos) { Q_Q(QDeclarativeListView); if (orient == QDeclarativeListView::Vertical) - q->setContentY(pos); + q->QDeclarativeFlickable::setContentY(pos); else - q->setContentX(pos); + q->QDeclarativeFlickable::setContentX(pos); } qreal size() const { Q_Q(const QDeclarativeListView); @@ -421,7 +421,7 @@ public: void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) { Q_Q(QDeclarativeListView); QDeclarativeFlickablePrivate::itemGeometryChanged(item, newGeometry, oldGeometry); - if (item != viewport && (!highlight || item != highlight->item)) { + if (item != contentItem && (!highlight || item != highlight->item)) { if ((orient == QDeclarativeListView::Vertical && newGeometry.height() != oldGeometry.height()) || (orient == QDeclarativeListView::Horizontal && newGeometry.width() != oldGeometry.width())) { scheduleLayout(); @@ -476,7 +476,7 @@ public: QHash<QDeclarativeItem*,int> unrequestedItems; FxListItem *currentItem; QDeclarativeListView::Orientation orient; - int visiblePos; + qreal visiblePos; int visibleIndex; qreal averageSize; int currentIndex; @@ -494,7 +494,7 @@ public: QSmoothedAnimation *highlightSizeAnimator; QDeclarativeViewSection *sectionCriteria; QString currentSection; - static const int sectionCacheSize = 3; + static const int sectionCacheSize = 4; QDeclarativeItem *sectionCache[sectionCacheSize]; qreal spacing; qreal highlightMoveSpeed; @@ -575,15 +575,19 @@ FxListItem *QDeclarativeListViewPrivate::createItem(int modelIndex) listItem->attached->m_prevSection = item->attached->section(); else listItem->attached->m_prevSection = sectionAt(modelIndex-1); + if (FxListItem *item = visibleItem(modelIndex+1)) + listItem->attached->m_nextSection = item->attached->section(); + else + listItem->attached->m_nextSection = sectionAt(modelIndex+1); } } if (model->completePending()) { // complete listItem->item->setZValue(1); - listItem->item->setParentItem(q->viewport()); + listItem->item->setParentItem(q->contentItem()); model->completeItem(); } else { - listItem->item->setParentItem(q->viewport()); + listItem->item->setParentItem(q->contentItem()); } QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); @@ -655,7 +659,7 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer) bool changed = false; FxListItem *item = 0; - int pos = itemEnd + 1; + qreal pos = itemEnd + 1; while (modelIndex < model->count() && pos <= fillTo) { // qDebug() << "refill: append item" << modelIndex << "pos" << pos; if (!(item = createItem(modelIndex))) @@ -744,8 +748,8 @@ void QDeclarativeListViewPrivate::layout() } updateSections(); if (!visibleItems.isEmpty()) { - int oldEnd = visibleItems.last()->endPosition(); - int pos = visibleItems.first()->endPosition() + spacing + 1; + qreal oldEnd = visibleItems.last()->endPosition(); + qreal pos = visibleItems.first()->endPosition() + spacing + 1; for (int i=1; i < visibleItems.count(); ++i) { FxListItem *item = visibleItems.at(i); item->setPosition(pos); @@ -840,8 +844,8 @@ void QDeclarativeListViewPrivate::createHighlight() item = new QDeclarativeItem; } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); highlight = new FxListItem(item, q); if (currentItem && autoHighlight) { if (orient == QDeclarativeListView::Vertical) { @@ -921,8 +925,8 @@ void QDeclarativeListViewPrivate::createSection(FxListItem *listItem) delete nobj; } else { listItem->section->setZValue(1); - QDeclarative_setParent_noEvent(listItem->section, q->viewport()); - listItem->section->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(listItem->section, q->contentItem()); + listItem->section->setParentItem(q->contentItem()); } } else { delete context; @@ -951,14 +955,26 @@ void QDeclarativeListViewPrivate::updateSections() QString prevSection; if (visibleIndex > 0) prevSection = sectionAt(visibleIndex-1); + QDeclarativeListViewAttached *prevAtt = 0; + int idx = -1; for (int i = 0; i < visibleItems.count(); ++i) { if (visibleItems.at(i)->index != -1) { QDeclarativeListViewAttached *attached = visibleItems.at(i)->attached; attached->setPrevSection(prevSection); + if (prevAtt) + prevAtt->setNextSection(attached->section()); createSection(visibleItems.at(i)); prevSection = attached->section(); + prevAtt = attached; + idx = visibleItems.at(i)->index; } } + if (prevAtt) { + if (idx > 0 && idx < model->count()-1) + prevAtt->setNextSection(sectionAt(idx+1)); + else + prevAtt->setNextSection(QString()); + } } } @@ -1013,6 +1029,11 @@ void QDeclarativeListViewPrivate::updateCurrent(int modelIndex) } currentItem->item->setFocus(true); currentItem->attached->setIsCurrentItem(true); + // Avoid showing section delegate twice. We still need the section heading so that + // currentItem positioning works correctly. + // This is slightly sub-optimal, but section heading caching minimizes the impact. + if (currentItem->section) + currentItem->section->setVisible(false); } updateHighlight(); emit q->currentIndexChanged(); @@ -1027,7 +1048,7 @@ void QDeclarativeListViewPrivate::updateAverage() qreal sum = 0.0; for (int i = 0; i < visibleItems.count(); ++i) sum += visibleItems.at(i)->size(); - averageSize = sum / visibleItems.count(); + averageSize = qRound(sum / visibleItems.count()); } void QDeclarativeListViewPrivate::updateFooter() @@ -1046,8 +1067,8 @@ void QDeclarativeListViewPrivate::updateFooter() delete context; } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); item->setZValue(1); QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); @@ -1056,7 +1077,7 @@ void QDeclarativeListViewPrivate::updateFooter() } if (footer) { if (visibleItems.count()) { - qreal endPos = endPosition(); + qreal endPos = endPosition() + 1; if (lastVisibleIndex() == model->count()-1) { footer->setPosition(endPos); } else { @@ -1086,8 +1107,8 @@ void QDeclarativeListViewPrivate::updateHeader() delete context; } if (item) { - QDeclarative_setParent_noEvent(item, q->viewport()); - item->setParentItem(q->viewport()); + QDeclarative_setParent_noEvent(item, q->contentItem()); + item->setParentItem(q->contentItem()); item->setZValue(1); QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); @@ -1379,7 +1400,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m to set \e {clip: true} in order to have the out of view items clipped nicely. - \sa ListModel, GridView, {declarative/modelviews/listview}{ListView examples} + \sa {Data Models}, GridView, {declarative/modelviews/listview}{ListView examples} */ QDeclarativeListView::QDeclarativeListView(QDeclarativeItem *parent) @@ -1418,7 +1439,7 @@ QDeclarativeListView::~QDeclarativeListView() */ /*! - \qmlattachedproperty string ListView::prevSection + \qmlattachedproperty string ListView::previousSection This attached property holds the section of the previous element. It is attached to each instance of the delegate. @@ -1427,6 +1448,15 @@ QDeclarativeListView::~QDeclarativeListView() */ /*! + \qmlattachedproperty string ListView::nextSection + This attached property holds the section of the next element. + + It is attached to each instance of the delegate. + + The section is evaluated using the \l {ListView::section.property}{section} properties. +*/ + +/*! \qmlattachedproperty string ListView::section This attached property holds the section of this element. @@ -1522,6 +1552,10 @@ void QDeclarativeListView::setModel(const QVariant &model) } else { d->moveReason = QDeclarativeListViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->position()); + d->updateTrackedItem(); + } } } connect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); @@ -1547,9 +1581,12 @@ void QDeclarativeListView::setModel(const QVariant &model) that is not needed for the normal display of the delegate in a \l Loader which can load additional elements when needed. - Tthe ListView will lay out the items based on the size of the root item + The ListView will lay out the items based on the size of the root item in the delegate. + It is recommended that the delagate's size be a whole number to avoid sub-pixel + alignment of items. + \note Delegates are instantiated as needed and may be destroyed at any time. State should \e never be stored in a delegate. */ @@ -1582,6 +1619,10 @@ void QDeclarativeListView::setDelegate(QDeclarativeComponent *delegate) refill(); d->moveReason = QDeclarativeListViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->position()); + d->updateTrackedItem(); + } } } emit delegateChanged(); @@ -1608,7 +1649,6 @@ void QDeclarativeListView::setCurrentIndex(int index) return; if (isComponentComplete() && d->isValid() && index != d->currentIndex && index < d->model->count() && index >= 0) { d->moveReason = QDeclarativeListViewPrivate::SetIndex; - cancelFlick(); d->updateCurrent(index); } else if (index != d->currentIndex) { d->currentIndex = index; @@ -1692,7 +1732,7 @@ void QDeclarativeListView::setHighlight(QDeclarativeComponent *highlight) highlight is not moved by the view, and any movement must be implemented by the highlight. - Here is a highlight with its motion defined by a \l {SpringFollow} item: + Here is a highlight with its motion defined by a \l {SpringAniamtion} item: \snippet doc/src/snippets/declarative/listview/listview.qml highlightFollowsCurrentItem @@ -1960,9 +2000,9 @@ void QDeclarativeListView::setCacheBuffer(int b) \c section.delegate holds the delegate component for each section. - Each item in the list has attached properties named \c ListView.section and - \c ListView.prevSection. These may be used to place a section header for - related items. + Each item in the list has attached properties named \c ListView.section, + \c ListView.previousSection and \c ListView.nextSection. These may be + used to place a section header for related items. For example, here is a ListView that displays a list of animals, separated into sections. Each item in the ListView is placed in a different section @@ -2182,6 +2222,22 @@ void QDeclarativeListView::setHeader(QDeclarativeComponent *header) } } +void QDeclarativeListView::setContentX(qreal pos) +{ + Q_D(QDeclarativeListView); + // Positioning the view manually should override any current movement state + d->moveReason = QDeclarativeListViewPrivate::Other; + QDeclarativeFlickable::setContentX(pos); +} + +void QDeclarativeListView::setContentY(qreal pos) +{ + Q_D(QDeclarativeListView); + // Positioning the view manually should override any current movement state + d->moveReason = QDeclarativeListViewPrivate::Other; + QDeclarativeFlickable::setContentY(pos); +} + bool QDeclarativeListView::event(QEvent *event) { Q_D(QDeclarativeListView); @@ -2386,6 +2442,8 @@ void QDeclarativeListView::keyPressEvent(QKeyEvent *event) Increments the current index. The current index will wrap if keyNavigationWraps is true and it is currently at the end. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeListView::incrementCurrentIndex() { @@ -2393,7 +2451,6 @@ void QDeclarativeListView::incrementCurrentIndex() if (currentIndex() < d->model->count() - 1 || d->wrap) { d->moveReason = QDeclarativeListViewPrivate::SetIndex; int index = currentIndex()+1; - cancelFlick(); d->updateCurrent(index < d->model->count() ? index : 0); } } @@ -2403,6 +2460,8 @@ void QDeclarativeListView::incrementCurrentIndex() Decrements the current index. The current index will wrap if keyNavigationWraps is true and it is currently at the beginning. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativeListView::decrementCurrentIndex() { @@ -2410,7 +2469,6 @@ void QDeclarativeListView::decrementCurrentIndex() if (currentIndex() > 0 || d->wrap) { d->moveReason = QDeclarativeListViewPrivate::SetIndex; int index = currentIndex()-1; - cancelFlick(); d->updateCurrent(index >= 0 ? index : d->model->count()-1); } } @@ -2439,6 +2497,14 @@ void QDeclarativeListView::decrementCurrentIndex() 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 \c positionViewAtIndex. + + \bold Note: methods should only be called after the Component has completed. To position + the view at startup, this method should be called by Component.onCompleted. For + example, to position the view at the end: + + \code + Component.onCompleted: positionViewAtIndex(count - 1, ListView.Beginning) + \endcode */ void QDeclarativeListView::positionViewAtIndex(int index, int mode) { @@ -2448,6 +2514,8 @@ void QDeclarativeListView::positionViewAtIndex(int index, int mode) if (mode < Beginning || mode > Contain) return; + if (d->layoutScheduled) + d->layout(); qreal pos = d->position(); FxListItem *item = d->visibleItem(index); if (!item) { @@ -2491,6 +2559,8 @@ void QDeclarativeListView::positionViewAtIndex(int index, int mode) pos = qMin(pos, maxExtent); qreal minExtent = d->orient == QDeclarativeListView::Vertical ? -minYExtent() : -minXExtent(); pos = qMax(pos, minExtent); + d->moveReason = QDeclarativeListViewPrivate::Other; + cancelFlick(); d->setPosition(pos); } d->fixupPosition(); @@ -2505,6 +2575,8 @@ void QDeclarativeListView::positionViewAtIndex(int index, int mode) If the item is outside the visible area, -1 is returned, regardless of whether an item will exist at that point when scrolled into view. + + \bold Note: methods should only be called after the Component has completed. */ int QDeclarativeListView::indexAt(int x, int y) const { @@ -2529,6 +2601,11 @@ void QDeclarativeListView::componentComplete() d->updateCurrent(0); else d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->position()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeListViewPrivate::Other; d->fixupPosition(); } } @@ -2544,20 +2621,17 @@ void QDeclarativeListView::trackedPositionChanged() Q_D(QDeclarativeListView); if (!d->trackedItem || !d->currentItem) return; - if (!d->flickingHorizontally && !d->flickingVertically && !d->movingHorizontally && !d->movingVertically - && d->moveReason == QDeclarativeListViewPrivate::SetIndex) { + if (d->moveReason == QDeclarativeListViewPrivate::SetIndex) { const qreal trackedPos = qCeil(d->trackedItem->position()); const qreal viewPos = d->position(); + qreal pos = viewPos; if (d->haveHighlightRange) { if (d->highlightRange == StrictlyEnforceRange) { - qreal pos = viewPos; if (trackedPos > pos + d->highlightRangeEnd - d->trackedItem->size()) pos = trackedPos - d->highlightRangeEnd + d->trackedItem->size(); if (trackedPos < pos + d->highlightRangeStart) pos = trackedPos - d->highlightRangeStart; - d->setPosition(pos); } else { - qreal pos = viewPos; if (trackedPos < d->startPosition() + d->highlightRangeStart) { pos = d->startPosition(); } else if (d->trackedItem->endPosition() > d->endPosition() - d->size() + d->highlightRangeEnd) { @@ -2571,14 +2645,12 @@ void QDeclarativeListView::trackedPositionChanged() pos = trackedPos - d->highlightRangeEnd + d->trackedItem->size(); } } - d->setPosition(pos); } } else { if (trackedPos < viewPos && d->currentItem->position() < viewPos) { - d->setPosition(d->currentItem->position() < trackedPos ? trackedPos : d->currentItem->position()); + pos = d->currentItem->position() < trackedPos ? trackedPos : d->currentItem->position(); } else if (d->trackedItem->endPosition() > viewPos + d->size() && d->currentItem->endPosition() > viewPos + d->size()) { - qreal pos; if (d->trackedItem->endPosition() < d->currentItem->endPosition()) { pos = d->trackedItem->endPosition() - d->size(); if (d->trackedItem->size() > d->size()) @@ -2588,9 +2660,12 @@ void QDeclarativeListView::trackedPositionChanged() if (d->currentItem->size() > d->size()) pos = d->currentItem->position(); } - d->setPosition(pos); } } + if (viewPos != pos) { + cancelFlick(); + d->setPosition(pos); + } } } @@ -2818,8 +2893,11 @@ void QDeclarativeListView::itemsRemoved(int modelIndex, int count) d->visiblePos = d->header ? d->header->size() : 0; d->timeline.clear(); d->setPosition(0); - if (d->itemCount == 0) + if (d->itemCount == 0) { + d->updateHeader(); + d->updateFooter(); update(); + } } emit countChanged(); @@ -2954,6 +3032,11 @@ void QDeclarativeListView::modelReset() refill(); d->moveReason = QDeclarativeListViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); + if (d->highlight && d->currentItem) { + d->highlight->setPosition(d->currentItem->position()); + d->updateTrackedItem(); + } + d->moveReason = QDeclarativeListViewPrivate::Other; emit countChanged(); } @@ -2961,7 +3044,7 @@ void QDeclarativeListView::createdItem(int index, QDeclarativeItem *item) { Q_D(QDeclarativeListView); if (d->requestedIndex != index) { - item->setParentItem(viewport()); + item->setParentItem(contentItem()); d->unrequestedItems.insert(item, index); if (d->orient == QDeclarativeListView::Vertical) item->setY(d->positionAt(index)); diff --git a/src/declarative/graphicsitems/qdeclarativelistview_p.h b/src/declarative/graphicsitems/qdeclarativelistview_p.h index d6e8023..9941040 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview_p.h +++ b/src/declarative/graphicsitems/qdeclarativelistview_p.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class Q_DECLARATIVE_EXPORT QDeclarativeViewSection : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeViewSection : public QObject { Q_OBJECT Q_PROPERTY(QString property READ property WRITE setProperty NOTIFY changed) @@ -86,7 +86,7 @@ private: class QDeclarativeVisualModel; class QDeclarativeListViewAttached; class QDeclarativeListViewPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeListView : public QDeclarativeFlickable +class Q_AUTOTEST_EXPORT QDeclarativeListView : public QDeclarativeFlickable { Q_OBJECT Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeListView) @@ -198,6 +198,9 @@ public: QDeclarativeComponent *header() const; void setHeader(QDeclarativeComponent *); + virtual void setContentX(qreal pos); + virtual void setContentY(qreal pos); + static QDeclarativeListViewAttached *qmlAttachedProperties(QObject *); enum PositionMode { Beginning, Center, End, Visible, Contain }; @@ -276,7 +279,7 @@ public: } } - Q_PROPERTY(QString prevSection READ prevSection NOTIFY prevSectionChanged) + Q_PROPERTY(QString previousSection READ prevSection NOTIFY prevSectionChanged) QString prevSection() const { return m_prevSection; } void setPrevSection(const QString §) { if (m_prevSection != sect) { @@ -285,6 +288,15 @@ public: } } + Q_PROPERTY(QString nextSection READ nextSection NOTIFY nextSectionChanged) + QString nextSection() const { return m_nextSection; } + void setNextSection(const QString §) { + if (m_nextSection != sect) { + m_nextSection = sect; + emit nextSectionChanged(); + } + } + Q_PROPERTY(QString section READ section NOTIFY sectionChanged) QString section() const { return m_section; } void setSection(const QString §) { @@ -310,6 +322,7 @@ Q_SIGNALS: void currentItemChanged(); void sectionChanged(); void prevSectionChanged(); + void nextSectionChanged(); void delayRemoveChanged(); void add(); void remove(); @@ -318,6 +331,7 @@ public: QDeclarativeListView *m_view; mutable QString m_section; QString m_prevSection; + QString m_nextSection; bool m_isCurrent : 1; bool m_delayRemove : 1; }; diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 25b1119..e745ca6 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -119,7 +119,7 @@ void QDeclarativeLoaderPrivate::initResize() property, or loaded from a URL via the \l source property. Loader can be used to delay the creation of a component until it is required. - For example, this loads "Page1.qml" as a component into the \l Loader element + For example, this loads "Page1.qml" as a component into the Loader element when the \l MouseArea is clicked: \code @@ -174,7 +174,7 @@ void QDeclarativeLoaderPrivate::initResize() QDeclarativeLoader::QDeclarativeLoader(QDeclarativeItem *parent) : QDeclarativeItem(*(new QDeclarativeLoaderPrivate), parent) { - Q_D(QDeclarativeItem); + Q_D(QDeclarativeLoader); d->flags |= QGraphicsItem::ItemIsFocusScope; } @@ -183,6 +183,14 @@ QDeclarativeLoader::QDeclarativeLoader(QDeclarativeItem *parent) */ QDeclarativeLoader::~QDeclarativeLoader() { + Q_D(QDeclarativeLoader); + if (d->item) { + if (QDeclarativeItem *qmlItem = qobject_cast<QDeclarativeItem*>(d->item)) { + QDeclarativeItemPrivate *p = + static_cast<QDeclarativeItemPrivate *>(QGraphicsItemPrivate::get(qmlItem)); + p->removeItemChangeListener(d, QDeclarativeItemPrivate::Geometry); + } + } } /*! diff --git a/src/declarative/graphicsitems/qdeclarativeloader_p.h b/src/declarative/graphicsitems/qdeclarativeloader_p.h index ec7ffe9..d63eaf7 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader_p.h +++ b/src/declarative/graphicsitems/qdeclarativeloader_p.h @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeLoaderPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeLoader : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeLoader : public QDeclarativeItem { Q_OBJECT Q_ENUMS(Status) diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index 0bed41b..b7b0c9e 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -192,7 +192,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate() MouseArea is an invisible item: it is never painted. - \sa MouseEvent + \sa MouseEvent, {declarative/touchinteraction/mousearea}{MouseArea example} */ /*! @@ -443,7 +443,7 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) QPointF startLocalPos; QPointF curLocalPos; - if (drag()->target()->parent()) { + if (drag()->target()->parentItem()) { startLocalPos = drag()->target()->parentItem()->mapFromScene(d->startScene); curLocalPos = drag()->target()->parentItem()->mapFromScene(event->scenePos()); } else { @@ -761,16 +761,22 @@ QDeclarativeDrag *QDeclarativeMouseArea::drag() \c drag provides a convenient way to make an item draggable. \list - \i \c drag.target specifies the item to drag. + \i \c drag.target specifies the id of the item to drag. \i \c drag.active specifies if the target item is currently being dragged. \i \c drag.axis specifies whether dragging can be done horizontally (\c Drag.XAxis), vertically (\c Drag.YAxis), or both (\c Drag.XandYAxis) \i \c drag.minimum and \c drag.maximum limit how far the target can be dragged along the corresponding axes. \endlist - The following example displays an image that can be dragged along the X-axis. The opacity - of the image is reduced when it is dragged to the right. + The following example displays a \l Rectangle that can be dragged along the X-axis. The opacity + of the rectangle is reduced when it is dragged to the right. \snippet doc/src/snippets/declarative/mousearea.qml drag + + \note Items cannot be dragged if they are anchored for the requested + \c drag.axis. For example, if \c anchors.left or \c anchors.right was set + for \c rect in the above example, it cannot be dragged along the X-axis. + This can be avoided by settng the anchor value to \c undefined in + an \l onPressed handler. */ QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p.h index df77ac6..4fe3fcb 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea_p.h +++ b/src/declarative/graphicsitems/qdeclarativemousearea_p.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class Q_DECLARATIVE_EXPORT QDeclarativeDrag : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeDrag : public QObject { Q_OBJECT @@ -110,7 +110,7 @@ private: class QDeclarativeMouseEvent; class QDeclarativeMouseAreaPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeMouseArea : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeMouseArea : public QDeclarativeItem { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp index 13d1b61..3b9b8df 100644 --- a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp +++ b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp @@ -151,6 +151,7 @@ void QDeclarativePaintedItem::setContentsSize(const QSize &size) { Q_D(QDeclarativePaintedItem); if (d->contentsSize == size) return; + prepareGeometryChange(); d->contentsSize = size; clearCache(); update(); @@ -247,8 +248,7 @@ QRectF QDeclarativePaintedItem::boundingRect() const void QDeclarativePaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *) { Q_D(QDeclarativePaintedItem); - const QRect content(0,0,qCeil(d->contentsSize.width()*d->contentsScale), - qCeil(d->contentsSize.height()*d->contentsScale)); + const QRect content = boundingRect().toRect(); if (content.width() <= 0 || content.height() <= 0) return; diff --git a/src/declarative/graphicsitems/qdeclarativepainteditem_p.h b/src/declarative/graphicsitems/qdeclarativepainteditem_p.h index 86f065a..8142986 100644 --- a/src/declarative/graphicsitems/qdeclarativepainteditem_p.h +++ b/src/declarative/graphicsitems/qdeclarativepainteditem_p.h @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativePaintedItemPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativePaintedItem : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativePaintedItem : public QDeclarativeItem { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativepath_p.h b/src/declarative/graphicsitems/qdeclarativepath_p.h index dad43e6..001bcdf 100644 --- a/src/declarative/graphicsitems/qdeclarativepath_p.h +++ b/src/declarative/graphicsitems/qdeclarativepath_p.h @@ -54,7 +54,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class Q_DECLARATIVE_EXPORT QDeclarativePathElement : public QObject +class Q_AUTOTEST_EXPORT QDeclarativePathElement : public QObject { Q_OBJECT public: @@ -63,7 +63,7 @@ Q_SIGNALS: void changed(); }; -class Q_DECLARATIVE_EXPORT QDeclarativePathAttribute : public QDeclarativePathElement +class Q_AUTOTEST_EXPORT QDeclarativePathAttribute : public QDeclarativePathElement { Q_OBJECT @@ -87,7 +87,7 @@ private: qreal _value; }; -class Q_DECLARATIVE_EXPORT QDeclarativeCurve : public QDeclarativePathElement +class Q_AUTOTEST_EXPORT QDeclarativeCurve : public QDeclarativePathElement { Q_OBJECT @@ -109,7 +109,7 @@ private: qreal _y; }; -class Q_DECLARATIVE_EXPORT QDeclarativePathLine : public QDeclarativeCurve +class Q_AUTOTEST_EXPORT QDeclarativePathLine : public QDeclarativeCurve { Q_OBJECT public: @@ -118,7 +118,7 @@ public: void addToPath(QPainterPath &path); }; -class Q_DECLARATIVE_EXPORT QDeclarativePathQuad : public QDeclarativeCurve +class Q_AUTOTEST_EXPORT QDeclarativePathQuad : public QDeclarativeCurve { Q_OBJECT @@ -140,7 +140,7 @@ private: qreal _controlY; }; -class Q_DECLARATIVE_EXPORT QDeclarativePathCubic : public QDeclarativeCurve +class Q_AUTOTEST_EXPORT QDeclarativePathCubic : public QDeclarativeCurve { Q_OBJECT @@ -172,7 +172,7 @@ private: int _control2Y; }; -class Q_DECLARATIVE_EXPORT QDeclarativePathPercent : public QDeclarativePathElement +class Q_AUTOTEST_EXPORT QDeclarativePathPercent : public QDeclarativePathElement { Q_OBJECT Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY changed) @@ -187,7 +187,7 @@ private: }; class QDeclarativePathPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativePath : public QObject, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativePath : public QObject, public QDeclarativeParserStatus { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index 0c2d249..f4ebd13 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -329,6 +329,10 @@ void QDeclarativePathViewPrivate::regenerate() \image pathview.gif + (Note the above example uses PathAttribute to scale and modify the + opacity of the items as they rotate. This additional code can be seen in the + PathAttribute documentation.) + Delegates are instantiated as needed and may be destroyed at any time. State should \e never be stored in a delegate. @@ -552,6 +556,8 @@ void QDeclarativePathView::setCurrentIndex(int idx) \qmlmethod PathView::incrementCurrentIndex() Increments the current index. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativePathView::incrementCurrentIndex() { @@ -563,6 +569,8 @@ void QDeclarativePathView::incrementCurrentIndex() \qmlmethod PathView::decrementCurrentIndex() Decrements the current index. + + \bold Note: methods should only be called after the Component has completed. */ void QDeclarativePathView::decrementCurrentIndex() { diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h index 8a6f53f..d2980c6 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h @@ -53,7 +53,7 @@ QT_MODULE(Declarative) class QDeclarativePathViewPrivate; class QDeclarativePathViewAttached; -class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativePathView : public QDeclarativeItem { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index b9231a1..179f13d 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -1027,13 +1027,13 @@ void QDeclarativeFlow::doPositioning(QSizeF *contentSize) continue; if (d->flow == LeftToRight) { - if (hoffset && hoffset + child.item->width() > width()) { + if (widthValid() && hoffset && hoffset + child.item->width() > width()) { hoffset = 0; voffset += linemax + spacing(); linemax = 0; } } else { - if (voffset && voffset + child.item->height() > height()) { + if (heightValid() && voffset && voffset + child.item->height() > height()) { voffset = 0; hoffset += linemax + spacing(); linemax = 0; diff --git a/src/declarative/graphicsitems/qdeclarativepositioners_p.h b/src/declarative/graphicsitems/qdeclarativepositioners_p.h index 787dcd3..c03e518 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners_p.h +++ b/src/declarative/graphicsitems/qdeclarativepositioners_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeBasePositionerPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeBasePositioner : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeBasePositioner : public QDeclarativeItem { Q_OBJECT @@ -112,7 +112,7 @@ private: Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeBasePositioner) }; -class Q_DECLARATIVE_EXPORT QDeclarativeColumn : public QDeclarativeBasePositioner +class Q_AUTOTEST_EXPORT QDeclarativeColumn : public QDeclarativeBasePositioner { Q_OBJECT public: @@ -124,7 +124,7 @@ private: Q_DISABLE_COPY(QDeclarativeColumn) }; -class Q_DECLARATIVE_EXPORT QDeclarativeRow: public QDeclarativeBasePositioner +class Q_AUTOTEST_EXPORT QDeclarativeRow: public QDeclarativeBasePositioner { Q_OBJECT public: @@ -136,7 +136,7 @@ private: Q_DISABLE_COPY(QDeclarativeRow) }; -class Q_DECLARATIVE_EXPORT QDeclarativeGrid : public QDeclarativeBasePositioner +class Q_AUTOTEST_EXPORT QDeclarativeGrid : public QDeclarativeBasePositioner { Q_OBJECT Q_PROPERTY(int rows READ rows WRITE setRows NOTIFY rowsChanged) @@ -174,7 +174,7 @@ private: }; class QDeclarativeFlowPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeFlow: public QDeclarativeBasePositioner +class Q_AUTOTEST_EXPORT QDeclarativeFlow: public QDeclarativeBasePositioner { Q_OBJECT Q_PROPERTY(Flow flow READ flow WRITE setFlow NOTIFY flowChanged) diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp index 2756877..c49be46 100644 --- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp +++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp @@ -446,6 +446,7 @@ void QDeclarativeRectangle::drawRect(QPainter &p) p.setRenderHint(QPainter::Antialiasing); if (d->pen && d->pen->isValid()) { QPen pn(QColor(d->pen->color()), d->pen->width()); + pn.setJoinStyle(Qt::MiterJoin); p.setPen(pn); } else { p.setPen(Qt::NoPen); diff --git a/src/declarative/graphicsitems/qdeclarativerectangle_p.h b/src/declarative/graphicsitems/qdeclarativerectangle_p.h index 7272962..ecc3fbf 100644 --- a/src/declarative/graphicsitems/qdeclarativerectangle_p.h +++ b/src/declarative/graphicsitems/qdeclarativerectangle_p.h @@ -68,7 +68,7 @@ public: QColor color() const { return _color; } void setColor(const QColor &c); - bool isValid() { return _valid; }; + bool isValid() { return _valid; } Q_SIGNALS: void penChanged(); @@ -79,7 +79,7 @@ private: bool _valid; }; -class Q_DECLARATIVE_EXPORT QDeclarativeGradientStop : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeGradientStop : public QObject { Q_OBJECT @@ -103,7 +103,7 @@ private: QColor m_color; }; -class Q_DECLARATIVE_EXPORT QDeclarativeGradient : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeGradient : public QObject { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index 87da904..3be4014 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -85,6 +85,19 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate() The \l model of a Repeater can be any of the supported \l {qmlmodels}{Data Models}. + Items instantiated by the Repeater are inserted, in order, as + children of the Repeater's parent. The insertion starts immediately after + the repeater's position in its parent stacking list. This allows + a Repeater to be used inside a layout. For example, the following Repeater's + items are stacked between a red rectangle and a blue rectangle: + + \snippet doc/src/snippets/declarative/repeater.qml layout + + \image repeater.png + + + \section2 The \c index and \c modelData properties + The index of a delegate is exposed as an accessible \c index property in the delegate. Properties of the model are also available depending upon the type of \l {qmlmodels}{Data Model}. @@ -105,25 +118,22 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate() \o \image repeater-modeldata.png \endtable - Items instantiated by the Repeater are inserted, in order, as - children of the Repeater's parent. The insertion starts immediately after - the repeater's position in its parent stacking list. This allows - a Repeater to be used inside a layout. For example, the following Repeater's - items are stacked between a red rectangle and a blue rectangle: - - \snippet doc/src/snippets/declarative/repeater.qml layout - - \image repeater.png A Repeater item owns all items it instantiates. Removing or dynamically destroying an item created by a Repeater results in unpredictable behavior. - Note that if a repeater is - required to instantiate a large number of items, it may be more efficient to - use other view elements such as ListView. - \note Repeater is \l {Item}-based, and can only repeat \l {Item}-derived objects. - For example, it cannot be used to repeat QtObjects. + \section2 Considerations when using Repeater + + The Repeater element creates all of its delegate items when the repeater is first + created. This can be inefficient if there are a large number of delegate items and + not all of the items are required to be visible at the same time. If this is the case, + consider using other view elements like ListView (which only creates delegate items + when they are scrolled into view) or use the \l {Dynamic Object Creation} methods to + create items as they are required. + + Also, note that Repeater is \l {Item}-based, and can only repeat \l {Item}-derived objects. + For example, it cannot be used to repeat QtObjects: \badcode Item { //XXX does not work! Can't repeat QtObject as it doesn't derive from Item. diff --git a/src/declarative/graphicsitems/qdeclarativerepeater_p.h b/src/declarative/graphicsitems/qdeclarativerepeater_p.h index db46699..ff58fa0 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater_p.h +++ b/src/declarative/graphicsitems/qdeclarativerepeater_p.h @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeRepeaterPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeRepeater : public QDeclarativeItem +class Q_AUTOTEST_EXPORT QDeclarativeRepeater : public QDeclarativeItem { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp index c2e0d67..9a281e5 100644 --- a/src/declarative/graphicsitems/qdeclarativetext.cpp +++ b/src/declarative/graphicsitems/qdeclarativetext.cpp @@ -61,52 +61,100 @@ class QTextDocumentWithImageResources : public QTextDocument { Q_OBJECT public: - QTextDocumentWithImageResources(QDeclarativeText *parent) : - QTextDocument(parent), - outstanding(0) - { - } + QTextDocumentWithImageResources(QDeclarativeText *parent); + virtual ~QTextDocumentWithImageResources(); + void setText(const QString &); int resourcesLoading() const { return outstanding; } protected: - QVariant loadResource(int type, const QUrl &name) - { - QUrl url = qmlContext(parent())->resolvedUrl(name); - - if (type == QTextDocument::ImageResource) { - QPixmap pm; - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(url, &pm, &errorString, 0, false, 0, 0); - if (status == QDeclarativePixmapReply::Ready) - return pm; - if (status == QDeclarativePixmapReply::Error) { - if (!errors.contains(url)) { - errors.insert(url); - qmlInfo(parent()) << errorString; - } - } else { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(parent()), url); - connect(reply, SIGNAL(finished()), this, SLOT(requestFinished())); + QVariant loadResource(int type, const QUrl &name); + +private slots: + void requestFinished(); + +private: + QHash<QUrl, QDeclarativePixmap *> m_resources; + + int outstanding; + static QSet<QUrl> errors; +}; + +QTextDocumentWithImageResources::QTextDocumentWithImageResources(QDeclarativeText *parent) +: QTextDocument(parent), outstanding(0) +{ +} + +QTextDocumentWithImageResources::~QTextDocumentWithImageResources() +{ + if (!m_resources.isEmpty()) + qDeleteAll(m_resources); +} + +QVariant QTextDocumentWithImageResources::loadResource(int type, const QUrl &name) +{ + QDeclarativeContext *context = qmlContext(parent()); + QUrl url = context->resolvedUrl(name); + + if (type == QTextDocument::ImageResource) { + QHash<QUrl, QDeclarativePixmap *>::Iterator iter = m_resources.find(url); + + if (iter == m_resources.end()) { + QDeclarativePixmap *p = new QDeclarativePixmap(context->engine(), url); + iter = m_resources.insert(name, p); + + if (p->isLoading()) { + p->connectFinished(this, SLOT(requestFinished())); outstanding++; } } - return QTextDocument::loadResource(type,url); // The *resolved* URL + QDeclarativePixmap *p = *iter; + if (p->isReady()) { + return p->pixmap(); + } else if (p->isError()) { + if (!errors.contains(url)) { + errors.insert(url); + qmlInfo(parent()) << p->error(); + } + } } -private slots: - void requestFinished() - { - outstanding--; - if (outstanding == 0) - static_cast<QDeclarativeText*>(parent())->reloadWithResources(); + return QTextDocument::loadResource(type,url); // The *resolved* URL +} + +void QTextDocumentWithImageResources::requestFinished() +{ + outstanding--; + if (outstanding == 0) { + QDeclarativeText *textItem = static_cast<QDeclarativeText*>(parent()); + QString text = textItem->text(); +#ifndef QT_NO_TEXTHTMLPARSER + setHtml(text); +#else + setPlainText(text); +#endif + QDeclarativeTextPrivate *d = QDeclarativeTextPrivate::get(textItem); + d->updateLayout(); + d->markImgDirty(); } +} -private: - int outstanding; - static QSet<QUrl> errors; -}; +void QTextDocumentWithImageResources::setText(const QString &text) +{ + if (!m_resources.isEmpty()) { + qWarning("CLEAR"); + qDeleteAll(m_resources); + m_resources.clear(); + outstanding = 0; + } + +#ifndef QT_NO_TEXTHTMLPARSER + setHtml(text); +#else + setPlainText(text); +#endif +} QSet<QUrl> QTextDocumentWithImageResources::errors; @@ -136,6 +184,8 @@ QSet<QUrl> QTextDocumentWithImageResources::errors; HTML img tags that load remote images, the text is reloaded. Text provides read-only text. For editable text, see \l TextEdit. + + \sa {declarative/text/fonts}{Fonts example} */ /*! @@ -225,12 +275,6 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate() */ /*! - \qmlproperty bool Text::font.outline - - Sets whether the font has an outline style. -*/ - -/*! \qmlproperty bool Text::font.strikeout Sets whether the font has a strikeout style. @@ -318,11 +362,7 @@ void QDeclarativeText::setText(const QString &n) if (d->richText) { if (isComponentComplete()) { d->ensureDoc(); -#ifndef QT_NO_TEXTHTMLPARSER - d->doc->setHtml(n); -#else - d->doc->setPlainText(n); -#endif + d->doc->setText(n); } } @@ -441,6 +481,8 @@ void QDeclarativeText::setStyleColor(const QColor &color) \qml Text { font.pointSize: 18; text: "hello"; style: Text.Raised; styleColor: "gray" } \endqml + + \sa style */ QColor QDeclarativeText::styleColor() const { @@ -609,11 +651,7 @@ void QDeclarativeText::setTextFormat(TextFormat format) } else if (!wasRich && d->richText) { if (isComponentComplete()) { d->ensureDoc(); -#ifndef QT_NO_TEXTHTMLPARSER - d->doc->setHtml(d->text); -#else - d->doc->setPlainText(d->text); -#endif + d->doc->setText(d->text); } d->updateLayout(); d->markImgDirty(); @@ -663,11 +701,78 @@ void QDeclarativeText::setElideMode(QDeclarativeText::TextElideMode mode) emit elideModeChanged(d->elideMode); } +QRectF QDeclarativeText::boundingRect() const +{ + Q_D(const QDeclarativeText); + + int w = width(); + int h = height(); + + int x = 0; + int y = 0; + + // Could include font max left/right bearings to either side of rectangle. + + if (d->cache || d->style != Normal) { + switch (d->hAlign) { + case AlignLeft: + x = 0; + break; + case AlignRight: + x = w - d->imgCache.width(); + break; + case AlignHCenter: + x = (w - d->imgCache.width()) / 2; + break; + } + + switch (d->vAlign) { + case AlignTop: + y = 0; + break; + case AlignBottom: + y = h - d->imgCache.height(); + break; + case AlignVCenter: + y = (h - d->imgCache.height()) / 2; + break; + } + + return QRectF(x,y,d->imgCache.width(),d->imgCache.height()); + } else { + switch (d->hAlign) { + case AlignLeft: + x = 0; + break; + case AlignRight: + x = w - d->cachedLayoutSize.width(); + break; + case AlignHCenter: + x = (w - d->cachedLayoutSize.width()) / 2; + break; + } + + switch (d->vAlign) { + case AlignTop: + y = 0; + break; + case AlignBottom: + y = h - d->cachedLayoutSize.height(); + break; + case AlignVCenter: + y = (h - d->cachedLayoutSize.height()) / 2; + break; + } + + return QRectF(x,y,d->cachedLayoutSize.width(),d->cachedLayoutSize.height()); + } +} + void QDeclarativeText::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { Q_D(QDeclarativeText); - if (newGeometry.width() != oldGeometry.width()) { + if (!d->internalWidthUpdate && newGeometry.width() != oldGeometry.width()) { if (d->wrapMode != QDeclarativeText::NoWrap || d->elideMode != QDeclarativeText::ElideNone) { //re-elide if needed if (d->singleline && d->elideMode != QDeclarativeText::ElideNone && @@ -713,6 +818,7 @@ void QDeclarativeTextPrivate::updateLayout() } } + void QDeclarativeTextPrivate::updateSize() { Q_Q(QDeclarativeText); @@ -730,7 +836,10 @@ void QDeclarativeTextPrivate::updateSize() //setup instance of QTextLayout for all cases other than richtext if (!richText) { size = setupTextLayout(&layout); - cachedLayoutSize = size; + if (cachedLayoutSize != size) { + q->prepareGeometryChange(); + cachedLayoutSize = size; + } dy -= size.height(); } else { singleline = false; // richtext can't elide or be optimized for single-line case @@ -744,7 +853,13 @@ void QDeclarativeTextPrivate::updateSize() else doc->setTextWidth(doc->idealWidth()); // ### Text does not align if width is not set (QTextDoc bug) dy -= (int)doc->size().height(); - cachedLayoutSize = doc->size().toSize(); + q->prepareGeometryChange(); + QSize dsize = doc->size().toSize(); + if (dsize != cachedLayoutSize) { + q->prepareGeometryChange(); + cachedLayoutSize = dsize; + } + size = QSize(int(doc->idealWidth()),dsize.height()); } int yoff = 0; @@ -757,8 +872,10 @@ void QDeclarativeTextPrivate::updateSize() q->setBaselineOffset(fm.ascent() + yoff); //### need to comfirm cost of always setting these for richText - q->setImplicitWidth(richText ? (int)doc->idealWidth() : size.width()); - q->setImplicitHeight(richText ? (int)doc->size().height() : size.height()); + internalWidthUpdate = true; + q->setImplicitWidth(size.width()); + internalWidthUpdate = false; + q->setImplicitHeight(size.height()); emit q->paintedSizeChanged(); } else { dirty = true; @@ -813,6 +930,8 @@ void QDeclarativeTextPrivate::drawOutline() ppm.drawPixmap(pos, imgCache); ppm.end(); + if (imgCache.size() != img.size()) + q_func()->prepareGeometryChange(); imgCache = img; } @@ -831,6 +950,8 @@ void QDeclarativeTextPrivate::drawOutline(int yOffset) ppm.drawPixmap(pos, imgCache); ppm.end(); + if (imgCache.size() != img.size()) + q_func()->prepareGeometryChange(); imgCache = img; } @@ -955,18 +1076,21 @@ void QDeclarativeTextPrivate::checkImgCache() return; bool empty = text.isEmpty(); + QPixmap newImgCache; if (empty) { - imgCache = QPixmap(); imgStyleCache = QPixmap(); } else if (richText) { - imgCache = richTextImage(false); + newImgCache = richTextImage(false); if (style != QDeclarativeText::Normal) imgStyleCache = richTextImage(true); //### should use styleColor } else { - imgCache = wrappedTextImage(false); + newImgCache = wrappedTextImage(false); if (style != QDeclarativeText::Normal) imgStyleCache = wrappedTextImage(true); //### should use styleColor } + if (imgCache.size() != newImgCache.size()) + q_func()->prepareGeometryChange(); + imgCache = newImgCache; if (!empty) switch (style) { case QDeclarativeText::Outline: @@ -994,20 +1118,6 @@ void QDeclarativeTextPrivate::ensureDoc() } } -void QDeclarativeText::reloadWithResources() -{ - Q_D(QDeclarativeText); - if (!d->richText) - return; -#ifndef QT_NO_TEXTHTMLPARSER - d->doc->setHtml(d->text); -#else - d->doc->setPlainText(d->text); -#endif - d->updateLayout(); - d->markImgDirty(); -} - /*! Returns the number of resources (images) that are being loaded asynchronously. */ @@ -1031,35 +1141,7 @@ void QDeclarativeText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWid if (d->smooth) p->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform, d->smooth); - int w = width(); - int h = height(); - - int x = 0; - int y = 0; - - switch (d->hAlign) { - case AlignLeft: - x = 0; - break; - case AlignRight: - x = w - d->imgCache.width(); - break; - case AlignHCenter: - x = (w - d->imgCache.width()) / 2; - break; - } - - switch (d->vAlign) { - case AlignTop: - y = 0; - break; - case AlignBottom: - y = h - d->imgCache.height(); - break; - case AlignVCenter: - y = (h - d->imgCache.height()) / 2; - break; - } + QRect br = boundingRect().toRect(); bool needClip = clip() && (d->imgCache.width() > width() || d->imgCache.height() > height()); @@ -1068,7 +1150,7 @@ void QDeclarativeText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWid p->save(); p->setClipRect(boundingRect(), Qt::IntersectClip); } - p->drawPixmap(x, y, d->imgCache); + p->drawPixmap(br.x(), br.y(), d->imgCache); if (needClip) p->restore(); @@ -1077,20 +1159,8 @@ void QDeclarativeText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWid p->setRenderHint(QPainter::SmoothPixmapTransform, oldSmooth); } } else { - int h = height(); - int y = 0; + qreal y = boundingRect().y(); - switch (d->vAlign) { - case AlignTop: - y = 0; - break; - case AlignBottom: - y = h - d->cachedLayoutSize.height(); - break; - case AlignVCenter: - y = (h - d->cachedLayoutSize.height()) / 2; - break; - } bool needClip = !clip() && (d->cachedLayoutSize.width() > width() || d->cachedLayoutSize.height() > height()); @@ -1133,11 +1203,7 @@ void QDeclarativeText::componentComplete() if (d->dirty) { if (d->richText) { d->ensureDoc(); -#ifndef QT_NO_TEXTHTMLPARSER - d->doc->setHtml(d->text); -#else - d->doc->setPlainText(d->text); -#endif + d->doc->setText(d->text); } d->updateLayout(); d->dirty = false; diff --git a/src/declarative/graphicsitems/qdeclarativetext_p.h b/src/declarative/graphicsitems/qdeclarativetext_p.h index db21140..2cc4d52 100644 --- a/src/declarative/graphicsitems/qdeclarativetext_p.h +++ b/src/declarative/graphicsitems/qdeclarativetext_p.h @@ -143,6 +143,8 @@ public: qreal paintedWidth() const; qreal paintedHeight() const; + QRectF boundingRect() const; + Q_SIGNALS: void textChanged(const QString &text); void linkActivated(const QString &link); @@ -166,9 +168,6 @@ protected: private: Q_DISABLE_COPY(QDeclarativeText) Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeText) - - friend class QTextDocumentWithImageResources; - void reloadWithResources(); }; QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qdeclarativetext_p_p.h b/src/declarative/graphicsitems/qdeclarativetext_p_p.h index 332f99e..48552a7 100644 --- a/src/declarative/graphicsitems/qdeclarativetext_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativetext_p_p.h @@ -72,7 +72,7 @@ public: QDeclarativeTextPrivate() : color((QRgb)0), style(QDeclarativeText::Normal), hAlign(QDeclarativeText::AlignLeft), vAlign(QDeclarativeText::AlignTop), elideMode(QDeclarativeText::ElideNone), - imgDirty(true), dirty(true), richText(false), singleline(false), cache(true), doc(0), + imgDirty(true), dirty(true), richText(false), singleline(false), cache(true), internalWidthUpdate(false), doc(0), format(QDeclarativeText::AutoText), wrapMode(QDeclarativeText::NoWrap) { #if defined(QML_NO_TEXT_CACHE) @@ -119,11 +119,16 @@ public: bool richText:1; bool singleline:1; bool cache:1; + bool internalWidthUpdate:1; QTextDocumentWithImageResources *doc; QTextLayout layout; QSize cachedLayoutSize; QDeclarativeText::TextFormat format; QDeclarativeText::WrapMode wrapMode; + + static inline QDeclarativeTextPrivate *get(QDeclarativeText *t) { + return t->d_func(); + } }; QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index 3106daf..f3eef23 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -99,7 +99,7 @@ TextEdit { You can translate between cursor positions (characters from the start of the document) and pixel points using positionAt() and positionToRectangle(). - \sa Text, TextInput + \sa Text, TextInput, {declarative/text/textselection}{Text Selection example} */ /*! @@ -186,12 +186,6 @@ QString QDeclarativeTextEdit::text() const */ /*! - \qmlproperty bool TextEdit::font.outline - - Sets whether the font has an outline style. -*/ - -/*! \qmlproperty bool TextEdit::font.strikeout Sets whether the font has a strikeout style. @@ -209,7 +203,7 @@ QString QDeclarativeTextEdit::text() const Sets the font size in pixels. Using this function makes the font device dependent. - Use \l pointSize to set the size of the font in a device independent manner. + Use \l font.pointSize to set the size of the font in a device independent manner. */ /*! @@ -1231,8 +1225,13 @@ void QDeclarativeTextEdit::updateImgCache(const QRectF &rf) r = QRect(0,0,INT_MAX,INT_MAX); } else { r = rf.toRect(); - if (r != QRect(0,0,INT_MAX,INT_MAX)) // Don't translate "everything" + if (r.height() > INT_MAX/2) { + // Take care of overflow when translating "everything" + r.setTop(r.y() + d->yoff); + r.setBottom(INT_MAX/2); + } else { r = r.translated(0,d->yoff); + } } dirtyCache(r); emit update(); @@ -1264,6 +1263,15 @@ void QDeclarativeTextEditPrivate::init() control = new QTextControl(q); control->setIgnoreUnusedNavigationEvents(true); + // QTextControl follows the default text color + // defined by the platform, declarative text + // should be black by default + QPalette pal = control->palette(); + if (pal.color(QPalette::Text) != color) { + pal.setColor(QPalette::Text, color); + control->setPalette(pal); + } + QObject::connect(control, SIGNAL(updateRequest(QRectF)), q, SLOT(updateImgCache(QRectF))); QObject::connect(control, SIGNAL(textChanged()), q, SLOT(q_textChanged())); @@ -1284,6 +1292,7 @@ void QDeclarativeTextEditPrivate::init() void QDeclarativeTextEdit::q_textChanged() { updateSize(); + updateMicroFocus(); emit textChanged(text()); } @@ -1325,8 +1334,26 @@ void QDeclarativeTextEdit::updateSelectionMarkers() d->lastSelectionEnd = d->control->textCursor().selectionEnd(); emit selectionEndChanged(); } + updateMicroFocus(); } +QRectF QDeclarativeTextEdit::boundingRect() const +{ + Q_D(const QDeclarativeTextEdit); + QRectF r = QDeclarativePaintedItem::boundingRect(); + int cursorWidth = 1; + if(d->cursor) + cursorWidth = d->cursor->width(); + if(!d->document->isEmpty()) + cursorWidth += 3;// ### Need a better way of accounting for space between char and cursor + + // Could include font max left/right bearings to either side of rectangle. + + r.setRight(r.right() + cursorWidth); + return r.translated(0,d->yoff); +} + + //### we should perhaps be a bit smarter here -- depending on what has changed, we shouldn't // need to do all the calculations each time void QDeclarativeTextEdit::updateSize() @@ -1341,13 +1368,20 @@ void QDeclarativeTextEdit::updateSize() d->document->setTextWidth(width()); dy -= (int)d->document->size().height(); + int nyoff; if (heightValid()) { if (d->vAlign == AlignBottom) - d->yoff = dy; + nyoff = dy; else if (d->vAlign == AlignVCenter) - d->yoff = dy/2; + nyoff = dy/2; + else + nyoff = 0; } else { - d->yoff = 0; + nyoff = 0; + } + if (nyoff != d->yoff) { + prepareGeometryChange(); + d->yoff = nyoff; } setBaselineOffset(fm.ascent() + d->yoff + d->textMargin); @@ -1355,12 +1389,6 @@ void QDeclarativeTextEdit::updateSize() int newWidth = qCeil(d->document->idealWidth()); if (!widthValid() && d->document->textWidth() != newWidth) d->document->setTextWidth(newWidth); // ### Text does not align if width is not set (QTextDoc bug) - int cursorWidth = 1; - if(d->cursor) - cursorWidth = d->cursor->width(); - newWidth += cursorWidth; - if(!d->document->isEmpty()) - newWidth += 3;// ### Need a better way of accounting for space between char and cursor // ### Setting the implicitWidth triggers another updateSize(), and unless there are bindings nothing has changed. setImplicitWidth(newWidth); qreal newHeight = d->document->isEmpty() ? fm.height() : (int)d->document->size().height(); diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p.h index d08f607..279af78 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit_p.h +++ b/src/declarative/graphicsitems/qdeclarativetextedit_p.h @@ -58,7 +58,7 @@ QT_MODULE(Declarative) class QDeclarativeTextEditPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeTextEdit : public QDeclarativePaintedItem +class Q_AUTOTEST_EXPORT QDeclarativeTextEdit : public QDeclarativePaintedItem { Q_OBJECT Q_ENUMS(VAlignment) @@ -195,6 +195,8 @@ public: Q_INVOKABLE int positionAt(int x, int y) const; Q_INVOKABLE void moveCursorSelection(int pos); + QRectF boundingRect() const; + Q_SIGNALS: void textChanged(const QString &); void paintedSizeChanged(); diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp index ec14c78..2a5d73d 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp @@ -69,7 +69,7 @@ QT_BEGIN_NAMESPACE On Mac OS X, the Up/Down key bindings for Home/End are explicitly disabled. If you want such bindings (on any platform), you will need to construct them in QML. - \sa TextEdit, Text + \sa TextEdit, Text, {declarative/text/textselection}{Text Selection example} */ QDeclarativeTextInput::QDeclarativeTextInput(QDeclarativeItem* parent) : QDeclarativePaintedItem(*(new QDeclarativeTextInputPrivate), parent) @@ -100,8 +100,6 @@ void QDeclarativeTextInput::setText(const QString &s) if(s == text()) return; d->control->setText(s); - d->updateHorizontalScroll(); - //emit textChanged(); } /*! @@ -152,12 +150,6 @@ void QDeclarativeTextInput::setText(const QString &s) */ /*! - \qmlproperty bool TextInput::font.outline - - Sets whether the font has an outline style. -*/ - -/*! \qmlproperty bool TextInput::font.strikeout Sets whether the font has a strikeout style. @@ -283,6 +275,8 @@ void QDeclarativeTextInput::setSelectionColor(const QColor &color) QPalette p = d->control->palette(); p.setColor(QPalette::Highlight, d->selectionColor); d->control->setPalette(p); + clearCache(); + update(); emit selectionColorChanged(color); } @@ -307,6 +301,8 @@ void QDeclarativeTextInput::setSelectedTextColor(const QColor &color) QPalette p = d->control->palette(); p.setColor(QPalette::HighlightedText, d->selectedTextColor); d->control->setPalette(p); + clearCache(); + update(); emit selectedTextColorChanged(color); } @@ -556,9 +552,9 @@ void QDeclarativeTextInput::setAutoScroll(bool b) return; d->autoScroll = b; - d->updateHorizontalScroll(); //We need to repaint so that the scrolling is taking into account. updateSize(true); + d->updateHorizontalScroll(); emit autoScrollChanged(d->autoScroll); } @@ -832,7 +828,7 @@ void QDeclarativeTextInput::createCursor() QDeclarative_setParent_noEvent(d->cursorItem, this); d->cursorItem->setParentItem(this); d->cursorItem->setX(d->control->cursorToX()); - d->cursorItem->setHeight(d->control->height()); + d->cursorItem->setHeight(d->control->height()-1); // -1 to counter QLineControl's +1 which is not consistent with Text. } void QDeclarativeTextInput::moveCursor() @@ -916,6 +912,7 @@ void QDeclarativeTextInput::keyPressEvent(QKeyEvent* ev) void QDeclarativeTextInput::inputMethodEvent(QInputMethodEvent *ev) { Q_D(QDeclarativeTextInput); + ev->ignore(); inputMethodPreHandler(ev); if (ev->isAccepted()) return; @@ -1026,27 +1023,31 @@ bool QDeclarativeTextInput::event(QEvent* ev) void QDeclarativeTextInput::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { - if (newGeometry.width() != oldGeometry.width()) + Q_D(QDeclarativeTextInput); + if (newGeometry.width() != oldGeometry.width()) { updateSize(); + d->updateHorizontalScroll(); + } QDeclarativePaintedItem::geometryChanged(newGeometry, oldGeometry); } +int QDeclarativeTextInputPrivate::calculateTextWidth() +{ + return qRound(control->naturalTextWidth()); +} + void QDeclarativeTextInputPrivate::updateHorizontalScroll() { Q_Q(QDeclarativeTextInput); - QFontMetrics fm = QFontMetrics(font); int cix = qRound(control->cursorToX()); QRect br(q->boundingRect().toRect()); - //###Is this using bearing appropriately? - int minLB = qMax(0, -fm.minLeftBearing()); - int minRB = qMax(0, -fm.minRightBearing()); - int widthUsed = qRound(control->naturalTextWidth()) + 1 + minRB; + int widthUsed = calculateTextWidth(); if (autoScroll) { - if ((minLB + widthUsed) <= br.width()) { + if (widthUsed <= br.width()) { // text fits in br; use hscroll for alignment switch (hAlign & ~(Qt::AlignAbsolute|Qt::AlignVertical_Mask)) { case Qt::AlignRight: - hscroll = widthUsed - br.width() + 1; + hscroll = widthUsed - br.width() - 1; break; case Qt::AlignHCenter: hscroll = (widthUsed - br.width()) / 2; @@ -1056,7 +1057,6 @@ void QDeclarativeTextInputPrivate::updateHorizontalScroll() hscroll = 0; break; } - hscroll -= minLB; } else if (cix - hscroll >= br.width()) { // text doesn't fit, cursor is to the right of br (scroll right) hscroll = cix - br.width() + 1; @@ -1076,7 +1076,6 @@ void QDeclarativeTextInputPrivate::updateHorizontalScroll() } else { hscroll = 0; } - hscroll -= minLB; } } @@ -1101,7 +1100,6 @@ void QDeclarativeTextInput::drawContents(QPainter *p, const QRect &r) offset = QPoint(d->hscroll, 0); } d->control->draw(p, offset, r, flags); - p->restore(); } @@ -1148,6 +1146,42 @@ void QDeclarativeTextInput::selectAll() d->control->setSelection(0, d->control->text().length()); } +#ifndef QT_NO_CLIPBOARD +/*! + \qmlmethod TextInput::cut() + + Moves the currently selected text to the system clipboard. +*/ +void QDeclarativeTextInput::cut() +{ + Q_D(QDeclarativeTextInput); + d->control->copy(); + d->control->del(); +} + +/*! + \qmlmethod TextInput::copy() + + Copies the currently selected text to the system clipboard. +*/ +void QDeclarativeTextInput::copy() +{ + Q_D(QDeclarativeTextInput); + d->control->copy(); +} + +/*! + \qmlmethod TextInput::paste() + + Replaces the currently selected text by the contents of the system clipboard. +*/ +void QDeclarativeTextInput::paste() +{ + Q_D(QDeclarativeTextInput); + d->control->paste(); +} +#endif // QT_NO_CLIPBOARD + /*! \qmlmethod void TextInput::selectWord() @@ -1398,18 +1432,11 @@ void QDeclarativeTextInputPrivate::init() q->connect(control, SIGNAL(selectionChanged()), q, SLOT(selectionChanged())); q->connect(control, SIGNAL(textChanged(const QString &)), - q, SIGNAL(displayTextChanged(const QString &))); - q->connect(control, SIGNAL(textChanged(const QString &)), q, SLOT(q_textChanged())); q->connect(control, SIGNAL(accepted()), q, SIGNAL(accepted())); q->connect(control, SIGNAL(updateNeeded(QRect)), q, SLOT(updateRect(QRect))); - q->connect(control, SIGNAL(cursorPositionChanged(int,int)), - q, SLOT(updateRect()));//TODO: Only update rect between pos's - q->connect(control, SIGNAL(selectionChanged()), - q, SLOT(updateRect()));//TODO: Only update rect in selection - //Note that above TODOs probably aren't that big a savings q->updateSize(); oldValidity = control->hasAcceptableInput(); lastSelectionStart = 0; @@ -1422,6 +1449,8 @@ void QDeclarativeTextInputPrivate::init() void QDeclarativeTextInput::cursorPosChanged() { Q_D(QDeclarativeTextInput); + updateRect();//TODO: Only update rect between pos's + updateMicroFocus(); emit cursorPositionChanged(); if(!d->control->hasSelectedText()){ @@ -1439,6 +1468,7 @@ void QDeclarativeTextInput::cursorPosChanged() void QDeclarativeTextInput::selectionChanged() { Q_D(QDeclarativeTextInput); + updateRect();//TODO: Only update rect in selection emit selectedTextChanged(); if(d->lastSelectionStart != d->control->selectionStart()){ @@ -1458,9 +1488,11 @@ void QDeclarativeTextInput::selectionChanged() void QDeclarativeTextInput::q_textChanged() { Q_D(QDeclarativeTextInput); - d->updateHorizontalScroll(); updateSize(); + d->updateHorizontalScroll(); + updateMicroFocus(); emit textChanged(); + emit displayTextChanged(); if(hasAcceptableInput() != d->oldValidity){ d->oldValidity = hasAcceptableInput(); emit acceptableInputChanged(); @@ -1477,16 +1509,26 @@ void QDeclarativeTextInput::updateRect(const QRect &r) update(); } +QRectF QDeclarativeTextInput::boundingRect() const +{ + Q_D(const QDeclarativeTextInput); + QRectF r = QDeclarativePaintedItem::boundingRect(); + + int cursorWidth = d->cursorItem ? d->cursorItem->width() : d->control->cursorWidth(); + + // Could include font max left/right bearings to either side of rectangle. + + r.setRight(r.right() + cursorWidth); + return r; +} + void QDeclarativeTextInput::updateSize(bool needsRedraw) { Q_D(QDeclarativeTextInput); int w = width(); int h = height(); - setImplicitHeight(d->control->height()); - int cursorWidth = d->control->cursorWidth(); - if(d->cursorItem) - cursorWidth = d->cursorItem->width(); - setImplicitWidth(d->control->naturalTextWidth() + cursorWidth); + setImplicitHeight(d->control->height()-1); // -1 to counter QLineControl's +1 which is not consistent with Text. + setImplicitWidth(d->calculateTextWidth()); setContentsSize(QSize(width(), height()));//Repaints if changed if(w==width() && h==height() && needsRedraw){ clearCache(); diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p.h index 6934da4..b1862c6 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput_p.h +++ b/src/declarative/graphicsitems/qdeclarativetextinput_p.h @@ -56,7 +56,7 @@ QT_MODULE(Declarative) class QDeclarativeTextInputPrivate; class QValidator; -class Q_DECLARATIVE_EXPORT QDeclarativeTextInput : public QDeclarativePaintedItem +class Q_AUTOTEST_EXPORT QDeclarativeTextInput : public QDeclarativePaintedItem { Q_OBJECT Q_ENUMS(HAlignment) @@ -187,6 +187,8 @@ public: void drawContents(QPainter *p,const QRect &r); QVariant inputMethodQuery(Qt::InputMethodQuery property) const; + QRectF boundingRect() const; + Q_SIGNALS: void textChanged(); void cursorPositionChanged(); @@ -208,7 +210,7 @@ Q_SIGNALS: void inputMaskChanged(const QString &inputMask); void echoModeChanged(EchoMode echoMode); void passwordCharacterChanged(); - void displayTextChanged(const QString &text); + void displayTextChanged(); void focusOnPressChanged(bool focusOnPress); void autoScrollChanged(bool autoScroll); void selectByMouseChanged(bool selectByMouse); @@ -230,6 +232,11 @@ public Q_SLOTS: void selectAll(); void selectWord(); void select(int start, int end); +#ifndef QT_NO_CLIPBOARD + void cut(); + void copy(); + void paste(); +#endif private Q_SLOTS: void updateSize(bool needsRedraw = true); diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h index 8b74bcc..4ac5134 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h @@ -100,6 +100,7 @@ public: void startCreatingCursor(); void focusChanged(bool hasFocus); void updateHorizontalScroll(); + int calculateTextWidth(); QLineControl* control; diff --git a/src/declarative/graphicsitems/qdeclarativetranslate_p.h b/src/declarative/graphicsitems/qdeclarativetranslate_p.h index 939692b..0207dce 100644 --- a/src/declarative/graphicsitems/qdeclarativetranslate_p.h +++ b/src/declarative/graphicsitems/qdeclarativetranslate_p.h @@ -52,7 +52,7 @@ QT_MODULE(Declarative) class QDeclarativeTranslatePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeTranslate : public QGraphicsTransform +class Q_AUTOTEST_EXPORT QDeclarativeTranslate : public QGraphicsTransform { Q_OBJECT diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp index 5092349..786d6f9 100644 --- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp @@ -283,7 +283,7 @@ public: if (m_roles.count() == 1) m_roleNames.insert("modelData", m_roles.at(0)); if (m_roles.count()) - m_roleNames.insert("hasModelChildren", 0); + m_roleNames.insert("hasModelChildren", -1); } else if (m_listAccessor) { m_roleNames.insert("modelData", 0); if (m_listAccessor->type() == QDeclarativeListAccessor::Instance) { @@ -818,6 +818,12 @@ void QDeclarativeVisualDataModel::setDelegate(QDeclarativeComponent *delegate) \c view.qml: \snippet doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml 0 + If the \l model is a QAbstractItemModel subclass, the delegate can also + reference a \c hasModelChildren property (optionally qualified by a + \e model. prefix) that indicates whether the delegate's model item has + any child nodes. + + \sa modelIndex(), parentModelIndex() */ QVariant QDeclarativeVisualDataModel::rootIndex() const diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h b/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h index 079c9e6..d5c0de2 100644 --- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h +++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h @@ -60,7 +60,7 @@ class QDeclarativeComponent; class QDeclarativePackage; class QDeclarativeVisualDataModelPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeVisualModel : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeVisualModel : public QObject { Q_OBJECT @@ -103,7 +103,7 @@ private: class QDeclarativeVisualItemModelAttached; class QDeclarativeVisualItemModelPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeVisualItemModel : public QDeclarativeVisualModel +class Q_AUTOTEST_EXPORT QDeclarativeVisualItemModel : public QDeclarativeVisualModel { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeVisualItemModel) @@ -138,7 +138,7 @@ private: }; -class Q_DECLARATIVE_EXPORT QDeclarativeVisualDataModel : public QDeclarativeVisualModel +class Q_AUTOTEST_EXPORT QDeclarativeVisualDataModel : public QDeclarativeVisualModel { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeVisualDataModel) diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index 882e981..e096305 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -54,27 +54,20 @@ QT_BEGIN_NAMESPACE -QDeclarativeBindingData::QDeclarativeBindingData() -: updating(false), enabled(false) +void QDeclarativeBindingPrivate::refresh() { + Q_Q(QDeclarativeBinding); + q->update(); } -QDeclarativeBindingData::~QDeclarativeBindingData() -{ - removeError(); -} - -void QDeclarativeBindingData::refresh() +QDeclarativeBindingPrivate::QDeclarativeBindingPrivate() +: updating(false), enabled(false), deleted(0) { - if (enabled && !updating && q) { - QDeclarativeBinding *b = static_cast<QDeclarativeBinding *>(QDeclarativeExpressionPrivate::get(q)); - b->update(); - } } -QDeclarativeBindingPrivate::QDeclarativeBindingPrivate() -: QDeclarativeExpressionPrivate(new QDeclarativeBindingData) +QDeclarativeBindingPrivate::~QDeclarativeBindingPrivate() { + if (deleted) *deleted = true; } QDeclarativeBinding::QDeclarativeBinding(void *data, QDeclarativeRefCount *rc, QObject *obj, @@ -109,7 +102,7 @@ QDeclarativeBinding::~QDeclarativeBinding() void QDeclarativeBinding::setTarget(const QDeclarativeProperty &prop) { Q_D(QDeclarativeBinding); - d->bindingData()->property = prop; + d->property = prop; update(); } @@ -117,50 +110,53 @@ void QDeclarativeBinding::setTarget(const QDeclarativeProperty &prop) QDeclarativeProperty QDeclarativeBinding::property() const { Q_D(const QDeclarativeBinding); - return d->bindingData()->property; + return d->property; } void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags) { Q_D(QDeclarativeBinding); - QDeclarativeBindingData *data = d->bindingData(); - - if (!data->enabled || !data->context() || !data->context()->isValid()) + if (!d->enabled || !d->context() || !d->context()->isValid()) return; - data->addref(); - - if (!data->updating) { - data->updating = true; + if (!d->updating) { + d->updating = true; + bool wasDeleted = false; + d->deleted = &wasDeleted; - if (data->property.propertyType() == qMetaTypeId<QDeclarativeBinding *>()) { + if (d->property.propertyType() == qMetaTypeId<QDeclarativeBinding *>()) { - int idx = data->property.index(); + int idx = d->property.index(); Q_ASSERT(idx != -1); - QDeclarativeBinding *t = this; int status = -1; void *a[] = { &t, 0, &status, &flags }; - QMetaObject::metacall(data->property.object(), + QMetaObject::metacall(d->property.object(), QMetaObject::WriteProperty, idx, a); + if (wasDeleted) + return; + } else { - QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(data->context()->engine); + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(d->context()->engine); bool isUndefined = false; QVariant value; QScriptValue scriptValue = d->scriptValue(0, &isUndefined); - if (data->property.propertyTypeCategory() == QDeclarativeProperty::List) { + if (wasDeleted) + return; + + if (d->property.propertyTypeCategory() == QDeclarativeProperty::List) { value = ep->scriptValueToVariant(scriptValue, qMetaTypeId<QList<QObject *> >()); } else if (scriptValue.isNull() && - data->property.propertyTypeCategory() == QDeclarativeProperty::Object) { + d->property.propertyTypeCategory() == QDeclarativeProperty::Object) { value = QVariant::fromValue((QObject *)0); } else { - value = ep->scriptValueToVariant(scriptValue, data->property.propertyType()); + value = ep->scriptValueToVariant(scriptValue, d->property.propertyType()); if (value.userType() == QMetaType::QObjectStar && !qvariant_cast<QObject*>(value)) { // If the object is null, we extract the predicted type. While this isn't // 100% reliable, in many cases it gives us better error messages if we @@ -172,73 +168,78 @@ void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags) } - if (data->error.isValid()) { + if (d->error.isValid()) { - } else if (isUndefined && data->property.isResettable()) { + } else if (isUndefined && d->property.isResettable()) { - data->property.reset(); + d->property.reset(); - } else if (isUndefined && data->property.propertyType() == qMetaTypeId<QVariant>()) { + } else if (isUndefined && d->property.propertyType() == qMetaTypeId<QVariant>()) { - QDeclarativePropertyPrivate::write(data->property, QVariant(), flags); + QDeclarativePropertyPrivate::write(d->property, QVariant(), flags); } else if (isUndefined) { - QUrl url = QUrl(data->url); - int line = data->line; + QUrl url = QUrl(d->url); + int line = d->line; if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>")); - data->error.setUrl(url); - data->error.setLine(line); - data->error.setColumn(-1); - data->error.setDescription(QLatin1String("Unable to assign [undefined] to ") - + QLatin1String(QMetaType::typeName(data->property.propertyType())) - + QLatin1String(" ") + data->property.name()); + d->error.setUrl(url); + d->error.setLine(line); + d->error.setColumn(-1); + d->error.setDescription(QLatin1String("Unable to assign [undefined] to ") + + QLatin1String(QMetaType::typeName(d->property.propertyType())) + + QLatin1String(" ") + d->property.name()); } else if (!scriptValue.isRegExp() && scriptValue.isFunction()) { - QUrl url = QUrl(data->url); - int line = data->line; + QUrl url = QUrl(d->url); + int line = d->line; if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>")); - data->error.setUrl(url); - data->error.setLine(line); - data->error.setColumn(-1); - data->error.setDescription(QLatin1String("Unable to assign a function to a property.")); + d->error.setUrl(url); + d->error.setLine(line); + d->error.setColumn(-1); + d->error.setDescription(QLatin1String("Unable to assign a function to a property.")); + + } else if (d->property.object() && + !QDeclarativePropertyPrivate::write(d->property, value, flags)) { - } else if (data->property.object() && - !QDeclarativePropertyPrivate::write(data->property, value, flags)) { + if (wasDeleted) + return; - QUrl url = QUrl(data->url); - int line = data->line; + QUrl url = QUrl(d->url); + int line = d->line; if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>")); const char *valueType = 0; if (value.userType() == QVariant::Invalid) valueType = "null"; else valueType = QMetaType::typeName(value.userType()); - data->error.setUrl(url); - data->error.setLine(line); - data->error.setColumn(-1); - data->error.setDescription(QLatin1String("Unable to assign ") + - QLatin1String(valueType) + - QLatin1String(" to ") + - QLatin1String(QMetaType::typeName(data->property.propertyType()))); + d->error.setUrl(url); + d->error.setLine(line); + d->error.setColumn(-1); + d->error.setDescription(QLatin1String("Unable to assign ") + + QLatin1String(valueType) + + QLatin1String(" to ") + + QLatin1String(QMetaType::typeName(d->property.propertyType()))); } - if (data->error.isValid()) { - if (!data->addError(ep)) ep->warning(this->error()); + if (wasDeleted) + return; + + if (d->error.isValid()) { + if (!d->addError(ep)) ep->warning(this->error()); } else { - data->removeError(); + d->removeError(); } } - data->updating = false; + d->updating = false; + d->deleted = 0; } else { - qmlInfo(data->property.object()) << tr("Binding loop detected for property \"%1\"").arg(data->property.name()); + qmlInfo(d->property.object()) << tr("Binding loop detected for property \"%1\"").arg(d->property.name()); } - - data->release(); } void QDeclarativeBindingPrivate::emitValueChanged() @@ -250,13 +251,13 @@ void QDeclarativeBindingPrivate::emitValueChanged() void QDeclarativeBinding::setEnabled(bool e, QDeclarativePropertyPrivate::WriteFlags flags) { Q_D(QDeclarativeBinding); - d->bindingData()->enabled = e; + d->enabled = e; setNotifyOnValueChanged(e); QDeclarativeAbstractBinding::setEnabled(e, flags); if (e) { - addToObject(d->bindingData()->property.object()); + addToObject(d->property.object()); update(flags); } else { removeFromObject(); @@ -266,14 +267,14 @@ void QDeclarativeBinding::setEnabled(bool e, QDeclarativePropertyPrivate::WriteF int QDeclarativeBinding::propertyIndex() { Q_D(QDeclarativeBinding); - return QDeclarativePropertyPrivate::bindingIndex(d->bindingData()->property); + return QDeclarativePropertyPrivate::bindingIndex(d->property); } bool QDeclarativeBinding::enabled() const { Q_D(const QDeclarativeBinding); - return d->bindingData()->enabled; + return d->enabled; } QString QDeclarativeBinding::expression() const diff --git a/src/declarative/qml/qdeclarativebinding_p_p.h b/src/declarative/qml/qdeclarativebinding_p_p.h index 617ec4b..6926158 100644 --- a/src/declarative/qml/qdeclarativebinding_p_p.h +++ b/src/declarative/qml/qdeclarativebinding_p_p.h @@ -60,30 +60,24 @@ QT_BEGIN_NAMESPACE -class QDeclarativeBindingData : public QDeclarativeExpressionData -{ -public: - QDeclarativeBindingData(); - virtual ~QDeclarativeBindingData(); - - bool updating:1; - bool enabled:1; - - QDeclarativeProperty property; - - virtual void refresh(); -}; - class QDeclarativeBindingPrivate : public QDeclarativeExpressionPrivate { Q_DECLARE_PUBLIC(QDeclarativeBinding) public: QDeclarativeBindingPrivate(); - - QDeclarativeBindingData *bindingData() { return static_cast<QDeclarativeBindingData *>(data); } - const QDeclarativeBindingData *bindingData() const { return static_cast<const QDeclarativeBindingData *>(data); } + ~QDeclarativeBindingPrivate(); virtual void emitValueChanged(); + +protected: + virtual void refresh(); + +private: + bool updating:1; + bool enabled:1; + QDeclarativeProperty property; + + bool *deleted; }; QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 80a1093..23307c9 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -228,10 +228,10 @@ bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop, } break; case QMetaType::Float: - if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: float expected")); + if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: number expected")); break; case QVariant::Double: - if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: double expected")); + if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: number expected")); break; case QVariant::Color: { @@ -815,6 +815,10 @@ bool QDeclarativeCompiler::buildObject(Object *obj, const BindingContext &ctxt) } } + QDeclarativeCustomParser *cp = 0; + if (isCustomParser) + cp = output->types.at(obj->type).type->customParser(); + // Build all explicit properties specified foreach(Property *prop, obj->properties) { @@ -825,7 +829,9 @@ bool QDeclarativeCompiler::buildObject(Object *obj, const BindingContext &ctxt) bool canDefer = false; if (isCustomParser) { - if (doesPropertyExist(prop, obj)) { + if (doesPropertyExist(prop, obj) && + (!(cp->flags() & QDeclarativeCustomParser::AcceptsAttachedProperties) || + !isAttachedPropertyName(prop->name))) { int ids = compileState.ids.count(); COMPILE_CHECK(buildProperty(prop, obj, objCtxt)); canDefer = ids == compileState.ids.count(); @@ -876,8 +882,7 @@ bool QDeclarativeCompiler::buildObject(Object *obj, const BindingContext &ctxt) defaultProperty->release(); // Compile custom parser parts - if (isCustomParser/* && !customProps.isEmpty()*/) { - QDeclarativeCustomParser *cp = output->types.at(obj->type).type->customParser(); + if (isCustomParser && !customProps.isEmpty()) { cp->clearErrors(); cp->compiler = this; cp->object = obj; @@ -1356,7 +1361,7 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl Returns true if (value) property \a prop exists on obj, false otherwise. */ bool QDeclarativeCompiler::doesPropertyExist(QDeclarativeParser::Property *prop, - QDeclarativeParser::Object *obj) + QDeclarativeParser::Object *obj) { if(isAttachedPropertyName(prop->name) || prop->name == "id") return true; @@ -2176,6 +2181,18 @@ int QDeclarativeCompiler::evaluateEnum(const QByteArray& script) const return -1; } +const QMetaObject *QDeclarativeCompiler::resolveType(const QByteArray& name) const +{ + QDeclarativeType *qmltype = 0; + if (!enginePrivate->importDatabase.resolveType(unit->imports, name, &qmltype, + 0, 0, 0, 0)) + return 0; + if (!qmltype) + return 0; + return qmltype->metaObject(); +} + + // Ensures that the dynamic meta specification on obj is valid bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj) { @@ -2199,6 +2216,10 @@ bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj) if (QString::fromUtf8(prop.name).at(0).isUpper()) COMPILE_EXCEPTION(&prop, tr("Property names cannot begin with an upper case letter")); + + if (QDeclarativeEnginePrivate::get(engine)->globalClass->illegalNames().contains(prop.name)) + COMPILE_EXCEPTION(&prop, tr("Illegal property name")); + propNames.insert(prop.name); } @@ -2208,6 +2229,8 @@ bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj) COMPILE_EXCEPTION(obj, tr("Duplicate signal name")); if (QString::fromUtf8(name).at(0).isUpper()) COMPILE_EXCEPTION(obj, tr("Signal names cannot begin with an upper case letter")); + if (QDeclarativeEnginePrivate::get(engine)->globalClass->illegalNames().contains(name)) + COMPILE_EXCEPTION(obj, tr("Illegal signal name")); methodNames.insert(name); } for (int ii = 0; ii < obj->dynamicSlots.count(); ++ii) { @@ -2216,6 +2239,8 @@ bool QDeclarativeCompiler::checkDynamicMeta(QDeclarativeParser::Object *obj) COMPILE_EXCEPTION(obj, tr("Duplicate method name")); if (QString::fromUtf8(name).at(0).isUpper()) COMPILE_EXCEPTION(obj, tr("Method names cannot begin with an upper case letter")); + if (QDeclarativeEnginePrivate::get(engine)->globalClass->illegalNames().contains(name)) + COMPILE_EXCEPTION(obj, tr("Illegal method name")); methodNames.insert(name); } @@ -2424,7 +2449,7 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn for (int ii = 0; ii < obj->dynamicSlots.count(); ++ii) { Object::DynamicSlot &s = obj->dynamicSlots[ii]; QByteArray sig(s.name + '('); - QString funcScript(QLatin1String("(function(")); + QString funcScript(QLatin1String("(function ") + s.name + QLatin1Char('(')); for (int jj = 0; jj < s.parameterNames.count(); ++jj) { if (jj) { diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h index 908c703..49dc53f 100644 --- a/src/declarative/qml/qdeclarativecompiler_p.h +++ b/src/declarative/qml/qdeclarativecompiler_p.h @@ -146,7 +146,7 @@ private: }; class QMetaObjectBuilder; -class Q_DECLARATIVE_EXPORT QDeclarativeCompiler +class Q_AUTOTEST_EXPORT QDeclarativeCompiler { Q_DECLARE_TR_FUNCTIONS(QDeclarativeCompiler) public: @@ -161,6 +161,7 @@ public: static bool isSignalPropertyName(const QByteArray &); int evaluateEnum(const QByteArray& script) const; // for QDeclarativeCustomParser::evaluateEnum + const QMetaObject *resolveType(const QByteArray& name) const; // for QDeclarativeCustomParser::resolveType private: static void reset(QDeclarativeCompiledData *); diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index b4919ff..36c4b49 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -68,37 +68,85 @@ class QByteArray; /*! \class QDeclarativeComponent \since 4.7 - \brief The QDeclarativeComponent class encapsulates a QML component description. + \brief The QDeclarativeComponent class encapsulates a QML component definition. \mainclass + + Components are reusable, encapsulated QML elements with well-defined interfaces. + They are often defined in \l {qdeclarativedocuments.html}{Component Files}. + + A QDeclarativeComponent instance can be created from a QML file. + For example, if there is a \c main.qml file like this: + + \qml + import Qt 4.7 + + Item { + width: 200 + height: 200 + } + \endqml + + The following code loads this QML file as a component, creates an instance of + this component using create(), and then queries the \l Item's \l {Item::}{width} + value: + + \code + QDeclarativeEngine *engine = new QDeclarativeEngine; + QDeclarativeComponent component(engine, QUrl::fromLocalFile("main.qml")); + + QObject *myObject = component.create(); + QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(myObject); + int width = item->width(); // width = 200 + \endcode + + \sa {Using QML in C++ Applications}, {Integrating QML with existing Qt UI code} */ /*! \qmlclass Component QDeclarativeComponent \since 4.7 - \brief The Component element encapsulates a QML component description. + \brief The Component element encapsulates a QML component definition. Components are reusable, encapsulated QML elements with well-defined interfaces. - They are often defined in \l {qdeclarativedocuments.html}{Component Files}. - The \e Component element allows defining components within a QML file. - This can be useful for reusing a small component within a single QML - file, or for defining a component that logically belongs with the - file containing it. + Components are often defined by \l {qdeclarativedocuments.html}{component files} - + that is, \c .qml files. The \e Component element allows components to be defined + within QML items rather than in a separate file. This may be useful for reusing + a small component within a QML file, or for defining a component that logically + belongs with other QML components within a file. + + For example, here is a component that is used by multiple \l Loader objects: \qml Item { Component { id: redSquare + Rectangle { color: "red" width: 10 height: 10 } } + Loader { sourceComponent: redSquare } Loader { sourceComponent: redSquare; x: 20 } } \endqml + + Notice that while a \l Rectangle by itself would be automatically + rendered and displayed, this is not the case for the above rectangle + because it is defined inside a \c Component. The component encapsulates the + QML elements within, as if they were defined in a separate \c .qml + file, and is not loaded until requested (in this case, by the + two \l Loader objects). + + The Component element is commonly used to provide graphical components + for views. For example, the ListView::delegate property requires a Component + to specify how each list item is to be displayed. + + Component objects can also be dynamically generated using + \l{Qt::createComponent}{Qt.createComponent()}. */ /*! @@ -448,7 +496,8 @@ void QDeclarativeComponent::loadUrl(const QUrl &url) d->clear(); - if (url.isRelative() && !url.isEmpty()) + if ((url.isRelative() && !url.isEmpty()) + || url.scheme() == QLatin1String("file")) // Workaround QTBUG-11929 d->url = d->engine->baseUrl().resolved(url); else d->url = url; @@ -572,7 +621,9 @@ QScriptValue QDeclarativeComponent::createObject(QObject* parent) { Q_D(QDeclarativeComponent); QDeclarativeContext* ctxt = creationContext(); - if(!ctxt) + if(!ctxt && d->engine) + ctxt = d->engine->rootContext(); + if (!ctxt) return QScriptValue(QScriptValue::NullValue); QObject* ret = create(ctxt); if (!ret) diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 60e9dd3..3d25291 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -145,6 +145,8 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate() has been created in that context is an expensive operation (essentially forcing all bindings to reevaluate). Thus whenever possible you should complete "setup" of the context before using it to create any objects. + + \sa {Using QML in C++ Applications} */ /*! \internal */ diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h index 1f5aaf1..c5a039a 100644 --- a/src/declarative/qml/qdeclarativecontext_p.h +++ b/src/declarative/qml/qdeclarativecontext_p.h @@ -198,6 +198,7 @@ public: // context QDeclarativeComponentAttached *componentAttached; + // Return the outermost id for obj, if any. QString findObjectId(const QObject *obj) const; static QDeclarativeContextData *get(QDeclarativeContext *context) { diff --git a/src/declarative/qml/qdeclarativecustomparser.cpp b/src/declarative/qml/qdeclarativecustomparser.cpp index 472a883..97a6a00 100644 --- a/src/declarative/qml/qdeclarativecustomparser.cpp +++ b/src/declarative/qml/qdeclarativecustomparser.cpp @@ -295,4 +295,14 @@ int QDeclarativeCustomParser::evaluateEnum(const QByteArray& script) const return compiler->evaluateEnum(script); } +/*! + Resolves \a name to a type, or 0 if it is not a type. This can be used + to type-check object nodes. +*/ +const QMetaObject *QDeclarativeCustomParser::resolveType(const QByteArray& name) const +{ + return compiler->resolveType(name); +} + + QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativecustomparser_p.h b/src/declarative/qml/qdeclarativecustomparser_p.h index 0e397c5..509e30a 100644 --- a/src/declarative/qml/qdeclarativecustomparser_p.h +++ b/src/declarative/qml/qdeclarativecustomparser_p.h @@ -113,10 +113,18 @@ private: class Q_DECLARATIVE_EXPORT QDeclarativeCustomParser { public: - QDeclarativeCustomParser() : compiler(0), object(0) {} + enum Flag { + NoFlag = 0x00000000, + AcceptsAttachedProperties = 0x00000001 + }; + Q_DECLARE_FLAGS(Flags, Flag); + + QDeclarativeCustomParser() : compiler(0), object(0), m_flags(NoFlag) {} + QDeclarativeCustomParser(Flags f) : compiler(0), object(0), m_flags(f) {} virtual ~QDeclarativeCustomParser() {} void clearErrors(); + Flags flags() const { return m_flags; } virtual QByteArray compile(const QList<QDeclarativeCustomParserProperty> &)=0; virtual void setCustomData(QObject *, const QByteArray &)=0; @@ -130,12 +138,16 @@ protected: int evaluateEnum(const QByteArray&) const; + const QMetaObject *resolveType(const QByteArray&) const; + private: QList<QDeclarativeError> exceptions; QDeclarativeCompiler *compiler; QDeclarativeParser::Object *object; + Flags m_flags; friend class QDeclarativeCompiler; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativeCustomParser::Flags); #if 0 #define QML_REGISTER_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, CUSTOMTYPE) \ diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp index a3cddb5..5b30bde 100644 --- a/src/declarative/qml/qdeclarativedom.cpp +++ b/src/declarative/qml/qdeclarativedom.cpp @@ -493,7 +493,7 @@ int QDeclarativeDomDynamicProperty::propertyType() const return QMetaType::type("int"); case QDeclarativeParser::Object::DynamicProperty::Real: - return QMetaType::type("double"); + return sizeof(qreal) == sizeof(double) ? QMetaType::type("double") : QMetaType::type("float"); case QDeclarativeParser::Object::DynamicProperty::String: return QMetaType::type("QString"); diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 86053c4..97ef99c 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -151,6 +151,7 @@ void QDeclarativeEnginePrivate::defineModule() } /*! +\keyword QmlGlobalQtObject \qmlclass Qt QDeclarativeEnginePrivate \brief The QML global Qt object provides useful enums and functions from Qt. @@ -218,7 +219,7 @@ of their use. QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e) -: captureProperties(false), rootContext(0), currentExpression(0), isDebugging(false), +: captureProperties(false), rootContext(0), isDebugging(false), outputWarningsToStdErr(true), contextClass(0), sharedContext(0), sharedScope(0), objectClass(0), valueTypeClass(0), globalClass(0), cleanup(0), erroredBindings(0), inProgressCreations(0), scriptEngine(this), workerScriptEngine(0), componentAttached(0), @@ -620,24 +621,16 @@ QNetworkAccessManager *QDeclarativeEngine::networkAccessManager() const /*! Sets the \a provider to use for images requested via the \e - image: url scheme, with host \a providerId. + image: url scheme, with host \a providerId. The QDeclarativeEngine + takes ownership of \a provider. - QDeclarativeImageProvider allows images to be provided to QML - asynchronously. The image request will be run in a low priority - thread. This allows potentially costly image loading to be done in - the background, without affecting the performance of the UI. + Image providers enable support for pixmap and threaded image + requests. See the QDeclarativeImageProvider documentation for details on + implementing and using image providers. Note that images loaded from a QDeclarativeImageProvider are cached by QPixmapCache, similar to any image loaded by QML. - The QDeclarativeEngine assumes ownership of the provider. - - This example creates a provider with id \e colors: - - \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 0 - - \snippet examples/declarative/cppextensions/imageprovider/imageprovider-example.qml 0 - \sa removeImageProvider() */ void QDeclarativeEngine::addImageProvider(const QString &providerId, QDeclarativeImageProvider *provider) @@ -671,16 +664,35 @@ void QDeclarativeEngine::removeImageProvider(const QString &providerId) delete d->imageProviders.take(providerId); } +QDeclarativeImageProvider::ImageType QDeclarativeEnginePrivate::getImageProviderType(const QUrl &url) +{ + QMutexLocker locker(&mutex); + QDeclarativeImageProvider *provider = imageProviders.value(url.host()); + if (provider) + return provider->imageType(); + return static_cast<QDeclarativeImageProvider::ImageType>(-1); +} + QImage QDeclarativeEnginePrivate::getImageFromProvider(const QUrl &url, QSize *size, const QSize& req_size) { QMutexLocker locker(&mutex); QImage image; QDeclarativeImageProvider *provider = imageProviders.value(url.host()); if (provider) - image = provider->request(url.path().mid(1), size, req_size); + image = provider->requestImage(url.path().mid(1), size, req_size); return image; } +QPixmap QDeclarativeEnginePrivate::getPixmapFromProvider(const QUrl &url, QSize *size, const QSize& req_size) +{ + QMutexLocker locker(&mutex); + QPixmap pixmap; + QDeclarativeImageProvider *provider = imageProviders.value(url.host()); + if (provider) + pixmap = provider->requestPixmap(url.path().mid(1), size, req_size); + return pixmap; +} + /*! Return the base URL for this engine. The base URL is only used to resolve components when a relative URL is passed to the @@ -1033,6 +1045,17 @@ QDeclarativeContextData *QDeclarativeEnginePrivate::getContext(QScriptContext *c return contextClass->contextFromValue(scopeNode); } +/*! + Returns the QUrl associated with the script \a ctxt for the case that there is + no QDeclarativeContext. +*/ +QUrl QDeclarativeEnginePrivate::getUrl(QScriptContext *ctxt) +{ + QScriptValue scopeNode = QScriptDeclarativeClass::scopeChainValue(ctxt, -3); + Q_ASSERT(scopeNode.isValid()); + Q_ASSERT(QScriptDeclarativeClass::scriptClass(scopeNode) == contextClass); + return contextClass->urlFromValue(scopeNode); +} QString QDeclarativeEnginePrivate::urlToLocalFileOrQrc(const QUrl& url) { @@ -1066,7 +1089,9 @@ If you are certain the files will be local, you could simplify to: \snippet doc/src/snippets/declarative/componentCreation.js 2 To create a QML object from an arbitrary string of QML (instead of a file), -use \l{Qt::createQmlObject()}{Qt.createQmlObject()}. +use \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()}. + +\sa {Dynamic Object Management} */ QScriptValue QDeclarativeEnginePrivate::createComponent(QScriptContext *ctxt, QScriptEngine *engine) @@ -1075,16 +1100,19 @@ QScriptValue QDeclarativeEnginePrivate::createComponent(QScriptContext *ctxt, QS static_cast<QDeclarativeScriptEngine*>(engine)->p; QDeclarativeEngine* activeEngine = activeEnginePriv->q_func(); - QDeclarativeContextData* context = activeEnginePriv->getContext(ctxt); - Q_ASSERT(context); - if(ctxt->argumentCount() != 1) { return ctxt->throwError(QLatin1String("Qt.createComponent(): Invalid arguments")); - }else{ + } else { + QString arg = ctxt->argument(0).toString(); if (arg.isEmpty()) return engine->nullValue(); - QUrl url = QUrl(context->resolvedUrl(QUrl(arg))); + QUrl url; + QDeclarativeContextData* context = activeEnginePriv->getContext(ctxt); + if (context) + url = QUrl(context->resolvedUrl(QUrl(arg))); + else + url = activeEnginePriv->getUrl(ctxt).resolved(QUrl(arg)); QDeclarativeComponent *c = new QDeclarativeComponent(activeEngine, url, activeEngine); QDeclarativeComponentPrivate::get(c)->creationContext = context; QDeclarativeData::get(c, true)->setImplicitDestructible(); @@ -1110,7 +1138,9 @@ Each object in this array has the members \c lineNumber, \c columnNumber, \c fil Note that this function returns immediately, and therefore may not work if the \a qml string loads new components (that is, external QML files that have not yet been loaded). -If this is the case, consider using \l{Qt::createComponent()}{Qt.createComponent()} instead. +If this is the case, consider using \l{QML:Qt::createComponent()}{Qt.createComponent()} instead. + +\sa {Dynamic Object Management} */ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QScriptEngine *engine) @@ -1245,11 +1275,12 @@ QScriptValue QDeclarativeEnginePrivate::formatDate(QScriptContext*ctxt, QScriptE 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(); + QScriptValue formatArg = ctxt->argument(1); + if (formatArg.isString()) { + QString format = formatArg.toString(); return engine->newVariant(qVariantFromValue(date.toString(format))); - } else if (ctxt->argument(1).isNumber()) { - enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32()); + } else if (formatArg.isNumber()) { + enumFormat = Qt::DateFormat(formatArg.toUInt32()); } else { return ctxt->throwError(QLatin1String("Qt.formatDate(): Invalid date format")); } @@ -1272,11 +1303,12 @@ QScriptValue QDeclarativeEnginePrivate::formatTime(QScriptContext*ctxt, QScriptE 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(); + QScriptValue formatArg = ctxt->argument(1); + if (formatArg.isString()) { + QString format = formatArg.toString(); return engine->newVariant(qVariantFromValue(date.toString(format))); - } else if (ctxt->argument(1).isNumber()) { - enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32()); + } else if (formatArg.isNumber()) { + enumFormat = Qt::DateFormat(formatArg.toUInt32()); } else { return ctxt->throwError(QLatin1String("Qt.formatTime(): Invalid time format")); } @@ -1362,11 +1394,12 @@ QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScr 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(); + QScriptValue formatArg = ctxt->argument(1); + if (formatArg.isString()) { + QString format = formatArg.toString(); return engine->newVariant(qVariantFromValue(date.toString(format))); - } else if (ctxt->argument(1).isNumber()) { - enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32()); + } else if (formatArg.isNumber()) { + enumFormat = Qt::DateFormat(formatArg.toUInt32()); } else { return ctxt->throwError(QLatin1String("Qt.formatDateTime(): Invalid datetime format")); } @@ -1714,8 +1747,7 @@ void QDeclarativeEnginePrivate::warning(QDeclarativeEnginePrivate *engine, const /*! \qmlmethod Qt::quit() This function causes the QDeclarativeEngine::quit() signal to be emitted. -Within the \l {Qt Declarative UI Runtime}{qml} application this causes the -launcher application to exit. +Within the \l {QML Viewer}, this causes the launcher application to exit. */ QScriptValue QDeclarativeEnginePrivate::quit(QScriptContext * /*ctxt*/, QScriptEngine *e) diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 3269e98..a5c8c38 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -64,6 +64,7 @@ #include "qdeclarativecontext.h" #include "private/qdeclarativecontext_p.h" #include "qdeclarativeexpression.h" +#include "qdeclarativeimageprovider.h" #include "private/qdeclarativeproperty_p.h" #include "private/qdeclarativepropertycache_p.h" #include "private/qdeclarativeobjectscriptclass_p.h" @@ -161,7 +162,6 @@ public: QPODVector<CapturedProperty> capturedProperties; QDeclarativeContext *rootContext; - QDeclarativeExpression *currentExpression; bool isDebugging; bool outputWarningsToStdErr; @@ -233,7 +233,9 @@ public: mutable QDeclarativeNetworkAccessManagerFactory *networkAccessManagerFactory; QHash<QString,QDeclarativeImageProvider*> imageProviders; + QDeclarativeImageProvider::ImageType getImageProviderType(const QUrl &url); QImage getImageFromProvider(const QUrl &url, QSize *size, const QSize& req_size); + QPixmap getPixmapFromProvider(const QUrl &url, QSize *size, const QSize& req_size); mutable QMutex mutex; @@ -315,6 +317,7 @@ public: static QDeclarativeEnginePrivate *get(QScriptEngine *e) { return static_cast<QDeclarativeScriptEngine*>(e)->p; } static QDeclarativeEngine *get(QDeclarativeEnginePrivate *p) { return p->q_func(); } QDeclarativeContextData *getContext(QScriptContext *); + QUrl getUrl(QScriptContext *); static QString urlToLocalFileOrQrc(const QUrl& url); diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp index 7ae0050..001da46 100644 --- a/src/declarative/qml/qdeclarativeenginedebug.cpp +++ b/src/declarative/qml/qdeclarativeenginedebug.cpp @@ -50,6 +50,8 @@ #include "private/qdeclarativecontext_p.h" #include "private/qdeclarativewatcher_p.h" #include "private/qdeclarativevaluetype_p.h" +#include "private/qdeclarativevmemetaobject_p.h" +#include "private/qdeclarativeexpression_p.h" #include <QtCore/qdebug.h> #include <QtCore/qmetaobject.h> @@ -59,7 +61,7 @@ QT_BEGIN_NAMESPACE QList<QDeclarativeEngine *> QDeclarativeEngineDebugServer::m_engines; QDeclarativeEngineDebugServer::QDeclarativeEngineDebugServer(QObject *parent) : QDeclarativeDebugService(QLatin1String("QDeclarativeEngine"), parent), - m_watch(new QDeclarativeWatcher(this)) + m_watch(new QDeclarativeWatcher(this)) { QObject::connect(m_watch, SIGNAL(propertyChanged(int,int,QMetaProperty,QVariant)), this, SLOT(propertyChanged(int,int,QMetaProperty,QVariant))); @@ -99,6 +101,29 @@ QDataStream &operator>>(QDataStream &ds, return ds; } +static inline bool isSignalPropertyName(const QString &signalName) +{ + // see QmlCompiler::isSignalPropertyName + return signalName.length() >= 3 && signalName.startsWith(QLatin1String("on")) && + signalName.at(2).isLetter() && signalName.at(2).isUpper(); +} + +static bool hasValidSignal(QObject *object, const QString &propertyName) +{ + if (!isSignalPropertyName(propertyName)) + return false; + + QString signalName = propertyName.mid(2); + signalName[0] = signalName.at(0).toLower(); + + int sigIdx = QDeclarativePropertyPrivate::findSignalByName(object->metaObject(), signalName.toLatin1()).methodIndex(); + + if (sigIdx == -1) + return false; + + return true; +} + QDeclarativeEngineDebugServer::QDeclarativeObjectProperty QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx) { @@ -396,7 +421,6 @@ void QDeclarativeEngineDebugServer::messageReceived(const QByteArray &message) QByteArray reply; QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("WATCH_EXPR_OBJECT_R") << queryId << ok; - sendMessage(reply); } else if (type == "NO_WATCH") { int queryId; @@ -430,9 +454,120 @@ void QDeclarativeEngineDebugServer::messageReceived(const QByteArray &message) rs << QByteArray("EVAL_EXPRESSION_R") << queryId << result; sendMessage(reply); + } else if (type == "SET_BINDING") { + int objectId; + QString propertyName; + QVariant expr; + bool isLiteralValue; + ds >> objectId >> propertyName >> expr >> isLiteralValue; + setBinding(objectId, propertyName, expr, isLiteralValue); + } else if (type == "RESET_BINDING") { + int objectId; + QString propertyName; + ds >> objectId >> propertyName; + resetBinding(objectId, propertyName); + } else if (type == "SET_METHOD_BODY") { + int objectId; + QString methodName; + QString methodBody; + ds >> objectId >> methodName >> methodBody; + setMethodBody(objectId, methodName, methodBody); } } +void QDeclarativeEngineDebugServer::setBinding(int objectId, + const QString &propertyName, + const QVariant &expression, + bool isLiteralValue) +{ + QObject *object = objectForId(objectId); + QDeclarativeContext *context = qmlContext(object); + + if (object && context) { + + if (isLiteralValue) { + QDeclarativeProperty literalProperty(object, propertyName, context); + literalProperty.write(expression); + } else { + if (hasValidSignal(object, propertyName)) { + QDeclarativeProperty property(object, propertyName); + QDeclarativeExpression *declarativeExpression = new QDeclarativeExpression(context, object, expression.toString()); + QDeclarativePropertyPrivate::setSignalExpression(property, declarativeExpression); + } else { + QDeclarativeBinding *binding = new QDeclarativeBinding(expression.toString(), object, context); + QDeclarativeProperty property(object, propertyName); + binding->setTarget(property); + binding->setNotifyOnValueChanged(true); + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(property, binding); + if (oldBinding) + oldBinding->destroy(); + binding->update(); + } + } + } +} + +void QDeclarativeEngineDebugServer::resetBinding(int objectId, const QString &propertyName) +{ + QObject *object = objectForId(objectId); + QDeclarativeContext *context = qmlContext(object); + + if (object && context) { + if (object->property(propertyName.toLatin1()).isValid()) { + QDeclarativeProperty property(object, propertyName); + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(property); + if (oldBinding) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(property, 0); + if (oldBinding) + oldBinding->destroy(); + } else { + if (property.isResettable()) { + property.reset(); + } + } + } + } +} + +void QDeclarativeEngineDebugServer::setMethodBody(int objectId, const QString &method, const QString &body) +{ + QObject *object = objectForId(objectId); + QDeclarativeContext *context = qmlContext(object); + if (!object || !context || !context->engine()) + return; + QDeclarativeContextData *contextData = QDeclarativeContextData::get(context); + if (!contextData) + return; + + QDeclarativePropertyCache::Data dummy; + QDeclarativePropertyCache::Data *prop = + QDeclarativePropertyCache::property(context->engine(), object, method, dummy); + + if (!prop || !(prop->flags & QDeclarativePropertyCache::Data::IsVMEFunction)) + return; + + QMetaMethod metaMethod = object->metaObject()->method(prop->coreIndex); + QList<QByteArray> paramNames = metaMethod.parameterNames(); + + QString paramStr; + for (int ii = 0; ii < paramNames.count(); ++ii) { + if (ii != 0) paramStr.append(QLatin1String(",")); + paramStr.append(QString::fromUtf8(paramNames.at(ii))); + } + + QString jsfunction = QLatin1String("(function ") + method + QLatin1String("(") + paramStr + + QLatin1String(") {"); + jsfunction += body; + jsfunction += QLatin1String("\n})"); + + QDeclarativeVMEMetaObject *vmeMetaObject = + static_cast<QDeclarativeVMEMetaObject*>(QObjectPrivate::get(object)->metaObject); + Q_ASSERT(vmeMetaObject); // the fact we found the property above should guarentee this + + int lineNumber = vmeMetaObject->vmeMethodLineNumber(prop->coreIndex); + vmeMetaObject->setVmeMethod(prop->coreIndex, QDeclarativeExpressionPrivate::evalInObjectScope(contextData, object, jsfunction, contextData->url.toString(), lineNumber, 0)); +} + void QDeclarativeEngineDebugServer::propertyChanged(int id, int objectId, const QMetaProperty &property, const QVariant &value) { QByteArray reply; diff --git a/src/declarative/qml/qdeclarativeenginedebug_p.h b/src/declarative/qml/qdeclarativeenginedebug_p.h index 9491411..ea35b40 100644 --- a/src/declarative/qml/qdeclarativeenginedebug_p.h +++ b/src/declarative/qml/qdeclarativeenginedebug_p.h @@ -107,6 +107,9 @@ private: QDeclarativeObjectData objectData(QObject *); QDeclarativeObjectProperty propertyData(QObject *, int); QVariant valueContents(const QVariant &defaultValue) const; + void setBinding(int objectId, const QString &propertyName, const QVariant &expression, bool isLiteralValue); + void resetBinding(int objectId, const QString &propertyName); + void setMethodBody(int objectId, const QString &method, const QString &body); static QList<QDeclarativeEngine *> m_engines; QDeclarativeWatcher *m_watch; diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp index 8ae5f2f..9935e38 100644 --- a/src/declarative/qml/qdeclarativeexpression.cpp +++ b/src/declarative/qml/qdeclarativeexpression.cpp @@ -71,109 +71,95 @@ bool QDeclarativeDelayedError::addError(QDeclarativeEnginePrivate *e) return true; } -QDeclarativeExpressionData::QDeclarativeExpressionData() -: q(0), dataRef(0), expressionFunctionValid(false), expressionRewritten(false), me(0), - trackChange(false), isShared(false), line(-1), guardList(0), guardListLength(0) +QDeclarativeQtScriptExpression::QDeclarativeQtScriptExpression() +: dataRef(0), expressionFunctionMode(ExplicitContext), scopeObject(0), trackChange(false), + guardList(0), guardListLength(0), guardObject(0), guardObjectNotifyIndex(-1), deleted(0) { } -QDeclarativeExpressionData::~QDeclarativeExpressionData() +QDeclarativeQtScriptExpression::~QDeclarativeQtScriptExpression() { if (guardList) { delete [] guardList; guardList = 0; } if (dataRef) dataRef->release(); + if (deleted) *deleted = true; } QDeclarativeExpressionPrivate::QDeclarativeExpressionPrivate() -: data(new QDeclarativeExpressionData) +: expressionFunctionValid(true), line(-1) { - data->q = this; -} - -QDeclarativeExpressionPrivate::QDeclarativeExpressionPrivate(QDeclarativeExpressionData *d) -: data(d) -{ - data->q = this; } QDeclarativeExpressionPrivate::~QDeclarativeExpressionPrivate() { - if (data) { - delete [] data->guardList; - data->guardList = 0; - data->guardListLength = 0; - data->q = 0; - data->release(); - data = 0; - } } void QDeclarativeExpressionPrivate::init(QDeclarativeContextData *ctxt, const QString &expr, QObject *me) { - data->expression = expr; + expression = expr; - data->QDeclarativeAbstractExpression::setContext(ctxt); - data->me = me; + QDeclarativeAbstractExpression::setContext(ctxt); + scopeObject = me; + expressionFunctionValid = false; } -void QDeclarativeExpressionPrivate::init(QDeclarativeContextData *ctxt, void *expr, QDeclarativeRefCount *rc, - QObject *me, const QString &url, int lineNumber) +void QDeclarativeExpressionPrivate::init(QDeclarativeContextData *ctxt, void *expr, + QDeclarativeRefCount *rc, + QObject *me, const QString &srcUrl, int lineNumber) { - data->url = url; - data->line = lineNumber; + url = srcUrl; + line = lineNumber; - if (data->dataRef) data->dataRef->release(); - data->dataRef = rc; - if (data->dataRef) data->dataRef->addref(); + if (dataRef) dataRef->release(); + dataRef = rc; + if (dataRef) dataRef->addref(); quint32 *exprData = (quint32 *)expr; QDeclarativeCompiledData *dd = (QDeclarativeCompiledData *)rc; - data->expressionRewritten = true; - data->expression = QString::fromRawData((QChar *)(exprData + 2), exprData[1]); + expression = QString::fromRawData((QChar *)(exprData + 2), exprData[1]); int progIdx = *(exprData); - bool isShared = progIdx & 0x80000000; + bool isSharedProgram = progIdx & 0x80000000; progIdx &= 0x7FFFFFFF; QDeclarativeEngine *engine = ctxt->engine; QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine); - if (isShared) { + if (isSharedProgram) { if (!dd->cachedClosures.at(progIdx)) { QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine); scriptContext->pushScope(ep->contextClass->newSharedContext()); scriptContext->pushScope(ep->globalClass->staticGlobalObject()); - dd->cachedClosures[progIdx] = new QScriptValue(scriptEngine->evaluate(data->expression, data->url, data->line)); + dd->cachedClosures[progIdx] = new QScriptValue(scriptEngine->evaluate(expression, url, line)); scriptEngine->popContext(); } - data->expressionFunction = *dd->cachedClosures.at(progIdx); - data->isShared = true; - data->expressionFunctionValid = true; + expressionFunction = *dd->cachedClosures.at(progIdx); + expressionFunctionMode = SharedContext; + expressionFunctionValid = true; } else { #if !defined(Q_OS_SYMBIAN) //XXX Why doesn't this work? if (!dd->cachedPrograms.at(progIdx)) { - dd->cachedPrograms[progIdx] = - new QScriptProgram(data->expression, data->url, data->line); + dd->cachedPrograms[progIdx] = new QScriptProgram(expression, url, line); } - data->expressionFunction = evalInObjectScope(ctxt, me, *dd->cachedPrograms.at(progIdx), - &data->expressionContext); + expressionFunction = evalInObjectScope(ctxt, me, *dd->cachedPrograms.at(progIdx), + &expressionContext); #else - data->expressionFunction = evalInObjectScope(ctxt, me, data->expression, - &data->expressionContext); + expressionFunction = evalInObjectScope(ctxt, me, expression, &expressionContext); #endif - data->expressionFunctionValid = true; + expressionFunctionMode = ExplicitContext; + expressionFunctionValid = true; } - data->QDeclarativeAbstractExpression::setContext(ctxt); - data->me = me; + QDeclarativeAbstractExpression::setContext(ctxt); + scopeObject = me; } QScriptValue QDeclarativeExpressionPrivate::evalInObjectScope(QDeclarativeContextData *context, QObject *object, @@ -214,10 +200,34 @@ QScriptValue QDeclarativeExpressionPrivate::evalInObjectScope(QDeclarativeContex /*! \class QDeclarativeExpression - \since 4.7 + \since 4.7 \brief The QDeclarativeExpression class evaluates JavaScript in a QML context. + + For example, given a file \c main.qml like this: + + \qml + import Qt 4.7 + + Item { + width: 200; height: 200 + } + \endqml + + The following code evaluates a JavaScript expression in the context of the + above QML: + + \code + QDeclarativeEngine *engine = new QDeclarativeEngine; + QDeclarativeComponent component(engine, QUrl::fromLocalFile("main.qml")); + + QObject *myObject = component.create(); + QDeclarativeExpression *expr = new QDeclarativeExpression(engine->rootContext(), myObject, "width * 2"); + int result = expr->evaluate().toInt(); // result = 400 + \endcode */ +static int QDeclarativeExpression_notifyIdx = -1; + /*! Create an invalid QDeclarativeExpression. @@ -227,6 +237,11 @@ QScriptValue QDeclarativeExpressionPrivate::evalInObjectScope(QDeclarativeContex QDeclarativeExpression::QDeclarativeExpression() : QObject(*new QDeclarativeExpressionPrivate, 0) { + Q_D(QDeclarativeExpression); + + if (QDeclarativeExpression_notifyIdx == -1) + QDeclarativeExpression_notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); + d->setNotifyObject(this, QDeclarativeExpression_notifyIdx); } /*! \internal */ @@ -238,6 +253,10 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, vo { Q_D(QDeclarativeExpression); d->init(ctxt, expr, rc, me, url, lineNumber); + + if (QDeclarativeExpression_notifyIdx == -1) + QDeclarativeExpression_notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); + d->setNotifyObject(this, QDeclarativeExpression_notifyIdx); } /*! @@ -255,6 +274,10 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContext *ctxt, { Q_D(QDeclarativeExpression); d->init(QDeclarativeContextData::get(ctxt), expression, scope); + + if (QDeclarativeExpression_notifyIdx == -1) + QDeclarativeExpression_notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); + d->setNotifyObject(this, QDeclarativeExpression_notifyIdx); } /*! @@ -266,6 +289,10 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, QO { Q_D(QDeclarativeExpression); d->init(ctxt, expression, scope); + + if (QDeclarativeExpression_notifyIdx == -1) + QDeclarativeExpression_notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); + d->setNotifyObject(this, QDeclarativeExpression_notifyIdx); } /*! \internal */ @@ -275,6 +302,10 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, QO { Q_D(QDeclarativeExpression); d->init(ctxt, expression, scope); + + if (QDeclarativeExpression_notifyIdx == -1) + QDeclarativeExpression_notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); + d->setNotifyObject(this, QDeclarativeExpression_notifyIdx); } /*! @@ -291,7 +322,7 @@ QDeclarativeExpression::~QDeclarativeExpression() QDeclarativeEngine *QDeclarativeExpression::engine() const { Q_D(const QDeclarativeExpression); - return d->data->context()?d->data->context()->engine:0; + return d->context()?d->context()->engine:0; } /*! @@ -301,7 +332,7 @@ QDeclarativeEngine *QDeclarativeExpression::engine() const QDeclarativeContext *QDeclarativeExpression::context() const { Q_D(const QDeclarativeExpression); - QDeclarativeContextData *data = d->data->context(); + QDeclarativeContextData *data = d->context(); return data?data->asQDeclarativeContext():0; } @@ -311,7 +342,7 @@ QDeclarativeContext *QDeclarativeExpression::context() const QString QDeclarativeExpression::expression() const { Q_D(const QDeclarativeExpression); - return d->data->expression; + return d->expression; } /*! @@ -321,12 +352,10 @@ void QDeclarativeExpression::setExpression(const QString &expression) { Q_D(QDeclarativeExpression); - d->clearGuards(); - - d->data->expression = expression; - d->data->expressionFunctionValid = false; - d->data->expressionRewritten = false; - d->data->expressionFunction = QScriptValue(); + d->resetNotifyOnChange(); + d->expression = expression; + d->expressionFunctionValid = false; + d->expressionFunction = QScriptValue(); } void QDeclarativeExpressionPrivate::exceptionToError(QScriptEngine *scriptEngine, @@ -356,59 +385,108 @@ void QDeclarativeExpressionPrivate::exceptionToError(QScriptEngine *scriptEngine } } -QScriptValue QDeclarativeExpressionPrivate::eval(QObject *secondaryScope, bool *isUndefined) +bool QDeclarativeQtScriptExpression::notifyOnValueChange() const { - QDeclarativeExpressionData *data = this->data; - QDeclarativeEngine *engine = data->context()->engine; - QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); + return trackChange; +} - QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine); +void QDeclarativeQtScriptExpression::setNotifyOnValueChange(bool notify) +{ + trackChange = notify; + if (!notify && guardList) + clearGuards(); +} - if (!data->expressionFunctionValid) { +void QDeclarativeQtScriptExpression::resetNotifyOnChange() +{ + clearGuards(); +} - QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine); - data->expressionContext = ep->contextClass->newContext(data->context(), data->me); - scriptContext->pushScope(data->expressionContext); - scriptContext->pushScope(ep->globalClass->staticGlobalObject()); +void QDeclarativeQtScriptExpression::setNotifyObject(QObject *object, int notifyIndex) +{ + if (guardList) clearGuards(); + + if (!object || notifyIndex == -1) { + guardObject = 0; + notifyIndex = -1; + } else { + guardObject = object; + guardObjectNotifyIndex = notifyIndex; + + } +} + +QScriptValue QDeclarativeQtScriptExpression::scriptValue(QObject *secondaryScope, bool *isUndefined) +{ + Q_ASSERT(context() && context()->engine); + Q_ASSERT(!trackChange || (guardObject && guardObjectNotifyIndex != -1)); + + if (!expressionFunction.isValid()) { + if (isUndefined) *isUndefined = true; + return QScriptValue(); + } + + DeleteWatcher watcher(this); + + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context()->engine); + + bool lastCaptureProperties = ep->captureProperties; + QPODVector<QDeclarativeEnginePrivate::CapturedProperty> lastCapturedProperties; + ep->captureProperties = trackChange; + ep->capturedProperties.copyAndClear(lastCapturedProperties); + + QScriptValue value = eval(secondaryScope, isUndefined); + + if (!watcher.wasDeleted() && trackChange) { + if (ep->capturedProperties.count() == 0) { + + if (guardList) clearGuards(); - if (data->expressionRewritten) { - data->expressionFunction = scriptEngine->evaluate(data->expression, - data->url, data->line); } else { - QDeclarativeRewrite::RewriteBinding rewriteBinding; - bool ok = true; - const QString code = rewriteBinding(data->expression, &ok); - if (!ok) { - scriptEngine->popContext(); - return QScriptValue(); - } - data->expressionFunction = scriptEngine->evaluate(code, data->url, data->line); - } + updateGuards(ep->capturedProperties); - scriptEngine->popContext(); - data->expressionFunctionValid = true; + } } + lastCapturedProperties.copyAndClear(ep->capturedProperties); + ep->captureProperties = lastCaptureProperties; + + return value; +} + +QScriptValue QDeclarativeQtScriptExpression::eval(QObject *secondaryScope, bool *isUndefined) +{ + Q_ASSERT(context() && context()->engine); + + DeleteWatcher watcher(this); + + QDeclarativeEngine *engine = context()->engine; + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); + + QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine); + QDeclarativeContextData *oldSharedContext = 0; QObject *oldSharedScope = 0; QObject *oldOverride = 0; - if (data->isShared) { + bool isShared = (expressionFunctionMode == SharedContext); + + if (isShared) { oldSharedContext = ep->sharedContext; oldSharedScope = ep->sharedScope; - ep->sharedContext = data->context(); - ep->sharedScope = data->me; + ep->sharedContext = context(); + ep->sharedScope = scopeObject; } else { - oldOverride = ep->contextClass->setOverrideObject(data->expressionContext, secondaryScope); + oldOverride = ep->contextClass->setOverrideObject(expressionContext, secondaryScope); } - QScriptValue svalue = data->expressionFunction.call(); + QScriptValue svalue = expressionFunction.call(); // This could cause this to be deleted - if (data->isShared) { + if (isShared) { ep->sharedContext = oldSharedContext; ep->sharedScope = oldSharedScope; - } else { - ep->contextClass->setOverrideObject(data->expressionContext, oldOverride); + } else if (!watcher.wasDeleted()) { + ep->contextClass->setOverrideObject(expressionContext, oldOverride); } if (isUndefined) @@ -416,63 +494,134 @@ QScriptValue QDeclarativeExpressionPrivate::eval(QObject *secondaryScope, bool * // Handle exception if (scriptEngine->hasUncaughtException()) { - exceptionToError(scriptEngine, data->error); + if (!watcher.wasDeleted()) + QDeclarativeExpressionPrivate::exceptionToError(scriptEngine, error); + scriptEngine->clearExceptions(); return QScriptValue(); } else { - data->error = QDeclarativeError(); + if (!watcher.wasDeleted()) + error = QDeclarativeError(); + return svalue; } } -QScriptValue QDeclarativeExpressionPrivate::scriptValue(QObject *secondaryScope, bool *isUndefined) +void QDeclarativeQtScriptExpression::updateGuards(const QPODVector<QDeclarativeEnginePrivate::CapturedProperty> &properties) { - Q_Q(QDeclarativeExpression); - Q_ASSERT(q->engine()); + Q_ASSERT(guardObject); + Q_ASSERT(guardObjectNotifyIndex != -1); - if (data->expression.isEmpty()) - return QScriptValue(); + if (properties.count() != guardListLength) { + QDeclarativeNotifierEndpoint *newGuardList = new QDeclarativeNotifierEndpoint[properties.count()]; - QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(q->engine()); + for (int ii = 0; ii < qMin(guardListLength, properties.count()); ++ii) + guardList[ii].copyAndClear(newGuardList[ii]); - QDeclarativeExpression *lastCurrentExpression = ep->currentExpression; - bool lastCaptureProperties = ep->captureProperties; - QPODVector<QDeclarativeEnginePrivate::CapturedProperty> lastCapturedProperties; - ep->capturedProperties.copyAndClear(lastCapturedProperties); + delete [] guardList; + guardList = newGuardList; + guardListLength = properties.count(); + } - ep->currentExpression = q; - ep->captureProperties = data->trackChange; + bool outputWarningHeader = false; + bool noChanges = true; + for (int ii = 0; ii < properties.count(); ++ii) { + QDeclarativeNotifierEndpoint &guard = guardList[ii]; + const QDeclarativeEnginePrivate::CapturedProperty &property = properties.at(ii); - // This object might be deleted during the eval - QDeclarativeExpressionData *localData = data; - localData->addref(); + guard.target = guardObject; + guard.targetMethod = guardObjectNotifyIndex; - QScriptValue value = eval(secondaryScope, isUndefined); + if (property.notifier != 0) { - ep->currentExpression = lastCurrentExpression; - ep->captureProperties = lastCaptureProperties; + if (!noChanges && guard.isConnected(property.notifier)) { + // Nothing to do - // Check if we were deleted - if (localData->q) { - if ((!data->trackChange || !ep->capturedProperties.count()) && data->guardList) { - clearGuards(); - } else if(data->trackChange) { - updateGuards(ep->capturedProperties); + } else { + noChanges = false; + + bool existing = false; + for (int jj = 0; !existing && jj < ii; ++jj) + if (guardList[jj].isConnected(property.notifier)) + existing = true; + + if (existing) { + // duplicate + guard.disconnect(); + } else { + guard.connect(property.notifier); + } + } + + + } else if (property.notifyIndex != -1) { + + if (!noChanges && guard.isConnected(property.object, property.notifyIndex)) { + // Nothing to do + + } else { + noChanges = false; + + bool existing = false; + for (int jj = 0; !existing && jj < ii; ++jj) + if (guardList[jj].isConnected(property.object, property.notifyIndex)) + existing = true; + + if (existing) { + // duplicate + guard.disconnect(); + } else { + guard.connect(property.object, property.notifyIndex); + } + } + + } else { + if (!outputWarningHeader) { + outputWarningHeader = true; + qWarning() << "QDeclarativeExpression: Expression" << expression + << "depends on non-NOTIFYable properties:"; + } + + const QMetaObject *metaObj = property.object->metaObject(); + QMetaProperty metaProp = metaObj->property(property.coreIndex); + + qWarning().nospace() << " " << metaObj->className() << "::" << metaProp.name(); } } +} - localData->release(); +QScriptValue QDeclarativeExpressionPrivate::scriptValue(QObject *secondaryScope, bool *isUndefined) +{ + if (!expressionFunctionValid) { + QDeclarativeEngine *engine = context()->engine; + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); - lastCapturedProperties.copyAndClear(ep->capturedProperties); + QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine); - return value; + QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine); + expressionContext = ep->contextClass->newContext(context(), scopeObject); + scriptContext->pushScope(expressionContext); + scriptContext->pushScope(ep->globalClass->staticGlobalObject()); + + QDeclarativeRewrite::RewriteBinding rewriteBinding; + bool ok = true; + const QString code = rewriteBinding(expression, &ok); + if (ok) + expressionFunction = scriptEngine->evaluate(code, url, line); + + scriptEngine->popContext(); + expressionFunctionMode = ExplicitContext; + expressionFunctionValid = true; + } + + return QDeclarativeQtScriptExpression::scriptValue(secondaryScope, isUndefined); } QVariant QDeclarativeExpressionPrivate::value(QObject *secondaryScope, bool *isUndefined) { Q_Q(QDeclarativeExpression); - if (!data || !data->context() || !data->context()->isValid()) { + if (!context() || !context()->isValid()) { qWarning("QDeclarativeExpression: Attempted to evaluate an expression in an invalid context"); return QVariant(); } @@ -504,7 +653,7 @@ value changes. bool QDeclarativeExpression::notifyOnValueChanged() const { Q_D(const QDeclarativeExpression); - return d->data->trackChange; + return d->notifyOnValueChange(); } /*! @@ -526,7 +675,7 @@ bool QDeclarativeExpression::notifyOnValueChanged() const void QDeclarativeExpression::setNotifyOnValueChanged(bool notifyOnChange) { Q_D(QDeclarativeExpression); - d->data->trackChange = notifyOnChange; + d->setNotifyOnValueChange(notifyOnChange); } /*! @@ -536,7 +685,7 @@ void QDeclarativeExpression::setNotifyOnValueChanged(bool notifyOnChange) QString QDeclarativeExpression::sourceFile() const { Q_D(const QDeclarativeExpression); - return d->data->url; + return d->url; } /*! @@ -546,7 +695,7 @@ QString QDeclarativeExpression::sourceFile() const int QDeclarativeExpression::lineNumber() const { Q_D(const QDeclarativeExpression); - return d->data->line; + return d->line; } /*! @@ -556,8 +705,8 @@ int QDeclarativeExpression::lineNumber() const void QDeclarativeExpression::setSourceLocation(const QString &url, int line) { Q_D(QDeclarativeExpression); - d->data->url = url; - d->data->line = line; + d->url = url; + d->line = line; } /*! @@ -569,7 +718,7 @@ void QDeclarativeExpression::setSourceLocation(const QString &url, int line) QObject *QDeclarativeExpression::scopeObject() const { Q_D(const QDeclarativeExpression); - return d->data->me; + return d->scopeObject; } /*! @@ -581,7 +730,7 @@ QObject *QDeclarativeExpression::scopeObject() const bool QDeclarativeExpression::hasError() const { Q_D(const QDeclarativeExpression); - return d->data->error.isValid(); + return d->error.isValid(); } /*! @@ -593,7 +742,7 @@ bool QDeclarativeExpression::hasError() const void QDeclarativeExpression::clearError() { Q_D(QDeclarativeExpression); - d->data->error = QDeclarativeError(); + d->error = QDeclarativeError(); } /*! @@ -606,7 +755,7 @@ void QDeclarativeExpression::clearError() QDeclarativeError QDeclarativeExpression::error() const { Q_D(const QDeclarativeExpression); - return d->data->error; + return d->error; } /*! \internal */ @@ -615,98 +764,11 @@ void QDeclarativeExpressionPrivate::_q_notify() emitValueChanged(); } -void QDeclarativeExpressionPrivate::clearGuards() +void QDeclarativeQtScriptExpression::clearGuards() { - delete [] data->guardList; - data->guardList = 0; - data->guardListLength = 0; -} - -void QDeclarativeExpressionPrivate::updateGuards(const QPODVector<QDeclarativeEnginePrivate::CapturedProperty> &properties) -{ - Q_Q(QDeclarativeExpression); - - static int notifyIdx = -1; - if (notifyIdx == -1) - notifyIdx = QDeclarativeExpression::staticMetaObject.indexOfMethod("_q_notify()"); - - if (properties.count() != data->guardListLength) { - QDeclarativeNotifierEndpoint *newGuardList = - new QDeclarativeNotifierEndpoint[properties.count()]; - - for (int ii = 0; ii < qMin(data->guardListLength, properties.count()); ++ii) - data->guardList[ii].copyAndClear(newGuardList[ii]); - - delete [] data->guardList; - data->guardList = newGuardList; - data->guardListLength = properties.count(); - } - - bool outputWarningHeader = false; - bool noChanges = true; - for (int ii = 0; ii < properties.count(); ++ii) { - QDeclarativeNotifierEndpoint &guard = data->guardList[ii]; - const QDeclarativeEnginePrivate::CapturedProperty &property = properties.at(ii); - - guard.target = q; - guard.targetMethod = notifyIdx; - - if (property.notifier != 0) { - - if (!noChanges && guard.isConnected(property.notifier)) { - // Nothing to do - - } else { - noChanges = false; - - bool existing = false; - for (int jj = 0; !existing && jj < ii; ++jj) - if (data->guardList[jj].isConnected(property.notifier)) - existing = true; - - if (existing) { - // duplicate - guard.disconnect(); - } else { - guard.connect(property.notifier); - } - } - - - } else if (property.notifyIndex != -1) { - - if (!noChanges && guard.isConnected(property.object, property.notifyIndex)) { - // Nothing to do - - } else { - noChanges = false; - - bool existing = false; - for (int jj = 0; !existing && jj < ii; ++jj) - if (data->guardList[jj].isConnected(property.object, property.notifyIndex)) - existing = true; - - if (existing) { - // duplicate - guard.disconnect(); - } else { - guard.connect(property.object, property.notifyIndex); - } - } - - } else { - if (!outputWarningHeader) { - outputWarningHeader = true; - qWarning() << "QDeclarativeExpression: Expression" << q->expression() - << "depends on non-NOTIFYable properties:"; - } - - const QMetaObject *metaObj = property.object->metaObject(); - QMetaProperty metaProp = metaObj->property(property.coreIndex); - - qWarning().nospace() << " " << metaObj->className() << "::" << metaProp.name(); - } - } + delete [] guardList; + guardList = 0; + guardListLength = 0; } /*! diff --git a/src/declarative/qml/qdeclarativeexpression_p.h b/src/declarative/qml/qdeclarativeexpression_p.h index 4ff3162..b629e20 100644 --- a/src/declarative/qml/qdeclarativeexpression_p.h +++ b/src/declarative/qml/qdeclarativeexpression_p.h @@ -107,56 +107,73 @@ private: QDeclarativeDelayedError **prevError; }; -class QDeclarativeExpressionData : public QDeclarativeAbstractExpression, public QDeclarativeDelayedError, public QDeclarativeRefCount +class QDeclarativeQtScriptExpression : public QDeclarativeAbstractExpression, + public QDeclarativeDelayedError { public: - QDeclarativeExpressionData(); - virtual ~QDeclarativeExpressionData(); + enum Mode { SharedContext, ExplicitContext }; - QDeclarativeExpressionPrivate *q; + QDeclarativeQtScriptExpression(); + virtual ~QDeclarativeQtScriptExpression(); QDeclarativeRefCount *dataRef; + QString expression; - bool expressionFunctionValid:1; - bool expressionRewritten:1; + + Mode expressionFunctionMode; QScriptValue expressionFunction; - QScriptValue expressionContext; - QObject *me; - bool trackChange; + QScriptValue expressionContext; // Only used in ExplicitContext + QObject *scopeObject; // Only used in SharedContext - bool isShared; + bool notifyOnValueChange() const; + void setNotifyOnValueChange(bool); + void resetNotifyOnChange(); + void setNotifyObject(QObject *, int ); - QString url; // This is a QString for a reason. QUrls are slooooooow... - int line; + QScriptValue scriptValue(QObject *secondaryScope, bool *isUndefined); + + class DeleteWatcher { + public: + inline DeleteWatcher(QDeclarativeQtScriptExpression *data); + inline ~DeleteWatcher(); + inline bool wasDeleted() const; + private: + bool *m_wasDeleted; + bool m_wasDeletedStorage; + QDeclarativeQtScriptExpression *m_d; + }; + +private: + void clearGuards(); + QScriptValue eval(QObject *secondaryScope, bool *isUndefined); + void updateGuards(const QPODVector<QDeclarativeEnginePrivate::CapturedProperty> &properties); + + bool trackChange; QDeclarativeNotifierEndpoint *guardList; int guardListLength; + + QObject *guardObject; + int guardObjectNotifyIndex; + bool *deleted; }; class QDeclarativeExpression; class QString; -class QDeclarativeExpressionPrivate : public QObjectPrivate +class QDeclarativeExpressionPrivate : public QObjectPrivate, public QDeclarativeQtScriptExpression { Q_DECLARE_PUBLIC(QDeclarativeExpression) public: QDeclarativeExpressionPrivate(); - QDeclarativeExpressionPrivate(QDeclarativeExpressionData *); ~QDeclarativeExpressionPrivate(); void init(QDeclarativeContextData *, const QString &, QObject *); void init(QDeclarativeContextData *, void *, QDeclarativeRefCount *, QObject *, const QString &, int); - QDeclarativeExpressionData *data; - QVariant value(QObject *secondaryScope = 0, bool *isUndefined = 0); QScriptValue scriptValue(QObject *secondaryScope = 0, bool *isUndefined = 0); - QScriptValue eval(QObject *secondaryScope, bool *isUndefined = 0); - - void updateGuards(const QPODVector<QDeclarativeEnginePrivate::CapturedProperty> &properties); - void clearGuards(); - static QDeclarativeExpressionPrivate *get(QDeclarativeExpression *expr) { return static_cast<QDeclarativeExpressionPrivate *>(QObjectPrivate::get(expr)); } @@ -172,8 +189,32 @@ public: int, QScriptValue *); static QScriptValue evalInObjectScope(QDeclarativeContextData *, QObject *, const QScriptProgram &, QScriptValue *); + + bool expressionFunctionValid:1; + + QString url; // This is a QString for a reason. QUrls are slooooooow... + int line; }; +QDeclarativeQtScriptExpression::DeleteWatcher::DeleteWatcher(QDeclarativeQtScriptExpression *data) +: m_wasDeletedStorage(false), m_d(data) +{ + if (!m_d->deleted) + m_d->deleted = &m_wasDeletedStorage; + m_wasDeleted = m_d->deleted; +} + +QDeclarativeQtScriptExpression::DeleteWatcher::~DeleteWatcher() +{ + if (false == *m_wasDeleted && m_wasDeleted == m_d->deleted) + m_d->deleted = 0; +} + +bool QDeclarativeQtScriptExpression::DeleteWatcher::wasDeleted() const +{ + return *m_wasDeleted; +} + QT_END_NAMESPACE #endif // QDECLARATIVEEXPRESSION_P_H diff --git a/src/declarative/qml/qdeclarativeextensionplugin.cpp b/src/declarative/qml/qdeclarativeextensionplugin.cpp index c2e8300..0660599 100644 --- a/src/declarative/qml/qdeclarativeextensionplugin.cpp +++ b/src/declarative/qml/qdeclarativeextensionplugin.cpp @@ -67,10 +67,8 @@ QT_BEGIN_NAMESPACE See \l {Tutorial: Writing QML extensions with C++} for details on creating QML extensions, including how to build a plugin with with QDeclarativeExtensionPlugin. For a simple overview, see the \l{declarative/cppextensions/plugins}{plugins} example. - - Also see \l {How to Create Qt Plugins} for general Qt plugin documentation. - \sa QDeclarativeEngine::importPlugin() + \sa QDeclarativeEngine::importPlugin(), {How to Create Qt Plugins} */ /*! diff --git a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp index 39ea101..d43443d 100644 --- a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp @@ -41,6 +41,7 @@ #include "private/qdeclarativeglobalscriptclass_p.h" +#include <QtCore/qstringlist.h> #include <QtCore/qvector.h> #include <QtScript/qscriptstring.h> #include <QtScript/qscriptengine.h> @@ -57,6 +58,7 @@ QDeclarativeGlobalScriptClass::QDeclarativeGlobalScriptClass(QScriptEngine *engi : QScriptClass(engine) { QString eval = QLatin1String("eval"); + QString version = QLatin1String("version"); QScriptValue originalGlobalObject = engine->globalObject(); @@ -72,6 +74,9 @@ QDeclarativeGlobalScriptClass::QDeclarativeGlobalScriptClass(QScriptEngine *engi QString name = iter.name(); + if (name == version) + continue; + if (name != eval) { names.append(name); values.append(iter.value()); @@ -98,18 +103,7 @@ QDeclarativeGlobalScriptClass::queryProperty(const QScriptValue &object, Q_UNUSED(name); Q_UNUSED(flags); Q_UNUSED(id); - return HandlesReadAccess | HandlesWriteAccess; -} - -QScriptValue -QDeclarativeGlobalScriptClass::property(const QScriptValue &object, - const QScriptString &name, - uint id) -{ - Q_UNUSED(object); - Q_UNUSED(name); - Q_UNUSED(id); - return engine()->undefinedValue(); + return HandlesWriteAccess; } void QDeclarativeGlobalScriptClass::setProperty(QScriptValue &object, @@ -125,8 +119,9 @@ void QDeclarativeGlobalScriptClass::setProperty(QScriptValue &object, } /* This method is for the use of tst_qdeclarativeecmascript::callQtInvokables() only */ -void QDeclarativeGlobalScriptClass::explicitSetProperty(const QString &name, const QScriptValue &value) +void QDeclarativeGlobalScriptClass::explicitSetProperty(const QStringList &names, const QList<QScriptValue> &values) { + Q_ASSERT(names.count() == values.count()); QScriptValue globalObject = engine()->globalObject(); QScriptValue v = engine()->newObject(); @@ -137,7 +132,12 @@ void QDeclarativeGlobalScriptClass::explicitSetProperty(const QString &name, con v.setProperty(iter.scriptName(), iter.value()); } - v.setProperty(name, value); + for (int ii = 0; ii < names.count(); ++ii) { + const QString &name = names.at(ii); + const QScriptValue &value = values.at(ii); + 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 414bf02..b42b7bd 100644 --- a/src/declarative/qml/qdeclarativeglobalscriptclass_p.h +++ b/src/declarative/qml/qdeclarativeglobalscriptclass_p.h @@ -67,13 +67,10 @@ public: const QScriptString &name, QueryFlags flags, uint *id); - virtual QScriptValue property(const QScriptValue &object, - const QScriptString &name, uint id); - virtual void setProperty(QScriptValue &object, const QScriptString &name, uint id, const QScriptValue &value); - void explicitSetProperty(const QString &, const QScriptValue &); + void explicitSetProperty(const QStringList &, const QList<QScriptValue> &); const QScriptValue &staticGlobalObject() const { return m_staticGlobalObject; } diff --git a/src/declarative/qml/qdeclarativeimageprovider.cpp b/src/declarative/qml/qdeclarativeimageprovider.cpp index 4be3472..a294c38 100644 --- a/src/declarative/qml/qdeclarativeimageprovider.cpp +++ b/src/declarative/qml/qdeclarativeimageprovider.cpp @@ -43,42 +43,188 @@ QT_BEGIN_NAMESPACE +class QDeclarativeImageProviderPrivate +{ +public: + QDeclarativeImageProvider::ImageType type; +}; + /*! \class QDeclarativeImageProvider \since 4.7 - \brief The QDeclarativeImageProvider class provides an interface for threaded image requests in QML. + \brief The QDeclarativeImageProvider class provides an interface for supporting pixmaps and threaded image requests in QML. - QDeclarativeImageProvider can be used by a QDeclarativeEngine to provide images to QML asynchronously. - The image request will be run in a low priority thread, allowing potentially costly image - loading to be done in the background, without affecting the performance of the UI. + QDeclarativeImageProvider is used to provide advanced image loading features + in QML applications. It allows images in QML to be: - See the QDeclarativeEngine::addImageProvider() documentation for an - example of how a custom QDeclarativeImageProvider can be constructed and used. + \list + \o Loaded using QPixmaps rather than actual image files + \o Loaded asynchronously in a separate thread, if imageType() is \l ImageType::Image + \endlist - \note the request() method may be called by multiple threads, so ensure the - implementation of this method is reentrant. + To specify that an image should be loaded by an image provider, use the + \bold {"image:"} scheme for the URL source of the image, followed by the + identifiers of the image provider and the requested image. For example: + + \qml + Image { source: "image://myimageprovider/image.png" } + \endqml + + This specifies that the image should be loaded by the image provider named + "myimageprovider", and the image to be loaded is named "image.png". The QML engine + invokes the appropriate image provider according to the providers that have + been registered through QDeclarativeEngine::addImageProvider(). + + + \section2 An example + + Here are two images. Their \c source values indicate they should be loaded by + an image provider named "colors", and the images to be loaded are "yellow" + and "red", respectively: + + \snippet examples/declarative/cppextensions/imageprovider/imageprovider-example.qml 0 + + When these images are loaded by QML, it looks for a matching image provider + and calls its requestImage() or requestPixmap() method (depending on its + imageType()) to load the image. The method is called with the \c id + parameter set to "yellow" for the first image, and "red" for the second. + + Here is an image provider implementation that can load the images + requested by the above QML. This implementation dynamically + generates QPixmap images that are filled with the requested color: + + \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 0 + \codeline + \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 1 + + To make this provider accessible to QML, it is registered with the QML engine + with a "colors" identifier: + + \code + int main(int argc, char *argv[]) + { + ... + QDeclarativeEngine engine; + engine->addImageProvider(QLatin1String("colors"), new ColorPixmapProvider); + + ... + } + \endcode + + Now the images can be succesfully loaded in QML: + + \image imageprovider.png + + A complete example is available in Qt's + \l {declarative/cppextensions/imageprovider}{examples/declarative/cppextensions/imageprovider} + directory. Note the example registers the provider via a \l{QDeclarativeExtensionPlugin}{plugin} + instead of registering it in the application \c main() function as shown above. + + + \section2 Asynchronous image loading + + Image providers that support QImage loading automatically include support + for asychronous loading of images. To enable asynchronous loading for an + \l Image source, set \l Image::asynchronous to \c true. When this is enabled, + the image request to the provider is run in a low priority thread, + allowing image loading to be executed in the background, and reducing the + performance impact on the user interface. + + Asynchronous loading is not supported for image providers that provide + QPixmap rather than QImage values, as pixmaps can only be created in the + main thread. In this case, if \l {Image::}{asynchronous} is set to + \c true, the value is ignored and the image is loaded + synchronously. + \sa QDeclarativeEngine::addImageProvider() */ /*! - Destroys the image provider. - */ + \enum QDeclarativeImageProvider::ImageType + + Defines the type of image supported by this image provider. + + \value Image The Image Provider provides QImage images. The + requestImage() method will be called for all image requests. + \value Pixmap The Image Provider provides QPixmap images. The + requestPixmap() method will be called for all image requests. +*/ + +/*! + Creates an image provider that will provide images of the given \a type. +*/ +QDeclarativeImageProvider::QDeclarativeImageProvider(ImageType type) + : d(new QDeclarativeImageProviderPrivate) +{ + d->type = type; +} + +/*! + \internal +*/ QDeclarativeImageProvider::~QDeclarativeImageProvider() { + delete d; +} + +/*! + Returns the image type supported by this provider. +*/ +QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType() const +{ + return d->type; } /*! - \fn QImage QDeclarativeImageProvider::request(const QString &id, QSize *size, const QSize& requestedSize) + Implement this method to return the image with \a id. The default + implementation returns an empty image. - Implement this method to return the image with \a id. + The \a requestedSize corresponds to the \l {Image::sourceSize} requested by + an Image element. If \a requestedSize is a valid size, the image + returned should be of that size. - If \a requestedSize is a valid size, the image returned should be of that size. + In all cases, \a size must be set to the original size of the image. This + is used to set the \l {Item::}{width} and \l {Item::}{height} of image + elements that should be automatically sized to the loaded image. - In all cases, \a size must be set to the original size of the image. + \note this method may be called by multiple threads, so ensure the + implementation of this method is reentrant. +*/ +QImage QDeclarativeImageProvider::requestImage(const QString &id, QSize *size, const QSize& requestedSize) +{ + Q_UNUSED(id); + Q_UNUSED(size); + Q_UNUSED(requestedSize); + if (d->type == Image) + qWarning("ImageProvider supports Image type but has not implemented requestImage()"); + return QImage(); +} + +/*! + Implement this method to return the pixmap with \a id. The default + implementation returns an empty pixmap. + + The \a requestedSize corresponds to the \l {Image::sourceSize} requested by + an Image element. If \a requestedSize is a valid size, the image + returned should be of that size. + + In all cases, \a size must be set to the original size of the image. This + is used to set the \l {Item::}{width} and \l {Item::}{height} of image + elements that should be automatically sized to the loaded image. \note this method may be called by multiple threads, so ensure the implementation of this method is reentrant. */ +QPixmap QDeclarativeImageProvider::requestPixmap(const QString &id, QSize *size, const QSize& requestedSize) +{ + Q_UNUSED(id); + Q_UNUSED(size); + Q_UNUSED(requestedSize); + if (d->type == Pixmap) + qWarning("ImageProvider supports Pixmap type but has not implemented requestPixmap()"); + return QPixmap(); +} QT_END_NAMESPACE + diff --git a/src/declarative/qml/qdeclarativeimageprovider.h b/src/declarative/qml/qdeclarativeimageprovider.h index cc9c9af..5a72943 100644 --- a/src/declarative/qml/qdeclarativeimageprovider.h +++ b/src/declarative/qml/qdeclarativeimageprovider.h @@ -43,6 +43,7 @@ #define QDECLARATIVEIMAGEPROVIDER_H #include <QtGui/qimage.h> +#include <QtGui/qpixmap.h> QT_BEGIN_HEADER @@ -50,11 +51,26 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) +class QDeclarativeImageProviderPrivate; + class Q_DECLARATIVE_EXPORT QDeclarativeImageProvider { public: + enum ImageType { + Image, + Pixmap + }; + + QDeclarativeImageProvider(ImageType type); virtual ~QDeclarativeImageProvider(); - virtual QImage request(const QString &id, QSize *size, const QSize& requestedSize) = 0; + + ImageType imageType() const; + + virtual QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize); + virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize); + +private: + QDeclarativeImageProviderPrivate *d; }; QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp index a2e3831..8d81b34 100644 --- a/src/declarative/qml/qdeclarativeimport.cpp +++ b/src/declarative/qml/qdeclarativeimport.cpp @@ -409,7 +409,8 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp QString localFileOrQrc = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(importUrl); if (!localFileOrQrc.isEmpty()) { QString dir = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(base.resolved(QUrl(uri))); - if (dir.isEmpty() || !QDir().exists(dir)) { + QFileInfo dirinfo(dir); + if (dir.isEmpty() || !dirinfo.exists() || !dirinfo.isDir()) { if (errorString) *errorString = QDeclarativeImportDatabase::tr("\"%1\": no such directory").arg(uri_arg); return false; // local import dirs must exist @@ -425,7 +426,8 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp if (prefix.isEmpty()) { // directory must at least exist for valid import QString localFileOrQrc = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(base.resolved(QUrl(uri))); - if (localFileOrQrc.isEmpty() || !QDir().exists(localFileOrQrc)) { + QFileInfo dirinfo(localFileOrQrc); + if (localFileOrQrc.isEmpty() || !dirinfo.exists() || !dirinfo.isDir()) { if (errorString) { if (localFileOrQrc.isEmpty()) *errorString = QDeclarativeImportDatabase::tr("import \"%1\" has no qmldir and no namespace").arg(uri); @@ -445,11 +447,23 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp if (vmaj > -1 && vmin > -1 && !qmldircomponents.isEmpty()) { QList<QDeclarativeDirParser::Component>::ConstIterator it = qmldircomponents.begin(); + int lowest_maj = INT_MAX; + int lowest_min = INT_MAX; + int highest_maj = INT_MIN; + int highest_min = INT_MIN; for (; it != qmldircomponents.end(); ++it) { - if (it->majorVersion > vmaj || (it->majorVersion == vmaj && it->minorVersion >= vmin)) - break; + if (it->majorVersion > highest_maj || (it->majorVersion == highest_maj && it->minorVersion > highest_min)) { + highest_maj = it->majorVersion; + highest_min = it->minorVersion; + } + if (it->majorVersion < lowest_maj || (it->majorVersion == lowest_maj && it->minorVersion < lowest_min)) { + lowest_maj = it->majorVersion; + lowest_min = it->minorVersion; + } } - if (it == qmldircomponents.end()) { + if (lowest_maj > vmaj || (lowest_maj == vmaj && lowest_min > vmin) + || highest_maj < vmaj || (highest_maj == vmaj && highest_min < vmin)) + { *errorString = QDeclarativeImportDatabase::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin); return false; } diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h index 4627eb3..d1a0a0a 100644 --- a/src/declarative/qml/qdeclarativeinstruction_p.h +++ b/src/declarative/qml/qdeclarativeinstruction_p.h @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE class QDeclarativeCompiledData; -class Q_DECLARATIVE_EXPORT QDeclarativeInstruction +class Q_AUTOTEST_EXPORT QDeclarativeInstruction { public: enum Type { diff --git a/src/declarative/qml/qdeclarativelist.cpp b/src/declarative/qml/qdeclarativelist.cpp index 31ef4c2..7c89672 100644 --- a/src/declarative/qml/qdeclarativelist.cpp +++ b/src/declarative/qml/qdeclarativelist.cpp @@ -341,6 +341,8 @@ QML list properties are typesafe - in this case \c {Fruit} is a QObject type tha \note QDeclarativeListProperty can only be used for lists of QObject-derived object pointers. +\sa {Object and List Property Types} + */ /*! diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp index c32cab6..153e2be 100644 --- a/src/declarative/qml/qdeclarativemetatype.cpp +++ b/src/declarative/qml/qdeclarativemetatype.cpp @@ -1152,7 +1152,7 @@ bool QDeclarativeMetaType::copy(int type, void *data, const void *copy) *static_cast<float *>(data) = float(0); return true; case QMetaType::Double: - *static_cast<double *>(data) = double(); + *static_cast<double *>(data) = double(0); return true; case QMetaType::QChar: *static_cast<NS(QChar) *>(data) = NS(QChar)(); diff --git a/src/declarative/qml/qdeclarativenetworkaccessmanagerfactory.cpp b/src/declarative/qml/qdeclarativenetworkaccessmanagerfactory.cpp index 399831d..d22798d 100644 --- a/src/declarative/qml/qdeclarativenetworkaccessmanagerfactory.cpp +++ b/src/declarative/qml/qdeclarativenetworkaccessmanagerfactory.cpp @@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE Note: the create() method may be called by multiple threads, so ensure the implementation of this method is reentrant. - \sa QDeclarativeEngine::setNetworkAccessManagerFactory() + \sa QDeclarativeEngine::setNetworkAccessManagerFactory(), {declarative/cppextensions/networkaccessmanagerfactory}{NetworkAccessManagerFactory example} */ /*! diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp index aca01b2..3af892d 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp @@ -797,6 +797,26 @@ QScriptDeclarativeClass::Value MetaCallArgument::toValue(QDeclarativeEngine *e) } } +int QDeclarativeObjectMethodScriptClass::enumType(const QMetaObject *meta, const QString &strname) +{ + QByteArray str = strname.toUtf8(); + QByteArray scope; + QByteArray name; + int scopeIdx = str.lastIndexOf("::"); + if (scopeIdx != -1) { + scope = str.left(scopeIdx); + name = str.mid(scopeIdx + 2); + } else { + name = str; + } + for (int i = meta->enumeratorCount() - 1; i >= 0; --i) { + QMetaEnum m = meta->enumerator(i); + if ((m.name() == name) && (scope.isEmpty() || (m.scope() == scope))) + return QVariant::Int; + } + return QVariant::Invalid; +} + QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass::call(Object *o, QScriptContext *ctxt) { MethodData *method = static_cast<MethodData *>(o); @@ -810,7 +830,9 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass:: // ### Cache for (int ii = 0; ii < argTypeNames.count(); ++ii) { argTypes[ii] = QMetaType::type(argTypeNames.at(ii)); - if (argTypes[ii] == QVariant::Invalid) + if (argTypes[ii] == QVariant::Invalid) + argTypes[ii] = enumType(method->object->metaObject(), argTypeNames.at(ii)); + if (argTypes[ii] == QVariant::Invalid) return Value(ctxt, ctxt->throwError(QString::fromLatin1("Unknown method parameter type: %1").arg(QLatin1String(argTypeNames.at(ii))))); } diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h index 4b27e53..75e384c 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h +++ b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h @@ -80,6 +80,8 @@ protected: virtual Value property(Object *, const Identifier &); private: + int enumType(const QMetaObject *, const QString &); + PersistentIdentifier m_connectId; PersistentIdentifier m_disconnectId; QScriptValue m_connect; diff --git a/src/declarative/qml/qdeclarativetypenamescriptclass.cpp b/src/declarative/qml/qdeclarativetypenamescriptclass.cpp index 2a3417a..764a8db 100644 --- a/src/declarative/qml/qdeclarativetypenamescriptclass.cpp +++ b/src/declarative/qml/qdeclarativetypenamescriptclass.cpp @@ -107,8 +107,7 @@ QDeclarativeTypeNameScriptClass::queryProperty(Object *obj, const Identifier &na return 0; } - } else { - Q_ASSERT(data->type); + } else if (data->type) { QString strName = toString(name); @@ -134,6 +133,7 @@ QDeclarativeTypeNameScriptClass::queryProperty(Object *obj, const Identifier &na if (!object) return 0; return ep->objectClass->queryProperty(object, name, flags, 0); } + } return 0; diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index 7aea7cb..689ed92 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -751,6 +751,22 @@ void QDeclarativeVMEMetaObject::registerInterceptor(int index, int valueIndex, Q interceptors.insert(index, qMakePair(valueIndex, interceptor)); } +int QDeclarativeVMEMetaObject::vmeMethodLineNumber(int index) +{ + if (index < methodOffset) { + Q_ASSERT(parent); + return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeMethodLineNumber(index); + } + + int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount; + Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount)); + + int rawIndex = index - methodOffset - plainSignals; + + QDeclarativeVMEMetaData::MethodData *data = metaData->methodData() + rawIndex; + return data->lineNumber; +} + QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index) { if (index < methodOffset) { @@ -762,6 +778,20 @@ QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index) return method(index - methodOffset - plainSignals); } +void QDeclarativeVMEMetaObject::setVmeMethod(int index, const QScriptValue &value) +{ + if (index < methodOffset) { + Q_ASSERT(parent); + return static_cast<QDeclarativeVMEMetaObject *>(parent)->setVmeMethod(index, value); + } + int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount; + Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount)); + + if (!methods) + methods = new QScriptValue[metaData->methodCount]; + methods[index - methodOffset - plainSignals] = value; +} + QScriptValue QDeclarativeVMEMetaObject::vmeProperty(int index) { if (index < propOffset) { diff --git a/src/declarative/qml/qdeclarativevmemetaobject_p.h b/src/declarative/qml/qdeclarativevmemetaobject_p.h index 4fc3269..20ca80b 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject_p.h +++ b/src/declarative/qml/qdeclarativevmemetaobject_p.h @@ -121,6 +121,8 @@ public: void registerInterceptor(int index, int valueIndex, QDeclarativePropertyValueInterceptor *interceptor); QScriptValue vmeMethod(int index); + int vmeMethodLineNumber(int index); + void setVmeMethod(int index, const QScriptValue &); QScriptValue vmeProperty(int index); void setVMEProperty(int index, const QScriptValue &); diff --git a/src/declarative/qml/qdeclarativeworkerscript_p.h b/src/declarative/qml/qdeclarativeworkerscript_p.h index dc73811..2b1f9f9 100644 --- a/src/declarative/qml/qdeclarativeworkerscript_p.h +++ b/src/declarative/qml/qdeclarativeworkerscript_p.h @@ -87,7 +87,7 @@ private: QDeclarativeWorkerScriptEnginePrivate *d; }; -class Q_DECLARATIVE_EXPORT QDeclarativeWorkerScript : public QObject, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativeWorkerScript : public QObject, public QDeclarativeParserStatus { Q_OBJECT Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index f807866..bdb9510 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -142,6 +142,16 @@ bool QDeclarativeAbstractAnimation::isRunning() const return d->running; } +// the behavior calls this function +void QDeclarativeAbstractAnimation::notifyRunningChanged(bool running) +{ + Q_D(QDeclarativeAbstractAnimation); + if (d->disableUserControl && d->running != running) { + d->running = running; + emit runningChanged(running); + } +} + //commence is called to start an animation when it is used as a //simple animation, and not as part of a transition void QDeclarativeAbstractAnimationPrivate::commence() @@ -176,6 +186,8 @@ void QDeclarativeAbstractAnimation::setRunning(bool r) { Q_D(QDeclarativeAbstractAnimation); if (!d->componentComplete) { + if (d->running && r == d->running) //don't re-register + return; d->running = r; if (r == false) d->avoidPropertyValueSourceStart = true; diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 3225d30..28b0a6f 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -134,9 +134,12 @@ public: private Q_SLOTS: void timelineComplete(); void componentFinalized(); - private: virtual void setTarget(const QDeclarativeProperty &); + void notifyRunningChanged(bool running); + friend class QDeclarativeBehavior; + + }; class QDeclarativePauseAnimationPrivate; diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp index 90e0ca3..2bb28c3 100644 --- a/src/declarative/util/qdeclarativebehavior.cpp +++ b/src/declarative/util/qdeclarativebehavior.cpp @@ -58,7 +58,8 @@ class QDeclarativeBehaviorPrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QDeclarativeBehavior) public: - QDeclarativeBehaviorPrivate() : animation(0), enabled(true), finalized(false) {} + QDeclarativeBehaviorPrivate() : animation(0), enabled(true), finalized(false) + , blockRunningChanged(false) {} QDeclarativeProperty property; QVariant currentValue; @@ -66,6 +67,7 @@ public: QDeclarativeGuard<QDeclarativeAbstractAnimation> animation; bool enabled; bool finalized; + bool blockRunningChanged; }; /*! @@ -94,7 +96,7 @@ public: Currently only a single Behavior may be specified for a property; this Behavior can be enabled and disabled via the \l{enabled} property. - \sa QtDeclarative + \sa {declarative/animation/behaviors}{Behavior example}, QtDeclarative */ @@ -132,9 +134,22 @@ void QDeclarativeBehavior::setAnimation(QDeclarativeAbstractAnimation *animation if (d->animation) { d->animation->setDefaultTarget(d->property); d->animation->setDisableUserControl(); + connect(d->animation->qtAnimation(), + SIGNAL(stateChanged(QAbstractAnimation::State,QAbstractAnimation::State)), + this, + SLOT(qtAnimationStateChanged(QAbstractAnimation::State,QAbstractAnimation::State))); } } + +void QDeclarativeBehavior::qtAnimationStateChanged(QAbstractAnimation::State newState,QAbstractAnimation::State) +{ + Q_D(QDeclarativeBehavior); + if (!d->blockRunningChanged) + d->animation->notifyRunningChanged(newState == QAbstractAnimation::Running); +} + + /*! \qmlproperty bool Behavior::enabled Whether the Behavior will be triggered when the property it is tracking changes. @@ -173,8 +188,11 @@ void QDeclarativeBehavior::write(const QVariant &value) d->currentValue = d->property.read(); d->targetValue = value; - if (d->animation->qtAnimation()->duration() != -1) + if (d->animation->qtAnimation()->duration() != -1 + && d->animation->qtAnimation()->state() != QAbstractAnimation::Stopped) { + d->blockRunningChanged = true; d->animation->qtAnimation()->stop(); + } QDeclarativeStateOperation::ActionList actions; QDeclarativeAction action; @@ -186,6 +204,7 @@ void QDeclarativeBehavior::write(const QVariant &value) QList<QDeclarativeProperty> after; d->animation->transition(actions, after, QDeclarativeAbstractAnimation::Forward); d->animation->qtAnimation()->start(); + d->blockRunningChanged = false; if (!after.contains(d->property)) QDeclarativePropertyPrivate::write(d->property, value, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); } diff --git a/src/declarative/util/qdeclarativebehavior_p.h b/src/declarative/util/qdeclarativebehavior_p.h index 6c10eec..9801fb2 100644 --- a/src/declarative/util/qdeclarativebehavior_p.h +++ b/src/declarative/util/qdeclarativebehavior_p.h @@ -47,6 +47,7 @@ #include <qdeclarativepropertyvaluesource.h> #include <qdeclarativepropertyvalueinterceptor.h> #include <qdeclarative.h> +#include <QtCore/QAbstractAnimation> QT_BEGIN_HEADER @@ -85,6 +86,7 @@ Q_SIGNALS: private Q_SLOTS: void componentFinalized(); + void qtAnimationStateChanged(QAbstractAnimation::State,QAbstractAnimation::State); }; QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativebind_p.h b/src/declarative/util/qdeclarativebind_p.h index f89c2eb..3dc7dba 100644 --- a/src/declarative/util/qdeclarativebind_p.h +++ b/src/declarative/util/qdeclarativebind_p.h @@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeBindPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeBind : public QObject, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativeBind : public QObject, public QDeclarativeParserStatus { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeBind) diff --git a/src/declarative/util/qdeclarativeconnections_p.h b/src/declarative/util/qdeclarativeconnections_p.h index a914166..e8105b4 100644 --- a/src/declarative/util/qdeclarativeconnections_p.h +++ b/src/declarative/util/qdeclarativeconnections_p.h @@ -58,7 +58,7 @@ QT_MODULE(Declarative) class QDeclarativeBoundSignal; class QDeclarativeContext; class QDeclarativeConnectionsPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeConnections : public QObject, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativeConnections : public QObject, public QDeclarativeParserStatus { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeConnections) diff --git a/src/declarative/util/qdeclarativefontloader_p.h b/src/declarative/util/qdeclarativefontloader_p.h index 14335ab..6947547 100644 --- a/src/declarative/util/qdeclarativefontloader_p.h +++ b/src/declarative/util/qdeclarativefontloader_p.h @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeFontLoaderPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeFontLoader : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeFontLoader : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeFontLoader) diff --git a/src/declarative/util/qdeclarativelistaccessor_p.h b/src/declarative/util/qdeclarativelistaccessor_p.h index d8bb8af..41aacb9 100644 --- a/src/declarative/util/qdeclarativelistaccessor_p.h +++ b/src/declarative/util/qdeclarativelistaccessor_p.h @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeEngine; -class Q_DECLARATIVE_EXPORT QDeclarativeListAccessor +class Q_AUTOTEST_EXPORT QDeclarativeListAccessor { public: QDeclarativeListAccessor(); diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index 9ed21a6..3ede335 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -551,9 +551,13 @@ bool QDeclarativeListModelParser::compileProperty(const QDeclarativeCustomParser QDeclarativeCustomParserNode node = qvariant_cast<QDeclarativeCustomParserNode>(value); - if (node.name() != "ListElement") { - error(node, QDeclarativeListModel::tr("ListElement: cannot contain nested elements")); - return false; + if (node.name() != listElementTypeName) { + const QMetaObject *mo = resolveType(node.name()); + if (mo != &QDeclarativeListElement::staticMetaObject) { + error(node, QDeclarativeListModel::tr("ListElement: cannot contain nested elements")); + return false; + } + listElementTypeName = node.name(); // cache right name for next time } { @@ -650,6 +654,7 @@ QByteArray QDeclarativeListModelParser::compile(const QList<QDeclarativeCustomPa { QList<ListInstruction> instr; QByteArray data; + listElementTypeName = QByteArray(); // unknown for(int ii = 0; ii < customProps.count(); ++ii) { const QDeclarativeCustomParserProperty &prop = customProps.at(ii); @@ -1017,6 +1022,8 @@ QVariant NestedListModel::data(int index, int role) const Q_ASSERT(_root && index >= 0 && index < _root->values.count()); checkRoles(); QVariant rv; + if (roleStrings.count() < role) + return rv; ModelNode *node = qvariant_cast<ModelNode *>(_root->values.at(index)); if (!node) diff --git a/src/declarative/util/qdeclarativelistmodel_p.h b/src/declarative/util/qdeclarativelistmodel_p.h index d09062e..6aff9c6 100644 --- a/src/declarative/util/qdeclarativelistmodel_p.h +++ b/src/declarative/util/qdeclarativelistmodel_p.h @@ -135,6 +135,8 @@ private: bool compileProperty(const QDeclarativeCustomParserProperty &prop, QList<ListInstruction> &instr, QByteArray &data); bool definesEmptyList(const QString &); + + QByteArray listElementTypeName; }; diff --git a/src/declarative/util/qdeclarativepackage.cpp b/src/declarative/util/qdeclarativepackage.cpp index 1e49ad9..1a4f2a7 100644 --- a/src/declarative/util/qdeclarativepackage.cpp +++ b/src/declarative/util/qdeclarativepackage.cpp @@ -65,12 +65,12 @@ QT_BEGIN_NAMESPACE \snippet examples/declarative/modelviews/package/Delegate.qml 0 These named items are used as the delegates by the two views who - reference the special VisualDataModel.parts property to select + reference the special \l{VisualDataModel::parts} property to select a model which provides the chosen delegate. \snippet examples/declarative/modelviews/package/view.qml 0 - \sa {declarative/modelviews/package}{Package example}, QtDeclarative + \sa {declarative/modelviews/package}{Package example}, {demos/declarative/photoviewer}{Photo Viewer demo}, QtDeclarative */ /*! diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index a4ddf46..00dd922 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -55,104 +55,209 @@ #include <QFile> #include <QThread> #include <QMutex> +#include <QMutexLocker> +#include <QWaitCondition> #include <QBuffer> #include <QWaitCondition> #include <QtCore/qdebug.h> #include <private/qobject_p.h> #include <QSslError> -// Maximum number of simultaneous image requests to send. -static const int maxImageRequestCount = 8; +#define IMAGEREQUEST_MAX_REQUEST_COUNT 8 +#define IMAGEREQUEST_MAX_REDIRECT_RECURSION 16 +#define CACHE_EXPIRE_TIME 30 +#define CACHE_REMOVAL_FRACTION 4 QT_BEGIN_NAMESPACE -class QDeclarativeImageReaderEvent : public QEvent +class QDeclarativePixmapReader; +class QDeclarativePixmapData; +class QDeclarativePixmapReply : public QObject { + Q_OBJECT public: enum ReadError { NoError, Loading, Decoding }; - QDeclarativeImageReaderEvent(QDeclarativeImageReaderEvent::ReadError err, const QString &errStr, const QImage &img) - : QEvent(QEvent::User), error(err), errorString(errStr), image(img) {} + QDeclarativePixmapReply(QDeclarativePixmapData *); + ~QDeclarativePixmapReply(); - ReadError error; - QString errorString; - QImage image; + QDeclarativePixmapData *data; + QDeclarativePixmapReader *reader; + + bool loading; + int redirectCount; + + class Event : public QEvent { + public: + Event(ReadError, const QString &, const QSize &, const QImage &); + + ReadError error; + QString errorString; + QSize implicitSize; + QImage image; + }; + void postReply(ReadError, const QString &, const QSize &, const QImage &); + + +Q_SIGNALS: + void finished(); + void downloadProgress(qint64, qint64); + +protected: + bool event(QEvent *event); + +private: + Q_DISABLE_COPY(QDeclarativePixmapReply) + +public: + static int finishedIndex; + static int downloadProgressIndex; }; -class QDeclarativeImageRequestHandler; -class QDeclarativeImageReader : public QThread +class QDeclarativePixmapData; +class QDeclarativePixmapReader : public QThread { Q_OBJECT public: - QDeclarativeImageReader(QDeclarativeEngine *eng); - ~QDeclarativeImageReader(); + QDeclarativePixmapReader(QDeclarativeEngine *eng); + ~QDeclarativePixmapReader(); - QDeclarativePixmapReply *getImage(const QUrl &url, int req_width, int req_height); + QDeclarativePixmapReply *getImage(QDeclarativePixmapData *); void cancel(QDeclarativePixmapReply *rep); - static QDeclarativeImageReader *instance(QDeclarativeEngine *engine); + static QDeclarativePixmapReader *instance(QDeclarativeEngine *engine); protected: void run(); +private slots: + void networkRequestDone(); + private: + void processJobs(); + void processJob(QDeclarativePixmapReply *); + QList<QDeclarativePixmapReply*> jobs; QList<QDeclarativePixmapReply*> cancelled; QDeclarativeEngine *engine; - QDeclarativeImageRequestHandler *handler; QObject *eventLoopQuitHack; + QMutex mutex; + class ThreadObject : public QObject { + public: + ThreadObject(QDeclarativePixmapReader *); + void processJobs(); + virtual bool event(QEvent *e); + private: + QDeclarativePixmapReader *reader; + } *threadObject; + QWaitCondition waitCondition; + + QNetworkAccessManager *networkAccessManager(); + QNetworkAccessManager *accessManager; - static QHash<QDeclarativeEngine *,QDeclarativeImageReader*> readers; + QHash<QNetworkReply*,QDeclarativePixmapReply*> replies; + + static int replyDownloadProgress; + static int replyFinished; + static int downloadProgress; + static int thisNetworkRequestDone; + static QHash<QDeclarativeEngine *,QDeclarativePixmapReader*> readers; static QMutex readerMutex; - friend class QDeclarativeImageRequestHandler; }; -QHash<QDeclarativeEngine *,QDeclarativeImageReader*> QDeclarativeImageReader::readers; -QMutex QDeclarativeImageReader::readerMutex; - - -class QDeclarativeImageRequestHandler : public QObject +class QDeclarativePixmapData { - Q_OBJECT public: - QDeclarativeImageRequestHandler(QDeclarativeImageReader *read, QDeclarativeEngine *eng) - : QObject(), accessManager(0), engine(eng), reader(read), redirectCount(0) + QDeclarativePixmapData(const QUrl &u, const QSize &s, const QString &e) + : refCount(1), inCache(false), pixmapStatus(QDeclarativePixmap::Error), + url(u), errorString(e), requestSize(s), reply(0), prevUnreferenced(0), + prevUnreferencedPtr(0), nextUnreferenced(0) { - QCoreApplication::postEvent(this, new QEvent(QEvent::User)); } - QDeclarativePixmapReply *getImage(const QUrl &url, int req_width, int req_height); - void cancel(QDeclarativePixmapReply *reply); - -protected: - bool event(QEvent *event); + QDeclarativePixmapData(const QUrl &u, const QSize &r) + : refCount(1), inCache(false), pixmapStatus(QDeclarativePixmap::Loading), + url(u), requestSize(r), reply(0), prevUnreferenced(0), prevUnreferencedPtr(0), + nextUnreferenced(0) + { + } -private slots: - void networkRequestDone(); + QDeclarativePixmapData(const QUrl &u, const QPixmap &p, const QSize &s, const QSize &r) + : refCount(1), inCache(false), privatePixmap(false), pixmapStatus(QDeclarativePixmap::Ready), + url(u), pixmap(p), implicitSize(s), requestSize(r), reply(0), prevUnreferenced(0), + prevUnreferencedPtr(0), nextUnreferenced(0) + { + } -private: - QNetworkAccessManager *networkAccessManager() { - if (!accessManager) - accessManager = QDeclarativeEnginePrivate::get(engine)->createNetworkAccessManager(this); - return accessManager; + QDeclarativePixmapData(const QPixmap &p) + : refCount(1), inCache(false), privatePixmap(true), pixmapStatus(QDeclarativePixmap::Ready), + pixmap(p), implicitSize(p.size()), requestSize(p.size()), reply(0), prevUnreferenced(0), + prevUnreferencedPtr(0), nextUnreferenced(0) + { } - QHash<QNetworkReply*,QDeclarativePixmapReply*> replies; - QNetworkAccessManager *accessManager; - QDeclarativeEngine *engine; - QDeclarativeImageReader *reader; - int redirectCount; + int cost() const; + void addref(); + void release(); + void addToCache(); + void removeFromCache(); - static int replyDownloadProgress; - static int replyFinished; - static int downloadProgress; - static int thisNetworkRequestDone; + uint refCount; + + bool inCache:1; + bool privatePixmap:1; + + QDeclarativePixmap::Status pixmapStatus; + QUrl url; + QString errorString; + QPixmap pixmap; + QSize implicitSize; + QSize requestSize; + + QDeclarativePixmapReply *reply; + + QDeclarativePixmapData *prevUnreferenced; + QDeclarativePixmapData**prevUnreferencedPtr; + QDeclarativePixmapData *nextUnreferenced; }; -//=========================================================================== +int QDeclarativePixmapReply::finishedIndex = -1; +int QDeclarativePixmapReply::downloadProgressIndex = -1; + +// XXX +QHash<QDeclarativeEngine *,QDeclarativePixmapReader*> QDeclarativePixmapReader::readers; +QMutex QDeclarativePixmapReader::readerMutex; + +int QDeclarativePixmapReader::replyDownloadProgress = -1; +int QDeclarativePixmapReader::replyFinished = -1; +int QDeclarativePixmapReader::downloadProgress = -1; +int QDeclarativePixmapReader::thisNetworkRequestDone = -1; -static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *errorString, QSize *impsize, int req_width, int req_height) + +void QDeclarativePixmapReply::postReply(ReadError error, const QString &errorString, + const QSize &implicitSize, const QImage &image) +{ + loading = false; + QCoreApplication::postEvent(this, new Event(error, errorString, implicitSize, image)); +} + +QDeclarativePixmapReply::Event::Event(ReadError e, const QString &s, const QSize &iSize, const QImage &i) +: QEvent(QEvent::User), error(e), errorString(s), implicitSize(iSize), image(i) +{ +} + +QNetworkAccessManager *QDeclarativePixmapReader::networkAccessManager() +{ + if (!accessManager) { + Q_ASSERT(threadObject); + accessManager = QDeclarativeEnginePrivate::get(engine)->createNetworkAccessManager(threadObject); + } + return accessManager; +} + +static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *errorString, QSize *impsize, + const QSize &requestSize) { QImageReader imgio(dev); @@ -163,17 +268,17 @@ static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *e } bool scaled = false; - if (req_width > 0 || req_height > 0) { + if (requestSize.width() > 0 || requestSize.height() > 0) { QSize s = imgio.size(); - if (req_width && (force_scale || req_width < s.width())) { - if (req_height <= 0) - s.setHeight(s.height()*req_width/s.width()); - s.setWidth(req_width); scaled = true; + if (requestSize.width() && (force_scale || requestSize.width() < s.width())) { + if (requestSize.height() <= 0) + s.setHeight(s.height()*requestSize.width()/s.width()); + s.setWidth(requestSize.width()); scaled = true; } - if (req_height && (force_scale || req_height < s.height())) { - if (req_width <= 0) - s.setWidth(s.width()*req_height/s.height()); - s.setHeight(req_height); scaled = true; + if (requestSize.height() && (force_scale || requestSize.height() < s.height())) { + if (requestSize.width() <= 0) + s.setWidth(s.width()*requestSize.height()/s.height()); + s.setHeight(requestSize.height()); scaled = true; } if (scaled) { imgio.setScaledSize(s); } } @@ -187,200 +292,196 @@ static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *e return true; } else { if (errorString) - *errorString = QDeclarativePixmapCache::tr("Error decoding: %1: %2").arg(url.toString()) + *errorString = QDeclarativePixmap::tr("Error decoding: %1: %2").arg(url.toString()) .arg(imgio.errorString()); return false; } } - -//=========================================================================== - -int QDeclarativeImageRequestHandler::replyDownloadProgress = -1; -int QDeclarativeImageRequestHandler::replyFinished = -1; -int QDeclarativeImageRequestHandler::downloadProgress = -1; -int QDeclarativeImageRequestHandler::thisNetworkRequestDone = -1; - -typedef QHash<QUrl, QSize> QDeclarativePixmapSizeHash; -Q_GLOBAL_STATIC(QDeclarativePixmapSizeHash, qmlOriginalSizes); - -bool QDeclarativeImageRequestHandler::event(QEvent *event) +QDeclarativePixmapReader::QDeclarativePixmapReader(QDeclarativeEngine *eng) +: QThread(eng), engine(eng), threadObject(0), accessManager(0) { - if (event->type() == QEvent::User) { - if (replyDownloadProgress == -1) { - replyDownloadProgress = QNetworkReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)"); - replyFinished = QNetworkReply::staticMetaObject.indexOfSignal("finished()"); - downloadProgress = QDeclarativePixmapReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)"); - thisNetworkRequestDone = QDeclarativeImageRequestHandler::staticMetaObject.indexOfSlot("networkRequestDone()"); - } - - while (1) { - reader->mutex.lock(); - - if (reader->cancelled.count()) { - for (int i = 0; i < reader->cancelled.count(); ++i) { - QDeclarativePixmapReply *job = reader->cancelled.at(i); - // cancel any jobs already started - QNetworkReply *reply = replies.key(job, 0); - if (reply && reply->isRunning()) { - replies.remove(reply); - reply->close(); - } - // remove from pending job list - for (int j = 0; j < reader->jobs.count(); ++j) { - if (reader->jobs.at(j) == job) { - reader->jobs.removeAt(j); - job->release(true); - break; - } - } - } - reader->cancelled.clear(); - } - - if (!reader->jobs.count() || replies.count() > maxImageRequestCount) { - reader->mutex.unlock(); - break; - } + eventLoopQuitHack = new QObject; + eventLoopQuitHack->moveToThread(this); + connect(eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection); + start(QThread::IdlePriority); +} - QDeclarativePixmapReply *runningJob = reader->jobs.takeLast(); - QUrl url = runningJob->url(); - reader->mutex.unlock(); - - // fetch - if (url.scheme() == QLatin1String("image")) { - // Use QmlImageProvider - QSize read_impsize; - QImage image = QDeclarativeEnginePrivate::get(engine)->getImageFromProvider(url, &read_impsize, QSize(runningJob->forcedWidth(),runningJob->forcedHeight())); - qmlOriginalSizes()->insert(url, read_impsize); - QDeclarativeImageReaderEvent::ReadError errorCode = QDeclarativeImageReaderEvent::NoError; - QString errorStr; - if (image.isNull()) { - errorCode = QDeclarativeImageReaderEvent::Loading; - errorStr = QDeclarativePixmapCache::tr("Failed to get image from provider: %1").arg(url.toString()); - } - QCoreApplication::postEvent(runningJob, new QDeclarativeImageReaderEvent(errorCode, errorStr, image)); - } else { - QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url); - if (!lf.isEmpty()) { - // Image is local - load/decode immediately - QImage image; - QDeclarativeImageReaderEvent::ReadError errorCode = QDeclarativeImageReaderEvent::NoError; - QString errorStr; - QFile f(lf); - if (f.open(QIODevice::ReadOnly)) { - QSize read_impsize; - if (readImage(url, &f, &image, &errorStr, &read_impsize, runningJob->forcedWidth(),runningJob->forcedHeight())) { - qmlOriginalSizes()->insert(url, read_impsize); - } else { - errorCode = QDeclarativeImageReaderEvent::Loading; - } - } else { - errorStr = QDeclarativePixmapCache::tr("Cannot open: %1").arg(url.toString()); - errorCode = QDeclarativeImageReaderEvent::Loading; - } - QCoreApplication::postEvent(runningJob, new QDeclarativeImageReaderEvent(errorCode, errorStr, image)); - } else { - // Network resource - QNetworkRequest req(url); - req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); - QNetworkReply *reply = networkAccessManager()->get(req); - - QMetaObject::connect(reply, replyDownloadProgress, runningJob, downloadProgress); - QMetaObject::connect(reply, replyFinished, this, thisNetworkRequestDone); - - replies.insert(reply, runningJob); - } - } - } - return true; - } +QDeclarativePixmapReader::~QDeclarativePixmapReader() +{ + readerMutex.lock(); + readers.remove(engine); + readerMutex.unlock(); - return QObject::event(event); + eventLoopQuitHack->deleteLater(); + wait(); } -#define IMAGEREQUESTHANDLER_MAX_REDIRECT_RECURSION 16 - -void QDeclarativeImageRequestHandler::networkRequestDone() +void QDeclarativePixmapReader::networkRequestDone() { QNetworkReply *reply = static_cast<QNetworkReply *>(sender()); QDeclarativePixmapReply *job = replies.take(reply); - redirectCount++; - if (redirectCount < IMAGEREQUESTHANDLER_MAX_REDIRECT_RECURSION) { - QVariant redirect = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); - if (redirect.isValid()) { - QUrl url = reply->url().resolved(redirect.toUrl()); - QNetworkRequest req(url); - req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); - - reply->deleteLater(); - reply = networkAccessManager()->get(req); - - QMetaObject::connect(reply, replyDownloadProgress, job, downloadProgress); - QMetaObject::connect(reply, replyFinished, this, thisNetworkRequestDone); - - replies.insert(reply, job); - return; + if (job) { + job->redirectCount++; + if (job->redirectCount < IMAGEREQUEST_MAX_REDIRECT_RECURSION) { + QVariant redirect = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); + if (redirect.isValid()) { + QUrl url = reply->url().resolved(redirect.toUrl()); + QNetworkRequest req(url); + req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); + + reply->deleteLater(); + reply = networkAccessManager()->get(req); + + QMetaObject::connect(reply, replyDownloadProgress, job, downloadProgress); + QMetaObject::connect(reply, replyFinished, this, thisNetworkRequestDone); + + replies.insert(reply, job); + return; + } } - } - redirectCount=0; - if (job) { QImage image; - QDeclarativeImageReaderEvent::ReadError error; + QDeclarativePixmapReply::ReadError error = QDeclarativePixmapReply::NoError; QString errorString; + QSize readSize; if (reply->error()) { - error = QDeclarativeImageReaderEvent::Loading; + error = QDeclarativePixmapReply::Loading; errorString = reply->errorString(); } else { - QSize read_impsize; QByteArray all = reply->readAll(); QBuffer buff(&all); buff.open(QIODevice::ReadOnly); - if (readImage(reply->url(), &buff, &image, &errorString, &read_impsize, job->forcedWidth(), job->forcedHeight())) { - qmlOriginalSizes()->insert(reply->url(), read_impsize); - error = QDeclarativeImageReaderEvent::NoError; - } else { - error = QDeclarativeImageReaderEvent::Decoding; + if (!readImage(reply->url(), &buff, &image, &errorString, &readSize, job->data->requestSize)) { + error = QDeclarativePixmapReply::Decoding; } } // send completion event to the QDeclarativePixmapReply - QCoreApplication::postEvent(job, new QDeclarativeImageReaderEvent(error, errorString, image)); + mutex.lock(); + if (!cancelled.contains(job)) job->postReply(error, errorString, readSize, image); + mutex.unlock(); } - // kick off event loop again if we have dropped below max request count - if (replies.count() == maxImageRequestCount) - QCoreApplication::postEvent(this, new QEvent(QEvent::User)); reply->deleteLater(); + + // kick off event loop again incase we have dropped below max request count + threadObject->processJobs(); } -//=========================================================================== +QDeclarativePixmapReader::ThreadObject::ThreadObject(QDeclarativePixmapReader *i) +: reader(i) +{ +} -QDeclarativeImageReader::QDeclarativeImageReader(QDeclarativeEngine *eng) - : QThread(eng), engine(eng), handler(0) +void QDeclarativePixmapReader::ThreadObject::processJobs() +{ + QCoreApplication::postEvent(this, new QEvent(QEvent::User)); +} + +bool QDeclarativePixmapReader::ThreadObject::event(QEvent *e) { - eventLoopQuitHack = new QObject; - eventLoopQuitHack->moveToThread(this); - connect(eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection); - start(QThread::IdlePriority); + if (e->type() == QEvent::User) { + reader->processJobs(); + return true; + } else { + return QObject::event(e); + } } -QDeclarativeImageReader::~QDeclarativeImageReader() +void QDeclarativePixmapReader::processJobs() { - readerMutex.lock(); - readers.remove(engine); - readerMutex.unlock(); + QMutexLocker locker(&mutex); + + while (true) { + if (cancelled.isEmpty() && (jobs.isEmpty() || replies.count() >= IMAGEREQUEST_MAX_REQUEST_COUNT)) + return; // Nothing else to do + + // Clean cancelled jobs + if (cancelled.count()) { + for (int i = 0; i < cancelled.count(); ++i) { + QDeclarativePixmapReply *job = cancelled.at(i); + QNetworkReply *reply = replies.key(job, 0); + if (reply && reply->isRunning()) { + // cancel any jobs already started + replies.remove(reply); + reply->close(); + } + delete job; + } + cancelled.clear(); + } - eventLoopQuitHack->deleteLater(); - wait(); + if (!jobs.isEmpty() && replies.count() < IMAGEREQUEST_MAX_REQUEST_COUNT) { + QDeclarativePixmapReply *runningJob = jobs.takeLast(); + runningJob->loading = true; + + locker.unlock(); + processJob(runningJob); + locker.relock(); + } + } +} + +void QDeclarativePixmapReader::processJob(QDeclarativePixmapReply *runningJob) +{ + QUrl url = runningJob->data->url; + + // fetch + if (url.scheme() == QLatin1String("image")) { + // Use QmlImageProvider + QSize readSize; + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); + QImage image = ep->getImageFromProvider(url, &readSize, runningJob->data->requestSize); + + QDeclarativePixmapReply::ReadError errorCode = QDeclarativePixmapReply::NoError; + QString errorStr; + if (image.isNull()) { + errorCode = QDeclarativePixmapReply::Loading; + errorStr = QDeclarativePixmap::tr("Failed to get image from provider: %1").arg(url.toString()); + } + + mutex.lock(); + if (!cancelled.contains(runningJob)) runningJob->postReply(errorCode, errorStr, readSize, image); + mutex.unlock(); + } else { + QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url); + if (!lf.isEmpty()) { + // Image is local - load/decode immediately + QImage image; + QDeclarativePixmapReply::ReadError errorCode = QDeclarativePixmapReply::NoError; + QString errorStr; + QFile f(lf); + QSize readSize; + if (f.open(QIODevice::ReadOnly)) { + if (!readImage(url, &f, &image, &errorStr, &readSize, runningJob->data->requestSize)) + errorCode = QDeclarativePixmapReply::Loading; + } else { + errorStr = QDeclarativePixmap::tr("Cannot open: %1").arg(url.toString()); + errorCode = QDeclarativePixmapReply::Loading; + } + mutex.lock(); + if (!cancelled.contains(runningJob)) runningJob->postReply(errorCode, errorStr, readSize, image); + mutex.unlock(); + } else { + // Network resource + QNetworkRequest req(url); + req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); + QNetworkReply *reply = networkAccessManager()->get(req); + + QMetaObject::connect(reply, replyDownloadProgress, runningJob, downloadProgress); + QMetaObject::connect(reply, replyFinished, this, thisNetworkRequestDone); + + replies.insert(reply, runningJob); + } + } } -QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *engine) +QDeclarativePixmapReader *QDeclarativePixmapReader::instance(QDeclarativeEngine *engine) { readerMutex.lock(); - QDeclarativeImageReader *reader = readers.value(engine); + QDeclarativePixmapReader *reader = readers.value(engine); if (!reader) { - reader = new QDeclarativeImageReader(engine); + reader = new QDeclarativePixmapReader(engine); readers.insert(engine, reader); } readerMutex.unlock(); @@ -388,342 +489,558 @@ QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *e return reader; } -QDeclarativePixmapReply *QDeclarativeImageReader::getImage(const QUrl &url, int req_width, int req_height) +QDeclarativePixmapReply *QDeclarativePixmapReader::getImage(QDeclarativePixmapData *data) { mutex.lock(); - QDeclarativePixmapReply *reply = new QDeclarativePixmapReply(this, url, req_width, req_height); - reply->addRef(); - reply->setLoading(); + QDeclarativePixmapReply *reply = new QDeclarativePixmapReply(data); + reply->reader = this; jobs.append(reply); - if (jobs.count() == 1 && handler) - QCoreApplication::postEvent(handler, new QEvent(QEvent::User)); + // XXX + if (threadObject) threadObject->processJobs(); mutex.unlock(); return reply; } -void QDeclarativeImageReader::cancel(QDeclarativePixmapReply *reply) +void QDeclarativePixmapReader::cancel(QDeclarativePixmapReply *reply) { mutex.lock(); - if (reply->isLoading()) { - // Add to cancel list to be cancelled in reader thread. + if (reply->loading) { cancelled.append(reply); - if (cancelled.count() == 1 && handler) - QCoreApplication::postEvent(handler, new QEvent(QEvent::User)); + // XXX + if (threadObject) threadObject->processJobs(); + } else { + jobs.removeAll(reply); + delete reply; } mutex.unlock(); } -void QDeclarativeImageReader::run() +void QDeclarativePixmapReader::run() { - readerMutex.lock(); - handler = new QDeclarativeImageRequestHandler(this, engine); - readerMutex.unlock(); + if (replyDownloadProgress == -1) { + const QMetaObject *nr = &QNetworkReply::staticMetaObject; + const QMetaObject *pr = &QDeclarativePixmapReply::staticMetaObject; + const QMetaObject *ir = &QDeclarativePixmapReader::staticMetaObject; + replyDownloadProgress = nr->indexOfSignal("downloadProgress(qint64,qint64)"); + replyFinished = nr->indexOfSignal("finished()"); + downloadProgress = pr->indexOfSignal("downloadProgress(qint64,qint64)"); + thisNetworkRequestDone = ir->indexOfSlot("networkRequestDone()"); + } + mutex.lock(); + threadObject = new ThreadObject(this); + mutex.unlock(); + + processJobs(); exec(); - delete handler; - handler = 0; + delete threadObject; + threadObject = 0; } -//=========================================================================== - -/*! - \internal - \class QDeclarativePixmapCache - \brief Enacapsultes a pixmap for QDeclarativeGraphics items. +class QDeclarativePixmapKey +{ +public: + const QUrl *url; + const QSize *size; +}; - This class is NOT reentrant. - */ +inline bool operator==(const QDeclarativePixmapKey &lhs, const QDeclarativePixmapKey &rhs) +{ + return *lhs.size == *rhs.size && *lhs.url == *rhs.url; +} -typedef QHash<QUrl, QDeclarativePixmapReply *> QDeclarativePixmapReplyHash; -Q_GLOBAL_STATIC(QDeclarativePixmapReplyHash, qmlActivePixmapReplies); +inline uint qHash(const QDeclarativePixmapKey &key) +{ + return qHash(*key.url) ^ key.size->width() ^ key.size->height(); +} -class QDeclarativePixmapReplyPrivate : public QObjectPrivate +class QDeclarativePixmapStore : public QObject { - Q_DECLARE_PUBLIC(QDeclarativePixmapReply) + Q_OBJECT +public: + QDeclarativePixmapStore(); + + void unreferencePixmap(QDeclarativePixmapData *); + void referencePixmap(QDeclarativePixmapData *); + +protected: + virtual void timerEvent(QTimerEvent *); public: - QDeclarativePixmapReplyPrivate(QDeclarativeImageReader *r, const QUrl &u, int req_width, int req_height) - : QObjectPrivate(), refCount(1), url(u), status(QDeclarativePixmapReply::Loading), loading(false), reader(r), - forced_width(req_width), forced_height(req_height) - { - } + QHash<QDeclarativePixmapKey, QDeclarativePixmapData *> m_cache; - int refCount; - QUrl url; - QPixmap pixmap; // ensure reference to pixmap so QPixmapCache does not discard - QDeclarativePixmapReply::Status status; - bool loading; - QDeclarativeImageReader *reader; - int forced_width, forced_height; - QString errorString; -}; +private: + QDeclarativePixmapData *m_unreferencedPixmaps; + QDeclarativePixmapData *m_lastUnreferencedPixmap; + int m_unreferencedCost; + int m_timerId; +}; +Q_GLOBAL_STATIC(QDeclarativePixmapStore, pixmapStore); -QDeclarativePixmapReply::QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url, int req_width, int req_height) - : QObject(*new QDeclarativePixmapReplyPrivate(reader, url, req_width, req_height), 0) +QDeclarativePixmapStore::QDeclarativePixmapStore() +: m_unreferencedPixmaps(0), m_lastUnreferencedPixmap(0), m_unreferencedCost(0), m_timerId(-1) { } -QDeclarativePixmapReply::~QDeclarativePixmapReply() +void QDeclarativePixmapStore::unreferencePixmap(QDeclarativePixmapData *data) { + Q_ASSERT(data->prevUnreferenced == 0); + Q_ASSERT(data->prevUnreferencedPtr == 0); + Q_ASSERT(data->nextUnreferenced == 0); + + data->nextUnreferenced = m_unreferencedPixmaps; + data->prevUnreferencedPtr = &m_unreferencedPixmaps; + + m_unreferencedPixmaps = data; + if (m_unreferencedPixmaps->nextUnreferenced) { + m_unreferencedPixmaps->nextUnreferenced->prevUnreferenced = m_unreferencedPixmaps; + m_unreferencedPixmaps->nextUnreferenced->prevUnreferencedPtr = &m_unreferencedPixmaps->nextUnreferenced; + } + + if (!m_lastUnreferencedPixmap) + m_lastUnreferencedPixmap = data; + + m_unreferencedCost += data->cost(); + + if (m_timerId == -1) + startTimer(CACHE_EXPIRE_TIME * 1000); } -const QUrl &QDeclarativePixmapReply::url() const +void QDeclarativePixmapStore::referencePixmap(QDeclarativePixmapData *data) { - Q_D(const QDeclarativePixmapReply); - return d->url; + Q_ASSERT(data->prevUnreferencedPtr); + + *data->prevUnreferencedPtr = data->nextUnreferenced; + if (data->nextUnreferenced) { + data->nextUnreferenced->prevUnreferencedPtr = data->prevUnreferencedPtr; + data->nextUnreferenced->prevUnreferenced = data->prevUnreferenced; + } + if (m_lastUnreferencedPixmap == data) + m_lastUnreferencedPixmap = data->prevUnreferenced; + + data->nextUnreferenced = 0; + data->prevUnreferencedPtr = 0; + data->prevUnreferenced = 0; + + m_unreferencedCost -= data->cost(); } -int QDeclarativePixmapReply::forcedWidth() const +void QDeclarativePixmapStore::timerEvent(QTimerEvent *) { - Q_D(const QDeclarativePixmapReply); - return d->forced_width; + int removalCost = m_unreferencedCost / CACHE_REMOVAL_FRACTION; + + while (removalCost > 0 && m_lastUnreferencedPixmap) { + QDeclarativePixmapData *data = m_lastUnreferencedPixmap; + Q_ASSERT(data->nextUnreferenced == 0); + + *data->prevUnreferencedPtr = 0; + m_lastUnreferencedPixmap = data->prevUnreferenced; + data->prevUnreferencedPtr = 0; + data->prevUnreferenced = 0; + + removalCost -= data->cost(); + data->removeFromCache(); + delete data; + } + + if (m_unreferencedPixmaps == 0) { + killTimer(m_timerId); + m_timerId = -1; + } } -int QDeclarativePixmapReply::forcedHeight() const +QDeclarativePixmapReply::QDeclarativePixmapReply(QDeclarativePixmapData *d) +: data(d), reader(0), loading(false), redirectCount(0) { - Q_D(const QDeclarativePixmapReply); - return d->forced_height; + if (finishedIndex == -1) { + finishedIndex = QDeclarativePixmapReply::staticMetaObject.indexOfSignal("finished()"); + downloadProgressIndex = QDeclarativePixmapReply::staticMetaObject.indexOfSignal("downloadProgress(qint64,qint64)"); + } } -QSize QDeclarativePixmapReply::implicitSize() const +QDeclarativePixmapReply::~QDeclarativePixmapReply() { - Q_D(const QDeclarativePixmapReply); - QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(d->url); - if (iter != qmlOriginalSizes()->end()) - return *iter; - else - return QSize(); } bool QDeclarativePixmapReply::event(QEvent *event) { - Q_D(QDeclarativePixmapReply); if (event->type() == QEvent::User) { - d->loading = false; - if (!release(true)) { - QDeclarativeImageReaderEvent *de = static_cast<QDeclarativeImageReaderEvent*>(event); - d->status = (de->error == QDeclarativeImageReaderEvent::NoError) ? Ready : Error; - if (d->status == Ready) - d->pixmap = QPixmap::fromImage(de->image); - else - d->errorString = de->errorString; - QByteArray key = d->url.toEncoded(QUrl::FormattingOption(0x100)); - QString strKey = QString::fromLatin1(key.constData(), key.count()); - QPixmapCache::insert(strKey, d->pixmap); // note: may fail (returns false) + + if (data) { + Event *de = static_cast<Event *>(event); + data->pixmapStatus = (de->error == NoError) ? QDeclarativePixmap::Ready : QDeclarativePixmap::Error; + + if (data->pixmapStatus == QDeclarativePixmap::Ready) { + data->pixmap = QPixmap::fromImage(de->image); + data->implicitSize = de->implicitSize; + } else { + data->errorString = de->errorString; + data->removeFromCache(); // We don't continue to cache error'd pixmaps + } + + data->reply = 0; emit finished(); } + + delete this; return true; + } else { + return QObject::event(event); } - - return QObject::event(event); } -QString QDeclarativePixmapReply::errorString() const +int QDeclarativePixmapData::cost() const { - Q_D(const QDeclarativePixmapReply); - return d->errorString; + return pixmap.width() * pixmap.height() * pixmap.depth(); } -QDeclarativePixmapReply::Status QDeclarativePixmapReply::status() const +void QDeclarativePixmapData::addref() { - Q_D(const QDeclarativePixmapReply); - return d->status; + ++refCount; + if (prevUnreferencedPtr) + pixmapStore()->referencePixmap(this); } -bool QDeclarativePixmapReply::isLoading() const +void QDeclarativePixmapData::release() { - Q_D(const QDeclarativePixmapReply); - return d->loading; + Q_ASSERT(refCount > 0); + --refCount; + + if (refCount == 0) { + if (reply) { + reply->data = 0; + reply->reader->cancel(reply); + reply = 0; + } + + if (pixmapStatus == QDeclarativePixmap::Ready) { + pixmapStore()->unreferencePixmap(this); + } else { + removeFromCache(); + delete this; + } + } } -void QDeclarativePixmapReply::setLoading() +void QDeclarativePixmapData::addToCache() { - Q_D(QDeclarativePixmapReply); - d->loading = true; + if (!inCache) { + QDeclarativePixmapKey key = { &url, &requestSize }; + pixmapStore()->m_cache.insert(key, this); + inCache = true; + } } -void QDeclarativePixmapReply::addRef() +void QDeclarativePixmapData::removeFromCache() { - Q_D(QDeclarativePixmapReply); - ++d->refCount; + if (inCache) { + QDeclarativePixmapKey key = { &url, &requestSize }; + pixmapStore()->m_cache.remove(key); + inCache = false; + } } -bool QDeclarativePixmapReply::release(bool defer) +static QDeclarativePixmapData* createPixmapDataSync(QDeclarativeEngine *engine, const QUrl &url, const QSize &requestSize, bool *ok) { - Q_D(QDeclarativePixmapReply); - Q_ASSERT(d->refCount > 0); - --d->refCount; - if (d->refCount == 0) { - qmlActivePixmapReplies()->remove(d->url); - if (defer) - deleteLater(); - else - delete this; - return true; - } else if (d->refCount == 1 && d->loading) { - // The only reference left is the reader thread. - qmlActivePixmapReplies()->remove(d->url); - d->reader->cancel(this); + if (url.scheme() == QLatin1String("image")) { + QSize readSize; + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); + QDeclarativeImageProvider::ImageType imageType = ep->getImageProviderType(url); + + switch (imageType) { + case QDeclarativeImageProvider::Image: + { + QImage image = ep->getImageFromProvider(url, &readSize, requestSize); + if (!image.isNull()) { + *ok = true; + return new QDeclarativePixmapData(url, QPixmap::fromImage(image), readSize, requestSize); + } + } + case QDeclarativeImageProvider::Pixmap: + { + QPixmap pixmap = ep->getPixmapFromProvider(url, &readSize, requestSize); + if (!pixmap.isNull()) { + *ok = true; + return new QDeclarativePixmapData(url, pixmap, readSize, requestSize); + } + } + } + + // no matching provider, or provider has bad image type, or provider returned null image + return new QDeclarativePixmapData(url, requestSize, + QDeclarativePixmap::tr("Failed to get image from provider: %1").arg(url.toString())); } - return false; + QString localFile = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url); + if (localFile.isEmpty()) + return 0; + + QFile f(localFile); + QSize readSize; + QString errorString; + + if (f.open(QIODevice::ReadOnly)) { + QImage image; + if (readImage(url, &f, &image, &errorString, &readSize, requestSize)) { + *ok = true; + return new QDeclarativePixmapData(url, QPixmap::fromImage(image), readSize, requestSize); + } + } else { + errorString = QDeclarativePixmap::tr("Cannot open: %1").arg(url.toString()); + } + return new QDeclarativePixmapData(url, requestSize, errorString); } -/*! - Finds the cached pixmap corresponding to \a url. - If the image is a network resource and has not yet - been retrieved and cached, request() must be called. - Returns Ready, or Error if the image has been retrieved, - otherwise the current retrieval status. +struct QDeclarativePixmapNull { + QUrl url; + QPixmap pixmap; + QSize size; +}; +Q_GLOBAL_STATIC(QDeclarativePixmapNull, nullPixmap); - If \a async is false the image will be loaded and decoded immediately; - otherwise the image will be loaded and decoded in a separate thread. +QDeclarativePixmap::QDeclarativePixmap() +: d(0) +{ +} - If \a req_width and \a req_height are non-zero, they are used for - the size of the rendered pixmap rather than the intrinsic size of the image. - Different request sizes add different cache items. +QDeclarativePixmap::QDeclarativePixmap(QDeclarativeEngine *engine, const QUrl &url) +: d(0) +{ + load(engine, url); +} - Note that images sourced from the network will always be loaded and - decoded asynchonously. -*/ -QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QPixmap *pixmap, QString *errorString, QSize *impsize, bool async, int req_width, int req_height) +QDeclarativePixmap::QDeclarativePixmap(QDeclarativeEngine *engine, const QUrl &url, const QSize &size) +: d(0) { - QDeclarativePixmapReply::Status status = QDeclarativePixmapReply::Unrequested; - QByteArray key = url.toEncoded(QUrl::FormattingOption(0x100)); + load(engine, url, size); +} - if (req_width > 0 || req_height > 0) { - key += ':'; - key += QByteArray::number(req_width); - key += 'x'; - key += QByteArray::number(req_height); +QDeclarativePixmap::~QDeclarativePixmap() +{ + if (d) { + d->release(); + d = 0; } +} - QString strKey = QString::fromLatin1(key.constData(), key.count()); +bool QDeclarativePixmap::isNull() const +{ + return d == 0; +} -#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML - if (!async) { - QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url); - if (!lf.isEmpty()) { - status = QDeclarativePixmapReply::Ready; - if (!QPixmapCache::find(strKey,pixmap)) { - QFile f(lf); - QSize read_impsize; - if (f.open(QIODevice::ReadOnly)) { - QImage image; - if (readImage(url, &f, &image, errorString, &read_impsize, req_width, req_height)) { - *pixmap = QPixmap::fromImage(image); - } else { - *pixmap = QPixmap(); - status = QDeclarativePixmapReply::Error; - } - } else { - if (errorString) - *errorString = tr("Cannot open: %1").arg(url.toString()); - *pixmap = QPixmap(); - status = QDeclarativePixmapReply::Error; - } - if (status == QDeclarativePixmapReply::Ready) { - QPixmapCache::insert(strKey, *pixmap); - qmlOriginalSizes()->insert(url, read_impsize); - } - if (impsize) - *impsize = read_impsize; - } else { - if (impsize) { - QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(url); - if (iter != qmlOriginalSizes()->end()) - *impsize = *iter; - } +bool QDeclarativePixmap::isReady() const +{ + return status() == Ready; +} + +bool QDeclarativePixmap::isError() const +{ + return status() == Error; +} + +bool QDeclarativePixmap::isLoading() const +{ + return status() == Loading; +} + +QString QDeclarativePixmap::error() const +{ + if (d) + return d->errorString; + else + return QString(); +} + +QDeclarativePixmap::Status QDeclarativePixmap::status() const +{ + if (d) + return d->pixmapStatus; + else + return Null; +} + +const QUrl &QDeclarativePixmap::url() const +{ + if (d) + return d->url; + else + return nullPixmap()->url; +} + +const QSize &QDeclarativePixmap::implicitSize() const +{ + if (d) + return d->implicitSize; + else + return nullPixmap()->size; +} + +const QSize &QDeclarativePixmap::requestSize() const +{ + if (d) + return d->requestSize; + else + return nullPixmap()->size; +} + +const QPixmap &QDeclarativePixmap::pixmap() const +{ + if (d) + return d->pixmap; + else + return nullPixmap()->pixmap; +} + +void QDeclarativePixmap::setPixmap(const QPixmap &p) +{ + clear(); + + if (!p.isNull()) + d = new QDeclarativePixmapData(p); +} + +int QDeclarativePixmap::width() const +{ + if (d) + return d->pixmap.width(); + else + return 0; +} + +int QDeclarativePixmap::height() const +{ + if (d) + return d->pixmap.height(); + else + return 0; +} + +QRect QDeclarativePixmap::rect() const +{ + if (d) + return d->pixmap.rect(); + else + return QRect(); +} + +void QDeclarativePixmap::load(QDeclarativeEngine *engine, const QUrl &url) +{ + load(engine, url, QSize(), false); +} + +void QDeclarativePixmap::load(QDeclarativeEngine *engine, const QUrl &url, bool async) +{ + load(engine, url, QSize(), async); +} + +void QDeclarativePixmap::load(QDeclarativeEngine *engine, const QUrl &url, const QSize &size) +{ + load(engine, url, size, false); +} + +void QDeclarativePixmap::load(QDeclarativeEngine *engine, const QUrl &url, const QSize &requestSize, bool async) +{ + if (d) { d->release(); d = 0; } + + QDeclarativePixmapKey key = { &url, &requestSize }; + QDeclarativePixmapStore *store = pixmapStore(); + + QHash<QDeclarativePixmapKey, QDeclarativePixmapData *>::Iterator iter = store->m_cache.find(key); + + if (iter == store->m_cache.end()) { + if (async) { + // pixmaps can only be loaded synchronously + if (url.scheme() == QLatin1String("image") + && QDeclarativeEnginePrivate::get(engine)->getImageProviderType(url) == QDeclarativeImageProvider::Pixmap) { + async = false; } - return status; } - } -#endif - - QDeclarativePixmapReplyHash::Iterator iter = qmlActivePixmapReplies()->find(url); - if (iter != qmlActivePixmapReplies()->end() && (*iter)->status() == QDeclarativePixmapReply::Ready) { - // Must check this, since QPixmapCache::insert may have failed. - *pixmap = (*iter)->d_func()->pixmap; - status = (*iter)->status(); - (*iter)->release(); - } else if (QPixmapCache::find(strKey, pixmap)) { - if (iter != qmlActivePixmapReplies()->end()) { - status = (*iter)->status(); - if (errorString) - *errorString = (*iter)->errorString(); - (*iter)->release(); - } else if (pixmap->isNull()) { - status = QDeclarativePixmapReply::Error; - if (errorString) - *errorString = tr("Unknown Error loading %1").arg(url.toString()); - } else { - status = QDeclarativePixmapReply::Ready; - } - } else if (iter != qmlActivePixmapReplies()->end()) { - status = QDeclarativePixmapReply::Loading; - } - if (impsize) { - QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(url); - if (iter != qmlOriginalSizes()->end()) - *impsize = *iter; - } - return status; + if (!async) { + bool ok = false; + d = createPixmapDataSync(engine, url, requestSize, &ok); + if (ok) { + d->addToCache(); + return; + } + if (d) // loadable, but encountered error while loading + return; + } + + if (!engine) + return; + + QDeclarativePixmapReader *reader = QDeclarativePixmapReader::instance(engine); + + d = new QDeclarativePixmapData(url, requestSize); + d->addToCache(); + + d->reply = reader->getImage(d); + } else { + d = *iter; + d->addref(); + } } -/*! - Starts a network request to load \a url. +void QDeclarativePixmap::clear() +{ + if (d) { + d->release(); + d = 0; + } +} - Returns a QDeclarativePixmapReply. Caller should connect to QDeclarativePixmapReply::finished() - and call get() when the image is available. +void QDeclarativePixmap::clear(QObject *obj) +{ + if (d) { + if (d->reply) + QObject::disconnect(d->reply, 0, obj, 0); + d->release(); + d = 0; + } +} - The returned QDeclarativePixmapReply will be deleted when all request() calls are - matched by a corresponding get() call. -*/ -QDeclarativePixmapReply *QDeclarativePixmapCache::request(QDeclarativeEngine *engine, const QUrl &url, int req_width, int req_height) +bool QDeclarativePixmap::connectFinished(QObject *object, const char *method) { - QDeclarativePixmapReplyHash::Iterator iter = qmlActivePixmapReplies()->find(url); - if (iter == qmlActivePixmapReplies()->end()) { - QDeclarativeImageReader *reader = QDeclarativeImageReader::instance(engine); - QDeclarativePixmapReply *item = reader->getImage(url, req_width, req_height); - iter = qmlActivePixmapReplies()->insert(url, item); - } else { - (*iter)->addRef(); + if (!d || !d->reply) { + qWarning("QDeclarativePixmap: connectFinished() called when not loading."); + return false; } - return (*iter); + return QObject::connect(d->reply, SIGNAL(finished()), object, method); } -/*! - Cancels a previous call to request(). +bool QDeclarativePixmap::connectFinished(QObject *object, int method) +{ + if (!d || !d->reply) { + qWarning("QDeclarativePixmap: connectFinished() called when not loading."); + return false; + } - May also cancel loading (eg. if no other pending request). + return QMetaObject::connect(d->reply, QDeclarativePixmapReply::finishedIndex, object, method); +} - Any connections from the QDeclarativePixmapReply returned by request() to \a obj will be - disconnected. -*/ -void QDeclarativePixmapCache::cancel(const QUrl& url, QObject *obj) +bool QDeclarativePixmap::connectDownloadProgress(QObject *object, const char *method) { - QDeclarativePixmapReplyHash::Iterator iter = qmlActivePixmapReplies()->find(url); - if (iter == qmlActivePixmapReplies()->end()) - return; + if (!d || !d->reply) { + qWarning("QDeclarativePixmap: connectDownloadProgress() called when not loading."); + return false; + } - QDeclarativePixmapReply *reply = *iter; - if (obj) - QObject::disconnect(reply, 0, obj, 0); - reply->release(); + return QObject::connect(d->reply, SIGNAL(downloadProgress(qint64,qint64)), object, method); } -/*! - This function is mainly for test verification. It returns the number of - requests that are still unfinished. -*/ -int QDeclarativePixmapCache::pendingRequests() +bool QDeclarativePixmap::connectDownloadProgress(QObject *object, int method) { - return qmlActivePixmapReplies()->count(); + if (!d || !d->reply) { + qWarning("QDeclarativePixmap: connectDownloadProgress() called when not loading."); + return false; + } + + return QMetaObject::connect(d->reply, QDeclarativePixmapReply::downloadProgressIndex, object, method); } QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativepixmapcache_p.h b/src/declarative/util/qdeclarativepixmapcache_p.h index 33d9de1..b4d88bd 100644 --- a/src/declarative/util/qdeclarativepixmapcache_p.h +++ b/src/declarative/util/qdeclarativepixmapcache_p.h @@ -42,69 +42,70 @@ #ifndef QDECLARATIVEPIXMAPCACHE_H #define QDECLARATIVEPIXMAPCACHE_H -#include <QtCore/QString> -#include <QtGui/QPixmap> +#include <QtCore/qcoreapplication.h> +#include <QtCore/qstring.h> +#include <QtGui/qpixmap.h> #include <QtCore/qurl.h> -#include <QtCore/QCoreApplication> QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class QDeclarativeEngine; -class QNetworkReply; -class QDeclarativeImageReader; -class QDeclarativePixmapReplyPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativePixmapReply : public QObject +class QDeclarativeEngine; +class QDeclarativePixmapData; +class Q_DECLARATIVE_EXPORT QDeclarativePixmap { - Q_OBJECT + Q_DECLARE_TR_FUNCTIONS(QDeclarativePixmap) public: - ~QDeclarativePixmapReply(); + QDeclarativePixmap(); + QDeclarativePixmap(QDeclarativeEngine *, const QUrl &); + QDeclarativePixmap(QDeclarativeEngine *, const QUrl &, const QSize &); + ~QDeclarativePixmap(); - enum Status { Ready, Error, Unrequested, Loading }; - Status status() const; - QString errorString() const; + enum Status { Null, Ready, Error, Loading }; + bool isNull() const; + bool isReady() const; + bool isError() const; + bool isLoading() const; + + Status status() const; + QString error() const; const QUrl &url() const; - int forcedWidth() const; - int forcedHeight() const; - QSize implicitSize() const; + const QSize &implicitSize() const; + const QSize &requestSize() const; + const QPixmap &pixmap() const; + void setPixmap(const QPixmap &); -Q_SIGNALS: - void finished(); - void downloadProgress(qint64, qint64); + QRect rect() const; + int width() const; + int height() const; + inline operator const QPixmap &() const; -protected: - bool event(QEvent *event); + void load(QDeclarativeEngine *, const QUrl &); + void load(QDeclarativeEngine *, const QUrl &, bool); + void load(QDeclarativeEngine *, const QUrl &, const QSize &); + void load(QDeclarativeEngine *, const QUrl &, const QSize &, bool); -private: - void addRef(); - bool release(bool defer=false); - bool isLoading() const; - void setLoading(); + void clear(); + void clear(QObject *); + + bool connectFinished(QObject *, const char *); + bool connectFinished(QObject *, int); + bool connectDownloadProgress(QObject *, const char *); + bool connectDownloadProgress(QObject *, int); private: - QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url, int req_width, int req_height); - Q_DISABLE_COPY(QDeclarativePixmapReply) - Q_DECLARE_PRIVATE(QDeclarativePixmapReply) - friend class QDeclarativeImageRequestHandler; - friend class QDeclarativeImageReader; - friend class QDeclarativePixmapCache; + Q_DISABLE_COPY(QDeclarativePixmap); + QDeclarativePixmapData *d; }; -class Q_DECLARATIVE_EXPORT QDeclarativePixmapCache +inline QDeclarativePixmap::operator const QPixmap &() const { - Q_DECLARE_TR_FUNCTIONS(QDeclarativePixmapCache) -public: - static QDeclarativePixmapReply::Status get(const QUrl& url, QPixmap *pixmap, QString *errorString, QSize *impsize=0, bool async=false, int req_width=0, int req_height=0); - static QDeclarativePixmapReply *request(QDeclarativeEngine *, const QUrl& url, int req_width=0, int req_height=0); - static void cancel(const QUrl& url, QObject *obj); - static int pendingRequests(); -}; - - + return pixmap(); +} QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativepropertychanges.cpp b/src/declarative/util/qdeclarativepropertychanges.cpp index 8e3ec82..12c6353 100644 --- a/src/declarative/util/qdeclarativepropertychanges.cpp +++ b/src/declarative/util/qdeclarativepropertychanges.cpp @@ -145,7 +145,7 @@ QT_BEGIN_NAMESPACE an Item's parent should be done using the associated change elements (ParentChange and AnchorChanges, respectively). - \sa {qmlstate}{States}, QtDeclarative + \sa {declarative/animation/states}{states example}, {qmlstate}{States}, QtDeclarative */ /*! diff --git a/src/declarative/util/qdeclarativepropertychanges_p.h b/src/declarative/util/qdeclarativepropertychanges_p.h index c2ed466..8578086 100644 --- a/src/declarative/util/qdeclarativepropertychanges_p.h +++ b/src/declarative/util/qdeclarativepropertychanges_p.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativePropertyChangesPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation +class Q_AUTOTEST_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativePropertyChanges) @@ -79,6 +79,9 @@ public: class QDeclarativePropertyChangesParser : public QDeclarativeCustomParser { public: + QDeclarativePropertyChangesParser() + : QDeclarativeCustomParser(AcceptsAttachedProperties) {} + void compileList(QList<QPair<QByteArray, QVariant> > &list, const QByteArray &pre, const QDeclarativeCustomParserProperty &prop); virtual QByteArray compile(const QList<QDeclarativeCustomParserProperty> &); diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp index 6b6df4d..5d47c30 100644 --- a/src/declarative/util/qdeclarativesmoothedanimation.cpp +++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp @@ -307,7 +307,7 @@ Rectangle { set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity of 0.5 will take 2000 ms to complete. - \sa SpringFollow, {QML Animation}, {declarative/animation/basics}{Animation basics example} + \sa {QML Animation}, {declarative/animation/basics}{Animation basics example} */ QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent) diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p.h index f45d19f..8b51209 100644 --- a/src/declarative/util/qdeclarativesmoothedanimation_p.h +++ b/src/declarative/util/qdeclarativesmoothedanimation_p.h @@ -55,7 +55,7 @@ QT_MODULE(Declarative) class QDeclarativeProperty; class QDeclarativeSmoothedAnimationPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeSmoothedAnimation : public QDeclarativeNumberAnimation +class Q_AUTOTEST_EXPORT QDeclarativeSmoothedAnimation : public QDeclarativeNumberAnimation { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeSmoothedAnimation) diff --git a/src/declarative/util/qdeclarativesmoothedfollow.cpp b/src/declarative/util/qdeclarativesmoothedfollow.cpp deleted file mode 100644 index f70df9d..0000000 --- a/src/declarative/util/qdeclarativesmoothedfollow.cpp +++ /dev/null @@ -1,299 +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 "qdeclarativesmoothedfollow_p.h" -#include "qdeclarativesmoothedanimation_p_p.h" - -#include <private/qobject_p.h> -#include <QtCore/qnumeric.h> - -#include "qdeclarativeglobal_p.h" - - -QT_BEGIN_NAMESPACE - -class QDeclarativeSmoothedFollowPrivate : public QObjectPrivate -{ - Q_DECLARE_PUBLIC(QDeclarativeSmoothedFollow) -public: - QDeclarativeSmoothedFollowPrivate(); - - bool enabled; - QSmoothedAnimation *anim; -}; - -/*! - \qmlclass SmoothedFollow QDeclarativeSmoothedFollow - \since 4.7 - \inherits NumberAnimation - \brief The SmoothedFollow element allows a property to smoothly track a value. - - The SmoothedFollow animates a property's value to a set target value - using an ease in/out quad easing curve. If the animation is restarted - with a different target value, the easing curves used to animate to the old - and the new target values are smoothly spliced together to avoid any obvious - visual glitches by maintaining the current velocity. - - The property animation is configured by setting the velocity at which the - 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 - 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 - with both a velocity of 200 and a duration of 8000 set. - - The follow example shows one rectangle tracking the position of another. -\code -import Qt 4.7 - -Rectangle { - width: 800; height: 600; color: "blue" - - Rectangle { - color: "green" - width: 60; height: 60; - SmoothedFollow on x { to: rect1.x - 5; velocity: 200 } - SmoothedFollow on y { to: rect1.y - 5; velocity: 200 } - } - - Rectangle { - id: rect1 - color: "red" - width: 50; height: 50; - } - - focus: true - Keys.onRightPressed: rect1.x = rect1.x + 100 - Keys.onLeftPressed: rect1.x = rect1.x - 100 - Keys.onUpPressed: rect1.y = rect1.y - 100 - Keys.onDownPressed: rect1.y = rect1.y + 100 -} -\endcode - - The default velocity of SmoothedFollow is 200 units/second. Note that if the range of the - value being animated is small, then the velocity will need to be adjusted - appropriately. For example, the opacity of an item ranges from 0 - 1.0. - To enable a smooth animation in this range the velocity will need to be - set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity - of 0.5 will take 2000 ms to complete. - - \sa SpringFollow -*/ - -QDeclarativeSmoothedFollow::QDeclarativeSmoothedFollow(QObject *parent) - : QObject(*(new QDeclarativeSmoothedFollowPrivate), parent) -{ -} - -QDeclarativeSmoothedFollow::~QDeclarativeSmoothedFollow() -{ -} - -QDeclarativeSmoothedFollowPrivate::QDeclarativeSmoothedFollowPrivate() - : enabled(true), anim(new QSmoothedAnimation) -{ - Q_Q(QDeclarativeSmoothedFollow); - QDeclarative_setParent_noEvent(anim, q); -} - -/*! - \qmlproperty enumeration SmoothedFollow::reversingMode - - Sets how the SmoothedFollow behaves if an animation direction is reversed. - - If reversing mode is \c SmoothedFollow.Eased, the animation will smoothly decelerate, and - then reverse direction. If the reversing mode is \c SmoothedFollow.Immediate, the - animation will immediately begin accelerating in the reverse direction, - begining with a velocity of 0. If the reversing mode is \c SmoothedFollow.Sync, the - property is immediately set to the target value. -*/ -QDeclarativeSmoothedFollow::ReversingMode QDeclarativeSmoothedFollow::reversingMode() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return (ReversingMode) d->anim->reversingMode; -} - -void QDeclarativeSmoothedFollow::setReversingMode(ReversingMode m) -{ - Q_D(QDeclarativeSmoothedFollow); - if (d->anim->reversingMode == (QDeclarativeSmoothedAnimation::ReversingMode) m) - return; - - d->anim->reversingMode = (QDeclarativeSmoothedAnimation::ReversingMode) m; - emit reversingModeChanged(); -} - -/*! - \qmlproperty int SmoothedFollow::duration - - This property holds the animation duration, in msecs, used when tracking the source. - - Setting this to -1 (the default) disables the duration value. -*/ -int QDeclarativeSmoothedFollow::duration() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return d->anim->userDuration; -} - -void QDeclarativeSmoothedFollow::setDuration(int duration) -{ - Q_D(QDeclarativeSmoothedFollow); - if (duration == d->anim->duration()) - return; - - d->anim->userDuration = duration; - emit durationChanged(); -} - -qreal QDeclarativeSmoothedFollow::velocity() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return d->anim->velocity; -} - -/*! - \qmlproperty real SmoothedFollow::velocity - - This property holds the average velocity allowed when tracking the 'to' value. - - The default velocity of SmoothedFollow is 200 units/second. - - Setting this to -1 disables the velocity value. -*/ -void QDeclarativeSmoothedFollow::setVelocity(qreal v) -{ - Q_D(QDeclarativeSmoothedFollow); - if (d->anim->velocity == v) - return; - - d->anim->velocity = v; - emit velocityChanged(); -} - -/*! - \qmlproperty int SmoothedFollow::maximumEasingTime - - This property specifies the maximum time, in msecs, 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 - duration. - - The default value is -1. -*/ -int QDeclarativeSmoothedFollow::maximumEasingTime() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return d->anim->maximumEasingTime; -} - -void QDeclarativeSmoothedFollow::setMaximumEasingTime(int v) -{ - Q_D(QDeclarativeSmoothedFollow); - d->anim->maximumEasingTime = v; - emit maximumEasingTimeChanged(); -} - -/*! - \qmlproperty real SmoothedFollow::to - This property holds the ending value. - If not set, then the value defined in the end state of the transition or Behavior. -*/ -qreal QDeclarativeSmoothedFollow::to() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return d->anim->to; -} - -void QDeclarativeSmoothedFollow::setTo(qreal t) -{ - Q_D(QDeclarativeSmoothedFollow); - - if (qIsNaN(t)) - return; - - if (d->anim->to == t) - return; - - d->anim->to = t; - - if (d->enabled) - d->anim->restart(); -} - -/*! - \qmlproperty bool SmoothedFollow::enabled - This property whether this animation should automatically restart when - the 'to' property is upated. - - The default value of this property is 'true'. -*/ -bool QDeclarativeSmoothedFollow::enabled() const -{ - Q_D(const QDeclarativeSmoothedFollow); - return d->enabled; -} - -void QDeclarativeSmoothedFollow::setEnabled(bool e) -{ - Q_D(QDeclarativeSmoothedFollow); - if (d->enabled == e) - return; - d->enabled = e; - - if (d->enabled) - d->anim->restart(); - else - d->anim->stop(); - emit enabledChanged(); -} - -void QDeclarativeSmoothedFollow::setTarget(const QDeclarativeProperty &t) -{ - Q_D(QDeclarativeSmoothedFollow); - d->anim->target = t; -} - -QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativesmoothedfollow_p.h b/src/declarative/util/qdeclarativesmoothedfollow_p.h deleted file mode 100644 index 6319192..0000000 --- a/src/declarative/util/qdeclarativesmoothedfollow_p.h +++ /dev/null @@ -1,113 +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 QDECLARATIVESMOOTHEDFOLLOW_H -#define QDECLARATIVESMOOTHEDFOLLOW_H - -#include <qdeclarative.h> -#include <qdeclarativepropertyvaluesource.h> - -#include <QtCore/qobject.h> - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Declarative) - -class QDeclarativeProperty; -class QDeclarativeSmoothedFollowPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeSmoothedFollow : public QObject, - public QDeclarativePropertyValueSource -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeSmoothedFollow) - Q_INTERFACES(QDeclarativePropertyValueSource) - Q_ENUMS(ReversingMode) - - Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged) - Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity NOTIFY velocityChanged) - Q_PROPERTY(int duration READ duration WRITE setDuration NOTIFY durationChanged) - Q_PROPERTY(ReversingMode reversingMode READ reversingMode WRITE setReversingMode NOTIFY reversingModeChanged) - Q_PROPERTY(qreal maximumEasingTime READ maximumEasingTime WRITE setMaximumEasingTime NOTIFY maximumEasingTimeChanged) - Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) - -public: - enum ReversingMode { Eased, Immediate, Sync }; - - QDeclarativeSmoothedFollow(QObject *parent = 0); - ~QDeclarativeSmoothedFollow(); - - qreal to() const; - void setTo(qreal); - - ReversingMode reversingMode() const; - void setReversingMode(ReversingMode); - - int duration() const; - void setDuration(int); - - qreal velocity() const; - void setVelocity(qreal); - - int maximumEasingTime() const; - void setMaximumEasingTime(int); - - bool enabled() const; - void setEnabled(bool); - - virtual void setTarget(const QDeclarativeProperty &); - -Q_SIGNALS: - void velocityChanged(); - void durationChanged(); - void reversingModeChanged(); - void maximumEasingTimeChanged(); - void enabledChanged(); -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QDeclarativeSmoothedFollow) - -QT_END_HEADER - -#endif // QDECLARATIVESMOOTHEDFOLLOW_H diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringanimation.cpp index aae66ac..4cf2fc0 100644 --- a/src/declarative/util/qdeclarativespringfollow.cpp +++ b/src/declarative/util/qdeclarativespringanimation.cpp @@ -39,9 +39,10 @@ ** ****************************************************************************/ -#include "private/qdeclarativespringfollow_p.h" +#include "private/qdeclarativespringanimation_p.h" #include "private/qdeclarativeanimation_p_p.h" +#include <qdeclarativeproperty_p.h> #include <QtCore/qdebug.h> @@ -54,18 +55,20 @@ QT_BEGIN_NAMESPACE -class QDeclarativeSpringFollowPrivate : public QObjectPrivate +class QDeclarativeSpringAnimationPrivate : public QDeclarativeAbstractAnimationPrivate { - Q_DECLARE_PUBLIC(QDeclarativeSpringFollow) + Q_DECLARE_PUBLIC(QDeclarativeSpringAnimation) public: - QDeclarativeSpringFollowPrivate() - : currentValue(0), to(0), maxVelocity(0), lastTime(0) + QDeclarativeSpringAnimationPrivate() + : currentValue(0), to(0), from(0), maxVelocity(0), lastTime(0) , mass(1.0), spring(0.), damping(0.), velocity(0), epsilon(0.01) - , modulus(0.0), useMass(false), haveModulus(false), enabled(true), mode(Track), clock(this) {} + , modulus(0.0), useMass(false), haveModulus(false), enabled(true) + , fromDefined(false), toDefined(false) + , mode(Track), clock(this) {} - QDeclarativeProperty property; qreal currentValue; qreal to; + qreal from; qreal maxVelocity; qreal velocityms; int lastTime; @@ -79,6 +82,8 @@ public: bool useMass : 1; bool haveModulus : 1; bool enabled : 1; + bool fromDefined : 1; + bool toDefined : 1; enum Mode { Track, @@ -89,20 +94,24 @@ public: void tick(int); void updateMode(); - void start(); - void stop(); - QTickAnimationProxy<QDeclarativeSpringFollowPrivate, &QDeclarativeSpringFollowPrivate::tick> clock; + QTickAnimationProxy<QDeclarativeSpringAnimationPrivate, &QDeclarativeSpringAnimationPrivate::tick> clock; }; -void QDeclarativeSpringFollowPrivate::tick(int time) +void QDeclarativeSpringAnimationPrivate::tick(int time) { - Q_Q(QDeclarativeSpringFollow); + if (mode == Track) { + clock.stop(); + return; + } int elapsed = time - lastTime; if (!elapsed) return; qreal srcVal = to; + + bool stop = false; + if (haveModulus) { currentValue = fmod(currentValue, modulus); srcVal = fmod(srcVal, modulus); @@ -142,7 +151,7 @@ void QDeclarativeSpringFollowPrivate::tick(int time) if (qAbs(velocity) < epsilon && qAbs(srcVal - currentValue) < epsilon) { velocity = 0.0; currentValue = srcVal; - clock.stop(); + stop = true; } lastTime = time - (elapsed - count * 16); } else { @@ -160,7 +169,7 @@ void QDeclarativeSpringFollowPrivate::tick(int time) currentValue = fmod(currentValue, modulus); if (currentValue > to) { currentValue = to; - clock.stop(); + stop = true; } } else { currentValue -= moveBy; @@ -168,18 +177,23 @@ void QDeclarativeSpringFollowPrivate::tick(int time) currentValue = fmod(currentValue, modulus) + modulus; if (currentValue < to) { currentValue = to; - clock.stop(); + stop = true; } } lastTime = time; } - property.write(currentValue); - emit q->valueChanged(currentValue); - if (clock.state() != QAbstractAnimation::Running) - emit q->syncChanged(); + + qreal old_to = to; + + QDeclarativePropertyPrivate::write(defaultProperty, currentValue, + QDeclarativePropertyPrivate::BypassInterceptor | + QDeclarativePropertyPrivate::DontRemoveBinding); + + if (stop && old_to == to) // do not stop if we got restarted + clock.stop(); } -void QDeclarativeSpringFollowPrivate::updateMode() +void QDeclarativeSpringAnimationPrivate::updateMode() { if (spring == 0. && maxVelocity == 0.) mode = Track; @@ -189,121 +203,105 @@ void QDeclarativeSpringFollowPrivate::updateMode() mode = Velocity; } -void QDeclarativeSpringFollowPrivate::start() -{ - if (!enabled) - return; +/*! + \qmlclass SpringAnimation QDeclarativeSpringAnimation + \since 4.7 - Q_Q(QDeclarativeSpringFollow); - if (mode == QDeclarativeSpringFollowPrivate::Track) { - currentValue = to; - property.write(currentValue); - } else if (to != currentValue && clock.state() != QAbstractAnimation::Running) { - lastTime = 0; - currentValue = property.read().toReal(); - clock.start(); // infinity?? - emit q->syncChanged(); - } -} + \brief The SpringAnimation element allows a property to track a value in a spring-like motion + + SpringAnimation mimics the oscillatory behavior of a spring, with the appropriate \l spring constant to + control the acceleration and the \l damping to control how quickly the effect dies away. + + You can also limit the maximum \l velocity of the animation. -void QDeclarativeSpringFollowPrivate::stop() -{ - clock.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: - \code - Rectangle { - id: rect1 - width: 20; height: 20 - color: "#00ff00" - y: 200 // initial value - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { - to: 200 - easing.type: Easing.OutBounce - easing.amplitude: 100 - duration: 2000 - } - PauseAnimation { duration: 1000 } - } - } - Rectangle { - id: rect2 - x: rect1.width - width: 20; height: 20 - color: "#ff0000" - SpringFollow on y { to: rect1.y; velocity: 200 } - } - \endcode */ -QDeclarativeSpringFollow::QDeclarativeSpringFollow(QObject *parent) -: QObject(*(new QDeclarativeSpringFollowPrivate),parent) +QDeclarativeSpringAnimation::QDeclarativeSpringAnimation(QObject *parent) +: QDeclarativeAbstractAnimation(*(new QDeclarativeSpringAnimationPrivate),parent) { } -QDeclarativeSpringFollow::~QDeclarativeSpringFollow() +QDeclarativeSpringAnimation::~QDeclarativeSpringAnimation() { } -void QDeclarativeSpringFollow::setTarget(const QDeclarativeProperty &property) +void QDeclarativeSpringAnimation::setTarget(const QDeclarativeProperty &property) { - Q_D(QDeclarativeSpringFollow); - d->property = property; + Q_D(QDeclarativeSpringAnimation); + d->defaultProperty = property; d->currentValue = property.read().toReal(); + if (!d->avoidPropertyValueSourceStart) { + setRunning(true); + } } -qreal QDeclarativeSpringFollow::to() const +qreal QDeclarativeSpringAnimation::to() const { - Q_D(const QDeclarativeSpringFollow); - return d->to; + Q_D(const QDeclarativeSpringAnimation); + return d->toDefined ? d->to : 0; } /*! - \qmlproperty real SpringFollow::to - This property holds the target value which will be tracked. - - Bind to a property in order to track its changes. + \qmlproperty real SpringAnimation::to */ -void QDeclarativeSpringFollow::setTo(qreal value) +void QDeclarativeSpringAnimation::setTo(qreal value) { - Q_D(QDeclarativeSpringFollow); - if (d->clock.state() == QAbstractAnimation::Running && d->to == value) + Q_D(QDeclarativeSpringAnimation); + if (d->to == value) return; d->to = value; - d->start(); + d->toDefined = true; + d->lastTime = 0; + emit toChanged(value); +} + +qreal QDeclarativeSpringAnimation::from() const +{ + Q_D(const QDeclarativeSpringAnimation); + return d->fromDefined ? d->from : 0; } /*! - \qmlproperty real SpringFollow::velocity + \qmlproperty real SpringAnimation::from +*/ + +void QDeclarativeSpringAnimation::setFrom(qreal value) +{ + Q_D(QDeclarativeSpringAnimation); + if (d->from == value) + return; + + d->currentValue = d->from = value; + d->fromDefined = true; + d->lastTime = 0; + emit fromChanged(value); +} + + +/*! + \qmlproperty real SpringAnimation::velocity This property holds the maximum velocity allowed when tracking the source. */ -qreal QDeclarativeSpringFollow::velocity() const +qreal QDeclarativeSpringAnimation::velocity() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->maxVelocity; } -void QDeclarativeSpringFollow::setVelocity(qreal velocity) +void QDeclarativeSpringAnimation::setVelocity(qreal velocity) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); d->maxVelocity = velocity; d->velocityms = velocity / 1000.0; d->updateMode(); } /*! - \qmlproperty real SpringFollow::spring + \qmlproperty real SpringAnimation::spring This property holds the spring constant The spring constant describes how strongly the target is pulled towards the @@ -312,35 +310,35 @@ void QDeclarativeSpringFollow::setVelocity(qreal velocity) When a spring constant is set and the velocity property is greater than 0, velocity limits the maximum speed. */ -qreal QDeclarativeSpringFollow::spring() const +qreal QDeclarativeSpringAnimation::spring() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->spring; } -void QDeclarativeSpringFollow::setSpring(qreal spring) +void QDeclarativeSpringAnimation::setSpring(qreal spring) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); d->spring = spring; d->updateMode(); } /*! - \qmlproperty real SpringFollow::damping + \qmlproperty real SpringAnimation::damping This property holds the spring damping constant The damping constant describes how quickly a sprung follower comes to rest. Useful range is 0 - 1.0 */ -qreal QDeclarativeSpringFollow::damping() const +qreal QDeclarativeSpringAnimation::damping() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->damping; } -void QDeclarativeSpringFollow::setDamping(qreal damping) +void QDeclarativeSpringAnimation::setDamping(qreal damping) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); if (damping > 1.) damping = 1.; @@ -349,7 +347,7 @@ void QDeclarativeSpringFollow::setDamping(qreal damping) /*! - \qmlproperty real SpringFollow::epsilon + \qmlproperty real SpringAnimation::epsilon This property holds the spring epsilon The epsilon is the rate and amount of change in the value which is close enough @@ -358,34 +356,34 @@ void QDeclarativeSpringFollow::setDamping(qreal damping) The default is 0.01. Tuning this value can provide small performance improvements. */ -qreal QDeclarativeSpringFollow::epsilon() const +qreal QDeclarativeSpringAnimation::epsilon() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->epsilon; } -void QDeclarativeSpringFollow::setEpsilon(qreal epsilon) +void QDeclarativeSpringAnimation::setEpsilon(qreal epsilon) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); d->epsilon = epsilon; } /*! - \qmlproperty real SpringFollow::modulus + \qmlproperty real SpringAnimation::modulus This property holds the modulus value. Setting a \a modulus forces the target value to "wrap around" at the modulus. For example, setting the modulus to 360 will cause a value of 370 to wrap around to 10. */ -qreal QDeclarativeSpringFollow::modulus() const +qreal QDeclarativeSpringAnimation::modulus() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->modulus; } -void QDeclarativeSpringFollow::setModulus(qreal modulus) +void QDeclarativeSpringAnimation::setModulus(qreal modulus) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); if (d->modulus != modulus) { d->haveModulus = modulus != 0.0; d->modulus = modulus; @@ -394,21 +392,21 @@ void QDeclarativeSpringFollow::setModulus(qreal modulus) } /*! - \qmlproperty real SpringFollow::mass + \qmlproperty real SpringAnimation::mass This property holds the "mass" of the property being moved. mass is 1.0 by default. Setting a different mass changes the dynamics of a \l spring follow. */ -qreal QDeclarativeSpringFollow::mass() const +qreal QDeclarativeSpringAnimation::mass() const { - Q_D(const QDeclarativeSpringFollow); + Q_D(const QDeclarativeSpringAnimation); return d->mass; } -void QDeclarativeSpringFollow::setMass(qreal mass) +void QDeclarativeSpringAnimation::setMass(qreal mass) { - Q_D(QDeclarativeSpringFollow); + Q_D(QDeclarativeSpringAnimation); if (d->mass != mass && mass > 0.0) { d->useMass = mass != 1.0; d->mass = mass; @@ -416,49 +414,33 @@ void QDeclarativeSpringFollow::setMass(qreal mass) } } -/*! - \qmlproperty bool SpringFollow::enabled - This property holds whether the target will track the source. - - The default value of this property is 'true'. -*/ -bool QDeclarativeSpringFollow::enabled() const -{ - Q_D(const QDeclarativeSpringFollow); - return d->enabled; -} - -void QDeclarativeSpringFollow::setEnabled(bool enabled) +void QDeclarativeSpringAnimation::transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction) { - Q_D(QDeclarativeSpringFollow); - d->enabled = enabled; - if (enabled) - d->start(); - else - d->stop(); + Q_D(QDeclarativeSpringAnimation); + Q_UNUSED(direction); + + if (d->clock.state() != QAbstractAnimation::Running) + d->lastTime = 0; + + if (!actions.isEmpty()) { + for (int i = 0; i < actions.size(); ++i) { + if (!d->toDefined) + d->to = actions.at(i).toValue.toReal(); + if (!d->fromDefined) + d->currentValue = actions.at(i).fromValue.toReal(); + if (d->mode != QDeclarativeSpringAnimationPrivate::Track) + modified << d->defaultProperty; + } + } } -/*! - \qmlproperty bool SpringFollow::inSync - This property is true when target is equal to the source; otherwise - false. If inSync is true the target is not being animated. - If \l enabled is false then inSync will also be false. -*/ -bool QDeclarativeSpringFollow::inSync() const -{ - Q_D(const QDeclarativeSpringFollow); - return d->enabled && d->clock.state() != QAbstractAnimation::Running; -} - -/*! - \qmlproperty real SpringFollow::value - The current value. -*/ -qreal QDeclarativeSpringFollow::value() const +QAbstractAnimation *QDeclarativeSpringAnimation::qtAnimation() { - Q_D(const QDeclarativeSpringFollow); - return d->currentValue; + Q_D(QDeclarativeSpringAnimation); + return &d->clock; } QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativespringfollow_p.h b/src/declarative/util/qdeclarativespringanimation_p.h index b829c57..6f574ef 100644 --- a/src/declarative/util/qdeclarativespringfollow_p.h +++ b/src/declarative/util/qdeclarativespringanimation_p.h @@ -39,11 +39,13 @@ ** ****************************************************************************/ -#ifndef QDECLARATIVESMOOTHFOLLOW_H -#define QDECLARATIVESMOOTHFOLLOW_H +#ifndef QDECLARATIVESPRINGANIMATION_H +#define QDECLARATIVESPRINGANIMATION_H -#include <qdeclarativepropertyvaluesource.h> #include <qdeclarative.h> +#include "private/qdeclarativeanimation_p.h" + +#include <QtCore/qobject.h> QT_BEGIN_HEADER @@ -51,34 +53,34 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class QDeclarativeSpringFollowPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeSpringFollow : public QObject, - public QDeclarativePropertyValueSource +class QDeclarativeSpringAnimationPrivate; +class Q_AUTOTEST_EXPORT QDeclarativeSpringAnimation : public QDeclarativeAbstractAnimation { Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeSpringFollow) + Q_DECLARE_PRIVATE(QDeclarativeSpringAnimation) Q_INTERFACES(QDeclarativePropertyValueSource) - Q_PROPERTY(qreal to READ to WRITE setTo) + Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged) + Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged) Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity) Q_PROPERTY(qreal spring READ spring WRITE setSpring) Q_PROPERTY(qreal damping READ damping WRITE setDamping) Q_PROPERTY(qreal epsilon READ epsilon WRITE setEpsilon) - Q_PROPERTY(bool enabled READ enabled WRITE setEnabled) - Q_PROPERTY(qreal value READ value NOTIFY valueChanged) Q_PROPERTY(qreal modulus READ modulus WRITE setModulus NOTIFY modulusChanged) Q_PROPERTY(qreal mass READ mass WRITE setMass NOTIFY massChanged) - Q_PROPERTY(bool inSync READ inSync NOTIFY syncChanged) public: - QDeclarativeSpringFollow(QObject *parent=0); - ~QDeclarativeSpringFollow(); + QDeclarativeSpringAnimation(QObject *parent=0); + ~QDeclarativeSpringAnimation(); virtual void setTarget(const QDeclarativeProperty &); qreal to() const; void setTo(qreal value); + qreal from() const; + void setFrom(qreal value); + qreal velocity() const; void setVelocity(qreal velocity); @@ -100,12 +102,16 @@ public: bool enabled() const; void setEnabled(bool enabled); - bool inSync() const; + virtual void transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction); - qreal value() const; +protected: + virtual QAbstractAnimation *qtAnimation(); Q_SIGNALS: - void valueChanged(qreal); + void toChanged(qreal); + void fromChanged(qreal); void modulusChanged(); void massChanged(); void syncChanged(); @@ -113,8 +119,8 @@ Q_SIGNALS: QT_END_NAMESPACE -QML_DECLARE_TYPE(QDeclarativeSpringFollow) +QML_DECLARE_TYPE(QDeclarativeSpringAnimation) QT_END_HEADER -#endif // QDECLARATIVESMOOTHFOLLOW_H +#endif // QDECLARATIVESPRINGANIMATION_H diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 51e6f99..5590449 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -1039,7 +1039,7 @@ public: /*! \qmlproperty Item AnchorChanges::target - This property holds the Item whose anchors will change + This property holds the \l Item for which the anchor changes will be applied. */ QDeclarativeAnchorChanges::QDeclarativeAnchorChanges(QObject *parent) diff --git a/src/declarative/util/qdeclarativestateoperations_p.h b/src/declarative/util/qdeclarativestateoperations_p.h index 05ad052..4f905b6 100644 --- a/src/declarative/util/qdeclarativestateoperations_p.h +++ b/src/declarative/util/qdeclarativestateoperations_p.h @@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeParentChangePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeParentChange : public QDeclarativeStateOperation, public QDeclarativeActionEvent +class Q_AUTOTEST_EXPORT QDeclarativeParentChange : public QDeclarativeStateOperation, public QDeclarativeActionEvent { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeParentChange) @@ -118,7 +118,7 @@ public: }; class QDeclarativeStateChangeScriptPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeStateChangeScript : public QDeclarativeStateOperation, public QDeclarativeActionEvent +class Q_AUTOTEST_EXPORT QDeclarativeStateChangeScript : public QDeclarativeStateOperation, public QDeclarativeActionEvent { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeStateChangeScript) @@ -251,7 +251,7 @@ private: }; class QDeclarativeAnchorChangesPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeAnchorChanges : public QDeclarativeStateOperation, public QDeclarativeActionEvent +class Q_AUTOTEST_EXPORT QDeclarativeAnchorChanges : public QDeclarativeStateOperation, public QDeclarativeActionEvent { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeAnchorChanges) diff --git a/src/declarative/util/qdeclarativestyledtext.cpp b/src/declarative/util/qdeclarativestyledtext.cpp index babd71b..91566bc 100644 --- a/src/declarative/util/qdeclarativestyledtext.cpp +++ b/src/declarative/util/qdeclarativestyledtext.cpp @@ -152,8 +152,6 @@ void QDeclarativeStyledTextPrivate::parse() QTextCharFormat format; if (formatStack.count()) format = formatStack.top(); - else - format.setFont(baseFont); if (parseTag(ch, text, drawText, format)) formatStack.push(format); } @@ -198,8 +196,10 @@ bool QDeclarativeStyledTextPrivate::parseTag(const QChar *&ch, const QString &te if (char0 == QLatin1Char('b')) { if (tagLength == 1) format.setFontWeight(QFont::Bold); - else if (tagLength == 2 && tag.at(1) == QLatin1Char('r')) + else if (tagLength == 2 && tag.at(1) == QLatin1Char('r')) { textOut.append(QChar(QChar::LineSeparator)); + return false; + } } else if (char0 == QLatin1Char('i')) { if (tagLength == 1) format.setFontItalic(true); diff --git a/src/declarative/util/qdeclarativestyledtext_p.h b/src/declarative/util/qdeclarativestyledtext_p.h index 8d2c42d..d80ff9d 100644 --- a/src/declarative/util/qdeclarativestyledtext_p.h +++ b/src/declarative/util/qdeclarativestyledtext_p.h @@ -52,7 +52,7 @@ class QString; class QDeclarativeStyledTextPrivate; class QTextLayout; -class Q_DECLARATIVE_EXPORT QDeclarativeStyledText +class Q_AUTOTEST_EXPORT QDeclarativeStyledText { public: static void parse(const QString &string, QTextLayout &layout); diff --git a/src/declarative/util/qdeclarativesystempalette_p.h b/src/declarative/util/qdeclarativesystempalette_p.h index 9fa6b08..4dfbeff 100644 --- a/src/declarative/util/qdeclarativesystempalette_p.h +++ b/src/declarative/util/qdeclarativesystempalette_p.h @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeSystemPalettePrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeSystemPalette : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeSystemPalette : public QObject { Q_OBJECT Q_ENUMS(ColorGroup) diff --git a/src/declarative/util/qdeclarativetimer.cpp b/src/declarative/util/qdeclarativetimer.cpp index 9e18eb5..576995f 100644 --- a/src/declarative/util/qdeclarativetimer.cpp +++ b/src/declarative/util/qdeclarativetimer.cpp @@ -103,6 +103,8 @@ public: 1000ms has its \e repeat property changed 500ms after starting, the elapsed time will be reset to 0, and the Timer will be triggered 1000ms later. + + \sa {declarative/toys/clocks}{Clocks example} */ QDeclarativeTimer::QDeclarativeTimer(QObject *parent) diff --git a/src/declarative/util/qdeclarativetimer_p.h b/src/declarative/util/qdeclarativetimer_p.h index 08c3d4e..93b0965 100644 --- a/src/declarative/util/qdeclarativetimer_p.h +++ b/src/declarative/util/qdeclarativetimer_p.h @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeTimerPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeTimer : public QObject, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativeTimer : public QObject, public QDeclarativeParserStatus { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeTimer) diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp index ab8b116..38ed97e 100644 --- a/src/declarative/util/qdeclarativetransition.cpp +++ b/src/declarative/util/qdeclarativetransition.cpp @@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE \since 4.7 \brief The Transition element defines animated transitions that occur on state changes. - \sa {qmlstates}{States}, {state-transitions}{Transitions}, {QtDeclarative} + \sa {declarative/animation/states}{states example}, {qmlstates}{States}, {state-transitions}{Transitions}, {QtDeclarative} */ /*! diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index 3cf07a7..c5bfebd 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -46,7 +46,6 @@ #include "private/qdeclarativebind_p.h" #include "private/qdeclarativeconnections_p.h" #include "private/qdeclarativesmoothedanimation_p.h" -#include "private/qdeclarativesmoothedfollow_p.h" #include "private/qdeclarativefontloader_p.h" #include "private/qdeclarativelistaccessor_p.h" #include "private/qdeclarativelistmodel_p.h" @@ -56,7 +55,7 @@ #include "private/qdeclarativepixmapcache_p.h" #include "private/qdeclarativepropertychanges_p.h" #include "qdeclarativepropertymap.h" -#include "private/qdeclarativespringfollow_p.h" +#include "private/qdeclarativespringanimation_p.h" #include "private/qdeclarativestategroup_p.h" #include "private/qdeclarativestateoperations_p.h" #include "private/qdeclarativestate_p.h" @@ -83,7 +82,6 @@ void QDeclarativeUtilModule::defineModule() qmlRegisterType<QDeclarativeColorAnimation>("Qt",4,7,"ColorAnimation"); qmlRegisterType<QDeclarativeConnections>("Qt",4,7,"Connections"); qmlRegisterType<QDeclarativeSmoothedAnimation>("Qt",4,7,"SmoothedAnimation"); - qmlRegisterType<QDeclarativeSmoothedFollow>("Qt",4,7,"SmoothedFollow"); qmlRegisterType<QDeclarativeFontLoader>("Qt",4,7,"FontLoader"); qmlRegisterType<QDeclarativeListElement>("Qt",4,7,"ListElement"); qmlRegisterType<QDeclarativeNumberAnimation>("Qt",4,7,"NumberAnimation"); @@ -97,7 +95,7 @@ void QDeclarativeUtilModule::defineModule() qmlRegisterType<QDeclarativeRotationAnimation>("Qt",4,7,"RotationAnimation"); qmlRegisterType<QDeclarativeScriptAction>("Qt",4,7,"ScriptAction"); qmlRegisterType<QDeclarativeSequentialAnimation>("Qt",4,7,"SequentialAnimation"); - qmlRegisterType<QDeclarativeSpringFollow>("Qt",4,7,"SpringFollow"); + qmlRegisterType<QDeclarativeSpringAnimation>("Qt",4,7,"SpringAnimation"); qmlRegisterType<QDeclarativeStateChangeScript>("Qt",4,7,"StateChangeScript"); qmlRegisterType<QDeclarativeStateGroup>("Qt",4,7,"StateGroup"); qmlRegisterType<QDeclarativeState>("Qt",4,7,"State"); diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index 0414e65..496f2ad 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -194,45 +194,46 @@ void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem, \since 4.7 \brief The QDeclarativeView class provides a widget for displaying a Qt Declarative user interface. - Any QGraphicsObject or QDeclarativeItem - created via QML can be placed on a standard QGraphicsScene and viewed with a standard - QGraphicsView. + QDeclarativeItem objects can be placed on a standard QGraphicsScene and + displayed with QGraphicsView. QDeclarativeView is a QGraphicsView subclass + provided as a convenience for displaying QML files, and connecting between + QML and C++ Qt objects. - QDeclarativeView is a QGraphicsView subclass provided as a convenience for displaying QML - files, and connecting between QML and C++ Qt objects. - - QDeclarativeView performs the following functions: + QDeclarativeView provides: \list - \o Manages QDeclarativeComponent loading and object creation. - \o Initializes QGraphicsView for optimal performance with QML: + \o Management of QDeclarativeComponent loading and object creation + \o Initialization of QGraphicsView for optimal performance with QML using these settings: \list - \o QGraphicsView::setOptimizationFlags(QGraphicsView::DontSavePainterState); - \o QGraphicsView::setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); - \o QGraphicsScene::setItemIndexMethod(QGraphicsScene::NoIndex); + \o QGraphicsView::setOptimizationFlags(QGraphicsView::DontSavePainterState) + \o QGraphicsView::setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate) + \o QGraphicsScene::setItemIndexMethod(QGraphicsScene::NoIndex) \endlist - \o Initializes QGraphicsView for QML key handling: + \o Initialization of QGraphicsView for QML key handling using these settings: \list - \o QGraphicsView::viewport()->setFocusPolicy(Qt::NoFocus); - \o QGraphicsView::setFocusPolicy(Qt::StrongFocus); - \o QGraphicsScene::setStickyFocus(true); + \o QGraphicsView::viewport()->setFocusPolicy(Qt::NoFocus) + \o QGraphicsView::setFocusPolicy(Qt::StrongFocus) + \o QGraphicsScene::setStickyFocus(true) \endlist \endlist Typical usage: - \code - ... - QDeclarativeView *view = new QDeclarativeView(this); - vbox->addWidget(view); - QUrl url = QUrl::fromLocalFile(fileName); - view->setSource(url); + \code + QDeclarativeView *view = new QDeclarativeView; + view->setSource(QUrl::fromLocalFile("myqmlfile.qml")); view->show(); \endcode + Since QDeclarativeView is a QWidget-based class, it can be used to + display QML interfaces within QWidget-based GUI applications that do not + use the Graphics View framework. + To receive errors related to loading and executing QML with QDeclarativeView, you can connect to the statusChanged() signal and monitor for QDeclarativeView::Error. The errors are available via QDeclarativeView::errors(). + + \sa {Integrating QML with existing Qt UI code}, {Using QML in C++ Applications} */ @@ -611,7 +612,7 @@ void QDeclarativeView::timerEvent(QTimerEvent* e) } } -/*! \reimp */ +/*! \internal */ bool QDeclarativeView::eventFilter(QObject *watched, QEvent *e) { Q_D(QDeclarativeView); diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index bfd25be..9895ff2 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -508,8 +508,8 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla \since 4.7 \brief The XmlListModel element is used to specify a model using XPath expressions. - XmlListModel is used to create a model from XML data. XmlListModel can be used as a data source - for the view classes (such as ListView, PathView, GridView) and other classes that interact with model + XmlListModel is used to create a model from XML data. It can be used as a data source + for view elements (such as ListView, PathView, GridView) and other elements that interact with model data (such as \l Repeater). For example, if there is a XML document at http://www.mysite.com/feed.xml like this: @@ -520,11 +520,11 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla ... <channel> <item> - <title>Item A</title> + <title>A blog post</title> <pubDate>Sat, 07 Sep 2010 10:00:01 GMT</pubDate> </item> <item> - <title>Item B</title> + <title>Another blog post</title> <pubDate>Sat, 07 Sep 2010 15:35:01 GMT</pubDate> </item> </channel> @@ -560,10 +560,17 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla ListView { width: 180; height: 300 model: xmlModel - delegate: Text { title + " (" + pubDate + ")" } + delegate: Text { text: title + " (" + pubDate + ")" } } \endqml + \image qml-xmllistmodel-example.png + + The XmlListModel data is loaded asynchronously, and \l status + is set to \l XmlListModel::Ready when loading is complete. + Note this means when XmlListModel is used for a view, the view is not + populated until the model is loaded. + \section2 Using key XML roles @@ -588,6 +595,8 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla If multiple key roles are specified, the model only adds and reload items with a combined value of all key roles that is not already present in the model. + + \sa {demos/declarative/rssnews}{RSS News demo} */ QDeclarativeXmlListModel::QDeclarativeXmlListModel(QObject *parent) @@ -665,7 +674,7 @@ QString QDeclarativeXmlListModel::toString(int role) const \qmlproperty url XmlListModel::source The location of the XML data source. - If both source and xml are set, xml will be used. + If both \c source and \l xml are set, \l xml is used. */ QUrl QDeclarativeXmlListModel::source() const { @@ -690,7 +699,7 @@ void QDeclarativeXmlListModel::setSource(const QUrl &src) The text is assumed to be UTF-8 encoded. - If both \l source and \c xml are set, \c xml will be used. + If both \l source and \c xml are set, \c xml is used. */ QString QDeclarativeXmlListModel::xml() const { diff --git a/src/declarative/util/qdeclarativexmllistmodel_p.h b/src/declarative/util/qdeclarativexmllistmodel_p.h index 8d848c8..832847e 100644 --- a/src/declarative/util/qdeclarativexmllistmodel_p.h +++ b/src/declarative/util/qdeclarativexmllistmodel_p.h @@ -70,7 +70,7 @@ struct QDeclarativeXmlQueryResult { QStringList keyRoleResultsCache; }; -class Q_DECLARATIVE_EXPORT QDeclarativeXmlListModel : public QListModelInterface, public QDeclarativeParserStatus +class Q_AUTOTEST_EXPORT QDeclarativeXmlListModel : public QListModelInterface, public QDeclarativeParserStatus { Q_OBJECT Q_INTERFACES(QDeclarativeParserStatus) @@ -149,7 +149,7 @@ private: Q_DISABLE_COPY(QDeclarativeXmlListModel) }; -class Q_DECLARATIVE_EXPORT QDeclarativeXmlListModelRole : public QObject +class Q_AUTOTEST_EXPORT QDeclarativeXmlListModelRole : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri index 04cfc68..fd57144 100644 --- a/src/declarative/util/util.pri +++ b/src/declarative/util/util.pri @@ -7,9 +7,8 @@ SOURCES += \ $$PWD/qdeclarativepackage.cpp \ $$PWD/qdeclarativeanimation.cpp \ $$PWD/qdeclarativesystempalette.cpp \ - $$PWD/qdeclarativespringfollow.cpp \ + $$PWD/qdeclarativespringanimation.cpp \ $$PWD/qdeclarativesmoothedanimation.cpp \ - $$PWD/qdeclarativesmoothedfollow.cpp \ $$PWD/qdeclarativestate.cpp\ $$PWD/qdeclarativetransitionmanager.cpp \ $$PWD/qdeclarativestateoperations.cpp \ @@ -38,9 +37,8 @@ HEADERS += \ $$PWD/qdeclarativeanimation_p.h \ $$PWD/qdeclarativeanimation_p_p.h \ $$PWD/qdeclarativesystempalette_p.h \ - $$PWD/qdeclarativespringfollow_p.h \ + $$PWD/qdeclarativespringanimation_p.h \ $$PWD/qdeclarativesmoothedanimation_p.h \ - $$PWD/qdeclarativesmoothedfollow_p.h \ $$PWD/qdeclarativesmoothedanimation_p_p.h \ $$PWD/qdeclarativestate_p.h\ $$PWD/qdeclarativestateoperations_p.h \ diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp index a6bd78a..9e0437c 100644 --- a/src/gui/dialogs/qdialog.cpp +++ b/src/gui/dialogs/qdialog.cpp @@ -67,12 +67,12 @@ extern bool qt_wince_is_smartphone(); //is defined in qguifunctions_wce.cpp #elif defined(Q_OS_SYMBIAN) # include "qfiledialog.h" # include "qfontdialog.h" -# include "qcolordialog.h" # include "qwizard.h" +# include "private/qt_s60_p.h" #endif #if defined(Q_WS_S60) -#include "private/qt_s60_p.h" +#include <AknUtils.h> // AknLayoutUtils #endif #ifndef SPI_GETSNAPTODEFBUTTON @@ -393,7 +393,7 @@ void QDialogPrivate::resetModalitySetByOpen() resetModalityTo = -1; } -#if defined(Q_WS_WINCE) || defined(Q_WS_S60) +#if defined(Q_WS_WINCE) || defined(Q_OS_SYMBIAN) #ifdef Q_WS_WINCE_WM void QDialogPrivate::_q_doneAction() { @@ -413,7 +413,7 @@ bool QDialog::event(QEvent *e) accept(); result = true; } -#else +#elif defined(Q_WS_S60) if ((e->type() == QEvent::StyleChange) || (e->type() == QEvent::Resize )) { if (!testAttribute(Qt::WA_Moved)) { Qt::WindowStates state = windowState(); @@ -423,6 +423,7 @@ bool QDialog::event(QEvent *e) setWindowState(state); } } + // TODO is Symbian, non-S60 behaviour required? #endif return result; } @@ -527,14 +528,19 @@ int QDialog::exec() #endif //QT_NO_MENUBAR #endif //Q_WS_WINCE_WM + bool showSystemDialogFullScreen = false; #ifdef Q_OS_SYMBIAN if (qobject_cast<QFileDialog *>(this) || qobject_cast<QFontDialog *>(this) || - qobject_cast<QColorDialog *>(this) || qobject_cast<QWizard *>(this)) - showMaximized(); - else + qobject_cast<QWizard *>(this)) { + showSystemDialogFullScreen = true; + } #endif // Q_OS_SYMBIAN - show(); + if (showSystemDialogFullScreen) { + setWindowFlags(windowFlags() | Qt::WindowSoftkeysVisibleHint); + setWindowState(Qt::WindowFullScreen); + } + show(); #ifdef Q_WS_MAC d->mac_nativeDialogModalHelp(); @@ -818,8 +824,8 @@ void QDialog::adjustPosition(QWidget* w) return; #endif -#ifdef Q_WS_S60 - if (s60AdjustedPosition()) +#ifdef Q_OS_SYMBIAN + if (symbianAdjustedPosition()) //dialog has already been positioned return; #endif @@ -887,13 +893,12 @@ void QDialog::adjustPosition(QWidget* w) move(p); } -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) /*! \internal */ -bool QDialog::s60AdjustedPosition() +bool QDialog::symbianAdjustedPosition() { +#if defined(Q_WS_S60) QPoint p; - const QSize mainAreaSize = QApplication::desktop()->availableGeometry(QCursor::pos()).size(); - const int statusPaneHeight = (S60->screenHeightInPixels - mainAreaSize.height())>>1; const bool doS60Positioning = !(isFullScreen()||isMaximized()); if (doS60Positioning) { // naive way to deduce screen orientation @@ -937,6 +942,10 @@ bool QDialog::s60AdjustedPosition() move(p); } return doS60Positioning; +#else + // TODO - check positioning requirement for Symbian, non-s60 + return false; +#endif } #endif diff --git a/src/gui/dialogs/qdialog.h b/src/gui/dialogs/qdialog.h index 777256a..b2ba93c 100644 --- a/src/gui/dialogs/qdialog.h +++ b/src/gui/dialogs/qdialog.h @@ -107,7 +107,7 @@ public Q_SLOTS: protected: QDialog(QDialogPrivate &, QWidget *parent, Qt::WindowFlags f = 0); -#if defined(Q_WS_WINCE) || defined(Q_WS_S60) +#if defined(Q_WS_WINCE) || defined(Q_OS_SYMBIAN) bool event(QEvent *e); #endif void keyPressEvent(QKeyEvent *); @@ -123,8 +123,8 @@ private: Q_DECLARE_PRIVATE(QDialog) Q_DISABLE_COPY(QDialog) -#if defined(Q_WS_S60) - bool s60AdjustedPosition(); +#if defined(Q_OS_SYMBIAN) + bool symbianAdjustedPosition(); #endif diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp index a2d7b23..d64c847 100644 --- a/src/gui/dialogs/qprogressdialog.cpp +++ b/src/gui/dialogs/qprogressdialog.cpp @@ -153,6 +153,13 @@ void QProgressDialogPrivate::layout() const bool centered = bool(q->style()->styleHint(QStyle::SH_ProgressDialog_CenterCancelButton, 0, q)); + int additionalSpacing = 0; +#ifdef Q_OS_SYMBIAN + //In Symbian, we need to have wider margins for dialog borders, as the actual border is some pixels + //inside the dialog area (to enable transparent borders) + additionalSpacing = mlr; +#endif + QSize cs = cancel ? cancel->sizeHint() : QSize(0,0); QSize bh = bar->sizeHint(); int cspc; @@ -185,8 +192,8 @@ void QProgressDialogPrivate::layout() } if (label) - label->setGeometry(mlr, 0, q->width()-mlr*2, lh); - bar->setGeometry(mlr, lh+sp, q->width()-mlr*2, bh.height()); + label->setGeometry(mlr, additionalSpacing, q->width() - mlr * 2, lh); + bar->setGeometry(mlr, lh + sp + additionalSpacing, q->width() - mlr * 2, bh.height()); } void QProgressDialogPrivate::retranslateStrings() diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp index 5e4e49e..0029017 100644 --- a/src/gui/effects/qgraphicseffect.cpp +++ b/src/gui/effects/qgraphicseffect.cpp @@ -488,13 +488,10 @@ void QGraphicsEffect::setEnabled(bool enable) */ /*! - Schedules a redraw of the source. Call this function whenever the source - needs to be redrawn. - - This convenience function is equivalent to calling - QGraphicsEffectSource::update(). + Schedules a redraw of the effect. Call this function whenever the effect + needs to be redrawn. This function does not trigger a redraw of the source. - \sa updateBoundingRect(), QGraphicsEffectSource::update() + \sa updateBoundingRect() */ void QGraphicsEffect::update() { diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index e6ea198..605b1e6 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -515,6 +515,31 @@ bool QEglContext::swapBuffers(EGLSurface surface) return ok; } +bool QEglContext::swapBuffersRegion2NOK(EGLSurface surface, const QRegion *region) { + QVector<QRect> qrects = region->rects(); + EGLint *gl_rects; + uint count; + uint i; + + count = qrects.size(); + QVarLengthArray <EGLint> arr(4 * count); + gl_rects = arr.data(); + for (i = 0; i < count; i++) { + QRect qrect = qrects[i]; + + gl_rects[4 * i + 0] = qrect.x(); + gl_rects[4 * i + 1] = qrect.y(); + gl_rects[4 * i + 2] = qrect.width(); + gl_rects[4 * i + 3] = qrect.height(); + } + + bool ok = QEgl::eglSwapBuffersRegion2NOK(QEgl::display(), surface, count, gl_rects); + + if (!ok) + qWarning() << "QEglContext::swapBuffersRegion2NOK():" << QEgl::errorString(); + return ok; +} + int QEglContext::configAttrib(int name) const { EGLint value; @@ -532,6 +557,9 @@ typedef EGLBoolean (EGLAPIENTRY *_eglDestroyImageKHR)(EGLDisplay, EGLImageKHR); static _eglCreateImageKHR qt_eglCreateImageKHR = 0; static _eglDestroyImageKHR qt_eglDestroyImageKHR = 0; +typedef EGLBoolean (EGLAPIENTRY *_eglSwapBuffersRegion2NOK)(EGLDisplay, EGLSurface, EGLint, const EGLint*); + +static _eglSwapBuffersRegion2NOK qt_eglSwapBuffersRegion2NOK = 0; EGLDisplay QEgl::display() { @@ -560,6 +588,10 @@ EGLDisplay QEgl::display() qt_eglDestroyImageKHR = (_eglDestroyImageKHR) eglGetProcAddress("eglDestroyImageKHR"); } #endif + + if (QEgl::hasExtension("EGL_NOK_swap_region2")) { + qt_eglSwapBuffersRegion2NOK = (_eglSwapBuffersRegion2NOK) eglGetProcAddress("eglSwapBuffersRegion2NOK"); + } } return dpy; @@ -591,6 +623,18 @@ EGLBoolean QEgl::eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR img) return 0; } +EGLBoolean QEgl::eglSwapBuffersRegion2NOK(EGLDisplay dpy, EGLSurface surface, EGLint count, const EGLint *rects) +{ + if (qt_eglSwapBuffersRegion2NOK) + return qt_eglSwapBuffersRegion2NOK(dpy, surface, count, rects); + + QEgl::display(); // Initialises function pointers + if (qt_eglSwapBuffersRegion2NOK) + return qt_eglSwapBuffersRegion2NOK(dpy, surface, count, rects); + + qWarning("QEgl::eglSwapBuffersRegion2NOK() called but EGL_NOK_swap_region2 extension not present"); + return 0; +} #ifndef Q_WS_X11 EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig cfg, const QEglProperties *properties) diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index 4fc1338..c214e88 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -224,6 +224,7 @@ namespace QEgl { // Extension functions Q_GUI_EXPORT EGLImageKHR eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); Q_GUI_EXPORT EGLBoolean eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR img); + Q_GUI_EXPORT EGLBoolean eglSwapBuffersRegion2NOK(EGLDisplay dpy, EGLSurface surface, EGLint count, const EGLint *rects); #ifdef Q_WS_X11 Q_GUI_EXPORT VisualID getCompatibleVisualId(EGLConfig config); diff --git a/src/gui/egl/qegl_stub.cpp b/src/gui/egl/qegl_stub.cpp index 86a7aab..1adb56c 100644 --- a/src/gui/egl/qegl_stub.cpp +++ b/src/gui/egl/qegl_stub.cpp @@ -176,6 +176,14 @@ bool QEglContext::swapBuffers(EGLSurface surface) return false; } +bool QEglContext::swapBuffersRegion2NOK(EGLSurface surface, const QRegion *region) +{ + Q_UNUSED(surface) + Q_UNUSED(region) + NOEGL + return false; +} + int QEglContext::configAttrib(int name) const { Q_UNUSED(name) @@ -208,6 +216,15 @@ EGLBoolean QEgl::eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR img) return 0; } +EGLBoolean QEgl::eglSwapBuffersRegion2NOK(EGLDisplay dpy, EGLSurface surface, EGLint count, const EGLint *rects) +{ + Q_UNUSED(dpy); + Q_UNUSED(surface); + Q_UNUSED(count); + Q_UNUSED(rects); + NOEGL + return 0; +} #ifndef Q_WS_X11 EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig cfg, const QEglProperties *properties) diff --git a/src/gui/egl/qeglcontext_p.h b/src/gui/egl/qeglcontext_p.h index ccde00d..cae8164 100644 --- a/src/gui/egl/qeglcontext_p.h +++ b/src/gui/egl/qeglcontext_p.h @@ -84,6 +84,7 @@ public: bool doneCurrent(); bool lazyDoneCurrent(); bool swapBuffers(EGLSurface surface); + bool swapBuffersRegion2NOK(EGLSurface surface, const QRegion *region); int configAttrib(int name) const; diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 0dc1e6b..6a639cf 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -411,6 +411,11 @@ these notifications are disabled by default. You must enable this flag to receive notifications for scene position changes. This flag was introduced in Qt 4.6. + + \omitvalue ItemStopsClickFocusPropagation \omit The item stops propagating + click focus to items underneath when being clicked on. This flag + allows you create a non-focusable item that can be clicked on without + changing the focus. \endomit */ /*! @@ -3252,6 +3257,8 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim } // Update the child focus chain. + if (scene && scene->focusItem()) + scene->focusItem()->d_ptr->clearSubFocus(); f->d_ptr->setSubFocus(); // Update the scene's focus item. @@ -5505,6 +5512,9 @@ void QGraphicsItemPrivate::setSubFocus(QGraphicsItem *rootItem) // Update focus child chain. Stop at panels, or if this item // is hidden, stop at the first item with a visible parent. QGraphicsItem *parent = rootItem ? rootItem : q_ptr; + if (parent->panel() != q_ptr->panel()) + return; + do { // Clear any existing ancestor's subFocusItem. if (parent != q_ptr && parent->d_ptr->subFocusItem) { @@ -7312,10 +7322,13 @@ void QGraphicsItem::updateMicroFocus() { #if !defined(QT_NO_IM) && (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)) if (QWidget *fw = QApplication::focusWidget()) { - for (int i = 0 ; i < scene()->views().count() ; ++i) - if (scene()->views().at(i) == fw) - if (QInputContext *inputContext = fw->inputContext()) - inputContext->update(); + if (scene()) { + for (int i = 0 ; i < scene()->views().count() ; ++i) { + if (scene()->views().at(i) == fw) + if (QInputContext *inputContext = fw->inputContext()) + inputContext->update(); + } + } #ifndef QT_NO_ACCESSIBILITY // ##### is this correct QAccessible::updateAccessibility(fw, 0, QAccessible::StateChanged); @@ -11438,6 +11451,9 @@ QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemFlag flag) case QGraphicsItem::ItemSendsScenePositionChanges: str = "ItemSendsScenePositionChanges"; break; + case QGraphicsItem::ItemStopsClickFocusPropagation: + str = "ItemStopsClickFocusPropagation"; + break; } debug << str; return debug; diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index d7d5332..3c193cd 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -106,7 +106,8 @@ public: ItemNegativeZStacksBehindParent = 0x2000, ItemIsPanel = 0x4000, ItemIsFocusScope = 0x8000, // internal - ItemSendsScenePositionChanges = 0x10000 + ItemSendsScenePositionChanges = 0x10000, + ItemStopsClickFocusPropagation = 0x20000 // NB! Don't forget to increase the d_ptr->flags bit field by 1 when adding a new flag. }; Q_DECLARE_FLAGS(GraphicsItemFlags, GraphicsItemFlag) diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index bde6e7d..f9f5d3d 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -556,7 +556,7 @@ public: quint32 dirtyChildrenBoundingRect : 1; // Packed 32 bits - quint32 flags : 17; + quint32 flags : 18; quint32 paintedViewBoundingRectsNeedRepaint : 1; quint32 dirtySceneTransform : 1; quint32 geometryChanged : 1; @@ -571,9 +571,9 @@ public: quint32 notifyBoundingRectChanged : 1; quint32 notifyInvalidated : 1; quint32 mouseSetsFocus : 1; - quint32 explicitActivate : 1; // New 32 bits + quint32 explicitActivate : 1; quint32 wantsActive : 1; quint32 holesInSiblingIndex : 1; quint32 sequentialOrdering : 1; @@ -582,7 +582,7 @@ public: quint32 pendingPolish : 1; quint32 mayHaveChildWithGraphicsEffect : 1; quint32 isDeclarativeItem : 1; - quint32 padding : 24; + quint32 padding : 23; // Optional stacking order int globalStackingOrder; diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index e5264da..4bc7f4c 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -1335,6 +1335,8 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou break; } } + if (item->d_ptr->flags & QGraphicsItem::ItemStopsClickFocusPropagation) + break; if (item->isPanel()) break; } diff --git a/src/gui/graphicsview/qgraphicswidget_p.cpp b/src/gui/graphicsview/qgraphicswidget_p.cpp index d503cff..f7850ca 100644 --- a/src/gui/graphicsview/qgraphicswidget_p.cpp +++ b/src/gui/graphicsview/qgraphicswidget_p.cpp @@ -796,7 +796,7 @@ void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *new newScene = newParent->scene(); if (oldScene && newScene != oldScene) - oldScene->d_func()->tabFocusFirst = firstOld; + oldScene->d_func()->tabFocusFirst = (firstOld && firstOld->scene() == oldScene) ? firstOld : 0; QGraphicsItem *topLevelItem = newParent ? newParent->topLevelItem() : 0; QGraphicsWidget *topLevel = 0; diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 7f1cb78..41f1904 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -72,8 +72,134 @@ symbian { pu_header = "; Partial upgrade package for testing QtGui changes without reinstalling everything" \ "$${LITERAL_HASH}{\"Qt gui\"}, (0x2001E61C), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU" partial_upgrade.pkg_prerules = pu_header vendorinfo - partial_upgrade.sources = $$QMAKE_LIBDIR_QT/QtGui.dll + partial_upgrade.sources = $$QMAKE_LIBDIR_QT/QtGui$${QT_LIBINFIX}.dll partial_upgrade.path = c:/sys/bin DEPLOYMENT = partial_upgrade $$DEPLOYMENT } +contains(QMAKE_MAC_XARCH, no) { + DEFINES += QT_NO_MAC_XARCH +} else { + mmx:DEFINES += QT_HAVE_MMX + 3dnow:DEFINES += QT_HAVE_3DNOW + sse:DEFINES += QT_HAVE_SSE QT_HAVE_MMXEXT + sse2:DEFINES += QT_HAVE_SSE2 + iwmmxt:DEFINES += QT_HAVE_IWMMXT + + win32-g++*|!win32:!*-icc* { + mmx { + mmx_compiler.commands = $$QMAKE_CXX -c -Winline + + mac { + mmx_compiler.commands += -Xarch_i386 -mmmx + mmx_compiler.commands += -Xarch_x86_64 -mmmx + } else { + mmx_compiler.commands += -mmmx + } + + mmx_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + mmx_compiler.dependency_type = TYPE_C + mmx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + mmx_compiler.input = MMX_SOURCES + mmx_compiler.variable_out = OBJECTS + mmx_compiler.name = compiling[mmx] ${QMAKE_FILE_IN} + silent:mmx_compiler.commands = @echo compiling[mmx] ${QMAKE_FILE_IN} && $$mmx_compiler.commands + QMAKE_EXTRA_COMPILERS += mmx_compiler + } + 3dnow { + mmx3dnow_compiler.commands = $$QMAKE_CXX -c -Winline + + mac { + mmx3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -mmmx + mmx3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -mmmx + } else { + mmx3dnow_compiler.commands += -m3dnow -mmmx + } + + mmx3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + mmx3dnow_compiler.dependency_type = TYPE_C + mmx3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + mmx3dnow_compiler.input = MMX3DNOW_SOURCES + mmx3dnow_compiler.variable_out = OBJECTS + mmx3dnow_compiler.name = compiling[mmx3dnow] ${QMAKE_FILE_IN} + silent:mmx3dnow_compiler.commands = @echo compiling[mmx3dnow] ${QMAKE_FILE_IN} && $$mmx3dnow_compiler.commands + QMAKE_EXTRA_COMPILERS += mmx3dnow_compiler + sse { + sse3dnow_compiler.commands = $$QMAKE_CXX -c -Winline + + mac { + sse3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -msse + sse3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -msse + } else { + sse3dnow_compiler.commands += -m3dnow -msse + } + + sse3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + sse3dnow_compiler.dependency_type = TYPE_C + sse3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + sse3dnow_compiler.input = SSE3DNOW_SOURCES + sse3dnow_compiler.variable_out = OBJECTS + sse3dnow_compiler.name = compiling[sse3dnow] ${QMAKE_FILE_IN} + silent:sse3dnow_compiler.commands = @echo compiling[sse3dnow] ${QMAKE_FILE_IN} && $$sse3dnow_compiler.commands + QMAKE_EXTRA_COMPILERS += sse3dnow_compiler + } + } + sse { + sse_compiler.commands = $$QMAKE_CXX -c -Winline + + mac { + sse_compiler.commands += -Xarch_i386 -msse + sse_compiler.commands += -Xarch_x86_64 -msse + } else { + sse_compiler.commands += -msse + } + + sse_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + sse_compiler.dependency_type = TYPE_C + sse_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + sse_compiler.input = SSE_SOURCES + sse_compiler.variable_out = OBJECTS + sse_compiler.name = compiling[sse] ${QMAKE_FILE_IN} + silent:sse_compiler.commands = @echo compiling[sse] ${QMAKE_FILE_IN} && $$sse_compiler.commands + QMAKE_EXTRA_COMPILERS += sse_compiler + } + sse2 { + sse2_compiler.commands = $$QMAKE_CXX -c -Winline + + mac { + sse2_compiler.commands += -Xarch_i386 -msse2 + sse2_compiler.commands += -Xarch_x86_64 -msse2 + } else { + sse2_compiler.commands += -msse2 + } + + sse2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + sse2_compiler.dependency_type = TYPE_C + sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + sse2_compiler.input = SSE2_SOURCES + sse2_compiler.variable_out = OBJECTS + sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN} + silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands + QMAKE_EXTRA_COMPILERS += sse2_compiler + } + iwmmxt { + iwmmxt_compiler.commands = $$QMAKE_CXX -c -Winline + iwmmxt_compiler.commands += -mcpu=iwmmxt + iwmmxt_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + iwmmxt_compiler.dependency_type = TYPE_C + iwmmxt_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + iwmmxt_compiler.input = IWMMXT_SOURCES + iwmmxt_compiler.variable_out = OBJECTS + iwmmxt_compiler.name = compiling[iwmmxt] ${QMAKE_FILE_IN} + silent:iwmmxt_compiler.commands = @echo compiling[iwmmxt] ${QMAKE_FILE_IN} && $$iwmmxt_compiler.commands + QMAKE_EXTRA_COMPILERS += iwmmxt_compiler + } + } else { + mmx: SOURCES += $$MMX_SOURCES + 3dnow: SOURCES += $$MMX3DNOW_SOURCES + 3dnow:sse: SOURCES += $$SSE3DNOW_SOURCES + sse: SOURCES += $$SSE_SOURCES + sse2: SOURCES += $$SSE2_SOURCES + iwmmxt: SOURCES += $$IWMMXT_SOURCES + } +} diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri index f5f1bc0..3a02d56 100644 --- a/src/gui/image/image.pri +++ b/src/gui/image/image.pri @@ -28,8 +28,7 @@ HEADERS += \ image/qpixmapdata_p.h \ image/qpixmapdatafactory_p.h \ image/qpixmapfilter_p.h \ - image/qimagepixmapcleanuphooks_p.h \ - + image/qimagepixmapcleanuphooks_p.h SOURCES += \ image/qbitmap.cpp \ @@ -52,24 +51,23 @@ SOURCES += \ image/qmovie.cpp \ image/qpixmap_raster.cpp \ image/qnativeimage.cpp \ - image/qimagepixmapcleanuphooks.cpp \ - + image/qimagepixmapcleanuphooks.cpp win32 { SOURCES += image/qpixmap_win.cpp } -embedded { +else:embedded { SOURCES += image/qpixmap_qws.cpp } -x11 { +else:x11 { HEADERS += image/qpixmap_x11_p.h SOURCES += image/qpixmap_x11.cpp } -mac { +else:mac { HEADERS += image/qpixmap_mac_p.h SOURCES += image/qpixmap_mac.cpp } -symbian { +else:symbian { HEADERS += image/qpixmap_s60_p.h SOURCES += image/qpixmap_s60.cpp } @@ -87,42 +85,13 @@ SOURCES += \ image/qxbmhandler.cpp \ image/qxpmhandler.cpp -# 3rd party / system PNG support -!contains(QT_CONFIG, no-png) { - HEADERS += image/qpnghandler_p.h - SOURCES += image/qpnghandler.cpp +!contains(QT_CONFIG, no-png):include($$PWD/qpnghandler.pri) +else:DEFINES *= QT_NO_IMAGEFORMAT_PNG - contains(QT_CONFIG, system-png) { - unix|win32-g++*:LIBS_PRIVATE += -lpng - win32:!win32-g++*:LIBS += libpng.lib - } else { - DEFINES *= QT_USE_BUNDLED_LIBPNG - !isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE - INCLUDEPATH += ../3rdparty/libpng - SOURCES += ../3rdparty/libpng/png.c \ - ../3rdparty/libpng/pngerror.c \ - ../3rdparty/libpng/pngget.c \ - ../3rdparty/libpng/pngmem.c \ - ../3rdparty/libpng/pngpread.c \ - ../3rdparty/libpng/pngread.c \ - ../3rdparty/libpng/pngrio.c \ - ../3rdparty/libpng/pngrtran.c \ - ../3rdparty/libpng/pngrutil.c \ - ../3rdparty/libpng/pngset.c \ - ../3rdparty/libpng/pngtrans.c \ - ../3rdparty/libpng/pngwio.c \ - ../3rdparty/libpng/pngwrite.c \ - ../3rdparty/libpng/pngwtran.c \ - ../3rdparty/libpng/pngwutil.c +contains(QT_CONFIG, jpeg):include($$PWD/qjpeghandler.pri) +contains(QT_CONFIG, mng):include($$PWD/qmnghandler.pri) +contains(QT_CONFIG, tiff):include($$PWD/qtiffhandler.pri) +contains(QT_CONFIG, gif):include($$PWD/qgifhandler.pri) - contains(QT_CONFIG, system-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib - } else { - INCLUDEPATH += ../3rdparty/zlib - } - } -} else { - DEFINES *= QT_NO_IMAGEFORMAT_PNG -} +# SIMD +SSE2_SOURCES += image/qimage_sse2.cpp diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp index 129a11b..124d27b 100644 --- a/src/plugins/imageformats/gif/qgifhandler.cpp +++ b/src/gui/image/qgifhandler.cpp @@ -44,7 +44,7 @@ ** ****************************************************************************/ -#include "qgifhandler.h" +#include "qgifhandler_p.h" #include <qimage.h> #include <qiodevice.h> diff --git a/src/gui/image/qgifhandler.pri b/src/gui/image/qgifhandler.pri new file mode 100644 index 0000000..6eb0751 --- /dev/null +++ b/src/gui/image/qgifhandler.pri @@ -0,0 +1,4 @@ +# common to plugin and built-in forms +INCLUDEPATH *= $$PWD +HEADERS += $$PWD/qgifhandler_p.h +SOURCES += $$PWD/qgifhandler.cpp diff --git a/src/plugins/imageformats/gif/qgifhandler.h b/src/gui/image/qgifhandler_p.h index 8e07aff..b2a9725 100644 --- a/src/plugins/imageformats/gif/qgifhandler.h +++ b/src/gui/image/qgifhandler_p.h @@ -44,8 +44,8 @@ ** ****************************************************************************/ -#ifndef QGIFHANDLER_H -#define QGIFHANDLER_H +#ifndef QGIFHANDLER_P_H +#define QGIFHANDLER_P_H #include <QtGui/qimageiohandler.h> #include <QtGui/qimage.h> @@ -93,4 +93,4 @@ private: QT_END_NAMESPACE -#endif // QGIFHANDLER_H +#endif // QGIFHANDLER_P_H diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index bb8a994..e5930ac 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -58,6 +58,7 @@ #include <private/qmemrotate_p.h> #include <private/qpixmapdata_p.h> #include <private/qimagescale_p.h> +#include <private/qsimd_p.h> #include <qhash.h> @@ -209,7 +210,7 @@ QImageData * QImageData::create(const QSize &size, QImage::Format format, int nu break; } - const int bytes_per_line = ((width * depth + 31) >> 5) << 2; // bytes per scanline (must be multiple of 8) + const int bytes_per_line = ((width * depth + 31) >> 5) << 2; // bytes per scanline (must be multiple of 4) // sanity check for potential overflows if (INT_MAX/depth < width @@ -2338,6 +2339,12 @@ static bool convert_indexed8_to_ARGB_PM_inplace(QImageData *data, Qt::ImageConve const int width = data->width; const int src_pad = data->bytes_per_line - width; const int dest_pad = (dst_bytes_per_line >> 2) - width; + if (data->colortable.size() == 0) { + data->colortable.resize(256); + for (int i = 0; i < 256; ++i) + data->colortable[i] = qRgb(i, i, i); + } + const int tableSize = data->colortable.size() - 1; for (int i = 0; i < data->height; ++i) { src_data -= src_pad; @@ -2345,7 +2352,7 @@ static bool convert_indexed8_to_ARGB_PM_inplace(QImageData *data, Qt::ImageConve for (int pixI = 0; pixI < width; ++pixI) { --src_data; --dest_data; - const uint pixel = data->colortable[*src_data]; + const uint pixel = data->colortable[qMin<int>(tableSize, *src_data)]; *dest_data = (quint32) PREMUL(pixel); } } @@ -2377,6 +2384,12 @@ static bool convert_indexed8_to_RGB_inplace(QImageData *data, Qt::ImageConversio const int width = data->width; const int src_pad = data->bytes_per_line - width; const int dest_pad = (dst_bytes_per_line >> 2) - width; + if (data->colortable.size() == 0) { + data->colortable.resize(256); + for (int i = 0; i < 256; ++i) + data->colortable[i] = qRgb(i, i, i); + } + const int tableSize = data->colortable.size() - 1; for (int i = 0; i < data->height; ++i) { src_data -= src_pad; @@ -2384,7 +2397,7 @@ static bool convert_indexed8_to_RGB_inplace(QImageData *data, Qt::ImageConversio for (int pixI = 0; pixI < width; ++pixI) { --src_data; --dest_data; - *dest_data = (quint32) data->colortable[*src_data]; + *dest_data = (quint32) data->colortable[qMin<int>(tableSize, *src_data)]; } } @@ -2415,6 +2428,12 @@ static bool convert_indexed8_to_RGB16_inplace(QImageData *data, Qt::ImageConvers const int width = data->width; const int src_pad = data->bytes_per_line - width; const int dest_pad = (dst_bytes_per_line >> 1) - width; + if (data->colortable.size() == 0) { + data->colortable.resize(256); + for (int i = 0; i < 256; ++i) + data->colortable[i] = qRgb(i, i, i); + } + const int tableSize = data->colortable.size() - 1; for (int i = 0; i < data->height; ++i) { src_data -= src_pad; @@ -2422,7 +2441,7 @@ static bool convert_indexed8_to_RGB16_inplace(QImageData *data, Qt::ImageConvers for (int pixI = 0; pixI < width; ++pixI) { --src_data; --dest_data; - const uint pixel = data->colortable[*src_data]; + const uint pixel = data->colortable[qMin<int>(tableSize, *src_data)]; *dest_data = qt_colorConvert<quint16, quint32>(pixel, 0); } } @@ -3612,7 +3631,7 @@ static const Image_Converter converter_map[QImage::NImageFormats][QImage::NImage } // Format_ARGB4444_Premultiplied }; -static const InPlace_Image_Converter inplace_converter_map[QImage::NImageFormats][QImage::NImageFormats] = +static InPlace_Image_Converter inplace_converter_map[QImage::NImageFormats][QImage::NImageFormats] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -3709,6 +3728,19 @@ static const InPlace_Image_Converter inplace_converter_map[QImage::NImageFormats } // Format_ARGB4444_Premultiplied }; +void qInitImageConversions() +{ + const uint features = qDetectCPUFeatures(); + Q_UNUSED(features); + +#ifdef QT_HAVE_SSE2 + if (features & SSE2) { + extern bool convert_ARGB_to_ARGB_PM_inplace_sse2(QImageData *data, Qt::ImageConversionFlags); + inplace_converter_map[QImage::Format_ARGB32][QImage::Format_ARGB32_Premultiplied] = convert_ARGB_to_ARGB_PM_inplace_sse2; + } +#endif +} + /*! Returns a copy of the image in the given \a format. @@ -4061,7 +4093,7 @@ void QImage::setPixel(int x, int y, uint index_or_rgb) } break; case Format_Indexed8: - if (index_or_rgb > (uint)d->colortable.size()) { + if (index_or_rgb >= (uint)d->colortable.size()) { qWarning("QImage::setPixel: Index %d out of range", index_or_rgb); return; } diff --git a/src/gui/image/qimage_p.h b/src/gui/image/qimage_p.h index f1a0c47..c687448 100644 --- a/src/gui/image/qimage_p.h +++ b/src/gui/image/qimage_p.h @@ -63,6 +63,8 @@ QT_BEGIN_NAMESPACE +class QImageWriter; + struct Q_GUI_EXPORT QImageData { // internal image data QImageData(); ~QImageData(); @@ -108,6 +110,8 @@ struct Q_GUI_EXPORT QImageData { // internal image data QPaintEngine *paintEngine; }; +void qInitImageConversions(); + QT_END_NAMESPACE #endif diff --git a/src/gui/image/qimage_sse2.cpp b/src/gui/image/qimage_sse2.cpp new file mode 100644 index 0000000..82d49a6 --- /dev/null +++ b/src/gui/image/qimage_sse2.cpp @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +#include "qimage.h" +#include <private/qimage_p.h> +#include <private/qsimd_p.h> +#include <private/qdrawhelper_p.h> +#include <private/qdrawingprimitive_sse2_p.h> + +#ifdef QT_HAVE_SSE2 + +QT_BEGIN_NAMESPACE + +bool convert_ARGB_to_ARGB_PM_inplace_sse2(QImageData *data, Qt::ImageConversionFlags) +{ + Q_ASSERT(data->format == QImage::Format_ARGB32); + + // extra pixels on each line + const int spare = data->width & 3; + // width in pixels of the pad at the end of each line + const int pad = (data->bytes_per_line >> 2) - data->width; + const int iter = data->width >> 2; + int height = data->height; + + const __m128i alphaMask = _mm_set1_epi32(0xff000000); + const __m128i nullVector = _mm_setzero_si128(); + const __m128i half = _mm_set1_epi16(0x80); + const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); + + __m128i *d = reinterpret_cast<__m128i*>(data->data); + while (height--) { + const __m128i *end = d + iter; + + for (; d != end; ++d) { + const __m128i srcVector = _mm_loadu_si128(d); + const __m128i srcVectorAlpha = _mm_and_si128(srcVector, alphaMask); + if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, alphaMask)) == 0xffff) { + // opaque, data is unchanged + } else if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, nullVector)) == 0xffff) { + // fully transparent + _mm_storeu_si128(d, nullVector); + } else { + __m128i alphaChannel = _mm_srli_epi32(srcVector, 24); + alphaChannel = _mm_or_si128(alphaChannel, _mm_slli_epi32(alphaChannel, 16)); + + __m128i result; + BYTE_MUL_SSE2(result, srcVector, alphaChannel, colorMask, half); + result = _mm_or_si128(_mm_andnot_si128(alphaMask, result), srcVectorAlpha); + _mm_storeu_si128(d, result); + } + } + + QRgb *p = reinterpret_cast<QRgb*>(d); + QRgb *pe = p+spare; + for (; p != pe; ++p) { + if (*p < 0x00ffffff) + *p = 0; + else if (*p < 0xff000000) + *p = PREMUL(*p); + } + + d = reinterpret_cast<__m128i*>(p+pad); + } + + data->format = QImage::Format_ARGB32_Premultiplied; + return true; +} + +QT_END_NAMESPACE + +#endif // QT_HAVE_SSE2 diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp index af43e90..ec56af2 100644 --- a/src/gui/image/qimagereader.cpp +++ b/src/gui/image/qimagereader.cpp @@ -141,6 +141,18 @@ #ifndef QT_NO_IMAGEFORMAT_PNG #include <private/qpnghandler_p.h> #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG +#include <private/qjpeghandler_p.h> +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG +#include <private/qmnghandler_p.h> +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF +#include <private/qtiffhandler_p.h> +#endif +#ifdef QT_BUILTIN_GIF_READER +#include <private/qgifhandler_p.h> +#endif QT_BEGIN_NAMESPACE @@ -153,6 +165,18 @@ enum _qt_BuiltInFormatType { #ifndef QT_NO_IMAGEFORMAT_PNG _qt_PngFormat, #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + _qt_JpgFormat, +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + _qt_MngFormat, +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + _qt_TifFormat, +#endif +#ifdef QT_BUILTIN_GIF_READER + _qt_GifFormat, +#endif _qt_BmpFormat, #ifndef QT_NO_IMAGEFORMAT_PPM _qt_PpmFormat, @@ -179,6 +203,18 @@ static const _qt_BuiltInFormatStruct _qt_BuiltInFormats[] = { #ifndef QT_NO_IMAGEFORMAT_PNG {_qt_PngFormat, "png"}, #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + {_qt_JpgFormat, "jpg"}, +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + {_qt_MngFormat, "mng"}, +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + {_qt_TifFormat, "tif"}, +#endif +#ifdef QT_BUILTIN_GIF_READER + {_qt_GifFormat, "gif"}, +#endif {_qt_BmpFormat, "bmp"}, #ifndef QT_NO_IMAGEFORMAT_PPM {_qt_PpmFormat, "ppm"}, @@ -304,6 +340,22 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device, } else if (testFormat == "png") { handler = new QPngHandler; #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + } else if (testFormat == "jpg" || testFormat == "jpeg") { + handler = new QJpegHandler; +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + } else if (testFormat == "mng") { + handler = new QMngHandler; +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + } else if (testFormat == "tif" || testFormat == "tiff") { + handler = new QTiffHandler; +#endif +#ifdef QT_BUILTIN_GIF_READER + } else if (testFormat == "gif") { + handler = new QGifHandler; +#endif #ifndef QT_NO_IMAGEFORMAT_BMP } else if (testFormat == "bmp") { handler = new QBmpHandler; @@ -380,6 +432,30 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device, handler = new QPngHandler; break; #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + case _qt_JpgFormat: + if (QJpegHandler::canRead(device)) + handler = new QJpegHandler; + break; +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + case _qt_MngFormat: + if (QMngHandler::canRead(device)) + handler = new QMngHandler; + break; +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + case _qt_TifFormat: + if (QTiffHandler::canRead(device)) + handler = new QTiffHandler; + break; +#endif +#ifdef QT_BUILTIN_GIF_READER + case _qt_GifFormat: + if (QGifHandler::canRead(device)) + handler = new QGifHandler; + break; +#endif #ifndef QT_NO_IMAGEFORMAT_BMP case _qt_BmpFormat: if (QBmpHandler::canRead(device)) diff --git a/src/gui/image/qimagewriter.cpp b/src/gui/image/qimagewriter.cpp index 552729f..b995914 100644 --- a/src/gui/image/qimagewriter.cpp +++ b/src/gui/image/qimagewriter.cpp @@ -114,6 +114,18 @@ #ifndef QT_NO_IMAGEFORMAT_PNG #include <private/qpnghandler_p.h> #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG +#include <private/qjpeghandler_p.h> +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG +#include <private/qmnghandler_p.h> +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF +#include <private/qtiffhandler_p.h> +#endif +#ifdef QT_BUILTIN_GIF_READER +#include <private/qgifhandler_p.h> +#endif QT_BEGIN_NAMESPACE @@ -170,6 +182,22 @@ static QImageIOHandler *createWriteHandlerHelper(QIODevice *device, } else if (testFormat == "png") { handler = new QPngHandler; #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + } else if (testFormat == "jpg" || testFormat == "jpeg") { + handler = new QJpegHandler; +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + } else if (testFormat == "mng") { + handler = new QMngHandler; +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + } else if (testFormat == "tif" || testFormat == "tiff") { + handler = new QTiffHandler; +#endif +#ifdef QT_BUILTIN_GIF_READER + } else if (testFormat == "gif") { + handler = new QGifHandler; +#endif #ifndef QT_NO_IMAGEFORMAT_BMP } else if (testFormat == "bmp") { handler = new QBmpHandler; @@ -669,6 +697,18 @@ QList<QByteArray> QImageWriter::supportedImageFormats() #ifndef QT_NO_IMAGEFORMAT_PNG formats << "png"; #endif +#ifndef QT_NO_IMAGEFORMAT_JPEG + formats << "jpg" << "jpeg"; +#endif +#ifndef QT_NO_IMAGEFORMAT_MNG + formats << "mng"; +#endif +#ifndef QT_NO_IMAGEFORMAT_TIFF + formats << "tif" << "tiff"; +#endif +#ifdef QT_BUILTIN_GIF_READER + formats << "gif"; +#endif #ifndef QT_NO_LIBRARY QFactoryLoader *l = loader(); diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp index 60e7cce..972dd65 100644 --- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp +++ b/src/gui/image/qjpeghandler.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qjpeghandler.h" +#include "qjpeghandler_p.h" #include <qimage.h> #include <qvariant.h> diff --git a/src/gui/image/qjpeghandler.pri b/src/gui/image/qjpeghandler.pri new file mode 100644 index 0000000..3cb35c9 --- /dev/null +++ b/src/gui/image/qjpeghandler.pri @@ -0,0 +1,10 @@ +# common to plugin and built-in forms +INCLUDEPATH *= $$PWD +HEADERS += $$PWD/qjpeghandler_p.h +SOURCES += $$PWD/qjpeghandler.cpp +contains(QT_CONFIG, system-jpeg) { + if(unix|win32-g++*): LIBS += -ljpeg + else:win32: LIBS += libjpeg.lib +} else { + include($$PWD/../../3rdparty/libjpeg.pri) +} diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.h b/src/gui/image/qjpeghandler_p.h index c879f21..5320a5e 100644 --- a/src/plugins/imageformats/jpeg/qjpeghandler.h +++ b/src/gui/image/qjpeghandler_p.h @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#ifndef QJPEGHANDLER_H -#define QJPEGHANDLER_H +#ifndef QJPEGHANDLER_P_H +#define QJPEGHANDLER_P_H #include <QtGui/qimageiohandler.h> #include <QtCore/QSize> @@ -73,4 +73,4 @@ private: QT_END_NAMESPACE -#endif // QJPEGHANDLER_H +#endif // QJPEGHANDLER_P_H diff --git a/src/plugins/imageformats/mng/qmnghandler.cpp b/src/gui/image/qmnghandler.cpp index ec442a1..cf53af0 100644 --- a/src/plugins/imageformats/mng/qmnghandler.cpp +++ b/src/gui/image/qmnghandler.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qmnghandler.h" +#include "qmnghandler_p.h" #include "qimage.h" #include "qvariant.h" diff --git a/src/gui/image/qmnghandler.pri b/src/gui/image/qmnghandler.pri new file mode 100644 index 0000000..ffb98de --- /dev/null +++ b/src/gui/image/qmnghandler.pri @@ -0,0 +1,10 @@ +# common to plugin and built-in forms +INCLUDEPATH *= $$PWD +HEADERS += $$PWD/qmnghandler_p.h +SOURCES += $$PWD/qmnghandler.cpp +contains(QT_CONFIG, system-mng) { + if(unix|win32-g++*):LIBS += -lmng + else:win32: LIBS += libmng.lib +} else { + include($$PWD/../../3rdparty/libmng.pri) +} diff --git a/src/plugins/imageformats/mng/qmnghandler.h b/src/gui/image/qmnghandler_p.h index 65243be..c39d0a6 100644 --- a/src/plugins/imageformats/mng/qmnghandler.h +++ b/src/gui/image/qmnghandler_p.h @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#ifndef QMNGHANDLER_H -#define QMNGHANDLER_H +#ifndef QMNGHANDLER_P_H +#define QMNGHANDLER_P_H #include <QtCore/qscopedpointer.h> #include <QtGui/qimageiohandler.h> @@ -80,4 +80,4 @@ class QMngHandler : public QImageIOHandler QT_END_NAMESPACE -#endif // QMNGHANDLER_H +#endif // QMNGHANDLER_P_H diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp index 20a1dce..48d2de3 100644 --- a/src/gui/image/qpicture.cpp +++ b/src/gui/image/qpicture.cpp @@ -440,6 +440,36 @@ bool QPicture::play(QPainter *painter) return true; // no end-command } + +// +// QFakeDevice is used to create fonts with a custom DPI +// +class QFakeDevice : public QPaintDevice +{ +public: + QFakeDevice() { dpi_x = qt_defaultDpiX(); dpi_y = qt_defaultDpiY(); } + void setDpiX(int dpi) { dpi_x = dpi; } + void setDpiY(int dpi) { dpi_y = dpi; } + QPaintEngine *paintEngine() const { return 0; } + int metric(PaintDeviceMetric m) const + { + switch(m) { + case PdmPhysicalDpiX: + case PdmDpiX: + return dpi_x; + case PdmPhysicalDpiY: + case PdmDpiY: + return dpi_y; + default: + return QPaintDevice::metric(m); + } + } + +private: + int dpi_x; + int dpi_y; +}; + /*! \internal Iterates over the internal picture data and draws the picture using @@ -649,16 +679,13 @@ bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords) if (d->formatMajor >= 9) { s >> dbl; - QFont fnt(font, painter->device()); - - // Fonts that specify a pixel size should not be scaled - QPicture already - // have a matrix set to compensate for the DPI differences between the - // default Qt DPI and the actual target device DPI, and we have to take that - // into consideration in the case where the font has a pixel size set. - - qreal scale = fnt.pointSize() == -1 ? 1 : painter->device()->logicalDpiY() / (dbl*qt_defaultDpiY()); - painter->save(); - painter->scale(1/scale, 1/scale); + QFont fnt(font); + if (dbl != 1.0) { + QFakeDevice fake; + fake.setDpiX(qRound(dbl*qt_defaultDpiX())); + fake.setDpiY(qRound(dbl*qt_defaultDpiY())); + fnt = QFont(font, &fake); + } qreal justificationWidth; s >> justificationWidth; @@ -667,16 +694,15 @@ bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords) QSizeF size(1, 1); if (justificationWidth > 0) { - size.setWidth(justificationWidth*scale); + size.setWidth(justificationWidth); flags |= Qt::TextJustificationForced; flags |= Qt::AlignJustify; } QFontMetrics fm(fnt); - QPointF pt(p.x()*scale, p.y()*scale - fm.ascent()); + QPointF pt(p.x(), p.y() - fm.ascent()); qt_format_text(fnt, QRectF(pt, size), flags, /*opt*/0, str, /*brect=*/0, /*tabstops=*/0, /*...*/0, /*tabarraylen=*/0, painter); - painter->restore(); } else { qt_format_text(font, QRectF(p, QSizeF(1, 1)), Qt::TextSingleLine | Qt::TextDontClip, /*opt*/0, str, /*brect=*/0, /*tabstops=*/0, /*...*/0, /*tabarraylen=*/0, painter); diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 7e41e91..051aa45 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -2018,7 +2018,7 @@ void QPixmap::detach() the color table. If this is too expensive an operation, you can use QBitmap::fromImage() instead. - \sa toImage(), {QPixmap#Pixmap Conversion}{Pixmap Conversion} + \sa fromImageReader(), toImage(), {QPixmap#Pixmap Conversion}{Pixmap Conversion} */ QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags) { @@ -2033,6 +2033,27 @@ QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags) } /*! + \fn QPixmap QPixmap::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags) + + Create a QPixmap from an image read directly from an \a imageReader. + The \a flags argument is a bitwise-OR of the \l{Qt::ImageConversionFlags}. + Passing 0 for \a flags sets all the default options. + + On some systems, reading an image directly to QPixmap can use less memory than + reading a QImage to convert it to QPixmap. + + \sa fromImage(), toImage(), {QPixmap#Pixmap Conversion}{Pixmap Conversion} +*/ +QPixmap QPixmap::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags) +{ + QGraphicsSystem *gs = QApplicationPrivate::graphicsSystem(); + QScopedPointer<QPixmapData> data(gs ? gs->createPixmapData(QPixmapData::PixmapType) + : QGraphicsSystem::createDefaultPixmapData(QPixmapData::PixmapType)); + data->fromImageReader(imageReader, flags); + return QPixmap(data.take()); +} + +/*! \fn QPixmap QPixmap::grabWindow(WId window, int x, int y, int width, int height) diff --git a/src/gui/image/qpixmap.h b/src/gui/image/qpixmap.h index 82546da..64ca8a3 100644 --- a/src/gui/image/qpixmap.h +++ b/src/gui/image/qpixmap.h @@ -62,6 +62,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) class QImageWriter; +class QImageReader; class QColor; class QVariant; class QX11Info; @@ -134,6 +135,7 @@ public: QImage toImage() const; static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); + static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor); bool load(const QString& fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); bool loadFromData(const uchar *buf, uint len, const char* format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); diff --git a/src/gui/image/qpixmap_raster.cpp b/src/gui/image/qpixmap_raster.cpp index 13c03a1..53f3559 100644 --- a/src/gui/image/qpixmap_raster.cpp +++ b/src/gui/image/qpixmap_raster.cpp @@ -152,9 +152,25 @@ void QRasterPixmapData::fromImage(const QImage &sourceImage, createPixmapForImage(image, flags, /* inplace = */false); } +void QRasterPixmapData::fromImageReader(QImageReader *imageReader, + Qt::ImageConversionFlags flags) +{ + Q_UNUSED(flags); + QImage image = imageReader->read(); + if (image.isNull()) + return; + + createPixmapForImage(image, flags, /* inplace = */true); +} + // from qwindowsurface.cpp extern void qt_scrollRectInImage(QImage &img, const QRect &rect, const QPoint &offset); +void QRasterPixmapData::copy(const QPixmapData *data, const QRect &rect) +{ + fromImage(data->toImage(rect).copy(), Qt::NoOpaqueDetection); +} + bool QRasterPixmapData::scroll(int dx, int dy, const QRect &rect) { if (!image.isNull()) @@ -289,6 +305,20 @@ QImage QRasterPixmapData::toImage() const return image; } +QImage QRasterPixmapData::toImage(const QRect &rect) const +{ + if (rect.isNull()) + return image; + + QRect clipped = rect.intersected(QRect(0, 0, w, h)); + if (d % 8 == 0) + return QImage(image.scanLine(clipped.y()) + clipped.x() * (d / 8), + clipped.width(), clipped.height(), + image.bytesPerLine(), image.format()); + else + return image.copy(clipped); +} + void QRasterPixmapData::setAlphaChannel(const QPixmap &alphaChannel) { image.setAlphaChannel(alphaChannel.toImage()); diff --git a/src/gui/image/qpixmap_raster_p.h b/src/gui/image/qpixmap_raster_p.h index d7e3f85..36a9b2f 100644 --- a/src/gui/image/qpixmap_raster_p.h +++ b/src/gui/image/qpixmap_raster_p.h @@ -74,13 +74,16 @@ public: void fromFile(const QString &filename, Qt::ImageConversionFlags flags); bool fromData(const uchar *buffer, uint len, const char *format, Qt::ImageConversionFlags flags); void fromImage(const QImage &image, Qt::ImageConversionFlags flags); + void fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags); + void copy(const QPixmapData *data, const QRect &rect); bool scroll(int dx, int dy, const QRect &rect); void fill(const QColor &color); void setMask(const QBitmap &mask); bool hasAlphaChannel() const; void setAlphaChannel(const QPixmap &alphaChannel); QImage toImage() const; + QImage toImage(const QRect &rect) const; QPaintEngine* paintEngine() const; QImage* buffer(); diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp index afbfa35..9f8e643 100644 --- a/src/gui/image/qpixmap_x11.cpp +++ b/src/gui/image/qpixmap_x11.cpp @@ -1458,6 +1458,105 @@ int QX11PixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const } } +struct QXImageWrapper +{ + XImage *xi; +}; + +bool QX11PixmapData::canTakeQImageFromXImage(const QXImageWrapper &xiWrapper) const +{ + XImage *xi = xiWrapper.xi; + + // ARGB32_Premultiplied + if (picture && depth() == 32) + return true; + + Visual *visual = (Visual *)xinfo.visual(); + + // RGB32 + if (depth() == 24 && xi->bits_per_pixel == 32 && visual->red_mask == 0xff0000 + && visual->green_mask == 0xff00 && visual->blue_mask == 0xff) + return true; + + // RGB16 + if (depth() == 16 && xi->bits_per_pixel == 16 && visual->red_mask == 0xf800 + && visual->green_mask == 0x7e0 && visual->blue_mask == 0x1f) + return true; + + return false; +} + +QImage QX11PixmapData::takeQImageFromXImage(const QXImageWrapper &xiWrapper) const +{ + XImage *xi = xiWrapper.xi; + + QImage::Format format = QImage::Format_ARGB32_Premultiplied; + if (depth() == 24) + format = QImage::Format_RGB32; + else if (depth() == 16) + format = QImage::Format_RGB16; + + QImage image((uchar *)xi->data, xi->width, xi->height, xi->bytes_per_line, format); + // take ownership + image.data_ptr()->own_data = true; + xi->data = 0; + + // we may have to swap the byte order + if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst) + || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst)) + { + for (int i=0; i < image.height(); i++) { + if (depth() == 16) { + ushort *p = (ushort*)image.scanLine(i); + ushort *end = p + image.width(); + while (p < end) { + *p = ((*p << 8) & 0xff00) | ((*p >> 8) & 0x00ff); + p++; + } + } else { + uint *p = (uint*)image.scanLine(i); + uint *end = p + image.width(); + while (p < end) { + *p = ((*p << 24) & 0xff000000) | ((*p << 8) & 0x00ff0000) + | ((*p >> 8) & 0x0000ff00) | ((*p >> 24) & 0x000000ff); + p++; + } + } + } + } + + // fix-up alpha channel + if (format == QImage::Format_RGB32) { + QRgb *p = (QRgb *)image.bits(); + for (int y = 0; y < xi->height; ++y) { + for (int x = 0; x < xi->width; ++x) + p[x] |= 0xff000000; + p += xi->bytes_per_line / 4; + } + } + + XDestroyImage(xi); + return image; +} + +QImage QX11PixmapData::toImage(const QRect &rect) const +{ + QXImageWrapper xiWrapper; + xiWrapper.xi = XGetImage(X11->display, hd, rect.x(), rect.y(), rect.width(), rect.height(), + AllPlanes, (depth() == 1) ? XYPixmap : ZPixmap); + + Q_CHECK_PTR(xiWrapper.xi); + if (!xiWrapper.xi) + return QImage(); + + if (canTakeQImageFromXImage(xiWrapper)) + return takeQImageFromXImage(xiWrapper); + + QImage image = toImage(xiWrapper, rect); + qSafeXDestroyImage(xiWrapper.xi); + return image; +} + /*! Converts the pixmap to a QImage. Returns a null image if the conversion fails. @@ -1475,6 +1574,13 @@ int QX11PixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const QImage QX11PixmapData::toImage() const { + return toImage(QRect(0, 0, w, h)); +} + +QImage QX11PixmapData::toImage(const QXImageWrapper &xiWrapper, const QRect &rect) const +{ + XImage *xi = xiWrapper.xi; + int d = depth(); Visual *visual = (Visual *)xinfo.visual(); bool trucol = (visual->c_class >= TrueColor) && d > 1; @@ -1492,59 +1598,21 @@ QImage QX11PixmapData::toImage() const format = QImage::Format_RGB32; } - XImage *xi = XGetImage(X11->display, hd, 0, 0, w, h, AllPlanes, - (d == 1) ? XYPixmap : ZPixmap); - - Q_CHECK_PTR(xi); - if (!xi) - return QImage(); - - if (picture && depth() == 32) { - QImage image(w, h, QImage::Format_ARGB32_Premultiplied); - memcpy(image.bits(), xi->data, xi->bytes_per_line * xi->height); - - // we may have to swap the byte order - if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst) - || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst)) - { - for (int i=0; i < image.height(); i++) { - uint *p = (uint*)image.scanLine(i); - uint *end = p + image.width(); - if ((xi->byte_order == LSBFirst && QSysInfo::ByteOrder == QSysInfo::BigEndian) - || (xi->byte_order == MSBFirst && QSysInfo::ByteOrder == QSysInfo::LittleEndian)) { - while (p < end) { - *p = ((*p << 24) & 0xff000000) | ((*p << 8) & 0x00ff0000) - | ((*p >> 8) & 0x0000ff00) | ((*p >> 24) & 0x000000ff); - p++; - } - } else if (xi->byte_order == MSBFirst && QSysInfo::ByteOrder == QSysInfo::BigEndian) { - while (p < end) { - *p = ((*p << 16) & 0x00ff0000) | ((*p >> 16) & 0x000000ff) - | ((*p ) & 0xff00ff00); - p++; - } - } - } - } - - // throw away image data - qSafeXDestroyImage(xi); - - return image; - } - if (d == 1 && xi->bitmap_bit_order == LSBFirst) format = QImage::Format_MonoLSB; if (x11_mask && format == QImage::Format_RGB32) format = QImage::Format_ARGB32; - QImage image(w, h, format); + QImage image(xi->width, xi->height, format); if (image.isNull()) // could not create image return image; QImage alpha; if (x11_mask) { - alpha = mask().toImage(); + if (rect.contains(QRect(0, 0, w, h))) + alpha = mask().toImage(); + else + alpha = mask().toImage().copy(rect); } bool ale = alpha.format() == QImage::Format_MonoLSB; @@ -1587,11 +1655,11 @@ QImage QX11PixmapData::toImage() const if (bppc > 8 && xi->byte_order == LSBFirst) bppc++; - for (int y = 0; y < h; ++y) { + for (int y = 0; y < xi->height; ++y) { uchar* asrc = x11_mask ? alpha.scanLine(y) : 0; dst = (QRgb *)image.scanLine(y); src = (uchar *)xi->data + xi->bytes_per_line*y; - for (int x = 0; x < w; x++) { + for (int x = 0; x < xi->width; x++) { switch (bppc) { case 8: pixel = *src++; @@ -1621,8 +1689,8 @@ QImage QX11PixmapData::toImage() const src += 4; break; default: // should not really happen - x = w; // leave loop - y = h; + x = xi->width; // leave loop + y = xi->height; pixel = 0; // eliminate compiler warning qWarning("QPixmap::convertToImage: Invalid depth %d", bppc); } @@ -1660,7 +1728,7 @@ QImage QX11PixmapData::toImage() const } else if (xi->bits_per_pixel == d) { // compatible depth char *xidata = xi->data; // copy each scanline int bpl = qMin(image.bytesPerLine(),xi->bytes_per_line); - for (int y=0; y<h; y++) { + for (int y=0; y<xi->height; y++) { memcpy(image.scanLine(y), xidata, bpl); xidata += xi->bytes_per_line; } @@ -1686,17 +1754,17 @@ QImage QX11PixmapData::toImage() const bpl = image.bytesPerLine(); if (x11_mask) { // which pixels are used? - for (int i = 0; i < h; i++) { + for (int i = 0; i < xi->height; i++) { uchar* asrc = alpha.scanLine(i); p = image.scanLine(i); if (ale) { - for (int x = 0; x < w; x++) { + for (int x = 0; x < xi->width; x++) { if (asrc[x >> 3] & (1 << (x & 7))) use[*p] = 1; ++p; } } else { - for (int x = 0; x < w; x++) { + for (int x = 0; x < xi->width; x++) { if (asrc[x >> 3] & (0x80 >> (x & 7))) use[*p] = 1; ++p; @@ -1704,7 +1772,7 @@ QImage QX11PixmapData::toImage() const } } } else { - for (int i = 0; i < h; i++) { + for (int i = 0; i < xi->height; i++) { p = image.scanLine(i); end = p + bpl; while (p < end) @@ -1716,7 +1784,7 @@ QImage QX11PixmapData::toImage() const if (use[i]) pix[i] = ncols++; } - for (int i = 0; i < h; i++) { // translate pixels + for (int i = 0; i < xi->height; i++) { // translate pixels p = image.scanLine(i); end = p + bpl; while (p < end) { @@ -1736,17 +1804,17 @@ QImage QX11PixmapData::toImage() const // use first pixel in image (as good as any). trans = image.scanLine(0)[0]; } - for (int i = 0; i < h; i++) { + for (int i = 0; i < xi->height; i++) { uchar* asrc = alpha.scanLine(i); p = image.scanLine(i); if (ale) { - for (int x = 0; x < w; x++) { + for (int x = 0; x < xi->width; x++) { if (!(asrc[x >> 3] & (1 << (x & 7)))) *p = trans; ++p; } } else { - for (int x = 0; x < w; x++) { + for (int x = 0; x < xi->width; x++) { if (!(asrc[x >> 3] & (1 << (7 -(x & 7))))) *p = trans; ++p; @@ -1764,8 +1832,6 @@ QImage QX11PixmapData::toImage() const } } - qSafeXDestroyImage(xi); - return image; } diff --git a/src/gui/image/qpixmap_x11_p.h b/src/gui/image/qpixmap_x11_p.h index 7575838..821fb69 100644 --- a/src/gui/image/qpixmap_x11_p.h +++ b/src/gui/image/qpixmap_x11_p.h @@ -62,6 +62,8 @@ QT_BEGIN_NAMESPACE class QX11PaintEngine; +struct QXImageWrapper; + class Q_GUI_EXPORT QX11PixmapData : public QPixmapData { public: @@ -87,6 +89,7 @@ public: QPixmap transformed(const QTransform &transform, Qt::TransformationMode mode) const; QImage toImage() const; + QImage toImage(const QRect &rect) const; QPaintEngine* paintEngine() const; Qt::HANDLE handle() const { return hd; } @@ -116,10 +119,15 @@ private: void release(); + QImage toImage(const QXImageWrapper &xi, const QRect &rect) const; + QBitmap mask_to_bitmap(int screen) const; static Qt::HANDLE bitmap_to_mask(const QBitmap &, int screen); void bitmapFromImage(const QImage &image); + bool canTakeQImageFromXImage(const QXImageWrapper &xi) const; + QImage takeQImageFromXImage(const QXImageWrapper &xi) const; + Qt::HANDLE hd; enum Flag { diff --git a/src/gui/image/qpixmapdata.cpp b/src/gui/image/qpixmapdata.cpp index 31ca909..ef1f6c4 100644 --- a/src/gui/image/qpixmapdata.cpp +++ b/src/gui/image/qpixmapdata.cpp @@ -124,6 +124,13 @@ static QImage makeBitmapCompliantIfNeeded(QPixmapData *d, const QImage &image, Q return image; } +void QPixmapData::fromImageReader(QImageReader *imageReader, + Qt::ImageConversionFlags flags) +{ + const QImage image = imageReader->read(); + fromImage(image, flags); +} + bool QPixmapData::fromFile(const QString &fileName, const char *format, Qt::ImageConversionFlags flags) { @@ -146,7 +153,7 @@ bool QPixmapData::fromData(const uchar *buf, uint len, const char *format, Qt::I void QPixmapData::copy(const QPixmapData *data, const QRect &rect) { - fromImage(data->toImage().copy(rect), Qt::NoOpaqueDetection); + fromImage(data->toImage(rect), Qt::NoOpaqueDetection); } bool QPixmapData::scroll(int dx, int dy, const QRect &rect) @@ -255,6 +262,14 @@ void QPixmapData::setSerialNumber(int serNo) ser_no = serNo; } +QImage QPixmapData::toImage(const QRect &rect) const +{ + if (rect.contains(QRect(0, 0, w, h))) + return toImage(); + else + return toImage().copy(rect); +} + QImage* QPixmapData::buffer() { return 0; diff --git a/src/gui/image/qpixmapdata_p.h b/src/gui/image/qpixmapdata_p.h index 60ed26a..ec62b0b 100644 --- a/src/gui/image/qpixmapdata_p.h +++ b/src/gui/image/qpixmapdata_p.h @@ -58,6 +58,8 @@ QT_BEGIN_NAMESPACE +class QImageReader; + class Q_GUI_EXPORT QPixmapData { public: @@ -83,6 +85,8 @@ public: virtual void resize(int width, int height) = 0; virtual void fromImage(const QImage &image, Qt::ImageConversionFlags flags) = 0; + virtual void fromImageReader(QImageReader *imageReader, + Qt::ImageConversionFlags flags); virtual bool fromFile(const QString &filename, const char *format, Qt::ImageConversionFlags flags); @@ -102,6 +106,7 @@ public: virtual void setAlphaChannel(const QPixmap &alphaChannel); virtual QPixmap alphaChannel() const; virtual QImage toImage() const = 0; + virtual QImage toImage(const QRect &rect) const; virtual QPaintEngine* paintEngine() const = 0; inline int serialNumber() const { return ser_no; } diff --git a/src/gui/image/qpixmapdatafactory.cpp b/src/gui/image/qpixmapdatafactory.cpp index 8014660..7498a7c 100644 --- a/src/gui/image/qpixmapdatafactory.cpp +++ b/src/gui/image/qpixmapdatafactory.cpp @@ -53,7 +53,7 @@ #ifdef Q_WS_MAC # include <private/qpixmap_mac_p.h> #endif -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN # include <private/qpixmap_s60_p.h> #endif @@ -82,7 +82,7 @@ QPixmapData* QSimplePixmapDataFactory::create(QPixmapData::PixelType type) return new QRasterPixmapData(type); #elif defined(Q_WS_MAC) return new QMacPixmapData(type); -#elif defined(Q_WS_S60) +#elif defined(Q_OS_SYMBIAN) return new QS60PixmapData(type); #else #error QSimplePixmapDataFactory::create() not implemented diff --git a/src/gui/image/qpnghandler.pri b/src/gui/image/qpnghandler.pri new file mode 100644 index 0000000..bedf23f --- /dev/null +++ b/src/gui/image/qpnghandler.pri @@ -0,0 +1,10 @@ +INCLUDEPATH *= $$PWD +HEADERS += $$PWD/qpnghandler_p.h +SOURCES += $$PWD/qpnghandler.cpp +contains(QT_CONFIG, system-png) { + if(unix|win32-g++*): LIBS_PRIVATE += -lpng + else:win32: LIBS += libpng.lib + +} else { + include($$PWD/../../3rdparty/libpng.pri) +} diff --git a/src/plugins/imageformats/tiff/qtiffhandler.cpp b/src/gui/image/qtiffhandler.cpp index 619aa4e..de4f680 100644 --- a/src/plugins/imageformats/tiff/qtiffhandler.cpp +++ b/src/gui/image/qtiffhandler.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qtiffhandler.h" +#include "qtiffhandler_p.h" #include <qvariant.h> #include <qdebug.h> #include <qimage.h> diff --git a/src/gui/image/qtiffhandler.pri b/src/gui/image/qtiffhandler.pri new file mode 100644 index 0000000..e1cc3ee --- /dev/null +++ b/src/gui/image/qtiffhandler.pri @@ -0,0 +1,10 @@ +# common to plugin and built-in forms +INCLUDEPATH *= $$PWD +HEADERS += $$PWD/qtiffhandler_p.h +SOURCES += $$PWD/qtiffhandler.cpp +contains(QT_CONFIG, system-tiff) { + if(unix|win32-g++*):LIBS += -ltiff + else:win32: LIBS += libtiff.lib +} else { + include($$PWD/../../3rdparty/libtiff.pri) +} diff --git a/src/plugins/imageformats/tiff/qtiffhandler.h b/src/gui/image/qtiffhandler_p.h index 4534ed5..da7d7ed 100644 --- a/src/plugins/imageformats/tiff/qtiffhandler.h +++ b/src/gui/image/qtiffhandler_p.h @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#ifndef QTIFFHANDLER_H -#define QTIFFHANDLER_H +#ifndef QTIFFHANDLER_P_H +#define QTIFFHANDLER_P_H #include <QtGui/qimageiohandler.h> @@ -75,4 +75,4 @@ private: QT_END_NAMESPACE -#endif // QTIFFHANDLER_H +#endif // QTIFFHANDLER_P_H diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index b6cc2ac..2629d7f 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -120,18 +120,21 @@ symbian { kernel/qkeymapper_s60.cpp\ kernel/qclipboard_s60.cpp\ kernel/qdnd_s60.cpp \ - kernel/qsound_s60.cpp \ - kernel/qsoftkeymanager_s60.cpp + kernel/qsound_s60.cpp HEADERS += \ kernel/qt_s60_p.h \ - kernel/qeventdispatcher_s60_p.h \ - kernel/qsoftkeymanager_s60_p.h + kernel/qeventdispatcher_s60_p.h LIBS += -lbafl -lestor INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE INCLUDEPATH += ../3rdparty/s60 + + contains(QT_CONFIG, s60) { + SOURCES += kernel/qsoftkeymanager_s60.cpp + HEADERS += kernel/qsoftkeymanager_s60_p.h + } } diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 6a67369..67f15a8 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -81,7 +81,7 @@ #include <private/qt_x11_p.h> #endif -#if defined(Q_WS_X11) || defined(Q_WS_S60) +#if defined(Q_WS_X11) || defined(Q_OS_SYMBIAN) #include "qinputcontextfactory.h" #endif @@ -900,6 +900,7 @@ QApplication::QApplication(Display *dpy, int &argc, char **argv, #endif // Q_WS_X11 extern void qInitDrawhelperAsm(); +extern void qInitImageConversions(); extern int qRegisterGuiVariant(); extern int qUnregisterGuiVariant(); #ifndef QT_NO_STATEMACHINE @@ -957,6 +958,8 @@ void QApplicationPrivate::initialize() // Set up which span functions should be used in raster engine... qInitDrawhelperAsm(); + // and QImage conversion functions + qInitImageConversions(); #ifndef QT_NO_WHEELEVENT QApplicationPrivate::wheel_scroll_lines = 3; @@ -2769,7 +2772,7 @@ void QApplicationPrivate::dispatchEnterLeave(QWidget* enter, QWidget* leave) { qt_win_set_cursor(cursorWidget, true); #elif defined(Q_WS_X11) qt_x11_enforce_cursor(cursorWidget, true); -#elif defined(Q_WS_S60) +#elif defined(Q_OS_SYMBIAN) qt_symbian_set_cursor(cursorWidget, true); #endif } diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h index 3613f95..ee31843 100644 --- a/src/gui/kernel/qapplication.h +++ b/src/gui/kernel/qapplication.h @@ -61,7 +61,7 @@ QT_BEGIN_HEADER -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) class CApaApplication; #endif @@ -118,7 +118,7 @@ class Q_GUI_EXPORT QApplication : public QCoreApplication public: enum Type { Tty, GuiClient, GuiServer }; -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN typedef CApaApplication * (*QS60MainApplicationFactory)(); #endif @@ -130,7 +130,7 @@ public: QApplication(Display* dpy, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0, int = ApplicationFlags); QApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap= 0, int = ApplicationFlags); #endif -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) QApplication(QApplication::QS60MainApplicationFactory factory, int &argc, char **argv, int = ApplicationFlags); #endif #endif @@ -366,7 +366,7 @@ public: QApplication(Display* dpy, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0); QApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap= 0); #endif -#if defined(Q_WS_S60) || defined(qdoc) +#if defined(Q_OS_SYMBIAN) || defined(qdoc) QApplication(QApplication::QS60MainApplicationFactory factory, int &argc, char **argv); #endif #endif diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 0b00808..4b983f7 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -69,14 +69,17 @@ #include "apgwgnam.h" // For CApaWindowGroupName #include <mdaaudiotoneplayer.h> // For CMdaAudioToneUtility +#if defined(Q_OS_SYMBIAN) +# include <private/qs60mainapplication_p.h> +# include <centralrepository.h> +# include "qs60mainappui.h" +# include "qinputcontext.h" +#endif + #if defined(Q_WS_S60) # if !defined(QT_NO_IM) -# include "qinputcontext.h" # include <private/qcoefepinputcontext_p.h> # endif -# include <private/qs60mainapplication_p.h> -# include <centralrepository.h> -# include "qs60mainappui.h" #endif #include "private/qstylesheetstyle_p.h" @@ -894,7 +897,7 @@ TKeyResponse QSymbianControl::sendKeyEvent(QWidget *widget, QKeyEvent *keyEvent) if (qic && qic->filterEvent(keyEvent)) return EKeyWasConsumed; } -#endif // !defined(QT_NO_IM) && defined(Q_WS_S60) +#endif // !defined(QT_NO_IM) && defined(Q_OS_SYMBIAN) if (widget && qt_sendSpontaneousEvent(widget, keyEvent)) if (keyEvent->isAccepted()) @@ -1974,10 +1977,10 @@ int QApplicationPrivate::symbianHandleCommand(const QSymbianEvent *symbianEvent) ret = 1; break; default: +#ifdef Q_WS_S60 bool handled = QSoftKeyManager::handleCommand(command); if (handled) ret = 1; -#ifdef Q_WS_S60 else ret = QMenuBarPrivate::symbianCommands(command); #endif diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 6f5aa11..d80f8f0 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -4091,7 +4091,12 @@ void QApplicationPrivate::initializeMultitouch_sys() { if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { static const int QT_SM_DIGITIZER = 94; - QApplicationPrivate::HasTouchSupport = GetSystemMetrics(QT_SM_DIGITIZER); + int value = GetSystemMetrics(QT_SM_DIGITIZER); + static const int QT_NID_INTEGRATED_TOUCH = 0x01; + static const int QT_NID_EXTERNAL_TOUCH = 0x02; + static const int QT_NID_MULTI_INPUT = 0x40; + QApplicationPrivate::HasTouchSupport = + value & (QT_NID_INTEGRATED_TOUCH | QT_NID_EXTERNAL_TOUCH | QT_NID_MULTI_INPUT); } QLibrary library(QLatin1String("user32")); diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 5e212ca..3a7858c 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -2156,7 +2156,7 @@ void qt_init(QApplicationPrivate *priv, int, X11->fc_scale = fc_scale; for (int s = 0; s < ScreenCount(X11->display); ++s) { int subpixel = FC_RGBA_UNKNOWN; -#if RENDER_MAJOR > 0 || RENDER_MINOR >= 6 +#if !defined(QT_NO_XRENDER) && (RENDER_MAJOR > 0 || RENDER_MINOR >= 6) if (X11->use_xrender) { int rsp = XRenderQuerySubpixelOrder(X11->display, s); switch (rsp) { diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 04e4685..54e6317 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -162,6 +162,7 @@ void QSoftKeyManager::sendKeyEvent() void QSoftKeyManager::updateSoftKeys() { + QSoftKeyManager::instance()->d_func()->pendingUpdate = true; QEvent *event = new QEvent(QEvent::UpdateSoftKeys); QApplication::postEvent(QSoftKeyManager::instance(), event); } @@ -250,6 +251,7 @@ bool QSoftKeyManager::handleUpdateSoftKeys() } d->updateSoftKeys_sys(); + d->pendingUpdate = false; return true; } @@ -275,6 +277,9 @@ bool QSoftKeyManager::event(QEvent *e) #ifdef Q_WS_S60 bool QSoftKeyManager::handleCommand(int command) { + if (QSoftKeyManager::instance()->d_func()->pendingUpdate) + (void)QSoftKeyManager::instance()->handleUpdateSoftKeys(); + return static_cast<QSoftKeyManagerPrivateS60*>(QSoftKeyManager::instance()->d_func())->handleCommand(command); } #endif diff --git a/src/gui/kernel/qsoftkeymanager_common_p.h b/src/gui/kernel/qsoftkeymanager_common_p.h index 04ddf7d..1b364d4 100644 --- a/src/gui/kernel/qsoftkeymanager_common_p.h +++ b/src/gui/kernel/qsoftkeymanager_common_p.h @@ -71,7 +71,7 @@ protected: QHash<QAction*, Qt::Key> keyedActions; QMultiHash<int, QAction*> requestedSoftKeyActions; QWidget *initialSoftKeySource; - + bool pendingUpdate; }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 8a3e89e..62d8a53 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -45,6 +45,7 @@ #include "qevent.h" #include "qwidget.h" #include "qabstractscrollarea.h" +#include <qgraphicssceneevent.h> #include "qdebug.h" #ifndef QT_NO_GESTURES @@ -509,49 +510,65 @@ QTapAndHoldGestureRecognizer::recognize(QGesture *state, QObject *object, if (object == state && event->type() == QEvent::Timer) { q->killTimer(d->timerId); d->timerId = 0; - return QGestureRecognizer::Ignore | QGestureRecognizer::ConsumeEventHint; + return QGestureRecognizer::FinishGesture | QGestureRecognizer::ConsumeEventHint; } const QTouchEvent *ev = static_cast<const QTouchEvent *>(event); - - QGestureRecognizer::Result result = QGestureRecognizer::CancelGesture; + const QMouseEvent *me = static_cast<const QMouseEvent *>(event); + const QGraphicsSceneMouseEvent *gsme = static_cast<const QGraphicsSceneMouseEvent *>(event); enum { TimerInterval = 2000 }; enum { TapRadius = 40 }; switch (event->type()) { + case QEvent::GraphicsSceneMousePress: + d->position = gsme->screenPos(); + q->setHotSpot(d->position); + if (d->timerId) + q->killTimer(d->timerId); + d->timerId = q->startTimer(TimerInterval); + return QGestureRecognizer::MayBeGesture; // we don't show a sign of life until the timeout + case QEvent::MouseButtonPress: + d->position = me->globalPos(); + q->setHotSpot(d->position); + if (d->timerId) + q->killTimer(d->timerId); + d->timerId = q->startTimer(TimerInterval); + return QGestureRecognizer::MayBeGesture; // we don't show a sign of life until the timeout case QEvent::TouchBegin: - d->position = ev->touchPoints().at(0).pos(); + d->position = ev->touchPoints().at(0).startScreenPos(); + q->setHotSpot(d->position); if (d->timerId) q->killTimer(d->timerId); d->timerId = q->startTimer(TimerInterval); - q->setHotSpot(ev->touchPoints().at(0).startScreenPos()); - result = QGestureRecognizer::TriggerGesture; - break; + return QGestureRecognizer::MayBeGesture; // we don't show a sign of life until the timeout + case QEvent::GraphicsSceneMouseRelease: + case QEvent::MouseButtonRelease: case QEvent::TouchEnd: - if (d->timerId) - result = QGestureRecognizer::CancelGesture; - else - result = QGestureRecognizer::FinishGesture; - break; + return QGestureRecognizer::CancelGesture; // get out of the MayBeGesture state case QEvent::TouchUpdate: - if (q->state() != Qt::NoGesture && ev->touchPoints().size() == 1) { + if (d->timerId && ev->touchPoints().size() == 1) { QTouchEvent::TouchPoint p = ev->touchPoints().at(0); QPoint delta = p.pos().toPoint() - p.startPos().toPoint(); if (delta.manhattanLength() <= TapRadius) - result = QGestureRecognizer::TriggerGesture; + return QGestureRecognizer::MayBeGesture; } - break; - case QEvent::MouseButtonPress: - case QEvent::MouseMove: - case QEvent::MouseButtonRelease: - result = QGestureRecognizer::Ignore; - break; + return QGestureRecognizer::CancelGesture; + case QEvent::MouseMove: { + QPoint delta = me->globalPos() - d->position.toPoint(); + if (d->timerId && delta.manhattanLength() <= TapRadius) + return QGestureRecognizer::MayBeGesture; + return QGestureRecognizer::CancelGesture; + } + case QEvent::GraphicsSceneMouseMove: { + QPoint delta = gsme->screenPos() - d->position.toPoint(); + if (d->timerId && delta.manhattanLength() <= TapRadius) + return QGestureRecognizer::MayBeGesture; + return QGestureRecognizer::CancelGesture; + } default: - result = QGestureRecognizer::Ignore; - break; + return QGestureRecognizer::Ignore; } - return result; } void QTapAndHoldGestureRecognizer::reset(QGesture *state) diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 204e38c..d8ef67d 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -155,7 +155,9 @@ public: static inline CAknTitlePane* titlePane(); static inline CAknContextPane* contextPane(); static inline CEikButtonGroupContainer* buttonGroupContainer(); +#endif +#ifdef Q_OS_SYMBIAN TTrapHandler *s60InstalledTrapHandler; #endif }; @@ -208,7 +210,7 @@ protected: // from MAknFadedComponent TInt CountFadedComponents() {return 1;} CCoeControl* FadedComponent(TInt /*aIndex*/) {return this;} #else - #warning No fallback implementation for QSymbianControl::FadeBehindPopup + // #warning No fallback implementation for QSymbianControl::FadeBehindPopup void FadeBehindPopup(bool /*fade*/){ } #endif @@ -277,9 +279,9 @@ inline QS60Data::QS60Data() avkonComponentsSupportTransparency(0), menuBeingConstructed(0), memoryLimitForHwRendering(0), - s60ApplicationFactory(0), -#ifdef Q_WS_S60 - s60InstalledTrapHandler(0) + s60ApplicationFactory(0) +#ifdef Q_OS_SYMBIAN + ,s60InstalledTrapHandler(0) #endif { } diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 2e980c1..b079df7 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -10701,7 +10701,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on) break; case Qt::WA_AcceptTouchEvents: -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_WS_S60) +#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_OS_SYMBIAN) if (on) d->registerTouchWindow(); #endif diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 3f351d9..2818d88 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -54,6 +54,7 @@ #ifdef Q_WS_S60 #include <aknappui.h> +#include <eikbtgpc.h> #endif // This is necessary in order to be able to perform delayed invokation on slots @@ -1082,12 +1083,14 @@ void QWidget::setWindowState(Qt::WindowStates newstate) Qt::WindowStates oldstate = windowState(); const TBool isFullscreen = newstate & Qt::WindowFullScreen; +#ifdef Q_WS_S60 const TBool cbaRequested = windowFlags() & Qt::WindowSoftkeysVisibleHint; const TBool cbaVisible = CEikButtonGroupContainer::Current() ? true : false; const TBool softkeyVisibilityChange = isFullscreen && (cbaRequested != cbaVisible); if (oldstate == newstate && !softkeyVisibilityChange) return; +#endif // Q_WS_S60 if (isWindow()) { createWinId(); diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp index b527e72..9f1b1f8 100644 --- a/src/gui/kernel/qx11embed_x11.cpp +++ b/src/gui/kernel/qx11embed_x11.cpp @@ -1070,6 +1070,7 @@ QX11EmbedContainer::QX11EmbedContainer(QWidget *parent) d->focusProxy = new QWidget(this); d->focusProxy->setAttribute(Qt::WA_NativeWindow); d->focusProxy->setAttribute(Qt::WA_DontCreateNativeAncestors); + d->focusProxy->createWinId(); d->focusProxy->setGeometry(-1, -1, 1, 1); // We need events from the window (activation status) and diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index a5cfb84..4023f65 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -202,154 +202,17 @@ x11|embedded { DEFINES += QT_NO_CUPS QT_NO_LPR } -contains(QMAKE_MAC_XARCH, no) { - DEFINES += QT_NO_MAC_XARCH -} else:if(mmx|3dnow|sse|sse2|iwmmxt) { +if(mmx|3dnow|sse|sse2|iwmmxt) { HEADERS += painting/qdrawhelper_x86_p.h \ painting/qdrawhelper_mmx_p.h \ - painting/qdrawhelper_sse_p.h - mmx { - DEFINES += QT_HAVE_MMX - MMX_SOURCES += painting/qdrawhelper_mmx.cpp - } - 3dnow { - DEFINES += QT_HAVE_3DNOW - MMX3DNOW_SOURCES += painting/qdrawhelper_mmx3dnow.cpp - sse { - SSE3DNOW_SOURCES += painting/qdrawhelper_sse3dnow.cpp - } - } - sse { - DEFINES += QT_HAVE_SSE - SSE_SOURCES += painting/qdrawhelper_sse.cpp - - DEFINES += QT_HAVE_MMXEXT - } - sse2 { - DEFINES += QT_HAVE_SSE2 - SSE2_SOURCES += painting/qdrawhelper_sse2.cpp - } - iwmmxt { - DEFINES += QT_HAVE_IWMMXT - IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp - } - - win32-g++*|!win32:!*-icc* { - mmx { - mmx_compiler.commands = $$QMAKE_CXX -c -Winline - - mac { - mmx_compiler.commands += -Xarch_i386 -mmmx - mmx_compiler.commands += -Xarch_x86_64 -mmmx - } else { - mmx_compiler.commands += -mmmx - } - - mmx_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - mmx_compiler.dependency_type = TYPE_C - mmx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - mmx_compiler.input = MMX_SOURCES - mmx_compiler.variable_out = OBJECTS - mmx_compiler.name = compiling[mmx] ${QMAKE_FILE_IN} - silent:mmx_compiler.commands = @echo compiling[mmx] ${QMAKE_FILE_IN} && $$mmx_compiler.commands - QMAKE_EXTRA_COMPILERS += mmx_compiler - } - 3dnow { - mmx3dnow_compiler.commands = $$QMAKE_CXX -c -Winline - - mac { - mmx3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -mmmx - mmx3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -mmmx - } else { - mmx3dnow_compiler.commands += -m3dnow -mmmx - } - - mmx3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - mmx3dnow_compiler.dependency_type = TYPE_C - mmx3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - mmx3dnow_compiler.input = MMX3DNOW_SOURCES - mmx3dnow_compiler.variable_out = OBJECTS - mmx3dnow_compiler.name = compiling[mmx3dnow] ${QMAKE_FILE_IN} - silent:mmx3dnow_compiler.commands = @echo compiling[mmx3dnow] ${QMAKE_FILE_IN} && $$mmx3dnow_compiler.commands - QMAKE_EXTRA_COMPILERS += mmx3dnow_compiler - sse { - sse3dnow_compiler.commands = $$QMAKE_CXX -c -Winline - - mac { - sse3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -msse - sse3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -msse - } else { - sse3dnow_compiler.commands += -m3dnow -msse - } - - sse3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - sse3dnow_compiler.dependency_type = TYPE_C - sse3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - sse3dnow_compiler.input = SSE3DNOW_SOURCES - sse3dnow_compiler.variable_out = OBJECTS - sse3dnow_compiler.name = compiling[sse3dnow] ${QMAKE_FILE_IN} - silent:sse3dnow_compiler.commands = @echo compiling[sse3dnow] ${QMAKE_FILE_IN} && $$sse3dnow_compiler.commands - QMAKE_EXTRA_COMPILERS += sse3dnow_compiler - } - } - sse { - sse_compiler.commands = $$QMAKE_CXX -c -Winline - - mac { - sse_compiler.commands += -Xarch_i386 -msse - sse_compiler.commands += -Xarch_x86_64 -msse - } else { - sse_compiler.commands += -msse - } - - sse_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - sse_compiler.dependency_type = TYPE_C - sse_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - sse_compiler.input = SSE_SOURCES - sse_compiler.variable_out = OBJECTS - sse_compiler.name = compiling[sse] ${QMAKE_FILE_IN} - silent:sse_compiler.commands = @echo compiling[sse] ${QMAKE_FILE_IN} && $$sse_compiler.commands - QMAKE_EXTRA_COMPILERS += sse_compiler - } - sse2 { - sse2_compiler.commands = $$QMAKE_CXX -c -Winline - - mac { - sse2_compiler.commands += -Xarch_i386 -msse2 - sse2_compiler.commands += -Xarch_x86_64 -msse2 - } else { - sse2_compiler.commands += -msse2 - } - - sse2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - sse2_compiler.dependency_type = TYPE_C - sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - sse2_compiler.input = SSE2_SOURCES - sse2_compiler.variable_out = OBJECTS - sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN} - silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands - QMAKE_EXTRA_COMPILERS += sse2_compiler - } - iwmmxt { - iwmmxt_compiler.commands = $$QMAKE_CXX -c -Winline - iwmmxt_compiler.commands += -mcpu=iwmmxt - iwmmxt_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - iwmmxt_compiler.dependency_type = TYPE_C - iwmmxt_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - iwmmxt_compiler.input = IWMMXT_SOURCES - iwmmxt_compiler.variable_out = OBJECTS - iwmmxt_compiler.name = compiling[iwmmxt] ${QMAKE_FILE_IN} - silent:iwmmxt_compiler.commands = @echo compiling[iwmmxt] ${QMAKE_FILE_IN} && $$iwmmxt_compiler.commands - QMAKE_EXTRA_COMPILERS += iwmmxt_compiler - } - } else { - mmx: SOURCES += $$MMX_SOURCES - 3dnow: SOURCES += $$MMX3DNOW_SOURCES - 3dnow:sse: SOURCES += $$SSE3DNOW_SOURCES - sse: SOURCES += $$SSE_SOURCES - sse2: SOURCES += $$SSE2_SOURCES - iwmmxt: SOURCES += $$IWMMXT_SOURCES - } + painting/qdrawhelper_sse_p.h \ + painting/qdrawingprimitive_sse2_p.h + MMX_SOURCES += painting/qdrawhelper_mmx.cpp + MMX3DNOW_SOURCES += painting/qdrawhelper_mmx3dnow.cpp + SSE3DNOW_SOURCES += painting/qdrawhelper_sse3dnow.cpp + SSE_SOURCES += painting/qdrawhelper_sse.cpp + SSE2_SOURCES += painting/qdrawhelper_sse2.cpp + IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp } x11 { @@ -402,11 +265,4 @@ neon:*-g++* { QMAKE_EXTRA_COMPILERS += neon_compiler } -contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/zlib -} else:!contains(QT_CONFIG, no-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} - +include($$PWD/../../3rdparty/zlib_dependency.pri) diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 51d841e..8081a4b 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -5190,7 +5190,8 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTiled(int count, const QSpan *spans, void * length -= copy_image_width; copy_image_width *= 2; } - qt_memconvert(dest, src, length); + if (length > 0) + qt_memconvert(dest, src, length); } else { while (length) { int l = qMin(image_width - sx, length); @@ -7935,6 +7936,15 @@ void qInitDrawhelperAsm() #ifdef QT_HAVE_SSE2 if (features & SSE2) { + extern void QT_FASTCALL comp_func_SourceOver_sse2(uint *destPixels, + const uint *srcPixels, + int length, + uint const_alpha); + extern void QT_FASTCALL comp_func_solid_SourceOver_sse2(uint *destPixels, int length, uint color, uint const_alpha); + + functionForModeAsm[0] = comp_func_SourceOver_sse2; + functionForModeSolidAsm[0] = comp_func_solid_SourceOver_sse2; + extern void qt_blend_rgb32_on_rgb32_sse2(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, @@ -7944,7 +7954,6 @@ void qInitDrawhelperAsm() int w, int h, int const_alpha); - qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_sse2; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_sse2; qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_sse2; @@ -8008,8 +8017,12 @@ void qInitDrawhelperAsm() qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon; functionForMode_C[QPainter::CompositionMode_SourceOver] = qt_blend_argb32_on_argb32_scanline_neon; + functionForModeSolid_C[QPainter::CompositionMode_SourceOver] = comp_func_solid_SourceOver_neon; destFetchProc[QImage::Format_RGB16] = qt_destFetchRGB16_neon; destStoreProc[QImage::Format_RGB16] = qt_destStoreRGB16_neon; + + qMemRotateFunctions[QImage::Format_RGB16][0] = qt_memrotate90_16_neon; + qMemRotateFunctions[QImage::Format_RGB16][2] = qt_memrotate270_16_neon; } #endif diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index ee5f24a..03fe075 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -579,6 +579,193 @@ void QT_FASTCALL qt_destStoreRGB16_neon(QRasterBuffer *rasterBuffer, int x, int } } +void QT_FASTCALL comp_func_solid_SourceOver_neon(uint *destPixels, int length, uint color, uint const_alpha) +{ + if ((const_alpha & qAlpha(color)) == 255) { + QT_MEMFILL_UINT(destPixels, length, color); + } else { + if (const_alpha != 255) + color = BYTE_MUL(color, const_alpha); + + const quint32 minusAlphaOfColor = qAlpha(~color); + int x = 0; + + uint32_t *dst = (uint32_t *) destPixels; + const uint32x4_t colorVector = vdupq_n_u32(color); + uint16x8_t half = vdupq_n_u16(0x80); + const uint16x8_t minusAlphaOfColorVector = vdupq_n_u16(minusAlphaOfColor); + + for (; x < length-3; x += 4) { + uint32x4_t dstVector = vld1q_u32(&dst[x]); + + const uint8x16_t dst8 = vreinterpretq_u8_u32(dstVector); + + const uint8x8_t dst8_low = vget_low_u8(dst8); + const uint8x8_t dst8_high = vget_high_u8(dst8); + + const uint16x8_t dst16_low = vmovl_u8(dst8_low); + const uint16x8_t dst16_high = vmovl_u8(dst8_high); + + const uint16x8_t result16_low = qvbyte_mul_u16(dst16_low, minusAlphaOfColorVector, half); + const uint16x8_t result16_high = qvbyte_mul_u16(dst16_high, minusAlphaOfColorVector, half); + + const uint32x2_t result32_low = vreinterpret_u32_u8(vmovn_u16(result16_low)); + const uint32x2_t result32_high = vreinterpret_u32_u8(vmovn_u16(result16_high)); + + uint32x4_t blendedPixels = vcombine_u32(result32_low, result32_high); + uint32x4_t colorPlusBlendedPixels = vaddq_u32(colorVector, blendedPixels); + vst1q_u32(&dst[x], colorPlusBlendedPixels); + } + + for (;x < length; ++x) + destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor); + } +} + +static const int tileSize = 32; + +extern "C" void qt_rotate90_16_neon(quint16 *dst, const quint16 *src, int sstride, int dstride, int count); + +void qt_memrotate90_16_neon(const uchar *srcPixels, int w, int h, int sstride, uchar *destPixels, int dstride) +{ + const ushort *src = (const ushort *)srcPixels; + ushort *dest = (ushort *)destPixels; + + sstride /= sizeof(ushort); + dstride /= sizeof(ushort); + + const int pack = sizeof(quint32) / sizeof(ushort); + const int unaligned = + qMin(uint((quintptr(dest) & (sizeof(quint32)-1)) / sizeof(ushort)), uint(h)); + const int restX = w % tileSize; + const int restY = (h - unaligned) % tileSize; + const int unoptimizedY = restY % pack; + const int numTilesX = w / tileSize + (restX > 0); + const int numTilesY = (h - unaligned) / tileSize + (restY >= pack); + + for (int tx = 0; tx < numTilesX; ++tx) { + const int startx = w - tx * tileSize - 1; + const int stopx = qMax(startx - tileSize, 0); + + if (unaligned) { + for (int x = startx; x >= stopx; --x) { + ushort *d = dest + (w - x - 1) * dstride; + for (int y = 0; y < unaligned; ++y) { + *d++ = src[y * sstride + x]; + } + } + } + + for (int ty = 0; ty < numTilesY; ++ty) { + const int starty = ty * tileSize + unaligned; + const int stopy = qMin(starty + tileSize, h - unoptimizedY); + + int x = startx; + // qt_rotate90_16_neon writes to eight rows, four pixels at a time + for (; x >= stopx + 7; x -= 8) { + ushort *d = dest + (w - x - 1) * dstride + starty; + const ushort *s = &src[starty * sstride + x - 7]; + qt_rotate90_16_neon(d, s, sstride * 2, dstride * 2, stopy - starty); + } + + for (; x >= stopx; --x) { + quint32 *d = reinterpret_cast<quint32*>(dest + (w - x - 1) * dstride + starty); + for (int y = starty; y < stopy; y += pack) { + quint32 c = src[y * sstride + x]; + for (int i = 1; i < pack; ++i) { + const int shift = (sizeof(int) * 8 / pack * i); + const ushort color = src[(y + i) * sstride + x]; + c |= color << shift; + } + *d++ = c; + } + } + } + + if (unoptimizedY) { + const int starty = h - unoptimizedY; + for (int x = startx; x >= stopx; --x) { + ushort *d = dest + (w - x - 1) * dstride + starty; + for (int y = starty; y < h; ++y) { + *d++ = src[y * sstride + x]; + } + } + } + } +} + +extern "C" void qt_rotate270_16_neon(quint16 *dst, const quint16 *src, int sstride, int dstride, int count); + +void qt_memrotate270_16_neon(const uchar *srcPixels, int w, int h, + int sstride, + uchar *destPixels, int dstride) +{ + const ushort *src = (const ushort *)srcPixels; + ushort *dest = (ushort *)destPixels; + + sstride /= sizeof(ushort); + dstride /= sizeof(ushort); + + const int pack = sizeof(quint32) / sizeof(ushort); + const int unaligned = + qMin(uint((long(dest) & (sizeof(quint32)-1)) / sizeof(ushort)), uint(h)); + const int restX = w % tileSize; + const int restY = (h - unaligned) % tileSize; + const int unoptimizedY = restY % pack; + const int numTilesX = w / tileSize + (restX > 0); + const int numTilesY = (h - unaligned) / tileSize + (restY >= pack); + + for (int tx = 0; tx < numTilesX; ++tx) { + const int startx = tx * tileSize; + const int stopx = qMin(startx + tileSize, w); + + if (unaligned) { + for (int x = startx; x < stopx; ++x) { + ushort *d = dest + x * dstride; + for (int y = h - 1; y >= h - unaligned; --y) { + *d++ = src[y * sstride + x]; + } + } + } + + for (int ty = 0; ty < numTilesY; ++ty) { + const int starty = h - 1 - unaligned - ty * tileSize; + const int stopy = qMax(starty - tileSize, unoptimizedY); + + int x = startx; + // qt_rotate90_16_neon writes to eight rows, four pixels at a time + for (; x < stopx - 7; x += 8) { + ushort *d = dest + x * dstride + h - 1 - starty; + const ushort *s = &src[starty * sstride + x]; + qt_rotate90_16_neon(d + 7 * dstride, s, -sstride * 2, -dstride * 2, starty - stopy); + } + + for (; x < stopx; ++x) { + quint32 *d = reinterpret_cast<quint32*>(dest + x * dstride + + h - 1 - starty); + for (int y = starty; y > stopy; y -= pack) { + quint32 c = src[y * sstride + x]; + for (int i = 1; i < pack; ++i) { + const int shift = (sizeof(int) * 8 / pack * i); + const ushort color = src[(y - i) * sstride + x]; + c |= color << shift; + } + *d++ = c; + } + } + } + if (unoptimizedY) { + const int starty = unoptimizedY - 1; + for (int x = startx; x < stopx; ++x) { + ushort *d = dest + x * dstride + h - 1 - starty; + for (int y = starty; y >= 0; --y) { + *d++ = src[y * sstride + x]; + } + } + } + } +} + QT_END_NAMESPACE #endif // QT_HAVE_NEON diff --git a/src/gui/painting/qdrawhelper_neon_asm.S b/src/gui/painting/qdrawhelper_neon_asm.S index 9992817..d9cdc36 100644 --- a/src/gui/painting/qdrawhelper_neon_asm.S +++ b/src/gui/painting/qdrawhelper_neon_asm.S @@ -190,3 +190,108 @@ blend_8_pixels_rgb16_on_rgb16_neon: bx lr .endfunc + +/* void qt_rotate90_16_neon(quint16 *dst, const quint16 *src, int sstride, int dstride, int count) */ + .func qt_rotate90_16_neon + .global qt_rotate90_16_neon + /* For ELF format also set function visibility to hidden */ +#ifdef __ELF__ + .hidden qt_rotate90_16_neon + .type qt_rotate90_16_neon, %function +#endif +qt_rotate90_16_neon: + push { r4-r11, lr } + ldr r5, [sp, #(9*4)] + + /* The preloads are the key to getting good performance */ + pld [r1] + + mov r4, r5, asr #2 + add r6, r0, r3 + add r7, r6, r3 + + add r8, r7, r3 + add r9, r8, r3 + + pld [r1, r2] + + add r10, r9, r3 + add r11, r10, r3 + + add r3, r3, r11 + and r5, r5, #3 + + pld [r1, r2, lsl #1] + + cmp r4, #0 + beq .rotate90_16_tail + +.rotate90_16_loop: + vld1.16 { q8 }, [r1], r2 + + pld [r1, r2, lsl #1] + + vld1.16 { q9 }, [r1], r2 + vld1.16 { q10 }, [r1], r2 + vld1.16 { q11 }, [r1], r2 + + pld [r1] + + /* Could have used four quad-word zips instead, + but those take three cycles as opposed to one. */ + vzip.16 d16, d20 + vzip.16 d17, d21 + + vzip.16 d18, d22 + + pld [r1, r2] + + vzip.16 d19, d23 + + vzip.16 d16, d18 + vzip.16 d17, d19 + + pld [r1, r2, lsl #1] + + vzip.16 d20, d22 + vzip.16 d21, d23 + + vst1.16 { d23 }, [r0]! + vst1.16 { d21 }, [r6]! + vst1.16 { d19 }, [r7]! + vst1.16 { d17 }, [r8]! + vst1.16 { d22 }, [r9]! + vst1.16 { d20 }, [r10]! + vst1.16 { d18 }, [r11]! + vst1.16 { d16 }, [r3]! + + sub r4, r4, #1 + cmp r4, #0 + bne .rotate90_16_loop + b .rotate90_16_tail + +.rotate90_16_tail_loop: + sub r5, r5, #2 + + vld1.16 { q8 }, [r1], r2 + vld1.16 { q9 }, [r1], r2 + + vzip.16 d16, d18 + vzip.16 d17, d19 + + vst1.32 { d19[1] }, [r0]! + vst1.32 { d19[0] }, [r6]! + vst1.32 { d17[1] }, [r7]! + vst1.32 { d17[0] }, [r8]! + vst1.32 { d18[1] }, [r9]! + vst1.32 { d18[0] }, [r10]! + vst1.32 { d16[1] }, [r11]! + vst1.32 { d16[0] }, [r3]! + +.rotate90_16_tail: + cmp r5, #0 + bgt .rotate90_16_tail_loop + + pop { r4-r11, pc } + + .endfunc diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index d6a4509..cd2dbfc 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -120,6 +120,9 @@ void qt_transform_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, const QTransform &targetRectTransform, int const_alpha); +void qt_memrotate90_16_neon(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl); +void qt_memrotate270_16_neon(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl); + uint * QT_FASTCALL qt_destFetchRGB16_neon(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length); @@ -127,6 +130,8 @@ uint * QT_FASTCALL qt_destFetchRGB16_neon(uint *buffer, void QT_FASTCALL qt_destStoreRGB16_neon(QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length); +void QT_FASTCALL comp_func_solid_SourceOver_neon(uint *destPixels, int length, uint color, uint const_alpha); + #endif // QT_HAVE_NEON QT_END_NAMESPACE diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h index acf765c..97c78bb 100644 --- a/src/gui/painting/qdrawhelper_p.h +++ b/src/gui/painting/qdrawhelper_p.h @@ -152,6 +152,7 @@ typedef void (*SrcOverTransformFunc)(uchar *destPixels, int dbpl, const QTransform &targetRectTransform, int const_alpha); +typedef void (*MemRotateFunc)(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl); struct DrawHelper { ProcessSpans blendColor; @@ -165,6 +166,7 @@ struct DrawHelper { extern SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats]; extern SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats]; extern SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFormats]; +extern MemRotateFunc qMemRotateFunctions[QImage::NImageFormats][3]; extern DrawHelper qDrawHelper[QImage::NImageFormats]; diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp index 6ac64d3..346e177 100644 --- a/src/gui/painting/qdrawhelper_sse2.cpp +++ b/src/gui/painting/qdrawhelper_sse2.cpp @@ -43,96 +43,19 @@ #ifdef QT_HAVE_SSE2 +#include <private/qsimd_p.h> +#include <private/qdrawingprimitive_sse2_p.h> #include <private/qpaintengine_raster_p.h> -#ifdef 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 -# define posix_memalign _lsb_hack_posix_memalign -# include <emmintrin.h> -# undef posix_memalign -#else -# include <emmintrin.h> -#endif - QT_BEGIN_NAMESPACE -/* - * Multiply the components of pixelVector by alphaChannel - * Each 32bits components of alphaChannel must be in the form 0x00AA00AA - * colorMask must have 0x00ff00ff on each 32 bits component - * half must have the value 128 (0x80) for each 32 bits compnent - */ -#define BYTE_MUL_SSE2(result, pixelVector, alphaChannel, colorMask, half) \ -{ \ - /* 1. separate the colors in 2 vectors so each color is on 16 bits \ - (in order to be multiplied by the alpha \ - each 32 bit of dstVectorAG are in the form 0x00AA00GG \ - each 32 bit of dstVectorRB are in the form 0x00RR00BB */\ - __m128i pixelVectorAG = _mm_srli_epi16(pixelVector, 8); \ - __m128i pixelVectorRB = _mm_and_si128(pixelVector, colorMask); \ - \ - /* 2. multiply the vectors by the alpha channel */\ - pixelVectorAG = _mm_mullo_epi16(pixelVectorAG, alphaChannel); \ - pixelVectorRB = _mm_mullo_epi16(pixelVectorRB, alphaChannel); \ - \ - /* 3. devide by 255, that's the tricky part. \ - we do it like for BYTE_MUL(), with bit shift: X/255 ~= (X + X/256 + rounding)/256 */ \ - /** so first (X + X/256 + rounding) */\ - pixelVectorRB = _mm_add_epi16(pixelVectorRB, _mm_srli_epi16(pixelVectorRB, 8)); \ - pixelVectorRB = _mm_add_epi16(pixelVectorRB, half); \ - pixelVectorAG = _mm_add_epi16(pixelVectorAG, _mm_srli_epi16(pixelVectorAG, 8)); \ - pixelVectorAG = _mm_add_epi16(pixelVectorAG, half); \ - \ - /** second devide by 256 */\ - pixelVectorRB = _mm_srli_epi16(pixelVectorRB, 8); \ - /** for AG, we could >> 8 to divide followed by << 8 to put the \ - bytes in the correct position. By masking instead, we execute \ - only one instruction */\ - pixelVectorAG = _mm_andnot_si128(colorMask, pixelVectorAG); \ - \ - /* 4. combine the 2 pairs of colors */ \ - result = _mm_or_si128(pixelVectorAG, pixelVectorRB); \ -} - -/* - * Each 32bits components of alphaChannel must be in the form 0x00AA00AA - * oneMinusAlphaChannel must be 255 - alpha for each 32 bits component - * colorMask must have 0x00ff00ff on each 32 bits component - * half must have the value 128 (0x80) for each 32 bits compnent - */ -#define INTERPOLATE_PIXEL_255_SSE2(result, srcVector, dstVector, alphaChannel, oneMinusAlphaChannel, colorMask, half) { \ - /* interpolate AG */\ - __m128i srcVectorAG = _mm_srli_epi16(srcVector, 8); \ - __m128i dstVectorAG = _mm_srli_epi16(dstVector, 8); \ - __m128i srcVectorAGalpha = _mm_mullo_epi16(srcVectorAG, alphaChannel); \ - __m128i dstVectorAGoneMinusAlphalpha = _mm_mullo_epi16(dstVectorAG, oneMinusAlphaChannel); \ - __m128i finalAG = _mm_add_epi16(srcVectorAGalpha, dstVectorAGoneMinusAlphalpha); \ - finalAG = _mm_add_epi16(finalAG, _mm_srli_epi16(finalAG, 8)); \ - finalAG = _mm_add_epi16(finalAG, half); \ - finalAG = _mm_andnot_si128(colorMask, finalAG); \ - \ - /* interpolate RB */\ - __m128i srcVectorRB = _mm_and_si128(srcVector, colorMask); \ - __m128i dstVectorRB = _mm_and_si128(dstVector, colorMask); \ - __m128i srcVectorRBalpha = _mm_mullo_epi16(srcVectorRB, alphaChannel); \ - __m128i dstVectorRBoneMinusAlphalpha = _mm_mullo_epi16(dstVectorRB, oneMinusAlphaChannel); \ - __m128i finalRB = _mm_add_epi16(srcVectorRBalpha, dstVectorRBoneMinusAlphalpha); \ - finalRB = _mm_add_epi16(finalRB, _mm_srli_epi16(finalRB, 8)); \ - finalRB = _mm_add_epi16(finalRB, half); \ - finalRB = _mm_srli_epi16(finalRB, 8); \ - \ - /* combine */\ - result = _mm_or_si128(finalAG, finalRB); \ -} - void qt_blend_argb32_on_argb32_sse2(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, int const_alpha) { const quint32 *src = (const quint32 *) srcPixels; - quint32 *dst = (uint *) destPixels; + quint32 *dst = (quint32 *) destPixels; if (const_alpha == 256) { const __m128i alphaMask = _mm_set1_epi32(0xff000000); const __m128i nullVector = _mm_set1_epi32(0); @@ -140,41 +63,7 @@ void qt_blend_argb32_on_argb32_sse2(uchar *destPixels, int dbpl, const __m128i one = _mm_set1_epi16(0xff); const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); for (int y = 0; y < h; ++y) { - int x = 0; - for (; x < w-3; x += 4) { - const __m128i srcVector = _mm_loadu_si128((__m128i *)&src[x]); - const __m128i srcVectorAlpha = _mm_and_si128(srcVector, alphaMask); - if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, alphaMask)) == 0xffff) { - // all opaque - _mm_storeu_si128((__m128i *)&dst[x], srcVector); - } else if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, nullVector)) != 0xffff) { - // not fully transparent - // result = s + d * (1-alpha) - - // extract the alpha channel on 2 x 16 bits - // so we have room for the multiplication - // each 32 bits will be in the form 0x00AA00AA - // with A being the 1 - alpha - __m128i alphaChannel = _mm_srli_epi32(srcVector, 24); - alphaChannel = _mm_or_si128(alphaChannel, _mm_slli_epi32(alphaChannel, 16)); - alphaChannel = _mm_sub_epi16(one, alphaChannel); - - const __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); - __m128i destMultipliedByOneMinusAlpha; - BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); - - // result = s + d * (1-alpha) - const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); - _mm_storeu_si128((__m128i *)&dst[x], result); - } - } - for (; x<w; ++x) { - uint s = src[x]; - if (s >= 0xff000000) - dst[x] = s; - else if (s != 0) - dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); - } + BLEND_SOURCE_OVER_ARGB32_SSE2(dst, src, w, nullVector, half, one, colorMask, alphaMask); dst = (quint32 *)(((uchar *) dst) + dbpl); src = (const quint32 *)(((const uchar *) src) + sbpl); } @@ -189,31 +78,7 @@ void qt_blend_argb32_on_argb32_sse2(uchar *destPixels, int dbpl, const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); const __m128i constAlphaVector = _mm_set1_epi16(const_alpha); for (int y = 0; y < h; ++y) { - int x = 0; - for (; x < w-3; x += 4) { - __m128i srcVector = _mm_loadu_si128((__m128i *)&src[x]); - if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVector, nullVector)) != 0xffff) { - BYTE_MUL_SSE2(srcVector, srcVector, constAlphaVector, colorMask, half); - - __m128i alphaChannel = _mm_srli_epi32(srcVector, 24); - alphaChannel = _mm_or_si128(alphaChannel, _mm_slli_epi32(alphaChannel, 16)); - alphaChannel = _mm_sub_epi16(one, alphaChannel); - - const __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); - __m128i destMultipliedByOneMinusAlpha; - BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); - - const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); - _mm_storeu_si128((__m128i *)&dst[x], result); - } - } - for (; x<w; ++x) { - quint32 s = src[x]; - if (s != 0) { - s = BYTE_MUL(s, const_alpha); - dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); - } - } + BLEND_SOURCE_OVER_ARGB32_WITH_CONST_ALPHA_SSE2(dst, src, w, nullVector, half, one, colorMask, constAlphaVector) dst = (quint32 *)(((uchar *) dst) + dbpl); src = (const quint32 *)(((const uchar *) src) + sbpl); } @@ -232,7 +97,7 @@ void qt_blend_rgb32_on_rgb32_sse2(uchar *destPixels, int dbpl, int const_alpha) { const quint32 *src = (const quint32 *) srcPixels; - quint32 *dst = (uint *) destPixels; + quint32 *dst = (quint32 *) destPixels; if (const_alpha != 256) { if (const_alpha != 0) { const __m128i nullVector = _mm_set1_epi32(0); @@ -268,6 +133,27 @@ void qt_blend_rgb32_on_rgb32_sse2(uchar *destPixels, int dbpl, } } +void QT_FASTCALL comp_func_SourceOver_sse2(uint *destPixels, const uint *srcPixels, int length, uint const_alpha) +{ + Q_ASSERT(const_alpha >= 0); + Q_ASSERT(const_alpha < 256); + + const quint32 *src = (const quint32 *) srcPixels; + quint32 *dst = (quint32 *) destPixels; + + const __m128i nullVector = _mm_set1_epi32(0); + const __m128i half = _mm_set1_epi16(0x80); + const __m128i one = _mm_set1_epi16(0xff); + const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); + if (const_alpha == 255) { + const __m128i alphaMask = _mm_set1_epi32(0xff000000); + BLEND_SOURCE_OVER_ARGB32_SSE2(dst, src, length, nullVector, half, one, colorMask, alphaMask); + } else { + const __m128i constAlphaVector = _mm_set1_epi16(const_alpha); + BLEND_SOURCE_OVER_ARGB32_WITH_CONST_ALPHA_SSE2(dst, src, length, nullVector, half, one, colorMask, constAlphaVector); + } +} + void qt_memfill32_sse2(quint32 *dest, quint32 value, int count) { if (count < 7) { @@ -312,6 +198,34 @@ void qt_memfill32_sse2(quint32 *dest, quint32 value, int count) } } +void QT_FASTCALL comp_func_solid_SourceOver_sse2(uint *destPixels, int length, uint color, uint const_alpha) +{ + if ((const_alpha & qAlpha(color)) == 255) { + qt_memfill32_sse2(destPixels, color, length); + } else { + if (const_alpha != 255) + color = BYTE_MUL(color, const_alpha); + + const quint32 minusAlphaOfColor = qAlpha(~color); + int x = 0; + + quint32 *dst = (quint32 *) destPixels; + const __m128i colorVector = _mm_set1_epi32(color); + const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); + const __m128i half = _mm_set1_epi16(0x80); + const __m128i minusAlphaOfColorVector = _mm_set1_epi16(minusAlphaOfColor); + + for (; x < length-3; x += 4) { + __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); + BYTE_MUL_SSE2(dstVector, dstVector, minusAlphaOfColorVector, colorMask, half); + dstVector = _mm_add_epi8(colorVector, dstVector); + _mm_storeu_si128((__m128i *)&dst[x], dstVector); + } + for (;x < length; ++x) + destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor); + } +} + void qt_memfill16_sse2(quint16 *dest, quint16 value, int count) { if (count < 3) { diff --git a/src/gui/painting/qdrawingprimitive_sse2_p.h b/src/gui/painting/qdrawingprimitive_sse2_p.h new file mode 100644 index 0000000..3c96946 --- /dev/null +++ b/src/gui/painting/qdrawingprimitive_sse2_p.h @@ -0,0 +1,222 @@ +/**************************************************************************** +** +** 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 QDRAWINGPRIMITIVE_SSE2_P_H +#define QDRAWINGPRIMITIVE_SSE2_P_H + +#include <private/qsimd_p.h> + +#ifdef QT_HAVE_SSE2 + +// +// 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. +// + +QT_BEGIN_NAMESPACE + +/* + * Multiply the components of pixelVector by alphaChannel + * Each 32bits components of alphaChannel must be in the form 0x00AA00AA + * colorMask must have 0x00ff00ff on each 32 bits component + * half must have the value 128 (0x80) for each 32 bits compnent + */ +#define BYTE_MUL_SSE2(result, pixelVector, alphaChannel, colorMask, half) \ +{ \ + /* 1. separate the colors in 2 vectors so each color is on 16 bits \ + (in order to be multiplied by the alpha \ + each 32 bit of dstVectorAG are in the form 0x00AA00GG \ + each 32 bit of dstVectorRB are in the form 0x00RR00BB */\ + __m128i pixelVectorAG = _mm_srli_epi16(pixelVector, 8); \ + __m128i pixelVectorRB = _mm_and_si128(pixelVector, colorMask); \ + \ + /* 2. multiply the vectors by the alpha channel */\ + pixelVectorAG = _mm_mullo_epi16(pixelVectorAG, alphaChannel); \ + pixelVectorRB = _mm_mullo_epi16(pixelVectorRB, alphaChannel); \ + \ + /* 3. devide by 255, that's the tricky part. \ + we do it like for BYTE_MUL(), with bit shift: X/255 ~= (X + X/256 + rounding)/256 */ \ + /** so first (X + X/256 + rounding) */\ + pixelVectorRB = _mm_add_epi16(pixelVectorRB, _mm_srli_epi16(pixelVectorRB, 8)); \ + pixelVectorRB = _mm_add_epi16(pixelVectorRB, half); \ + pixelVectorAG = _mm_add_epi16(pixelVectorAG, _mm_srli_epi16(pixelVectorAG, 8)); \ + pixelVectorAG = _mm_add_epi16(pixelVectorAG, half); \ + \ + /** second devide by 256 */\ + pixelVectorRB = _mm_srli_epi16(pixelVectorRB, 8); \ + /** for AG, we could >> 8 to divide followed by << 8 to put the \ + bytes in the correct position. By masking instead, we execute \ + only one instruction */\ + pixelVectorAG = _mm_andnot_si128(colorMask, pixelVectorAG); \ + \ + /* 4. combine the 2 pairs of colors */ \ + result = _mm_or_si128(pixelVectorAG, pixelVectorRB); \ +} + +/* + * Each 32bits components of alphaChannel must be in the form 0x00AA00AA + * oneMinusAlphaChannel must be 255 - alpha for each 32 bits component + * colorMask must have 0x00ff00ff on each 32 bits component + * half must have the value 128 (0x80) for each 32 bits compnent + */ +#define INTERPOLATE_PIXEL_255_SSE2(result, srcVector, dstVector, alphaChannel, oneMinusAlphaChannel, colorMask, half) { \ + /* interpolate AG */\ + __m128i srcVectorAG = _mm_srli_epi16(srcVector, 8); \ + __m128i dstVectorAG = _mm_srli_epi16(dstVector, 8); \ + __m128i srcVectorAGalpha = _mm_mullo_epi16(srcVectorAG, alphaChannel); \ + __m128i dstVectorAGoneMinusAlphalpha = _mm_mullo_epi16(dstVectorAG, oneMinusAlphaChannel); \ + __m128i finalAG = _mm_add_epi16(srcVectorAGalpha, dstVectorAGoneMinusAlphalpha); \ + finalAG = _mm_add_epi16(finalAG, _mm_srli_epi16(finalAG, 8)); \ + finalAG = _mm_add_epi16(finalAG, half); \ + finalAG = _mm_andnot_si128(colorMask, finalAG); \ + \ + /* interpolate RB */\ + __m128i srcVectorRB = _mm_and_si128(srcVector, colorMask); \ + __m128i dstVectorRB = _mm_and_si128(dstVector, colorMask); \ + __m128i srcVectorRBalpha = _mm_mullo_epi16(srcVectorRB, alphaChannel); \ + __m128i dstVectorRBoneMinusAlphalpha = _mm_mullo_epi16(dstVectorRB, oneMinusAlphaChannel); \ + __m128i finalRB = _mm_add_epi16(srcVectorRBalpha, dstVectorRBoneMinusAlphalpha); \ + finalRB = _mm_add_epi16(finalRB, _mm_srli_epi16(finalRB, 8)); \ + finalRB = _mm_add_epi16(finalRB, half); \ + finalRB = _mm_srli_epi16(finalRB, 8); \ + \ + /* combine */\ + result = _mm_or_si128(finalAG, finalRB); \ +} + +// Basically blend src over dst with the const alpha defined as constAlphaVector. +// nullVector, half, one, colorMask are constant accross the whole image/texture, and should be defined as: +//const __m128i nullVector = _mm_set1_epi32(0); +//const __m128i half = _mm_set1_epi16(0x80); +//const __m128i one = _mm_set1_epi16(0xff); +//const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); +//const __m128i alphaMask = _mm_set1_epi32(0xff000000); +// +// The computation being done is: +// result = s + d * (1-alpha) +// with shortcuts if fully opaque or fully transparent. +#define BLEND_SOURCE_OVER_ARGB32_SSE2(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \ + int x = 0; \ + for (; x < length-3; x += 4) { \ + const __m128i srcVector = _mm_loadu_si128((__m128i *)&src[x]); \ + const __m128i srcVectorAlpha = _mm_and_si128(srcVector, alphaMask); \ + if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, alphaMask)) == 0xffff) { \ + /* all opaque */ \ + _mm_storeu_si128((__m128i *)&dst[x], srcVector); \ + } else if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, nullVector)) != 0xffff) { \ + /* not fully transparent */ \ + /* extract the alpha channel on 2 x 16 bits */ \ + /* so we have room for the multiplication */ \ + /* each 32 bits will be in the form 0x00AA00AA */ \ + /* with A being the 1 - alpha */ \ + __m128i alphaChannel = _mm_srli_epi32(srcVector, 24); \ + alphaChannel = _mm_or_si128(alphaChannel, _mm_slli_epi32(alphaChannel, 16)); \ + alphaChannel = _mm_sub_epi16(one, alphaChannel); \ + \ + const __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); \ + __m128i destMultipliedByOneMinusAlpha; \ + BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); \ + \ + /* result = s + d * (1-alpha) */\ + const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); \ + _mm_storeu_si128((__m128i *)&dst[x], result); \ + } \ + } \ + for (; x < length; ++x) { \ + uint s = src[x]; \ + if (s >= 0xff000000) \ + dst[x] = s; \ + else if (s != 0) \ + dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \ + } \ +} + +// Basically blend src over dst with the const alpha defined as constAlphaVector. +// nullVector, half, one, colorMask are constant accross the whole image/texture, and should be defined as: +//const __m128i nullVector = _mm_set1_epi32(0); +//const __m128i half = _mm_set1_epi16(0x80); +//const __m128i one = _mm_set1_epi16(0xff); +//const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); +// +// The computation being done is: +// dest = (s + d * sia) * ca + d * cia +// = s * ca + d * (sia * ca + cia) +// = s * ca + d * (1 - sa*ca) +#define BLEND_SOURCE_OVER_ARGB32_WITH_CONST_ALPHA_SSE2(dst, src, length, nullVector, half, one, colorMask, constAlphaVector) \ +{ \ + int x = 0; \ + for (; x < length-3; x += 4) { \ + __m128i srcVector = _mm_loadu_si128((__m128i *)&src[x]); \ + if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVector, nullVector)) != 0xffff) { \ + BYTE_MUL_SSE2(srcVector, srcVector, constAlphaVector, colorMask, half); \ +\ + __m128i alphaChannel = _mm_srli_epi32(srcVector, 24); \ + alphaChannel = _mm_or_si128(alphaChannel, _mm_slli_epi32(alphaChannel, 16)); \ + alphaChannel = _mm_sub_epi16(one, alphaChannel); \ + \ + const __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); \ + __m128i destMultipliedByOneMinusAlpha; \ + BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); \ + \ + const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); \ + _mm_storeu_si128((__m128i *)&dst[x], result); \ + } \ + } \ + for (; x < length; ++x) { \ + quint32 s = src[x]; \ + if (s != 0) { \ + s = BYTE_MUL(s, const_alpha); \ + dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \ + } \ + } \ +} + +QT_END_NAMESPACE + +#endif // QT_HAVE_SSE2 + +#endif // QDRAWINGPRIMITIVE_SSE2_P_H diff --git a/src/gui/painting/qgraphicssystem.cpp b/src/gui/painting/qgraphicssystem.cpp index 2ea3d33..f06e309 100644 --- a/src/gui/painting/qgraphicssystem.cpp +++ b/src/gui/painting/qgraphicssystem.cpp @@ -50,7 +50,7 @@ #ifdef Q_WS_MAC # include <private/qpixmap_mac_p.h> #endif -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN # include <private/qpixmap_s60_p.h> #endif @@ -71,7 +71,7 @@ QPixmapData *QGraphicsSystem::createDefaultPixmapData(QPixmapData::PixelType typ return new QRasterPixmapData(type); #elif defined(Q_WS_MAC) return new QMacPixmapData(type); -#elif defined(Q_WS_S60) +#elif defined(Q_OS_SYMBIAN) return new QS60PixmapData(type); #elif !defined(Q_WS_QWS) #error QGraphicsSystem::createDefaultPixmapData() not implemented @@ -79,5 +79,9 @@ QPixmapData *QGraphicsSystem::createDefaultPixmapData(QPixmapData::PixelType typ return 0; } +QPixmapData *QGraphicsSystem::createPixmapData(QPixmapData *origin) +{ + return createPixmapData(origin->pixelType()); +} QT_END_NAMESPACE diff --git a/src/gui/painting/qgraphicssystem_p.h b/src/gui/painting/qgraphicssystem_p.h index ddca788..1211505 100644 --- a/src/gui/painting/qgraphicssystem_p.h +++ b/src/gui/painting/qgraphicssystem_p.h @@ -64,6 +64,7 @@ class Q_GUI_EXPORT QGraphicsSystem { public: virtual QPixmapData *createPixmapData(QPixmapData::PixelType type) const = 0; + virtual QPixmapData *createPixmapData(QPixmapData *origin); virtual QWindowSurface *createWindowSurface(QWidget *widget) const = 0; virtual ~QGraphicsSystem() = 0; diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp index 32a8578..3438137 100644 --- a/src/gui/painting/qgraphicssystem_runtime.cpp +++ b/src/gui/painting/qgraphicssystem_runtime.cpp @@ -416,9 +416,9 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name) for (int i = 0; i < m_pixmapDatas.size(); ++i) { QRuntimePixmapData *proxy = m_pixmapDatas.at(i); - QPixmapData *newData = m_graphicsSystem->createPixmapData(proxy->m_data->pixelType()); + QPixmapData *newData = m_graphicsSystem->createPixmapData(proxy->m_data); // ### TODO Optimize. Openvg and s60raster graphics systems could switch internal ARGB32_PRE QImage buffers. - newData->fromImage(proxy->m_data->toImage(), Qt::AutoColor | Qt::OrderedAlphaDither); + newData->fromImage(proxy->m_data->toImage(), Qt::NoOpaqueDetection); delete proxy->m_data; proxy->m_data = newData; proxy->readBackInfo(); diff --git a/src/gui/painting/qgraphicssystem_runtime_p.h b/src/gui/painting/qgraphicssystem_runtime_p.h index 101a8e7..7aab89c 100644 --- a/src/gui/painting/qgraphicssystem_runtime_p.h +++ b/src/gui/painting/qgraphicssystem_runtime_p.h @@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE class QRuntimeGraphicsSystem; -class QRuntimePixmapData : public QPixmapData { +class Q_GUI_EXPORT QRuntimePixmapData : public QPixmapData { public: QRuntimePixmapData(const QRuntimeGraphicsSystem *gs, PixelType type); ~QRuntimePixmapData(); diff --git a/src/gui/painting/qmemrotate.cpp b/src/gui/painting/qmemrotate.cpp index c37aa51..6888bb0 100644 --- a/src/gui/painting/qmemrotate.cpp +++ b/src/gui/painting/qmemrotate.cpp @@ -594,4 +594,55 @@ void Q_GUI_EXPORT qt_memrotate90_gl(const quint32 *src, int srcWidth, int srcHei qt_memrotate90_template(src, srcWidth, srcHeight, srcStride, reinterpret_cast<qrgb_gl_rgba *>(dest), dstStride); } +void qt_memrotate90_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate90((const ushort *)srcPixels, w, h, sbpl, (ushort *)destPixels, dbpl); +} + +void qt_memrotate180_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate180((const ushort *)srcPixels, w, h, sbpl, (ushort *)destPixels, dbpl); +} + +void qt_memrotate270_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate270((const ushort *)srcPixels, w, h, sbpl, (ushort *)destPixels, dbpl); +} + +void qt_memrotate90_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate90((const uint *)srcPixels, w, h, sbpl, (uint *)destPixels, dbpl); +} + +void qt_memrotate180_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate180((const uint *)srcPixels, w, h, sbpl, (uint *)destPixels, dbpl); +} + +void qt_memrotate270_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl) +{ + qt_memrotate270((const uint *)srcPixels, w, h, sbpl, (uint *)destPixels, dbpl); +} + +MemRotateFunc qMemRotateFunctions[QImage::NImageFormats][3] = +// 90, 180, 270 +{ + { 0, 0, 0 }, // Format_Invalid, + { 0, 0, 0 }, // Format_Mono, + { 0, 0, 0 }, // Format_MonoLSB, + { 0, 0, 0 }, // Format_Indexed8, + { qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_RGB32, + { qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_ARGB32, + { qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_ARGB32_Premultiplied, + { qt_memrotate90_16, qt_memrotate180_16, qt_memrotate270_16 }, // Format_RGB16, + { 0, 0, 0 }, // Format_ARGB8565_Premultiplied, + { 0, 0, 0 }, // Format_RGB666, + { 0, 0, 0 }, // Format_ARGB6666_Premultiplied, + { 0, 0, 0 }, // Format_RGB555, + { 0, 0, 0 }, // Format_ARGB8555_Premultiplied, + { 0, 0, 0 }, // Format_RGB888, + { 0, 0, 0 }, // Format_RGB444, + { 0, 0, 0 } // Format_ARGB4444_Premultiplied, +}; + QT_END_NAMESPACE diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index fb93152..6847e37 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -2419,7 +2419,9 @@ void QRasterPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap, cons drawImage(r, image, sr); } } else { - const QImage image = pixmap.toImage(); + QRect clippedSource = sr.toAlignedRect().intersected(pixmap.rect()); + const QImage image = pd->toImage(clippedSource); + QRectF translatedSource = sr.translated(-clippedSource.topLeft()); if (image.depth() == 1) { Q_D(QRasterPaintEngine); QRasterPaintEngineState *s = state(); @@ -2430,10 +2432,10 @@ void QRasterPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap, cons drawBitmap(r.topLeft() + QPointF(s->matrix.dx(), s->matrix.dy()), image, &s->penData); return; } else { - drawImage(r, d->rasterBuffer->colorizeBitmap(image, s->pen.color()), sr); + drawImage(r, d->rasterBuffer->colorizeBitmap(image, s->pen.color()), translatedSource); } } else { - drawImage(r, image, sr); + drawImage(r, image, translatedSource); } } } @@ -2551,23 +2553,6 @@ namespace { return NoRotation; } - template <typename T> void memRotate(RotationType type, const T *srcBase, int w, int h, int sbpl, T *dstBase, int dbpl) - { - switch (type) { - case Rotation90: - qt_memrotate90(srcBase, w, h, sbpl, dstBase, dbpl); - break; - case Rotation180: - qt_memrotate180(srcBase, w, h, sbpl, dstBase, dbpl); - break; - case Rotation270: - qt_memrotate270(srcBase, w, h, sbpl, dstBase, dbpl); - break; - case NoRotation: - break; - } - } - inline bool isPixelAligned(const QRectF &rect) { return QRectF(rect.toRect()) == rect; } @@ -2648,7 +2633,7 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe { RotationType rotationType = qRotationType(s->matrix); - if (rotationType != NoRotation && img.rect().contains(sr.toAlignedRect())) { + if (rotationType != NoRotation && qMemRotateFunctions[d->rasterBuffer->format][rotationType] && img.rect().contains(sr.toAlignedRect())) { QRectF transformedTargetRect = s->matrix.mapRect(r); if ((!(s->renderHints & QPainter::SmoothPixmapTransform) && !(s->renderHints & QPainter::Antialiasing)) @@ -2676,10 +2661,7 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe uint cw = clippedSourceRect.width(); uint ch = clippedSourceRect.height(); - if (d->rasterBuffer->format == QImage::Format_RGB16) - memRotate(rotationType, (quint16 *)srcBase, cw, ch, sbpl, (quint16 *)dstBase, dbpl); - else - memRotate(rotationType, (quint32 *)srcBase, cw, ch, sbpl, (quint32 *)dstBase, dbpl); + qMemRotateFunctions[d->rasterBuffer->format][rotationType](srcBase, cw, ch, sbpl, dstBase, dbpl); return; } @@ -2688,7 +2670,11 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe if (s->matrix.type() > QTransform::TxTranslate || stretch_sr) { - if (s->flags.fast_images) { + QRectF targetBounds = s->matrix.mapRect(r); + bool exceedsPrecision = targetBounds.width() > 0xffff + || targetBounds.height() > 0xffff; + + if (s->flags.fast_images && !exceedsPrecision) { if (s->matrix.type() > QTransform::TxScale) { SrcOverTransformFunc func = qTransformFunctions[d->rasterBuffer->format][img.format()]; if (func && (!clip || clip->hasRectClip)) { diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index a845842..3dca76b 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5990,7 +5990,7 @@ void QPainter::drawText(const QPointF &p, const QString &str, int tf, int justif Q_ASSERT_X(false, Q_FUNC_INFO, "stringToCMap shouldn't fail twice"); } - QTextItemInt gf(glyphs, &d->state->font, fontEngine); + QTextItemInt gf(glyphs, &d->state->font, str.data(), len, fontEngine); drawTextItem(p, gf); return; } @@ -9004,6 +9004,15 @@ void QPainter::drawPixmapFragments(const PixmapFragment *fragments, int fragment if (!d->engine) return; +#ifndef QT_NO_DEBUG + for (int i = 0; i < fragmentCount; ++i) { + QRectF sourceRect(fragments[i].sourceLeft, fragments[i].sourceTop, + fragments[i].width, fragments[i].height); + if (!(QRectF(pixmap.rect()).contains(sourceRect))) + qWarning("QPainter::drawPixmapFragments - the source rect is not contained by the pixmap's rectangle"); + } +#endif + if (d->engine->isExtended()) { d->extended->drawPixmapFragments(fragments, fragmentCount, pixmap, hints); } else { diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index 78553c9..a17b7c1 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -86,9 +86,11 @@ static qreal dot(const QPointF &a, const QPointF &b) return a.x() * b.x() + a.y() * b.y(); } -static QPointF normalize(const QPointF &p) +static void normalize(double &x, double &y) { - return p / qSqrt(p.x() * p.x() + p.y() * p.y()); + double reciprocal = 1 / qSqrt(x * x + y * y); + x *= reciprocal; + y *= reciprocal; } struct QIntersection @@ -1017,8 +1019,8 @@ qreal QWingedEdge::delta(int vertex, int a, int b) const const QPathEdge *ap = edge(a); const QPathEdge *bp = edge(b); - qreal a_angle = ap->angle; - qreal b_angle = bp->angle; + double a_angle = ap->angle; + double b_angle = bp->angle; if (vertex == ap->second) a_angle = ap->invAngle; @@ -1026,7 +1028,7 @@ qreal QWingedEdge::delta(int vertex, int a, int b) const if (vertex == bp->second) b_angle = bp->invAngle; - qreal result = b_angle - a_angle; + double result = b_angle - a_angle; if (result >= 128.) return result - 128.; @@ -1036,26 +1038,6 @@ qreal QWingedEdge::delta(int vertex, int a, int b) const return result; } -static inline QPointF tangentAt(const QWingedEdge &list, int vi, int ei) -{ - const QPathEdge *ep = list.edge(ei); - Q_ASSERT(ep); - - qreal sign; - - if (ep->first == vi) { - sign = 1; - } else { - sign = -1; - } - - const QPointF a = *list.vertex(ep->first); - const QPointF b = *list.vertex(ep->second); - QPointF normal = b - a; - - return normalize(sign * normal); -} - static inline QPointF midPoint(const QWingedEdge &list, int ei) { const QPathEdge *ep = list.edge(ei); @@ -1191,7 +1173,7 @@ static int commonEdge(const QWingedEdge &list, int a, int b) return -1; } -static qreal computeAngle(const QPointF &v) +static double computeAngle(const QPointF &v) { #if 1 if (v.x() == 0) { @@ -1200,15 +1182,17 @@ static qreal computeAngle(const QPointF &v) return v.x() <= 0 ? 32. : 96.; } - QPointF nv = normalize(v); - if (nv.y() < 0) { - if (nv.x() < 0) { // 0 - 32 - return -32. * nv.x(); + double vx = v.x(); + double vy = v.y(); + normalize(vx, vy); + if (vy < 0) { + if (vx < 0) { // 0 - 32 + return -32. * vx; } else { // 96 - 128 - return 128. - 32. * nv.x(); + return 128. - 32. * vx; } } else { // 32 - 96 - return 64. + 32 * nv.x(); + return 64. + 32. * vx; } #else // doesn't seem to be robust enough diff --git a/src/gui/painting/qpathclipper_p.h b/src/gui/painting/qpathclipper_p.h index fab618d..bdad4e1 100644 --- a/src/gui/painting/qpathclipper_p.h +++ b/src/gui/painting/qpathclipper_p.h @@ -148,8 +148,8 @@ public: int first; int second; - qreal angle; - qreal invAngle; + double angle; + double invAngle; int next(Traversal traversal, Direction direction) const; diff --git a/src/gui/s60framework/qs60mainapplication.cpp b/src/gui/s60framework/qs60mainapplication.cpp index 41ac1a8..0f9367e 100644 --- a/src/gui/s60framework/qs60mainapplication.cpp +++ b/src/gui/s60framework/qs60mainapplication.cpp @@ -71,17 +71,17 @@ _LIT(KQtWrapperResourceFile, "\\resource\\apps\\s60main" QT_LIBINFIX_UNICODE L". The QS60MainApplication provides a helper class for use in migrating from existing S60 based applications to Qt based applications. It is - used in the exact same way as the \c CAknApplication class from + used in the exact same way as the \c CEikApplication class from Symbian, but internally provides extensions used by Qt. When modifying old S60 applications that rely on implementing - functions in \c CAknApplication, the class should be modified to - inherit from this class instead of \c CAknApplication. Then the + functions in \c CEikApplication, the class should be modified to + inherit from this class instead of \c CEikApplication. Then the application can choose to override only certain functions. To make Qt use the custom application objects, pass a factory function to \c{QApplication::QApplication(QApplication::QS60MainApplicationFactory, int &, char **)}. - For more information on \c CAknApplication, please see the S60 documentation. + For more information on \c CEikApplication, please see the S60 documentation. Unlike other Qt classes, QS60MainApplication behaves like an S60 class, and can throw Symbian leaves. @@ -136,4 +136,19 @@ TFileName QS60MainApplication::ResourceFileName() const return KNullDesC(); } +void QS60MainApplication::PreDocConstructL() +{ + QS60MainApplicationBase::PreDocConstructL(); +} + +CDictionaryStore *QS60MainApplication::OpenIniFileLC(RFs &aFs) const +{ + return QS60MainApplicationBase::OpenIniFileLC(aFs); +} + +void QS60MainApplication::NewAppServerL(CApaAppServer *&aAppServer) +{ + QS60MainApplicationBase::NewAppServerL(aAppServer); +} + QT_END_NAMESPACE diff --git a/src/gui/s60framework/qs60mainapplication.h b/src/gui/s60framework/qs60mainapplication.h index 997f30f..cb22e68 100644 --- a/src/gui/s60framework/qs60mainapplication.h +++ b/src/gui/s60framework/qs60mainapplication.h @@ -44,9 +44,15 @@ #include <QtCore/qglobal.h> -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN +#ifdef Q_WS_S60 #include <aknapp.h> +typedef CAknApplication QS60MainApplicationBase; +#else +#include <eikapp.h> +typedef CEikApplication QS60MainApplicationBase; +#endif QT_BEGIN_HEADER @@ -54,7 +60,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -class Q_GUI_EXPORT QS60MainApplication : public CAknApplication +class Q_GUI_EXPORT QS60MainApplication : public QS60MainApplicationBase { public: QS60MainApplication(); @@ -65,6 +71,14 @@ public: virtual TFileName ResourceFileName() const; +public: + + virtual void PreDocConstructL(); + + virtual CDictionaryStore *OpenIniFileLC(RFs &aFs) const; + + virtual void NewAppServerL(CApaAppServer *&aAppServer); + protected: virtual CApaDocument *CreateDocumentL(); @@ -74,6 +88,6 @@ QT_END_NAMESPACE QT_END_HEADER -#endif // Q_WS_S60 +#endif // Q_OS_SYMBIAN #endif // QS60MAINAPPLICATION_H diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index ce13de8..40c2d03 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -41,20 +41,25 @@ // INCLUDE FILES #include <exception> +#include <qglobal.h> +#ifdef Q_WS_S60 #include <avkon.hrh> #include <eikmenub.h> #include <eikmenup.h> +#include <avkon.rsg> +#endif #include <barsread.h> #include <qconfig.h> -#if defined(QT_LIBINFIX_UNQUOTED) +#ifdef Q_WS_S60 +# if defined(QT_LIBINFIX_UNQUOTED) // Two level macro needed for proper expansion of libinfix -# define QT_S60MAIN_RSG_2(x) <s60main##x##.rsg> -# define QT_S60MAIN_RSG(x) QT_S60MAIN_RSG_2(x) -# include QT_S60MAIN_RSG(QT_LIBINFIX_UNQUOTED) -#else -# include <s60main.rsg> +# define QT_S60MAIN_RSG_2(x) <s60main##x##.rsg> +# define QT_S60MAIN_RSG(x) QT_S60MAIN_RSG_2(x) +# include QT_S60MAIN_RSG(QT_LIBINFIX_UNQUOTED) +# else +# include <s60main.rsg> +# endif #endif -#include <avkon.rsg> #include "qs60mainappui.h" #include <QtGui/qapplication.h> @@ -115,14 +120,16 @@ void QS60MainAppUi::ConstructL() // ENoAppResourceFile and ENonStandardResourceFile makes UI to work without // resource files in most SDKs. S60 3rd FP1 public seems to require resource file // even these flags are defined - TInt flags = CAknAppUi::EAknEnableSkin - | CAknAppUi::ENoScreenFurniture - | CAknAppUi::ENonStandardResourceFile; + TInt flags = CEikAppUi::ENoScreenFurniture + | CEikAppUi::ENonStandardResourceFile; +#ifdef Q_WS_S60 + flags |= CAknAppUi::EAknEnableSkin; // After 5th Edition S60, native side supports animated wallpapers. // However, there is no support for that feature on Qt side, so indicate to // native UI framework that this application will not support background animations. if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0) flags |= KAknDisableAnimationBackground; +#endif BaseConstructL(flags); } @@ -168,7 +175,7 @@ void QS60MainAppUi::HandleCommandL(TInt command) */ void QS60MainAppUi::HandleResourceChangeL(TInt type) { - CAknAppUi::HandleResourceChangeL(type); + QS60MainAppUiBase::HandleResourceChangeL(type); if (qApp) { QSymbianEvent event(QSymbianEvent::ResourceChangeEvent, type); @@ -185,7 +192,7 @@ void QS60MainAppUi::HandleResourceChangeL(TInt type) * If you override this function, you should call the base class implementation if you do not * handle the event. */ -void QS60MainAppUi::HandleWsEventL(const TWsEvent& wsEvent, CCoeControl *destination) +void QS60MainAppUi::HandleWsEventL(const TWsEvent &wsEvent, CCoeControl *destination) { int result = 0; if (qApp) { @@ -196,7 +203,7 @@ void QS60MainAppUi::HandleWsEventL(const TWsEvent& wsEvent, CCoeControl *destina } if (result <= 0) - CAknAppUi::HandleWsEventL(wsEvent, destination); + QS60MainAppUiBase::HandleWsEventL(wsEvent, destination); } @@ -236,6 +243,7 @@ void QS60MainAppUi::DynInitMenuBarL(TInt /* resourceId */, CEikMenuBar * /* menu */ void QS60MainAppUi::DynInitMenuPaneL(TInt resourceId, CEikMenuPane *menuPane) { +#ifdef Q_WS_S60 if (resourceId == R_QT_WRAPPERAPP_MENU) { if (menuPane->NumberOfItemsInPane() <= 1) QT_TRYCATCH_LEAVING(qt_symbian_show_toplevel(menuPane)); @@ -245,6 +253,9 @@ void QS60MainAppUi::DynInitMenuPaneL(TInt resourceId, CEikMenuPane *menuPane) && resourceId != R_AVKON_MENUPANE_LANGUAGE_DEFAULT) { QT_TRYCATCH_LEAVING(qt_symbian_show_submenu(menuPane, resourceId)); } +#else + QS60MainAppUiBase::DynInitMenuPaneL(resourceId, menuPane); +#endif } /*! @@ -255,16 +266,104 @@ void QS60MainAppUi::DynInitMenuPaneL(TInt resourceId, CEikMenuPane *menuPane) * * If you override this function, you should call the base class implementation as well. */ -void QS60MainAppUi::RestoreMenuL(CCoeControl* menuWindow, TInt resourceId, TMenuType menuType) +void QS60MainAppUi::RestoreMenuL(CCoeControl *menuWindow, TInt resourceId, TMenuType menuType) { +#ifdef Q_WS_S60 if (resourceId >= QT_SYMBIAN_FIRST_MENU_ITEM && resourceId <= QT_SYMBIAN_LAST_MENU_ITEM) { if (menuType == EMenuPane) DynInitMenuPaneL(resourceId, (CEikMenuPane*)menuWindow); else DynInitMenuBarL(resourceId, (CEikMenuBar*)menuWindow); - } else { - CAknAppUi::RestoreMenuL(menuWindow, resourceId, menuType); + } else +#endif + { + QS60MainAppUiBase::RestoreMenuL(menuWindow, resourceId, menuType); } } +void QS60MainAppUi::Exit() +{ + QS60MainAppUiBase::Exit(); +} + +void QS60MainAppUi::SetFadedL(TBool aFaded) +{ + QS60MainAppUiBase::SetFadedL(aFaded); +} + +TRect QS60MainAppUi::ApplicationRect() const +{ + return QS60MainAppUiBase::ApplicationRect(); +} + +void QS60MainAppUi::HandleScreenDeviceChangedL() +{ + QS60MainAppUiBase::HandleScreenDeviceChangedL(); +} + +void QS60MainAppUi::HandleApplicationSpecificEventL(TInt aType, const TWsEvent &aEvent) +{ + QS60MainAppUiBase::HandleApplicationSpecificEventL(aType, aEvent); +} + +TTypeUid::Ptr QS60MainAppUi::MopSupplyObject(TTypeUid aId) +{ + return QS60MainAppUiBase::MopSupplyObject(aId); +} + +void QS60MainAppUi::ProcessCommandL(TInt aCommand) +{ + QS60MainAppUiBase::ProcessCommandL(aCommand); +} + +TErrorHandlerResponse QS60MainAppUi::HandleError (TInt aError, const SExtendedError &aExtErr, TDes &aErrorText, TDes &aContextText) +{ + return QS60MainAppUiBase::HandleError(aError, aExtErr, aErrorText, aContextText); +} + +void QS60MainAppUi::HandleViewDeactivation(const TVwsViewId &aViewIdToBeDeactivated, const TVwsViewId &aNewlyActivatedViewId) +{ + QS60MainAppUiBase::HandleViewDeactivation(aViewIdToBeDeactivated, aNewlyActivatedViewId); +} + +void QS60MainAppUi::PrepareToExit() +{ + QS60MainAppUiBase::PrepareToExit(); +} + +void QS60MainAppUi::HandleTouchPaneSizeChange() +{ + QS60MainAppUiBase::HandleTouchPaneSizeChange(); +} + +void QS60MainAppUi::HandleSystemEventL(const TWsEvent &aEvent) +{ + QS60MainAppUiBase::HandleSystemEventL(aEvent); +} + +void QS60MainAppUi::Reserved_MtsmPosition() +{ + QS60MainAppUiBase::Reserved_MtsmPosition(); +} + +void QS60MainAppUi::Reserved_MtsmObject() +{ + QS60MainAppUiBase::Reserved_MtsmObject(); +} + +void QS60MainAppUi::HandleForegroundEventL(TBool aForeground) +{ + QS60MainAppUiBase::HandleForegroundEventL(aForeground); +} + +#ifndef Q_WS_S60 + +void QS60StubAknAppUi::HandleViewDeactivation(const TVwsViewId &, const TVwsViewId &) {} +void QS60StubAknAppUi::HandleTouchPaneSizeChange() {} +void QS60StubAknAppUi::HandleStatusPaneSizeChange() {} +void QS60StubAknAppUi::Reserved_MtsmPosition() {} +void QS60StubAknAppUi::Reserved_MtsmObject() {} + +#endif + QT_END_NAMESPACE diff --git a/src/gui/s60framework/qs60mainappui.h b/src/gui/s60framework/qs60mainappui.h index dcc72d1..796059f 100644 --- a/src/gui/s60framework/qs60mainappui.h +++ b/src/gui/s60framework/qs60mainappui.h @@ -44,9 +44,55 @@ #include <QtCore/qglobal.h> -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN +#ifdef Q_WS_S60 #include <aknappui.h> +typedef CAknAppUi QS60MainAppUiBase; +#else +#include <eikappui.h> +// these stub classes simulate the structure of CAknAppUi, to help binary compatibility between Qt configured with and without S60/Avkon +class QS60StubAknAppUiBase : public CEikAppUi +{ +private: + int qS60StubAknAppUiBaseSpace[4]; +}; + +class QS60StubMEikStatusPaneObserver +{ +public: + virtual void HandleStatusPaneSizeChange() = 0; +}; + +class QS60StubMAknTouchPaneObserver +{ +public: + virtual void HandleTouchPaneSizeChange() = 0; +}; + +class QS60StubAknAppUi : public QS60StubAknAppUiBase, QS60StubMEikStatusPaneObserver, + public MCoeViewDeactivationObserver, + public QS60StubMAknTouchPaneObserver +{ +public: // MCoeViewDeactivationObserver + virtual void HandleViewDeactivation(const TVwsViewId&, const TVwsViewId &); + +public: // from MAknTouchPaneObserver + virtual void HandleTouchPaneSizeChange(); + +protected: // from MEikStatusPaneObserver + virtual void HandleStatusPaneSizeChange(); + +protected: // from CAknAppUi + virtual void Reserved_MtsmPosition(); + virtual void Reserved_MtsmObject(); + +private: + int qS60StubAknAppUiSpace[4]; +}; + +typedef QS60StubAknAppUi QS60MainAppUiBase; +#endif QT_BEGIN_HEADER @@ -54,7 +100,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -class Q_GUI_EXPORT QS60MainAppUi : public CAknAppUi +class Q_GUI_EXPORT QS60MainAppUi : public QS60MainAppUiBase { public: QS60MainAppUi(); @@ -63,7 +109,7 @@ public: virtual void ConstructL(); - virtual void RestoreMenuL(CCoeControl* menuWindow,TInt resourceId,TMenuType menuType); + virtual void RestoreMenuL(CCoeControl *menuWindow,TInt resourceId,TMenuType menuType); virtual void DynInitMenuBarL(TInt resourceId, CEikMenuBar *menuBar); virtual void DynInitMenuPaneL(TInt resourceId, CEikMenuPane *menuPane); @@ -74,13 +120,32 @@ public: virtual void HandleStatusPaneSizeChange(); protected: - virtual void HandleWsEventL(const TWsEvent& event, CCoeControl* destination); + virtual void HandleWsEventL(const TWsEvent &event, CCoeControl *destination); + +public: + virtual void Exit(); + virtual void SetFadedL(TBool aFaded); + virtual TRect ApplicationRect() const; + virtual void ProcessCommandL(TInt aCommand); + virtual TErrorHandlerResponse HandleError (TInt aError, const SExtendedError &aExtErr, TDes &aErrorText, TDes &aContextText); + virtual void HandleViewDeactivation(const TVwsViewId &aViewIdToBeDeactivated, const TVwsViewId &aNewlyActivatedViewId); + virtual void PrepareToExit(); + virtual void HandleTouchPaneSizeChange(); + +protected: + virtual void HandleScreenDeviceChangedL(); + virtual void HandleApplicationSpecificEventL(TInt aType, const TWsEvent &aEvent); + virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId); + virtual void HandleSystemEventL(const TWsEvent &aEvent); + virtual void Reserved_MtsmPosition(); + virtual void Reserved_MtsmObject(); + virtual void HandleForegroundEventL(TBool aForeground); }; QT_END_NAMESPACE QT_END_HEADER -#endif // Q_WS_S60 +#endif // Q_OS_SYMBIAN #endif // QS60MAINAPPUI_H diff --git a/src/gui/s60framework/qs60maindocument.cpp b/src/gui/s60framework/qs60maindocument.cpp index 487e067..ed33a41 100644 --- a/src/gui/s60framework/qs60maindocument.cpp +++ b/src/gui/s60framework/qs60maindocument.cpp @@ -57,15 +57,15 @@ QT_BEGIN_NAMESPACE The QS60MainDocument provides a helper class for use in migrating from existing S60 based applications to Qt based applications. It is - used in the exact same way as the \c CAknDocument class from + used in the exact same way as the \c CEikDocument class from Symbian, but internally provides extensions used by Qt. When modifying old S60 applications that rely on implementing - functions in \c CAknDocument, the class should be modified to - inherit from this class instead of \c CAknDocument. Then the + functions in \c CEikDocument, the class should be modified to + inherit from this class instead of \c CEikDocument. Then the application can choose to override only certain functions. - For more information on \c CAknDocument, please see the S60 + For more information on \c CEikDocument, please see the S60 documentation. Unlike other Qt classes, QS60MainDocument behaves like an S60 class, @@ -79,8 +79,8 @@ QT_BEGIN_NAMESPACE * * \a mainApplication should contain a pointer to a QS60MainApplication instance. */ -QS60MainDocument::QS60MainDocument(CEikApplication& mainApplication) - : CAknDocument(mainApplication) +QS60MainDocument::QS60MainDocument(CEikApplication &mainApplication) + : QS60MainDocumentBase(mainApplication) { // No implementation required } @@ -105,4 +105,14 @@ CEikAppUi *QS60MainDocument::CreateAppUiL() return (static_cast <CEikAppUi*>(new(ELeave)QS60MainAppUi)); } +CFileStore *QS60MainDocument::OpenFileL(TBool aDoOpen, const TDesC &aFilename, RFs &aFs) +{ + return QS60MainDocumentBase::OpenFileL(aDoOpen, aFilename, aFs); +} + +void QS60MainDocument::OpenFileL(CFileStore *&aFileStore, RFile &aFile) +{ + QS60MainDocumentBase::OpenFileL(aFileStore, aFile); +} + QT_END_NAMESPACE diff --git a/src/gui/s60framework/qs60maindocument.h b/src/gui/s60framework/qs60maindocument.h index 553675f..2f0564f 100644 --- a/src/gui/s60framework/qs60maindocument.h +++ b/src/gui/s60framework/qs60maindocument.h @@ -44,9 +44,15 @@ #include <QtCore/qglobal.h> -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN -#include <AknDoc.h> +#ifdef Q_WS_S60 +#include <akndoc.h> +typedef CAknDocument QS60MainDocumentBase; +#else +#include <eikdoc.h> +typedef CEikDocument QS60MainDocumentBase; +#endif class CEikApplication; @@ -58,7 +64,7 @@ QT_MODULE(Gui) class QS60MainAppUi; -class Q_GUI_EXPORT QS60MainDocument : public CAknDocument +class Q_GUI_EXPORT QS60MainDocument : public QS60MainDocumentBase { public: @@ -69,12 +75,18 @@ public: public: virtual CEikAppUi *CreateAppUiL(); + +public: + + virtual CFileStore *OpenFileL(TBool aDoOpen, const TDesC &aFilename, RFs &aFs); + + virtual void OpenFileL(CFileStore *&aFileStore, RFile &aFile); }; QT_END_NAMESPACE QT_END_HEADER -#endif // Q_WS_S60 +#endif // Q_OS_SYMBIAN #endif // QS60MAINDOCUMENT_H diff --git a/src/gui/s60framework/s60framework.pri b/src/gui/s60framework/s60framework.pri index f9d89dc..edbacc0 100644 --- a/src/gui/s60framework/s60framework.pri +++ b/src/gui/s60framework/s60framework.pri @@ -1,16 +1,20 @@ +contains(QT_CONFIG, s60) { # This block serves the minimalistic resource file for S60 3.1 platforms. # Note there is no way to ifdef S60 version in mmp file, that is why the resource # file is always compiled for WINSCW -minimalAppResource31 = \ - "SOURCEPATH s60framework" \ - "START RESOURCE s60main.rss" \ - "TARGET s60main$${QT_LIBINFIX}" \ - "HEADER" \ - "TARGETPATH /resource/apps" \ - "END" -MMP_RULES += minimalAppResource31 -SYMBIAN_RESOURCES += s60framework/s60main.rss + minimalAppResource31 = \ + "SOURCEPATH s60framework" \ + "START RESOURCE s60main.rss" \ + "TARGET s60main$${QT_LIBINFIX}" \ + "HEADER" \ + "TARGETPATH /resource/apps" \ + "END" + + MMP_RULES += minimalAppResource31 + + SYMBIAN_RESOURCES += s60framework/s60main.rss +} SOURCES += s60framework/qs60mainapplication.cpp \ s60framework/qs60mainappui.cpp \ diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 45bcc00..e28403b 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1765,52 +1765,31 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &optionMenuItem, widget); QRect textRect = subElementRect(SE_ItemViewItemText, &optionMenuItem, widget); - //todo: move the vertical spacing stuff into subElementRect - const int vSpacing = QS60StylePrivate::pixelMetric(PM_LayoutVerticalSpacing); QStyleOptionMenuItem optionCheckBox; //Regardless of checkbox visibility, make room for it, this mirrors native implementation, //where text and icon placement is static regardless of content of menu item. - const int hSpacing = QS60StylePrivate::pixelMetric(PM_LayoutHorizontalSpacing); optionCheckBox.QStyleOptionMenuItem::operator=(*menuItem); optionCheckBox.rect.setWidth(pixelMetric(PM_IndicatorWidth)); optionCheckBox.rect.setHeight(pixelMetric(PM_IndicatorHeight)); + + const int vSpacing = QS60StylePrivate::pixelMetric(PM_LayoutVerticalSpacing); + //The vertical spacing is doubled; it needs one spacing to separate checkbox from + //highlight and then it needs one to separate it whatever is shown after it (text/icon/both). + const int moveByX = optionCheckBox.rect.width() + 2 * vSpacing; optionCheckBox.rect.moveCenter(QPoint( - optionCheckBox.rect.center().x(), + optionCheckBox.rect.center().x() + moveByX >> 1, menuItem->rect.center().y())); - const int moveByX = optionCheckBox.rect.width() + vSpacing + - pixelMetric(PM_DefaultFrameWidth); - if (optionMenuItem.direction == Qt::LeftToRight) { - if (iconRect.isValid()) { - iconRect.translate(moveByX, 0); - iconRect.setWidth(iconRect.width() + vSpacing); - } - if (textRect.isValid()) { - textRect.translate(moveByX, 0); - textRect.setWidth(textRect.width() - moveByX - vSpacing); - } - optionCheckBox.rect.translate(vSpacing + pixelMetric(PM_DefaultFrameWidth), hSpacing >> 1); - } else { - if (textRect.isValid()) - textRect.setWidth(textRect.width() - moveByX); - if (iconRect.isValid()) { - iconRect.setWidth(iconRect.width() + vSpacing); - iconRect.translate(-optionCheckBox.rect.width() - vSpacing, 0); - } + + if (optionMenuItem.direction != Qt::LeftToRight) optionCheckBox.rect.translate(textRect.width() + iconRect.width(), 0); - } + const bool selected = (option->state & State_Selected) && (option->state & State_Enabled); if (selected) { - const int spacing = pixelMetric(PM_DefaultFrameWidth) * 2; - int start; int end; - if (QApplication::layoutDirection() == Qt::LeftToRight) { - start = optionMenuItem.rect.left() + spacing; - end = qMax(textRect.right(), iconRect.right() + spacing); - } else { - start = qMax(spacing, qMin(textRect.left(), iconRect.left() - spacing)); - end = optionMenuItem.rect.right() - spacing; - } + const int spacing = ignoreCheckMark ? (vSpacing + QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth)) : 0; + const int start = optionMenuItem.rect.left() + spacing; + const int end = optionMenuItem.rect.right() - spacing; //-1 adjustment to avoid highlight being on top of possible separator item const QRect highlightRect = QRect( QPoint(start, option->rect.top()), @@ -3025,20 +3004,38 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con pixelMetric(PM_SmallIconSize, opt, widget); ret = menuItem->rect; + QRect checkBoxRect = checkable ? menuItem->rect : QRect(); + if (checkable) { + checkBoxRect.setWidth(pixelMetric(PM_IndicatorWidth)); + checkBoxRect.setHeight(pixelMetric(PM_IndicatorHeight)); + } + + const int vSpacing = QS60StylePrivate::pixelMetric(PM_LayoutVerticalSpacing); + //The vertical spacing is doubled; it needs one spacing to separate checkbox from + //highlight and then it needs one to separate it whatever is shown after it (text/icon/both). + const int moveByX = checkBoxRect.width() + 2 * vSpacing; + if (element == SE_ItemViewItemDecoration) { if (menuItem->icon.isNull()) { ret = QRect(); } else { if (menuItem->direction == Qt::RightToLeft) - ret.translate(ret.width() - indicatorWidth, 0); + ret.translate(ret.width() - indicatorWidth - moveByX, 0); + else + ret.translate(moveByX, 0); ret.setWidth(indicatorWidth); } } else { - if (!menuItem->icon.isNull()) + if (!menuItem->icon.isNull()) { if (menuItem->direction == Qt::LeftToRight) ret.adjust(indicatorWidth, 0, 0, 0); else ret.adjust(0, 0, -indicatorWidth, 0); + } + if (menuItem->direction == Qt::LeftToRight) + ret.adjust(moveByX, 0, 0, 0); + else + ret.adjust(0, 0, -moveByX, 0); // Make room for submenu indicator if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu){ @@ -3116,6 +3113,11 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con case SE_CheckBoxFocusRect: ret = opt->rect; break; + case SE_ProgressBarLabel: + case SE_ProgressBarContents: + case SE_ProgressBarGroove: + ret = opt->rect; + break; default: ret = QCommonStyle::subElementRect(element, opt, widget); } diff --git a/src/gui/styles/qs60style.h b/src/gui/styles/qs60style.h index c878538..f588d9f 100644 --- a/src/gui/styles/qs60style.h +++ b/src/gui/styles/qs60style.h @@ -50,8 +50,6 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -#if !defined(QT_NO_STYLE_S60) - //Public custom pixel metrics values. //These can be used to fetch custom pixel metric value from outside QS60Style. enum { @@ -91,14 +89,14 @@ public: #endif bool event(QEvent *e); -#ifndef Q_WS_S60 +#ifndef Q_OS_SYMBIAN static QStringList partKeys(); static QStringList colorListKeys(); void setS60Theme(const QHash<QString, QPicture> &parts, const QHash<QPair<QString , int>, QColor> &colors); bool loadS60ThemeFromBlob(const QString &blobFile); bool saveS60ThemeToBlob(const QString &blobFile) const; -#endif // !Q_WS_S60 +#endif // !Q_OS_SYMBIAN protected Q_SLOTS: QIcon standardIconImplementation( @@ -113,8 +111,6 @@ private: friend class QApplicationPrivate; }; -#endif // QT_NO_STYLE_S60 - QT_END_NAMESPACE QT_END_HEADER diff --git a/src/gui/styles/qs60style_stub.cpp b/src/gui/styles/qs60style_stub.cpp new file mode 100644 index 0000000..a3a5b9d --- /dev/null +++ b/src/gui/styles/qs60style_stub.cpp @@ -0,0 +1,131 @@ +/**************************************************************************** +** +** 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 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$ +** +****************************************************************************/ + +#include "qs60style.h" +#include "qdebug.h" + +#if defined(QT_NO_STYLE_S60) +QT_BEGIN_NAMESPACE + +QS60Style::QS60Style() +{ + qWarning() << "QS60Style stub created"; +} + +QS60Style::~QS60Style() +{ +} + +void QS60Style::drawComplexControl(ComplexControl , const QStyleOptionComplex *, QPainter *, const QWidget *) const +{ +} + +void QS60Style::drawControl(ControlElement , const QStyleOption *, QPainter *, const QWidget *) const +{ +} + +void QS60Style::drawPrimitive(PrimitiveElement , const QStyleOption *, QPainter *, const QWidget *) const +{ +} + +int QS60Style::pixelMetric(PixelMetric , const QStyleOption *, const QWidget *) const +{ + return 0; +} + +QSize QS60Style::sizeFromContents(ContentsType , const QStyleOption *, const QSize &, const QWidget *) const +{ + return QSize(); +} + +int QS60Style::styleHint(StyleHint , const QStyleOption *, const QWidget *, QStyleHintReturn *) const +{ + return 0; +} + +QRect QS60Style::subControlRect(ComplexControl , const QStyleOptionComplex *, SubControl , const QWidget *) const +{ + return QRect(); +} + +QRect QS60Style::subElementRect(SubElement , const QStyleOption *, const QWidget *) const +{ + return QRect(); +} + +void QS60Style::polish(QWidget *) +{ +} + +void QS60Style::unpolish(QWidget *) +{ +} + +void QS60Style::polish(QApplication *) +{ +} + +void QS60Style::unpolish(QApplication *) +{ +} + +bool QS60Style::event(QEvent *) +{ + return false; +} + +QIcon QS60Style::standardIconImplementation(StandardPixmap , const QStyleOption *, const QWidget *) const +{ + return QIcon(); +} + +void QS60Style::timerEvent(QTimerEvent *) +{ +} + +bool QS60Style::eventFilter(QObject *, QEvent *) +{ + return false; +} + +QT_END_NAMESPACE + +#endif // QT_NO_STYLE_S60 diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp index 67a7b85..8511592 100644 --- a/src/gui/styles/qwindowsvistastyle.cpp +++ b/src/gui/styles/qwindowsvistastyle.cpp @@ -1926,30 +1926,7 @@ QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption return QWindowsStyle::sizeFromContents(type, option, size, widget); QSize sz(size); - - QSize newSize = QWindowsXPStyle::sizeFromContents(type, option, size, widget); switch (type) { - case CT_LineEdit: - case CT_ComboBox: - { - HTHEME theme = pOpenThemeData(0, L"Button"); - MARGINS borderSize; - if (theme) { - int result = pGetThemeMargins(theme, - NULL, - BP_PUSHBUTTON, - PBS_NORMAL, - TMT_CONTENTMARGINS, - NULL, - &borderSize); - if (result == S_OK) { - sz += QSize(borderSize.cxLeftWidth + borderSize.cxRightWidth - 2, - borderSize.cyBottomHeight + borderSize.cyTopHeight - 2); - } - sz += QSize(23, 0); //arrow button - } - } - return sz; case CT_MenuItem: sz = QWindowsXPStyle::sizeFromContents(type, option, size, widget); int minimumHeight; @@ -1990,7 +1967,7 @@ QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption default: break; } - return newSize; + return QWindowsXPStyle::sizeFromContents(type, option, size, widget); } /*! diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp index 8858475..4189c78 100644 --- a/src/gui/styles/qwindowsxpstyle.cpp +++ b/src/gui/styles/qwindowsxpstyle.cpp @@ -3678,7 +3678,9 @@ QSize QWindowsXPStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt sz += QSize(borderSize.cxLeftWidth + borderSize.cxRightWidth - 2, borderSize.cyBottomHeight + borderSize.cyTopHeight - 2); } - sz += QSize(23, 0); //arrow button + const int textMargins = 2*(proxy()->pixelMetric(PM_FocusFrameHMargin) + 1); + sz += QSize(qMax(pixelMetric(QStyle::PM_ScrollBarExtent, option, widget) + + textMargins, 23), 0); //arrow button } } break; diff --git a/src/gui/styles/styles.pri b/src/gui/styles/styles.pri index 0a96272..b22a908 100644 --- a/src/gui/styles/styles.pri +++ b/src/gui/styles/styles.pri @@ -182,5 +182,9 @@ contains( styles, s60 ):contains(QT_CONFIG, s60) { RESOURCES += styles/qstyle_s60_simulated.qrc } } else { + symbian { + HEADERS += styles/qs60style.h + SOURCES += styles/qs60style_stub.cpp + } DEFINES += QT_NO_STYLE_S60 } diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index c229242..3fe98e1 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -1266,6 +1266,15 @@ QFont::StyleHint QFont::styleHint() const \value OldEnglish the font matcher prefers decorative fonts. \value Decorative is a synonym for \c OldEnglish. + \value Monospace the font matcher prefers fonts that map to the + CSS generic font-family 'monospace'. + + \value Fantasy the font matcher prefers fonts that map to the + CSS generic font-family 'fantasy'. + + \value Cursive the font matcher prefers fonts that map to the + CSS generic font-family 'cursive'. + \value System the font matcher prefers system fonts. */ diff --git a/src/gui/text/qfont.h b/src/gui/text/qfont.h index b0e405e..f941d1e 100644 --- a/src/gui/text/qfont.h +++ b/src/gui/text/qfont.h @@ -72,7 +72,10 @@ public: Courier, TypeWriter = Courier, OldEnglish, Decorative = OldEnglish, System, - AnyStyle + AnyStyle, + Cursive, + Monospace, + Fantasy }; enum StyleStrategy { diff --git a/src/gui/text/qfont_mac.cpp b/src/gui/text/qfont_mac.cpp index 93985ab..0bc8ca2 100644 --- a/src/gui/text/qfont_mac.cpp +++ b/src/gui/text/qfont_mac.cpp @@ -136,8 +136,14 @@ QString QFont::defaultFamily() const return QString::fromLatin1("Times New Roman"); case QFont::Courier: return QString::fromLatin1("Courier New"); + case QFont::Monospace: + return QString::fromLatin1("Courier"); case QFont::Decorative: return QString::fromLatin1("Bookman Old Style"); + case QFont::Cursive: + return QString::fromLatin1("Apple Chancery"); + case QFont::Fantasy: + return QString::fromLatin1("Papyrus"); case QFont::Helvetica: case QFont::System: default: diff --git a/src/gui/text/qfont_qws.cpp b/src/gui/text/qfont_qws.cpp index 51af1e1..72f8c37 100644 --- a/src/gui/text/qfont_qws.cpp +++ b/src/gui/text/qfont_qws.cpp @@ -108,6 +108,7 @@ QString QFont::defaultFamily() const case QFont::Times: return QString::fromLatin1("times"); case QFont::Courier: + case QFont::Monospace: return QString::fromLatin1("courier"); case QFont::Decorative: return QString::fromLatin1("old english"); diff --git a/src/gui/text/qfont_win.cpp b/src/gui/text/qfont_win.cpp index a9610f7..fa45ae1 100644 --- a/src/gui/text/qfont_win.cpp +++ b/src/gui/text/qfont_win.cpp @@ -148,9 +148,14 @@ QString QFont::defaultFamily() const case QFont::Times: return QString::fromLatin1("Times New Roman"); case QFont::Courier: + case QFont::Monospace: return QString::fromLatin1("Courier New"); case QFont::Decorative: return QString::fromLatin1("Bookman Old Style"); + case QFont::Cursive: + return QString::fromLatin1("Comic Sans MS"); + case QFont::Fantasy: + return QString::fromLatin1("Impact"); case QFont::Helvetica: return QString::fromLatin1("Arial"); case QFont::System: diff --git a/src/gui/text/qfont_x11.cpp b/src/gui/text/qfont_x11.cpp index 39127dc..92e2326 100644 --- a/src/gui/text/qfont_x11.cpp +++ b/src/gui/text/qfont_x11.cpp @@ -281,6 +281,15 @@ QString QFont::defaultFamily() const case QFont::Courier: return QString::fromLatin1("Courier"); + case QFont::Monospace: + return QString::fromLatin1("Courier New"); + + case QFont::Cursive: + return QString::fromLatin1("Comic Sans MS"); + + case QFont::Fantasy: + return QString::fromLatin1("Impact"); + case QFont::Decorative: return QString::fromLatin1("Old English"); diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h index beeb4cc..d65f13b 100644 --- a/src/gui/text/qfontengine_s60_p.h +++ b/src/gui/text/qfontengine_s60_p.h @@ -54,7 +54,7 @@ // #include "qconfig.h" -#include "qfontengine_p.h" +#include <private/qfontengine_p.h> #include "qsize.h" #include <openfont.h> @@ -134,6 +134,7 @@ public: private: friend class QFontPrivate; + friend class QSymbianVGFontGlyphCache; QFixed glyphAdvance(HB_Glyph glyph) const; CFont *fontWithSize(qreal size) const; diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp index a9caa6b..daa40a1 100644 --- a/src/gui/text/qtextcursor.cpp +++ b/src/gui/text/qtextcursor.cpp @@ -64,7 +64,8 @@ enum { QTextCursorPrivate::QTextCursorPrivate(QTextDocumentPrivate *p) : priv(p), x(0), position(0), anchor(0), adjusted_anchor(0), - currentCharFormat(-1), visualNavigation(false), keepPositionOnInsert(false) + currentCharFormat(-1), visualNavigation(false), keepPositionOnInsert(false), + changed(false) { priv->addCursor(this); } @@ -80,6 +81,7 @@ QTextCursorPrivate::QTextCursorPrivate(const QTextCursorPrivate &rhs) currentCharFormat = rhs.currentCharFormat; visualNavigation = rhs.visualNavigation; keepPositionOnInsert = rhs.keepPositionOnInsert; + changed = rhs.changed; priv->addCursor(this); } diff --git a/src/gui/text/qtextcursor_p.h b/src/gui/text/qtextcursor_p.h index 4e36b95..4b3262f 100644 --- a/src/gui/text/qtextcursor_p.h +++ b/src/gui/text/qtextcursor_p.h @@ -114,6 +114,7 @@ public: int currentCharFormat; uint visualNavigation : 1; uint keepPositionOnInsert : 1; + uint changed : 1; }; QT_END_NAMESPACE diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp index ac735e1..42d6c66 100644 --- a/src/gui/text/qtextdocument.cpp +++ b/src/gui/text/qtextdocument.cpp @@ -583,11 +583,11 @@ void QTextDocument::setDefaultTextOption(const QTextOption &option) void QTextDocument::markContentsDirty(int from, int length) { Q_D(QTextDocument); - if (!d->inContentsChange) - d->beginEditBlock(); d->documentChange(from, length); - if (!d->inContentsChange) - d->endEditBlock(); + if (!d->inContentsChange) { + d->lout->documentChanged(d->docChangeFrom, d->docChangeOldLength, d->docChangeLength); + d->docChangeFrom = -1; + } } /*! diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp index f3cd481..7b3f985 100644 --- a/src/gui/text/qtextdocument_p.cpp +++ b/src/gui/text/qtextdocument_p.cpp @@ -205,6 +205,7 @@ QTextDocumentPrivate::QTextDocumentPrivate() undoEnabled = true; inContentsChange = false; + blockCursorAdjustment = false; defaultTextOption.setTabStop(80); // same as in qtextengine.cpp defaultTextOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); @@ -234,17 +235,17 @@ void QTextDocumentPrivate::init() void QTextDocumentPrivate::clear() { Q_Q(QTextDocument); - for (int i = 0; i < cursors.count(); ++i) { - cursors.at(i)->setPosition(0); - cursors.at(i)->currentCharFormat = -1; - cursors.at(i)->anchor = 0; - cursors.at(i)->adjusted_anchor = 0; + + foreach (QTextCursorPrivate *curs, cursors) { + curs->setPosition(0); + curs->currentCharFormat = -1; + curs->anchor = 0; + curs->adjusted_anchor = 0; } QList<QTextCursorPrivate *>oldCursors = cursors; QT_TRY{ cursors.clear(); - changedCursors.clear(); QMap<int, QTextObject *>::Iterator objectIt = objects.begin(); while (objectIt != objects.end()) { @@ -287,8 +288,8 @@ void QTextDocumentPrivate::clear() QTextDocumentPrivate::~QTextDocumentPrivate() { - for (int i = 0; i < cursors.count(); ++i) - cursors.at(i)->priv = 0; + foreach (QTextCursorPrivate *curs, cursors) + curs->priv = 0; cursors.clear(); undoState = 0; undoEnabled = true; @@ -669,7 +670,14 @@ void QTextDocumentPrivate::remove(int pos, int length, QTextUndoCommand::Operati { if (length == 0) return; + blockCursorAdjustment = true; move(pos, -1, length, op); + blockCursorAdjustment = false; + foreach (QTextCursorPrivate *curs, cursors) { + if (curs->adjustPosition(pos, -length, op) == QTextCursorPrivate::CursorMoved) { + curs->changed = true; + } + } } void QTextDocumentPrivate::setCharFormat(int pos, int length, const QTextCharFormat &newFormat, FormatChangeMode mode) @@ -1221,10 +1229,15 @@ void QTextDocumentPrivate::finishEdit() } } - while (!changedCursors.isEmpty()) { - QTextCursorPrivate *curs = changedCursors.takeFirst(); - emit q->cursorPositionChanged(QTextCursor(curs)); + QList<QTextCursor> changedCursors; + foreach (QTextCursorPrivate *curs, cursors) { + if (curs->changed) { + curs->changed = false; + changedCursors.append(QTextCursor(curs)); + } } + foreach (const QTextCursor &cursor, changedCursors) + emit q->cursorPositionChanged(cursor); contentsChanged(); @@ -1266,11 +1279,13 @@ void QTextDocumentPrivate::adjustDocumentChangesAndCursors(int from, int addedOr if (!editBlock) ++revision; - for (int i = 0; i < cursors.size(); ++i) { - QTextCursorPrivate *curs = cursors.at(i); - if (curs->adjustPosition(from, addedOrRemoved, op) == QTextCursorPrivate::CursorMoved) { - if (!changedCursors.contains(curs)) - changedCursors.append(curs); + if (blockCursorAdjustment) { + ; // postpone, will be called again from QTextDocumentPrivate::remove() + } else { + foreach (QTextCursorPrivate *curs, cursors) { + if (curs->adjustPosition(from, addedOrRemoved, op) == QTextCursorPrivate::CursorMoved) { + curs->changed = true; + } } } @@ -1693,8 +1708,8 @@ bool QTextDocumentPrivate::ensureMaximumBlockCount() void QTextDocumentPrivate::aboutToRemoveCell(int from, int to) { Q_ASSERT(from <= to); - for (int i = 0; i < cursors.size(); ++i) - cursors.at(i)->aboutToRemoveCell(from, to); + foreach (QTextCursorPrivate *curs, cursors) + curs->aboutToRemoveCell(from, to); } QT_END_NAMESPACE diff --git a/src/gui/text/qtextdocument_p.h b/src/gui/text/qtextdocument_p.h index d1bd698..b46d01c 100644 --- a/src/gui/text/qtextdocument_p.h +++ b/src/gui/text/qtextdocument_p.h @@ -277,7 +277,7 @@ public: void documentChange(int from, int length); inline void addCursor(QTextCursorPrivate *c) { cursors.append(c); } - inline void removeCursor(QTextCursorPrivate *c) { cursors.removeAll(c); changedCursors.removeAll(c); } + inline void removeCursor(QTextCursorPrivate *c) { cursors.removeAll(c); } QTextFrame *frameAt(int pos) const; QTextFrame *rootFrame() const; @@ -329,8 +329,7 @@ private: BlockMap blocks; int initialBlockCharFormatIndex; - QList<QTextCursorPrivate*> cursors; - QList<QTextCursorPrivate*> changedCursors; + QList<QTextCursorPrivate *> cursors; QMap<int, QTextObject *> objects; QMap<QUrl, QVariant> resources; QMap<QUrl, QVariant> cachedResources; @@ -346,6 +345,7 @@ public: int maximumBlockCount; uint needsEnsureMaximumBlockCount : 1; uint inContentsChange : 1; + uint blockCursorAdjustment : 1; QSizeF pageSize; QString title; QString url; diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index a79ce2e..e365c8d 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -2700,9 +2700,9 @@ QTextItemInt::QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFo flags |= QTextItem::StrikeOut; } -QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, QFontEngine *fe) +QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars_, int numChars, QFontEngine *fe) : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline), - num_chars(0), chars(0), logClusters(0), f(font), glyphs(g), fontEngine(fe) + num_chars(numChars), chars(chars_), logClusters(0), f(font), glyphs(g), fontEngine(fe) { } diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index 407cf7d..805d242 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -311,7 +311,7 @@ public: logClusters(0), f(0), fontEngine(0) {} QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFormat &format = QTextCharFormat()); - QTextItemInt(const QGlyphLayout &g, QFont *font, QFontEngine *fe); + QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars, int numChars, QFontEngine *fe); /// copy the structure items, adjusting the glyphs arrays to the right subarrays. /// the width of the returned QTextItemInt is not adjusted, for speed reasons diff --git a/src/gui/util/qdesktopservices_s60.cpp b/src/gui/util/qdesktopservices_s60.cpp index a415180..24f6ccf 100644 --- a/src/gui/util/qdesktopservices_s60.cpp +++ b/src/gui/util/qdesktopservices_s60.cpp @@ -39,9 +39,6 @@ ** ****************************************************************************/ -// This flag changes the implementation to use S60 CDcoumentHandler -// instead of apparch when opening the files -#define USE_DOCUMENTHANDLER #include <qcoreapplication.h> #include <qdir.h> @@ -56,10 +53,16 @@ #include <rsendas.h> // RSendAs #include <rsendasmessage.h> // RSendAsMessage +#ifdef Q_WS_S60 +// This flag changes the implementation to use S60 CDcoumentHandler +// instead of apparch when opening the files +#define USE_DOCUMENTHANDLER +#endif + // copied from miutset.h, so we don't get a dependency into the app layer const TUid KUidMsgTypeSMTP = {0x10001028}; // 268439592 -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN # include <pathinfo.h> // PathInfo # ifdef USE_DOCUMENTHANDLER # include <DocumentHandler.h> // CDocumentHandler @@ -264,7 +267,7 @@ static TDriveUnit writableExeDrive() static TPtrC writableDataRoot() { TDriveUnit drive = exeDrive(); -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN switch(drive.operator TInt()){ case EDriveC: return PathInfo::PhoneMemoryRootPath(); @@ -391,19 +394,19 @@ QString QDesktopServices::storageLocation(StandardLocation type) break; case MusicLocation: path.Append(writableDataRoot()); -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN path.Append(PathInfo::SoundsPath()); #endif break; case MoviesLocation: path.Append(writableDataRoot()); -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN path.Append(PathInfo::VideosPath()); #endif break; case PicturesLocation: path.Append(writableDataRoot()); -#ifdef Q_WS_S60 +#ifdef Q_OS_SYMBIAN path.Append(PathInfo::ImagesPath()); #endif break; diff --git a/src/gui/util/util.pri b/src/gui/util/util.pri index be8db93..bea520e 100644 --- a/src/gui/util/util.pri +++ b/src/gui/util/util.pri @@ -43,9 +43,8 @@ embedded { } symbian { - LIBS += -lsendas2 -letext -lapmime + LIBS += -lsendas2 -letext -lapmime -lplatformenv contains(QT_CONFIG, s60) { - LIBS += -lplatformenv contains(CONFIG, is_using_gnupoc) { LIBS += -lcommonui } else { diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index aa4ffce..e8e80b7 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -768,7 +768,7 @@ QAction *QMenuBarPrivate::getNextAction(const int _start, const int increment) c const int start = (_start == -1 && increment == -1) ? actions.count() : _start; const int end = increment == -1 ? 0 : actions.count() - 1; - for (int i = start; start != end;) { + for (int i = start; i != end;) { i += increment; QAction *current = actions.at(i); if (!actionRects.at(i).isNull() && (allowActiveAndDisabled || current->isEnabled())) diff --git a/src/gui/widgets/qmenubar_p.h b/src/gui/widgets/qmenubar_p.h index 82070fe..fc6701c 100644 --- a/src/gui/widgets/qmenubar_p.h +++ b/src/gui/widgets/qmenubar_p.h @@ -269,10 +269,10 @@ public: } *symbian_menubar; static int symbianCommands(int command); +#endif #ifdef QT_SOFTKEYS_ENABLED QAction *menuBarAction; #endif -#endif }; #endif diff --git a/src/imports/folderlistmodel/folderlistmodel.pro b/src/imports/folderlistmodel/folderlistmodel.pro index 49a6baa..c306037 100644 --- a/src/imports/folderlistmodel/folderlistmodel.pro +++ b/src/imports/folderlistmodel/folderlistmodel.pro @@ -8,6 +8,7 @@ SOURCES += qdeclarativefolderlistmodel.cpp plugin.cpp HEADERS += qdeclarativefolderlistmodel.h QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH +else:DESTDIR = . target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$PWD/qmldir @@ -17,7 +18,7 @@ symbian:{ TARGET.UID3 = 0x20021320 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = qmlfolderlistmodelplugin.dll qmldir + importFiles.sources = $$DESTDIR/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH DEPLOYMENT = importFiles diff --git a/src/imports/gestures/gestures.pro b/src/imports/gestures/gestures.pro index 265bbca..8a772da 100644 --- a/src/imports/gestures/gestures.pro +++ b/src/imports/gestures/gestures.pro @@ -8,6 +8,7 @@ SOURCES += qdeclarativegesturearea.cpp plugin.cpp HEADERS += qdeclarativegesturearea_p.h QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH +else:DESTDIR = . target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$PWD/qmldir @@ -17,7 +18,7 @@ symbian:{ TARGET.UID3 = 0x2002131F include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = qmlgesturesplugin.dll qmldir + importFiles.sources = $$DESTDIR/qmlgesturesplugin$${QT_LIBINFIX}.dll qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH DEPLOYMENT = importFiles diff --git a/src/imports/gestures/qdeclarativegesturearea.cpp b/src/imports/gestures/qdeclarativegesturearea.cpp index 22be2f1..243ba0f 100644 --- a/src/imports/gestures/qdeclarativegesturearea.cpp +++ b/src/imports/gestures/qdeclarativegesturearea.cpp @@ -130,7 +130,7 @@ public: GestureArea is an invisible item: it is never painted. - \sa Gesture, MouseArea + \sa MouseArea, {declarative/touchinteraction/gestures}{Gestures example} */ /*! diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro index 91c1b9f..68462e7 100644 --- a/src/imports/particles/particles.pro +++ b/src/imports/particles/particles.pro @@ -12,6 +12,7 @@ HEADERS += \ qdeclarativeparticles_p.h QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH +else:DESTDIR = . target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$PWD/qmldir @@ -21,7 +22,7 @@ symbian:{ TARGET.UID3 = 0x2002131E include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = qmlparticlesplugin.dll qmldir + importFiles.sources = $$DESTDIR/qmlparticlesplugin$${QT_LIBINFIX}.dll qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH DEPLOYMENT = importFiles diff --git a/src/imports/particles/qdeclarativeparticles.cpp b/src/imports/particles/qdeclarativeparticles.cpp index 630c068..8fe8a9f 100644 --- a/src/imports/particles/qdeclarativeparticles.cpp +++ b/src/imports/particles/qdeclarativeparticles.cpp @@ -158,6 +158,11 @@ void QDeclarativeParticleMotion::destroy(QDeclarativeParticle &particle) \brief The ParticleMotionLinear object moves particles linearly. \sa Particles + + This is the default motion, and moves the particles according to the + properties specified in the Particles element. + + It has no further properties. */ /*! @@ -178,6 +183,13 @@ void QDeclarativeParticleMotionLinear::advance(QDeclarativeParticle &p, int inte \since 4.7 \brief The ParticleMotionGravity object moves particles towards a point. + This motion attracts the particles to the specified point with the specified acceleration. + To mimic earth gravity, set yattractor to -6360000 and acceleration to 9.8. + + The defaults are all 0, not earth gravity, and so no motion will occur without setting + at least the acceleration property. + + \sa Particles */ @@ -186,6 +198,7 @@ void QDeclarativeParticleMotionLinear::advance(QDeclarativeParticle &p, int inte \class QDeclarativeParticleMotionGravity \ingroup group_effects \brief The QDeclarativeParticleMotionGravity class moves the particles towards a point. + */ /*! @@ -305,14 +318,14 @@ Rectangle { */ /*! - \qmlproperty real QDeclarativeParticleMotionWander::xvariance - \qmlproperty real QDeclarativeParticleMotionWander::yvariance + \qmlproperty real ParticleMotionWander::xvariance + \qmlproperty real ParticleMotionWander::yvariance These properties set the amount to wander in the x and y directions. */ /*! - \qmlproperty real QDeclarativeParticleMotionWander::pace + \qmlproperty real ParticleMotionWander::pace This property holds how quickly the paricles will move from side to side. */ @@ -437,7 +450,7 @@ public: , lifeSpanDev(1000), fadeInDur(200), fadeOutDur(300) , angle(0), angleDev(0), velocity(0), velocityDev(0), emissionCarry(0.) , addParticleTime(0), addParticleCount(0), lastAdvTime(0) - , motion(0), pendingPixmapCache(false), clock(this) + , motion(0), clock(this) { } @@ -456,7 +469,7 @@ public: void updateOpacity(QDeclarativeParticle &p, int age); QUrl url; - QPixmap image; + QDeclarativePixmap image; int count; int emissionRate; qreal emissionVariance; @@ -475,7 +488,6 @@ public: QDeclarativeParticleMotion *motion; QDeclarativeParticlesPainter *paintItem; - bool pendingPixmapCache; QList<QPair<int, int> > bursts;//countLeft, emissionRate pairs QList<QDeclarativeParticle> particles; @@ -709,9 +721,6 @@ QDeclarativeParticles::QDeclarativeParticles(QDeclarativeItem *parent) QDeclarativeParticles::~QDeclarativeParticles() { - Q_D(QDeclarativeParticles); - if (d->pendingPixmapCache) - QDeclarativePixmapCache::cancel(d->url, this); } /*! @@ -732,10 +741,8 @@ QUrl QDeclarativeParticles::source() const void QDeclarativeParticles::imageLoaded() { Q_D(QDeclarativeParticles); - d->pendingPixmapCache = false; - QString errorString; - if (QDeclarativePixmapCache::get(d->url, &d->image, &errorString)==QDeclarativePixmapReply::Error) - qmlInfo(this) << errorString; + if (d->image.isError()) + qmlInfo(this) << d->image.error(); d->paintItem->updateSize(); d->paintItem->update(); } @@ -747,27 +754,20 @@ void QDeclarativeParticles::setSource(const QUrl &name) if ((d->url.isEmpty() == name.isEmpty()) && name == d->url) return; - if (d->pendingPixmapCache) { - QDeclarativePixmapCache::cancel(d->url, this); - d->pendingPixmapCache = false; - } if (name.isEmpty()) { d->url = name; - d->image = QPixmap(); + d->image.clear(this); d->paintItem->updateSize(); d->paintItem->update(); } else { d->url = name; Q_ASSERT(!name.isRelative()); - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->image, &errorString); - if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url); - connect(reply, SIGNAL(finished()), this, SLOT(imageLoaded())); - d->pendingPixmapCache = true; + d->image.load(qmlEngine(this), d->url); + if (d->image.isLoading()) { + d->image.connectFinished(this, SLOT(imageLoaded())); } else { - if (status == QDeclarativePixmapReply::Error) - qmlInfo(this) << errorString; + if (d->image.isError()) + qmlInfo(this) << d->image.error(); //### unify with imageLoaded d->paintItem->updateSize(); d->paintItem->update(); @@ -1245,7 +1245,7 @@ void QDeclarativeParticles::burst(int count, int emissionRate) void QDeclarativeParticlesPainter::updateSize() { - if (!d->_componentComplete) + if (!d->componentComplete) return; const int parentX = parentItem()->x(); diff --git a/src/network/access/access.pri b/src/network/access/access.pri index 173a087..6a0cd32 100644 --- a/src/network/access/access.pri +++ b/src/network/access/access.pri @@ -1,67 +1,62 @@ # Qt network access module -HEADERS += access/qftp.h \ - access/qhttp.h \ - access/qhttpnetworkheader_p.h \ - access/qhttpnetworkrequest_p.h \ - access/qhttpnetworkreply_p.h \ - access/qhttpnetworkconnection_p.h \ - access/qhttpnetworkconnectionchannel_p.h \ - access/qfilenetworkreply_p.h \ - access/qnetworkaccessmanager.h \ - access/qnetworkaccessmanager_p.h \ - access/qnetworkaccesscache_p.h \ - access/qnetworkaccessbackend_p.h \ - access/qnetworkaccessdatabackend_p.h \ - access/qnetworkaccessdebugpipebackend_p.h \ - access/qnetworkaccesshttpbackend_p.h \ - access/qnetworkaccessfilebackend_p.h \ - access/qnetworkaccesscachebackend_p.h \ - access/qnetworkaccessftpbackend_p.h \ - access/qnetworkcookie.h \ - access/qnetworkcookie_p.h \ - access/qnetworkcookiejar.h \ - access/qnetworkcookiejar_p.h \ - access/qnetworkrequest.h \ - access/qnetworkrequest_p.h \ - access/qnetworkreply.h \ - access/qnetworkreply_p.h \ - access/qnetworkreplyimpl_p.h \ - access/qabstractnetworkcache_p.h \ - access/qabstractnetworkcache.h \ - access/qnetworkdiskcache_p.h \ - access/qnetworkdiskcache.h +HEADERS += \ + access/qftp.h \ + access/qhttp.h \ + access/qhttpnetworkheader_p.h \ + access/qhttpnetworkrequest_p.h \ + access/qhttpnetworkreply_p.h \ + access/qhttpnetworkconnection_p.h \ + access/qhttpnetworkconnectionchannel_p.h \ + access/qfilenetworkreply_p.h \ + access/qnetworkaccessmanager.h \ + access/qnetworkaccessmanager_p.h \ + access/qnetworkaccesscache_p.h \ + access/qnetworkaccessbackend_p.h \ + access/qnetworkaccessdatabackend_p.h \ + access/qnetworkaccessdebugpipebackend_p.h \ + access/qnetworkaccesshttpbackend_p.h \ + access/qnetworkaccessfilebackend_p.h \ + access/qnetworkaccesscachebackend_p.h \ + access/qnetworkaccessftpbackend_p.h \ + access/qnetworkcookie.h \ + access/qnetworkcookie_p.h \ + access/qnetworkcookiejar.h \ + access/qnetworkcookiejar_p.h \ + access/qnetworkrequest.h \ + access/qnetworkrequest_p.h \ + access/qnetworkreply.h \ + access/qnetworkreply_p.h \ + access/qnetworkreplyimpl_p.h \ + access/qabstractnetworkcache_p.h \ + access/qabstractnetworkcache.h \ + access/qnetworkdiskcache_p.h \ + access/qnetworkdiskcache.h -SOURCES += access/qftp.cpp \ - access/qhttp.cpp \ - access/qhttpnetworkheader.cpp \ - access/qhttpnetworkrequest.cpp \ - access/qhttpnetworkreply.cpp \ - access/qhttpnetworkconnection.cpp \ - access/qhttpnetworkconnectionchannel.cpp \ - access/qfilenetworkreply.cpp \ - access/qnetworkaccessmanager.cpp \ - access/qnetworkaccesscache.cpp \ - access/qnetworkaccessbackend.cpp \ - access/qnetworkaccessdatabackend.cpp \ - access/qnetworkaccessdebugpipebackend.cpp \ - access/qnetworkaccessfilebackend.cpp \ - access/qnetworkaccesscachebackend.cpp \ - access/qnetworkaccessftpbackend.cpp \ - access/qnetworkaccesshttpbackend.cpp \ - access/qnetworkcookie.cpp \ - access/qnetworkcookiejar.cpp \ - access/qnetworkrequest.cpp \ - access/qnetworkreply.cpp \ - access/qnetworkreplyimpl.cpp \ - access/qabstractnetworkcache.cpp \ - access/qnetworkdiskcache.cpp +SOURCES += \ + access/qftp.cpp \ + access/qhttp.cpp \ + access/qhttpnetworkheader.cpp \ + access/qhttpnetworkrequest.cpp \ + access/qhttpnetworkreply.cpp \ + access/qhttpnetworkconnection.cpp \ + access/qhttpnetworkconnectionchannel.cpp \ + access/qfilenetworkreply.cpp \ + access/qnetworkaccessmanager.cpp \ + access/qnetworkaccesscache.cpp \ + access/qnetworkaccessbackend.cpp \ + access/qnetworkaccessdatabackend.cpp \ + access/qnetworkaccessdebugpipebackend.cpp \ + access/qnetworkaccessfilebackend.cpp \ + access/qnetworkaccesscachebackend.cpp \ + access/qnetworkaccessftpbackend.cpp \ + access/qnetworkaccesshttpbackend.cpp \ + access/qnetworkcookie.cpp \ + access/qnetworkcookiejar.cpp \ + access/qnetworkrequest.cpp \ + access/qnetworkreply.cpp \ + access/qnetworkreplyimpl.cpp \ + access/qabstractnetworkcache.cpp \ + access/qnetworkdiskcache.cpp -#zlib support -contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/zlib -} else:!contains(QT_CONFIG, no-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} +include($$PWD/../../3rdparty/zlib_dependency.pri) diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 911eadc..bccfec1 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -215,7 +215,7 @@ QT_BEGIN_NAMESPACE \since 4.7 - \value AuthenticationReuseControlAttribute + \value AuthenticationReuseAttribute Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic) Indicates whether to use cached authorization credentials in the request, if available. If this is set to QNetworkRequest::Manual and the authentication diff --git a/src/network/kernel/qhostaddress.cpp b/src/network/kernel/qhostaddress.cpp index 5ae3acc..0bacf90 100644 --- a/src/network/kernel/qhostaddress.cpp +++ b/src/network/kernel/qhostaddress.cpp @@ -428,9 +428,9 @@ void QNetmaskAddress::setPrefixLength(QAbstractSocket::NetworkLayerProtocol prot QHostAddress is normally used with the QTcpSocket, QTcpServer, and QUdpSocket to connect to a host or to set up a server. - A host address is set with setAddress(), checked for its type - using isIPv4Address() or isIPv6Address(), and retrieved with - toIPv4Address(), toIPv6Address(), or toString(). + A host address is set with setAddress(), and retrieved with + toIPv4Address(), toIPv6Address(), or toString(). You can check the + type with protocol(). \note Please note that QHostAddress does not do DNS lookups. QHostInfo is needed for that. @@ -679,7 +679,8 @@ void QHostAddress::setAddress(const struct sockaddr *sockaddr) For example, if the address is 127.0.0.1, the returned value is 2130706433 (i.e. 0x7f000001). - This value is only valid if isIp4Addr() returns true. + This value is only valid if the Protocol() is + \l{QAbstractSocket::}{IPv4Protocol}. \sa toString() */ @@ -704,7 +705,8 @@ QAbstractSocket::NetworkLayerProtocol QHostAddress::protocol() const \snippet doc/src/snippets/code/src_network_kernel_qhostaddress.cpp 0 - This value is only valid if isIPv6Address() returns true. + This value is only valid if the protocol() is + \l{QAbstractSocket::}{IPv6Protocol}. \sa toString() */ diff --git a/src/network/kernel/qnetworkproxy_win.cpp b/src/network/kernel/qnetworkproxy_win.cpp index e801738..537107e 100644 --- a/src/network/kernel/qnetworkproxy_win.cpp +++ b/src/network/kernel/qnetworkproxy_win.cpp @@ -100,6 +100,10 @@ typedef struct { #define WINHTTP_NO_PROXY_NAME NULL #define WINHTTP_NO_PROXY_BYPASS NULL +#define WINHTTP_ERROR_BASE 12000 +#define ERROR_WINHTTP_LOGIN_FAILURE (WINHTTP_ERROR_BASE + 15) +#define ERROR_WINHTTP_AUTODETECTION_FAILED (WINHTTP_ERROR_BASE + 180) + QT_BEGIN_NAMESPACE typedef BOOL (WINAPI * PtrWinHttpGetProxyForUrl)(HINTERNET, LPCWSTR, WINHTTP_AUTOPROXY_OPTIONS*, WINHTTP_PROXY_INFO*); @@ -320,7 +324,7 @@ void QWindowsSystemProxy::init() isAutoConfig = true; memset(&autoProxyOptions, 0, sizeof autoProxyOptions); - autoProxyOptions.fAutoLogonIfChallenged = true; + autoProxyOptions.fAutoLogonIfChallenged = false; if (ieProxyConfig.fAutoDetect) { autoProxyOptions.dwFlags = WINHTTP_AUTOPROXY_AUTO_DETECT; autoProxyOptions.dwAutoDetectFlags = WINHTTP_AUTO_DETECT_TYPE_DHCP | @@ -377,10 +381,26 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro // change the scheme to https, maybe it'll work url.setScheme(QLatin1String("https")); } - if (ptrWinHttpGetProxyForUrl(sp->hHttpSession, - (LPCWSTR)url.toString().utf16(), - &sp->autoProxyOptions, - &proxyInfo)) { + + bool getProxySucceeded = ptrWinHttpGetProxyForUrl(sp->hHttpSession, + (LPCWSTR)url.toString().utf16(), + &sp->autoProxyOptions, + &proxyInfo); + DWORD getProxyError = GetLastError(); + + if (!getProxySucceeded + && (ERROR_WINHTTP_LOGIN_FAILURE == getProxyError)) { + // We first tried without AutoLogon, because this might prevent caching the result. + // But now we've to enable it (http://msdn.microsoft.com/en-us/library/aa383153%28v=VS.85%29.aspx) + sp->autoProxyOptions.fAutoLogonIfChallenged = TRUE; + getProxySucceeded = ptrWinHttpGetProxyForUrl(sp->hHttpSession, + (LPCWSTR)url.toString().utf16(), + &sp->autoProxyOptions, + &proxyInfo); + getProxyError = GetLastError(); + } + + if (getProxySucceeded) { // yes, we got a config for this URL QString proxyBypass = QString::fromWCharArray(proxyInfo.lpszProxyBypass); QStringList proxyServerList = splitSpaceSemicolon(QString::fromWCharArray(proxyInfo.lpszProxy)); @@ -395,6 +415,13 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro } // GetProxyForUrl failed + + if (ERROR_WINHTTP_AUTODETECTION_FAILED == getProxyError) { + //No config file could be retrieved on the network. + //Don't search for it next time again. + sp->isAutoConfig = false; + } + return sp->defaultResult; } diff --git a/src/network/network.pro b/src/network/network.pro index 8582d8a..5e33080 100644 --- a/src/network/network.pro +++ b/src/network/network.pro @@ -27,5 +27,20 @@ QMAKE_LIBS += $$QMAKE_LIBS_NETWORK symbian { TARGET.UID3=0x2001B2DE - LIBS += -lesock -linsock + LIBS += -lesock -linsock -lcertstore -lefsrv -lctframework + + # Partial upgrade SIS file + vendorinfo = \ + "; Localised Vendor name" \ + "%{\"Nokia, Qt\"}" \ + " " \ + "; Unique Vendor name" \ + ":\"Nokia, Qt\"" \ + " " + pu_header = "; Partial upgrade package for testing QtGui changes without reinstalling everything" \ + "$${LITERAL_HASH}{\"Qt network\"}, (0x2001E61C), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU" + partial_upgrade.pkg_prerules = pu_header vendorinfo + partial_upgrade.sources = $$QMAKE_LIBDIR_QT/QtNetwork.dll + partial_upgrade.path = c:/sys/bin + DEPLOYMENT = partial_upgrade $$DEPLOYMENT } diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 30428ff..1d794ae 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -68,6 +68,8 @@ PtrCertOpenSystemStoreW QSslSocketPrivate::ptrCertOpenSystemStoreW = 0; PtrCertFindCertificateInStore QSslSocketPrivate::ptrCertFindCertificateInStore = 0; PtrCertCloseStore QSslSocketPrivate::ptrCertCloseStore = 0; +#elif defined(Q_OS_SYMBIAN) +#include <QtCore/private/qcore_symbian_p.h> #endif QT_BEGIN_NAMESPACE @@ -197,7 +199,7 @@ QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *ciph ciph.d->protocol = QSsl::SslV2; else if (protoString == QLatin1String("TLSv1")) ciph.d->protocol = QSsl::TlsV1; - + if (descriptionList.at(2).startsWith(QLatin1String("Kx="))) ciph.d->keyExchangeMethod = descriptionList.at(2).mid(3); if (descriptionList.at(3).startsWith(QLatin1String("Au="))) @@ -365,7 +367,7 @@ init_context: // Set verification depth. if (configuration.peerVerifyDepth != 0) q_SSL_CTX_set_verify_depth(ctx, configuration.peerVerifyDepth); - + // Create and initialize SSL session if (!(ssl = q_SSL_new(ctx))) { // ### Bad error code @@ -515,9 +517,15 @@ void QSslSocketPrivate::ensureInitialized() #elif defined(Q_OS_WIN) HINSTANCE hLib = LoadLibraryW(L"Crypt32"); if (hLib) { +#if defined(Q_OS_WINCE) + ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, L"CertOpenStore"); + ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, L"CertFindCertificateInStore"); + ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, L"CertCloseStore"); +#else ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); +#endif if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) qWarning("could not resolve symbols in crypt32 library"); // should never happen } else { @@ -559,6 +567,124 @@ void QSslSocketPrivate::resetDefaultCiphers() setDefaultCiphers(ciphers); } +#if defined(Q_OS_SYMBIAN) + +QCertificateRetriever::QCertificateRetriever(QCertificateConsumer* parent) + : CActive(EPriorityStandard) + , certStore(0) + , certFilter(0) + , consumer(parent) + , currentCertificateIndex(0) + , certDescriptor(0, 0) +{ + CActiveScheduler::Add(this); + QT_TRAP_THROWING(certStore = CUnifiedCertStore::NewL(qt_s60GetRFs(), EFalse)); + QT_TRAP_THROWING(certFilter = CCertAttributeFilter::NewL()); + certFilter->SetFormat(EX509Certificate); +} + +QCertificateRetriever::~QCertificateRetriever() +{ + delete certFilter; + delete certStore; + Cancel(); +} + +void QCertificateRetriever::fetch() +{ + certStore->Initialize(iStatus); + state = Initializing; + SetActive(); +} + +void QCertificateRetriever::list() +{ + certStore->List(certs, *certFilter, iStatus); + state = Listing; + SetActive(); +} + +void QCertificateRetriever::retrieveNextCertificate() +{ + CCTCertInfo* cert = certs[currentCertificateIndex]; + currentCertificate.resize(cert->Size()); + certDescriptor.Set((TUint8*)currentCertificate.data(), 0, currentCertificate.size()); + certStore->Retrieve(*cert, certDescriptor, iStatus); + state = RetrievingCertificates; + SetActive(); +} + +void QCertificateRetriever::RunL() +{ + QT_TRYCATCH_LEAVING(run()); +} + +void QCertificateRetriever::run() +{ + switch (state) { + case Initializing: + list(); + break; + case Listing: + currentCertificateIndex = 0; + retrieveNextCertificate(); + break; + case RetrievingCertificates: + consumer->addEncodedCertificate(currentCertificate); + currentCertificate = QByteArray(); + + currentCertificateIndex++; + + if (currentCertificateIndex < certs.Count()) + retrieveNextCertificate(); + else + consumer->finish(); + break; + } +} + +void QCertificateRetriever::DoCancel() +{ + switch (state) { + case Initializing: + certStore->CancelInitialize(); + break; + case Listing: + certStore->CancelList(); + break; + case RetrievingCertificates: + certStore->CancelRetrieve(); + break; + } +} + +QCertificateConsumer::QCertificateConsumer(QObject* parent) + : QObject(parent) + , retriever(0) +{ +} + +QCertificateConsumer::~QCertificateConsumer() +{ + delete retriever; +} + +void QCertificateConsumer::finish() +{ + delete retriever; + retriever = 0; + emit finished(); +} + +void QCertificateConsumer::start() +{ + retriever = new QCertificateRetriever(this); + Q_CHECK_PTR(retriever); + retriever->fetch(); +} + +#endif // defined(Q_OS_SYMBIAN) + QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() { ensureInitialized(); @@ -601,7 +727,15 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() #elif defined(Q_OS_WIN) if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) { HCERTSTORE hSystemStore; +#if defined(Q_OS_WINCE) + hSystemStore = ptrCertOpenSystemStoreW(CERT_STORE_PROV_SYSTEM_W, + 0, + 0, + CERT_STORE_NO_CRYPT_RELEASE_FLAG|CERT_SYSTEM_STORE_CURRENT_USER, + L"ROOT"); +#else hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT"); +#endif if(hSystemStore) { PCCERT_CONTEXT pc = NULL; while(1) { @@ -615,19 +749,35 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() ptrCertCloseStore(hSystemStore, 0); } } -#elif defined(Q_OS_AIX) - systemCerts.append(QSslCertificate::fromPath(QLatin1String("/var/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); -#elif defined(Q_OS_SOLARIS) - systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); -#elif defined(Q_OS_HPUX) - systemCerts.append(QSslCertificate::fromPath(QLatin1String("/opt/openssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); -#elif defined(Q_OS_LINUX) +#elif defined(Q_OS_UNIX) + systemCerts.append(QSslCertificate::fromPath(QLatin1String("/var/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // AIX + systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Solaris + systemCerts.append(QSslCertificate::fromPath(QLatin1String("/opt/openssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // HP-UX systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // (K)ubuntu, OpenSUSE, Mandriva, ... systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/lib/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Gentoo, Mandrake systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/share/ssl/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Centos, Redhat, SuSE systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Normal OpenSSL Tarball +#elif defined(Q_OS_SYMBIAN) + QThread* certThread = new QThread; + + QCertificateConsumer *consumer = new QCertificateConsumer(); + consumer->moveToThread(certThread); + QObject::connect(certThread, SIGNAL(started()), consumer, SLOT(start())); + QObject::connect(consumer, SIGNAL(finished()), certThread, SLOT(quit()), Qt::DirectConnection); + + certThread->start(); + certThread->wait(); + foreach (const QByteArray &encodedCert, consumer->encodedCertificates()) { + QSslCertificate cert(encodedCert, QSsl::Der); + if (!cert.isNull()) + systemCerts.append(cert); + } + + delete consumer; + delete certThread; #endif + return systemCerts; } @@ -673,7 +823,7 @@ void QSslSocketBackendPrivate::transmit() bool transmitting; do { transmitting = false; - + // If the connection is secure, we can transfer data from the write // buffer (in plain text) to the write BIO through SSL_write. if (connectionEncrypted && !writeBuffer.isEmpty()) { diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h index 3c08757..987dfae 100644 --- a/src/network/ssl/qsslsocket_openssl_p.h +++ b/src/network/ssl/qsslsocket_openssl_p.h @@ -118,6 +118,71 @@ public: static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); }; +#if defined(Q_OS_SYMBIAN) +#include <unifiedcertstore.h> // link against certstore.lib +#include <ccertattributefilter.h> // link against ctframework.lib + +class QCertificateRetriever; + +class QCertificateConsumer : public QObject +{ + Q_OBJECT +public: + QCertificateConsumer(QObject* parent = 0); + ~QCertificateConsumer(); + + void finish(); + + void addEncodedCertificate(const QByteArray& certificate) + { certificates.append(certificate); } + QList<QByteArray> encodedCertificates() const { return certificates; } + +public slots: + void start(); + +signals: + void finished(); + +private: + QList<QByteArray> certificates; + QCertificateRetriever *retriever; +}; + + +class QCertificateRetriever : public CActive +{ +public: + QCertificateRetriever(QCertificateConsumer* consumer); + ~QCertificateRetriever(); + + void fetch(); + +private: + virtual void RunL(); + virtual void DoCancel(); + + void run(); + void list(); + void retrieveNextCertificate(); + + enum { + Initializing, + Listing, + RetrievingCertificates + } state; + + CUnifiedCertStore* certStore; + RMPointerArray<CCTCertInfo> certs; + CCertAttributeFilter* certFilter; + QCertificateConsumer* consumer; + int currentCertificateIndex; + QByteArray currentCertificate; + TPtr8 certDescriptor; +}; + +#endif + + QT_END_NAMESPACE #endif diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h index 09775bc..72b3ef7 100644 --- a/src/network/ssl/qsslsocket_p.h +++ b/src/network/ssl/qsslsocket_p.h @@ -77,7 +77,11 @@ QT_BEGIN_NAMESPACE #ifndef HCRYPTPROV_LEGACY #define HCRYPTPROV_LEGACY HCRYPTPROV #endif +#if defined(Q_OS_WINCE) + typedef HCERTSTORE (WINAPI *PtrCertOpenSystemStoreW)(LPCSTR, DWORD, HCRYPTPROV_LEGACY, DWORD, const void*); +#else typedef HCERTSTORE (WINAPI *PtrCertOpenSystemStoreW)(HCRYPTPROV_LEGACY, LPCWSTR); +#endif typedef PCCERT_CONTEXT (WINAPI *PtrCertFindCertificateInStore)(HCERTSTORE, DWORD, DWORD, DWORD, const void*, PCCERT_CONTEXT); typedef BOOL (WINAPI *PtrCertCloseStore)(HCERTSTORE, DWORD); #endif diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp index 9ce5d55..53a2f3a 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp @@ -286,11 +286,6 @@ void QGLTextureGlyphCache::fillTexture(const Coord &c, glyph_t glyph) } } -int QGLTextureGlyphCache::glyphMargin() const -{ - return 1; -} - int QGLTextureGlyphCache::glyphPadding() const { return 1; diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h index 66aed91..2ae3a64 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h @@ -107,7 +107,6 @@ public: virtual void createTextureData(int width, int height); virtual void resizeTextureData(int width, int height); virtual void fillTexture(const Coord &c, glyph_t glyph); - virtual int glyphMargin() const; virtual int glyphPadding() const; inline GLuint texture() const { diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 05dae60..c625c27 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -2102,6 +2102,16 @@ void QGLContextPrivate::syncGlState() } #undef ctx +#ifdef QT_NO_EGL +void QGLContextPrivate::swapRegion(const QRegion *) +{ + static bool firstWarning = true; + if (firstWarning) { + qWarning() << "::swapRegion called but not supported!"; + firstWarning = false; + } +} +#endif /*! \overload @@ -2246,6 +2256,13 @@ static void convertToGLFormatHelper(QImage &dst, const QImage &img, GLenum textu } } +#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_QWS) +QGLExtensionFuncs& QGLContextPrivate::extensionFuncs(const QGLContext *) +{ + return qt_extensionFuncs; +} +#endif + QImage QGLContextPrivate::convertToGLFormat(const QImage &image, bool force_premul, GLenum texture_format) { @@ -2357,9 +2374,6 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G && target == GL_TEXTURE_2D && (options & QGLContext::MipmapBindOption)) { -#ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - generating mipmaps (%d ms)\n", time.elapsed()); -#endif #if !defined(QT_OPENGL_ES_2) glHint(GL_GENERATE_MIPMAP_HINT_SGIS, GL_NICEST); #ifndef QT_OPENGL_ES @@ -2373,6 +2387,9 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G #endif glTexParameterf(target, GL_TEXTURE_MIN_FILTER, options & QGLContext::LinearFilteringBindOption ? GL_LINEAR_MIPMAP_LINEAR : GL_NEAREST_MIPMAP_NEAREST); +#ifdef QGL_BIND_TEXTURE_DEBUG + printf(" - generating mipmaps (%d ms)\n", time.elapsed()); +#endif } else { glTexParameterf(target, GL_TEXTURE_MIN_FILTER, filtering); } @@ -2397,7 +2414,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G if (premul) { img = img.convertToFormat(target_format = QImage::Format_ARGB32_Premultiplied); #ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - converting ARGB32 -> ARGB32_Premultiplied (%d ms) \n", time.elapsed()); + printf(" - converted ARGB32 -> ARGB32_Premultiplied (%d ms) \n", time.elapsed()); #endif } break; @@ -2405,7 +2422,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G if (!premul) { img = img.convertToFormat(target_format = QImage::Format_ARGB32); #ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - converting ARGB32_Premultiplied -> ARGB32 (%d ms)\n", time.elapsed()); + printf(" - converted ARGB32_Premultiplied -> ARGB32 (%d ms)\n", time.elapsed()); #endif } break; @@ -2422,20 +2439,17 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G ? QImage::Format_ARGB32_Premultiplied : QImage::Format_ARGB32); #ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - converting to 32-bit alpha format (%d ms)\n", time.elapsed()); + printf(" - converted to 32-bit alpha format (%d ms)\n", time.elapsed()); #endif } else { img = img.convertToFormat(QImage::Format_RGB32); #ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - converting to 32-bit (%d ms)\n", time.elapsed()); + printf(" - converted to 32-bit (%d ms)\n", time.elapsed()); #endif } } if (options & QGLContext::InvertedYBindOption) { -#ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - flipping bits over y (%d ms)\n", time.elapsed()); -#endif if (img.isDetached()) { int ipl = img.bytesPerLine() / 4; int h = img.height(); @@ -2452,17 +2466,20 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G // data twice. This version should only do it once. img = img.mirrored(); } +#ifdef QGL_BIND_TEXTURE_DEBUG + printf(" - flipped bits over y (%d ms)\n", time.elapsed()); +#endif } if (externalFormat == GL_RGBA) { -#ifdef QGL_BIND_TEXTURE_DEBUG - printf(" - doing byte swapping (%d ms)\n", time.elapsed()); -#endif // The only case where we end up with a depth different from // 32 in the switch above is for the RGB16 case, where we set // the format to GL_RGB Q_ASSERT(img.depth() == 32); qgl_byteSwapImage(img, pixel_type); +#ifdef QGL_BIND_TEXTURE_DEBUG + printf(" - did byte swapping (%d ms)\n", time.elapsed()); +#endif } #ifdef QT_OPENGL_ES // OpenGL/ES requires that the internal and external formats be @@ -2491,7 +2508,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G #ifdef QGL_BIND_TEXTURE_DEBUG static int totalUploadTime = 0; totalUploadTime += time.elapsed(); - printf(" - upload done in (%d ms) time=%d\n", time.elapsed(), totalUploadTime); + printf(" - upload done in %d ms, (accumulated: %d ms)\n", time.elapsed(), totalUploadTime); #endif @@ -5166,6 +5183,8 @@ QGLExtensions::Extensions QGLExtensions::currentContextExtensions() glExtensions |= NVFloatBuffer; if (extensions.match("GL_ARB_pixel_buffer_object")) glExtensions |= PixelBufferObject; + if (extensions.match("GL_IMG_texture_format_BGRA8888")) + glExtensions |= BGRATextureFormat; #if defined(QT_OPENGL_ES_2) glExtensions |= FramebufferObject; glExtensions |= GenerateMipmap; diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp index 0a19531..3763926 100644 --- a/src/opengl/qgl_egl.cpp +++ b/src/opengl/qgl_egl.cpp @@ -138,7 +138,7 @@ void qt_glformat_from_eglconfig(QGLFormat& format, const EGLConfig config) format.setDepthBufferSize(depthSize); format.setStencilBufferSize(stencilSize); format.setSamples(sampleCount); - format.setPlane(level + 1); // EGL calls level 0 "normal" whereas Qt calls 1 "normal" + format.setPlane(level); format.setDirectRendering(true); // All EGL contexts are direct-rendered format.setRgba(true); // EGL doesn't support colour index rendering format.setStereo(false); // EGL doesn't support stereo buffers @@ -232,17 +232,20 @@ void QGLContextPrivate::destroyEglSurfaceForDevice() if (eglSurface != EGL_NO_SURFACE) { #ifdef Q_WS_X11 // Make sure we don't call eglDestroySurface on a surface which - // was created for a different winId: + // was created for a different winId. This applies only to QGLWidget + // paint device, so make sure this is the one we're operating on + // (as opposed to a QGLWindowSurface use case). if (paintDevice && paintDevice->devType() == QInternal::Widget) { - QGLWidget* w = static_cast<QGLWidget*>(paintDevice); - - if (w->d_func()->eglSurfaceWindowId == w->winId()) - eglDestroySurface(eglContext->display(), eglSurface); - else - qWarning("WARNING: Potential EGL surface leak!"); - } else + QWidget *w = static_cast<QWidget *>(paintDevice); + if (QGLWidget *wgl = qobject_cast<QGLWidget *>(w)) { + if (wgl->d_func()->eglSurfaceWindowId != wgl->winId()) { + qWarning("WARNING: Potential EGL surface leak! Not destroying surface."); + return; + } + } + } #endif - eglDestroySurface(eglContext->display(), eglSurface); + eglDestroySurface(eglContext->display(), eglSurface); eglSurface = EGL_NO_SURFACE; } } @@ -271,6 +274,14 @@ EGLSurface QGLContextPrivate::eglSurfaceForDevice() const return eglSurface; } +void QGLContextPrivate::swapRegion(const QRegion *region) +{ + if (!valid || !eglContext) + return; + + eglContext->swapBuffersRegion2NOK(eglSurfaceForDevice(), region); +} + void QGLWidget::setMouseTracking(bool enable) { QWidget::setMouseTracking(enable); diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index dfbc926..e00a056 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -334,6 +334,7 @@ public: void setVertexAttribArrayEnabled(int arrayIndex, bool enabled = true); void syncGlState(); // Makes sure the GL context's state is what we think it is + void swapRegion(const QRegion *region); #if defined(Q_WS_WIN) void updateFormatVersion(); @@ -417,7 +418,7 @@ public: #if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_QWS) static QGLExtensionFuncs qt_extensionFuncs; - static inline QGLExtensionFuncs& extensionFuncs(const QGLContext *) { return qt_extensionFuncs; } + static Q_OPENGL_EXPORT QGLExtensionFuncs& extensionFuncs(const QGLContext *); #endif static void setCurrentContext(QGLContext *context); diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index 8f80e5a..6d7449d 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -882,7 +882,7 @@ bool qt_resolve_frag_program_extensions(QGLContext *ctx); bool qt_resolve_glsl_extensions(QGLContext *ctx); #ifndef QT_NO_EGL -bool qt_resolve_eglimage_gl_extensions(QGLContext *ctx); +Q_OPENGL_EXPORT bool qt_resolve_eglimage_gl_extensions(QGLContext *ctx); #endif QT_END_NAMESPACE diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 83b4b21..c7689b8 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -1490,7 +1490,7 @@ void QGLShaderProgram::setAttributeArray Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - glVertexAttribPointer(location, tupleSize, type, GL_FALSE, + glVertexAttribPointer(location, tupleSize, type, GL_TRUE, stride, values); } } @@ -1634,7 +1634,7 @@ void QGLShaderProgram::setAttributeBuffer Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - glVertexAttribPointer(location, tupleSize, type, GL_FALSE, stride, + glVertexAttribPointer(location, tupleSize, type, GL_TRUE, stride, reinterpret_cast<const void *>(offset)); } } diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h index c239bcb..736a28e 100644 --- a/src/opengl/qpixmapdata_gl_p.h +++ b/src/opengl/qpixmapdata_gl_p.h @@ -96,7 +96,7 @@ private: }; -class QGLPixmapData : public QPixmapData +class Q_OPENGL_EXPORT QGLPixmapData : public QPixmapData { public: QGLPixmapData(PixelType type); diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 7efa9bc..e9da452 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -354,8 +354,22 @@ void QGLWindowSurface::hijackWindow(QWidget *widget) ctx->create(qt_gl_share_widget()->context()); #ifndef QT_NO_EGL - if (ctx->d_func()->eglContext->configAttrib(EGL_SWAP_BEHAVIOR) != EGL_BUFFER_PRESERVED) + static bool checkedForNOKSwapRegion = false; + static bool haveNOKSwapRegion = false; + + if (!checkedForNOKSwapRegion) { + haveNOKSwapRegion = QEgl::hasExtension("EGL_NOK_swap_region2"); + checkedForNOKSwapRegion = true; + + if (haveNOKSwapRegion) + qDebug() << "Found EGL_NOK_swap_region2 extension. Using partial updates."; + } + + if (ctx->d_func()->eglContext->configAttrib(EGL_SWAP_BEHAVIOR) != EGL_BUFFER_PRESERVED && + ! haveNOKSwapRegion) setPartialUpdateSupport(false); // Force full-screen updates + else + setPartialUpdateSupport(true); #endif widgetPrivate->extraData()->glContext = ctx; @@ -480,8 +494,14 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & } } #endif + if (d_ptr->paintedRegion.boundingRect() != geometry()) { + // Emits warning if not supported. Should never happen unless + // setPartialUpdateSupport(true) has been called. + context()->d_func()->swapRegion(&d_ptr->paintedRegion); + } else + context()->swapBuffers(); + d_ptr->paintedRegion = QRegion(); - context()->swapBuffers(); } else { glFlush(); } diff --git a/src/opengl/qwindowsurface_gl_p.h b/src/opengl/qwindowsurface_gl_p.h index 8ea714c..5e670fe 100644 --- a/src/opengl/qwindowsurface_gl_p.h +++ b/src/opengl/qwindowsurface_gl_p.h @@ -66,6 +66,8 @@ class QRegion; class QWidget; struct QGLWindowSurfacePrivate; +Q_OPENGL_EXPORT QGLWidget* qt_gl_share_widget(); + class QGLWindowSurfaceGLPaintDevice : public QGLPaintDevice { public: @@ -77,7 +79,7 @@ public: QGLWindowSurfacePrivate* d; }; -class QGLWindowSurface : public QObject, public QWindowSurface // , public QPaintDevice +class Q_OPENGL_EXPORT QGLWindowSurface : public QObject, public QWindowSurface // , public QPaintDevice { Q_OBJECT public: diff --git a/src/openvg/openvg.pro b/src/openvg/openvg.pro index 883f0f3..eb60331 100644 --- a/src/openvg/openvg.pro +++ b/src/openvg/openvg.pro @@ -17,7 +17,8 @@ HEADERS += \ qpixmapdata_vg_p.h \ qpixmapfilter_vg_p.h \ qvgcompositionhelper_p.h \ - qvgimagepool_p.h + qvgimagepool_p.h \ + qvgfontglyphcache_p.h SOURCES += \ qpaintengine_vg.cpp \ qpixmapdata_vg.cpp \ @@ -33,7 +34,11 @@ contains(QT_CONFIG, egl) { qwindowsurface_vgegl.cpp } -symbian: DEFINES += QVG_RECREATE_ON_SIZE_CHANGE QVG_BUFFER_SCROLLING +symbian { + DEFINES += QVG_RECREATE_ON_SIZE_CHANGE QVG_BUFFER_SCROLLING + SOURCES += \ + qvg_symbian.cpp +} include(../qbase.pri) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 4b22d5e..4992ef5 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -44,6 +44,7 @@ #include "qpixmapfilter_vg_p.h" #include "qvgcompositionhelper_p.h" #include "qvgimagepool_p.h" +#include "qvgfontglyphcache_p.h" #if !defined(QT_NO_EGL) #include <QtGui/private/qeglcontext_p.h> #include "qwindowsurface_vgegl_p.h" @@ -80,24 +81,6 @@ Q_DECL_IMPORT extern int qt_defaultDpiY(); class QVGPaintEnginePrivate; -class QVGFontGlyphCache -{ -public: - QVGFontGlyphCache(); - ~QVGFontGlyphCache(); - - void cacheGlyphs(QVGPaintEnginePrivate *d, QFontEngine *fontEngine, const glyph_t *g, int count); - - void setScaleFromText(const QFont &font, QFontEngine *fontEngine); - - VGFont font; - VGfloat scaleX; - VGfloat scaleY; - - uint cachedGlyphsMask[256 / 32]; - QSet<glyph_t> cachedGlyphs; -}; - typedef QHash<QFontEngine*, QVGFontGlyphCache*> QVGFontCache; #endif @@ -3289,6 +3272,7 @@ QVGFontGlyphCache::QVGFontGlyphCache() { font = vgCreateFont(0); scaleX = scaleY = 0.0; + invertedGlyphs = false; memset(cachedGlyphsMask, 0, sizeof(cachedGlyphsMask)); } @@ -3423,7 +3407,11 @@ void QVGPaintEngine::drawStaticTextItem(QStaticTextItem *textItem) if (it != d->fontCache.constEnd()) { glyphCache = it.value(); } else { +#ifdef Q_OS_SYMBIAN + glyphCache = new QSymbianVGFontGlyphCache(); +#else glyphCache = new QVGFontGlyphCache(); +#endif if (glyphCache->font == VG_INVALID_HANDLE) { qWarning("QVGPaintEngine::drawTextItem: OpenVG fonts are not supported by the OpenVG engine"); delete glyphCache; @@ -3443,6 +3431,11 @@ void QVGPaintEngine::drawStaticTextItem(QStaticTextItem *textItem) #if defined(QVG_NO_IMAGE_GLYPHS) glyphTransform.scale(glyphCache->scaleX, glyphCache->scaleY); #endif + + // Some glyph caches can create the VGImage upright + if (glyphCache->invertedGlyphs) + glyphTransform.scale(1, -1); + d->setTransform(VG_MATRIX_GLYPH_USER_TO_SURFACE, glyphTransform); // Add the glyphs from the text item into the glyph cache. diff --git a/src/openvg/qpaintengine_vg_p.h b/src/openvg/qpaintengine_vg_p.h index 33c49ba..75cf053 100644 --- a/src/openvg/qpaintengine_vg_p.h +++ b/src/openvg/qpaintengine_vg_p.h @@ -172,7 +172,6 @@ private: bool clearRect(const QRectF &rect, const QColor &color); }; - QT_END_NAMESPACE #endif diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp index a4afc95..cb413d0 100644 --- a/src/openvg/qpixmapdata_vg.cpp +++ b/src/openvg/qpixmapdata_vg.cpp @@ -48,15 +48,6 @@ #include "qvg_p.h" #include "qvgimagepool_p.h" -#if defined(Q_OS_SYMBIAN) -#include <private/qt_s60_p.h> -#include <fbs.h> -#endif -#ifdef QT_SYMBIAN_SUPPORTS_SGIMAGE -#include <sgresource/sgimage.h> -typedef VGImage (*pfnVgCreateEGLImageTargetKHR)(VGeglImageKHR); -#endif // QT_SYMBIAN_SUPPORTS_SGIMAGE - QT_BEGIN_NAMESPACE static int qt_vg_pixmap_serial = 0; @@ -421,254 +412,4 @@ Q_OPENVG_EXPORT VGImage qPixmapToVGImage(const QPixmap& pixmap) return VG_INVALID_HANDLE; } -#if defined(Q_OS_SYMBIAN) - -static CFbsBitmap* createBlitCopy(CFbsBitmap* bitmap) -{ - CFbsBitmap *copy = q_check_ptr(new CFbsBitmap); - if(!copy) - return 0; - - if (copy->Create(bitmap->SizeInPixels(), bitmap->DisplayMode()) != KErrNone) { - delete copy; - copy = 0; - - return 0; - } - - CFbsBitmapDevice* bitmapDevice = 0; - CFbsBitGc *bitmapGc = 0; - QT_TRAP_THROWING(bitmapDevice = CFbsBitmapDevice::NewL(copy)); - QT_TRAP_THROWING(bitmapGc = CFbsBitGc::NewL()); - bitmapGc->Activate(bitmapDevice); - - bitmapGc->BitBlt(TPoint(), bitmap); - - delete bitmapGc; - delete bitmapDevice; - - return copy; -} - -void QVGPixmapData::cleanup() -{ - is_null = w = h = 0; - recreate = false; - source = QImage(); -} - -void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) -{ - if (type == QPixmapData::SgImage && pixmap) { -#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) - RSgImage *sgImage = reinterpret_cast<RSgImage*>(pixmap); - - destroyImages(); - prevSize = QSize(); - - TInt err = 0; - - RSgDriver driver; - err = driver.Open(); - if (err != KErrNone) { - cleanup(); - return; - } - - if (sgImage->IsNull()) { - cleanup(); - driver.Close(); - return; - } - - TSgImageInfo sgImageInfo; - err = sgImage->GetInfo(sgImageInfo); - if (err != KErrNone) { - cleanup(); - driver.Close(); - return; - } - - pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); - - if (eglGetError() != EGL_SUCCESS || !(QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) || !vgCreateEGLImageTargetKHR) { - cleanup(); - driver.Close(); - return; - } - - const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE}; - EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), - EGL_NO_CONTEXT, - EGL_NATIVE_PIXMAP_KHR, - (EGLClientBuffer)sgImage, - (EGLint*)KEglImageAttribs); - - if (eglGetError() != EGL_SUCCESS) { - cleanup(); - driver.Close(); - return; - } - - vgImage = vgCreateEGLImageTargetKHR(eglImage); - if (vgGetError() != VG_NO_ERROR) { - cleanup(); - QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - driver.Close(); - return; - } - - w = sgImageInfo.iSizeInPixels.iWidth; - h = sgImageInfo.iSizeInPixels.iHeight; - d = 32; // We always use ARGB_Premultiplied for VG pixmaps. - is_null = (w <= 0 || h <= 0); - source = QImage(); - recreate = false; - prevSize = QSize(w, h); - setSerialNumber(++qt_vg_pixmap_serial); - // release stuff - QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - driver.Close(); -#endif - } else if (type == QPixmapData::FbsBitmap) { - CFbsBitmap *bitmap = reinterpret_cast<CFbsBitmap*>(pixmap); - - bool deleteSourceBitmap = false; - -#ifdef Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE - - // Rasterize extended bitmaps - - TUid extendedBitmapType = bitmap->ExtendedBitmapType(); - if (extendedBitmapType != KNullUid) { - bitmap = createBlitCopy(bitmap); - deleteSourceBitmap = true; - } -#endif - - if (bitmap->IsCompressedInRAM()) { - bitmap = createBlitCopy(bitmap); - deleteSourceBitmap = true; - } - - TDisplayMode displayMode = bitmap->DisplayMode(); - QImage::Format format = qt_TDisplayMode2Format(displayMode); - - TSize size = bitmap->SizeInPixels(); - - bitmap->BeginDataAccess(); - uchar *bytes = (uchar*)bitmap->DataAddress(); - QImage img = QImage(bytes, size.iWidth, size.iHeight, format); - img = img.copy(); - bitmap->EndDataAccess(); - - if(displayMode == EGray2) { - //Symbian thinks set pixels are white/transparent, Qt thinks they are foreground/solid - //So invert mono bitmaps so that masks work correctly. - img.invertPixels(); - } else if(displayMode == EColor16M) { - img = img.rgbSwapped(); // EColor16M is BGR - } - - fromImage(img, Qt::AutoColor); - - if(deleteSourceBitmap) - delete bitmap; - } -} - -void* QVGPixmapData::toNativeType(NativeType type) -{ - if (type == QPixmapData::SgImage) { -#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) - toVGImage(); - - if (!isValid() || vgImage == VG_INVALID_HANDLE) - return 0; - - TInt err = 0; - - RSgDriver driver; - err = driver.Open(); - if (err != KErrNone) - return 0; - - TSgImageInfo sgInfo; - sgInfo.iPixelFormat = EUidPixelFormatARGB_8888_PRE; - sgInfo.iSizeInPixels.SetSize(w, h); - sgInfo.iUsage = ESgUsageBitOpenVgImage | ESgUsageBitOpenVgSurface; - - RSgImage *sgImage = q_check_ptr(new RSgImage()); - err = sgImage->Create(sgInfo, NULL, NULL); - if (err != KErrNone) { - driver.Close(); - return 0; - } - - pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); - - if (eglGetError() != EGL_SUCCESS || !(QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) || !vgCreateEGLImageTargetKHR) { - driver.Close(); - return 0; - } - - const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE}; - EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), - EGL_NO_CONTEXT, - EGL_NATIVE_PIXMAP_KHR, - (EGLClientBuffer)sgImage, - (EGLint*)KEglImageAttribs); - if (eglGetError() != EGL_SUCCESS) { - sgImage->Close(); - driver.Close(); - return 0; - } - - VGImage dstVgImage = vgCreateEGLImageTargetKHR(eglImage); - if (vgGetError() != VG_NO_ERROR) { - QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - sgImage->Close(); - driver.Close(); - return 0; - } - - vgCopyImage(dstVgImage, 0, 0, - vgImage, 0, 0, - w, h, VG_FALSE); - - if (vgGetError() != VG_NO_ERROR) { - sgImage->Close(); - sgImage = 0; - } - // release stuff - vgDestroyImage(dstVgImage); - QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - driver.Close(); - return reinterpret_cast<void*>(sgImage); -#endif - } else if (type == QPixmapData::FbsBitmap) { - CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); - - if (bitmap) { - if (bitmap->Create(TSize(source.width(), source.height()), - EColor16MAP) == KErrNone) { - const uchar *sptr = source.constBits(); - bitmap->BeginDataAccess(); - - uchar *dptr = (uchar*)bitmap->DataAddress(); - Mem::Copy(dptr, sptr, source.byteCount()); - - bitmap->EndDataAccess(); - } else { - delete bitmap; - bitmap = 0; - } - } - - return reinterpret_cast<void*>(bitmap); - } - return 0; -} -#endif //Q_OS_SYMBIAN - QT_END_NAMESPACE diff --git a/src/openvg/qvg_symbian.cpp b/src/openvg/qvg_symbian.cpp new file mode 100644 index 0000000..0e6e773 --- /dev/null +++ b/src/openvg/qvg_symbian.cpp @@ -0,0 +1,398 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +#include "qpixmapdata_vg_p.h" +#include "qvgfontglyphcache_p.h" +#include <private/qt_s60_p.h> + +#include <fbs.h> +#include <bitdev.h> + +#ifdef QT_SYMBIAN_SUPPORTS_SGIMAGE +# include <sgresource/sgimage.h> +# ifdef SYMBIAN_FBSERV_GLYPHDATA // defined in fbs.h +# define QT_SYMBIAN_HARDWARE_GLYPH_CACHE +# include <graphics/fbsglyphdataiterator.h> +# include <private/qfontengine_s60_p.h> +# endif +#endif + +QT_BEGIN_NAMESPACE + +typedef VGImage (*_vgCreateEGLImageTargetKHR)(VGeglImageKHR); +static _vgCreateEGLImageTargetKHR qt_vgCreateEGLImageTargetKHR = 0; + +namespace QVG +{ + VGImage vgCreateEGLImageTargetKHR(VGeglImageKHR eglImage); +} + +VGImage QVG::vgCreateEGLImageTargetKHR(VGeglImageKHR eglImage) +{ + if (!qt_vgCreateEGLImageTargetKHR && QEgl::hasExtension("EGL_KHR_image")) + qt_vgCreateEGLImageTargetKHR = (_vgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); + + return qt_vgCreateEGLImageTargetKHR ? qt_vgCreateEGLImageTargetKHR(eglImage) : 0; +} + +extern int qt_vg_pixmap_serial; + +static CFbsBitmap* createBlitCopy(CFbsBitmap* bitmap) +{ + CFbsBitmap *copy = q_check_ptr(new CFbsBitmap); + if(!copy) + return 0; + + if (copy->Create(bitmap->SizeInPixels(), bitmap->DisplayMode()) != KErrNone) { + delete copy; + copy = 0; + + return 0; + } + + CFbsBitmapDevice* bitmapDevice = 0; + CFbsBitGc *bitmapGc = 0; + QT_TRAP_THROWING(bitmapDevice = CFbsBitmapDevice::NewL(copy)); + QT_TRAP_THROWING(bitmapGc = CFbsBitGc::NewL()); + bitmapGc->Activate(bitmapDevice); + + bitmapGc->BitBlt(TPoint(), bitmap); + + delete bitmapGc; + delete bitmapDevice; + + return copy; +} + +#ifdef QT_SYMBIAN_SUPPORTS_SGIMAGE +static VGImage sgImageToVGImage(QEglContext *context, const RSgImage &sgImage) +{ + // when "0" used as argument then + // default display, context are used + if (!context) + context = qt_vg_create_context(0, QInternal::Pixmap); + + VGImage vgImage = VG_INVALID_HANDLE; + + TInt err = 0; + + RSgDriver driver; + err = driver.Open(); + if (err != KErrNone) { + return vgImage; + } + + if (sgImage.IsNull()) { + driver.Close(); + return vgImage; + } + + TSgImageInfo sgImageInfo; + err = sgImage.GetInfo(sgImageInfo); + if (err != KErrNone) { + driver.Close(); + return vgImage; + } + + const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE}; + EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), + EGL_NO_CONTEXT, + EGL_NATIVE_PIXMAP_KHR, + (EGLClientBuffer)&sgImage, + (EGLint*)KEglImageAttribs); + + if (!eglImage || eglGetError() != EGL_SUCCESS) { + driver.Close(); + return vgImage; + } + + vgImage = QVG::vgCreateEGLImageTargetKHR(eglImage); + if (!vgImage || vgGetError() != VG_NO_ERROR) { + QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); + driver.Close(); + return vgImage; + } + + //setSerialNumber(++qt_vg_pixmap_serial); + // release stuff + QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); + driver.Close(); + return vgImage; +} +#endif + +void QVGPixmapData::cleanup() +{ + is_null = w = h = 0; + recreate = false; + source = QImage(); +} + +void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) +{ + if (type == QPixmapData::SgImage && pixmap) { +#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) + RSgImage *sgImage = reinterpret_cast<RSgImage*>(pixmap); + destroyImages(); + prevSize = QSize(); + + VGImage vgImage = sgImageToVGImage(context, *sgImage); + if (vgImage != VG_INVALID_HANDLE) { + w = vgGetParameteri(vgImage, VG_IMAGE_WIDTH); + h = vgGetParameteri(vgImage, VG_IMAGE_HEIGHT); + d = 32; // We always use ARGB_Premultiplied for VG pixmaps. + } + + is_null = (w <= 0 || h <= 0); + source = QImage(); // vgGetImageSubData() some day? + recreate = false; + prevSize = QSize(w, h); + //setSerialNumber(++qt_vg_pixmap_serial); +#endif + } else if (type == QPixmapData::FbsBitmap) { + CFbsBitmap *bitmap = reinterpret_cast<CFbsBitmap*>(pixmap); + + bool deleteSourceBitmap = false; + +#ifdef Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE + + // Rasterize extended bitmaps + + TUid extendedBitmapType = bitmap->ExtendedBitmapType(); + if (extendedBitmapType != KNullUid) { + bitmap = createBlitCopy(bitmap); + deleteSourceBitmap = true; + } +#endif + + if (bitmap->IsCompressedInRAM()) { + bitmap = createBlitCopy(bitmap); + deleteSourceBitmap = true; + } + + TDisplayMode displayMode = bitmap->DisplayMode(); + QImage::Format format = qt_TDisplayMode2Format(displayMode); + + TSize size = bitmap->SizeInPixels(); + + bitmap->BeginDataAccess(); + uchar *bytes = (uchar*)bitmap->DataAddress(); + QImage img = QImage(bytes, size.iWidth, size.iHeight, format); + img = img.copy(); + bitmap->EndDataAccess(); + + if(displayMode == EGray2) { + //Symbian thinks set pixels are white/transparent, Qt thinks they are foreground/solid + //So invert mono bitmaps so that masks work correctly. + img.invertPixels(); + } else if(displayMode == EColor16M) { + img = img.rgbSwapped(); // EColor16M is BGR + } + + fromImage(img, Qt::AutoColor); + + if(deleteSourceBitmap) + delete bitmap; + } +} + +void* QVGPixmapData::toNativeType(NativeType type) +{ + if (type == QPixmapData::SgImage) { +#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) + toVGImage(); + + if (!isValid() || vgImage == VG_INVALID_HANDLE) + return 0; + + TInt err = 0; + + RSgDriver driver; + err = driver.Open(); + if (err != KErrNone) + return 0; + + TSgImageInfo sgInfo; + sgInfo.iPixelFormat = EUidPixelFormatARGB_8888_PRE; + sgInfo.iSizeInPixels.SetSize(w, h); + sgInfo.iUsage = ESgUsageBitOpenVgImage | ESgUsageBitOpenVgSurface; + + RSgImage *sgImage = q_check_ptr(new RSgImage()); + err = sgImage->Create(sgInfo, NULL, NULL); + if (err != KErrNone) { + driver.Close(); + return 0; + } + + const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE}; + EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), + EGL_NO_CONTEXT, + EGL_NATIVE_PIXMAP_KHR, + (EGLClientBuffer)sgImage, + (EGLint*)KEglImageAttribs); + if (!eglImage || eglGetError() != EGL_SUCCESS) { + sgImage->Close(); + driver.Close(); + return 0; + } + + VGImage dstVgImage = QVG::vgCreateEGLImageTargetKHR(eglImage); + if (!dstVgImage || vgGetError() != VG_NO_ERROR) { + QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); + sgImage->Close(); + driver.Close(); + return 0; + } + + vgCopyImage(dstVgImage, 0, 0, + vgImage, 0, 0, + w, h, VG_FALSE); + + if (vgGetError() != VG_NO_ERROR) { + sgImage->Close(); + sgImage = 0; + } + // release stuff + vgDestroyImage(dstVgImage); + QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); + driver.Close(); + return reinterpret_cast<void*>(sgImage); +#endif + } else if (type == QPixmapData::FbsBitmap) { + CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); + + if (bitmap) { + if (bitmap->Create(TSize(source.width(), source.height()), + EColor16MAP) == KErrNone) { + const uchar *sptr = const_cast<const QImage&>(source).bits(); + bitmap->BeginDataAccess(); + + uchar *dptr = (uchar*)bitmap->DataAddress(); + Mem::Copy(dptr, sptr, source.byteCount()); + + bitmap->EndDataAccess(); + } else { + delete bitmap; + bitmap = 0; + } + } + + return reinterpret_cast<void*>(bitmap); + } + return 0; +} + +QSymbianVGFontGlyphCache::QSymbianVGFontGlyphCache() : QVGFontGlyphCache() +{ +#ifdef QT_SYMBIAN_HARDWARE_GLYPH_CACHE + invertedGlyphs = true; +#endif +} + +void QSymbianVGFontGlyphCache::cacheGlyphs(QVGPaintEnginePrivate *d, + QFontEngine *fontEngine, + const glyph_t *g, int count) +{ +#ifdef QT_SYMBIAN_HARDWARE_GLYPH_CACHE + QFontEngineS60 *s60fontEngine = static_cast<QFontEngineS60*>(fontEngine); + if (s60fontEngine->m_activeFont->TypeUid() != KCFbsFontUid) + return QVGFontGlyphCache::cacheGlyphs(d, fontEngine, g, count); + + QVector<glyph_t> uncachedGlyphs; + while (count-- > 0) { + // Skip this glyph if we have already cached it before. + glyph_t glyph = *g++; + if (((glyph < 256) && ((cachedGlyphsMask[glyph / 32] & (1 << (glyph % 32))) != 0)) + || cachedGlyphs.contains(glyph)) + continue; + if (!uncachedGlyphs.contains(glyph)) + uncachedGlyphs.append(glyph); + } + + if (!uncachedGlyphs.isEmpty()) { + CFbsFont *cfbsFont = static_cast<CFbsFont *>(s60fontEngine->m_activeFont); + RFbsGlyphDataIterator iter; + + int err = iter.Open(*cfbsFont, (const unsigned int*)uncachedGlyphs.constData(), uncachedGlyphs.count()); + + if (err == KErrNotSupported || err == KErrInUse) { // Fallback in possibly supported error cases + iter.Close(); + qWarning("Falling back to default QVGFontGlyphCache"); + return QVGFontGlyphCache::cacheGlyphs(d, fontEngine, g, count); + } + + for (; err == KErrNone; err = iter.Next()) { + const unsigned int glyph = iter.GlyphCode(); + + const RSgImage& image = iter.Image(); + const TOpenFontCharMetrics& metrics = iter.Metrics(); + + TRect glyphBounds; + metrics.GetHorizBounds(glyphBounds); + VGImage vgImage = sgImageToVGImage(0, image); + VGfloat origin[2]; + VGfloat escapement[2]; + origin[0] = -glyphBounds.iTl.iX; + origin[1] = glyphBounds.iBr.iY; + escapement[0] = 0; + escapement[1] = 0; + vgSetGlyphToImage(font, glyph, vgImage, origin, escapement); + vgDestroyImage(vgImage); + + // Add to cache + if (glyph < 256) + cachedGlyphsMask[glyph / 32] |= (1 << (glyph % 32)); + else + cachedGlyphs.insert(glyph); + } + iter.Close(); + + if (err == KErrNoMemory || err == KErrNoGraphicsMemory) + qWarning("Not enough memory to cache glyph"); + else if (err != KErrNotFound) + qWarning("Received error %d from glyph cache", err); + } +#else + QVGFontGlyphCache::cacheGlyphs(d, fontEngine, g, count); +#endif +} + +QT_END_NAMESPACE diff --git a/src/openvg/qvgfontglyphcache_p.h b/src/openvg/qvgfontglyphcache_p.h new file mode 100644 index 0000000..b32a873 --- /dev/null +++ b/src/openvg/qvgfontglyphcache_p.h @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** 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 QtOpenVG 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 QVGFONTGLYPHCACHE_H +#define QVGFONTGLYPHCACHE_H + +// +// 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/qvarlengtharray.h> +#include <QtGui/private/qfontengine_p.h> + +QT_BEGIN_NAMESPACE + +class QVGPaintEnginePrivate; + +class QVGFontGlyphCache +{ +public: + QVGFontGlyphCache(); + virtual ~QVGFontGlyphCache(); + + virtual void cacheGlyphs(QVGPaintEnginePrivate *d, + QFontEngine *fontEngine, + const glyph_t *g, int count); + void setScaleFromText(const QFont &font, QFontEngine *fontEngine); + + VGFont font; + VGfloat scaleX; + VGfloat scaleY; + bool invertedGlyphs; + uint cachedGlyphsMask[256 / 32]; + QSet<glyph_t> cachedGlyphs; +}; + +#if defined(Q_OS_SYMBIAN) +class QSymbianVGFontGlyphCache : public QVGFontGlyphCache +{ +public: + QSymbianVGFontGlyphCache(); + void cacheGlyphs(QVGPaintEnginePrivate *d, + QFontEngine *fontEngine, + const glyph_t *g, int count); +}; +#endif + +QT_END_NAMESPACE + +#endif // QVGFONTGLYPHCACHE_H diff --git a/src/plugins/bearer/icd/qicdengine.cpp b/src/plugins/bearer/icd/qicdengine.cpp index 9d1bfab..0083380 100644 --- a/src/plugins/bearer/icd/qicdengine.cpp +++ b/src/plugins/bearer/icd/qicdengine.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE IcdNetworkConfigurationPrivate::IcdNetworkConfigurationPrivate() -: network_attrs(0), service_attrs(0) +: service_attrs(0), network_attrs(0) { } @@ -251,6 +251,11 @@ void QIcdEngine::initialize() ICD_DBUS_API_INTERFACE, QDBusConnection::systemBus(), this); + + // abort if cannot connect to DBus. + if (!m_dbusInterface->isValid()) + return; + connect(&m_scanTimer, SIGNAL(timeout()), this, SLOT(finishAsyncConfigurationUpdate())); m_scanTimer.setSingleShot(true); @@ -322,10 +327,10 @@ void QIcdEngine::deleteConfiguration(const QString &iap_id) } -static uint32_t getNetworkAttrs(bool is_iap_id, - const QString &iap_id, - const QString &iap_type, - QString security_method) +static quint32 getNetworkAttrs(bool is_iap_id, + const QString &iap_id, + const QString &iap_type, + QString security_method) { guint network_attr = 0; dbus_uint32_t cap = 0; @@ -363,7 +368,7 @@ static uint32_t getNetworkAttrs(bool is_iap_id, if (is_iap_id) network_attr |= ICD_NW_ATTR_IAPNAME; - return (uint32_t)network_attr; + return quint32(network_attr); } diff --git a/src/plugins/bearer/icd/qicdengine.h b/src/plugins/bearer/icd/qicdengine.h index 2f9f8ed..1b291eb 100644 --- a/src/plugins/bearer/icd/qicdengine.h +++ b/src/plugins/bearer/icd/qicdengine.h @@ -69,11 +69,11 @@ public: QString service_type; QString service_id; - uint32_t service_attrs; + quint32 service_attrs; // Network attributes for this IAP, this is the value returned by icd and // passed to it when connecting. - uint32_t network_attrs; + quint32 network_attrs; }; inline IcdNetworkConfigurationPrivate *toIcdConfig(QNetworkConfigurationPrivatePointer ptr) diff --git a/src/plugins/bearer/symbian/3_2/3_2.pro b/src/plugins/bearer/symbian/3_2/3_2.pro index 3404dde..6f3ecaf 100644 --- a/src/plugins/bearer/symbian/3_2/3_2.pro +++ b/src/plugins/bearer/symbian/3_2/3_2.pro @@ -1,12 +1,14 @@ include(../symbian.pri) -exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ -exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { - DEFINES += SNAP_FUNCTIONALITY_AVAILABLE - LIBS += -lcmmanager -} else { - # Fall back to 3_1 implementation on platforms that do not have cmmanager - LIBS += -lapengine +symbian { + exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ + exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { + DEFINES += SNAP_FUNCTIONALITY_AVAILABLE + LIBS += -lcmmanager + } else { + # Fall back to 3_1 implementation on platforms that do not have cmmanager + LIBS += -lapengine + } } TARGET = $${TARGET}_3_2 diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro index 804986a..25f18f2 100644 --- a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro +++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro @@ -1,17 +1,19 @@ include(../symbian.pri) -exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ -exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { - DEFINES += SNAP_FUNCTIONALITY_AVAILABLE - LIBS += -lcmmanager +symbian { + exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ + exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { + DEFINES += SNAP_FUNCTIONALITY_AVAILABLE + LIBS += -lcmmanager - exists($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h)) { - DEFINES += OCC_FUNCTIONALITY_AVAILABLE - LIBS += -lextendedconnpref + exists($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h)) { + DEFINES += OCC_FUNCTIONALITY_AVAILABLE + LIBS += -lextendedconnpref + } + } else { + # Fall back to 3_1 implementation on platforms that do not have cmmanager + LIBS += -lapengine } -} else { - # Fall back to 3_1 implementation on platforms that do not have cmmanager - LIBS += -lapengine } TARGET.UID3 = 0x20021319 diff --git a/src/plugins/imageformats/gif/gif.pro b/src/plugins/imageformats/gif/gif.pro index 8a5c51a..439b431 100644 --- a/src/plugins/imageformats/gif/gif.pro +++ b/src/plugins/imageformats/gif/gif.pro @@ -1,9 +1,8 @@ TARGET = qgif include(../../qpluginbase.pri) -HEADERS += qgifhandler.h -SOURCES += main.cpp \ - qgifhandler.cpp +include(../../../gui/image/qgifhandler.pri) +SOURCES += $$PWD/main.cpp QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats target.path += $$[QT_INSTALL_PLUGINS]/imageformats diff --git a/src/plugins/imageformats/gif/main.cpp b/src/plugins/imageformats/gif/main.cpp index 3bb0bf4..99a9528 100644 --- a/src/plugins/imageformats/gif/main.cpp +++ b/src/plugins/imageformats/gif/main.cpp @@ -47,7 +47,7 @@ #ifdef QT_NO_IMAGEFORMAT_GIF #undef QT_NO_IMAGEFORMAT_GIF #endif -#include "qgifhandler.h" +#include <qgifhandler_p.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro index 2e4036b..5fff2de 100644 --- a/src/plugins/imageformats/imageformats.pro +++ b/src/plugins/imageformats/imageformats.pro @@ -1,8 +1,8 @@ TEMPLATE = subdirs -!contains(QT_CONFIG, no-jpeg):SUBDIRS += jpeg -!contains(QT_CONFIG, no-gif):SUBDIRS += gif -!contains(QT_CONFIG, no-mng):SUBDIRS += mng +!contains(QT_CONFIG, no-jpeg):!contains(QT_CONFIG, jpeg):SUBDIRS += jpeg +!contains(QT_CONFIG, no-gif):!contains(QT_CONFIG, gif):SUBDIRS += gif +!contains(QT_CONFIG, no-mng):!contains(QT_CONFIG, mng):SUBDIRS += mng contains(QT_CONFIG, svg):SUBDIRS += svg -!contains(QT_CONFIG, no-tiff):SUBDIRS += tiff +!contains(QT_CONFIG, no-tiff):!contains(QT_CONFIG, tiff):SUBDIRS += tiff !contains(QT_CONFIG, no-ico):SUBDIRS += ico diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro index d4b0fef..c5671c3 100644 --- a/src/plugins/imageformats/jpeg/jpeg.pro +++ b/src/plugins/imageformats/jpeg/jpeg.pro @@ -3,10 +3,6 @@ include(../../qpluginbase.pri) QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-jpeg)" -HEADERS += qjpeghandler.h -SOURCES += main.cpp \ - qjpeghandler.cpp - wince*: { DEFINES += NO_GETENV contains(CE_ARCH,x86):CONFIG -= stl exceptions @@ -21,61 +17,9 @@ symbian: { QMAKE_CFLAGS_WARN_ON += -Wno-unused-parameter -Wno-main } -contains(QT_CONFIG, system-jpeg) { - unix|win32-g++*:LIBS += -ljpeg - win32:!win32-g++*:LIBS += libjpeg.lib -} else { - INCLUDEPATH += ../../../3rdparty/libjpeg - SOURCES += \ - ../../../3rdparty/libjpeg/jaricom.c \ - ../../../3rdparty/libjpeg/jcapimin.c \ - ../../../3rdparty/libjpeg/jcapistd.c \ - ../../../3rdparty/libjpeg/jcarith.c \ - ../../../3rdparty/libjpeg/jccoefct.c \ - ../../../3rdparty/libjpeg/jccolor.c \ - ../../../3rdparty/libjpeg/jcdctmgr.c \ - ../../../3rdparty/libjpeg/jchuff.c \ - ../../../3rdparty/libjpeg/jcinit.c \ - ../../../3rdparty/libjpeg/jcmainct.c \ - ../../../3rdparty/libjpeg/jcmarker.c \ - ../../../3rdparty/libjpeg/jcmaster.c \ - ../../../3rdparty/libjpeg/jcomapi.c \ - ../../../3rdparty/libjpeg/jcparam.c \ - ../../../3rdparty/libjpeg/jcprepct.c \ - ../../../3rdparty/libjpeg/jcsample.c \ - ../../../3rdparty/libjpeg/jctrans.c \ - ../../../3rdparty/libjpeg/jdapimin.c \ - ../../../3rdparty/libjpeg/jdapistd.c \ - ../../../3rdparty/libjpeg/jdarith.c \ - ../../../3rdparty/libjpeg/jdatadst.c \ - ../../../3rdparty/libjpeg/jdatasrc.c \ - ../../../3rdparty/libjpeg/jdcoefct.c \ - ../../../3rdparty/libjpeg/jdcolor.c \ - ../../../3rdparty/libjpeg/jddctmgr.c \ - ../../../3rdparty/libjpeg/jdhuff.c \ - ../../../3rdparty/libjpeg/jdinput.c \ - ../../../3rdparty/libjpeg/jdmainct.c \ - ../../../3rdparty/libjpeg/jdmarker.c \ - ../../../3rdparty/libjpeg/jdmaster.c \ - ../../../3rdparty/libjpeg/jdmerge.c \ - ../../../3rdparty/libjpeg/jdpostct.c \ - ../../../3rdparty/libjpeg/jdsample.c \ - ../../../3rdparty/libjpeg/jdtrans.c \ - ../../../3rdparty/libjpeg/jerror.c \ - ../../../3rdparty/libjpeg/jfdctflt.c \ - ../../../3rdparty/libjpeg/jfdctfst.c \ - ../../../3rdparty/libjpeg/jfdctint.c \ - ../../../3rdparty/libjpeg/jidctflt.c \ - ../../../3rdparty/libjpeg/jidctfst.c \ - ../../../3rdparty/libjpeg/jidctint.c \ - ../../../3rdparty/libjpeg/jquant1.c \ - ../../../3rdparty/libjpeg/jquant2.c \ - ../../../3rdparty/libjpeg/jutils.c \ - ../../../3rdparty/libjpeg/jmemmgr.c \ - ../../../3rdparty/libjpeg/jmemnobs.c -} +include(../../../gui/image/qjpeghandler.pri) +SOURCES += main.cpp QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats target.path += $$[QT_INSTALL_PLUGINS]/imageformats INSTALLS += target - diff --git a/src/plugins/imageformats/jpeg/main.cpp b/src/plugins/imageformats/jpeg/main.cpp index 2a45cb0..8eb3f03 100644 --- a/src/plugins/imageformats/jpeg/main.cpp +++ b/src/plugins/imageformats/jpeg/main.cpp @@ -47,7 +47,7 @@ #ifdef QT_NO_IMAGEFORMAT_JPEG #undef QT_NO_IMAGEFORMAT_JPEG #endif -#include "qjpeghandler.h" +#include <qjpeghandler_p.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/imageformats/mng/main.cpp b/src/plugins/imageformats/mng/main.cpp index 84f085c..dd62ba5 100644 --- a/src/plugins/imageformats/mng/main.cpp +++ b/src/plugins/imageformats/mng/main.cpp @@ -47,7 +47,7 @@ #ifdef QT_NO_IMAGEFORMAT_MNG #undef QT_NO_IMAGEFORMAT_MNG #endif -#include "qmnghandler.h" +#include <qmnghandler_p.h> #include <qiodevice.h> #include <qbytearray.h> diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro index 158f41a..88085f3 100644 --- a/src/plugins/imageformats/mng/mng.pro +++ b/src/plugins/imageformats/mng/mng.pro @@ -3,54 +3,15 @@ include(../../qpluginbase.pri) QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-mng)" -HEADERS += qmnghandler.h -SOURCES += main.cpp \ - qmnghandler.cpp - symbian: { #Disable warnings in 3rdparty code due to unused variables and arguments QMAKE_CXXFLAGS.CW += -W nounused TARGET.UID3=0x2001E619 } -contains(QT_CONFIG, system-mng) { - unix|win32-g++*:LIBS += -lmng - win32:!win32-g++*:LIBS += libmng.lib -} else { - DEFINES += MNG_BUILD_SO - DEFINES += MNG_NO_INCLUDE_JNG - INCLUDEPATH += ../../../3rdparty/libmng - SOURCES += \ - ../../../3rdparty/libmng/libmng_callback_xs.c \ - ../../../3rdparty/libmng/libmng_chunk_io.c \ - ../../../3rdparty/libmng/libmng_chunk_descr.c \ - ../../../3rdparty/libmng/libmng_chunk_prc.c \ - ../../../3rdparty/libmng/libmng_chunk_xs.c \ - ../../../3rdparty/libmng/libmng_cms.c \ - ../../../3rdparty/libmng/libmng_display.c \ - ../../../3rdparty/libmng/libmng_dither.c \ - ../../../3rdparty/libmng/libmng_error.c \ - ../../../3rdparty/libmng/libmng_filter.c \ - ../../../3rdparty/libmng/libmng_hlapi.c \ - ../../../3rdparty/libmng/libmng_jpeg.c \ - ../../../3rdparty/libmng/libmng_object_prc.c \ - ../../../3rdparty/libmng/libmng_pixels.c \ - ../../../3rdparty/libmng/libmng_prop_xs.c \ - ../../../3rdparty/libmng/libmng_read.c \ - ../../../3rdparty/libmng/libmng_trace.c \ - ../../../3rdparty/libmng/libmng_write.c \ - ../../../3rdparty/libmng/libmng_zlib.c -} - -contains(QT_CONFIG, system-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} else { - INCLUDEPATH += ../../../3rdparty/zlib -} +include(../../../gui/image/qmnghandler.pri) +SOURCES += main.cpp QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats target.path += $$[QT_INSTALL_PLUGINS]/imageformats INSTALLS += target - diff --git a/src/plugins/imageformats/tiff/main.cpp b/src/plugins/imageformats/tiff/main.cpp index fbcbd72..c022abe 100644 --- a/src/plugins/imageformats/tiff/main.cpp +++ b/src/plugins/imageformats/tiff/main.cpp @@ -47,7 +47,7 @@ #ifdef QT_NO_IMAGEFORMAT_TIFF #undef QT_NO_IMAGEFORMAT_TIFF #endif -#include "qtiffhandler.h" +#include <qtiffhandler_p.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro index 08e471c..e781526 100644 --- a/src/plugins/imageformats/tiff/tiff.pro +++ b/src/plugins/imageformats/tiff/tiff.pro @@ -3,77 +3,8 @@ include(../../qpluginbase.pri) QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-tiff)" -HEADERS += qtiffhandler.h -SOURCES += main.cpp \ - qtiffhandler.cpp - -contains(QT_CONFIG, system-tiff) { - unix|win32-g++*:LIBS += -ltiff - win32:!win32-g++*:LIBS += libtiff.lib - - contains(QT_CONFIG, system-jpeg) { - unix|win32-g++*:LIBS += -ljpeg - win32:!win32-g++*:LIBS += libjpeg.lib - } -} else { - INCLUDEPATH += ../../../3rdparty/libtiff/libtiff - SOURCES += \ - ../../../3rdparty/libtiff/libtiff/tif_aux.c \ - ../../../3rdparty/libtiff/libtiff/tif_close.c \ - ../../../3rdparty/libtiff/libtiff/tif_codec.c \ - ../../../3rdparty/libtiff/libtiff/tif_color.c \ - ../../../3rdparty/libtiff/libtiff/tif_compress.c \ - ../../../3rdparty/libtiff/libtiff/tif_dir.c \ - ../../../3rdparty/libtiff/libtiff/tif_dirinfo.c \ - ../../../3rdparty/libtiff/libtiff/tif_dirread.c \ - ../../../3rdparty/libtiff/libtiff/tif_dirwrite.c \ - ../../../3rdparty/libtiff/libtiff/tif_dumpmode.c \ - ../../../3rdparty/libtiff/libtiff/tif_error.c \ - ../../../3rdparty/libtiff/libtiff/tif_extension.c \ - ../../../3rdparty/libtiff/libtiff/tif_fax3.c \ - ../../../3rdparty/libtiff/libtiff/tif_fax3sm.c \ - ../../../3rdparty/libtiff/libtiff/tif_flush.c \ - ../../../3rdparty/libtiff/libtiff/tif_getimage.c \ - ../../../3rdparty/libtiff/libtiff/tif_luv.c \ - ../../../3rdparty/libtiff/libtiff/tif_lzw.c \ - ../../../3rdparty/libtiff/libtiff/tif_next.c \ - ../../../3rdparty/libtiff/libtiff/tif_open.c \ - ../../../3rdparty/libtiff/libtiff/tif_packbits.c \ - ../../../3rdparty/libtiff/libtiff/tif_pixarlog.c \ - ../../../3rdparty/libtiff/libtiff/tif_predict.c \ - ../../../3rdparty/libtiff/libtiff/tif_print.c \ - ../../../3rdparty/libtiff/libtiff/tif_read.c \ - ../../../3rdparty/libtiff/libtiff/tif_strip.c \ - ../../../3rdparty/libtiff/libtiff/tif_swab.c \ - ../../../3rdparty/libtiff/libtiff/tif_thunder.c \ - ../../../3rdparty/libtiff/libtiff/tif_tile.c \ - ../../../3rdparty/libtiff/libtiff/tif_version.c \ - ../../../3rdparty/libtiff/libtiff/tif_warning.c \ - ../../../3rdparty/libtiff/libtiff/tif_write.c \ - ../../../3rdparty/libtiff/libtiff/tif_zip.c - win32:!wince*: { - SOURCES += ../../../3rdparty/libtiff/libtiff/tif_win32.c - } - unix: { - SOURCES += ../../../3rdparty/libtiff/libtiff/tif_unix.c - } - wince*: { - 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 - } -} - -contains(QT_CONFIG, system-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} else { - INCLUDEPATH += ../../../3rdparty/zlib -} +include(../../../gui/image/qtiffhandler.pri) +SOURCES += main.cpp QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats target.path += $$[QT_INSTALL_PLUGINS]/imageformats diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def index 101c6a8..94be1bb 100644 --- a/src/s60installs/bwins/QtCoreu.def +++ b/src/s60installs/bwins/QtCoreu.def @@ -4482,4 +4482,6 @@ EXPORTS ?textDirection@QLocale@@QBE?AW4LayoutDirection@Qt@@XZ @ 4481 NONAME ; enum Qt::LayoutDirection QLocale::textDirection(void) const ?peek@QIODevicePrivate@@UAE_JPAD_J@Z @ 4482 NONAME ; long long QIODevicePrivate::peek(char *, long long) ?peek@QIODevicePrivate@@UAE?AVQByteArray@@_J@Z @ 4483 NONAME ; class QByteArray QIODevicePrivate::peek(long long) + ?nativeArguments@QProcess@@QBE?AVQString@@XZ @ 4484 NONAME ; class QString QProcess::nativeArguments(void) const + ?setNativeArguments@QProcess@@QAEXABVQString@@@Z @ 4485 NONAME ; void QProcess::setNativeArguments(class QString const &) diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def index ddc8cf4..8fdd72c 100644 --- a/src/s60installs/bwins/QtDeclarativeu.def +++ b/src/s60installs/bwins/QtDeclarativeu.def @@ -1,4104 +1,1679 @@ 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &) - ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContext@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 87 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &) - ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@@Z @ 88 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeParticleMotion::QDeclarativeParticleMotion(class QObject *) - ??0QDeclarativeParticleMotionGravity@@QAE@PAVQObject@@@Z @ 130 NONAME ABSENT ; QDeclarativeParticleMotionGravity::QDeclarativeParticleMotionGravity(class QObject *) - ??0QDeclarativeParticleMotionLinear@@QAE@PAVQObject@@@Z @ 131 NONAME ABSENT ; QDeclarativeParticleMotionLinear::QDeclarativeParticleMotionLinear(class QObject *) - ??0QDeclarativeParticleMotionWander@@QAE@XZ @ 132 NONAME ABSENT ; QDeclarativeParticleMotionWander::QDeclarativeParticleMotionWander(void) - ??0QDeclarativeParticles@@QAE@PAVQDeclarativeItem@@@Z @ 133 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *) - ??0QDeclarativeVisualDataModel@@QAE@XZ @ 183 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(void) - ??0QDeclarativeVisualItemModel@@QAE@XZ @ 184 NONAME ABSENT ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(void) - ??0QDeclarativeVisualModel@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 185 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(class QObjectPrivate &, class QObject *) - ??0QDeclarativeVisualModel@@QAE@XZ @ 186 NONAME ABSENT ; QDeclarativeVisualModel::QDeclarativeVisualModel(void) - ??0QDeclarativeWebPage@@QAE@PAVQDeclarativeWebView@@@Z @ 187 NONAME ABSENT ; QDeclarativeWebPage::QDeclarativeWebPage(class QDeclarativeWebView *) - ??0QDeclarativeWebView@@QAE@PAVQDeclarativeItem@@@Z @ 188 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeParticleMotion::~QDeclarativeParticleMotion(void) - ??1QDeclarativeParticleMotionGravity@@UAE@XZ @ 293 NONAME ABSENT ; QDeclarativeParticleMotionGravity::~QDeclarativeParticleMotionGravity(void) - ??1QDeclarativeParticleMotionLinear@@UAE@XZ @ 294 NONAME ABSENT ; QDeclarativeParticleMotionLinear::~QDeclarativeParticleMotionLinear(void) - ??1QDeclarativeParticleMotionWander@@UAE@XZ @ 295 NONAME ABSENT ; QDeclarativeParticleMotionWander::~QDeclarativeParticleMotionWander(void) - ??1QDeclarativeParticles@@UAE@XZ @ 296 NONAME ABSENT ; 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 ABSENT ; QDeclarativeWebPage::~QDeclarativeWebPage(void) - ??1QDeclarativeWebView@@UAE@XZ @ 338 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeParticleMotion::~QDeclarativeParticleMotion(unsigned int) - ??_EQDeclarativeParticleMotionGravity@@UAE@I@Z @ 470 NONAME ABSENT ; QDeclarativeParticleMotionGravity::~QDeclarativeParticleMotionGravity(unsigned int) - ??_EQDeclarativeParticleMotionLinear@@UAE@I@Z @ 471 NONAME ABSENT ; QDeclarativeParticleMotionLinear::~QDeclarativeParticleMotionLinear(unsigned int) - ??_EQDeclarativeParticleMotionWander@@UAE@I@Z @ 472 NONAME ABSENT ; QDeclarativeParticleMotionWander::~QDeclarativeParticleMotionWander(unsigned int) - ??_EQDeclarativeParticles@@UAE@I@Z @ 473 NONAME ABSENT ; 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 ABSENT ; QDeclarativeWebPage::~QDeclarativeWebPage(unsigned int) - ??_EQDeclarativeWebView@@UAE@I@Z @ 510 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; float QDeclarativeParticleMotionGravity::acceleration(void) const - ?accelerationChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 531 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeListModel::addRole(class QString const &) const - ?addScript@QDeclarativeContextPrivate@@QAEXABUScriptBlock@Object@QDeclarativeParser@@PAVQObject@@@Z @ 565 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParticleMotion::advance(class QDeclarativeParticle &, int) - ?advance@QDeclarativeParticleMotionGravity@@UAEXAAVQDeclarativeParticle@@H@Z @ 578 NONAME ABSENT ; void QDeclarativeParticleMotionGravity::advance(class QDeclarativeParticle &, int) - ?advance@QDeclarativeParticleMotionLinear@@UAEXAAVQDeclarativeParticle@@H@Z @ 579 NONAME ABSENT ; void QDeclarativeParticleMotionLinear::advance(class QDeclarativeParticle &, int) - ?advance@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@H@Z @ 580 NONAME ABSENT ; void QDeclarativeParticleMotionWander::advance(class QDeclarativeParticle &, int) - ?alert@QDeclarativeWebView@@IAEXABVQString@@@Z @ 581 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeAnchors * QDeclarativeItem::anchors(void) - ?angle@QDeclarativeParticles@@QBEMXZ @ 584 NONAME ABSENT ; float QDeclarativeParticles::angle(void) const - ?angleChanged@QDeclarativeParticles@@IAEXXZ @ 585 NONAME ABSENT ; void QDeclarativeParticles::angleChanged(void) - ?angleDeviation@QDeclarativeParticles@@QBEMXZ @ 586 NONAME ABSENT ; float QDeclarativeParticles::angleDeviation(void) const - ?angleDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 587 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDeclarativeItem * QDeclarativeFlipable::back(void) - ?backAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 610 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::baseline(void) const - ?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 616 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const - ?baseline@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 617 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::bottom(void) const - ?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 630 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const - ?bottom@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 631 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeItem::childrenRectChanged(void) - ?chooseFile@QDeclarativeWebPage@@MAE?AVQString@@PAVQWebFrame@@ABV2@@Z @ 690 NONAME ABSENT ; class QString QDeclarativeWebPage::chooseFile(class QWebFrame *, class QString const &) - ?classBegin@QDeclarativeAnchors@@QAEXXZ @ 691 NONAME ; void QDeclarativeAnchors::classBegin(void) - ?classBegin@QDeclarativeDateTimeFormatter@@UAEXXZ @ 692 NONAME ABSENT ; void QDeclarativeDateTimeFormatter::classBegin(void) - ?classBegin@QDeclarativeItem@@MAEXXZ @ 693 NONAME ; void QDeclarativeItem::classBegin(void) - ?classBegin@QDeclarativeNumberFormatter@@UAEXXZ @ 694 NONAME ABSENT ; void QDeclarativeNumberFormatter::classBegin(void) - ?classBegin@QDeclarativeParserStatus@@UAEXXZ @ 695 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::clearForwardBindings(void) - ?clearReverseBindings@QDeclarativeAnchorChanges@@UAEXXZ @ 716 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeNumberFormatter::componentComplete(void) - ?componentComplete@QDeclarativeParserStatus@@UAEXXZ @ 756 NONAME ABSENT ; void QDeclarativeParserStatus::componentComplete(void) - ?componentComplete@QDeclarativeParticles@@MAEXXZ @ 757 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; class QObject * QDeclarativeContextPrivate::context_at(struct QDeclarativeListProperty<class QObject> *, int) - ?context_count@QDeclarativeContextPrivate@@SAHPAU?$QDeclarativeListProperty@VQObject@@@@@Z @ 794 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeListModel::countChanged(int) - ?countChanged@QDeclarativeListView@@IAEXXZ @ 819 NONAME ; void QDeclarativeListView::countChanged(void) - ?countChanged@QDeclarativeParticles@@IAEXXZ @ 820 NONAME ABSENT ; 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 ABSENT ; class QScriptValue QDeclarativeComponent::createObject(void) - ?createPlugin@QDeclarativeWebPage@@MAEPAVQObject@@ABVQString@@ABVQUrl@@ABVQStringList@@2@Z @ 828 NONAME ABSENT ; 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 ABSENT ; class QWebPage * QDeclarativeWebPage::createWindow(enum QWebPage::WebWindowType) - ?createWindow@QDeclarativeWebView@@IAEPAV1@W4WebWindowType@QWebPage@@@Z @ 833 NONAME ABSENT ; class QDeclarativeWebView * QDeclarativeWebView::createWindow(enum QWebPage::WebWindowType) - ?created@QDeclarativeParticleMotion@@UAEXAAVQDeclarativeParticle@@@Z @ 834 NONAME ABSENT ; void QDeclarativeParticleMotion::created(class QDeclarativeParticle &) - ?created@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@@Z @ 835 NONAME ABSENT ; 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 ABSENT ; class QRect QDeclarativeTextEdit::cursorRect(void) const - ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeDateTimeFormatterPrivate * QDeclarativeDateTimeFormatter::d_func(void) - ?d_func@QDeclarativeDateTimeFormatter@@ABEPBVQDeclarativeDateTimeFormatterPrivate@@XZ @ 891 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeEaseFollowPrivate * QDeclarativeEaseFollow::d_func(void) - ?d_func@QDeclarativeEaseFollow@@ABEPBVQDeclarativeEaseFollowPrivate@@XZ @ 897 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeGraphicsObjectContainerPrivate * QDeclarativeGraphicsObjectContainer::d_func(void) - ?d_func@QDeclarativeGraphicsObjectContainer@@ABEPBVQDeclarativeGraphicsObjectContainerPrivate@@XZ @ 913 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeNumberFormatterPrivate * QDeclarativeNumberFormatter::d_func(void) - ?d_func@QDeclarativeNumberFormatter@@ABEPBVQDeclarativeNumberFormatterPrivate@@XZ @ 929 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeParticlesPrivate * QDeclarativeParticles::d_func(void) - ?d_func@QDeclarativeParticles@@ABEPBVQDeclarativeParticlesPrivate@@XZ @ 935 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeWebViewPrivate * QDeclarativeWebView::d_func(void) - ?d_func@QDeclarativeWebView@@ABEPBVQDeclarativeWebViewPrivate@@XZ @ 975 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDate QDeclarativeDateTimeFormatter::date(void) const - ?dateFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 989 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeDateTimeFormatter::dateText(void) const - ?dateTime@QDeclarativeDateTimeFormatter@@QBE?AVQDateTime@@XZ @ 992 NONAME ABSENT ; class QDateTime QDeclarativeDateTimeFormatter::dateTime(void) const - ?dateTimeFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 993 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeParticleMotion::destroy(class QDeclarativeParticle &) - ?destroy@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@@Z @ 1018 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QPerformanceLog::displayData(void) - ?doLoadFinished@QDeclarativeWebView@@AAEX_N@Z @ 1030 NONAME ABSENT ; void QDeclarativeWebView::doLoadFinished(bool) - ?doLoadProgress@QDeclarativeWebView@@AAEXH@Z @ 1031 NONAME ABSENT ; void QDeclarativeWebView::doLoadProgress(int) - ?doLoadStarted@QDeclarativeWebView@@AAEXXZ @ 1032 NONAME ABSENT ; void QDeclarativeWebView::doLoadStarted(void) - ?doPositioning@QDeclarativeColumn@@MAEXXZ @ 1033 NONAME ABSENT ; void QDeclarativeColumn::doPositioning(void) - ?doPositioning@QDeclarativeFlow@@MAEXXZ @ 1034 NONAME ABSENT ; void QDeclarativeFlow::doPositioning(void) - ?doPositioning@QDeclarativeGrid@@MAEXXZ @ 1035 NONAME ABSENT ; void QDeclarativeGrid::doPositioning(void) - ?doPositioning@QDeclarativeRow@@MAEXXZ @ 1036 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; float QDeclarativeEaseFollow::duration(void) const - ?durationChanged@QDeclarativeEaseFollow@@IAEXXZ @ 1051 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; int QDeclarativeParticles::emissionRate(void) const - ?emissionRateChanged@QDeclarativeParticles@@IAEXXZ @ 1060 NONAME ABSENT ; void QDeclarativeParticles::emissionRateChanged(void) - ?emissionVariance@QDeclarativeParticles@@QBEMXZ @ 1061 NONAME ABSENT ; float QDeclarativeParticles::emissionVariance(void) const - ?emissionVarianceChanged@QDeclarativeParticles@@IAEXXZ @ 1062 NONAME ABSENT ; void QDeclarativeParticles::emissionVarianceChanged(void) - ?emittingChanged@QDeclarativeParticles@@IAEXXZ @ 1063 NONAME ABSENT ; void QDeclarativeParticles::emittingChanged(void) - ?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1064 NONAME ; bool QDeclarativeBehavior::enabled(void) const - ?enabled@QDeclarativeEaseFollow@@QBE_NXZ @ 1065 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::execute(void) - ?execute@QDeclarativeParentChange@@UAEXXZ @ 1102 NONAME ABSENT ; void QDeclarativeParentChange::execute(void) - ?execute@QDeclarativeStateChangeScript@@UAEXXZ @ 1103 NONAME ABSENT ; void QDeclarativeStateChangeScript::execute(void) - ?exited@QDeclarativeMouseArea@@IAEXXZ @ 1104 NONAME ; void QDeclarativeMouseArea::exited(void) - ?expandToWebPage@QDeclarativeWebView@@AAEXXZ @ 1105 NONAME ABSENT ; 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 ABSENT ; class QList<class QDeclarativeAction> QDeclarativeAnchorChanges::extraActions(void) - ?fadeInDuration@QDeclarativeParticles@@QBEHXZ @ 1111 NONAME ABSENT ; int QDeclarativeParticles::fadeInDuration(void) const - ?fadeInDurationChanged@QDeclarativeParticles@@IAEXXZ @ 1112 NONAME ABSENT ; void QDeclarativeParticles::fadeInDurationChanged(void) - ?fadeOutDuration@QDeclarativeParticles@@QBEHXZ @ 1113 NONAME ABSENT ; int QDeclarativeParticles::fadeOutDuration(void) const - ?fadeOutDurationChanged@QDeclarativeParticles@@IAEXXZ @ 1114 NONAME ABSENT ; void QDeclarativeParticles::fadeOutDurationChanged(void) - ?fill@QDeclarativeAnchors@@QBEPAVQDeclarativeItem@@XZ @ 1115 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; enum QDeclarativeFlickable::FlickDirection QDeclarativeFlickable::flickDirection(void) const - ?flickDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 1130 NONAME ABSENT ; 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 ABSENT ; struct QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeFlickable::flickableChildren(void) - ?flickableData@QDeclarativeFlickable@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 1134 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeItem::focusChanged(void) - ?focusChanged@QDeclarativeItem@@MAEX_N@Z @ 1140 NONAME ABSENT ; void QDeclarativeItem::focusChanged(bool) - ?focusChanged@QDeclarativeTextEdit@@MAEX_N@Z @ 1141 NONAME ABSENT ; void QDeclarativeTextEdit::focusChanged(bool) - ?focusChanged@QDeclarativeTextInput@@MAEX_N@Z @ 1142 NONAME ABSENT ; void QDeclarativeTextInput::focusChanged(bool) - ?focusChanged@QDeclarativeWebView@@MAEX_N@Z @ 1143 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeNumberFormatter::format(void) const - ?forwardAction@QDeclarativeWebView@@QBEPAVQAction@@XZ @ 1156 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeItem * QDeclarativeFlipable::front(void) - ?fxChildren@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 1162 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeWebView::geometryChanged(class QRectF const &, class QRectF const &) - ?get@QDeclarativeContextPrivate@@SAPAV1@PAVQDeclarativeContext@@@Z @ 1183 NONAME ABSENT ; class QDeclarativeContextPrivate * QDeclarativeContextPrivate::get(class QDeclarativeContext *) - ?get@QDeclarativeContextPrivate@@SAPAVQDeclarativeContext@@PAV1@@Z @ 1184 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; struct QMetaObject const & QDeclarativeParticleMotion::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeParticleMotionGravity@@SAABUQMetaObject@@XZ @ 1239 NONAME ABSENT ; struct QMetaObject const & QDeclarativeParticleMotionGravity::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeParticleMotionLinear@@SAABUQMetaObject@@XZ @ 1240 NONAME ABSENT ; struct QMetaObject const & QDeclarativeParticleMotionLinear::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeParticleMotionWander@@SAABUQMetaObject@@XZ @ 1241 NONAME ABSENT ; struct QMetaObject const & QDeclarativeParticleMotionWander::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeParticles@@SAABUQMetaObject@@XZ @ 1242 NONAME ABSENT ; 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 ABSENT ; struct QMetaObject const & QDeclarativeWebPage::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeWebView@@SAABUQMetaObject@@XZ @ 1277 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; float QDeclarativeParentChange::height(void) const - ?heightChange@QDeclarativeFlickable@@IAEXXZ @ 1302 NONAME ABSENT ; void QDeclarativeFlickable::heightChange(void) - ?heightChanged@QDeclarativeItem@@IAEXXZ @ 1303 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::horizontalCenter(void) const - ?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1327 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const - ?horizontalCenter@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1328 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; class QString QDeclarativeWebView::html(void) const - ?htmlChanged@QDeclarativeWebView@@IAEXXZ @ 1344 NONAME ABSENT ; void QDeclarativeWebView::htmlChanged(void) - ?icon@QDeclarativeWebView@@QBE?AVQPixmap@@XZ @ 1345 NONAME ABSENT ; class QPixmap QDeclarativeWebView::icon(void) const - ?iconChanged@QDeclarativeWebView@@IAEXXZ @ 1346 NONAME ABSENT ; void QDeclarativeWebView::iconChanged(void) - ?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 1347 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *) - ?imageLoaded@QDeclarativeParticles@@AAEXXZ @ 1348 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeContextPrivate::init(void) - ?init@QDeclarativePaintedItem@@AAEXXZ @ 1371 NONAME ABSENT ; void QDeclarativePaintedItem::init(void) - ?init@QDeclarativeWebView@@AAEXXZ @ 1372 NONAME ABSENT ; void QDeclarativeWebView::init(void) - ?initialLayout@QDeclarativeWebView@@AAEXXZ @ 1373 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebPage::javaScriptAlert(class QWebFrame *, class QString const &) - ?javaScriptConfirm@QDeclarativeWebPage@@MAE_NPAVQWebFrame@@ABVQString@@@Z @ 1510 NONAME ABSENT ; bool QDeclarativeWebPage::javaScriptConfirm(class QWebFrame *, class QString const &) - ?javaScriptConsoleMessage@QDeclarativeWebPage@@MAEXABVQString@@H0@Z @ 1511 NONAME ABSENT ; void QDeclarativeWebPage::javaScriptConsoleMessage(class QString const &, int, class QString const &) - ?javaScriptPrompt@QDeclarativeWebPage@@MAE_NPAVQWebFrame@@ABVQString@@1PAV3@@Z @ 1512 NONAME ABSENT ; bool QDeclarativeWebPage::javaScriptPrompt(class QWebFrame *, class QString const &, class QString const &, class QString *) - ?javaScriptWindowObjects@QDeclarativeWebView@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 1513 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebView::keyReleaseEvent(class QKeyEvent *) - ?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 1526 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const - ?layout@QDeclarativeGridView@@AAEXXZ @ 1527 NONAME ABSENT ; void QDeclarativeGridView::layout(void) - ?left@QDeclarativeAnchorChanges@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1528 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::left(void) const - ?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1529 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const - ?left@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1530 NONAME ABSENT ; 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 ABSENT ; int QDeclarativeParticles::lifeSpan(void) const - ?lifeSpanChanged@QDeclarativeParticles@@IAEXXZ @ 1541 NONAME ABSENT ; void QDeclarativeParticles::lifeSpanChanged(void) - ?lifeSpanDeviation@QDeclarativeParticles@@QBEHXZ @ 1542 NONAME ABSENT ; int QDeclarativeParticles::lifeSpanDeviation(void) const - ?lifeSpanDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 1543 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebView::loadFailed(void) - ?loadFinished@QDeclarativeWebView@@IAEXXZ @ 1559 NONAME ABSENT ; void QDeclarativeWebView::loadFinished(void) - ?loadStarted@QDeclarativeWebView@@IAEXXZ @ 1560 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; float QDeclarativeEaseFollow::maximumEasingTime(void) const - ?maximumEasingTimeChanged@QDeclarativeEaseFollow@@IAEXXZ @ 1578 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; struct QMetaObject const * QDeclarativeParticleMotion::metaObject(void) const - ?metaObject@QDeclarativeParticleMotionGravity@@UBEPBUQMetaObject@@XZ @ 1641 NONAME ABSENT ; struct QMetaObject const * QDeclarativeParticleMotionGravity::metaObject(void) const - ?metaObject@QDeclarativeParticleMotionLinear@@UBEPBUQMetaObject@@XZ @ 1642 NONAME ABSENT ; struct QMetaObject const * QDeclarativeParticleMotionLinear::metaObject(void) const - ?metaObject@QDeclarativeParticleMotionWander@@UBEPBUQMetaObject@@XZ @ 1643 NONAME ABSENT ; struct QMetaObject const * QDeclarativeParticleMotionWander::metaObject(void) const - ?metaObject@QDeclarativeParticles@@UBEPBUQMetaObject@@XZ @ 1644 NONAME ABSENT ; 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 ABSENT ; struct QMetaObject const * QDeclarativeWebPage::metaObject(void) const - ?metaObject@QDeclarativeWebView@@UBEPBUQMetaObject@@XZ @ 1680 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeParticleMotion * QDeclarativeParticles::motion(void) const - ?motionChanged@QDeclarativeParticles@@IAEXXZ @ 1714 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDeclarativeComponent * QDeclarativeWebView::newWindowComponent(void) const - ?newWindowComponentChanged@QDeclarativeWebView@@IAEXXZ @ 1779 NONAME ABSENT ; void QDeclarativeWebView::newWindowComponentChanged(void) - ?newWindowParent@QDeclarativeWebView@@QBEPAVQDeclarativeItem@@XZ @ 1780 NONAME ABSENT ; class QDeclarativeItem * QDeclarativeWebView::newWindowParent(void) const - ?newWindowParentChanged@QDeclarativeWebView@@IAEXXZ @ 1781 NONAME ABSENT ; void QDeclarativeWebView::newWindowParentChanged(void) - ?noteContentsSizeChanged@QDeclarativeWebView@@AAEXABVQSize@@@Z @ 1782 NONAME ABSENT ; void QDeclarativeWebView::noteContentsSizeChanged(class QSize const &) - ?notifyOnServerStart@QDeclarativeDebugService@@SAXPAVQObject@@PBD@Z @ 1783 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; bool QDeclarativeFlickable::overShoot(void) const - ?overShootChanged@QDeclarativeFlickable@@IAEXXZ @ 1816 NONAME ABSENT ; 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 ABSENT ; float QDeclarativeParticleMotionWander::pace(void) const - ?paceChanged@QDeclarativeParticleMotionWander@@IAEXXZ @ 1820 NONAME ABSENT ; 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 ABSENT ; class QWebPage * QDeclarativeWebView::page(void) const - ?pageChanged@QDeclarativeFlickable@@IAEXXZ @ 1824 NONAME ; void QDeclarativeFlickable::pageChanged(void) - ?pageUrlChanged@QDeclarativeWebView@@AAEXXZ @ 1825 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeGridView::positionViewAtIndex(int) - ?positionViewAtIndex@QDeclarativeListView@@QAEXH@Z @ 1874 NONAME ABSENT ; 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 ABSENT ; int QDeclarativeWebView::preferredHeight(void) const - ?preferredHeightChanged@QDeclarativeWebView@@IAEXXZ @ 1879 NONAME ABSENT ; 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 ABSENT ; int QDeclarativeWebView::preferredWidth(void) const - ?preferredWidthChanged@QDeclarativeWebView@@IAEXXZ @ 1883 NONAME ABSENT ; 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 ABSENT ; int QDeclarativeWebView::pressGrabTime(void) const - ?pressGrabTimeChanged@QDeclarativeWebView@@IAEXXZ @ 1889 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QDeclarativeContext * QDeclarativeContextPrivate::q_func(void) - ?q_func@QDeclarativeContextPrivate@@ABEPBVQDeclarativeContext@@XZ @ 1931 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; int QDeclarativeParticleMotion::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeParticleMotionGravity@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2004 NONAME ABSENT ; int QDeclarativeParticleMotionGravity::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeParticleMotionLinear@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2005 NONAME ABSENT ; int QDeclarativeParticleMotionLinear::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeParticleMotionWander@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2006 NONAME ABSENT ; int QDeclarativeParticleMotionWander::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeParticles@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2007 NONAME ABSENT ; 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 ABSENT ; int QDeclarativeWebPage::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeWebView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2042 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void * QDeclarativeParticleMotion::qt_metacast(char const *) - ?qt_metacast@QDeclarativeParticleMotionGravity@@UAEPAXPBD@Z @ 2099 NONAME ABSENT ; void * QDeclarativeParticleMotionGravity::qt_metacast(char const *) - ?qt_metacast@QDeclarativeParticleMotionLinear@@UAEPAXPBD@Z @ 2100 NONAME ABSENT ; void * QDeclarativeParticleMotionLinear::qt_metacast(char const *) - ?qt_metacast@QDeclarativeParticleMotionWander@@UAEPAXPBD@Z @ 2101 NONAME ABSENT ; void * QDeclarativeParticleMotionWander::qt_metacast(char const *) - ?qt_metacast@QDeclarativeParticles@@UAEPAXPBD@Z @ 2102 NONAME ABSENT ; 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 ABSENT ; void * QDeclarativeWebPage::qt_metacast(char const *) - ?qt_metacast@QDeclarativeWebView@@UAEPAXPBD@Z @ 2137 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; bool QDeclarativeWebView::renderingEnabled(void) const - ?renderingEnabledChanged@QDeclarativeWebView@@IAEXXZ @ 2193 NONAME ABSENT ; void QDeclarativeWebView::renderingEnabledChanged(void) - ?replyFinished@QDeclarativeFontLoader@@AAEXXZ @ 2194 NONAME ; void QDeclarativeFontLoader::replyFinished(void) - ?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 2195 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::reverse(void) - ?reverse@QDeclarativeParentChange@@UAEXXZ @ 2226 NONAME ABSENT ; void QDeclarativeParentChange::reverse(void) - ?reversible@QDeclarativeTransition@@QBE_NXZ @ 2227 NONAME ; bool QDeclarativeTransition::reversible(void) const - ?reversingMode@QDeclarativeEaseFollow@@QBE?AW4ReversingMode@1@XZ @ 2228 NONAME ABSENT ; enum QDeclarativeEaseFollow::ReversingMode QDeclarativeEaseFollow::reversingMode(void) const - ?reversingModeChanged@QDeclarativeEaseFollow@@IAEXXZ @ 2229 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::right(void) const - ?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2233 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const - ?right@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2234 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QMouseEvent * QDeclarativeWebView::sceneHoverMoveEventToMouseEvent(class QGraphicsSceneHoverEvent *) - ?sceneMouseEventToMouseEvent@QDeclarativeWebView@@AAEPAVQMouseEvent@@PAVQGraphicsSceneMouseEvent@@@Z @ 2268 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeParticles::setAngle(float) - ?setAngleDeviation@QDeclarativeParticles@@QAEXM@Z @ 2313 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::setBaseline(class QDeclarativeAnchorLine const &) - ?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2322 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::setBottom(class QDeclarativeAnchorLine const &) - ?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2326 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeItemPrivate::setConsistentTime(int) - ?setContent@QDeclarativeWebView@@QAEXABVQByteArray@@ABVQString@@ABVQUrl@@@Z @ 2349 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParticles::setCount(int) - ?setCreationContext@QDeclarativeComponent@@QAEXPAVQDeclarativeContext@@@Z @ 2367 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeDateTimeFormatter::setDate(class QDate const &) - ?setDateFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2383 NONAME ABSENT ; void QDeclarativeDateTimeFormatter::setDateFormat(class QString const &) - ?setDateTime@QDeclarativeDateTimeFormatter@@QAEXABVQDateTime@@@Z @ 2384 NONAME ABSENT ; void QDeclarativeDateTimeFormatter::setDateTime(class QDateTime const &) - ?setDateTimeFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2385 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeParticles::setEmissionRate(int) - ?setEmissionVariance@QDeclarativeParticles@@QAEXM@Z @ 2401 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeParticles::setFadeInDuration(int) - ?setFadeOutDuration@QDeclarativeParticles@@QAEXH@Z @ 2412 NONAME ABSENT ; void QDeclarativeParticles::setFadeOutDuration(int) - ?setFill@QDeclarativeAnchors@@QAEXPAVQDeclarativeItem@@@Z @ 2413 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeNumberFormatter::setFormat(class QString const &) - ?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 2429 NONAME ; void QDeclarativeTransition::setFromState(class QString const &) - ?setFront@QDeclarativeFlipable@@QAEXPAVQDeclarativeItem@@@Z @ 2430 NONAME ABSENT ; void QDeclarativeFlipable::setFront(class QDeclarativeItem *) - ?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 2431 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *) - ?setGraphicsObject@QDeclarativeGraphicsObjectContainer@@QAEXPAVQGraphicsObject@@@Z @ 2432 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::setHorizontalCenter(class QDeclarativeAnchorLine const &) - ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2448 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeWebView::setHtml(class QString const &, class QUrl const &) - ?setIdProperty@QDeclarativeContextPrivate@@QAEXHPAVQObject@@@Z @ 2453 NONAME ABSENT ; void QDeclarativeContextPrivate::setIdProperty(int, class QObject *) - ?setIdPropertyData@QDeclarativeContextPrivate@@QAEXPAVQDeclarativeIntegerCache@@@Z @ 2454 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeAnchorChanges::setLeft(class QDeclarativeAnchorLine const &) - ?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2465 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParticles::setLifeSpan(int) - ?setLifeSpanDeviation@QDeclarativeParticles@@QAEXH@Z @ 2469 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebView::setNewWindowComponent(class QDeclarativeComponent *) - ?setNewWindowParent@QDeclarativeWebView@@QAEXPAVQDeclarativeItem@@@Z @ 2497 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeFlickable::setOverShoot(bool) - ?setPace@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2509 NONAME ABSENT ; void QDeclarativeParticleMotionWander::setPace(float) - ?setPage@QDeclarativeWebView@@QAEXPAVQWebPage@@@Z @ 2510 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebView::setPreferredWidth(int) - ?setPressDelay@QDeclarativeFlickable@@QAEXH@Z @ 2528 NONAME ; void QDeclarativeFlickable::setPressDelay(int) - ?setPressGrabTime@QDeclarativeWebView@@QAEXH@Z @ 2529 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeWebView::setRenderingEnabled(bool) - ?setRepeating@QDeclarativeTimer@@QAEX_N@Z @ 2541 NONAME ; void QDeclarativeTimer::setRepeating(bool) - ?setReset@QDeclarativeAnchorChanges@@QAEXABVQString@@@Z @ 2542 NONAME ABSENT ; void QDeclarativeAnchorChanges::setReset(class QString const &) - ?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 2543 NONAME ; void QMetaPropertyBuilder::setResettable(bool) - ?setResizeMode@QDeclarativeLoader@@QAEXW4ResizeMode@1@@Z @ 2544 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeEaseFollow::setReversingMode(enum QDeclarativeEaseFollow::ReversingMode) - ?setRight@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2551 NONAME ABSENT ; void QDeclarativeAnchorChanges::setRight(class QDeclarativeAnchorLine const &) - ?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2552 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeVisualDataModel::setRootIndex(class QModelIndex const &) - ?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 2556 NONAME ; void QDeclarativeView::setRootObject(class QObject *) - ?setRotation@QDeclarativeParentChange@@QAEXM@Z @ 2557 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeTextEdit::setSelectionEnd(int) - ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ABSENT ; void QDeclarativeTextInput::setSelectionEnd(int) - ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ABSENT ; void QDeclarativeTextEdit::setSelectionStart(int) - ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeEaseFollow::setSourceValue(float) - ?setSourceValue@QDeclarativeSpringFollow@@QAEXM@Z @ 2589 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeDrag::setTarget(class QDeclarativeItem *) - ?setTarget@QDeclarativeEaseFollow@@UAEXABVQDeclarativeProperty@@@Z @ 2612 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeDateTimeFormatter::setTime(class QTime const &) - ?setTimeFormat@QDeclarativeDateTimeFormatter@@QAEXABVQString@@@Z @ 2622 NONAME ABSENT ; void QDeclarativeDateTimeFormatter::setTimeFormat(class QString const &) - ?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 2623 NONAME ; void QDeclarativeTransition::setToState(class QString const &) - ?setTop@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2624 NONAME ABSENT ; void QDeclarativeAnchorChanges::setTop(class QDeclarativeAnchorLine const &) - ?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2625 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeEaseFollow::setVelocity(float) - ?setVelocity@QDeclarativeParticles@@QAEXM@Z @ 2643 NONAME ABSENT ; void QDeclarativeParticles::setVelocity(float) - ?setVelocity@QDeclarativeSpringFollow@@QAEXM@Z @ 2644 NONAME ; void QDeclarativeSpringFollow::setVelocity(float) - ?setVelocityDeviation@QDeclarativeParticles@@QAEXM@Z @ 2645 NONAME ABSENT ; void QDeclarativeParticles::setVelocityDeviation(float) - ?setVerticalCenter@QDeclarativeAnchorChanges@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2646 NONAME ABSENT ; void QDeclarativeAnchorChanges::setVerticalCenter(class QDeclarativeAnchorLine const &) - ?setVerticalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 2647 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParentChange::setWidth(float) - ?setWidth@QDeclarativePen@@QAEXH@Z @ 2654 NONAME ; void QDeclarativePen::setWidth(int) - ?setWrap@QDeclarativeText@@QAEX_N@Z @ 2655 NONAME ABSENT ; void QDeclarativeText::setWrap(bool) - ?setWrap@QDeclarativeTextEdit@@QAEX_N@Z @ 2656 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParentChange::setX(float) - ?setXAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2662 NONAME ABSENT ; void QDeclarativeParticleMotionGravity::setXAttractor(float) - ?setXVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2663 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParentChange::setY(float) - ?setYAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2669 NONAME ABSENT ; void QDeclarativeParticleMotionGravity::setYAttractor(float) - ?setYVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2670 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeWebView::setZoomFactor(float) - ?settings@QDeclarativeWebView@@QBEPAVQWebSettings@@XZ @ 2674 NONAME ABSENT ; class QWebSettings * QDeclarativeWebView::settings(void) const - ?settingsObject@QDeclarativeWebView@@QBEPAVQDeclarativeWebSettings@@XZ @ 2675 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeGridView::sizeChange(void) - ?sizeChanged@QDeclarativeView@@AAEXXZ @ 2683 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeItem::smoothChanged(void) - ?snapMode@QDeclarativeListView@@QBE?AW4SnapMode@1@XZ @ 2689 NONAME ; enum QDeclarativeListView::SnapMode QDeclarativeListView::snapMode(void) const - ?snapPosition@QDeclarativePathView@@QBEMXZ @ 2690 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; float QDeclarativeEaseFollow::sourceValue(void) const - ?sourceValue@QDeclarativeSpringFollow@@QBEMXZ @ 2705 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QString QDeclarativeWebView::statusText(void) const - ?statusTextChanged@QDeclarativeWebView@@IAEXXZ @ 2743 NONAME ABSENT ; 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 ABSENT ; class QAction * QDeclarativeWebView::stopAction(void) const - ?stops@QDeclarativeGradient@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeGradientStop@@@@XZ @ 2747 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeDateTimeFormatter::textChanged(void) - ?textChanged@QDeclarativeNumberFormatter@@IAEXXZ @ 2772 NONAME ABSENT ; 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 ABSENT ; class QTime QDeclarativeDateTimeFormatter::time(void) const - ?timeFormat@QDeclarativeDateTimeFormatter@@QBE?AVQString@@XZ @ 2787 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeWebView::timerEvent(class QTimerEvent *) - ?title@QDeclarativeWebView@@QBE?AVQString@@XZ @ 2794 NONAME ABSENT ; class QString QDeclarativeWebView::title(void) const - ?titleChanged@QDeclarativeWebView@@IAEXABVQString@@@Z @ 2795 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::top(void) const - ?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2812 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const - ?top@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 2813 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeDateTimeFormatter::tr(char const *, char const *) - ?tr@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0H@Z @ 2843 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeEaseFollow::tr(char const *, char const *) - ?tr@QDeclarativeEaseFollow@@SA?AVQString@@PBD0H@Z @ 2869 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeGraphicsObjectContainer::tr(char const *, char const *) - ?tr@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0H@Z @ 2895 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeNumberFormatter::tr(char const *, char const *) - ?tr@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0H@Z @ 2915 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeParticleMotion::tr(char const *, char const *) - ?tr@QDeclarativeParticleMotion@@SA?AVQString@@PBD0H@Z @ 2921 NONAME ABSENT ; class QString QDeclarativeParticleMotion::tr(char const *, char const *, int) - ?tr@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0@Z @ 2922 NONAME ABSENT ; class QString QDeclarativeParticleMotionGravity::tr(char const *, char const *) - ?tr@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0H@Z @ 2923 NONAME ABSENT ; class QString QDeclarativeParticleMotionGravity::tr(char const *, char const *, int) - ?tr@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0@Z @ 2924 NONAME ABSENT ; class QString QDeclarativeParticleMotionLinear::tr(char const *, char const *) - ?tr@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0H@Z @ 2925 NONAME ABSENT ; class QString QDeclarativeParticleMotionLinear::tr(char const *, char const *, int) - ?tr@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0@Z @ 2926 NONAME ABSENT ; class QString QDeclarativeParticleMotionWander::tr(char const *, char const *) - ?tr@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0H@Z @ 2927 NONAME ABSENT ; class QString QDeclarativeParticleMotionWander::tr(char const *, char const *, int) - ?tr@QDeclarativeParticles@@SA?AVQString@@PBD0@Z @ 2928 NONAME ABSENT ; class QString QDeclarativeParticles::tr(char const *, char const *) - ?tr@QDeclarativeParticles@@SA?AVQString@@PBD0H@Z @ 2929 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeWebPage::tr(char const *, char const *) - ?tr@QDeclarativeWebPage@@SA?AVQString@@PBD0H@Z @ 2997 NONAME ABSENT ; class QString QDeclarativeWebPage::tr(char const *, char const *, int) - ?tr@QDeclarativeWebView@@SA?AVQString@@PBD0@Z @ 2998 NONAME ABSENT ; class QString QDeclarativeWebView::tr(char const *, char const *) - ?tr@QDeclarativeWebView@@SA?AVQString@@PBD0H@Z @ 2999 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeDateTimeFormatter::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeDateTimeFormatter@@SA?AVQString@@PBD0H@Z @ 3033 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeEaseFollow::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeEaseFollow@@SA?AVQString@@PBD0H@Z @ 3059 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeGraphicsObjectContainer::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeGraphicsObjectContainer@@SA?AVQString@@PBD0H@Z @ 3085 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeNumberFormatter::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeNumberFormatter@@SA?AVQString@@PBD0H@Z @ 3105 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeParticleMotion::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeParticleMotion@@SA?AVQString@@PBD0H@Z @ 3111 NONAME ABSENT ; class QString QDeclarativeParticleMotion::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0@Z @ 3112 NONAME ABSENT ; class QString QDeclarativeParticleMotionGravity::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeParticleMotionGravity@@SA?AVQString@@PBD0H@Z @ 3113 NONAME ABSENT ; class QString QDeclarativeParticleMotionGravity::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0@Z @ 3114 NONAME ABSENT ; class QString QDeclarativeParticleMotionLinear::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeParticleMotionLinear@@SA?AVQString@@PBD0H@Z @ 3115 NONAME ABSENT ; class QString QDeclarativeParticleMotionLinear::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0@Z @ 3116 NONAME ABSENT ; class QString QDeclarativeParticleMotionWander::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeParticleMotionWander@@SA?AVQString@@PBD0H@Z @ 3117 NONAME ABSENT ; class QString QDeclarativeParticleMotionWander::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeParticles@@SA?AVQString@@PBD0@Z @ 3118 NONAME ABSENT ; class QString QDeclarativeParticles::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeParticles@@SA?AVQString@@PBD0H@Z @ 3119 NONAME ABSENT ; 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 ABSENT ; class QString QDeclarativeWebPage::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeWebPage@@SA?AVQString@@PBD0H@Z @ 3187 NONAME ABSENT ; class QString QDeclarativeWebPage::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeWebView@@SA?AVQString@@PBD0@Z @ 3188 NONAME ABSENT ; class QString QDeclarativeWebView::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeWebView@@SA?AVQString@@PBD0H@Z @ 3189 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; struct QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItem::transitions(void) - ?transitionsProperty@QDeclarativeStateGroup@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3204 NONAME ABSENT ; 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 ABSENT ; class QUrl QDeclarativeWebView::url(void) const - ?urlChanged@QDeclarativeWebView@@IAEXXZ @ 3236 NONAME ABSENT ; void QDeclarativeWebView::urlChanged(void) - ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4UsedAnchor@QDeclarativeAnchors@@@@XZ @ 3237 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativePropertyMap::valueChanged(class QString const &) - ?valueChanged@QDeclarativeSpringFollow@@IAEXM@Z @ 3258 NONAME ; void QDeclarativeSpringFollow::valueChanged(float) - ?valueForNode@QDeclarativeListModel@@ABE?AVQVariant@@PAUModelNode@@@Z @ 3259 NONAME ABSENT ; 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 ABSENT ; float QDeclarativeEaseFollow::velocity(void) const - ?velocity@QDeclarativeParticles@@QBEMXZ @ 3267 NONAME ABSENT ; float QDeclarativeParticles::velocity(void) const - ?velocity@QDeclarativeSpringFollow@@QBEMXZ @ 3268 NONAME ; float QDeclarativeSpringFollow::velocity(void) const - ?velocityChanged@QDeclarativeEaseFollow@@IAEXXZ @ 3269 NONAME ABSENT ; void QDeclarativeEaseFollow::velocityChanged(void) - ?velocityChanged@QDeclarativeParticles@@IAEXXZ @ 3270 NONAME ABSENT ; void QDeclarativeParticles::velocityChanged(void) - ?velocityDeviation@QDeclarativeParticles@@QBEMXZ @ 3271 NONAME ABSENT ; float QDeclarativeParticles::velocityDeviation(void) const - ?velocityDeviationChanged@QDeclarativeParticles@@IAEXXZ @ 3272 NONAME ABSENT ; 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 ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchorChanges::verticalCenter(void) const - ?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3277 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const - ?verticalCenter@QDeclarativeItem@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3278 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; void QDeclarativeDebugService::waitForClients(void) - ?wantsFocus@QDeclarativeItem@@QBE_NXZ @ 3294 NONAME ; bool QDeclarativeItem::wantsFocus(void) const - ?wantsFocusChanged@QDeclarativeItem@@IAEXXZ @ 3295 NONAME ABSENT ; 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 ABSENT ; float QDeclarativeParentChange::width(void) const - ?width@QDeclarativePen@@QBEHXZ @ 3301 NONAME ; int QDeclarativePen::width(void) const - ?widthChange@QDeclarativeFlickable@@IAEXXZ @ 3302 NONAME ABSENT ; void QDeclarativeFlickable::widthChange(void) - ?widthChanged@QDeclarativeItem@@IAEXXZ @ 3303 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeWebView::windowObjectCleared(void) - ?windowText@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 3308 NONAME ; class QColor QDeclarativeSystemPalette::windowText(void) const - ?wrap@QDeclarativeText@@QBE_NXZ @ 3309 NONAME ABSENT ; bool QDeclarativeText::wrap(void) const - ?wrap@QDeclarativeTextEdit@@QBE_NXZ @ 3310 NONAME ABSENT ; bool QDeclarativeTextEdit::wrap(void) const - ?wrapChanged@QDeclarativeText@@IAEX_N@Z @ 3311 NONAME ABSENT ; void QDeclarativeText::wrapChanged(bool) - ?wrapChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 3312 NONAME ABSENT ; 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 ABSENT ; float QDeclarativeParentChange::x(void) const - ?xAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3320 NONAME ABSENT ; float QDeclarativeParticleMotionGravity::xAttractor(void) const - ?xIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3321 NONAME ; bool QDeclarativeParentChange::xIsSet(void) const - ?xToPos@QDeclarativeTextInput@@QAEHH@Z @ 3322 NONAME ABSENT ; int QDeclarativeTextInput::xToPos(int) - ?xVariance@QDeclarativeParticleMotionWander@@QBEMXZ @ 3323 NONAME ABSENT ; float QDeclarativeParticleMotionWander::xVariance(void) const - ?xattractorChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 3324 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParticleMotionWander::xvarianceChanged(void) - ?y@QDeclarativeCurve@@QBEMXZ @ 3330 NONAME ; float QDeclarativeCurve::y(void) const - ?y@QDeclarativeParentChange@@QBEMXZ @ 3331 NONAME ABSENT ; float QDeclarativeParentChange::y(void) const - ?yAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3332 NONAME ABSENT ; float QDeclarativeParticleMotionGravity::yAttractor(void) const - ?yIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3333 NONAME ; bool QDeclarativeParentChange::yIsSet(void) const - ?yVariance@QDeclarativeParticleMotionWander@@QBEMXZ @ 3334 NONAME ABSENT ; float QDeclarativeParticleMotionWander::yVariance(void) const - ?yattractorChanged@QDeclarativeParticleMotionGravity@@IAEXXZ @ 3335 NONAME ABSENT ; 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 ABSENT ; void QDeclarativeParticleMotionWander::yvarianceChanged(void) - ?zoomFactor@QDeclarativeWebView@@QBEMXZ @ 3340 NONAME ABSENT ; float QDeclarativeWebView::zoomFactor(void) const - ?zoomFactorChanged@QDeclarativeWebView@@IAEXXZ @ 3341 NONAME ABSENT ; void QDeclarativeWebView::zoomFactorChanged(void) - ?zoomTo@QDeclarativeWebView@@IAEXMHH@Z @ 3342 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; struct QMetaObject const QDeclarativeEaseFollow::staticMetaObject - ?staticMetaObject@QDeclarativePixmapReply@@2UQMetaObject@@B @ 3367 NONAME ; struct QMetaObject const QDeclarativePixmapReply::staticMetaObject - ?staticMetaObject@QDeclarativeDateTimeFormatter@@2UQMetaObject@@B @ 3368 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; class QHash<class QObject *, class QObject *> QDeclarativePathView::attachedProperties - ?staticMetaObject@QDeclarativeParticles@@2UQMetaObject@@B @ 3407 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; struct QMetaObject const QDeclarativeNumberFormatter::staticMetaObject - ?staticMetaObject@QDeclarativeParticleMotionLinear@@2UQMetaObject@@B @ 3425 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void) - ??1QDeclarativeBinding@@UAE@XZ @ 3445 NONAME ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 ABSENT ; 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 - ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 3498 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *) - ??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 3499 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *) - ??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 3500 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *) - ??0QDeclarativeCustomParser@@QAE@XZ @ 3501 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void) - ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@@Z @ 3502 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *) - ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@AAVQDeclarativeExpressionPrivate@@@Z @ 3503 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &) - ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 3504 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &) - ??0QDeclarativeItemPrivate@@QAE@XZ @ 3505 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void) - ??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 3506 NONAME ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *) - ??0QDeclarativePixmapReply@@AAE@PAVQDeclarativeImageReader@@ABVQUrl@@HH@Z @ 3507 NONAME ; QDeclarativePixmapReply::QDeclarativePixmapReply(class QDeclarativeImageReader *, class QUrl const &, int, int) - ??0QDeclarativeSmoothedAnimation@@QAE@PAVQObject@@@Z @ 3508 NONAME ; QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(class QObject *) - ??0QDeclarativeTranslate@@QAE@PAVQObject@@@Z @ 3509 NONAME ; QDeclarativeTranslate::QDeclarativeTranslate(class QObject *) - ??0QDeclarativeWorkerScript@@QAE@PAVQObject@@@Z @ 3510 NONAME ; QDeclarativeWorkerScript::QDeclarativeWorkerScript(class QObject *) - ??0Variant@QDeclarativeParser@@QAE@ABV01@@Z @ 3511 NONAME ; QDeclarativeParser::Variant::Variant(class QDeclarativeParser::Variant const &) - ??0Variant@QDeclarativeParser@@QAE@ABVQString@@@Z @ 3512 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &) - ??0Variant@QDeclarativeParser@@QAE@ABVQString@@PAVNode@AST@QDeclarativeJS@@@Z @ 3513 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &, class QDeclarativeJS::AST::Node *) - ??0Variant@QDeclarativeParser@@QAE@NABVQString@@@Z @ 3514 NONAME ; QDeclarativeParser::Variant::Variant(double, class QString const &) - ??0Variant@QDeclarativeParser@@QAE@XZ @ 3515 NONAME ; QDeclarativeParser::Variant::Variant(void) - ??0Variant@QDeclarativeParser@@QAE@_N@Z @ 3516 NONAME ; QDeclarativeParser::Variant::Variant(bool) - ??1QDeclarativeAbstractBinding@@MAE@XZ @ 3517 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void) - ??1QDeclarativeBinding@@MAE@XZ @ 3518 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void) - ??1QDeclarativeItemPrivate@@UAE@XZ @ 3519 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(void) - ??1QDeclarativeSmoothedAnimation@@UAE@XZ @ 3520 NONAME ; QDeclarativeSmoothedAnimation::~QDeclarativeSmoothedAnimation(void) - ??1QDeclarativeTranslate@@UAE@XZ @ 3521 NONAME ; QDeclarativeTranslate::~QDeclarativeTranslate(void) - ??1QDeclarativeWorkerScript@@UAE@XZ @ 3522 NONAME ; QDeclarativeWorkerScript::~QDeclarativeWorkerScript(void) - ??1Variant@QDeclarativeParser@@QAE@XZ @ 3523 NONAME ; QDeclarativeParser::Variant::~Variant(void) - ??4Variant@QDeclarativeParser@@QAEAAV01@ABV01@@Z @ 3524 NONAME ; class QDeclarativeParser::Variant & QDeclarativeParser::Variant::operator=(class QDeclarativeParser::Variant const &) - ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 3525 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](int) - ??_EQDeclarativeItemPrivate@@UAE@I@Z @ 3526 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(unsigned int) - ??_EQDeclarativeSmoothedAnimation@@UAE@I@Z @ 3527 NONAME ; QDeclarativeSmoothedAnimation::~QDeclarativeSmoothedAnimation(unsigned int) - ??_EQDeclarativeTranslate@@UAE@I@Z @ 3528 NONAME ; QDeclarativeTranslate::~QDeclarativeTranslate(unsigned int) - ??_EQDeclarativeWorkerScript@@UAE@I@Z @ 3529 NONAME ; QDeclarativeWorkerScript::~QDeclarativeWorkerScript(unsigned int) - ?addItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 3530 NONAME ; void QDeclarativeItemPrivate::addItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>) - ?additionalActions@QDeclarativeAnchorChanges@@QAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 3531 NONAME ; class QList<class QDeclarativeAction> QDeclarativeAnchorChanges::additionalActions(void) - ?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 3532 NONAME ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void) - ?anchorLines@QDeclarativeItemPrivate@@QBEPAUAnchorLines@1@XZ @ 3533 NONAME ; struct QDeclarativeItemPrivate::AnchorLines * QDeclarativeItemPrivate::anchorLines(void) const - ?anchors@QDeclarativeAnchorChanges@@QAEPAVQDeclarativeAnchorSet@@XZ @ 3534 NONAME ; class QDeclarativeAnchorSet * QDeclarativeAnchorChanges::anchors(void) - ?anchors@QDeclarativeItemPrivate@@QAEPAVQDeclarativeAnchors@@XZ @ 3535 NONAME ; class QDeclarativeAnchors * QDeclarativeItemPrivate::anchors(void) - ?animations@QDeclarativeTransition@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 3536 NONAME ; class QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void) - ?applyTo@QDeclarativeTranslate@@UBEXPAVQMatrix4x4@@@Z @ 3537 NONAME ; void QDeclarativeTranslate::applyTo(class QMatrix4x4 *) const - ?asAST@Variant@QDeclarativeParser@@QBEPAVNode@AST@QDeclarativeJS@@XZ @ 3538 NONAME ; class QDeclarativeJS::AST::Node * QDeclarativeParser::Variant::asAST(void) const - ?asBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 3539 NONAME ; bool QDeclarativeParser::Variant::asBoolean(void) const - ?asNumber@Variant@QDeclarativeParser@@QBENXZ @ 3540 NONAME ; double QDeclarativeParser::Variant::asNumber(void) const - ?asScript@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 3541 NONAME ; class QString QDeclarativeParser::Variant::asScript(void) const - ?asString@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 3542 NONAME ; class QString QDeclarativeParser::Variant::asString(void) const - ?asStringList@Variant@QDeclarativeParser@@QBE?AVQStringList@@XZ @ 3543 NONAME ; class QStringList QDeclarativeParser::Variant::asStringList(void) const - ?back@QDeclarativeFlipable@@QAEPAVQGraphicsObject@@XZ @ 3544 NONAME ; class QGraphicsObject * QDeclarativeFlipable::back(void) - ?baseline@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3545 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const - ?baseline@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3546 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::baseline(void) const - ?baselineOffsetChanged@QDeclarativeItem@@IAEXM@Z @ 3547 NONAME ; void QDeclarativeItem::baselineOffsetChanged(float) - ?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 3548 NONAME ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &) - ?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 3549 NONAME ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const - ?bottom@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3550 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const - ?bottom@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3551 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::bottom(void) const - ?buildPropertyOnAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@1PAVValue@3@ABUBindingContext@1@@Z @ 3552 NONAME ; bool QDeclarativeCompiler::buildPropertyOnAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, struct QDeclarativeCompiler::BindingContext const &) - ?cacheBufferChanged@QDeclarativeGridView@@IAEXXZ @ 3553 NONAME ; void QDeclarativeGridView::cacheBufferChanged(void) - ?cacheBufferChanged@QDeclarativeListView@@IAEXXZ @ 3554 NONAME ; void QDeclarativeListView::cacheBufferChanged(void) - ?changes@QDeclarativeState@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 3555 NONAME ; class QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void) - ?checkValidId@QDeclarativeCompiler@@AAE_NPAVValue@QDeclarativeParser@@ABVQString@@@Z @ 3556 NONAME ; bool QDeclarativeCompiler::checkValidId(class QDeclarativeParser::Value *, class QString const &) - ?children@QDeclarativeVisualItemModel@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 3557 NONAME ; class QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeVisualItemModel::children(void) - ?childrenRectChanged@QDeclarativeItem@@IAEXABVQRectF@@@Z @ 3558 NONAME ; void QDeclarativeItem::childrenRectChanged(class QRectF const &) - ?clearBindings@QDeclarativeAnchorChanges@@UAEXXZ @ 3559 NONAME ; void QDeclarativeAnchorChanges::clearBindings(void) - ?clipChanged@QDeclarativeItem@@IAEX_N@Z @ 3560 NONAME ; void QDeclarativeItem::clipChanged(bool) - ?componentComplete@QDeclarativeWorkerScript@@MAEXXZ @ 3561 NONAME ; void QDeclarativeWorkerScript::componentComplete(void) - ?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 3562 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const - ?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 3563 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const - ?copyOriginals@QDeclarativeAnchorChanges@@UAEXPAVQDeclarativeActionEvent@@@Z @ 3564 NONAME ; void QDeclarativeAnchorChanges::copyOriginals(class QDeclarativeActionEvent *) - ?copyOriginals@QDeclarativeParentChange@@UAEXPAVQDeclarativeActionEvent@@@Z @ 3565 NONAME ABSENT ; void QDeclarativeParentChange::copyOriginals(class QDeclarativeActionEvent *) - ?countChanged@QDeclarativeListModel@@IAEXXZ @ 3566 NONAME ; void QDeclarativeListModel::countChanged(void) - ?countChanged@QDeclarativePathView@@IAEXXZ @ 3567 NONAME ; void QDeclarativePathView::countChanged(void) - ?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 3568 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const - ?currentTime@QDeclarativeItemPrivate@@SA?AVQTime@@XZ @ 3569 NONAME ABSENT ; class QTime QDeclarativeItemPrivate::currentTime(void) - ?d_func@QDeclarativeFocusPanel@@AAEPAVQDeclarativeItemPrivate@@XZ @ 3570 NONAME ; class QDeclarativeItemPrivate * QDeclarativeFocusPanel::d_func(void) - ?d_func@QDeclarativeFocusPanel@@ABEPBVQDeclarativeItemPrivate@@XZ @ 3571 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeFocusPanel::d_func(void) const - ?d_func@QDeclarativeFocusScope@@AAEPAVQDeclarativeItemPrivate@@XZ @ 3572 NONAME ; class QDeclarativeItemPrivate * QDeclarativeFocusScope::d_func(void) - ?d_func@QDeclarativeFocusScope@@ABEPBVQDeclarativeItemPrivate@@XZ @ 3573 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeFocusScope::d_func(void) const - ?d_func@QDeclarativeSmoothedAnimation@@AAEPAVQDeclarativeSmoothedAnimationPrivate@@XZ @ 3574 NONAME ; class QDeclarativeSmoothedAnimationPrivate * QDeclarativeSmoothedAnimation::d_func(void) - ?d_func@QDeclarativeSmoothedAnimation@@ABEPBVQDeclarativeSmoothedAnimationPrivate@@XZ @ 3575 NONAME ; class QDeclarativeSmoothedAnimationPrivate const * QDeclarativeSmoothedAnimation::d_func(void) const - ?d_func@QDeclarativeTranslate@@AAEPAVQDeclarativeTranslatePrivate@@XZ @ 3576 NONAME ; class QDeclarativeTranslatePrivate * QDeclarativeTranslate::d_func(void) - ?d_func@QDeclarativeTranslate@@ABEPBVQDeclarativeTranslatePrivate@@XZ @ 3577 NONAME ; class QDeclarativeTranslatePrivate const * QDeclarativeTranslate::d_func(void) const - ?data@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3578 NONAME ABSENT ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::data(void) - ?dataCleared@QDeclarativeXmlListModel@@AAEXXZ @ 3579 NONAME ; void QDeclarativeXmlListModel::dataCleared(void) - ?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 3580 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *) - ?delegateChanged@QDeclarativeGridView@@IAEXXZ @ 3581 NONAME ; void QDeclarativeGridView::delegateChanged(void) - ?delegateChanged@QDeclarativeListView@@IAEXXZ @ 3582 NONAME ; void QDeclarativeListView::delegateChanged(void) - ?delegateChanged@QDeclarativePathView@@IAEXXZ @ 3583 NONAME ; void QDeclarativePathView::delegateChanged(void) - ?doPositioning@QDeclarativeColumn@@MAEXPAVQSizeF@@@Z @ 3584 NONAME ; void QDeclarativeColumn::doPositioning(class QSizeF *) - ?doPositioning@QDeclarativeFlow@@MAEXPAVQSizeF@@@Z @ 3585 NONAME ; void QDeclarativeFlow::doPositioning(class QSizeF *) - ?doPositioning@QDeclarativeGrid@@MAEXPAVQSizeF@@@Z @ 3586 NONAME ; void QDeclarativeGrid::doPositioning(class QSizeF *) - ?doPositioning@QDeclarativeRow@@MAEXPAVQSizeF@@@Z @ 3587 NONAME ; void QDeclarativeRow::doPositioning(class QSizeF *) - ?dragMarginChanged@QDeclarativePathView@@IAEXXZ @ 3588 NONAME ; void QDeclarativePathView::dragMarginChanged(void) - ?duration@QDeclarativeSmoothedAnimation@@UBEHXZ @ 3589 NONAME ; int QDeclarativeSmoothedAnimation::duration(void) const - ?elapsed@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3590 NONAME ABSENT ; int QDeclarativeItemPrivate::elapsed(class QTime &) - ?evaluateEnum@QDeclarativeCompiler@@QBEHABVQByteArray@@@Z @ 3591 NONAME ; int QDeclarativeCompiler::evaluateEnum(class QByteArray const &) const - ?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 3592 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const - ?event@QDeclarativeGridView@@MAE_NPAVQEvent@@@Z @ 3593 NONAME ; bool QDeclarativeGridView::event(class QEvent *) - ?event@QDeclarativeListView@@MAE_NPAVQEvent@@@Z @ 3594 NONAME ; bool QDeclarativeListView::event(class QEvent *) - ?event@QDeclarativeWorkerScript@@MAE_NPAVQEvent@@@Z @ 3595 NONAME ; bool QDeclarativeWorkerScript::event(class QEvent *) - ?flatten@QDeclarativeListModel@@AAE_NXZ @ 3596 NONAME ; bool QDeclarativeListModel::flatten(void) - ?flickDeceleration@QDeclarativePathView@@QBEMXZ @ 3597 NONAME ; float QDeclarativePathView::flickDeceleration(void) const - ?flickDecelerationChanged@QDeclarativePathView@@IAEXXZ @ 3598 NONAME ; void QDeclarativePathView::flickDecelerationChanged(void) - ?flickableChildren@QDeclarativeFlickable@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 3599 NONAME ; class QDeclarativeListProperty<class QGraphicsObject> QDeclarativeFlickable::flickableChildren(void) - ?flickableData@QDeclarativeFlickable@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3600 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeFlickable::flickableData(void) - ?flowChanged@QDeclarativeGridView@@IAEXXZ @ 3601 NONAME ; void QDeclarativeGridView::flowChanged(void) - ?focusChanged@QDeclarativeItem@@IAEX_N@Z @ 3602 NONAME ; void QDeclarativeItem::focusChanged(bool) - ?focusChanged@QDeclarativeItemPrivate@@UAEX_N@Z @ 3603 NONAME ; void QDeclarativeItemPrivate::focusChanged(bool) - ?footerChanged@QDeclarativeListView@@IAEXXZ @ 3604 NONAME ; void QDeclarativeListView::footerChanged(void) - ?forcedHeight@QDeclarativePixmapReply@@QBEHXZ @ 3605 NONAME ; int QDeclarativePixmapReply::forcedHeight(void) const - ?forcedWidth@QDeclarativePixmapReply@@QBEHXZ @ 3606 NONAME ; int QDeclarativePixmapReply::forcedWidth(void) const - ?fromChanged@QDeclarativeTransition@@IAEXXZ @ 3607 NONAME ; void QDeclarativeTransition::fromChanged(void) - ?front@QDeclarativeFlipable@@QAEPAVQGraphicsObject@@XZ @ 3608 NONAME ; class QGraphicsObject * QDeclarativeFlipable::front(void) - ?geometryChanged@QDeclarativeFlickable@@MAEXABVQRectF@@0@Z @ 3609 NONAME ; void QDeclarativeFlickable::geometryChanged(class QRectF const &, class QRectF const &) - ?get@QDeclarativePixmapCache@@SA?AW4Status@QDeclarativePixmapReply@@ABVQUrl@@PAVQPixmap@@PAVQSize@@_NHH@Z @ 3610 NONAME ABSENT ; enum QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(class QUrl const &, class QPixmap *, class QSize *, bool, int, int) - ?getStaticMetaObject@QDeclarativeSmoothedAnimation@@SAABUQMetaObject@@XZ @ 3611 NONAME ; struct QMetaObject const & QDeclarativeSmoothedAnimation::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeTranslate@@SAABUQMetaObject@@XZ @ 3612 NONAME ; struct QMetaObject const & QDeclarativeTranslate::getStaticMetaObject(void) - ?getStaticMetaObject@QDeclarativeWorkerScript@@SAABUQMetaObject@@XZ @ 3613 NONAME ; struct QMetaObject const & QDeclarativeWorkerScript::getStaticMetaObject(void) - ?headerChanged@QDeclarativeListView@@IAEXXZ @ 3614 NONAME ; void QDeclarativeListView::headerChanged(void) - ?height@QDeclarativeItemPrivate@@UBEMXZ @ 3615 NONAME ; float QDeclarativeItemPrivate::height(void) const - ?highlight@QDeclarativePathView@@QBEPAVQDeclarativeComponent@@XZ @ 3616 NONAME ; class QDeclarativeComponent * QDeclarativePathView::highlight(void) const - ?highlightChanged@QDeclarativePathView@@IAEXXZ @ 3617 NONAME ; void QDeclarativePathView::highlightChanged(void) - ?highlightFollowsCurrentItemChanged@QDeclarativeListView@@IAEXXZ @ 3618 NONAME ; void QDeclarativeListView::highlightFollowsCurrentItemChanged(void) - ?highlightItem@QDeclarativePathView@@QAEPAVQDeclarativeItem@@XZ @ 3619 NONAME ; class QDeclarativeItem * QDeclarativePathView::highlightItem(void) - ?highlightItemChanged@QDeclarativeGridView@@IAEXXZ @ 3620 NONAME ; void QDeclarativeGridView::highlightItemChanged(void) - ?highlightItemChanged@QDeclarativeListView@@IAEXXZ @ 3621 NONAME ; void QDeclarativeListView::highlightItemChanged(void) - ?highlightItemChanged@QDeclarativePathView@@IAEXXZ @ 3622 NONAME ; void QDeclarativePathView::highlightItemChanged(void) - ?highlightRangeMode@QDeclarativeGridView@@QBE?AW4HighlightRangeMode@1@XZ @ 3623 NONAME ; enum QDeclarativeGridView::HighlightRangeMode QDeclarativeGridView::highlightRangeMode(void) const - ?highlightRangeMode@QDeclarativePathView@@QBE?AW4HighlightRangeMode@1@XZ @ 3624 NONAME ; enum QDeclarativePathView::HighlightRangeMode QDeclarativePathView::highlightRangeMode(void) const - ?highlightRangeModeChanged@QDeclarativeGridView@@IAEXXZ @ 3625 NONAME ; void QDeclarativeGridView::highlightRangeModeChanged(void) - ?highlightRangeModeChanged@QDeclarativeListView@@IAEXXZ @ 3626 NONAME ; void QDeclarativeListView::highlightRangeModeChanged(void) - ?highlightRangeModeChanged@QDeclarativePathView@@IAEXXZ @ 3627 NONAME ; void QDeclarativePathView::highlightRangeModeChanged(void) - ?horizontalCenter@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3628 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const - ?horizontalCenter@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3629 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::horizontalCenter(void) const - ?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 3630 NONAME ; class QString QDeclarativeDebugObjectReference::idString(void) const - ?implicitSize@QDeclarativePixmapReply@@QBE?AVQSize@@XZ @ 3631 NONAME ; class QSize QDeclarativePixmapReply::implicitSize(void) const - ?importPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 3632 NONAME ; class QStringList QDeclarativeEngine::importPathList(void) const - ?indexAt@QDeclarativeGridView@@QBEHHH@Z @ 3633 NONAME ; int QDeclarativeGridView::indexAt(int, int) const - ?indexAt@QDeclarativeListView@@QBEHHH@Z @ 3634 NONAME ; int QDeclarativeListView::indexAt(int, int) const - ?init@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItem@@@Z @ 3635 NONAME ; void QDeclarativeItemPrivate::init(class QDeclarativeItem *) - ?interactiveChanged@QDeclarativePathView@@IAEXXZ @ 3636 NONAME ; void QDeclarativePathView::interactiveChanged(void) - ?intervalChanged@QDeclarativeTimer@@IAEXXZ @ 3637 NONAME ; void QDeclarativeTimer::intervalChanged(void) - ?isBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 3638 NONAME ; bool QDeclarativeParser::Variant::isBoolean(void) const - ?isCreatable@QDeclarativeType@@QBE_NXZ @ 3639 NONAME ; bool QDeclarativeType::isCreatable(void) const - ?isInteractive@QDeclarativePathView@@QBE_NXZ @ 3640 NONAME ; bool QDeclarativePathView::isInteractive(void) const - ?isKeyChanged@QDeclarativeXmlListModelRole@@IAEXXZ @ 3641 NONAME ; void QDeclarativeXmlListModelRole::isKeyChanged(void) - ?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 3642 NONAME ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int) - ?isNumber@Variant@QDeclarativeParser@@QBE_NXZ @ 3643 NONAME ; bool QDeclarativeParser::Variant::isNumber(void) const - ?isScript@Variant@QDeclarativeParser@@QBE_NXZ @ 3644 NONAME ; bool QDeclarativeParser::Variant::isScript(void) const - ?isString@Variant@QDeclarativeParser@@QBE_NXZ @ 3645 NONAME ; bool QDeclarativeParser::Variant::isString(void) const - ?isStringList@Variant@QDeclarativeParser@@QBE_NXZ @ 3646 NONAME ; bool QDeclarativeParser::Variant::isStringList(void) const - ?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 3647 NONAME ; bool QDeclarativeValueTypeFactory::isValueType(int) - ?itemsMoved@QDeclarativePathView@@AAEXHHH@Z @ 3648 NONAME ; void QDeclarativePathView::itemsMoved(int, int, int) - ?keyNavigationWrapsChanged@QDeclarativeGridView@@IAEXXZ @ 3649 NONAME ; void QDeclarativeGridView::keyNavigationWrapsChanged(void) - ?keyNavigationWrapsChanged@QDeclarativeListView@@IAEXXZ @ 3650 NONAME ; void QDeclarativeListView::keyNavigationWrapsChanged(void) - ?left@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3651 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const - ?left@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3652 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::left(void) const - ?mapFromItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 3653 NONAME ; class QScriptValue QDeclarativeItem::mapFromItem(class QScriptValue const &, float, float) const - ?mapToItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 3654 NONAME ; class QScriptValue QDeclarativeItem::mapToItem(class QScriptValue const &, float, float) const - ?maximumEasingTime@QDeclarativeSmoothedAnimation@@QBEHXZ @ 3655 NONAME ; int QDeclarativeSmoothedAnimation::maximumEasingTime(void) const - ?maximumEasingTimeChanged@QDeclarativeSmoothedAnimation@@IAEXXZ @ 3656 NONAME ; void QDeclarativeSmoothedAnimation::maximumEasingTimeChanged(void) - ?message@QDeclarativeWorkerScript@@IAEXABVQScriptValue@@@Z @ 3657 NONAME ; void QDeclarativeWorkerScript::message(class QScriptValue const &) - ?metaObject@QDeclarativeSmoothedAnimation@@UBEPBUQMetaObject@@XZ @ 3658 NONAME ; struct QMetaObject const * QDeclarativeSmoothedAnimation::metaObject(void) const - ?metaObject@QDeclarativeTranslate@@UBEPBUQMetaObject@@XZ @ 3659 NONAME ; struct QMetaObject const * QDeclarativeTranslate::metaObject(void) const - ?metaObject@QDeclarativeWorkerScript@@UBEPBUQMetaObject@@XZ @ 3660 NONAME ; struct QMetaObject const * QDeclarativeWorkerScript::metaObject(void) const - ?modelChanged@QDeclarativeGridView@@IAEXXZ @ 3661 NONAME ; void QDeclarativeGridView::modelChanged(void) - ?modelChanged@QDeclarativeListView@@IAEXXZ @ 3662 NONAME ; void QDeclarativeListView::modelChanged(void) - ?modelChanged@QDeclarativePathView@@IAEXXZ @ 3663 NONAME ; void QDeclarativePathView::modelChanged(void) - ?nameChanged@QDeclarativePathAttribute@@IAEXXZ @ 3664 NONAME ; void QDeclarativePathAttribute::nameChanged(void) - ?nameChanged@QDeclarativeXmlListModelRole@@IAEXXZ @ 3665 NONAME ; void QDeclarativeXmlListModelRole::nameChanged(void) - ?namespaceDeclarationsChanged@QDeclarativeXmlListModel@@IAEXXZ @ 3666 NONAME ; void QDeclarativeXmlListModel::namespaceDeclarationsChanged(void) - ?objectOwnership@QDeclarativeEngine@@SA?AW4ObjectOwnership@1@PAVQObject@@@Z @ 3667 NONAME ; enum QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(class QObject *) - ?parentChanged@QDeclarativeItem@@IAEXPAV1@@Z @ 3668 NONAME ; void QDeclarativeItem::parentChanged(class QDeclarativeItem *) - ?parentProperty@QDeclarativeItemPrivate@@SAXPAVQObject@@PAXPAVQDeclarativeNotifierEndpoint@@@Z @ 3669 NONAME ; void QDeclarativeItemPrivate::parentProperty(class QObject *, void *, class QDeclarativeNotifierEndpoint *) - ?pathChanged@QDeclarativePathView@@IAEXXZ @ 3670 NONAME ; void QDeclarativePathView::pathChanged(void) - ?pathElements@QDeclarativePath@@QAE?AV?$QDeclarativeListProperty@VQDeclarativePathElement@@@@XZ @ 3671 NONAME ; class QDeclarativeListProperty<class QDeclarativePathElement> QDeclarativePath::pathElements(void) - ?pathItemCountChanged@QDeclarativePathView@@IAEXXZ @ 3672 NONAME ; void QDeclarativePathView::pathItemCountChanged(void) - ?pixmapChange@QDeclarativeImage@@MAEXXZ @ 3673 NONAME ; void QDeclarativeImage::pixmapChange(void) - ?pixmapChange@QDeclarativeImageBase@@MAEXXZ @ 3674 NONAME ; void QDeclarativeImageBase::pixmapChange(void) - ?pixmapChanged@QDeclarativeImage@@IAEXXZ @ 3675 NONAME ; void QDeclarativeImage::pixmapChanged(void) - ?positionChanged@QDeclarativeTranslate@@IAEXXZ @ 3676 NONAME ; void QDeclarativeTranslate::positionChanged(void) - ?positionViewAtIndex@QDeclarativeGridView@@QAEXHH@Z @ 3677 NONAME ; void QDeclarativeGridView::positionViewAtIndex(int, int) - ?positionViewAtIndex@QDeclarativeListView@@QAEXHH@Z @ 3678 NONAME ; void QDeclarativeListView::positionViewAtIndex(int, int) - ?preferredHighlightBegin@QDeclarativeGridView@@QBEMXZ @ 3679 NONAME ; float QDeclarativeGridView::preferredHighlightBegin(void) const - ?preferredHighlightBegin@QDeclarativePathView@@QBEMXZ @ 3680 NONAME ; float QDeclarativePathView::preferredHighlightBegin(void) const - ?preferredHighlightBeginChanged@QDeclarativeGridView@@IAEXXZ @ 3681 NONAME ; void QDeclarativeGridView::preferredHighlightBeginChanged(void) - ?preferredHighlightBeginChanged@QDeclarativeListView@@IAEXXZ @ 3682 NONAME ; void QDeclarativeListView::preferredHighlightBeginChanged(void) - ?preferredHighlightBeginChanged@QDeclarativePathView@@IAEXXZ @ 3683 NONAME ; void QDeclarativePathView::preferredHighlightBeginChanged(void) - ?preferredHighlightEnd@QDeclarativeGridView@@QBEMXZ @ 3684 NONAME ; float QDeclarativeGridView::preferredHighlightEnd(void) const - ?preferredHighlightEnd@QDeclarativePathView@@QBEMXZ @ 3685 NONAME ; float QDeclarativePathView::preferredHighlightEnd(void) const - ?preferredHighlightEndChanged@QDeclarativeGridView@@IAEXXZ @ 3686 NONAME ; void QDeclarativeGridView::preferredHighlightEndChanged(void) - ?preferredHighlightEndChanged@QDeclarativeListView@@IAEXXZ @ 3687 NONAME ; void QDeclarativeListView::preferredHighlightEndChanged(void) - ?preferredHighlightEndChanged@QDeclarativePathView@@IAEXXZ @ 3688 NONAME ; void QDeclarativePathView::preferredHighlightEndChanged(void) - ?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 3689 NONAME ; void QDeclarativeOpenMetaObject::propertyWritten(int) - ?q_func@QDeclarativeItemPrivate@@AAEPAVQDeclarativeItem@@XZ @ 3690 NONAME ; class QDeclarativeItem * QDeclarativeItemPrivate::q_func(void) - ?q_func@QDeclarativeItemPrivate@@ABEPBVQDeclarativeItem@@XZ @ 3691 NONAME ; class QDeclarativeItem const * QDeclarativeItemPrivate::q_func(void) const - ?qmlAttachedProperties@QDeclarativePathView@@SAPAVQDeclarativePathViewAttached@@PAVQObject@@@Z @ 3692 NONAME ; class QDeclarativePathViewAttached * QDeclarativePathView::qmlAttachedProperties(class QObject *) - ?qtAnimation@QDeclarativeSmoothedAnimation@@UAEPAVQAbstractAnimation@@XZ @ 3693 NONAME ; class QAbstractAnimation * QDeclarativeSmoothedAnimation::qtAnimation(void) - ?qt_metacall@QDeclarativeSmoothedAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3694 NONAME ; int QDeclarativeSmoothedAnimation::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeTranslate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3695 NONAME ; int QDeclarativeTranslate::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@QDeclarativeWorkerScript@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3696 NONAME ; int QDeclarativeWorkerScript::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacast@QDeclarativeSmoothedAnimation@@UAEPAXPBD@Z @ 3697 NONAME ; void * QDeclarativeSmoothedAnimation::qt_metacast(char const *) - ?qt_metacast@QDeclarativeTranslate@@UAEPAXPBD@Z @ 3698 NONAME ; void * QDeclarativeTranslate::qt_metacast(char const *) - ?qt_metacast@QDeclarativeWorkerScript@@UAEPAXPBD@Z @ 3699 NONAME ; void * QDeclarativeWorkerScript::qt_metacast(char const *) - ?queryChanged@QDeclarativeXmlListModel@@IAEXXZ @ 3700 NONAME ; void QDeclarativeXmlListModel::queryChanged(void) - ?queryChanged@QDeclarativeXmlListModelRole@@IAEXXZ @ 3701 NONAME ; void QDeclarativeXmlListModelRole::queryChanged(void) - ?queryCompleted@QDeclarativeXmlListModel@@AAEXABUQDeclarativeXmlQueryResult@@@Z @ 3702 NONAME ; void QDeclarativeXmlListModel::queryCompleted(struct QDeclarativeXmlQueryResult const &) - ?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 3703 NONAME ; void QDeclarativeValueTypeFactory::registerValueTypes(void) - ?removeItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 3704 NONAME ; void QDeclarativeItemPrivate::removeItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>) - ?repeatChanged@QDeclarativeTimer@@IAEXXZ @ 3705 NONAME ; void QDeclarativeTimer::repeatChanged(void) - ?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@HH@Z @ 3706 NONAME ; class QDeclarativePixmapReply * QDeclarativePixmapCache::request(class QDeclarativeEngine *, class QUrl const &, int, int) - ?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 3707 NONAME ; void QDeclarativeItemPrivate::resetHeight(void) - ?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 3708 NONAME ; void QDeclarativeItemPrivate::resetWidth(void) - ?resources@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3709 NONAME ABSENT ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::resources(void) - ?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 3710 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *) - ?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 3711 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int) - ?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 3712 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *) - ?restart@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3713 NONAME ABSENT ; int QDeclarativeItemPrivate::restart(class QTime &) - ?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 3714 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *) - ?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 3715 NONAME ; void QDeclarativeTransition::reversibleChanged(void) - ?reversingMode@QDeclarativeSmoothedAnimation@@QBE?AW4ReversingMode@1@XZ @ 3716 NONAME ; enum QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode(void) const - ?reversingModeChanged@QDeclarativeSmoothedAnimation@@IAEXXZ @ 3717 NONAME ; void QDeclarativeSmoothedAnimation::reversingModeChanged(void) - ?right@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3718 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const - ?right@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3719 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::right(void) const - ?roleObjects@QDeclarativeXmlListModel@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeXmlListModelRole@@@@XZ @ 3720 NONAME ; class QDeclarativeListProperty<class QDeclarativeXmlListModelRole> QDeclarativeXmlListModel::roleObjects(void) - ?saveTargetValues@QDeclarativeAnchorChanges@@UAEXXZ @ 3721 NONAME ; void QDeclarativeAnchorChanges::saveTargetValues(void) - ?sendMessage@QDeclarativeWorkerScript@@QAEXABVQScriptValue@@@Z @ 3722 NONAME ; void QDeclarativeWorkerScript::sendMessage(class QScriptValue const &) - ?setBack@QDeclarativeFlipable@@QAEXPAVQGraphicsObject@@@Z @ 3723 NONAME ; void QDeclarativeFlipable::setBack(class QGraphicsObject *) - ?setBaseline@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3724 NONAME ABSENT ; void QDeclarativeAnchors::setBaseline(struct QDeclarativeAnchorLine const &) - ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3725 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) - ?setBottom@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3726 NONAME ABSENT ; void QDeclarativeAnchors::setBottom(struct QDeclarativeAnchorLine const &) - ?setContextObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 3727 NONAME ; void QDeclarativeContext::setContextObject(class QObject *) - ?setDuration@QDeclarativeSmoothedAnimation@@UAEXH@Z @ 3728 NONAME ; void QDeclarativeSmoothedAnimation::setDuration(int) - ?setFlickDeceleration@QDeclarativePathView@@QAEXM@Z @ 3729 NONAME ; void QDeclarativePathView::setFlickDeceleration(float) - ?setFront@QDeclarativeFlipable@@QAEXPAVQGraphicsObject@@@Z @ 3730 NONAME ; void QDeclarativeFlipable::setFront(class QGraphicsObject *) - ?setHeight@QDeclarativeItemPrivate@@UAEXM@Z @ 3731 NONAME ; void QDeclarativeItemPrivate::setHeight(float) - ?setHighlight@QDeclarativePathView@@QAEXPAVQDeclarativeComponent@@@Z @ 3732 NONAME ; void QDeclarativePathView::setHighlight(class QDeclarativeComponent *) - ?setHighlightRangeMode@QDeclarativeGridView@@QAEXW4HighlightRangeMode@1@@Z @ 3733 NONAME ; void QDeclarativeGridView::setHighlightRangeMode(enum QDeclarativeGridView::HighlightRangeMode) - ?setHighlightRangeMode@QDeclarativePathView@@QAEXW4HighlightRangeMode@1@@Z @ 3734 NONAME ; void QDeclarativePathView::setHighlightRangeMode(enum QDeclarativePathView::HighlightRangeMode) - ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3735 NONAME ABSENT ; void QDeclarativeAnchors::setHorizontalCenter(struct QDeclarativeAnchorLine const &) - ?setImportPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 3736 NONAME ; void QDeclarativeEngine::setImportPathList(class QStringList const &) - ?setInteractive@QDeclarativePathView@@QAEX_N@Z @ 3737 NONAME ; void QDeclarativePathView::setInteractive(bool) - ?setLeft@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3738 NONAME ABSENT ; void QDeclarativeAnchors::setLeft(struct QDeclarativeAnchorLine const &) - ?setMaximumEasingTime@QDeclarativeSmoothedAnimation@@QAEXH@Z @ 3739 NONAME ; void QDeclarativeSmoothedAnimation::setMaximumEasingTime(int) - ?setObjectOwnership@QDeclarativeEngine@@SAXPAVQObject@@W4ObjectOwnership@1@@Z @ 3740 NONAME ; void QDeclarativeEngine::setObjectOwnership(class QObject *, enum QDeclarativeEngine::ObjectOwnership) - ?setPosHelper@QDeclarativeItemPrivate@@UAEXABVQPointF@@@Z @ 3741 NONAME ; void QDeclarativeItemPrivate::setPosHelper(class QPointF const &) - ?setPreferredHighlightBegin@QDeclarativeGridView@@QAEXM@Z @ 3742 NONAME ; void QDeclarativeGridView::setPreferredHighlightBegin(float) - ?setPreferredHighlightBegin@QDeclarativePathView@@QAEXM@Z @ 3743 NONAME ; void QDeclarativePathView::setPreferredHighlightBegin(float) - ?setPreferredHighlightEnd@QDeclarativeGridView@@QAEXM@Z @ 3744 NONAME ; void QDeclarativeGridView::setPreferredHighlightEnd(float) - ?setPreferredHighlightEnd@QDeclarativePathView@@QAEXM@Z @ 3745 NONAME ; void QDeclarativePathView::setPreferredHighlightEnd(float) - ?setReversingMode@QDeclarativeSmoothedAnimation@@QAEXW4ReversingMode@1@@Z @ 3746 NONAME ; void QDeclarativeSmoothedAnimation::setReversingMode(enum QDeclarativeSmoothedAnimation::ReversingMode) - ?setRight@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3747 NONAME ABSENT ; void QDeclarativeAnchors::setRight(struct QDeclarativeAnchorLine const &) - ?setSize@QDeclarativeItem@@QAEXABVQSizeF@@@Z @ 3748 NONAME ; void QDeclarativeItem::setSize(class QSizeF const &) - ?setSnapMode@QDeclarativeGridView@@QAEXW4SnapMode@1@@Z @ 3749 NONAME ; void QDeclarativeGridView::setSnapMode(enum QDeclarativeGridView::SnapMode) - ?setSource@QDeclarativeWorkerScript@@QAEXABVQUrl@@@Z @ 3750 NONAME ; void QDeclarativeWorkerScript::setSource(class QUrl const &) - ?setSourceSize@QDeclarativeImageBase@@QAEXABVQSize@@@Z @ 3751 NONAME ABSENT ; void QDeclarativeImageBase::setSourceSize(class QSize const &) - ?setTarget@QDeclarativeDrag@@QAEXPAVQGraphicsObject@@@Z @ 3752 NONAME ; void QDeclarativeDrag::setTarget(class QGraphicsObject *) - ?setTop@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3753 NONAME ABSENT ; void QDeclarativeAnchors::setTop(struct QDeclarativeAnchorLine const &) - ?setVelocity@QDeclarativeSmoothedAnimation@@QAEXM@Z @ 3754 NONAME ; void QDeclarativeSmoothedAnimation::setVelocity(float) - ?setVerticalCenter@QDeclarativeAnchors@@QAEXABUQDeclarativeAnchorLine@@@Z @ 3755 NONAME ABSENT ; void QDeclarativeAnchors::setVerticalCenter(struct QDeclarativeAnchorLine const &) - ?setWidth@QDeclarativeItemPrivate@@UAEXM@Z @ 3756 NONAME ; void QDeclarativeItemPrivate::setWidth(float) - ?setX@QDeclarativeTranslate@@QAEXM@Z @ 3757 NONAME ; void QDeclarativeTranslate::setX(float) - ?setY@QDeclarativeTranslate@@QAEXM@Z @ 3758 NONAME ; void QDeclarativeTranslate::setY(float) - ?siblingOrderChange@QDeclarativeItemPrivate@@UAEXXZ @ 3759 NONAME ; void QDeclarativeItemPrivate::siblingOrderChange(void) - ?smoothChanged@QDeclarativeItem@@IAEX_N@Z @ 3760 NONAME ; void QDeclarativeItem::smoothChanged(bool) - ?snapMode@QDeclarativeGridView@@QBE?AW4SnapMode@1@XZ @ 3761 NONAME ; enum QDeclarativeGridView::SnapMode QDeclarativeGridView::snapMode(void) const - ?snapModeChanged@QDeclarativeGridView@@IAEXXZ @ 3762 NONAME ; void QDeclarativeGridView::snapModeChanged(void) - ?snapModeChanged@QDeclarativeListView@@IAEXXZ @ 3763 NONAME ; void QDeclarativeListView::snapModeChanged(void) - ?snapPositionChanged@QDeclarativePathView@@IAEXXZ @ 3764 NONAME ; void QDeclarativePathView::snapPositionChanged(void) - ?source@QDeclarativeWorkerScript@@QBE?AVQUrl@@XZ @ 3765 NONAME ; class QUrl QDeclarativeWorkerScript::source(void) const - ?sourceChanged@QDeclarativeWorkerScript@@IAEXXZ @ 3766 NONAME ; void QDeclarativeWorkerScript::sourceChanged(void) - ?sourceChanged@QDeclarativeXmlListModel@@IAEXXZ @ 3767 NONAME ; void QDeclarativeXmlListModel::sourceChanged(void) - ?sourceSize@QDeclarativeImageBase@@QBE?AVQSize@@XZ @ 3768 NONAME ; class QSize QDeclarativeImageBase::sourceSize(void) const - ?sourceSizeChanged@QDeclarativeImageBase@@IAEXXZ @ 3769 NONAME ; void QDeclarativeImageBase::sourceSizeChanged(void) - ?start@QDeclarativeItemPrivate@@SAXAAVQTime@@@Z @ 3770 NONAME ABSENT ; void QDeclarativeItemPrivate::start(class QTime &) - ?startXChanged@QDeclarativePath@@IAEXXZ @ 3771 NONAME ; void QDeclarativePath::startXChanged(void) - ?startYChanged@QDeclarativePath@@IAEXXZ @ 3772 NONAME ; void QDeclarativePath::startYChanged(void) - ?states@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3773 NONAME ABSENT ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItem::states(void) - ?states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 3774 NONAME ABSENT ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::states(void) - ?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3775 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void) - ?stops@QDeclarativeGradient@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeGradientStop@@@@XZ @ 3776 NONAME ; class QDeclarativeListProperty<class QDeclarativeGradientStop> QDeclarativeGradient::stops(void) - ?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 3777 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void) - ?sync@QDeclarativeListModel@@QAEXXZ @ 3778 NONAME ; void QDeclarativeListModel::sync(void) - ?target@QDeclarativeDrag@@QBEPAVQGraphicsObject@@XZ @ 3779 NONAME ; class QGraphicsObject * QDeclarativeDrag::target(void) const - ?toChanged@QDeclarativeTransition@@IAEXXZ @ 3780 NONAME ; void QDeclarativeTransition::toChanged(void) - ?top@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3781 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const - ?top@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3782 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::top(void) const - ?tr@QDeclarativeSmoothedAnimation@@SA?AVQString@@PBD0@Z @ 3783 NONAME ; class QString QDeclarativeSmoothedAnimation::tr(char const *, char const *) - ?tr@QDeclarativeSmoothedAnimation@@SA?AVQString@@PBD0H@Z @ 3784 NONAME ; class QString QDeclarativeSmoothedAnimation::tr(char const *, char const *, int) - ?tr@QDeclarativeTranslate@@SA?AVQString@@PBD0@Z @ 3785 NONAME ; class QString QDeclarativeTranslate::tr(char const *, char const *) - ?tr@QDeclarativeTranslate@@SA?AVQString@@PBD0H@Z @ 3786 NONAME ; class QString QDeclarativeTranslate::tr(char const *, char const *, int) - ?tr@QDeclarativeWorkerScript@@SA?AVQString@@PBD0@Z @ 3787 NONAME ; class QString QDeclarativeWorkerScript::tr(char const *, char const *) - ?tr@QDeclarativeWorkerScript@@SA?AVQString@@PBD0H@Z @ 3788 NONAME ; class QString QDeclarativeWorkerScript::tr(char const *, char const *, int) - ?trUtf8@QDeclarativeSmoothedAnimation@@SA?AVQString@@PBD0@Z @ 3789 NONAME ; class QString QDeclarativeSmoothedAnimation::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeSmoothedAnimation@@SA?AVQString@@PBD0H@Z @ 3790 NONAME ; class QString QDeclarativeSmoothedAnimation::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeTranslate@@SA?AVQString@@PBD0@Z @ 3791 NONAME ; class QString QDeclarativeTranslate::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeTranslate@@SA?AVQString@@PBD0H@Z @ 3792 NONAME ; class QString QDeclarativeTranslate::trUtf8(char const *, char const *, int) - ?trUtf8@QDeclarativeWorkerScript@@SA?AVQString@@PBD0@Z @ 3793 NONAME ; class QString QDeclarativeWorkerScript::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeWorkerScript@@SA?AVQString@@PBD0H@Z @ 3794 NONAME ; class QString QDeclarativeWorkerScript::trUtf8(char const *, char const *, int) - ?transform@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 3795 NONAME ; class QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void) - ?transform_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@PAVQGraphicsTransform@@@Z @ 3796 NONAME ; void QDeclarativeItemPrivate::transform_append(class QDeclarativeListProperty<class QGraphicsTransform> *, class QGraphicsTransform *) - ?transform_at@QDeclarativeItemPrivate@@SAPAVQGraphicsTransform@@PAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@H@Z @ 3797 NONAME ; class QGraphicsTransform * QDeclarativeItemPrivate::transform_at(class QDeclarativeListProperty<class QGraphicsTransform> *, int) - ?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 3798 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *) - ?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 3799 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *) - ?transition@QDeclarativeSmoothedAnimation@@UAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@QDeclarativeAbstractAnimation@@@Z @ 3800 NONAME ; void QDeclarativeSmoothedAnimation::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection) - ?transitions@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3801 NONAME ABSENT ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItem::transitions(void) - ?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3802 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void) - ?triggeredOnStartChanged@QDeclarativeTimer@@IAEXXZ @ 3803 NONAME ; void QDeclarativeTimer::triggeredOnStartChanged(void) - ?type@Variant@QDeclarativeParser@@QBE?AW4Type@12@XZ @ 3804 NONAME ; enum QDeclarativeParser::Variant::Type QDeclarativeParser::Variant::type(void) const - ?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@ABVQVariant@@@Z @ 3805 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &, class QVariant const &) - ?velocity@QDeclarativeSmoothedAnimation@@QBEMXZ @ 3806 NONAME ; float QDeclarativeSmoothedAnimation::velocity(void) const - ?velocityChanged@QDeclarativeSmoothedAnimation@@IAEXXZ @ 3807 NONAME ; void QDeclarativeSmoothedAnimation::velocityChanged(void) - ?verticalCenter@QDeclarativeAnchors@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3808 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const - ?verticalCenter@QDeclarativeItem@@QBE?AUQDeclarativeAnchorLine@@XZ @ 3809 NONAME ABSENT ; struct QDeclarativeAnchorLine QDeclarativeItem::verticalCenter(void) const - ?wantsFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 3810 NONAME ; void QDeclarativeItem::wantsFocusChanged(bool) - ?width@QDeclarativeItemPrivate@@UBEMXZ @ 3811 NONAME ; float QDeclarativeItemPrivate::width(void) const - ?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 3812 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) - ?x@QDeclarativeTranslate@@QBEMXZ @ 3813 NONAME ; float QDeclarativeTranslate::x(void) const - ?xmlChanged@QDeclarativeXmlListModel@@IAEXXZ @ 3814 NONAME ; void QDeclarativeXmlListModel::xmlChanged(void) - ?y@QDeclarativeTranslate@@QBEMXZ @ 3815 NONAME ; float QDeclarativeTranslate::y(void) const - ?staticMetaObject@QDeclarativeWorkerScript@@2UQMetaObject@@B @ 3816 NONAME ; struct QMetaObject const QDeclarativeWorkerScript::staticMetaObject - ?staticMetaObject@QDeclarativeSmoothedAnimation@@2UQMetaObject@@B @ 3817 NONAME ; struct QMetaObject const QDeclarativeSmoothedAnimation::staticMetaObject - ?staticMetaObject@QDeclarativeTranslate@@2UQMetaObject@@B @ 3818 NONAME ; struct QMetaObject const QDeclarativeTranslate::staticMetaObject - ?consistentTime@QDeclarativeItemPrivate@@2HA @ 3819 NONAME ABSENT ; int QDeclarativeItemPrivate::consistentTime - ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 3820 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &) - ??0QDeclarativeSmoothedFollow@@QAE@PAVQObject@@@Z @ 3821 NONAME ; QDeclarativeSmoothedFollow::QDeclarativeSmoothedFollow(class QObject *) - ??1QDeclarativeSmoothedFollow@@UAE@XZ @ 3822 NONAME ; QDeclarativeSmoothedFollow::~QDeclarativeSmoothedFollow(void) - ??_EQDeclarativeSmoothedFollow@@UAE@I@Z @ 3823 NONAME ; QDeclarativeSmoothedFollow::~QDeclarativeSmoothedFollow(unsigned int) - ?addPluginPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 3824 NONAME ; void QDeclarativeEngine::addPluginPath(class QString const &) - ?autoScroll@QDeclarativeTextInput@@QBE_NXZ @ 3825 NONAME ; bool QDeclarativeTextInput::autoScroll(void) const - ?autoScrollChanged@QDeclarativeTextInput@@IAEX_N@Z @ 3826 NONAME ; void QDeclarativeTextInput::autoScrollChanged(bool) - ?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 3827 NONAME ; void (*)(void *) QDeclarativeType::createFunction(void) const - ?createSize@QDeclarativeType@@QBEHXZ @ 3828 NONAME ; int QDeclarativeType::createSize(void) const - ?d_func@QDeclarativeSmoothedFollow@@AAEPAVQDeclarativeSmoothedFollowPrivate@@XZ @ 3829 NONAME ; class QDeclarativeSmoothedFollowPrivate * QDeclarativeSmoothedFollow::d_func(void) - ?d_func@QDeclarativeSmoothedFollow@@ABEPBVQDeclarativeSmoothedFollowPrivate@@XZ @ 3830 NONAME ; class QDeclarativeSmoothedFollowPrivate const * QDeclarativeSmoothedFollow::d_func(void) const - ?displayText@QDeclarativeTextInput@@QBE?AVQString@@XZ @ 3831 NONAME ; class QString QDeclarativeTextInput::displayText(void) const - ?displayTextChanged@QDeclarativeTextInput@@IAEXABVQString@@@Z @ 3832 NONAME ; void QDeclarativeTextInput::displayTextChanged(class QString const &) - ?duration@QDeclarativeSmoothedFollow@@QBEHXZ @ 3833 NONAME ; int QDeclarativeSmoothedFollow::duration(void) const - ?durationChanged@QDeclarativeSmoothedFollow@@IAEXXZ @ 3834 NONAME ; void QDeclarativeSmoothedFollow::durationChanged(void) - ?enabled@QDeclarativeSmoothedFollow@@QBE_NXZ @ 3835 NONAME ; bool QDeclarativeSmoothedFollow::enabled(void) const - ?enabledChanged@QDeclarativeSmoothedFollow@@IAEXXZ @ 3836 NONAME ; void QDeclarativeSmoothedFollow::enabledChanged(void) - ?getStaticMetaObject@QDeclarativeSmoothedFollow@@SAABUQMetaObject@@XZ @ 3837 NONAME ; struct QMetaObject const & QDeclarativeSmoothedFollow::getStaticMetaObject(void) - ?highlightMoveDuration@QDeclarativeGridView@@QBEHXZ @ 3838 NONAME ; int QDeclarativeGridView::highlightMoveDuration(void) const - ?highlightMoveDuration@QDeclarativeListView@@QBEHXZ @ 3839 NONAME ; int QDeclarativeListView::highlightMoveDuration(void) const - ?highlightMoveDuration@QDeclarativePathView@@QBEHXZ @ 3840 NONAME ; int QDeclarativePathView::highlightMoveDuration(void) const - ?highlightMoveDurationChanged@QDeclarativeGridView@@IAEXXZ @ 3841 NONAME ; void QDeclarativeGridView::highlightMoveDurationChanged(void) - ?highlightMoveDurationChanged@QDeclarativeListView@@IAEXXZ @ 3842 NONAME ; void QDeclarativeListView::highlightMoveDurationChanged(void) - ?highlightMoveDurationChanged@QDeclarativePathView@@IAEXXZ @ 3843 NONAME ; void QDeclarativePathView::highlightMoveDurationChanged(void) - ?highlightResizeDuration@QDeclarativeListView@@QBEHXZ @ 3844 NONAME ; int QDeclarativeListView::highlightResizeDuration(void) const - ?highlightResizeDurationChanged@QDeclarativeListView@@IAEXXZ @ 3845 NONAME ; void QDeclarativeListView::highlightResizeDurationChanged(void) - ?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0@Z @ 3846 NONAME ABSENT ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &) - ?isExtendedType@QDeclarativeType@@QBE_NXZ @ 3847 NONAME ; bool QDeclarativeType::isExtendedType(void) const - ?maximumEasingTime@QDeclarativeSmoothedFollow@@QBEHXZ @ 3848 NONAME ; int QDeclarativeSmoothedFollow::maximumEasingTime(void) const - ?maximumEasingTimeChanged@QDeclarativeSmoothedFollow@@IAEXXZ @ 3849 NONAME ; void QDeclarativeSmoothedFollow::maximumEasingTimeChanged(void) - ?metaObject@QDeclarativeSmoothedFollow@@UBEPBUQMetaObject@@XZ @ 3850 NONAME ; struct QMetaObject const * QDeclarativeSmoothedFollow::metaObject(void) const - ?mouseMoveEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 3851 NONAME ; void QDeclarativeTextInput::mouseMoveEvent(class QGraphicsSceneMouseEvent *) - ?moveCursorSelection@QDeclarativeTextInput@@QAEXH@Z @ 3852 NONAME ; void QDeclarativeTextInput::moveCursorSelection(int) - ?passwordCharacter@QDeclarativeTextInput@@QBE?AVQString@@XZ @ 3853 NONAME ; class QString QDeclarativeTextInput::passwordCharacter(void) const - ?passwordCharacterChanged@QDeclarativeTextInput@@IAEXXZ @ 3854 NONAME ; void QDeclarativeTextInput::passwordCharacterChanged(void) - ?pluginPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 3855 NONAME ; class QStringList QDeclarativeEngine::pluginPathList(void) const - ?qt_metacall@QDeclarativeSmoothedFollow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3856 NONAME ; int QDeclarativeSmoothedFollow::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacast@QDeclarativeSmoothedFollow@@UAEPAXPBD@Z @ 3857 NONAME ; void * QDeclarativeSmoothedFollow::qt_metacast(char const *) - ?resetTarget@QDeclarativeDrag@@QAEXXZ @ 3858 NONAME ; void QDeclarativeDrag::resetTarget(void) - ?reversingMode@QDeclarativeSmoothedFollow@@QBE?AW4ReversingMode@1@XZ @ 3859 NONAME ; enum QDeclarativeSmoothedFollow::ReversingMode QDeclarativeSmoothedFollow::reversingMode(void) const - ?reversingModeChanged@QDeclarativeSmoothedFollow@@IAEXXZ @ 3860 NONAME ; void QDeclarativeSmoothedFollow::reversingModeChanged(void) - ?setAutoScroll@QDeclarativeTextInput@@QAEX_N@Z @ 3861 NONAME ; void QDeclarativeTextInput::setAutoScroll(bool) - ?setDuration@QDeclarativeSmoothedFollow@@QAEXH@Z @ 3862 NONAME ; void QDeclarativeSmoothedFollow::setDuration(int) - ?setEnabled@QDeclarativeSmoothedFollow@@QAEX_N@Z @ 3863 NONAME ; void QDeclarativeSmoothedFollow::setEnabled(bool) - ?setHighlightMoveDuration@QDeclarativeGridView@@QAEXH@Z @ 3864 NONAME ; void QDeclarativeGridView::setHighlightMoveDuration(int) - ?setHighlightMoveDuration@QDeclarativeListView@@QAEXH@Z @ 3865 NONAME ; void QDeclarativeListView::setHighlightMoveDuration(int) - ?setHighlightMoveDuration@QDeclarativePathView@@QAEXH@Z @ 3866 NONAME ; void QDeclarativePathView::setHighlightMoveDuration(int) - ?setHighlightResizeDuration@QDeclarativeListView@@QAEXH@Z @ 3867 NONAME ; void QDeclarativeListView::setHighlightResizeDuration(int) - ?setMaximumEasingTime@QDeclarativeSmoothedFollow@@QAEXH@Z @ 3868 NONAME ; void QDeclarativeSmoothedFollow::setMaximumEasingTime(int) - ?setPasswordCharacter@QDeclarativeTextInput@@QAEXABVQString@@@Z @ 3869 NONAME ; void QDeclarativeTextInput::setPasswordCharacter(class QString const &) - ?setPluginPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 3870 NONAME ; void QDeclarativeEngine::setPluginPathList(class QStringList const &) - ?setReversingMode@QDeclarativeSmoothedFollow@@QAEXW4ReversingMode@1@@Z @ 3871 NONAME ; void QDeclarativeSmoothedFollow::setReversingMode(enum QDeclarativeSmoothedFollow::ReversingMode) - ?setSourceSize@QDeclarativeImageBase@@UAEXABVQSize@@@Z @ 3872 NONAME ; void QDeclarativeImageBase::setSourceSize(class QSize const &) - ?setTarget@QDeclarativeSmoothedFollow@@UAEXABVQDeclarativeProperty@@@Z @ 3873 NONAME ; void QDeclarativeSmoothedFollow::setTarget(class QDeclarativeProperty const &) - ?setTo@QDeclarativeSmoothedFollow@@QAEXM@Z @ 3874 NONAME ; void QDeclarativeSmoothedFollow::setTo(float) - ?setTo@QDeclarativeSpringFollow@@QAEXM@Z @ 3875 NONAME ; void QDeclarativeSpringFollow::setTo(float) - ?setVelocity@QDeclarativeSmoothedFollow@@QAEXM@Z @ 3876 NONAME ; void QDeclarativeSmoothedFollow::setVelocity(float) - ?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 3877 NONAME ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode) - ?setWrapMode@QDeclarativeTextEdit@@QAEXW4WrapMode@1@@Z @ 3878 NONAME ; void QDeclarativeTextEdit::setWrapMode(enum QDeclarativeTextEdit::WrapMode) - ?sourceSizeChanged@QDeclarativeAnimatedImage@@IAEXXZ @ 3879 NONAME ; void QDeclarativeAnimatedImage::sourceSizeChanged(void) - ?to@QDeclarativeSmoothedFollow@@QBEMXZ @ 3880 NONAME ; float QDeclarativeSmoothedFollow::to(void) const - ?to@QDeclarativeSpringFollow@@QBEMXZ @ 3881 NONAME ; float QDeclarativeSpringFollow::to(void) const - ?tr@QDeclarativeCompiler@@AAE?AVQString@@PBD@Z @ 3882 NONAME ABSENT ; class QString QDeclarativeCompiler::tr(char const *) - ?tr@QDeclarativeSmoothedFollow@@SA?AVQString@@PBD0@Z @ 3883 NONAME ; class QString QDeclarativeSmoothedFollow::tr(char const *, char const *) - ?tr@QDeclarativeSmoothedFollow@@SA?AVQString@@PBD0H@Z @ 3884 NONAME ; class QString QDeclarativeSmoothedFollow::tr(char const *, char const *, int) - ?trUtf8@QDeclarativeSmoothedFollow@@SA?AVQString@@PBD0@Z @ 3885 NONAME ; class QString QDeclarativeSmoothedFollow::trUtf8(char const *, char const *) - ?trUtf8@QDeclarativeSmoothedFollow@@SA?AVQString@@PBD0H@Z @ 3886 NONAME ; class QString QDeclarativeSmoothedFollow::trUtf8(char const *, char const *, int) - ?velocity@QDeclarativeSmoothedFollow@@QBEMXZ @ 3887 NONAME ; float QDeclarativeSmoothedFollow::velocity(void) const - ?velocityChanged@QDeclarativeSmoothedFollow@@IAEXXZ @ 3888 NONAME ; void QDeclarativeSmoothedFollow::velocityChanged(void) - ?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 3889 NONAME ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const - ?wrapMode@QDeclarativeTextEdit@@QBE?AW4WrapMode@1@XZ @ 3890 NONAME ; enum QDeclarativeTextEdit::WrapMode QDeclarativeTextEdit::wrapMode(void) const - ?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 3891 NONAME ; void QDeclarativeText::wrapModeChanged(void) - ?wrapModeChanged@QDeclarativeTextEdit@@IAEXXZ @ 3892 NONAME ; void QDeclarativeTextEdit::wrapModeChanged(void) - ?xToPosition@QDeclarativeTextInput@@QAEHH@Z @ 3893 NONAME ABSENT ; int QDeclarativeTextInput::xToPosition(int) - ?staticMetaObject@QDeclarativeSmoothedFollow@@2UQMetaObject@@B @ 3894 NONAME ; struct QMetaObject const QDeclarativeSmoothedFollow::staticMetaObject - ?trUtf8@QDeclarativeCompiler@@SA?AVQString@@PBD0H@Z @ 3895 NONAME ; class QString QDeclarativeCompiler::trUtf8(char const *, char const *, int) - ?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 3896 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &) - ?reloadWithResources@QDeclarativeText@@AAEXXZ @ 3897 NONAME ; void QDeclarativeText::reloadWithResources(void) - ?setFlow@QDeclarativeGrid@@QAEXW4Flow@1@@Z @ 3898 NONAME ; void QDeclarativeGrid::setFlow(enum QDeclarativeGrid::Flow) - ?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 3899 NONAME ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const - ?get@QDeclarativePixmapCache@@SA?AW4Status@QDeclarativePixmapReply@@ABVQUrl@@PAVQPixmap@@PAVQString@@PAVQSize@@_NHH@Z @ 3900 NONAME ; enum QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(class QUrl const &, class QPixmap *, class QString *, class QSize *, bool, int, int) - ?resourcesLoading@QDeclarativeText@@QBEHXZ @ 3901 NONAME ; int QDeclarativeText::resourcesLoading(void) const - ?trUtf8@QDeclarativeCompiler@@SA?AVQString@@PBD0@Z @ 3902 NONAME ; class QString QDeclarativeCompiler::trUtf8(char const *, char const *) - ?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 3903 NONAME ; class QString QDeclarativePixmapCache::tr(char const *, char const *, int) - ?flow@QDeclarativeGrid@@QBE?AW4Flow@1@XZ @ 3904 NONAME ; enum QDeclarativeGrid::Flow QDeclarativeGrid::flow(void) const - ?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 3905 NONAME ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *) - ?isValid@QDeclarativeContext@@QBE_NXZ @ 3906 NONAME ; bool QDeclarativeContext::isValid(void) const - ?tr@QDeclarativeCompiler@@SA?AVQString@@PBD0H@Z @ 3907 NONAME ; class QString QDeclarativeCompiler::tr(char const *, char const *, int) - ?flowChanged@QDeclarativeGrid@@IAEXXZ @ 3908 NONAME ; void QDeclarativeGrid::flowChanged(void) - ?qdeclarativeelement_destructor@QDeclarativePrivate@@YAXPAVQObject@@@Z @ 3909 NONAME ; void QDeclarativePrivate::qdeclarativeelement_destructor(class QObject *) - ?errorString@QDeclarativePixmapReply@@QBE?AVQString@@XZ @ 3910 NONAME ; class QString QDeclarativePixmapReply::errorString(void) const - ?tr@QDeclarativeCompiler@@SA?AVQString@@PBD0@Z @ 3911 NONAME ; class QString QDeclarativeCompiler::tr(char const *, char const *) - ?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 3912 NONAME ; class QString QDeclarativePixmapCache::tr(char const *, char const *) - ?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 3913 NONAME ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const - ??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 3914 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *) - ?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0PAV2@@Z @ 3915 NONAME ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &, class QString *) - ?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 3916 NONAME ; void QDeclarativeAnchors::setFill(class QGraphicsObject *) - ?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 3917 NONAME ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *, int) - ?setCenterIn@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 3918 NONAME ; void QDeclarativeAnchors::setCenterIn(class QGraphicsObject *) - ?execute@QDeclarativeParentChange@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3919 NONAME ; void QDeclarativeParentChange::execute(enum QDeclarativeActionEvent::Reason) - ?resetSourceComponent@QDeclarativeLoader@@QAEXXZ @ 3920 NONAME ; void QDeclarativeLoader::resetSourceComponent(void) - ?rootIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 3921 NONAME ; class QVariant QDeclarativeVisualDataModel::rootIndex(void) const - ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@XZ @ 3922 NONAME ABSENT ; class QScriptValue QDeclarativeComponent::createObject(void) - ?execute@QDeclarativeStateChangeScript@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3923 NONAME ; void QDeclarativeStateChangeScript::execute(enum QDeclarativeActionEvent::Reason) - ?active@QDeclarativeDrag@@QBE_NXZ @ 3924 NONAME ; bool QDeclarativeDrag::active(void) const - ?retransformBack@QDeclarativeFlipable@@AAEXXZ @ 3925 NONAME ; void QDeclarativeFlipable::retransformBack(void) - ?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 3926 NONAME ; class QString QDeclarativeType::noCreationReason(void) const - ?forceFocus@QDeclarativeItem@@QAEXXZ @ 3927 NONAME ; void QDeclarativeItem::forceFocus(void) - ?evaluate@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 3928 NONAME ; class QVariant QDeclarativeExpression::evaluate(bool *) - ??AQDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 3929 NONAME ; class QVariant QDeclarativePropertyMap::operator[](class QString const &) const - ?mousePositionChanged@QDeclarativeMouseArea@@IAEXPAVQDeclarativeMouseEvent@@@Z @ 3930 NONAME ; void QDeclarativeMouseArea::mousePositionChanged(class QDeclarativeMouseEvent *) - ?reverse@QDeclarativeParentChange@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3931 NONAME ; void QDeclarativeParentChange::reverse(enum QDeclarativeActionEvent::Reason) - ?boundsBehaviorChanged@QDeclarativeFlickable@@IAEXXZ @ 3932 NONAME ; void QDeclarativeFlickable::boundsBehaviorChanged(void) - ??6QDeclarativeInfo@@QAEAAV0@ABVQUrl@@@Z @ 3933 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QUrl const &) - ?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 3934 NONAME ; bool QDeclarativeDebugService::hasDebuggingClient(void) - ?animStopped@QDeclarativeGridView@@AAEXXZ @ 3935 NONAME ; void QDeclarativeGridView::animStopped(void) - ?modelIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@H@Z @ 3936 NONAME ; class QVariant QDeclarativeVisualDataModel::modelIndex(int) const - ?transformChanged@QDeclarativeItemPrivate@@UAEXXZ @ 3937 NONAME ; void QDeclarativeItemPrivate::transformChanged(void) - ?setRootIndex@QDeclarativeVisualDataModel@@QAEXABVQVariant@@@Z @ 3938 NONAME ; void QDeclarativeVisualDataModel::setRootIndex(class QVariant const &) - ?boundsBehavior@QDeclarativeFlickable@@QBE?AW4BoundsBehavior@1@XZ @ 3939 NONAME ; enum QDeclarativeFlickable::BoundsBehavior QDeclarativeFlickable::boundsBehavior(void) const - ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABV?$QList@VQDeclarativeError@@@@@Z @ 3940 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QList<class QDeclarativeError> const &) - ?setActive@QDeclarativeDrag@@QAEX_N@Z @ 3941 NONAME ; void QDeclarativeDrag::setActive(bool) - ?setOutputWarningsToStandardError@QDeclarativeEngine@@QAEX_N@Z @ 3942 NONAME ; void QDeclarativeEngine::setOutputWarningsToStandardError(bool) - ??0QDeclarativeInfo@@QAE@ABV0@@Z @ 3943 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfo const &) - ?reverse@QDeclarativeAnchorChanges@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3944 NONAME ; void QDeclarativeAnchorChanges::reverse(enum QDeclarativeActionEvent::Reason) - ?geometryChanged@QDeclarativeMouseArea@@MAEXABVQRectF@@0@Z @ 3945 NONAME ; void QDeclarativeMouseArea::geometryChanged(class QRectF const &, class QRectF const &) - ?setBoundsBehavior@QDeclarativeFlickable@@QAEXW4BoundsBehavior@1@@Z @ 3946 NONAME ; void QDeclarativeFlickable::setBoundsBehavior(enum QDeclarativeFlickable::BoundsBehavior) - ?outputWarningsToStandardError@QDeclarativeEngine@@QBE_NXZ @ 3947 NONAME ; bool QDeclarativeEngine::outputWarningsToStandardError(void) const - ?execute@QDeclarativeAnchorChanges@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3948 NONAME ; void QDeclarativeAnchorChanges::execute(enum QDeclarativeActionEvent::Reason) - ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 3949 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &) - ?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 3950 NONAME ; void QDeclarativeCustomParser::error(class QString const &) - ?activeChanged@QDeclarativeDrag@@IAEXXZ @ 3951 NONAME ; void QDeclarativeDrag::activeChanged(void) - ??0QDeclarativeInfo@@AAE@PAUQDeclarativeInfoPrivate@@@Z @ 3952 NONAME ABSENT ; QDeclarativeInfo::QDeclarativeInfo(struct QDeclarativeInfoPrivate *) - ?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 3953 NONAME ; void QDeclarativeEngine::warnings(class QList<class QDeclarativeError> const &) - ?parentModelIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 3954 NONAME ; class QVariant QDeclarativeVisualDataModel::parentModelIndex(void) const - ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 3955 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const - ?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 3956 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *) - ??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 3957 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *) - ?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 3958 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void) - ?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3959 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const - ?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3960 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const - ?buildPropertyInNamespace@QDeclarativeCompiler@@AAE_NPAVQDeclarativeImportedNamespace@@PAVProperty@QDeclarativeParser@@PAVObject@4@ABUBindingContext@1@@Z @ 3961 NONAME ; bool QDeclarativeCompiler::buildPropertyInNamespace(class QDeclarativeImportedNamespace *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &) - ?canceled@QDeclarativeMouseArea@@IAEXXZ @ 3962 NONAME ; void QDeclarativeMouseArea::canceled(void) - ?classBegin@QDeclarativeBind@@MAEXXZ @ 3963 NONAME ; void QDeclarativeBind::classBegin(void) - ?classBegin@QDeclarativeConnections@@EAEXXZ @ 3964 NONAME ; void QDeclarativeConnections::classBegin(void) - ?classBegin@QDeclarativePath@@MAEXXZ @ 3965 NONAME ; void QDeclarativePath::classBegin(void) - ?classBegin@QDeclarativeWorkerScript@@MAEXXZ @ 3966 NONAME ; void QDeclarativeWorkerScript::classBegin(void) - ?completePending@QDeclarativeVisualDataModel@@UBE_NXZ @ 3967 NONAME ; bool QDeclarativeVisualDataModel::completePending(void) const - ?completePending@QDeclarativeVisualItemModel@@UBE_NXZ @ 3968 NONAME ; bool QDeclarativeVisualItemModel::completePending(void) const - ?componentFinalized@QDeclarativeBehavior@@AAEXXZ @ 3969 NONAME ; void QDeclarativeBehavior::componentFinalized(void) - ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 3970 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *) - ?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3971 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void) - ?engine@QDeclarativeWorkerScript@@AAEPAVQDeclarativeWorkerScriptEngine@@XZ @ 3972 NONAME ; class QDeclarativeWorkerScriptEngine * QDeclarativeWorkerScript::engine(void) - ?geometryChanged@QDeclarativePaintedItem@@MAEXABVQRectF@@0@Z @ 3973 NONAME ; void QDeclarativePaintedItem::geometryChanged(class QRectF const &, class QRectF const &) - ?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 3974 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *) - ?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3975 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const - ?hoverEnabled@QDeclarativeMouseArea@@QBE_NXZ @ 3976 NONAME ; bool QDeclarativeMouseArea::hoverEnabled(void) const - ?hoverEnabledChanged@QDeclarativeMouseArea@@IAEXXZ @ 3977 NONAME ; void QDeclarativeMouseArea::hoverEnabledChanged(void) - ?ignoreUnknownSignals@QDeclarativeConnections@@QBE_NXZ @ 3978 NONAME ; bool QDeclarativeConnections::ignoreUnknownSignals(void) const - ?itemChange@QDeclarativeMouseArea@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 3979 NONAME ; class QVariant QDeclarativeMouseArea::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &) - ?itemChange@QDeclarativePaintedItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 3980 NONAME ; class QVariant QDeclarativePaintedItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &) - ?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3981 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const - ?reportConflictingAnchors@QDeclarativeColumn@@MAEXXZ @ 3982 NONAME ; void QDeclarativeColumn::reportConflictingAnchors(void) - ?reportConflictingAnchors@QDeclarativeFlow@@MAEXXZ @ 3983 NONAME ; void QDeclarativeFlow::reportConflictingAnchors(void) - ?reportConflictingAnchors@QDeclarativeGrid@@MAEXXZ @ 3984 NONAME ; void QDeclarativeGrid::reportConflictingAnchors(void) - ?reportConflictingAnchors@QDeclarativeRow@@MAEXXZ @ 3985 NONAME ; void QDeclarativeRow::reportConflictingAnchors(void) - ?resources@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3986 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::resources(void) - ?right@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3987 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::right(void) const - ?setHoverEnabled@QDeclarativeMouseArea@@QAEX_N@Z @ 3988 NONAME ; void QDeclarativeMouseArea::setHoverEnabled(bool) - ?setIgnoreUnknownSignals@QDeclarativeConnections@@QAEX_N@Z @ 3989 NONAME ; void QDeclarativeConnections::setIgnoreUnknownSignals(bool) - ?setState@QDeclarativeItemPrivate@@QAEXABVQString@@@Z @ 3990 NONAME ; void QDeclarativeItemPrivate::setState(class QString const &) - ?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 3991 NONAME ; class QString QDeclarativeItemPrivate::state(void) const - ?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3992 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void) - ?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3993 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const - ?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3994 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void) - ?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3995 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const - ?flickDirection@QDeclarativeFlickable@@QBE?AW4FlickableDirection@1@XZ @ 3996 NONAME ; enum QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickDirection(void) const - ?flickingHorizontallyChanged@QDeclarativeFlickable@@IAEXXZ @ 3997 NONAME ; void QDeclarativeFlickable::flickingHorizontallyChanged(void) - ?flickableDirection@QDeclarativeFlickable@@QBE?AW4FlickableDirection@1@XZ @ 3998 NONAME ; enum QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickableDirection(void) const - ?setFlickableDirection@QDeclarativeFlickable@@QAEXW4FlickableDirection@1@@Z @ 3999 NONAME ; void QDeclarativeFlickable::setFlickableDirection(enum QDeclarativeFlickable::FlickableDirection) - ?isMovingVertically@QDeclarativeFlickable@@QBE_NXZ @ 4000 NONAME ; bool QDeclarativeFlickable::isMovingVertically(void) const - ?movingHorizontallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4001 NONAME ; void QDeclarativeFlickable::movingHorizontallyChanged(void) - ?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 4002 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void) - ?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 4003 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const - ??0QDeclarativeVisualDataModel@@QAE@PAVQDeclarativeContext@@PAVQObject@@@Z @ 4004 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *, class QObject *) - ?movingVerticallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4005 NONAME ; void QDeclarativeFlickable::movingVerticallyChanged(void) - ?isFlickingHorizontally@QDeclarativeFlickable@@QBE_NXZ @ 4006 NONAME ; bool QDeclarativeFlickable::isFlickingHorizontally(void) const - ??0QDeclarativeVisualItemModel@@QAE@PAVQObject@@@Z @ 4007 NONAME ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(class QObject *) - ?flickingVerticallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4008 NONAME ; void QDeclarativeFlickable::flickingVerticallyChanged(void) - ?isMovingHorizontally@QDeclarativeFlickable@@QBE_NXZ @ 4009 NONAME ; bool QDeclarativeFlickable::isMovingHorizontally(void) const - ??0QDeclarativeVisualModel@@QAE@PAVQObject@@@Z @ 4010 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(class QObject *) - ?setFlickDirection@QDeclarativeFlickable@@QAEXW4FlickableDirection@1@@Z @ 4011 NONAME ; void QDeclarativeFlickable::setFlickDirection(enum QDeclarativeFlickable::FlickableDirection) - ?flickableDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 4012 NONAME ; void QDeclarativeFlickable::flickableDirectionChanged(void) - ?isFlickingVertically@QDeclarativeFlickable@@QBE_NXZ @ 4013 NONAME ; bool QDeclarativeFlickable::isFlickingVertically(void) const - ?componentComplete@QDeclarativeLoader@@MAEXXZ @ 4014 NONAME ; void QDeclarativeLoader::componentComplete(void) - ?decrementCurrentIndex@QDeclarativePathView@@QAEXXZ @ 4015 NONAME ; void QDeclarativePathView::decrementCurrentIndex(void) - ?incrementCurrentIndex@QDeclarativePathView@@QAEXXZ @ 4016 NONAME ; void QDeclarativePathView::incrementCurrentIndex(void) - ?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 4017 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *) - ?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 4018 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *) - ?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 4019 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *) - ?loaded@QDeclarativeLoader@@IAEXXZ @ 4020 NONAME ; void QDeclarativeLoader::loaded(void) - ?needsCopy@QDeclarativeAnchorChanges@@UAE_NXZ @ 4021 NONAME ; bool QDeclarativeAnchorChanges::needsCopy(void) - ?closeSoftwareInputPanel@QDeclarativeTextEdit@@QAEXXZ @ 4022 NONAME ; void QDeclarativeTextEdit::closeSoftwareInputPanel(void) - ?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4023 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &) - ?get@QDeclarativeXmlListModel@@QBE?AVQScriptValue@@H@Z @ 4024 NONAME ; class QScriptValue QDeclarativeXmlListModel::get(int) const - ?setScale@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4025 NONAME ; void QDeclarativeParentChange::setScale(class QDeclarativeScriptString) - ?showInputPanelOnFocusChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4026 NONAME ABSENT ; void QDeclarativeTextEdit::showInputPanelOnFocusChanged(bool) - ?focusOutEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4027 NONAME ABSENT ; void QDeclarativeTextInput::focusOutEvent(class QFocusEvent *) - ?height@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4028 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::height(void) const - ?showInputPanelOnFocus@QDeclarativeTextEdit@@QBE_NXZ @ 4029 NONAME ABSENT ; bool QDeclarativeTextEdit::showInputPanelOnFocus(void) const - ?errorString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 4030 NONAME ; class QString QDeclarativeComponent::errorString(void) const - ?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4031 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &) - ?focusInEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4032 NONAME ; void QDeclarativeTextInput::focusInEvent(class QFocusEvent *) - ?setX@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4033 NONAME ; void QDeclarativeParentChange::setX(class QDeclarativeScriptString) - ?rotation@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4034 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::rotation(void) const - ?paintedHeight@QDeclarativeTextEdit@@QBEMXZ @ 4035 NONAME ; float QDeclarativeTextEdit::paintedHeight(void) const - ?paintedWidth@QDeclarativeTextEdit@@QBEMXZ @ 4036 NONAME ; float QDeclarativeTextEdit::paintedWidth(void) const - ?focusOutEvent@QDeclarativeTextEdit@@MAEXPAVQFocusEvent@@@Z @ 4037 NONAME ABSENT ; void QDeclarativeTextEdit::focusOutEvent(class QFocusEvent *) - ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 4038 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &) - ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 4039 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *) - ?queryError@QDeclarativeXmlListModel@@AAEXPAXABVQString@@@Z @ 4040 NONAME ; void QDeclarativeXmlListModel::queryError(void *, class QString const &) - ?errorString@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 4041 NONAME ; class QString QDeclarativeXmlListModel::errorString(void) const - ?consistentTime@QDeclarativeItemPrivate@@2_JA @ 4042 NONAME ; long long QDeclarativeItemPrivate::consistentTime - ?scale@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4043 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::scale(void) const - ?showInputPanelOnFocus@QDeclarativeTextInput@@QBE_NXZ @ 4044 NONAME ABSENT ; bool QDeclarativeTextInput::showInputPanelOnFocus(void) const - ?focusInEvent@QDeclarativeTextEdit@@MAEXPAVQFocusEvent@@@Z @ 4045 NONAME ; void QDeclarativeTextEdit::focusInEvent(class QFocusEvent *) - ?y@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4046 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::y(void) const - ?setY@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4047 NONAME ; void QDeclarativeParentChange::setY(class QDeclarativeScriptString) - ?setShowInputPanelOnFocus@QDeclarativeTextEdit@@QAEX_N@Z @ 4048 NONAME ABSENT ; void QDeclarativeTextEdit::setShowInputPanelOnFocus(bool) - ?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 4049 NONAME ; void QDeclarativeText::paintedSizeChanged(void) - ?selectByMouseChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4050 NONAME ; void QDeclarativeTextEdit::selectByMouseChanged(bool) - ?openSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4051 NONAME ; void QDeclarativeTextInput::openSoftwareInputPanel(void) - ?setShowInputPanelOnFocus@QDeclarativeTextInput@@QAEX_N@Z @ 4052 NONAME ABSENT ; void QDeclarativeTextInput::setShowInputPanelOnFocus(bool) - ?boundingRect@QDeclarativePaintedItem@@MBE?AVQRectF@@XZ @ 4053 NONAME ; class QRectF QDeclarativePaintedItem::boundingRect(void) const - ?closeSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4054 NONAME ; void QDeclarativeTextInput::closeSoftwareInputPanel(void) - ?setWidth@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4055 NONAME ; void QDeclarativeParentChange::setWidth(class QDeclarativeScriptString) - ?selectByMouse@QDeclarativeTextInput@@QBE_NXZ @ 4056 NONAME ; bool QDeclarativeTextInput::selectByMouse(void) const - ?setRotation@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4057 NONAME ; void QDeclarativeParentChange::setRotation(class QDeclarativeScriptString) - ?paintedWidth@QDeclarativeText@@QBEMXZ @ 4058 NONAME ; float QDeclarativeText::paintedWidth(void) const - ?paintedSizeChanged@QDeclarativeTextEdit@@IAEXXZ @ 4059 NONAME ; void QDeclarativeTextEdit::paintedSizeChanged(void) - ?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 4060 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long) - ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 4061 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &) - ?event@QDeclarativePathView@@MAE_NPAVQEvent@@@Z @ 4062 NONAME ; bool QDeclarativePathView::event(class QEvent *) - ?paintedHeight@QDeclarativeText@@QBEMXZ @ 4063 NONAME ; float QDeclarativeText::paintedHeight(void) const - ?setSelectByMouse@QDeclarativeTextInput@@QAEX_N@Z @ 4064 NONAME ; void QDeclarativeTextInput::setSelectByMouse(bool) - ?setSelectByMouse@QDeclarativeTextEdit@@QAEX_N@Z @ 4065 NONAME ; void QDeclarativeTextEdit::setSelectByMouse(bool) - ?selectByMouse@QDeclarativeTextEdit@@QBE_NXZ @ 4066 NONAME ; bool QDeclarativeTextEdit::selectByMouse(void) const - ?setHeight@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4067 NONAME ; void QDeclarativeParentChange::setHeight(class QDeclarativeScriptString) - ?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 4068 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &) - ?showInputPanelOnFocusChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4069 NONAME ABSENT ; void QDeclarativeTextInput::showInputPanelOnFocusChanged(bool) - ?x@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4070 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::x(void) const - ?selectByMouseChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4071 NONAME ; void QDeclarativeTextInput::selectByMouseChanged(bool) - ?width@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4072 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::width(void) const - ?openSoftwareInputPanel@QDeclarativeTextEdit@@QAEXXZ @ 4073 NONAME ; void QDeclarativeTextEdit::openSoftwareInputPanel(void) - ?cursorRectangleChanged@QDeclarativeTextEdit@@IAEXXZ @ 4074 NONAME ; void QDeclarativeTextEdit::cursorRectangleChanged(void) - ?cursorRectangle@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 4075 NONAME ; class QRect QDeclarativeTextEdit::cursorRectangle(void) const - ?selectWord@QDeclarativeTextInput@@QAEXXZ @ 4076 NONAME ; void QDeclarativeTextInput::selectWord(void) - ?positionToRectangle@QDeclarativeTextEdit@@QBE?AVQRectF@@H@Z @ 4077 NONAME ; class QRectF QDeclarativeTextEdit::positionToRectangle(int) const - ?cursorRectangle@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 4078 NONAME ; class QRect QDeclarativeTextInput::cursorRectangle(void) const - ?mouseDoubleClickEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4079 NONAME ; void QDeclarativeTextInput::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *) - ?positionAt@QDeclarativeTextEdit@@QBEHHH@Z @ 4080 NONAME ; int QDeclarativeTextEdit::positionAt(int, int) const - ?cut@QDeclarativeTextEdit@@QAEXXZ @ 4081 NONAME ; void QDeclarativeTextEdit::cut(void) - ?copy@QDeclarativeTextEdit@@QAEXXZ @ 4082 NONAME ; void QDeclarativeTextEdit::copy(void) - ?select@QDeclarativeTextEdit@@QAEXHH@Z @ 4083 NONAME ; void QDeclarativeTextEdit::select(int, int) - ?moveCursorSelection@QDeclarativeTextEdit@@QAEXH@Z @ 4084 NONAME ; void QDeclarativeTextEdit::moveCursorSelection(int) - ?select@QDeclarativeTextInput@@QAEXHH@Z @ 4085 NONAME ; void QDeclarativeTextInput::select(int, int) - ?paste@QDeclarativeTextEdit@@QAEXXZ @ 4086 NONAME ; void QDeclarativeTextEdit::paste(void) - ?positionToRectangle@QDeclarativeTextInput@@QBE?AVQRectF@@H@Z @ 4087 NONAME ; class QRectF QDeclarativeTextInput::positionToRectangle(int) const - ?positionAt@QDeclarativeTextInput@@QBEHH@Z @ 4088 NONAME ; int QDeclarativeTextInput::positionAt(int) const - ?selectWord@QDeclarativeTextEdit@@QAEXXZ @ 4089 NONAME ; void QDeclarativeTextEdit::selectWord(void) - ?setFooter@QDeclarativeGridView@@QAEXPAVQDeclarativeComponent@@@Z @ 4090 NONAME ; void QDeclarativeGridView::setFooter(class QDeclarativeComponent *) - ?isNamed@QDeclarativeState@@QBE_NXZ @ 4091 NONAME ; bool QDeclarativeState::isNamed(void) const - ?initialSize@QDeclarativeView@@QBE?AVQSize@@XZ @ 4092 NONAME ; class QSize QDeclarativeView::initialSize(void) const - ?childAt@QDeclarativeItem@@QBEPAV1@MM@Z @ 4093 NONAME ; class QDeclarativeItem * QDeclarativeItem::childAt(float, float) const - ?footer@QDeclarativeGridView@@QBEPAVQDeclarativeComponent@@XZ @ 4094 NONAME ; class QDeclarativeComponent * QDeclarativeGridView::footer(void) const - ?headerChanged@QDeclarativeGridView@@IAEXXZ @ 4095 NONAME ; void QDeclarativeGridView::headerChanged(void) - ?setHeader@QDeclarativeGridView@@QAEXPAVQDeclarativeComponent@@@Z @ 4096 NONAME ; void QDeclarativeGridView::setHeader(class QDeclarativeComponent *) - ?header@QDeclarativeGridView@@QBEPAVQDeclarativeComponent@@XZ @ 4097 NONAME ; class QDeclarativeComponent * QDeclarativeGridView::header(void) const - ?footerChanged@QDeclarativeGridView@@IAEXXZ @ 4098 NONAME ; void QDeclarativeGridView::footerChanged(void) - ?registerAutoParentFunction@QDeclarativePrivate@@YAHP6A?AW4AutoParentResult@1@PAVQObject@@0@Z@Z @ 4099 NONAME ; int QDeclarativePrivate::registerAutoParentFunction(enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)) - ?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 4100 NONAME ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void) - ?inputMethodEvent@QDeclarativeTextInput@@MAEXPAVQInputMethodEvent@@@Z @ 4101 NONAME ; void QDeclarativeTextInput::inputMethodEvent(class QInputMethodEvent *) - ?doUpdate@QDeclarativeBorderImage@@AAEXXZ @ 4102 NONAME ; void QDeclarativeBorderImage::doUpdate(void) + ?write@QDeclarativeProperty@@QBE_NABVQVariant@@@Z @ 1 NONAME ; bool QDeclarativeProperty::write(class QVariant const &) const + ?setStored@QMetaPropertyBuilder@@QAEX_N@Z @ 2 NONAME ; void QMetaPropertyBuilder::setStored(bool) + ?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *, int) + ?qt_metacast@QDeclarativeComponent@@UAEPAXPBD@Z @ 4 NONAME ; void * QDeclarativeComponent::qt_metacast(char const *) + ?name@QDeclarativeDebugService@@QBE?AVQString@@XZ @ 5 NONAME ; class QString QDeclarativeDebugService::name(void) const + ?debugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 6 NONAME ; int QDeclarativeDebugObjectReference::debugId(void) const + ?addPluginPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 7 NONAME ; void QDeclarativeEngine::addPluginPath(class QString const &) + ?name@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 8 NONAME ; class QByteArray QMetaPropertyBuilder::name(void) const + ??6QDeclarativeInfo@@QAEAAV0@_J@Z @ 9 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long long) + ?propertyOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 10 NONAME ; int QDeclarativeOpenMetaObjectType::propertyOffset(void) const + ??0QDeclarativeText@@QAE@PAVQDeclarativeItem@@@Z @ 11 NONAME ; QDeclarativeText::QDeclarativeText(class QDeclarativeItem *) + ?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 12 NONAME ABSENT ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *, int) + ?propertyTypeName@QDeclarativeProperty@@QBEPBDXZ @ 13 NONAME ; char const * QDeclarativeProperty::propertyTypeName(void) const + ?wantsFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 14 NONAME ; void QDeclarativeItem::wantsFocusChanged(bool) + ?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void) + ?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 16 NONAME ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &) + ?qt_metacall@QDeclarativeExpression@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 17 NONAME ; int QDeclarativeExpression::qt_metacall(enum QMetaObject::Call, int, void * *) + ?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const QDeclarativePen::staticMetaObject + ?transformOriginChanged@QDeclarativeItem@@IAEXW4TransformOrigin@1@@Z @ 19 NONAME ; void QDeclarativeItem::transformOriginChanged(enum QDeclarativeItem::TransformOrigin) + ?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 20 NONAME ; bool QMetaPropertyBuilder::isStored(void) const + ?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 21 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &) + ?clearComponentCache@QDeclarativeEngine@@QAEXXZ @ 22 NONAME ; void QDeclarativeEngine::clearComponentCache(void) + ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int) + ??_EQDeclarativePixmapReply@@UAE@I@Z @ 24 NONAME ABSENT ; QDeclarativePixmapReply::~QDeclarativePixmapReply(unsigned int) + ??1QDeclarativeParserStatus@@UAE@XZ @ 25 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(void) + ?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 26 NONAME ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const + ?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 27 NONAME ; void QMetaPropertyBuilder::setReadable(bool) + ?d_func@QDeclarativeExpression@@AAEPAVQDeclarativeExpressionPrivate@@XZ @ 28 NONAME ; class QDeclarativeExpressionPrivate * QDeclarativeExpression::d_func(void) + ??1QDeclarativeDomValueValueSource@@QAE@XZ @ 29 NONAME ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void) + ??_EQDeclarativeStateGroup@@UAE@I@Z @ 30 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(unsigned int) + ?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 31 NONAME ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const + ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 32 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *, int) + ?location@QDeclarativeCustomParserNode@@QBE?AULocation@QDeclarativeParser@@XZ @ 33 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserNode::location(void) const + ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQString@@PAVQObject@@@Z @ 34 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QString const &, class QObject *) + ?d_func@QDeclarativeContext@@AAEPAVQDeclarativeContextPrivate@@XZ @ 35 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContext::d_func(void) + ?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 36 NONAME ; void QDeclarativeAnchors::resetLeft(void) + ?staticMetaObject@QDeclarativePixmapReply@@2UQMetaObject@@B @ 37 NONAME ABSENT ; struct QMetaObject const QDeclarativePixmapReply::staticMetaObject + ?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 38 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &) + ?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void) + ?tr@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *, int) + ??0QDeclarativeEngine@@QAE@PAVQObject@@@Z @ 41 NONAME ; QDeclarativeEngine::QDeclarativeEngine(class QObject *) + ??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 42 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &) + ?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 43 NONAME ; void QDeclarativeListModel::set(int, class QScriptValue const &) + ?tr@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString QDeclarativeState::tr(char const *, char const *, int) + ?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const + ?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 46 NONAME ; void QMetaPropertyBuilder::setUser(bool) + ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *) + ?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 48 NONAME ; void QDeclarativeAnchors::setHorizontalCenterOffset(float) + ??0QDeclarativeProperty@@QAE@XZ @ 49 NONAME ; QDeclarativeProperty::QDeclarativeProperty(void) + ?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 50 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int) + ??1QDeclarativeText@@UAE@XZ @ 51 NONAME ; QDeclarativeText::~QDeclarativeText(void) + ?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void) + ?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 53 NONAME ; bool QMetaPropertyBuilder::isDesignable(void) const + ?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *, int) + ?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 55 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const + ??0QPacket@@QAE@ABV0@@Z @ 56 NONAME ; QPacket::QPacket(class QPacket const &) + ??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 57 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void) + ?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 58 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const + ??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 59 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int) + ??0QDeclarativeDomObject@@QAE@XZ @ 60 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(void) + ?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 61 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const + ?toChanged@QDeclarativeTransition@@IAEXXZ @ 62 NONAME ; void QDeclarativeTransition::toChanged(void) + ?registerAutoParentFunction@QDeclarativePrivate@@YAHP6A?AW4AutoParentResult@1@PAVQObject@@0@Z@Z @ 63 NONAME ; int QDeclarativePrivate::registerAutoParentFunction(enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)) + ?objectOwnership@QDeclarativeEngine@@SA?AW4ObjectOwnership@1@PAVQObject@@@Z @ 64 NONAME ; enum QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(class QObject *) + ??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 65 NONAME ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *) + ?value@QDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 66 NONAME ; class QVariant QDeclarativePropertyMap::value(class QString const &) const + ?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 67 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *) + ?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 68 NONAME ; bool QDeclarativeDebugQuery::isWaiting(void) const + ??1Variant@QDeclarativeParser@@QAE@XZ @ 69 NONAME ; QDeclarativeParser::Variant::~Variant(void) + ??0Variant@QDeclarativeParser@@QAE@ABVQString@@@Z @ 70 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &) + ?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 71 NONAME ; void QDeclarativeText::paintedSizeChanged(void) + ??1QDeclarativeDebugClient@@UAE@XZ @ 72 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void) + ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *) + ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 74 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *) + ?qt_metacast@QDeclarativeState@@UAEPAXPBD@Z @ 75 NONAME ; void * QDeclarativeState::qt_metacast(char const *) + ??1QDeclarativeDebugContextReference@@QAE@XZ @ 76 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void) + ?getStaticMetaObject@QDeclarativeStateOperation@@SAABUQMetaObject@@XZ @ 77 NONAME ; struct QMetaObject const & QDeclarativeStateOperation::getStaticMetaObject(void) + ?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 78 NONAME ; bool QDeclarativeDomValue::isInvalid(void) const + ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *, int) + ??0QDeclarativeListReference@@QAE@ABV0@@Z @ 80 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QDeclarativeListReference const &) + ?registerType@QDeclarativePrivate@@YAHABURegisterInterface@1@@Z @ 81 NONAME ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterInterface const &) + ?classBegin@QDeclarativeItem@@MAEXXZ @ 82 NONAME ; void QDeclarativeItem::classBegin(void) + ?setTransformOrigin@QDeclarativeItem@@QAEXW4TransformOrigin@1@@Z @ 83 NONAME ; void QDeclarativeItem::setTransformOrigin(enum QDeclarativeItem::TransformOrigin) + ?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@HH@Z @ 84 NONAME ABSENT ; class QDeclarativePixmapReply * QDeclarativePixmapCache::request(class QDeclarativeEngine *, class QUrl const &, int, int) + ?event@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 85 NONAME ; bool QDeclarativeItem::event(class QEvent *) + ?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 86 NONAME ; void QMetaMethodBuilder::setAttributes(int) + ??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 87 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int) + ?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 88 NONAME ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *) + ?findState@QDeclarativeStateGroup@@QBEPAVQDeclarativeState@@ABVQString@@@Z @ 89 NONAME ; class QDeclarativeState * QDeclarativeStateGroup::findState(class QString const &) const + ?asScript@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 90 NONAME ; class QString QDeclarativeParser::Variant::asScript(void) const + ?qt_metacast@QDeclarativeExtensionPlugin@@UAEPAXPBD@Z @ 91 NONAME ; void * QDeclarativeExtensionPlugin::qt_metacast(char const *) + ?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 92 NONAME ; class QString QDeclarativeDomObject::objectId(void) const + ?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 93 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const + ?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 94 NONAME ; void QDeclarativeAbstractBinding::removeFromObject(void) + ?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 95 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const + ?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 96 NONAME ; class QObject * QDeclarativeOpenMetaObject::object(void) const + ?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 97 NONAME ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject + ?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 98 NONAME ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const + ?setLine@QDeclarativeError@@QAEXH@Z @ 99 NONAME ; void QDeclarativeError::setLine(int) + ??6QDeclarativeInfo@@QAEAAV0@K@Z @ 100 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long) + ??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 101 NONAME ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *) + ?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 102 NONAME ; void * QDeclarativeDebugQuery::qt_metacast(char const *) + ?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 103 NONAME ; bool QDeclarativeGridScaledImage::isValid(void) const + ?qt_metacast@QDeclarativeContext@@UAEPAXPBD@Z @ 104 NONAME ; void * QDeclarativeContext::qt_metacast(char const *) + ?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 105 NONAME ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const + ?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 106 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void) + ??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 107 NONAME ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *) + ??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 108 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int) + ?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 109 NONAME ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &) + ??6@YA?AVQDebug@@V0@PAVQDeclarativeItem@@@Z @ 110 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeItem *) + ?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 111 NONAME ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 112 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const + ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 113 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *) + ?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 114 NONAME ; bool QMetaPropertyBuilder::isDynamic(void) const + ?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 115 NONAME ; void QMetaObjectBuilder::removeClassInfo(int) + ?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 116 NONAME ; void QDeclarativeEngine::warnings(class QList<class QDeclarativeError> const &) + ?description@QDeclarativeError@@QBE?AVQString@@XZ @ 117 NONAME ; class QString QDeclarativeError::description(void) const + ?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 118 NONAME ; class QString QDeclarativeDebugPropertyReference::binding(void) const + ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 119 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *) + ?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 120 NONAME ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void) + ?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 121 NONAME ; int QDeclarativeDomDynamicProperty::propertyType(void) const + ?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 122 NONAME ; int QDeclarativeGridScaledImage::gridBottom(void) const + ?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 123 NONAME ; void QDeclarativeRectangle::setRadius(float) + ?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 124 NONAME ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void) + ?isValid@QDeclarativePen@@QAE_NXZ @ 125 NONAME ; bool QDeclarativePen::isValid(void) + ?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 126 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const + ?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 127 NONAME ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const + ?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 128 NONAME ; void QDeclarativeAbstractBinding::addToObject(class QObject *) + ?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 129 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *, int) + ?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 130 NONAME ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void) + ??1QPacket@@UAE@XZ @ 131 NONAME ; QPacket::~QPacket(void) + ?top@QDeclarativeScaleGrid@@QBEHXZ @ 132 NONAME ; int QDeclarativeScaleGrid::top(void) const + ?setExpression@QDeclarativeExpression@@QAEXABVQString@@@Z @ 133 NONAME ; void QDeclarativeExpression::setExpression(class QString const &) + ??1QDeclarativeDebugEngineReference@@QAE@XZ @ 134 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void) + ??0QDeclarativeStateOperation@@QAE@PAVQObject@@@Z @ 135 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObject *) + ?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 136 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *) + ?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 137 NONAME ; struct QMetaObject const QDeclarativeValueType::staticMetaObject + ?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 138 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const + ?getStaticMetaObject@QDeclarativePixmapReply@@SAABUQMetaObject@@XZ @ 139 NONAME ABSENT ; struct QMetaObject const & QDeclarativePixmapReply::getStaticMetaObject(void) + ?focusChanged@QDeclarativeItem@@IAEX_N@Z @ 140 NONAME ; void QDeclarativeItem::focusChanged(bool) + ?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 141 NONAME ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void) + ?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 142 NONAME ; bool QDeclarativeMetaType::copy(int, void *, void const *) + ?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 143 NONAME ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *) + ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 144 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *) + ?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 145 NONAME ; void QMetaPropertyBuilder::setEnumOrFlag(bool) + ?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 146 NONAME ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void) + ?isValid@QDeclarativeProperty@@QBE_NXZ @ 147 NONAME ; bool QDeclarativeProperty::isValid(void) const + ?isConnected@QDeclarativeDebugClient@@QBE_NXZ @ 148 NONAME ; bool QDeclarativeDebugClient::isConnected(void) const + ?enabled@QDeclarativeBinding@@QBE_NXZ @ 149 NONAME ; bool QDeclarativeBinding::enabled(void) const + ?setSource@QDeclarativeView@@QAEXABVQUrl@@@Z @ 150 NONAME ; void QDeclarativeView::setSource(class QUrl const &) + ??_EQDeclarativeDebugService@@UAE@I@Z @ 151 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int) + ??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 152 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &) + ?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 153 NONAME ; class QString QDeclarativeDebugObjectReference::className(void) const + ?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 154 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &) + ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 155 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int) + ?progressChanged@QDeclarativeComponent@@IAEXM@Z @ 156 NONAME ; void QDeclarativeComponent::progressChanged(float) + ?hasError@QDeclarativeExpression@@QBE_NXZ @ 157 NONAME ; bool QDeclarativeExpression::hasError(void) const + ?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 158 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const + ?index@QDeclarativeType@@QBEHXZ @ 159 NONAME ; int QDeclarativeType::index(void) const + ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 160 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *) + ?release@QDeclarativePixmapReply@@AAE_N_N@Z @ 161 NONAME ABSENT ; bool QDeclarativePixmapReply::release(bool) + ??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 162 NONAME ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *) + ?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 163 NONAME ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const + ?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 164 NONAME ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *) + ?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const + ?sceneResized@QDeclarativeView@@IAEXVQSize@@@Z @ 166 NONAME ; void QDeclarativeView::sceneResized(class QSize) + ?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 167 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void) + ?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 168 NONAME ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const + ?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 169 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &) + ?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 170 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *) + ?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 171 NONAME ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &) + ??1QDeclarativeItemPrivate@@UAE@XZ @ 172 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(void) + ?clear@QDeclarativePropertyMap@@QAEXABVQString@@@Z @ 173 NONAME ; void QDeclarativePropertyMap::clear(class QString const &) + ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 174 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int) + ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 175 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeEngine *) + ?insert@QDeclarativePropertyMap@@QAEXABVQString@@ABVQVariant@@@Z @ 176 NONAME ; void QDeclarativePropertyMap::insert(class QString const &, class QVariant const &) + ??1QDeclarativeContext@@UAE@XZ @ 177 NONAME ; QDeclarativeContext::~QDeclarativeContext(void) + ?operationCount@QDeclarativeState@@QBEHXZ @ 178 NONAME ; int QDeclarativeState::operationCount(void) const + ?getStaticMetaObject@QDeclarativeItem@@SAABUQMetaObject@@XZ @ 179 NONAME ; struct QMetaObject const & QDeclarativeItem::getStaticMetaObject(void) + ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 180 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int) + ?status@QDeclarativeComponent@@QBE?AW4Status@1@XZ @ 181 NONAME ; enum QDeclarativeComponent::Status QDeclarativeComponent::status(void) const + ?boundingRect@QDeclarativeItem@@UBE?AVQRectF@@XZ @ 182 NONAME ; class QRectF QDeclarativeItem::boundingRect(void) const + ?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 183 NONAME ; bool QDeclarativeType::availableInVersion(int, int) const + ?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 184 NONAME ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void) + ??_EQDeclarativeRectangle@@UAE@I@Z @ 185 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int) + ?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 186 NONAME ; void QDeclarativeAnchors::setTopMargin(float) + ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 187 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &) + ??1QDeclarativeValueTypeFactory@@QAE@XZ @ 188 NONAME ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void) + ?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 189 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const + ??0QDeclarativeComponent@@QAE@PAVQObject@@@Z @ 190 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QObject *) + ?qt_metacast@QDeclarativeItem@@UAEPAXPBD@Z @ 191 NONAME ; void * QDeclarativeItem::qt_metacast(char const *) + ?changes@QDeclarativeState@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 192 NONAME ; class QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void) + ?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 193 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *) + ?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 194 NONAME ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const + ?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 195 NONAME ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const + ?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 196 NONAME ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const + ??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 197 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &) + ?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 198 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *, int) + ??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 199 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>) + ?quit@QDeclarativeEngine@@IAEXXZ @ 200 NONAME ; void QDeclarativeEngine::quit(void) + ??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 201 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int) + ?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 202 NONAME ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &) + ??0QDeclarativeCustomParser@@QAE@XZ @ 203 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void) + ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 204 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const + ?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 205 NONAME ; class QColor QDeclarativeText::styleColor(void) const + ?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 206 NONAME ; void QDeclarativeAnchors::centerInChanged(void) + ?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 207 NONAME ; void QDeclarativeRectangle::colorChanged(void) + ??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 208 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &) + ?loadUrl@QDeclarativeComponent@@QAEXABVQUrl@@@Z @ 209 NONAME ; void QDeclarativeComponent::loadUrl(class QUrl const &) + ?beginCreate@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 210 NONAME ; class QObject * QDeclarativeComponent::beginCreate(class QDeclarativeContext *) + ?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 211 NONAME ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &) + ?needsNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 212 NONAME ; bool QDeclarativeProperty::needsNotifySignal(void) const + ?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 213 NONAME ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const + ?url@QDeclarativePixmapReply@@QBEABVQUrl@@XZ @ 214 NONAME ABSENT ; class QUrl const & QDeclarativePixmapReply::url(void) const + ?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 215 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const + ?clear@QDeclarativeListReference@@QBE_NXZ @ 216 NONAME ; bool QDeclarativeListReference::clear(void) const + ?parentChanged@QDeclarativeItem@@IAEXPAV1@@Z @ 217 NONAME ; void QDeclarativeItem::parentChanged(class QDeclarativeItem *) + ?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 218 NONAME ; int QDeclarativeDebugFileReference::columnNumber(void) const + ??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 219 NONAME ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *) + ?apply@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@PAVQDeclarativeTransition@@PAV1@@Z @ 220 NONAME ; void QDeclarativeState::apply(class QDeclarativeStateGroup *, class QDeclarativeTransition *, class QDeclarativeState *) + ?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 221 NONAME ; bool QDeclarativeDomProperty::isValid(void) const + ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 222 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *) + ?statusChanged@QDeclarativeView@@IAEXW4Status@1@@Z @ 223 NONAME ; void QDeclarativeView::statusChanged(enum QDeclarativeView::Status) + ?componentComplete@QDeclarativeText@@UAEXXZ @ 224 NONAME ; void QDeclarativeText::componentComplete(void) + ?canCount@QDeclarativeListReference@@QBE_NXZ @ 225 NONAME ; bool QDeclarativeListReference::canCount(void) const + ??1QListModelInterface@@UAE@XZ @ 226 NONAME ; QListModelInterface::~QListModelInterface(void) + ??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 227 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *) + ?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 228 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int) + ?isExtendedType@QDeclarativeType@@QBE_NXZ @ 229 NONAME ; bool QDeclarativeType::isExtendedType(void) const + ?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 230 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const + ??0QDeclarativePropertyMap@@QAE@PAVQObject@@@Z @ 231 NONAME ; QDeclarativePropertyMap::QDeclarativePropertyMap(class QObject *) + ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 232 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &) + ?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 233 NONAME ; void QDeclarativeText::setColor(class QColor const &) + ?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 234 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const + ??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 235 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &) + ?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 236 NONAME ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const + ??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 237 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int) + ?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 238 NONAME ; class QString QDeclarativeItemPrivate::state(void) const + ??1QDeclarativePropertyValueInterceptor@@UAE@XZ @ 239 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(void) + ?getStaticMetaObject@QDeclarativePropertyMap@@SAABUQMetaObject@@XZ @ 240 NONAME ; struct QMetaObject const & QDeclarativePropertyMap::getStaticMetaObject(void) + ??1QDeclarativeScaleGrid@@UAE@XZ @ 241 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void) + ?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 242 NONAME ; class QString QDeclarativeDebugObjectReference::idString(void) const + ?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 243 NONAME ; class QByteArray QDeclarativeDomObject::customTypeData(void) const + ?stop@QDeclarativeTransition@@QAEXXZ @ 244 NONAME ; void QDeclarativeTransition::stop(void) + ?data@QDeclarativeListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 245 NONAME ; class QHash<int, class QVariant> QDeclarativeListModel::data(int, class QList<int> const &) const + ?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 246 NONAME ; float QDeclarativeAnchors::verticalCenterOffset(void) const + ?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 247 NONAME ; struct QMetaObject const * QDeclarativeText::metaObject(void) const + ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 248 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QObject *) + ?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 249 NONAME ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &) + ??0QDeclarativeContext@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 250 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, class QObject *) + ??6QDeclarativeInfo@@QAEAAV0@M@Z @ 251 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(float) + ??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 252 NONAME ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &) + ?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 253 NONAME ; void QDeclarativeScriptString::setScript(class QString const &) + ?qt_metacast@QPacketProtocol@@UAEPAXPBD@Z @ 254 NONAME ; void * QPacketProtocol::qt_metacast(char const *) + ?addMetaObject@QMetaObjectBuilder@@QAEXPBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 255 NONAME ; void QMetaObjectBuilder::addMetaObject(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>) + ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 256 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *, int) + ?qt_metacast@QDeclarativeText@@UAEPAXPBD@Z @ 257 NONAME ; void * QDeclarativeText::qt_metacast(char const *) + ?anchors@QDeclarativeItemPrivate@@QAEPAVQDeclarativeAnchors@@XZ @ 258 NONAME ; class QDeclarativeAnchors * QDeclarativeItemPrivate::anchors(void) + ??0QListModelInterface@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 259 NONAME ; QListModelInterface::QListModelInterface(class QObjectPrivate &, class QObject *) + ?valueTypeName@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 260 NONAME ; class QString QDeclarativeDebugPropertyReference::valueTypeName(void) const + ?setStyleColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 261 NONAME ; void QDeclarativeText::setStyleColor(class QColor const &) + ?create@QDeclarativeType@@QBEPAVQObject@@XZ @ 262 NONAME ; class QObject * QDeclarativeType::create(void) const + ?metaObject@QDeclarativeDebugExpressionQuery@@UBEPBUQMetaObject@@XZ @ 263 NONAME ; struct QMetaObject const * QDeclarativeDebugExpressionQuery::metaObject(void) const + ?readyRead@QPacketProtocol@@IAEXXZ @ 264 NONAME ; void QPacketProtocol::readyRead(void) + ?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 265 NONAME ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *) + ?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 266 NONAME ; int QDeclarativePropertyPrivate::propertyType(void) const + ?engine@QDeclarativeView@@QAEPAVQDeclarativeEngine@@XZ @ 267 NONAME ; class QDeclarativeEngine * QDeclarativeView::engine(void) + ?inputMethodQuery@QDeclarativeItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 268 NONAME ; class QVariant QDeclarativeItem::inputMethodQuery(enum Qt::InputMethodQuery) const + ?sizeHint@QDeclarativeView@@UBE?AVQSize@@XZ @ 269 NONAME ; class QSize QDeclarativeView::sizeHint(void) const + ?flags@QDeclarativeCustomParser@@QBE?AV?$QFlags@W4Flag@QDeclarativeCustomParser@@@@XZ @ 270 NONAME ; class QFlags<enum QDeclarativeCustomParser::Flag> QDeclarativeCustomParser::flags(void) const + ?staticMetaObject@QDeclarativeDebugObjectExpressionWatch@@2UQMetaObject@@B @ 271 NONAME ; struct QMetaObject const QDeclarativeDebugObjectExpressionWatch::staticMetaObject + ??0QDeclarativeDebugPropertyReference@@QAE@ABV0@@Z @ 272 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(class QDeclarativeDebugPropertyReference const &) + ??_EQDeclarativeCustomParser@@UAE@I@Z @ 273 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(unsigned int) + ??6QDeclarativeInfo@@QAEAAV0@ABVQStringRef@@@Z @ 274 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QStringRef const &) + ?values@QDeclarativeDomList@@QBE?AV?$QList@VQDeclarativeDomValue@@@@XZ @ 275 NONAME ; class QList<class QDeclarativeDomValue> QDeclarativeDomList::values(void) const + ?errorString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 276 NONAME ; class QString QDeclarativeComponent::errorString(void) const + ?metaObject@QDeclarativeEngineDebug@@UBEPBUQMetaObject@@XZ @ 277 NONAME ; struct QMetaObject const * QDeclarativeEngineDebug::metaObject(void) const + ??1QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 278 NONAME ; QDeclarativeDomValueValueInterceptor::~QDeclarativeDomValueValueInterceptor(void) + ?flatten@QDeclarativeListModel@@AAE_NXZ @ 279 NONAME ; bool QDeclarativeListModel::flatten(void) + ?propertyCount@QMetaObjectBuilder@@QBEHXZ @ 280 NONAME ; int QMetaObjectBuilder::propertyCount(void) const + ?method@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 281 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::method(int) const + ?textFormat@QDeclarativeText@@QBE?AW4TextFormat@1@XZ @ 282 NONAME ; enum QDeclarativeText::TextFormat QDeclarativeText::textFormat(void) const + ?getStaticMetaObject@QDeclarativeDebugObjectExpressionWatch@@SAABUQMetaObject@@XZ @ 283 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectExpressionWatch::getStaticMetaObject(void) + ?write@QDeclarativeBehavior@@UAEXABVQVariant@@@Z @ 284 NONAME ; void QDeclarativeBehavior::write(class QVariant const &) + ?resetTop@QDeclarativeAnchors@@QAEXXZ @ 285 NONAME ; void QDeclarativeAnchors::resetTop(void) + ?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 286 NONAME ; int QDeclarativeDebugWatch::queryId(void) const + ?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 287 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *, int) + ?staticMetaObject@QDeclarativeComponent@@2UQMetaObject@@B @ 288 NONAME ; struct QMetaObject const QDeclarativeComponent::staticMetaObject + ?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 289 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *) + ?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 290 NONAME ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const + ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 291 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *) + ?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 292 NONAME ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const + ?setName@QDeclarativeState@@QAEXABVQString@@@Z @ 293 NONAME ; void QDeclarativeState::setName(class QString const &) + ?setReversed@QDeclarativeTransition@@QAEX_N@Z @ 294 NONAME ; void QDeclarativeTransition::setReversed(bool) + ?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 295 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *) + ?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 296 NONAME ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *) + ?fromState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 297 NONAME ; class QString QDeclarativeTransition::fromState(void) const + ??1QDeclarativeExpression@@UAE@XZ @ 298 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(void) + ?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 299 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &) + ?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 300 NONAME ; void QMetaObjectBuilder::removeMethod(int) + ?get@QDeclarativePixmapCache@@SA?AW4Status@QDeclarativePixmapReply@@ABVQUrl@@PAVQPixmap@@PAVQString@@PAVQSize@@_NHH@Z @ 301 NONAME ABSENT ; enum QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(class QUrl const &, class QPixmap *, class QString *, class QSize *, bool, int, int) + ?operationAt@QDeclarativeState@@QBEPAVQDeclarativeStateOperation@@H@Z @ 302 NONAME ; class QDeclarativeStateOperation * QDeclarativeState::operationAt(int) const + ?methodCount@QMetaObjectBuilder@@QBEHXZ @ 303 NONAME ; int QMetaObjectBuilder::methodCount(void) const + ?font@QDeclarativeText@@QBE?AVQFont@@XZ @ 304 NONAME ; class QFont QDeclarativeText::font(void) const + ?completeCreate@QDeclarativeComponent@@UAEXXZ @ 305 NONAME ; void QDeclarativeComponent::completeCreate(void) + ??0QDeclarativeDomProperty@@QAE@XZ @ 306 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(void) + ?initDefault@QDeclarativePropertyPrivate@@QAEXPAVQObject@@@Z @ 307 NONAME ; void QDeclarativePropertyPrivate::initDefault(class QObject *) + ?count@QDeclarativeListModel@@UBEHXZ @ 308 NONAME ; int QDeclarativeListModel::count(void) const + ?setSmooth@QDeclarativeItem@@QAEX_N@Z @ 309 NONAME ; void QDeclarativeItem::setSmooth(bool) + ?value@QDeclarativeDebugPropertyReference@@QBE?AVQVariant@@XZ @ 310 NONAME ; class QVariant QDeclarativeDebugPropertyReference::value(void) const + ?resources@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 311 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::resources(void) + ?clear@QPacketProtocol@@QAEXXZ @ 312 NONAME ; void QPacketProtocol::clear(void) + ?setState@QDeclarativeItemPrivate@@QAEXABVQString@@@Z @ 313 NONAME ; void QDeclarativeItemPrivate::setState(class QString const &) + ??4QDeclarativeDebugPropertyReference@@QAEAAV0@ABV0@@Z @ 314 NONAME ; class QDeclarativeDebugPropertyReference & QDeclarativeDebugPropertyReference::operator=(class QDeclarativeDebugPropertyReference const &) + ?metaObject@QDeclarativeView@@UBEPBUQMetaObject@@XZ @ 315 NONAME ; struct QMetaObject const * QDeclarativeView::metaObject(void) const + ?listElementType@QDeclarativeListReference@@QBEPBUQMetaObject@@XZ @ 316 NONAME ; struct QMetaObject const * QDeclarativeListReference::listElementType(void) const + ??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeContext@@@Z @ 317 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeContext *) + ?setTarget@QDeclarativeBehavior@@UAEXABVQDeclarativeProperty@@@Z @ 318 NONAME ; void QDeclarativeBehavior::setTarget(class QDeclarativeProperty const &) + ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 319 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *, int) + ?parent@QDeclarativeOpenMetaObject@@IBEPAUQAbstractDynamicMetaObject@@XZ @ 320 NONAME ; struct QAbstractDynamicMetaObject * QDeclarativeOpenMetaObject::parent(void) const + ??0QDeclarativeDebugClient@@QAE@ABVQString@@PAVQDeclarativeDebugConnection@@@Z @ 321 NONAME ; QDeclarativeDebugClient::QDeclarativeDebugClient(class QString const &, class QDeclarativeDebugConnection *) + ?qt_metacall@QDeclarativeStateOperation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 322 NONAME ; int QDeclarativeStateOperation::qt_metacall(enum QMetaObject::Call, int, void * *) + ?type@Variant@QDeclarativeParser@@QBE?AW4Type@12@XZ @ 323 NONAME ; enum QDeclarativeParser::Variant::Type QDeclarativeParser::Variant::type(void) const + ??6QDeclarativeInfo@@QAEAAV0@_N@Z @ 324 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(bool) + ?value@QDeclarativeDomProperty@@QBE?AVQDeclarativeDomValue@@XZ @ 325 NONAME ; class QDeclarativeDomValue QDeclarativeDomProperty::value(void) const + ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectExpressionWatch@@ABVQDeclarativeDebugObjectReference@@ABVQString@@PAVQObject@@@Z @ 326 NONAME ; class QDeclarativeDebugObjectExpressionWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QString const &, class QObject *) + ??_EQDeclarativeDebugConnection@@UAE@I@Z @ 327 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(unsigned int) + ?qt_metacall@QDeclarativeDebugConnection@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 328 NONAME ; int QDeclarativeDebugConnection::qt_metacall(enum QMetaObject::Call, int, void * *) + ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 329 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *, int) + ?errors@QDeclarativeComponent@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 330 NONAME ; class QList<class QDeclarativeError> QDeclarativeComponent::errors(void) const + ??0QDeclarativeCustomParserNode@@QAE@ABV0@@Z @ 331 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(class QDeclarativeCustomParserNode const &) + ??1QDeclarativeImageProvider@@UAE@XZ @ 332 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(void) + ?sync@QDeclarativeListModel@@QAEXXZ @ 333 NONAME ; void QDeclarativeListModel::sync(void) + ?objectForId@QDeclarativeDebugService@@SAPAVQObject@@H@Z @ 334 NONAME ; class QObject * QDeclarativeDebugService::objectForId(int) + ?hasFocus@QDeclarativeItem@@QBE_NXZ @ 335 NONAME ; bool QDeclarativeItem::hasFocus(void) const + ??1QDeclarativeExtensionPlugin@@UAE@XZ @ 336 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(void) + ?qt_metacall@QDeclarativeBehavior@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 337 NONAME ; int QDeclarativeBehavior::qt_metacall(enum QMetaObject::Call, int, void * *) + ?d_func@QDeclarativeBehavior@@ABEPBVQDeclarativeBehaviorPrivate@@XZ @ 338 NONAME ; class QDeclarativeBehaviorPrivate const * QDeclarativeBehavior::d_func(void) const + ?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 339 NONAME ; void QDeclarativeText::wrapModeChanged(void) + ?elideModeChanged@QDeclarativeText@@IAEXW4TextElideMode@1@@Z @ 340 NONAME ; void QDeclarativeText::elideModeChanged(enum QDeclarativeText::TextElideMode) + ??1QDeclarativeExtensionInterface@@UAE@XZ @ 341 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(void) + ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQMetaEnum@@@Z @ 342 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QMetaEnum const &) + ?interfaceIId@QDeclarativeType@@QBEPBDXZ @ 343 NONAME ; char const * QDeclarativeType::interfaceIId(void) const + ?resetHorizontalCenter@QDeclarativeAnchors@@QAEXXZ @ 344 NONAME ; void QDeclarativeAnchors::resetHorizontalCenter(void) + ?outputWarningsToStandardError@QDeclarativeEngine@@QBE_NXZ @ 345 NONAME ; bool QDeclarativeEngine::outputWarningsToStandardError(void) const + ?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 346 NONAME ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void) + ??0QMetaEnumBuilder@@QAE@XZ @ 347 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(void) + ?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 348 NONAME ; bool QDeclarativeValueTypeFactory::isValueType(int) + ?setWidth@QDeclarativePen@@QAEXH@Z @ 349 NONAME ; void QDeclarativePen::setWidth(int) + ?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 350 NONAME ; bool QMetaPropertyBuilder::isReadable(void) const + ?metaObject@QDeclarativeExpression@@UBEPBUQMetaObject@@XZ @ 351 NONAME ; struct QMetaObject const * QDeclarativeExpression::metaObject(void) const + ??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 352 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &) + ?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 353 NONAME ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void) + ??0QDeclarativeDomComponent@@QAE@XZ @ 354 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(void) + ??1QDeclarativePropertyPrivate@@QAE@XZ @ 355 NONAME ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void) + ?setBaselineOffset@QDeclarativeItem@@QAEXM@Z @ 356 NONAME ; void QDeclarativeItem::setBaselineOffset(float) + ??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 357 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void) + ?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 358 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *, int) + ?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 359 NONAME ; void QDeclarativeStateGroup::setState(class QString const &) + ??_EQDeclarativeImageProvider@@UAE@I@Z @ 360 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(unsigned int) + ?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 361 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *) + ?isLoading@QDeclarativeComponent@@QBE_NXZ @ 362 NONAME ; bool QDeclarativeComponent::isLoading(void) const + ?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 363 NONAME ; void (*)(void *) QDeclarativeType::createFunction(void) const + ?childrenRect@QDeclarativeItem@@QAE?AVQRectF@@XZ @ 364 NONAME ; class QRectF QDeclarativeItem::childrenRect(void) + ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 365 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *) + ?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 366 NONAME ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const + ??6QDeclarativeInfo@@QAEAAV0@D@Z @ 367 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char) + ??1QDeclarativeDomValueLiteral@@QAE@XZ @ 368 NONAME ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void) + ?keepMouseGrab@QDeclarativeItem@@QBE_NXZ @ 369 NONAME ; bool QDeclarativeItem::keepMouseGrab(void) const + ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 370 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int) + ?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 371 NONAME ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void) + ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 372 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *) + ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 373 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](int) + ??0Variant@QDeclarativeParser@@QAE@XZ @ 374 NONAME ; QDeclarativeParser::Variant::Variant(void) + ?status@QDeclarativeView@@QBE?AW4Status@1@XZ @ 375 NONAME ; enum QDeclarativeView::Status QDeclarativeView::status(void) const + ??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 376 NONAME ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *) + ?create@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 377 NONAME ; class QObject * QDeclarativeComponent::create(class QDeclarativeContext *) + ??_EQPacket@@UAE@I@Z @ 378 NONAME ; QPacket::~QPacket(unsigned int) + ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 379 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int) + ?isResettable@QDeclarativeProperty@@QBE_NXZ @ 380 NONAME ; bool QDeclarativeProperty::isResettable(void) const + ?isList@QDeclarativeCustomParserProperty@@QBE_NXZ @ 381 NONAME ; bool QDeclarativeCustomParserProperty::isList(void) const + ?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 382 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void) + ??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 383 NONAME ; QDeclarativeValueType::QDeclarativeValueType(class QObject *) + ?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 384 NONAME ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject + ?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 385 NONAME ; bool QDeclarativeDomValue::isLiteral(void) const + ?qt_metacall@QDeclarativeItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 386 NONAME ; int QDeclarativeItem::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 387 NONAME ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *) + ?move@QDeclarativeListModel@@QAEXHHH@Z @ 388 NONAME ; void QDeclarativeListModel::move(int, int, int) + ?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 389 NONAME ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const + ?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 390 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *) + ?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 391 NONAME ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void) + ?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 392 NONAME ; class QByteArray QMetaMethodBuilder::signature(void) const + ??_EQDeclarativeParserStatus@@UAE@I@Z @ 393 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(unsigned int) + ?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 394 NONAME ; float QDeclarativeAnchors::rightMargin(void) const + ?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 395 NONAME ; void QListModelInterface::itemsMoved(int, int, int) + ?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 396 NONAME ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *) + ?canAt@QDeclarativeListReference@@QBE_NXZ @ 397 NONAME ; bool QDeclarativeListReference::canAt(void) const + ?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 398 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const + ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 399 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *) + ?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 400 NONAME ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *) + ?getStaticMetaObject@QDeclarativeEngine@@SAABUQMetaObject@@XZ @ 401 NONAME ; struct QMetaObject const & QDeclarativeEngine::getStaticMetaObject(void) + ?paintEvent@QDeclarativeView@@MAEXPAVQPaintEvent@@@Z @ 402 NONAME ; void QDeclarativeView::paintEvent(class QPaintEvent *) + ?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 403 NONAME ; class QString QDeclarativeDebugPropertyWatch::name(void) const + ?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 404 NONAME ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const + ?margins@QDeclarativeAnchors@@QBEMXZ @ 405 NONAME ; float QDeclarativeAnchors::margins(void) const + ?length@QDeclarativeDomProperty@@QBEHXZ @ 406 NONAME ; int QDeclarativeDomProperty::length(void) const + ??1QDeclarativeDomImport@@QAE@XZ @ 407 NONAME ; QDeclarativeDomImport::~QDeclarativeDomImport(void) + ?addRef@QDeclarativePixmapReply@@AAEXXZ @ 408 NONAME ABSENT ; void QDeclarativePixmapReply::addRef(void) + ?mouseReleaseEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 409 NONAME ; void QDeclarativeText::mouseReleaseEvent(class QGraphicsSceneMouseEvent *) + ?isCustomType@QDeclarativeDomObject@@QBE_NXZ @ 410 NONAME ; bool QDeclarativeDomObject::isCustomType(void) const + ?registerType@QDeclarativePrivate@@YAHABURegisterType@1@@Z @ 411 NONAME ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterType const &) + ?radius@QDeclarativeRectangle@@QBEMXZ @ 412 NONAME ; float QDeclarativeRectangle::radius(void) const + ??0QDeclarativeComponent@@AAE@PAVQDeclarativeEngine@@PAVQDeclarativeCompiledData@@HHPAVQObject@@@Z @ 413 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QDeclarativeCompiledData *, int, int, class QObject *) + ?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 414 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *) + ?timerEvent@QDeclarativeView@@MAEXPAVQTimerEvent@@@Z @ 415 NONAME ; void QDeclarativeView::timerEvent(class QTimerEvent *) + ?finished@QDeclarativePixmapReply@@IAEXXZ @ 416 NONAME ABSENT ; void QDeclarativePixmapReply::finished(void) + ?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 417 NONAME ; void QDeclarativeTransition::setToState(class QString const &) + ?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 418 NONAME ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const + ?getStaticMetaObject@QDeclarativeView@@SAABUQMetaObject@@XZ @ 419 NONAME ; struct QMetaObject const & QDeclarativeView::getStaticMetaObject(void) + ?metaObject@QDeclarativeStateOperation@@UBEPBUQMetaObject@@XZ @ 420 NONAME ; struct QMetaObject const * QDeclarativeStateOperation::metaObject(void) const + ?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 421 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *) + ?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 422 NONAME ; void QDeclarativeListModel::append(class QScriptValue const &) + ??1QDeclarativeDebugObjectReference@@QAE@XZ @ 423 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void) + ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 424 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *) + ?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 425 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &) + ?object@QDeclarativeListReference@@QBEPAVQObject@@XZ @ 426 NONAME ; class QObject * QDeclarativeListReference::object(void) const + ?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 427 NONAME ; void QDeclarativeBehavior::setEnabled(bool) + ?line@QDeclarativeError@@QBEHXZ @ 428 NONAME ; int QDeclarativeError::line(void) const + ?heightValid@QDeclarativeItem@@IBE_NXZ @ 429 NONAME ; bool QDeclarativeItem::heightValid(void) const + ??1QDeclarativeOpenMetaObject@@UAE@XZ @ 430 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void) + ??0QPacket@@QAE@XZ @ 431 NONAME ; QPacket::QPacket(void) + ?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 432 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *, int) + ?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 433 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *, int) + ??0QDeclarativeDebugEngineReference@@QAE@XZ @ 434 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void) + ?qmlEngine@@YAPAVQDeclarativeEngine@@PBVQObject@@@Z @ 435 NONAME ; class QDeclarativeEngine * qmlEngine(class QObject const *) + ?error@QDeclarativeExpression@@QBE?AVQDeclarativeError@@XZ @ 436 NONAME ; class QDeclarativeError QDeclarativeExpression::error(void) const + ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 437 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *) + ?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 438 NONAME ; void QDeclarativeText::styleColorChanged(class QColor const &) + ?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 439 NONAME ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void) + ?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 440 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *, int) + ?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 441 NONAME ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 442 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const + ?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 443 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void) + ?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 444 NONAME ; class QList<int> QDeclarativeListModel::roles(void) const + ?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 445 NONAME ; class QByteArray QMetaEnumBuilder::name(void) const + ??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 446 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int) + ?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 447 NONAME ; void QDeclarativeRectangle::setColor(class QColor const &) + ?clipChanged@QDeclarativeItem@@IAEX_N@Z @ 448 NONAME ; void QDeclarativeItem::clipChanged(bool) + ??0QDeclarativeCustomParser@@QAE@V?$QFlags@W4Flag@QDeclarativeCustomParser@@@@@Z @ 449 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(class QFlags<enum QDeclarativeCustomParser::Flag>) + ?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 450 NONAME ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &) + ?smoothChanged@QDeclarativeItem@@IAEX_N@Z @ 451 NONAME ; void QDeclarativeItem::smoothChanged(bool) + ?colorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 452 NONAME ; void QDeclarativeText::colorChanged(class QColor const &) + ?continueExecute@QDeclarativeView@@AAEXXZ @ 453 NONAME ; void QDeclarativeView::continueExecute(void) + ?initialSize@QDeclarativeView@@QBE?AVQSize@@XZ @ 454 NONAME ; class QSize QDeclarativeView::initialSize(void) const + ?interfaceIId@QDeclarativeMetaType@@SAPBDH@Z @ 455 NONAME ; char const * QDeclarativeMetaType::interfaceIId(int) + ?isValid@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 456 NONAME ; bool QDeclarativeDomDynamicProperty::isValid(void) const + ?baselineChanged@QDeclarativeAnchors@@IAEXXZ @ 457 NONAME ; void QDeclarativeAnchors::baselineChanged(void) + ?name@QDeclarativeState@@QBE?AVQString@@XZ @ 458 NONAME ; class QString QDeclarativeState::name(void) const + ??4QDeclarativeDomObject@@QAEAAV0@ABV0@@Z @ 459 NONAME ; class QDeclarativeDomObject & QDeclarativeDomObject::operator=(class QDeclarativeDomObject const &) + ?qt_metacall@QDeclarativeContext@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 460 NONAME ; int QDeclarativeContext::qt_metacall(enum QMetaObject::Call, int, void * *) + ??_EQDeclarativeValueType@@UAE@I@Z @ 461 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(unsigned int) + ?qt_metacall@QDeclarativeState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 462 NONAME ; int QDeclarativeState::qt_metacall(enum QMetaObject::Call, int, void * *) + ?isEnabled@QDeclarativeDebugService@@QBE_NXZ @ 463 NONAME ; bool QDeclarativeDebugService::isEnabled(void) const + ?stateChanged@QDeclarativeDebugWatch@@IAEXW4State@1@@Z @ 464 NONAME ; void QDeclarativeDebugWatch::stateChanged(enum QDeclarativeDebugWatch::State) + ??0QMetaMethodBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 465 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(class QMetaObjectBuilder const *, int) + ??4QDeclarativeListReference@@QAEAAV0@ABV0@@Z @ 466 NONAME ; class QDeclarativeListReference & QDeclarativeListReference::operator=(class QDeclarativeListReference const &) + ?componentFinalized@QDeclarativeBehavior@@AAEXXZ @ 467 NONAME ; void QDeclarativeBehavior::componentFinalized(void) + ?stateChanged@QDeclarativeDebugQuery@@IAEXW4State@1@@Z @ 468 NONAME ; void QDeclarativeDebugQuery::stateChanged(enum QDeclarativeDebugQuery::State) + ?setVerticalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 469 NONAME ; void QDeclarativeAnchors::setVerticalCenter(class QDeclarativeAnchorLine const &) + ?keyPressEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 470 NONAME ; void QDeclarativeItem::keyPressEvent(class QKeyEvent *) + ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 471 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *) + ?metaObject@QDeclarativeExtensionPlugin@@UBEPBUQMetaObject@@XZ @ 472 NONAME ; struct QMetaObject const * QDeclarativeExtensionPlugin::metaObject(void) const + ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 473 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *, int) + ?setCenterIn@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 474 NONAME ; void QDeclarativeAnchors::setCenterIn(class QGraphicsObject *) + ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@ABVQByteArray@@HH@Z @ 475 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(class QByteArray const &, int, int) + ??0QDeclarativeDebugObjectQuery@@AAE@PAVQObject@@@Z @ 476 NONAME ; QDeclarativeDebugObjectQuery::QDeclarativeDebugObjectQuery(class QObject *) + ?isComponent@QDeclarativeDomObject@@QBE_NXZ @ 477 NONAME ; bool QDeclarativeDomObject::isComponent(void) const + ?inputMethodEvent@QDeclarativeItem@@MAEXPAVQInputMethodEvent@@@Z @ 478 NONAME ; void QDeclarativeItem::inputMethodEvent(class QInputMethodEvent *) + ?styleChanged@QDeclarativeText@@IAEXW4TextStyle@1@@Z @ 479 NONAME ; void QDeclarativeText::styleChanged(enum QDeclarativeText::TextStyle) + ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeEngine@@@Z @ 480 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeEngine *) + ?pluginPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 481 NONAME ; class QStringList QDeclarativeEngine::pluginPathList(void) const + ?parentContext@QDeclarativeContext@@QBEPAV1@XZ @ 482 NONAME ; class QDeclarativeContext * QDeclarativeContext::parentContext(void) const + ?leftMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 483 NONAME ; void QDeclarativeAnchors::leftMarginChanged(void) + ?staticMetaObject@QDeclarativeDebugService@@2UQMetaObject@@B @ 484 NONAME ; struct QMetaObject const QDeclarativeDebugService::staticMetaObject + ?topMargin@QDeclarativeAnchors@@QBEMXZ @ 485 NONAME ; float QDeclarativeAnchors::topMargin(void) const + ??0QDeclarativeDebugExpressionQuery@@AAE@PAVQObject@@@Z @ 486 NONAME ; QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(class QObject *) + ?qt_metacast@QDeclarativePixmapReply@@UAEPAXPBD@Z @ 487 NONAME ABSENT ; void * QDeclarativePixmapReply::qt_metacast(char const *) + ??0QPacket@@IAE@ABVQByteArray@@@Z @ 488 NONAME ; QPacket::QPacket(class QByteArray const &) + ?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 489 NONAME ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>) + ?horizontalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 490 NONAME ; void QDeclarativeAnchors::horizontalCenterChanged(void) + ?right@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 491 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::right(void) const + ?pendingRequests@QDeclarativePixmapCache@@SAHXZ @ 492 NONAME ABSENT ; int QDeclarativePixmapCache::pendingRequests(void) + ?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 493 NONAME ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject + ?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 494 NONAME ; void QDeclarativeOpenMetaObject::propertyRead(int) + ?importPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 495 NONAME ; class QStringList QDeclarativeEngine::importPathList(void) const + ?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 496 NONAME ; class QDeclarativePen * QDeclarativeRectangle::border(void) + ?baselineOffset@QDeclarativeItem@@QBEMXZ @ 497 NONAME ; float QDeclarativeItem::baselineOffset(void) const + ?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 498 NONAME ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *) + ?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 499 NONAME ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *) + ??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 500 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &) + ??1QDeclarativeListModel@@UAE@XZ @ 501 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(void) + ?qmlAttachedPropertiesObject@@YAPAVQObject@@PAHPBV1@PBUQMetaObject@@_N@Z @ 502 NONAME ; class QObject * qmlAttachedPropertiesObject(int *, class QObject const *, struct QMetaObject const *, bool) + ??_EQDeclarativeDebugClient@@UAE@I@Z @ 503 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int) + ??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 504 NONAME ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &) + ?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 505 NONAME ; class QString QPacketProtocol::tr(char const *, char const *) + ?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 506 NONAME ; void QDeclarativeText::setFont(class QFont const &) + ?fromChanged@QDeclarativeTransition@@IAEXXZ @ 507 NONAME ; void QDeclarativeTransition::fromChanged(void) + ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 508 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &) + ?setHeight@QDeclarativeItemPrivate@@UAEXM@Z @ 509 NONAME ; void QDeclarativeItemPrivate::setHeight(float) + ??0Variant@QDeclarativeParser@@QAE@ABV01@@Z @ 510 NONAME ; QDeclarativeParser::Variant::Variant(class QDeclarativeParser::Variant const &) + ?getStaticMetaObject@QDeclarativeExtensionPlugin@@SAABUQMetaObject@@XZ @ 511 NONAME ; struct QMetaObject const & QDeclarativeExtensionPlugin::getStaticMetaObject(void) + ??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 512 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *) + ?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 513 NONAME ; void * QDeclarativeDebugClient::qt_metacast(char const *) + ?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 514 NONAME ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const + ?right@QDeclarativeScaleGrid@@QBEHXZ @ 515 NONAME ; int QDeclarativeScaleGrid::right(void) const + ?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 516 NONAME ; void QMetaObjectBuilder::setClassName(class QByteArray const &) + ??1QDeclarativeAnchors@@UAE@XZ @ 517 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(void) + ?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 518 NONAME ; void QMetaObjectBuilder::removeConstructor(int) + ??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 519 NONAME ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &) + ?resolveType@QDeclarativeCustomParser@@IBEPBUQMetaObject@@ABVQByteArray@@@Z @ 520 NONAME ; struct QMetaObject const * QDeclarativeCustomParser::resolveType(class QByteArray const &) const + ??_EQDeclarativePropertyValueSource@@UAE@I@Z @ 521 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(unsigned int) + ?staticMetaObject@QDeclarativeItem@@2UQMetaObject@@B @ 522 NONAME ; struct QMetaObject const QDeclarativeItem::staticMetaObject + ?qt_metacast@QDeclarativeDebugRootContextQuery@@UAEPAXPBD@Z @ 523 NONAME ; void * QDeclarativeDebugRootContextQuery::qt_metacast(char const *) + ?itemsRemoved@QListModelInterface@@IAEXHH@Z @ 524 NONAME ; void QListModelInterface::itemsRemoved(int, int) + ?networkAccessManager@QDeclarativeEngine@@QBEPAVQNetworkAccessManager@@XZ @ 525 NONAME ; class QNetworkAccessManager * QDeclarativeEngine::networkAccessManager(void) const + ??0QDeclarativeDomValue@@QAE@XZ @ 526 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(void) + ?init@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItem@@@Z @ 527 NONAME ; void QDeclarativeItemPrivate::init(class QDeclarativeItem *) + ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQByteArray@@0H@Z @ 528 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QByteArray const &, class QByteArray const &, int) + ?getStaticMetaObject@QDeclarativeState@@SAABUQMetaObject@@XZ @ 529 NONAME ; struct QMetaObject const & QDeclarativeState::getStaticMetaObject(void) + ?isResettable@QMetaPropertyBuilder@@QBE_NXZ @ 530 NONAME ; bool QMetaPropertyBuilder::isResettable(void) const + ?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 531 NONAME ; void QDeclarativeAnchors::bottomMarginChanged(void) + ?offlineStoragePath@QDeclarativeEngine@@QBE?AVQString@@XZ @ 532 NONAME ; class QString QDeclarativeEngine::offlineStoragePath(void) const + ?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 533 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const + ?addItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 534 NONAME ; void QDeclarativeItemPrivate::addItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>) + ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 535 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &) + ??6QDeclarativeInfo@@QAEAAV0@F@Z @ 536 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(short) + ?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 537 NONAME ; void QMetaObjectBuilder::serialize(class QDataStream &) const + ??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 538 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &) + ?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 539 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int) + ?propertyType@QDeclarativeProperty@@QBEHXZ @ 540 NONAME ; int QDeclarativeProperty::propertyType(void) const + ?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 541 NONAME ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const + ??_EQDeclarativeBehavior@@UAE@I@Z @ 542 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int) + ??_EQDeclarativeListModel@@UAE@I@Z @ 543 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int) + ?isCreatable@QDeclarativeType@@QBE_NXZ @ 544 NONAME ; bool QDeclarativeType::isCreatable(void) const + ??6QDeclarativeInfo@@QAEAAV0@ABVQString@@@Z @ 545 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QString const &) + ?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 546 NONAME ; class QString QDeclarativePen::tr(char const *, char const *) + ?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 547 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *, int) + ??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 548 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QObject *) + ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 549 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *) + ?setColumn@QDeclarativeError@@QAEXH@Z @ 550 NONAME ; void QDeclarativeError::setColumn(int) + ??1QDeclarativeTransition@@UAE@XZ @ 551 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(void) + ??AQDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 552 NONAME ; class QVariant QDeclarativePropertyMap::operator[](class QString const &) const + ?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 553 NONAME ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qdeclarativeelement_destructor@QDeclarativePrivate@@YAXPAVQObject@@@Z @ 554 NONAME ; void QDeclarativePrivate::qdeclarativeelement_destructor(class QObject *) + ?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 555 NONAME ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &)) + ?metaObject@QDeclarativeEngine@@UBEPBUQMetaObject@@XZ @ 556 NONAME ; struct QMetaObject const * QDeclarativeEngine::metaObject(void) const + ??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 557 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int) + ?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 558 NONAME ; void QDeclarativeOpenMetaObject::propertyWrite(int) + ?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 559 NONAME ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 560 NONAME ; void QDeclarativeAnchors::setVerticalCenterOffset(float) + ??1QDeclarativeDebugWatch@@UAE@XZ @ 561 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void) + ??1QPacketAutoSend@@UAE@XZ @ 562 NONAME ; QPacketAutoSend::~QPacketAutoSend(void) + ?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 563 NONAME ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &) + ?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 564 NONAME ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void) + ?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 565 NONAME ; void * QDeclarativeListModel::qt_metacast(char const *) + ?name@QDeclarativeCustomParserProperty@@QBE?AVQByteArray@@XZ @ 566 NONAME ; class QByteArray QDeclarativeCustomParserProperty::name(void) const + ?update@QDeclarativeBinding@@QAEXXZ @ 567 NONAME ; void QDeclarativeBinding::update(void) + ?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 568 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *) + ?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 569 NONAME ; void * QDeclarativeDebugConnection::qt_metacast(char const *) + ?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 570 NONAME ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *) + ?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 571 NONAME ; void * QDeclarativeBinding::qt_metacast(char const *) + ?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 572 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const + ?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 573 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *) + ??0QDeclarativeProperty@@QAE@PAVQObject@@@Z @ 574 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *) + ?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 575 NONAME ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const + ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 576 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int) + ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 577 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int) + ??1QDeclarativeCustomParser@@UAE@XZ @ 578 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(void) + ?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 579 NONAME ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const + ?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 580 NONAME ; struct QMetaObject const * QDeclarativeType::metaObject(void) const + ?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 581 NONAME ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void) + ?listType@QDeclarativeMetaType@@SAHH@Z @ 582 NONAME ; int QDeclarativeMetaType::listType(int) + ?transform_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@PAVQGraphicsTransform@@@Z @ 583 NONAME ; void QDeclarativeItemPrivate::transform_append(class QDeclarativeListProperty<class QGraphicsTransform> *, class QGraphicsTransform *) + ?d_func@QDeclarativeComponent@@AAEPAVQDeclarativeComponentPrivate@@XZ @ 584 NONAME ; class QDeclarativeComponentPrivate * QDeclarativeComponent::d_func(void) + ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 585 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &) + ?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 586 NONAME ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *) + ?size@QDeclarativePropertyMap@@QBEHXZ @ 587 NONAME ; int QDeclarativePropertyMap::size(void) const + ?cancel@QDeclarativeState@@QAEXXZ @ 588 NONAME ; void QDeclarativeState::cancel(void) + ?qt_metacall@QDeclarativeStateGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; int QDeclarativeStateGroup::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QDeclarativePropertyPrivate@@QAE@XZ @ 590 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void) + ?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 591 NONAME ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void) + ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 592 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int) + ?transformOrigin@QDeclarativeItem@@QBE?AW4TransformOrigin@1@XZ @ 593 NONAME ; enum QDeclarativeItem::TransformOrigin QDeclarativeItem::transformOrigin(void) const + ?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 594 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State) + ?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 595 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const + ?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 596 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State) + ?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 597 NONAME ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const + ?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 598 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void) + ?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 599 NONAME ; class QByteArray QDeclarativeType::typeName(void) const + ?asStringList@Variant@QDeclarativeParser@@QBE?AVQStringList@@XZ @ 600 NONAME ; class QStringList QDeclarativeParser::Variant::asStringList(void) const + ?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 601 NONAME ; void QMetaEnumBuilder::removeKey(int) + ?downloadProgress@QDeclarativePixmapReply@@IAEX_J0@Z @ 602 NONAME ABSENT ; void QDeclarativePixmapReply::downloadProgress(long long, long long) + ?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 603 NONAME ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &) + ??0QDeclarativeDomValueLiteral@@QAE@XZ @ 604 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void) + ??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 605 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int) + ?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 606 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const + ??0QDeclarativeListReference@@QAE@PAVQObject@@PBDPAVQDeclarativeEngine@@@Z @ 607 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QObject *, char const *, class QDeclarativeEngine *) + ?setData@QListModelInterface@@UAE_NHABV?$QHash@HVQVariant@@@@@Z @ 608 NONAME ; bool QListModelInterface::setData(int, class QHash<int, class QVariant> const &) + ??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 609 NONAME ; QDeclarativePen::QDeclarativePen(class QObject *) + ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 610 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *, int) + ?setContextObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 611 NONAME ; void QDeclarativeContext::setContextObject(class QObject *) + ??_EQDeclarativeState@@UAE@I@Z @ 612 NONAME ; QDeclarativeState::~QDeclarativeState(unsigned int) + ?expression@QDeclarativeExpression@@QBE?AVQString@@XZ @ 613 NONAME ; class QString QDeclarativeExpression::expression(void) const + ??1QDeclarativeDomDocument@@QAE@XZ @ 614 NONAME ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void) + ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 615 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int) + ?asNumber@Variant@QDeclarativeParser@@QBENXZ @ 616 NONAME ; double QDeclarativeParser::Variant::asNumber(void) const + ?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 617 NONAME ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const + ?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 618 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *) + ??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 619 NONAME ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *) + ?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 620 NONAME ; class QString QDeclarativeDebugEngineReference::name(void) const + ??_EQDeclarativeTransition@@UAE@I@Z @ 621 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(unsigned int) + ??0QDeclarativeAction@@QAE@ABV0@@Z @ 622 NONAME ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &) + ?extends@QDeclarativeState@@QBE?AVQString@@XZ @ 623 NONAME ; class QString QDeclarativeState::extends(void) const + ?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserProperty@@ABVQString@@@Z @ 624 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserProperty const &, class QString const &) + ??0QDeclarativeCustomParserNode@@QAE@XZ @ 625 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(void) + ?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 626 NONAME ; class QString QDeclarativeDomImport::version(void) const + ?smooth@QDeclarativeItem@@QBE_NXZ @ 627 NONAME ; bool QDeclarativeItem::smooth(void) const + ?implicitSize@QDeclarativePixmapReply@@QBE?AVQSize@@XZ @ 628 NONAME ABSENT ; class QSize QDeclarativePixmapReply::implicitSize(void) const + ??1QDeclarativeInfo@@QAE@XZ @ 629 NONAME ; QDeclarativeInfo::~QDeclarativeInfo(void) + ?qt_metacast@QDeclarativeStateOperation@@UAEPAXPBD@Z @ 630 NONAME ; void * QDeclarativeStateOperation::qt_metacast(char const *) + ??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 631 NONAME ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &) + ?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 632 NONAME ; bool QDeclarativePropertyPrivate::isValueType(void) const + ??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 633 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &) + ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 634 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int) + ??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 635 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int) + ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 636 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *, int) + ?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 637 NONAME ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *) + ?d_func@QDeclarativeItem@@AAEPAVQDeclarativeItemPrivate@@XZ @ 638 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItem::d_func(void) + ?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 639 NONAME ; class QString QDeclarativeDomValueBinding::binding(void) const + ?updateAutoState@QDeclarativeStateGroup@@AAE_NXZ @ 640 NONAME ; bool QDeclarativeStateGroup::updateAutoState(void) + ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 641 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *) + ?tr@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 642 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *, int) + ??1QDeclarativeProperty@@QAE@XZ @ 643 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(void) + ?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 644 NONAME ; void QDeclarativeText::fontChanged(class QFont const &) + ?removeItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 645 NONAME ; void QDeclarativeItemPrivate::removeItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>) + ?isList@QDeclarativeDomValue@@QBE_NXZ @ 646 NONAME ; bool QDeclarativeDomValue::isList(void) const + ?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 647 NONAME ; void QDeclarativeListModel::insert(int, class QScriptValue const &) + ?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 648 NONAME ; struct QMetaObject const QDeclarativeListModel::staticMetaObject + ?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 649 NONAME ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &) + ?lineNumber@QDeclarativeExpression@@QBEHXZ @ 650 NONAME ; int QDeclarativeExpression::lineNumber(void) const + ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 651 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int) + ?toString@QDeclarativeError@@QBE?AVQString@@XZ @ 652 NONAME ; class QString QDeclarativeError::toString(void) const + ?index@QMetaPropertyBuilder@@QBEHXZ @ 653 NONAME ; int QMetaPropertyBuilder::index(void) const + ?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 654 NONAME ; class QList<int> QDeclarativeDomList::commaPositions(void) const + ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 655 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *) + ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 656 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *) + ?tr@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 657 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *) + ?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 658 NONAME ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat) + ?parserStatusCast@QDeclarativeType@@QBEHXZ @ 659 NONAME ; int QDeclarativeType::parserStatusCast(void) const + ??_EQListModelInterface@@UAE@I@Z @ 660 NONAME ; QListModelInterface::~QListModelInterface(unsigned int) + ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 661 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *) + ?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 662 NONAME ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void) + ?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 663 NONAME ; void QMetaPropertyBuilder::setStdCppSet(bool) + ??0QDeclarativeItemPrivate@@QAE@XZ @ 664 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void) + ??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 665 NONAME ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *) + ??_EQPacketAutoSend@@UAE@I@Z @ 666 NONAME ; QPacketAutoSend::~QPacketAutoSend(unsigned int) + ?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 667 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int) + ?resetHeight@QDeclarativeItem@@QAEXXZ @ 668 NONAME ; void QDeclarativeItem::resetHeight(void) + ?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 669 NONAME ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment) + ??1QDeclarativeDebugService@@UAE@XZ @ 670 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(void) + ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 671 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int) + ?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 672 NONAME ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const + ?baseUrl@QDeclarativeContext@@QBE?AVQUrl@@XZ @ 673 NONAME ; class QUrl QDeclarativeContext::baseUrl(void) const + ?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 674 NONAME ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *) + ?isNamed@QDeclarativeState@@QBE_NXZ @ 675 NONAME ; bool QDeclarativeState::isNamed(void) const + ?isString@Variant@QDeclarativeParser@@QBE_NXZ @ 676 NONAME ; bool QDeclarativeParser::Variant::isString(void) const + ?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 677 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &) + ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 678 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int) + ?qt_metacast@QDeclarativeTransition@@UAEPAXPBD@Z @ 679 NONAME ; void * QDeclarativeTransition::qt_metacast(char const *) + ?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 680 NONAME ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *) + ?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 681 NONAME ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void) + ??1QDeclarativeType@@AAE@XZ @ 682 NONAME ; QDeclarativeType::~QDeclarativeType(void) + ?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 683 NONAME ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *) + ??_EQPacketProtocol@@UAE@I@Z @ 684 NONAME ; QPacketProtocol::~QPacketProtocol(unsigned int) + ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 685 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *) + ??0QDeclarativeDebugObjectReference@@QAE@XZ @ 686 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void) + ?staticMetaObject@QDeclarativeExtensionPlugin@@2UQMetaObject@@B @ 687 NONAME ; struct QMetaObject const QDeclarativeExtensionPlugin::staticMetaObject + ?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 688 NONAME ; bool QDeclarativeScaleGrid::isNull(void) const + ??_EQDeclarativeStateOperation@@UAE@I@Z @ 689 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(unsigned int) + ??6QDeclarativeInfo@@QAEAAV0@H@Z @ 690 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(int) + ??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 691 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void) + ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 692 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *, int) + ?type@QDeclarativeProperty@@QBE?AW4Type@1@XZ @ 693 NONAME ; enum QDeclarativeProperty::Type QDeclarativeProperty::type(void) const + ??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 694 NONAME ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *) + ?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 695 NONAME ; float QDeclarativeAnchors::baselineOffset(void) const + ??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 696 NONAME ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &) + ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 697 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool) + ?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 698 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *) + ??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 699 NONAME ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *) + ??1QDeclarativeListReference@@QAE@XZ @ 700 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(void) + ?clearError@QDeclarativeExpression@@QAEXXZ @ 701 NONAME ; void QDeclarativeExpression::clearError(void) + ?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 702 NONAME ; void QDeclarativeDebugFileReference::setLineNumber(int) + ?qt_metacall@QDeclarativeExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 703 NONAME ; int QDeclarativeExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *) + ?boundingRect@QDeclarativeText@@UBE?AVQRectF@@XZ @ 704 NONAME ; class QRectF QDeclarativeText::boundingRect(void) const + ?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 705 NONAME ; void QDeclarativePen::setColor(class QColor const &) + ??0QDeclarativeDomImport@@QAE@XZ @ 706 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(void) + ?clearErrors@QDeclarativeCustomParser@@QAEXXZ @ 707 NONAME ; void QDeclarativeCustomParser::clearErrors(void) + ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 708 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int) + ?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 709 NONAME ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const + ?qt_metacast@QDeclarativeView@@UAEPAXPBD@Z @ 710 NONAME ; void * QDeclarativeView::qt_metacast(char const *) + ?mapToItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 711 NONAME ; class QScriptValue QDeclarativeItem::mapToItem(class QScriptValue const &, float, float) const + ?setPluginPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 712 NONAME ; void QDeclarativeEngine::setPluginPathList(class QStringList const &) + ?metaObject@QDeclarativeState@@UBEPBUQMetaObject@@XZ @ 713 NONAME ; struct QMetaObject const * QDeclarativeState::metaObject(void) const + ?errorString@QDeclarativePixmapReply@@QBE?AVQString@@XZ @ 714 NONAME ABSENT ; class QString QDeclarativePixmapReply::errorString(void) const + ?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 715 NONAME ; class QRectF QDeclarativeRectangle::boundingRect(void) const + ?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 716 NONAME ; class QString QDeclarativeDomImport::uri(void) const + ?setContextProperty@QDeclarativeContext@@QAEXABVQString@@PAVQObject@@@Z @ 717 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QObject *) + ?setBaseUrl@QDeclarativeEngine@@QAEXABVQUrl@@@Z @ 718 NONAME ; void QDeclarativeEngine::setBaseUrl(class QUrl const &) + ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 719 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int) + ?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 720 NONAME ; void QMetaPropertyBuilder::setScriptable(bool) + ??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeEngine@@@Z @ 721 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeEngine *) + ?itemsInserted@QListModelInterface@@IAEXHH@Z @ 722 NONAME ; void QListModelInterface::itemsInserted(int, int) + ?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 723 NONAME ; void QDeclarativeRectangle::generateBorderedRect(void) + ?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 724 NONAME ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void) + ?width@QDeclarativeItem@@QBEMXZ @ 725 NONAME ; float QDeclarativeItem::width(void) const + ?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 726 NONAME ; bool QDeclarativeDomValue::isValueInterceptor(void) const + ?transform_at@QDeclarativeItemPrivate@@SAPAVQGraphicsTransform@@PAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@H@Z @ 727 NONAME ; class QGraphicsTransform * QDeclarativeItemPrivate::transform_at(class QDeclarativeListProperty<class QGraphicsTransform> *, int) + ??1QDeclarativeDomValueBinding@@QAE@XZ @ 728 NONAME ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void) + ?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 729 NONAME ; void * QDeclarativeAnchors::qt_metacast(char const *) + ?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 730 NONAME ; bool QDeclarativeMetaType::isInterface(int) + ?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 731 NONAME ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *) + ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 732 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *, int) + ??0Variant@QDeclarativeParser@@QAE@ABVQString@@PAVNode@AST@QDeclarativeJS@@@Z @ 733 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &, class QDeclarativeJS::AST::Node *) + ?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 734 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const + ?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 735 NONAME ; void QDeclarativeAnchors::rightChanged(void) + ??6QDeclarativeInfo@@QAEAAV0@ABVQByteArray@@@Z @ 736 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QByteArray const &) + ?qt_metacast@QDeclarativeEngine@@UAEPAXPBD@Z @ 737 NONAME ; void * QDeclarativeEngine::qt_metacast(char const *) + ?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 738 NONAME ; class QByteArray QDeclarativeDomObject::objectType(void) const + ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 739 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &) + ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 740 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeContext *) + ?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 741 NONAME ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject + ?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 742 NONAME ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *) + ?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 743 NONAME ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *) + ??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 744 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int) + ?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 745 NONAME ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const + ?script@QDeclarativeScriptString@@QBE?AVQString@@XZ @ 746 NONAME ; class QString QDeclarativeScriptString::script(void) const + ?index@QMetaMethodBuilder@@QBEHXZ @ 747 NONAME ; int QMetaMethodBuilder::index(void) const + ??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 748 NONAME ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &) + ??0QDeclarativeExpression@@QAE@XZ @ 749 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void) + ?paint@QDeclarativeItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 750 NONAME ; void QDeclarativeItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *) + ?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 751 NONAME ; class QPacketAutoSend QPacketProtocol::send(void) + ?countChanged@QDeclarativeListModel@@IAEXXZ @ 752 NONAME ; void QDeclarativeListModel::countChanged(void) + ?setBindingForObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@ABVQVariant@@_NPAVQObject@@@Z @ 753 NONAME ABSENT ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool, class QObject *) + ??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 754 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *) + ??_EQDeclarativeBinding@@UAE@I@Z @ 755 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int) + ?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 756 NONAME ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const + ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 757 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *) + ?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 758 NONAME ; struct QMetaObject const QDeclarativeBinding::staticMetaObject + ?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 759 NONAME ; class QString QDeclarativeDomImport::qualifier(void) const + ?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 760 NONAME ABSENT ; class QString QDeclarativePixmapCache::tr(char const *, char const *, int) + ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 761 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeContext *) + ?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 762 NONAME ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *) + ?contains@QDeclarativePropertyMap@@QBE_NABVQString@@@Z @ 763 NONAME ; bool QDeclarativePropertyMap::contains(class QString const &) const + ?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 764 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *) + ?metaObject@QDeclarativeTransition@@UBEPBUQMetaObject@@XZ @ 765 NONAME ; struct QMetaObject const * QDeclarativeTransition::metaObject(void) const + ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 766 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *) + ??0QDeclarativePixmapReply@@AAE@PAVQDeclarativeImageReader@@ABVQUrl@@HH@Z @ 767 NONAME ABSENT ; QDeclarativePixmapReply::QDeclarativePixmapReply(class QDeclarativeImageReader *, class QUrl const &, int, int) + ?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 768 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *, int) + ?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 769 NONAME ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const + ?hasNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 770 NONAME ; bool QDeclarativeProperty::hasNotifySignal(void) const + ?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 771 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const + ?reversible@QDeclarativeTransition@@QBE_NXZ @ 772 NONAME ; bool QDeclarativeTransition::reversible(void) const + ?invalidPacket@QPacketProtocol@@IAEXXZ @ 773 NONAME ; void QPacketProtocol::invalidPacket(void) + ??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 774 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int) + ?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 775 NONAME ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const + ?isValid@QDeclarativeListReference@@QBE_NXZ @ 776 NONAME ; bool QDeclarativeListReference::isValid(void) const + ?source@QDeclarativeView@@QBE?AVQUrl@@XZ @ 777 NONAME ; class QUrl QDeclarativeView::source(void) const + ?method@QDeclarativeProperty@@QBE?AVQMetaMethod@@XZ @ 778 NONAME ; class QMetaMethod QDeclarativeProperty::method(void) const + ??0QDeclarativeInfo@@QAE@ABV0@@Z @ 779 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfo const &) + ?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 780 NONAME ; void QDeclarativeAction::deleteFromBinding(void) + ?setClip@QDeclarativeItem@@QAEX_N@Z @ 781 NONAME ; void QDeclarativeItem::setClip(bool) + ??4QDeclarativeCustomParserNode@@QAEAAV0@ABV0@@Z @ 782 NONAME ; class QDeclarativeCustomParserNode & QDeclarativeCustomParserNode::operator=(class QDeclarativeCustomParserNode const &) + ?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 783 NONAME ; class QColor QDeclarativePen::color(void) const + ?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 784 NONAME ; void QMetaPropertyBuilder::setDesignable(bool) + ?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 785 NONAME ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode) + ?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 786 NONAME ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &) + ?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 787 NONAME ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *) + ?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 788 NONAME ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const + ??1QDeclarativeDomComponent@@QAE@XZ @ 789 NONAME ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void) + ?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 790 NONAME ; void QDeclarativeScaleGrid::setRight(int) + ?isList@QDeclarativeMetaType@@SA_NH@Z @ 791 NONAME ; bool QDeclarativeMetaType::isList(int) + ??6QDeclarativeInfo@@QAEAAV0@VQTextStreamManipulator@@@Z @ 792 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStreamManipulator) + ?index@QDeclarativeProperty@@QBEHXZ @ 793 NONAME ; int QDeclarativeProperty::index(void) const + ?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 794 NONAME ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const + ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 795 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int) + ?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 796 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool) + ?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 797 NONAME ; class QByteArray QMetaMethodBuilder::returnType(void) const + ?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 798 NONAME ; int QDeclarativeType::propertyValueSourceCast(void) const + ?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 799 NONAME ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *) + ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 800 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *) + ?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 801 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const + ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 802 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *) + ?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 803 NONAME ; void QDeclarativeItemPrivate::resetHeight(void) + ?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 804 NONAME ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *) + ??1QDeclarativeStateOperation@@UAE@XZ @ 805 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(void) + ??_EQDeclarativeDebugQuery@@UAE@I@Z @ 806 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int) + ?update@QDeclarativeAbstractBinding@@QAEXXZ @ 807 NONAME ; void QDeclarativeAbstractBinding::update(void) + ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 808 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *, int) + ?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 809 NONAME ; class QPacket QPacketProtocol::read(void) + ?setParentItem@QDeclarativeItem@@QAEXPAV1@@Z @ 810 NONAME ; void QDeclarativeItem::setParentItem(class QDeclarativeItem *) + ?qmlAttachedProperties@QDeclarativeComponent@@SAPAVQDeclarativeComponentAttached@@PAVQObject@@@Z @ 811 NONAME ; class QDeclarativeComponentAttached * QDeclarativeComponent::qmlAttachedProperties(class QObject *) + ??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 812 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *) + ?qt_metacall@QDeclarativePixmapReply@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 813 NONAME ABSENT ; int QDeclarativePixmapReply::qt_metacall(enum QMetaObject::Call, int, void * *) + ?valueChanged@QDeclarativeExpression@@IAEXXZ @ 814 NONAME ; void QDeclarativeExpression::valueChanged(void) + ?childrenChanged@QDeclarativeItem@@IAEXXZ @ 815 NONAME ; void QDeclarativeItem::childrenChanged(void) + ??_EQDeclarativeView@@UAE@I@Z @ 816 NONAME ; QDeclarativeView::~QDeclarativeView(unsigned int) + ?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 817 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *, int) + ?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 818 NONAME ; class QByteArray QMetaMethodBuilder::tag(void) const + ?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 819 NONAME ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void) + ?setContext@QDeclarativeScriptString@@QAEXPAVQDeclarativeContext@@@Z @ 820 NONAME ; void QDeclarativeScriptString::setContext(class QDeclarativeContext *) + ?addImageProvider@QDeclarativeEngine@@QAEXABVQString@@PAVQDeclarativeImageProvider@@@Z @ 821 NONAME ; void QDeclarativeEngine::addImageProvider(class QString const &, class QDeclarativeImageProvider *) + ?d_func@QDeclarativeStateGroup@@ABEPBVQDeclarativeStateGroupPrivate@@XZ @ 822 NONAME ; class QDeclarativeStateGroupPrivate const * QDeclarativeStateGroup::d_func(void) const + ?stateChanged@QDeclarativeItem@@IAEXABVQString@@@Z @ 823 NONAME ; void QDeclarativeItem::stateChanged(class QString const &) + ?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 824 NONAME ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment) + ?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 825 NONAME ABSENT ; class QString QDeclarativePixmapCache::tr(char const *, char const *) + ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 826 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &) + ?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 827 NONAME ; void QMetaPropertyBuilder::setDynamic(bool) + ?d_func@QDeclarativeEngine@@ABEPBVQDeclarativeEnginePrivate@@XZ @ 828 NONAME ; class QDeclarativeEnginePrivate const * QDeclarativeEngine::d_func(void) const + ?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 829 NONAME ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const + ?removeImageProvider@QDeclarativeEngine@@QAEXABVQString@@@Z @ 830 NONAME ; void QDeclarativeEngine::removeImageProvider(class QString const &) + ?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 831 NONAME ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void) + ?tr@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 832 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *) + ?d_func@QDeclarativeItem@@ABEPBVQDeclarativeItemPrivate@@XZ @ 833 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeItem::d_func(void) const + ?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 834 NONAME ABSENT ; class QString QDeclarativePixmapReply::tr(char const *, char const *) + ?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 835 NONAME ; bool QMetaPropertyBuilder::isUser(void) const + ?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 836 NONAME ; void QDeclarativeRectangle::doUpdate(void) + ?qmlExecuteDeferred@@YAXPAVQObject@@@Z @ 837 NONAME ; void qmlExecuteDeferred(class QObject *) + ?setImplicitHeight@QDeclarativeItem@@IAEXM@Z @ 838 NONAME ; void QDeclarativeItem::setImplicitHeight(float) + ?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 839 NONAME ; float QDeclarativeAnchors::horizontalCenterOffset(void) const + ?resetRight@QDeclarativeAnchors@@QAEXXZ @ 840 NONAME ; void QDeclarativeAnchors::resetRight(void) + ??6QDeclarativeInfo@@QAEAAV0@J@Z @ 841 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long) + ?isReady@QDeclarativeComponent@@QBE_NXZ @ 842 NONAME ; bool QDeclarativeComponent::isReady(void) const + ??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 843 NONAME ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &) + ??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 844 NONAME ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void) + ??1QDeclarativeBehavior@@UAE@XZ @ 845 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(void) + ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@@Z @ 846 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *) + ?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 847 NONAME ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *) + ?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 848 NONAME ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const + ??1QDeclarativeDebugQuery@@UAE@XZ @ 849 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void) + ?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 850 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *) + ??1QDeclarativePixmapReply@@UAE@XZ @ 851 NONAME ABSENT ; QDeclarativePixmapReply::~QDeclarativePixmapReply(void) + ?tr@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 852 NONAME ; class QString QDeclarativeState::tr(char const *, char const *) + ?isLoading@QDeclarativePixmapReply@@ABE_NXZ @ 853 NONAME ABSENT ; bool QDeclarativePixmapReply::isLoading(void) const + ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 854 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int) + ?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 855 NONAME ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *) + ?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 856 NONAME ; float QDeclarativeAnchors::bottomMargin(void) const + ?q_func@QDeclarativeItemPrivate@@AAEPAVQDeclarativeItem@@XZ @ 857 NONAME ; class QDeclarativeItem * QDeclarativeItemPrivate::q_func(void) + ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 858 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *) + ??1QDeclarativeDomList@@QAE@XZ @ 859 NONAME ; QDeclarativeDomList::~QDeclarativeDomList(void) + ??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 860 NONAME ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *) + ?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 861 NONAME ; void QMetaObjectBuilder::removeProperty(int) + ?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 862 NONAME ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject + ??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 863 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &) + ?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 864 NONAME ; void * QDeclarativeDebugWatch::qt_metacast(char const *) + ?implicitHeight@QDeclarativeItem@@QBEMXZ @ 865 NONAME ; float QDeclarativeItem::implicitHeight(void) const + ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 866 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *) + ?status@QDeclarativePixmapReply@@QBE?AW4Status@1@XZ @ 867 NONAME ABSENT ; enum QDeclarativePixmapReply::Status QDeclarativePixmapReply::status(void) const + ??6@YA?AVQDebug@@V0@ABVQDeclarativeError@@@Z @ 868 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeError const &) + ?setContextProperty@QDeclarativeContext@@QAEXABVQString@@ABVQVariant@@@Z @ 869 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QVariant const &) + ?imports@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeDomImport@@@@XZ @ 870 NONAME ; class QList<class QDeclarativeDomImport> QDeclarativeDomDocument::imports(void) const + ?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 871 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *) + ?getStaticMetaObject@QDeclarativePen@@SAABUQMetaObject@@XZ @ 872 NONAME ; struct QMetaObject const & QDeclarativePen::getStaticMetaObject(void) + ?penChanged@QDeclarativePen@@IAEXXZ @ 873 NONAME ; void QDeclarativePen::penChanged(void) + ?propertyTypeName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 874 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyTypeName(void) const + ?position@QDeclarativeDomValue@@QBEHXZ @ 875 NONAME ; int QDeclarativeDomValue::position(void) const + ?setWidth@QDeclarativeItemPrivate@@UAEXM@Z @ 876 NONAME ; void QDeclarativeItemPrivate::setWidth(float) + ?staticMetaObject@QDeclarativeDebugWatch@@2UQMetaObject@@B @ 877 NONAME ; struct QMetaObject const QDeclarativeDebugWatch::staticMetaObject + ??_EQDeclarativeContext@@UAE@I@Z @ 878 NONAME ; QDeclarativeContext::~QDeclarativeContext(unsigned int) + ?rootContext@QDeclarativeView@@QAEPAVQDeclarativeContext@@XZ @ 879 NONAME ; class QDeclarativeContext * QDeclarativeView::rootContext(void) + ?staticMetaObject@QDeclarativeDebugQuery@@2UQMetaObject@@B @ 880 NONAME ; struct QMetaObject const QDeclarativeDebugQuery::staticMetaObject + ??0QDeclarativeExtensionPlugin@@QAE@PAVQObject@@@Z @ 881 NONAME ; QDeclarativeExtensionPlugin::QDeclarativeExtensionPlugin(class QObject *) + ??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 882 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int) + ?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 883 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void) + ?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 884 NONAME ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int) + ?setHeight@QDeclarativeItem@@QAEXM@Z @ 885 NONAME ; void QDeclarativeItem::setHeight(float) + ??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 886 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &) + ?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 887 NONAME ; int QDeclarativeDomDynamicProperty::position(void) const + ?animations@QDeclarativeTransition@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 888 NONAME ; class QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void) + ?tr@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 889 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *, int) + ??_EQMetaObjectBuilder@@UAE@I@Z @ 890 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int) + ?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 891 NONAME ; class QByteArray QDeclarativeDomProperty::propertyName(void) const + ??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 892 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *) + ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 893 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *) + ?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 894 NONAME ; class QString QDeclarativeDebugPropertyReference::name(void) const + ?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 895 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const + ??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 896 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int) + ?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 897 NONAME ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const + ?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 898 NONAME ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void) + ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 899 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int) + ?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 900 NONAME ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *) + ?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 901 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const + ?isNull@QDeclarativeComponent@@QBE_NXZ @ 902 NONAME ; bool QDeclarativeComponent::isNull(void) const + ?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 903 NONAME ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const + ?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 904 NONAME ; void QDeclarativeAnchors::setRightMargin(float) + ?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 905 NONAME ; class QByteArray QMetaObjectBuilder::className(void) const + ??0QDeclarativeState@@QAE@PAVQObject@@@Z @ 906 NONAME ; QDeclarativeState::QDeclarativeState(class QObject *) + ?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 907 NONAME ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const + ?keyReleaseEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 908 NONAME ; void QDeclarativeItem::keyReleaseEvent(class QKeyEvent *) + ?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 909 NONAME ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 910 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *) + ??4QDeclarativeScriptString@@QAEAAV0@ABV0@@Z @ 911 NONAME ; class QDeclarativeScriptString & QDeclarativeScriptString::operator=(class QDeclarativeScriptString const &) + ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 912 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &) + ?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 913 NONAME ; bool QMetaPropertyBuilder::hasNotifySignal(void) const + ??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 914 NONAME ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &) + ?resetFill@QDeclarativeAnchors@@QAEXXZ @ 915 NONAME ; void QDeclarativeAnchors::resetFill(void) + ??6QDeclarativeInfo@@QAEAAV0@_K@Z @ 916 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long long) + ?d_func@QDeclarativeComponent@@ABEPBVQDeclarativeComponentPrivate@@XZ @ 917 NONAME ; class QDeclarativeComponentPrivate const * QDeclarativeComponent::d_func(void) const + ??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 918 NONAME ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *) + ?length@QDeclarativeDomValue@@QBEHXZ @ 919 NONAME ; int QDeclarativeDomValue::length(void) const + ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 920 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int) + ??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 921 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &) + ?scopeObject@QDeclarativeScriptString@@QBEPAVQObject@@XZ @ 922 NONAME ; class QObject * QDeclarativeScriptString::scopeObject(void) const + ?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 923 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const + ??1QDeclarativeDebuggerStatus@@UAE@XZ @ 924 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void) + ??6QDeclarativeInfo@@QAEAAV0@ABVQLatin1String@@@Z @ 925 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QLatin1String const &) + ?at@QDeclarativeListReference@@QBEPAVQObject@@H@Z @ 926 NONAME ; class QObject * QDeclarativeListReference::at(int) const + ?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 927 NONAME ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const + ?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 928 NONAME ; void * QListModelInterface::qt_metacast(char const *) + ?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 929 NONAME ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &) + ?canClear@QDeclarativeListReference@@QBE_NXZ @ 930 NONAME ; bool QDeclarativeListReference::canClear(void) const + ??4QDeclarativeCustomParserProperty@@QAEAAV0@ABV0@@Z @ 931 NONAME ; class QDeclarativeCustomParserProperty & QDeclarativeCustomParserProperty::operator=(class QDeclarativeCustomParserProperty const &) + ?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 932 NONAME ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const + ?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 933 NONAME ; class QScriptValue QDeclarativeListModel::get(int) const + ?createSize@QDeclarativeType@@QBEHXZ @ 934 NONAME ; int QDeclarativeType::createSize(void) const + ?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 935 NONAME ; bool QDeclarativeDomValue::isValueSource(void) const + ?isWritable@QDeclarativeProperty@@QBE_NXZ @ 936 NONAME ; bool QDeclarativeProperty::isWritable(void) const + ?setKeepMouseGrab@QDeclarativeItem@@QAEX_N@Z @ 937 NONAME ; void QDeclarativeItem::setKeepMouseGrab(bool) + ??0QDeclarativeDebugContextReference@@QAE@XZ @ 938 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void) + ?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 939 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &) + ?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 940 NONAME ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void) + ?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 941 NONAME ; void QDeclarativeText::textChanged(class QString const &) + ?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 942 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *) + ??0QDeclarativeCustomParserProperty@@QAE@ABV0@@Z @ 943 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(class QDeclarativeCustomParserProperty const &) + ?getStaticMetaObject@QDeclarativeComponent@@SAABUQMetaObject@@XZ @ 944 NONAME ; struct QMetaObject const & QDeclarativeComponent::getStaticMetaObject(void) + ?parentItem@QDeclarativeItem@@QBEPAV1@XZ @ 945 NONAME ; class QDeclarativeItem * QDeclarativeItem::parentItem(void) const + ?value@QMetaEnumBuilder@@QBEHH@Z @ 946 NONAME ; int QMetaEnumBuilder::value(int) const + ??_EQDeclarativeExpression@@UAE@I@Z @ 947 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(unsigned int) + ?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 948 NONAME ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &) + ?staticMetaObject@QDeclarativeStateGroup@@2UQMetaObject@@B @ 949 NONAME ; struct QMetaObject const QDeclarativeStateGroup::staticMetaObject + ?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 950 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *) + ?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 951 NONAME ; void QDeclarativeAnchors::verticalCenterChanged(void) + ?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 952 NONAME ; bool QMetaPropertyBuilder::isScriptable(void) const + ?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 953 NONAME ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int) + ?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 954 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &) + ?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 955 NONAME ; int QDeclarativeDomDynamicProperty::length(void) const + ?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 956 NONAME ; class QDeclarativeProperty QDeclarativeBinding::property(void) const + ??0QDeclarativeDomValueBinding@@QAE@XZ @ 957 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void) + ?addImportPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 958 NONAME ; void QDeclarativeEngine::addImportPath(class QString const &) + ?engine@QDeclarativeContext@@QBEPAVQDeclarativeEngine@@XZ @ 959 NONAME ; class QDeclarativeEngine * QDeclarativeContext::engine(void) const + ?length@QDeclarativeDomObject@@QBEHXZ @ 960 NONAME ; int QDeclarativeDomObject::length(void) const + ?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 961 NONAME ; void QDeclarativeAnchors::setBaselineOffset(float) + ?append@QDeclarativeListReference@@QBE_NPAVQObject@@@Z @ 962 NONAME ; bool QDeclarativeListReference::append(class QObject *) const + ?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 963 NONAME ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void) + ??1QDeclarativeNetworkAccessManagerFactory@@UAE@XZ @ 964 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(void) + ?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 965 NONAME ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat) + ?removeState@QDeclarativeStateGroup@@AAEXPAVQDeclarativeState@@@Z @ 966 NONAME ; void QDeclarativeStateGroup::removeState(class QDeclarativeState *) + ?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 967 NONAME ; class QByteArray QDeclarativeType::qmlTypeName(void) const + ?tr@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 968 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *) + ?setLoading@QDeclarativePixmapReply@@AAEXXZ @ 969 NONAME ABSENT ; void QDeclarativePixmapReply::setLoading(void) + ?isProperty@QDeclarativeProperty@@QBE_NXZ @ 970 NONAME ; bool QDeclarativeProperty::isProperty(void) const + ?states@QDeclarativeStateGroup@@QBE?AV?$QList@PAVQDeclarativeState@@@@XZ @ 971 NONAME ; class QList<class QDeclarativeState *> QDeclarativeStateGroup::states(void) const + ??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 972 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void) + ?isValid@QDeclarativeDomObject@@QBE_NXZ @ 973 NONAME ; bool QDeclarativeDomObject::isValid(void) const + ?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 974 NONAME ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject + ??_EQDeclarativePen@@UAE@I@Z @ 975 NONAME ; QDeclarativePen::~QDeclarativePen(unsigned int) + ??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 976 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &) + ?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 977 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void) + ?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 978 NONAME ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment) + ?typeId@QDeclarativeType@@QBEHXZ @ 979 NONAME ; int QDeclarativeType::typeId(void) const + ?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 980 NONAME ; void QDeclarativeAnchors::marginsChanged(void) + ?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 981 NONAME ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &) + ?parentProperty@QDeclarativeItemPrivate@@SAXPAVQObject@@PAXPAVQDeclarativeNotifierEndpoint@@@Z @ 982 NONAME ; void QDeclarativeItemPrivate::parentProperty(class QObject *, void *, class QDeclarativeNotifierEndpoint *) + ??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 983 NONAME ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &) + ?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 984 NONAME ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int) + ?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 985 NONAME ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void) + ?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 986 NONAME ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const + ??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 987 NONAME ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *) + ?setOutputWarningsToStandardError@QDeclarativeEngine@@QAEX_N@Z @ 988 NONAME ; void QDeclarativeEngine::setOutputWarningsToStandardError(bool) + ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 989 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &) + ?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 990 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const + ?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 991 NONAME ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &) + ?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 992 NONAME ; int QDeclarativeGridScaledImage::gridRight(void) const + ?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 993 NONAME ; bool QDeclarativeDomDynamicProperty::isAlias(void) const + ?d_func@QDeclarativeContext@@ABEPBVQDeclarativeContextPrivate@@XZ @ 994 NONAME ; class QDeclarativeContextPrivate const * QDeclarativeContext::d_func(void) const + ?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 995 NONAME ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void) + ?tr@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 996 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *, int) + ?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 997 NONAME ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject + ?setDescription@QDeclarativeError@@QAEXABVQString@@@Z @ 998 NONAME ; void QDeclarativeError::setDescription(class QString const &) + ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 999 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &) + ??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 1000 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void) + ?setReversible@QDeclarativeTransition@@QAEX_N@Z @ 1001 NONAME ; void QDeclarativeTransition::setReversible(bool) + ?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1002 NONAME ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const + ??0QDeclarativeDomList@@QAE@XZ @ 1003 NONAME ; QDeclarativeDomList::QDeclarativeDomList(void) + ?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1004 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &) + ?toState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 1005 NONAME ; class QString QDeclarativeTransition::toState(void) const + ??0QDeclarativeDomDocument@@QAE@XZ @ 1006 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(void) + ?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 1007 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *) + ?isWhenKnown@QDeclarativeState@@QBE_NXZ @ 1008 NONAME ; bool QDeclarativeState::isWhenKnown(void) const + ?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 1009 NONAME ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void) + ?engine@QDeclarativeExpression@@QBEPAVQDeclarativeEngine@@XZ @ 1010 NONAME ; class QDeclarativeEngine * QDeclarativeExpression::engine(void) const + ??_EQDeclarativeDebugWatch@@UAE@I@Z @ 1011 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int) + ?isEmpty@QPacket@@QBE_NXZ @ 1012 NONAME ; bool QPacket::isEmpty(void) const + ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1013 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *) + ?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 1014 NONAME ; void QDeclarativeAnchors::setFill(class QGraphicsObject *) + ?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 1015 NONAME ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment) + ??0QDeclarativeScriptString@@QAE@ABV0@@Z @ 1016 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(class QDeclarativeScriptString const &) + ?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1017 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *) + ?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1018 NONAME ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const + ?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 1019 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *) + ?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 1020 NONAME ; void QDeclarativeTransition::reversibleChanged(void) + ??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 1021 NONAME ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &) + ?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1022 NONAME ; class QString QDeclarativeDebugObjectReference::name(void) const + ?anchorLines@QDeclarativeItemPrivate@@QBEPAUAnchorLines@1@XZ @ 1023 NONAME ; struct QDeclarativeItemPrivate::AnchorLines * QDeclarativeItemPrivate::anchorLines(void) const + ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 1024 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &) + ?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 1025 NONAME ; struct QMetaObject const QDeclarativeText::staticMetaObject + ?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 1026 NONAME ; class QColor QDeclarativeRectangle::color(void) const + ?isEnabled@QDeclarativeDebugClient@@QBE_NXZ @ 1027 NONAME ; bool QDeclarativeDebugClient::isEnabled(void) const + ?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 1028 NONAME ; void QPacketProtocol::send(class QPacket const &) + ?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserNode@@ABVQString@@@Z @ 1029 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserNode const &, class QString const &) + ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1030 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *) + ?isComponentComplete@QDeclarativeItem@@IBE_NXZ @ 1031 NONAME ; bool QDeclarativeItem::isComponentComplete(void) const + ?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1032 NONAME ; class QByteArray QMetaPropertyBuilder::type(void) const + ?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 1033 NONAME ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &) + ?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 1034 NONAME ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const + ?contextForObject@QDeclarativeEngine@@SAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1035 NONAME ; class QDeclarativeContext * QDeclarativeEngine::contextForObject(class QObject const *) + ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 1036 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &) + ?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1037 NONAME ; bool QDeclarativeMetaType::isQObject(int) + ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 1038 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *) + ?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1039 NONAME ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void) + ?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@ABVQVariant@@@Z @ 1040 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &, class QVariant const &) + ?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 1041 NONAME ; struct QMetaObject const QPacketProtocol::staticMetaObject + ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 1042 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *, int) + ??0QDeclarativeScriptString@@QAE@XZ @ 1043 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(void) + ?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1044 NONAME ; class QString QListModelInterface::tr(char const *, char const *) + ?height@QDeclarativeItemPrivate@@UBEMXZ @ 1045 NONAME ; float QDeclarativeItemPrivate::height(void) const + ?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 1046 NONAME ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *) + ?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 1047 NONAME ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const + ?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 1048 NONAME ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const + ?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 1049 NONAME ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle) + ?staticMetaObject@QDeclarativePropertyMap@@2UQMetaObject@@B @ 1050 NONAME ; struct QMetaObject const QDeclarativePropertyMap::staticMetaObject + ??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 1051 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int) + ?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1052 NONAME ; int QMetaObjectBuilder::enumeratorCount(void) const + ?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 1053 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long) + ?initializeEngine@QDeclarativeExtensionPlugin@@UAEXPAVQDeclarativeEngine@@PBD@Z @ 1054 NONAME ; void QDeclarativeExtensionPlugin::initializeEngine(class QDeclarativeEngine *, char const *) + ?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1055 NONAME ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const + ?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1056 NONAME ; void QDeclarativeAnchors::rightMarginChanged(void) + ??_EQDeclarativePropertyValueInterceptor@@UAE@I@Z @ 1057 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(unsigned int) + ?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1058 NONAME ; void QDeclarativeText::linkActivated(class QString const &) + ?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1059 NONAME ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *) + ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 1060 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int) + ?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 1061 NONAME ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const + ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 1062 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *) + ?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 1063 NONAME ; void QDeclarativeScaleGrid::setLeft(int) + ??1QDeclarativeGridScaledImage@@QAE@XZ @ 1064 NONAME ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void) + ??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 1065 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &) + ?column@QDeclarativeError@@QBEHXZ @ 1066 NONAME ; int QDeclarativeError::column(void) const + ?properties@QDeclarativeCustomParserNode@@QBE?AV?$QList@VQDeclarativeCustomParserProperty@@@@XZ @ 1067 NONAME ; class QList<class QDeclarativeCustomParserProperty> QDeclarativeCustomParserNode::properties(void) const + ?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 1068 NONAME ; void * QDeclarativeScaleGrid::qt_metacast(char const *) + ??0QDeclarativeListReference@@QAE@XZ @ 1069 NONAME ; QDeclarativeListReference::QDeclarativeListReference(void) + ??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 1070 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void) + ?name@QDeclarativeCustomParserNode@@QBE?AVQByteArray@@XZ @ 1071 NONAME ; class QByteArray QDeclarativeCustomParserNode::name(void) const + ?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1072 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const + ??1QDeclarativePen@@UAE@XZ @ 1073 NONAME ; QDeclarativePen::~QDeclarativePen(void) + ?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 1074 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void) + ?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1075 NONAME ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *) + ??1QDeclarativeEngine@@UAE@XZ @ 1076 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(void) + ?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 1077 NONAME ; int QDeclarativeDebugContextReference::debugId(void) const + ?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1078 NONAME ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const + ?rootContext@QDeclarativeEngine@@QAEPAVQDeclarativeContext@@XZ @ 1079 NONAME ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void) + ?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 1080 NONAME ; void QDeclarativeItemPrivate::resetWidth(void) + ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 1081 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &) + ?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1082 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const + ?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1083 NONAME ; class QIODevice * QPacketProtocol::device(void) + ?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1084 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *) + ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 1085 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *) + ?metaObject@QDeclarativeComponent@@UBEPBUQMetaObject@@XZ @ 1086 NONAME ; struct QMetaObject const * QDeclarativeComponent::metaObject(void) const + ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABV?$QList@VQDeclarativeError@@@@@Z @ 1087 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QList<class QDeclarativeError> const &) + ?assignedValues@QDeclarativeCustomParserProperty@@QBE?AV?$QList@VQVariant@@@@XZ @ 1088 NONAME ; class QList<class QVariant> QDeclarativeCustomParserProperty::assignedValues(void) const + ?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1089 NONAME ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &) + ?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 1090 NONAME ; class QVariant QDeclarativeListModel::data(int, int) const + ?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 1091 NONAME ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode) + ?d_func@QDeclarativePropertyMap@@ABEPBVQDeclarativePropertyMapPrivate@@XZ @ 1092 NONAME ; class QDeclarativePropertyMapPrivate const * QDeclarativePropertyMap::d_func(void) const + ?consistentTime@QDeclarativeItemPrivate@@2_JA @ 1093 NONAME ; long long QDeclarativeItemPrivate::consistentTime + ?setWidth@QDeclarativeItem@@QAEXM@Z @ 1094 NONAME ; void QDeclarativeItem::setWidth(float) + ?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 1095 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const + ?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1096 NONAME ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *) + ??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 1097 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int) + ?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1098 NONAME ; bool QMetaPropertyBuilder::isWritable(void) const + ?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 1099 NONAME ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *) + ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 1100 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeEngine *) + ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1101 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &) + ??0QDeclarativeDebugFileReference@@QAE@XZ @ 1102 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void) + ?mapFromItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 1103 NONAME ; class QScriptValue QDeclarativeItem::mapFromItem(class QScriptValue const &, float, float) const + ?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 1104 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *, int) + ?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 1105 NONAME ; class QString QPacketProtocol::tr(char const *, char const *, int) + ?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 1106 NONAME ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const + ?metaObject@QDeclarativePixmapReply@@UBEPBUQMetaObject@@XZ @ 1107 NONAME ABSENT ; struct QMetaObject const * QDeclarativePixmapReply::metaObject(void) const + ?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 1108 NONAME ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &) + ?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1109 NONAME ; bool QDeclarativeBehavior::enabled(void) const + ?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 1110 NONAME ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &) + ?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1111 NONAME ; bool QMetaPropertyBuilder::isEditable(void) const + ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 1112 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *) + ?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 1113 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::expression(void) const + ??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 1114 NONAME ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &) + ?qt_metacall@QDeclarativeComponent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1115 NONAME ; int QDeclarativeComponent::qt_metacall(enum QMetaObject::Call, int, void * *) + ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 1116 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *, int) + ?staticMetaObject@QDeclarativeEngine@@2UQMetaObject@@B @ 1117 NONAME ; struct QMetaObject const QDeclarativeEngine::staticMetaObject + ?staticMetaObject@QDeclarativeStateOperation@@2UQMetaObject@@B @ 1118 NONAME ; struct QMetaObject const QDeclarativeStateOperation::staticMetaObject + ?actions@QDeclarativeStateOperation@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1119 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateOperation::actions(void) + ?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1120 NONAME ; class QByteArray QDeclarativeDomObject::objectClassName(void) const + ??8QDeclarativeProperty@@QBE_NABV0@@Z @ 1121 NONAME ; bool QDeclarativeProperty::operator==(class QDeclarativeProperty const &) const + ??1QDeclarativeDomValue@@QAE@XZ @ 1122 NONAME ; QDeclarativeDomValue::~QDeclarativeDomValue(void) + ??_EQDeclarativePropertyMap@@UAE@I@Z @ 1123 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(unsigned int) + ?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 1124 NONAME ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject + ?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 1125 NONAME ; class QString QDeclarativeType::noCreationReason(void) const + ?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 1126 NONAME ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &) + ??1QDeclarativeCustomParserProperty@@QAE@XZ @ 1127 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(void) + ??1QPacketProtocol@@UAE@XZ @ 1128 NONAME ; QPacketProtocol::~QPacketProtocol(void) + ??1QDeclarativeAbstractBinding@@MAE@XZ @ 1129 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void) + ?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1130 NONAME ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &) + ?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 1131 NONAME ; void * QDeclarativePen::qt_metacast(char const *) + ?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1132 NONAME ; float QDeclarativeAnchors::leftMargin(void) const + ??1QDeclarativeComponent@@UAE@XZ @ 1133 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(void) + ??1QDeclarativeItem@@UAE@XZ @ 1134 NONAME ; QDeclarativeItem::~QDeclarativeItem(void) + ?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1135 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 1136 NONAME ; struct QMetaObject const QListModelInterface::staticMetaObject + ?d_func@QDeclarativeTransition@@ABEPBVQDeclarativeTransitionPrivate@@XZ @ 1137 NONAME ; class QDeclarativeTransitionPrivate const * QDeclarativeTransition::d_func(void) const + ?sourceFile@QDeclarativeExpression@@QBE?AVQString@@XZ @ 1138 NONAME ; class QString QDeclarativeExpression::sourceFile(void) const + ??_EQDeclarativeAnchors@@UAE@I@Z @ 1139 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int) + ?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 1140 NONAME ; void QMetaPropertyBuilder::removeNotifySignal(void) + ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 1141 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *) + ?setImportPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 1142 NONAME ; void QDeclarativeEngine::setImportPathList(class QStringList const &) + ?enabledChanged@QDeclarativeDebugService@@MAEX_N@Z @ 1143 NONAME ; void QDeclarativeDebugService::enabledChanged(bool) + ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1144 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *) + ?asAST@Variant@QDeclarativeParser@@QBEPAVNode@AST@QDeclarativeJS@@XZ @ 1145 NONAME ; class QDeclarativeJS::AST::Node * QDeclarativeParser::Variant::asAST(void) const + ?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1146 NONAME ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &) + ??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 1147 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &) + ?width@QDeclarativePen@@QBEHXZ @ 1148 NONAME ; int QDeclarativePen::width(void) const + ?d_func@QDeclarativeStateGroup@@AAEPAVQDeclarativeStateGroupPrivate@@XZ @ 1149 NONAME ; class QDeclarativeStateGroupPrivate * QDeclarativeStateGroup::d_func(void) + ??6QDeclarativeInfo@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 1150 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStream & (*)(class QTextStream &)) + ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 1151 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *) + ?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 1152 NONAME ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const + ?tr@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 1153 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *) + ??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 1154 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void) + ??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 1155 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void) + ?evaluate@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 1156 NONAME ; class QVariant QDeclarativeExpression::evaluate(bool *) + ?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1157 NONAME ; bool QDeclarativeDomProperty::isDefaultProperty(void) const + ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1158 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &) + ?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1159 NONAME ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const + ?forcedWidth@QDeclarativePixmapReply@@QBEHXZ @ 1160 NONAME ABSENT ; int QDeclarativePixmapReply::forcedWidth(void) const + ?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 1161 NONAME ; void QMetaObjectBuilder::removeRelatedMetaObject(int) + ??0QDeclarativeError@@QAE@XZ @ 1162 NONAME ; QDeclarativeError::QDeclarativeError(void) + ?object@QDeclarativeProperty@@QBEPAVQObject@@XZ @ 1163 NONAME ; class QObject * QDeclarativeProperty::object(void) const + ?stateGroup@QDeclarativeState@@QBEPAVQDeclarativeStateGroup@@XZ @ 1164 NONAME ; class QDeclarativeStateGroup * QDeclarativeState::stateGroup(void) const + ?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@H@Z @ 1165 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, int) const + ?focusChanged@QDeclarativeItemPrivate@@UAEX_N@Z @ 1166 NONAME ; void QDeclarativeItemPrivate::focusChanged(bool) + ?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 1167 NONAME ; int QDeclarativeDebugObjectReference::contextDebugId(void) const + ?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 1168 NONAME ; class QUrl QDeclarativeDebugFileReference::url(void) const + ?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1169 NONAME ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *) + ??6QDeclarativeState@@QAEAAV0@PAVQDeclarativeStateOperation@@@Z @ 1170 NONAME ; class QDeclarativeState & QDeclarativeState::operator<<(class QDeclarativeStateOperation *) + ?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 1171 NONAME ; void QDeclarativeAbstractBinding::destroy(void) + ?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 1172 NONAME ; void * QDeclarativeDebugService::qt_metacast(char const *) + ?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 1173 NONAME ; void * QDeclarativeValueType::qt_metacast(char const *) + ?childAt@QDeclarativeItem@@QBEPAV1@MM@Z @ 1174 NONAME ; class QDeclarativeItem * QDeclarativeItem::childAt(float, float) const + ?paintedWidth@QDeclarativeText@@QBEMXZ @ 1175 NONAME ; float QDeclarativeText::paintedWidth(void) const + ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1176 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *) + ?clip@QDeclarativeItem@@QBE_NXZ @ 1177 NONAME ; bool QDeclarativeItem::clip(void) const + ??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@PAVQObject@@@Z @ 1178 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QUrl const &, class QObject *) + ??0QDeclarativeValueTypeFactory@@QAE@XZ @ 1179 NONAME ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void) + ?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1180 NONAME ; class QString QDeclarativeDomValueLiteral::literal(void) const + ??_EQDeclarativeEngineDebug@@UAE@I@Z @ 1181 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int) + ?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 1182 NONAME ; int QDeclarativeScaleGrid::bottom(void) const + ?d_func@QDeclarativePropertyMap@@AAEPAVQDeclarativePropertyMapPrivate@@XZ @ 1183 NONAME ; class QDeclarativePropertyMapPrivate * QDeclarativePropertyMap::d_func(void) + ?forceFocus@QDeclarativeItem@@QAEXXZ @ 1184 NONAME ; void QDeclarativeItem::forceFocus(void) + ?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1185 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *) + ??0QDeclarativeTransition@@QAE@PAVQObject@@@Z @ 1186 NONAME ; QDeclarativeTransition::QDeclarativeTransition(class QObject *) + ?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1187 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const + ?setObjectOwnership@QDeclarativeEngine@@SAXPAVQObject@@W4ObjectOwnership@1@@Z @ 1188 NONAME ; void QDeclarativeEngine::setObjectOwnership(class QObject *, enum QDeclarativeEngine::ObjectOwnership) + ?tr@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 1189 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *, int) + ?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1190 NONAME ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *) + ??_EQDeclarativeText@@UAE@I@Z @ 1191 NONAME ; QDeclarativeText::~QDeclarativeText(unsigned int) + ?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 1192 NONAME ; void QDeclarativeAnchors::setLeftMargin(float) + ?metaObject@QDeclarativeStateGroup@@UBEPBUQMetaObject@@XZ @ 1193 NONAME ; struct QMetaObject const * QDeclarativeStateGroup::metaObject(void) const + ?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 1194 NONAME ; class QString QDeclarativeAbstractBinding::expression(void) const + ??6QDeclarativeInfo@@QAEAAV0@N@Z @ 1195 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(double) + ?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 1196 NONAME ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *) + ?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1197 NONAME ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const + ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 1198 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *) + ?context@QDeclarativeExpression@@QBEPAVQDeclarativeContext@@XZ @ 1199 NONAME ; class QDeclarativeContext * QDeclarativeExpression::context(void) const + ?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 1200 NONAME ; void * QDeclarativeBehavior::qt_metacast(char const *) + ?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1201 NONAME ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const + ??0QDeclarativePropertyValueInterceptor@@QAE@XZ @ 1202 NONAME ; QDeclarativePropertyValueInterceptor::QDeclarativePropertyValueInterceptor(void) + ?isValid@QDeclarativeError@@QBE_NXZ @ 1203 NONAME ; bool QDeclarativeError::isValid(void) const + ??0QMetaMethodBuilder@@QAE@XZ @ 1204 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(void) + ?completed@QDeclarativeState@@IAEXXZ @ 1205 NONAME ; void QDeclarativeState::completed(void) + ?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 1206 NONAME ABSENT ; class QString QDeclarativePixmapReply::tr(char const *, char const *, int) + ?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 1207 NONAME ; void QDeclarativeRectangle::radiusChanged(void) + ?getStaticMetaObject@QDeclarativeExpression@@SAABUQMetaObject@@XZ @ 1208 NONAME ; struct QMetaObject const & QDeclarativeExpression::getStaticMetaObject(void) + ?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1209 NONAME ; int QDeclarativeGridScaledImage::gridLeft(void) const + ?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 1210 NONAME ; void QMetaPropertyBuilder::setWritable(bool) + ?qt_metacast@QDeclarativeStateGroup@@UAEPAXPBD@Z @ 1211 NONAME ; void * QDeclarativeStateGroup::qt_metacast(char const *) + ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1212 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *) + ?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 1213 NONAME ; void * QDeclarativeEngineDebug::qt_metacast(char const *) + ?staticMetaObject@QDeclarativeExpression@@2UQMetaObject@@B @ 1214 NONAME ; struct QMetaObject const QDeclarativeExpression::staticMetaObject + ?statusChanged@QDeclarativeComponent@@IAEXW4Status@1@@Z @ 1215 NONAME ; void QDeclarativeComponent::statusChanged(enum QDeclarativeComponent::Status) + ?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 1216 NONAME ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &) + ?imageProvider@QDeclarativeEngine@@QBEPAVQDeclarativeImageProvider@@ABVQString@@@Z @ 1217 NONAME ; class QDeclarativeImageProvider * QDeclarativeEngine::imageProvider(class QString const &) const + ?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1218 NONAME ; long long QPacketProtocol::packetsAvailable(void) const + ?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 1219 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const + ?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 1220 NONAME ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int) + ?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 1221 NONAME ; void QDeclarativeAnchors::resetBaseline(void) + ?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1222 NONAME ; class QString QDeclarativeDebugClient::name(void) const + ?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1223 NONAME ; int QDeclarativeType::propertyValueInterceptorCast(void) const + ?setData@QDeclarativeComponent@@QAEXABVQByteArray@@ABVQUrl@@@Z @ 1224 NONAME ; void QDeclarativeComponent::setData(class QByteArray const &, class QUrl const &) + ??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 1225 NONAME ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &) + ?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 1226 NONAME ; class QString QDeclarativeListModel::toString(int) const + ?resetWidth@QDeclarativeItem@@QAEXXZ @ 1227 NONAME ; void QDeclarativeItem::resetWidth(void) + ??0QDeclarativeProperty@@QAE@ABV0@@Z @ 1228 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QDeclarativeProperty const &) + ?text@QDeclarativeText@@QBE?AVQString@@XZ @ 1229 NONAME ; class QString QDeclarativeText::text(void) const + ??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 1230 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void) + ?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 1231 NONAME ; int QDeclarativeOpenMetaObject::count(void) const + ?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1232 NONAME ; bool QMetaEnumBuilder::isFlag(void) const + ?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1233 NONAME ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &) + ??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 1234 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &) + ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 1235 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *) + ?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 1236 NONAME ; class QByteArray QMetaObjectBuilder::classInfoName(int) const + ?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1237 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const + ??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 1238 NONAME ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &) + ??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 1239 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int) + ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 1240 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const + ?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1241 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const + ?clear@QDeclarativeListModel@@QAEXXZ @ 1242 NONAME ; void QDeclarativeListModel::clear(void) + ??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 1243 NONAME ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *) + ??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 1244 NONAME ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &) + ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1245 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &) + ?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 1246 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *) + ?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 1247 NONAME ; void QDeclarativeScaleGrid::borderChanged(void) + ??1QDeclarativeRectangle@@UAE@XZ @ 1248 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(void) + ?count@QDeclarativePropertyMap@@QBEHXZ @ 1249 NONAME ; int QDeclarativePropertyMap::count(void) const + ?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1250 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &) + ??0QDeclarativePropertyValueSource@@QAE@XZ @ 1251 NONAME ; QDeclarativePropertyValueSource::QDeclarativePropertyValueSource(void) + ?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 1252 NONAME ; class QString QDeclarativePen::tr(char const *, char const *, int) + ?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 1253 NONAME ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const + ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 1254 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool) + ?url@QDeclarativeComponent@@QBE?AVQUrl@@XZ @ 1255 NONAME ; class QUrl QDeclarativeComponent::url(void) const + ?componentComplete@QDeclarativeStateGroup@@UAEXXZ @ 1256 NONAME ; void QDeclarativeStateGroup::componentComplete(void) + ?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 1257 NONAME ; void QDeclarativeAnchors::setMargins(float) + ?qt_metacall@QDeclarativeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1258 NONAME ; int QDeclarativeView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 1259 NONAME ; class QString QDeclarativeStateGroup::state(void) const + ??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 1260 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &) + ?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 1261 NONAME ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *) + ??_EQDeclarativeItemPrivate@@UAE@I@Z @ 1262 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(unsigned int) + ?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 1263 NONAME ; class QString QDeclarativeBinding::expression(void) const + ?position@QDeclarativeDomProperty@@QBEHXZ @ 1264 NONAME ; int QDeclarativeDomProperty::position(void) const + ?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 1265 NONAME ; void QDeclarativeValueTypeFactory::registerValueTypes(void) + ?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1266 NONAME ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const + ?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 1267 NONAME ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const + ??1QDeclarativePropertyMap@@UAE@XZ @ 1268 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(void) + ??_EQDeclarativeExtensionInterface@@UAE@I@Z @ 1269 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(unsigned int) + ??0Variant@QDeclarativeParser@@QAE@NABVQString@@@Z @ 1270 NONAME ; QDeclarativeParser::Variant::Variant(double, class QString const &) + ??6QDeclarativeInfo@@QAEAAV0@VQBool@@@Z @ 1271 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QBool) + ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1272 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 1273 NONAME ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *) + ?contextProperty@QDeclarativeContext@@QBE?AVQVariant@@ABVQString@@@Z @ 1274 NONAME ; class QVariant QDeclarativeContext::contextProperty(class QString const &) const + ?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1275 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const + ?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1276 NONAME ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const + ?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 1277 NONAME ABSENT ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *, int) + ?qmlContext@@YAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1278 NONAME ; class QDeclarativeContext * qmlContext(class QObject const *) + ?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 1279 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *) + ?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 1280 NONAME ; class QString QListModelInterface::tr(char const *, char const *, int) + ??1QDeclarativeDebugFileReference@@QAE@XZ @ 1281 NONAME ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void) + ?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 1282 NONAME ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const + ??0QDeclarativeAbstractBinding@@QAE@XZ @ 1283 NONAME ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void) + ?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 1284 NONAME ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject + ?cancel@QDeclarativePixmapCache@@SAXABVQUrl@@PAVQObject@@@Z @ 1285 NONAME ABSENT ; void QDeclarativePixmapCache::cancel(class QUrl const &, class QObject *) + ?isError@QDeclarativeComponent@@QBE_NXZ @ 1286 NONAME ; bool QDeclarativeComponent::isError(void) const + ?qt_metacall@QDeclarativeTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1287 NONAME ; int QDeclarativeTransition::qt_metacall(enum QMetaObject::Call, int, void * *) + ?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 1288 NONAME ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const + ??1QDeclarativeDebugConnection@@UAE@XZ @ 1289 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void) + ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 1290 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(int) const + ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 1291 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int) + ?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 1292 NONAME ; void QDeclarativeTransition::setFromState(class QString const &) + ?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1293 NONAME ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const + ?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 1294 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const + ?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 1295 NONAME ; void QDeclarativeScaleGrid::setBottom(int) + ?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1296 NONAME ; void QDeclarativeAnchors::topMarginChanged(void) + ?itemChange@QDeclarativeItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1297 NONAME ; class QVariant QDeclarativeItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &) + ?position@QDeclarativeDomObject@@QBEHXZ @ 1298 NONAME ; int QDeclarativeDomObject::position(void) const + ?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1299 NONAME ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 1300 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *) + ?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1301 NONAME ; bool QDeclarativeDebugService::isDebuggingEnabled(void) + ?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 1302 NONAME ; class QString QDeclarativeText::tr(char const *, char const *, int) + ?reset@QDeclarativeProperty@@QBE_NXZ @ 1303 NONAME ; bool QDeclarativeProperty::reset(void) const + ?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1304 NONAME ; int QDeclarativeDebugWatch::objectDebugId(void) const + ?width@QDeclarativeItemPrivate@@UBEMXZ @ 1305 NONAME ; float QDeclarativeItemPrivate::width(void) const + ?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 1306 NONAME ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const + ?isScript@Variant@QDeclarativeParser@@QBE_NXZ @ 1307 NONAME ; bool QDeclarativeParser::Variant::isScript(void) const + ?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 1308 NONAME ; void QDeclarativeStateGroup::classBegin(void) + ?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 1309 NONAME ; void * QDeclarativeRectangle::qt_metacast(char const *) + ?qt_metacast@QDeclarativeExpression@@UAEPAXPBD@Z @ 1310 NONAME ; void * QDeclarativeExpression::qt_metacast(char const *) + ?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1311 NONAME ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &) + ?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 1312 NONAME ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const + ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 1313 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &) + ??1QDeclarativeError@@QAE@XZ @ 1314 NONAME ; QDeclarativeError::~QDeclarativeError(void) + ?property@QDeclarativeProperty@@QBE?AVQMetaProperty@@XZ @ 1315 NONAME ; class QMetaProperty QDeclarativeProperty::property(void) const + ?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 1316 NONAME ; class QString QDeclarativeText::tr(char const *, char const *) + ?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 1317 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *) + ??0QDeclarativeGridScaledImage@@QAE@XZ @ 1318 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void) + ?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 1319 NONAME ; void QDeclarativeText::setText(class QString const &) + ?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1320 NONAME ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &) + ?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 1321 NONAME ; void QDeclarativeAnchors::resetCenterIn(void) + ?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1322 NONAME ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const + ?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1323 NONAME ; class QByteArray QDeclarativeOpenMetaObject::name(int) const + ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 1324 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *) + ?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1325 NONAME ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void) + ?qt_metacall@QDeclarativeEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1326 NONAME ; int QDeclarativeEngine::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@@Z @ 1327 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &) + ?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 1328 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *) + ?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 1329 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *)) + ?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1330 NONAME ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const + ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 1331 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *) + ?tr@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 1332 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *, int) + ?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 1333 NONAME ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *) + ?implicitWidth@QDeclarativeItem@@QBEMXZ @ 1334 NONAME ; float QDeclarativeItem::implicitWidth(void) const + ?metaObject@QDeclarativeContext@@UBEPBUQMetaObject@@XZ @ 1335 NONAME ; struct QMetaObject const * QDeclarativeContext::metaObject(void) const + ??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 1336 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *) + ?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1337 NONAME ; int QPacketProtocol::maximumPacketSize(void) const + ??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 1338 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int) + ?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 1339 NONAME ; void QDeclarativeCustomParser::error(class QString const &) + ?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1340 NONAME ; void QDeclarativeDebugService::messageReceived(class QByteArray const &) + ??0QDeclarativeParserStatus@@QAE@XZ @ 1341 NONAME ; QDeclarativeParserStatus::QDeclarativeParserStatus(void) + ?isNumber@Variant@QDeclarativeParser@@QBE_NXZ @ 1342 NONAME ; bool QDeclarativeParser::Variant::isNumber(void) const + ?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1343 NONAME ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void) + ??_EQDeclarativeEngine@@UAE@I@Z @ 1344 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(unsigned int) + ??1QDeclarativeCustomParserNode@@QAE@XZ @ 1345 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(void) + ??1QDeclarativeAction@@QAE@XZ @ 1346 NONAME ; QDeclarativeAction::~QDeclarativeAction(void) + ?resourcesLoading@QDeclarativeText@@QBEHXZ @ 1347 NONAME ; int QDeclarativeText::resourcesLoading(void) const + ?isBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1348 NONAME ; bool QDeclarativeParser::Variant::isBoolean(void) const + ??0QDeclarativeAction@@QAE@XZ @ 1349 NONAME ; QDeclarativeAction::QDeclarativeAction(void) + ?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1350 NONAME ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const + ?index@QMetaEnumBuilder@@QBEHXZ @ 1351 NONAME ; int QMetaEnumBuilder::index(void) const + ?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 1352 NONAME ; void QMetaPropertyBuilder::setResettable(bool) + ??0QDeclarativeError@@QAE@ABV0@@Z @ 1353 NONAME ; QDeclarativeError::QDeclarativeError(class QDeclarativeError const &) + ?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 1354 NONAME ; int QMetaObjectBuilder::classInfoCount(void) const + ?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1355 NONAME ; bool QDeclarativeDomValue::isObject(void) const + ?left@QDeclarativeScaleGrid@@QBEHXZ @ 1356 NONAME ; int QDeclarativeScaleGrid::left(void) const + ?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 1357 NONAME ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *) + ?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 1358 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void) + ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 1359 NONAME ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *) + ?stateChanged@QDeclarativeStateGroup@@IAEXABVQString@@@Z @ 1360 NONAME ; void QDeclarativeStateGroup::stateChanged(class QString const &) + ?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 1361 NONAME ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int) + ??0QDeclarativeDomValueValueSource@@QAE@XZ @ 1362 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void) + ?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1363 NONAME ; void QDeclarativeAnchors::baselineOffsetChanged(void) + ?tr@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 1364 NONAME ; class QString QDeclarativeView::tr(char const *, char const *, int) + ??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 1365 NONAME ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &) + ?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1366 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *) + ??1QDeclarativeView@@UAE@XZ @ 1367 NONAME ; QDeclarativeView::~QDeclarativeView(void) + ?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1368 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const + ?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 1369 NONAME ; void QMetaEnumBuilder::setIsFlag(bool) + ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 1370 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int) + ?majorVersion@QDeclarativeType@@QBEHXZ @ 1371 NONAME ; int QDeclarativeType::majorVersion(void) const + ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 1372 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *) + ?baseUrl@QDeclarativeEngine@@QBE?AVQUrl@@XZ @ 1373 NONAME ; class QUrl QDeclarativeEngine::baseUrl(void) const + ??6QDeclarativeInfo@@QAEAAV0@PBX@Z @ 1374 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(void const *) + ?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1375 NONAME ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &) + ?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1376 NONAME ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ??_EQDeclarativeNetworkAccessManagerFactory@@UAE@I@Z @ 1377 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(unsigned int) + ?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1378 NONAME ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void) + ?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1379 NONAME ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &) + ?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 1380 NONAME ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int) + ?setEnabled@QDeclarativeDebugClient@@QAEX_N@Z @ 1381 NONAME ; void QDeclarativeDebugClient::setEnabled(bool) + ??1QMetaObjectBuilder@@UAE@XZ @ 1382 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(void) + ?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 1383 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *) + ?clear@QPacket@@QAEXXZ @ 1384 NONAME ; void QPacket::clear(void) + ?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1385 NONAME ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void) + ??0QDeclarativeDomList@@QAE@ABV0@@Z @ 1386 NONAME ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &) + ?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1387 NONAME ; int QDeclarativeGridScaledImage::gridTop(void) const + ?setUrl@QDeclarativeError@@QAEXABVQUrl@@@Z @ 1388 NONAME ; void QDeclarativeError::setUrl(class QUrl const &) + ?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 1389 NONAME ; int QPacketProtocol::setMaximumPacketSize(int) + ??_EQDeclarativeAction@@QAE@I@Z @ 1390 NONAME ; QDeclarativeAction::~QDeclarativeAction(unsigned int) + ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 1391 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *) + ?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@@Z @ 1392 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &) + ?widthValid@QDeclarativeItem@@IBE_NXZ @ 1393 NONAME ; bool QDeclarativeItem::widthValid(void) const + ?staticMetaObject@QDeclarativeState@@2UQMetaObject@@B @ 1394 NONAME ; struct QMetaObject const QDeclarativeState::staticMetaObject + ?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 1395 NONAME ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access) + ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 1396 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &) + ?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 1397 NONAME ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject + ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 1398 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *) + ?d_func@QDeclarativeExpression@@ABEPBVQDeclarativeExpressionPrivate@@XZ @ 1399 NONAME ; class QDeclarativeExpressionPrivate const * QDeclarativeExpression::d_func(void) const + ??1QDeclarativeValueType@@UAE@XZ @ 1400 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(void) + ?setBaseUrl@QDeclarativeContext@@QAEXABVQUrl@@@Z @ 1401 NONAME ; void QDeclarativeContext::setBaseUrl(class QUrl const &) + ??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 1402 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int) + ?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 1403 NONAME ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *) + ?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1404 NONAME ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &) + ?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 1405 NONAME ; void QDeclarativeOpenMetaObject::setCached(bool) + ?length@QDeclarativeDomList@@QBEHXZ @ 1406 NONAME ; int QDeclarativeDomList::length(void) const + ?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1407 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const + ??0QDeclarativeCustomParserProperty@@QAE@XZ @ 1408 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(void) + ??1QDeclarativeEngineDebug@@UAE@XZ @ 1409 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void) + ?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1410 NONAME ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *) + ?q_func@QDeclarativeItemPrivate@@ABEPBVQDeclarativeItem@@XZ @ 1411 NONAME ; class QDeclarativeItem const * QDeclarativeItemPrivate::q_func(void) const + ?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 1412 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const + ?setSourceLocation@QDeclarativeExpression@@QAEXABVQString@@H@Z @ 1413 NONAME ; void QDeclarativeExpression::setSourceLocation(class QString const &, int) + ?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1414 NONAME ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *) + ??_EQDeclarativeExtensionPlugin@@UAE@I@Z @ 1415 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(unsigned int) + ?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1416 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 1417 NONAME ; int QDeclarativeDebugEngineReference::debugId(void) const + ?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1418 NONAME ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const + ??_EQDeclarativeScaleGrid@@UAE@I@Z @ 1419 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int) + ??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 1420 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void) + ?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 1421 NONAME ; void QDeclarativeAnchors::componentComplete(void) + ??1QDeclarativeDomObject@@QAE@XZ @ 1422 NONAME ; QDeclarativeDomObject::~QDeclarativeDomObject(void) + ?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1423 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const + ?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1424 NONAME ; struct QMetaObject const * QListModelInterface::metaObject(void) const + ?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1425 NONAME ; class QByteArray QMetaEnumBuilder::key(int) const + ?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 1426 NONAME ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const + ??6QDeclarativeInfo@@QAEAAV0@PBD@Z @ 1427 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char const *) + ?d_func@QDeclarativeState@@AAEPAVQDeclarativeStatePrivate@@XZ @ 1428 NONAME ; class QDeclarativeStatePrivate * QDeclarativeState::d_func(void) + ??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 1429 NONAME ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *) + ?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 1430 NONAME ; void QDeclarativeAnchors::bottomChanged(void) + ?qListTypeId@QDeclarativeType@@QBEHXZ @ 1431 NONAME ; int QDeclarativeType::qListTypeId(void) const + ?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 1432 NONAME ; void QDeclarativeDebuggerStatus::setSelectedState(bool) + ?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 1433 NONAME ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject + ?setExtends@QDeclarativeState@@QAEXABVQString@@@Z @ 1434 NONAME ; void QDeclarativeState::setExtends(class QString const &) + ??4QDeclarativeError@@QAEAAV0@ABV0@@Z @ 1435 NONAME ; class QDeclarativeError & QDeclarativeError::operator=(class QDeclarativeError const &) + ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 1436 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int) + ?d_func@QDeclarativeTransition@@AAEPAVQDeclarativeTransitionPrivate@@XZ @ 1437 NONAME ; class QDeclarativeTransitionPrivate * QDeclarativeTransition::d_func(void) + ?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1438 NONAME ; void QDeclarativeOpenMetaObject::propertyWritten(int) + ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1439 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *) + ?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 1440 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int) + ?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1441 NONAME ; void QDeclarativeRectangle::drawRect(class QPainter &) + ?read@QDeclarativeProperty@@QBE?AVQVariant@@XZ @ 1442 NONAME ; class QVariant QDeclarativeProperty::read(void) const + ?isEmpty@QDeclarativePropertyMap@@QBE_NXZ @ 1443 NONAME ; bool QDeclarativePropertyMap::isEmpty(void) const + ?wantsFocus@QDeclarativeItem@@QBE_NXZ @ 1444 NONAME ; bool QDeclarativeItem::wantsFocus(void) const + ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 1445 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &) + ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 1446 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int) + ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 1447 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *) + ?tr@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 1448 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *) + ??6QDeclarativeInfo@@QAEAAV0@G@Z @ 1449 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned short) + ??0QDeclarativeStateOperation@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 1450 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObjectPrivate &, class QObject *) + ?notifyOnValueChanged@QDeclarativeExpression@@QBE_NXZ @ 1451 NONAME ; bool QDeclarativeExpression::notifyOnValueChanged(void) const + ?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 1452 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *) + ?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 1453 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *, int) + ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 1454 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *) + ?paintedHeight@QDeclarativeText@@QBEMXZ @ 1455 NONAME ; float QDeclarativeText::paintedHeight(void) const + ?tr@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1456 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *) + ?transform@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 1457 NONAME ; class QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void) + ?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1458 NONAME ; void QDeclarativeAnchors::leftChanged(void) + ?topChanged@QDeclarativeAnchors@@IAEXXZ @ 1459 NONAME ; void QDeclarativeAnchors::topChanged(void) + ??0QMetaObjectBuilder@@QAE@XZ @ 1460 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(void) + ?asBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1461 NONAME ; bool QDeclarativeParser::Variant::asBoolean(void) const + ?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 1462 NONAME ; void QMetaObjectBuilder::removeEnumerator(int) + ?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 1463 NONAME ; class QUrl QDeclarativeDomObject::url(void) const + ?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1464 NONAME ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void) + ?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 1465 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &) + ?networkAccessManagerFactory@QDeclarativeEngine@@QBEPAVQDeclarativeNetworkAccessManagerFactory@@XZ @ 1466 NONAME ; class QDeclarativeNetworkAccessManagerFactory * QDeclarativeEngine::networkAccessManagerFactory(void) const + ?isStringList@Variant@QDeclarativeParser@@QBE_NXZ @ 1467 NONAME ; bool QDeclarativeParser::Variant::isStringList(void) const + ?packetWritten@QPacketProtocol@@IAEXXZ @ 1468 NONAME ; void QPacketProtocol::packetWritten(void) + ?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1469 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void) + ?isSignalProperty@QDeclarativeProperty@@QBE_NXZ @ 1470 NONAME ; bool QDeclarativeProperty::isSignalProperty(void) const + ?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 1471 NONAME ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void) + ?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1472 NONAME ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void) + ?creationContext@QDeclarativeComponent@@QBEPAVQDeclarativeContext@@XZ @ 1473 NONAME ; class QDeclarativeContext * QDeclarativeComponent::creationContext(void) const + ?componentComplete@QDeclarativeItem@@MAEXXZ @ 1474 NONAME ; void QDeclarativeItem::componentComplete(void) + ?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1475 NONAME ; void QDeclarativeBehavior::enabledChanged(void) + ?staticMetaObject@QDeclarativeTransition@@2UQMetaObject@@B @ 1476 NONAME ; struct QMetaObject const QDeclarativeTransition::staticMetaObject + ??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 1477 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *) + ?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1478 NONAME ; class QString QDeclarativeDebugContextReference::name(void) const + ?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 1479 NONAME ; int QDeclarativeBinding::propertyIndex(void) + ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 1480 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int) + ?qt_metacast@QDeclarativePropertyMap@@UAEPAXPBD@Z @ 1481 NONAME ; void * QDeclarativePropertyMap::qt_metacast(char const *) + ?classBegin@QDeclarativeAnchors@@QAEXXZ @ 1482 NONAME ; void QDeclarativeAnchors::classBegin(void) + ?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 1483 NONAME ; class QColor QDeclarativeText::color(void) const + ?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1484 NONAME ; struct QMetaObject const * QPacketProtocol::metaObject(void) const + ??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 1485 NONAME ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &) + ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 1486 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *) + ??1QDeclarativeScriptString@@QAE@XZ @ 1487 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(void) + ??1QDeclarativePropertyValueSource@@UAE@XZ @ 1488 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(void) + ?position@QDeclarativeDomList@@QBEHXZ @ 1489 NONAME ; int QDeclarativeDomList::position(void) const + ?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 1490 NONAME ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *) + ??_EQDeclarativeItem@@UAE@I@Z @ 1491 NONAME ; QDeclarativeItem::~QDeclarativeItem(unsigned int) + ?getStaticMetaObject@QDeclarativeContext@@SAABUQMetaObject@@XZ @ 1492 NONAME ; struct QMetaObject const & QDeclarativeContext::getStaticMetaObject(void) + ?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1493 NONAME ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const + ?transformChanged@QDeclarativeItemPrivate@@UAEXXZ @ 1494 NONAME ; void QDeclarativeItemPrivate::transformChanged(void) + ?remove@QDeclarativeListModel@@QAEXH@Z @ 1495 NONAME ; void QDeclarativeListModel::remove(int) + ?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 1496 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode) + ?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1497 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const + ?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1498 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const + ??0QDeclarativeItem@@IAE@AAVQDeclarativeItemPrivate@@PAV0@@Z @ 1499 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItemPrivate &, class QDeclarativeItem *) + ??0QDeclarativeContext@@QAE@PAV0@PAVQObject@@@Z @ 1500 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *) + ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 1501 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *) + ??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 1502 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void) + ?getStaticMetaObject@QDeclarativeTransition@@SAABUQMetaObject@@XZ @ 1503 NONAME ; struct QMetaObject const & QDeclarativeTransition::getStaticMetaObject(void) + ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 1504 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int) + ?metaObject@QDeclarativePropertyMap@@UBEPBUQMetaObject@@XZ @ 1505 NONAME ; struct QMetaObject const * QDeclarativePropertyMap::metaObject(void) const + ?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 1506 NONAME ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const + ?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1507 NONAME ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const + ?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1508 NONAME ; void QMetaMethodBuilder::setTag(class QByteArray const &) + ?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1509 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const + ??4Variant@QDeclarativeParser@@QAEAAV01@ABV01@@Z @ 1510 NONAME ; class QDeclarativeParser::Variant & QDeclarativeParser::Variant::operator=(class QDeclarativeParser::Variant const &) + ?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1511 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *) + ?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 1512 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *) + ??1QDeclarativeBinding@@MAE@XZ @ 1513 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void) + ?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0PAV2@@Z @ 1514 NONAME ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &, class QString *) + ?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 1515 NONAME ; void QDeclarativeAnchors::setBottomMargin(float) + ?geometryChanged@QDeclarativeItem@@MAEXABVQRectF@@0@Z @ 1516 NONAME ; void QDeclarativeItem::geometryChanged(class QRectF const &, class QRectF const &) + ?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 1517 NONAME ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const + ?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1518 NONAME ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const + ?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 1519 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const + ?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 1520 NONAME ; void QDeclarativeView::setRootObject(class QObject *) + ?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 1521 NONAME ; void QDeclarativeAnchors::resetBottom(void) + ?qt_metacall@QDeclarativePropertyMap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1522 NONAME ; int QDeclarativePropertyMap::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 1523 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &) + ?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1524 NONAME ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const + ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 1525 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *) + ??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 1526 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const + ?siblingOrderChange@QDeclarativeItemPrivate@@UAEXXZ @ 1527 NONAME ; void QDeclarativeItemPrivate::siblingOrderChange(void) + ??1QDeclarativeState@@UAE@XZ @ 1528 NONAME ; QDeclarativeState::~QDeclarativeState(void) + ?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1529 NONAME ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *) + ??1QDeclarativeStateGroup@@UAE@XZ @ 1530 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(void) + ?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 1531 NONAME ; void QMetaPropertyBuilder::setEditable(bool) + ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1532 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>) + ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1533 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *) + ?progress@QDeclarativeComponent@@QBEMXZ @ 1534 NONAME ; float QDeclarativeComponent::progress(void) const + ?d_func@QDeclarativeState@@ABEPBVQDeclarativeStatePrivate@@XZ @ 1535 NONAME ; class QDeclarativeStatePrivate const * QDeclarativeState::d_func(void) const + ??0QListModelInterface@@QAE@PAVQObject@@@Z @ 1536 NONAME ; QListModelInterface::QListModelInterface(class QObject *) + ?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1537 NONAME ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *) + ?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1538 NONAME ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &) + ?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 1539 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const + ?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 1540 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const + ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 1541 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *, int) + ?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1542 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *) + ?prepare@QDeclarativeTransition@@QAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@PAVQDeclarativeTransitionManager@@@Z @ 1543 NONAME ; void QDeclarativeTransition::prepare(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, class QDeclarativeTransitionManager *) + ??6QDeclarativeInfo@@QAEAAV0@ABVQUrl@@@Z @ 1544 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QUrl const &) + ?scopeObject@QDeclarativeExpression@@QBEPAVQObject@@XZ @ 1545 NONAME ; class QObject * QDeclarativeExpression::scopeObject(void) const + ?isValid@QDeclarativeContext@@QBE_NXZ @ 1546 NONAME ; bool QDeclarativeContext::isValid(void) const + ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 1547 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int) + ?qmlAttachedPropertiesObjectById@@YAPAVQObject@@HPBV1@_N@Z @ 1548 NONAME ; class QObject * qmlAttachedPropertiesObjectById(int, class QObject const *, bool) + ?d_func@QDeclarativePixmapReply@@ABEPBVQDeclarativePixmapReplyPrivate@@XZ @ 1549 NONAME ABSENT ; class QDeclarativePixmapReplyPrivate const * QDeclarativePixmapReply::d_func(void) const + ?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 1550 NONAME ; int QMetaObjectBuilder::constructorCount(void) const + ??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 1551 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &) + ?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1552 NONAME ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const + ??0QMetaPropertyBuilder@@QAE@XZ @ 1553 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(void) + ?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 1554 NONAME ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const + ?d_func@QDeclarativeEngine@@AAEPAVQDeclarativeEnginePrivate@@XZ @ 1555 NONAME ; class QDeclarativeEnginePrivate * QDeclarativeEngine::d_func(void) + ?forcedHeight@QDeclarativePixmapReply@@QBEHXZ @ 1556 NONAME ABSENT ; int QDeclarativePixmapReply::forcedHeight(void) const + ?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 1557 NONAME ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject + ?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1558 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &) + ?getStaticMetaObject@QDeclarativeStateGroup@@SAABUQMetaObject@@XZ @ 1559 NONAME ; struct QMetaObject const & QDeclarativeStateGroup::getStaticMetaObject(void) + ?childrenRectChanged@QDeclarativeItem@@IAEXABVQRectF@@@Z @ 1560 NONAME ; void QDeclarativeItem::childrenRectChanged(class QRectF const &) + ?isDesignable@QDeclarativeProperty@@QBE_NXZ @ 1561 NONAME ; bool QDeclarativeProperty::isDesignable(void) const + ?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 1562 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const + ?setSize@QDeclarativeItem@@QAEXABVQSizeF@@@Z @ 1563 NONAME ; void QDeclarativeItem::setSize(class QSizeF const &) + ?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1564 NONAME ; void QDeclarativeRectangle::generateRoundedRect(void) + ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 1565 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *) + ?propertyTypeCategory@QDeclarativeProperty@@QBE?AW4PropertyTypeCategory@1@XZ @ 1566 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativeProperty::propertyTypeCategory(void) const + ??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 1567 NONAME ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *) + ?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1568 NONAME ; int QMetaEnumBuilder::keyCount(void) const + ??1QDeclarativeDomProperty@@QAE@XZ @ 1569 NONAME ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void) + ?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 1570 NONAME ; void QDeclarativeDebugService::sendMessage(class QByteArray const &) + ?context@QDeclarativeScriptString@@QBEPAVQDeclarativeContext@@XZ @ 1571 NONAME ; class QDeclarativeContext * QDeclarativeScriptString::context(void) const + ?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1572 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *) + ?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 1573 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *, int) + ?setNotifyOnValueChanged@QDeclarativeExpression@@QAEX_N@Z @ 1574 NONAME ; void QDeclarativeExpression::setNotifyOnValueChanged(bool) + ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 1575 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &) + ?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1576 NONAME ; void QDeclarativeAnchors::fillChanged(void) + ?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 1577 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *) + ??0QDeclarativeComponent@@IAE@AAVQDeclarativeComponentPrivate@@PAVQObject@@@Z @ 1578 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeComponentPrivate &, class QObject *) + ?height@QDeclarativeItem@@QBEMXZ @ 1579 NONAME ; float QDeclarativeItem::height(void) const + ?minorVersion@QDeclarativeType@@QBEHXZ @ 1580 NONAME ; int QDeclarativeType::minorVersion(void) const + ?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1581 NONAME ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *) + ?event@QDeclarativePixmapReply@@MAE_NPAVQEvent@@@Z @ 1582 NONAME ABSENT ; bool QDeclarativePixmapReply::event(class QEvent *) + ?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1583 NONAME ; bool QDeclarativeDebugConnection::isConnected(void) const + ?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 1584 NONAME ABSENT ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *) + ??6QDeclarativeInfo@@QAEAAV0@I@Z @ 1585 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned int) + ?setNetworkAccessManagerFactory@QDeclarativeEngine@@QAEXPAVQDeclarativeNetworkAccessManagerFactory@@@Z @ 1586 NONAME ; void QDeclarativeEngine::setNetworkAccessManagerFactory(class QDeclarativeNetworkAccessManagerFactory *) + ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 1587 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int) + ??AQDeclarativePropertyMap@@QAEAAVQVariant@@ABVQString@@@Z @ 1588 NONAME ; class QVariant & QDeclarativePropertyMap::operator[](class QString const &) + ??0Variant@QDeclarativeParser@@QAE@_N@Z @ 1589 NONAME ; QDeclarativeParser::Variant::Variant(bool) + ?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 1590 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *, int) + ??0QDeclarativeStateGroup@@QAE@PAVQObject@@@Z @ 1591 NONAME ; QDeclarativeStateGroup::QDeclarativeStateGroup(class QObject *) + ?count@QDeclarativeListReference@@QBEHXZ @ 1592 NONAME ; int QDeclarativeListReference::count(void) const + ?location@QDeclarativeCustomParserProperty@@QBE?AULocation@QDeclarativeParser@@XZ @ 1593 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserProperty::location(void) const + ?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1594 NONAME ; struct QMetaObject const * QDeclarativePen::metaObject(void) const + ?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 1595 NONAME ABSENT ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *) + ?url@QDeclarativeError@@QBE?AVQUrl@@XZ @ 1596 NONAME ; class QUrl QDeclarativeError::url(void) const + ?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1597 NONAME ; bool QDeclarativeDomValue::isBinding(void) const + ?name@QDeclarativeProperty@@QBE?AVQString@@XZ @ 1598 NONAME ; class QString QDeclarativeProperty::name(void) const + ?asString@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 1599 NONAME ; class QString QDeclarativeParser::Variant::asString(void) const + ?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 1600 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *) + ?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 1601 NONAME ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &) + ?canAppend@QDeclarativeListReference@@QBE_NXZ @ 1602 NONAME ; bool QDeclarativeListReference::canAppend(void) const + ??_EQDeclarativeComponent@@UAE@I@Z @ 1603 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(unsigned int) + ?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 1604 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *) + ?staticMetaObject@QDeclarativeView@@2UQMetaObject@@B @ 1605 NONAME ; struct QMetaObject const QDeclarativeView::staticMetaObject + ?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1606 NONAME ; class QString QDeclarativeDebugService::objectToString(class QObject *) + ?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1607 NONAME ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const + ?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 1608 NONAME ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const + ?d_func@QDeclarativePixmapReply@@AAEPAVQDeclarativePixmapReplyPrivate@@XZ @ 1609 NONAME ABSENT ; class QDeclarativePixmapReplyPrivate * QDeclarativePixmapReply::d_func(void) + ?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 1610 NONAME ; int QMetaEnumBuilder::addKey(class QByteArray const &, int) + ?setPosHelper@QDeclarativeItemPrivate@@UAEXABVQPointF@@@Z @ 1611 NONAME ; void QDeclarativeItemPrivate::setPosHelper(class QPointF const &) + ?attributes@QMetaMethodBuilder@@QBEHXZ @ 1612 NONAME ; int QMetaMethodBuilder::attributes(void) const + ?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1613 NONAME ; int QDeclarativeDebugFileReference::lineNumber(void) const + ?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 1614 NONAME ; void QDeclarativeScaleGrid::setTop(int) + ?metaObject@QDeclarativeItem@@UBEPBUQMetaObject@@XZ @ 1615 NONAME ; struct QMetaObject const * QDeclarativeItem::metaObject(void) const + ?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 1616 NONAME ; void QDeclarativeAbstractBinding::clear(void) + ?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 1617 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &) + ?reloadWithResources@QDeclarativeText@@AAEXXZ @ 1618 NONAME ABSENT ; void QDeclarativeText::reloadWithResources(void) + ?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 1619 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &) + ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1620 NONAME ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &) + ?setFocus@QDeclarativeItem@@QAEX_N@Z @ 1621 NONAME ; void QDeclarativeItem::setFocus(bool) + ?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@PBD@Z @ 1622 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, char const *) const + ??4QDeclarativeProperty@@QAEAAV0@ABV0@@Z @ 1623 NONAME ; class QDeclarativeProperty & QDeclarativeProperty::operator=(class QDeclarativeProperty const &) + ?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1624 NONAME ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &) + ?setImplicitWidth@QDeclarativeItem@@IAEXM@Z @ 1625 NONAME ; void QDeclarativeItem::setImplicitWidth(float) + ?isInterface@QDeclarativeType@@QBE_NXZ @ 1626 NONAME ; bool QDeclarativeType::isInterface(void) const + ??0QDeclarativeContext@@AAE@PAVQDeclarativeEngine@@_N@Z @ 1627 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, bool) + ?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1628 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int) + ?tr@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1629 NONAME ; class QString QDeclarativeView::tr(char const *, char const *) + ?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1630 NONAME ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QDeclarativeItem@@QAE@PAV0@@Z @ 1631 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItem *) + ?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 1632 NONAME ; bool QDeclarativeDebugService::hasDebuggingClient(void) + ?staticMetaObject@QDeclarativeContext@@2UQMetaObject@@B @ 1633 NONAME ; struct QMetaObject const QDeclarativeContext::staticMetaObject + ?setContextForObject@QDeclarativeEngine@@SAXPAVQObject@@PAVQDeclarativeContext@@@Z @ 1634 NONAME ; void QDeclarativeEngine::setContextForObject(class QObject *, class QDeclarativeContext *) + ?baselineOffsetChanged@QDeclarativeItem@@IAEXM@Z @ 1635 NONAME ; void QDeclarativeItem::baselineOffsetChanged(float) + ??6QDeclarativeInfo@@QAEAAV0@VQChar@@@Z @ 1636 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QChar) + ?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1637 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, int) + ?status@QDeclarativePixmap@@QBE?AW4Status@1@XZ @ 1638 NONAME ; enum QDeclarativePixmap::Status QDeclarativePixmap::status(void) const + ?error@QDeclarativePixmap@@QBE?AVQString@@XZ @ 1639 NONAME ; class QString QDeclarativePixmap::error(void) const + ??BQDeclarativePixmap@@QBEABVQPixmap@@XZ @ 1640 NONAME ; QDeclarativePixmap::operator class QPixmap const &(void) const + ?tr@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 1641 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *, int) + ?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1642 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &) + ?height@QDeclarativePixmap@@QBEHXZ @ 1643 NONAME ; int QDeclarativePixmap::height(void) const + ?implicitSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1644 NONAME ; class QSize const & QDeclarativePixmap::implicitSize(void) const + ?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 1645 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, char const *) + ?clear@QDeclarativePixmap@@QAEXPAVQObject@@@Z @ 1646 NONAME ; void QDeclarativePixmap::clear(class QObject *) + ?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 1647 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, char const *) + ?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 1648 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *, int) + ?isLoading@QDeclarativePixmap@@QBE_NXZ @ 1649 NONAME ; bool QDeclarativePixmap::isLoading(void) const + ?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@@Z @ 1650 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &) + ?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@_N@Z @ 1651 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, bool) + ??1QDeclarativePixmap@@QAE@XZ @ 1652 NONAME ; QDeclarativePixmap::~QDeclarativePixmap(void) + ??0QDeclarativePixmap@@QAE@XZ @ 1653 NONAME ; QDeclarativePixmap::QDeclarativePixmap(void) + ?isReady@QDeclarativePixmap@@QBE_NXZ @ 1654 NONAME ; bool QDeclarativePixmap::isReady(void) const + ?clear@QDeclarativePixmap@@QAEXXZ @ 1655 NONAME ; void QDeclarativePixmap::clear(void) + ?pixmap@QDeclarativePixmap@@QBEABVQPixmap@@XZ @ 1656 NONAME ; class QPixmap const & QDeclarativePixmap::pixmap(void) const + ??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 1657 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &) + ?width@QDeclarativePixmap@@QBEHXZ @ 1658 NONAME ; int QDeclarativePixmap::width(void) const + ?setPixmap@QDeclarativePixmap@@QAEXABVQPixmap@@@Z @ 1659 NONAME ; void QDeclarativePixmap::setPixmap(class QPixmap const &) + ?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1660 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, int) + ?isError@QDeclarativePixmap@@QBE_NXZ @ 1661 NONAME ; bool QDeclarativePixmap::isError(void) const + ?rect@QDeclarativePixmap@@QBE?AVQRect@@XZ @ 1662 NONAME ; class QRect QDeclarativePixmap::rect(void) const + ?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1663 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *) + ?tr@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1664 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *) + ?isNull@QDeclarativePixmap@@QBE_NXZ @ 1665 NONAME ; bool QDeclarativePixmap::isNull(void) const + ?requestSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1666 NONAME ; class QSize const & QDeclarativePixmap::requestSize(void) const + ??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1667 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &, class QSize const &) + ?url@QDeclarativePixmap@@QBEABVQUrl@@XZ @ 1668 NONAME ; class QUrl const & QDeclarativePixmap::url(void) const + ?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@_N@Z @ 1669 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &, bool) + ?imageType@QDeclarativeImageProvider@@QBE?AW4ImageType@1@XZ @ 1670 NONAME ; enum QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType(void) const + ?qtAnimationStateChanged@QDeclarativeBehavior@@AAEXW4State@QAbstractAnimation@@0@Z @ 1671 NONAME ; void QDeclarativeBehavior::qtAnimationStateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State) + ?requestImage@QDeclarativeImageProvider@@UAE?AVQImage@@ABVQString@@PAVQSize@@ABV4@@Z @ 1672 NONAME ; class QImage QDeclarativeImageProvider::requestImage(class QString const &, class QSize *, class QSize const &) + ?requestPixmap@QDeclarativeImageProvider@@UAE?AVQPixmap@@ABVQString@@PAVQSize@@ABV4@@Z @ 1673 NONAME ; class QPixmap QDeclarativeImageProvider::requestPixmap(class QString const &, class QSize *, class QSize const &) + ?setBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@ABVQVariant@@_N@Z @ 1674 NONAME ; bool QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool) + ??0QDeclarativeImageProvider@@QAE@W4ImageType@0@@Z @ 1675 NONAME ; QDeclarativeImageProvider::QDeclarativeImageProvider(enum QDeclarativeImageProvider::ImageType) + ?setMethodBody@QDeclarativeEngineDebug@@QAE_NHABVQString@@0@Z @ 1676 NONAME ; bool QDeclarativeEngineDebug::setMethodBody(int, class QString const &, class QString const &) + ?resetBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@@Z @ 1677 NONAME ; bool QDeclarativeEngineDebug::resetBindingForObject(int, class QString const &) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index 6e20131..296901d 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -8181,7 +8181,7 @@ EXPORTS ?rowsInserted@QTreeView@@MAEXABVQModelIndex@@HH@Z @ 8180 NONAME ; void QTreeView::rowsInserted(class QModelIndex const &, int, int) ?rowsRemoved@QTreeView@@IAEXABVQModelIndex@@HH@Z @ 8181 NONAME ; void QTreeView::rowsRemoved(class QModelIndex const &, int, int) ?rubberBandSelectionMode@QGraphicsView@@QBE?AW4ItemSelectionMode@Qt@@XZ @ 8182 NONAME ; enum Qt::ItemSelectionMode QGraphicsView::rubberBandSelectionMode(void) const - ?s60AdjustedPosition@QDialog@@AAE_NXZ @ 8183 NONAME ; bool QDialog::s60AdjustedPosition(void) + ?symbianAdjustedPosition@QDialog@@AAE_NXZ @ 8183 NONAME ; bool QDialog::symbianAdjustedPosition(void) ?s60UpdateIsOpaque@QWidgetPrivate@@QAEXXZ @ 8184 NONAME ; void QWidgetPrivate::s60UpdateIsOpaque(void) ?saturation@QColor@@QBEHXZ @ 8185 NONAME ; int QColor::saturation(void) const ?saturationF@QColor@@QBEMXZ @ 8186 NONAME ; float QColor::saturationF(void) const @@ -12824,4 +12824,59 @@ EXPORTS ?createPixmapForImage@QRasterPixmapData@@IAEXAAVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@_N@Z @ 12823 NONAME ; void QRasterPixmapData::createPixmapForImage(class QImage &, class QFlags<enum Qt::ImageConversionFlag>, bool) ??0Tab@QTextOption@@QAE@MW4TabType@1@VQChar@@@Z @ 12824 NONAME ; QTextOption::Tab::Tab(float, enum QTextOption::TabType, class QChar) ?fromData@QRasterPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12825 NONAME ; bool QRasterPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>) + ?transformed@QRuntimePixmapData@@UBE?AVQPixmap@@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 12826 NONAME ; class QPixmap QRuntimePixmapData::transformed(class QTransform const &, enum Qt::TransformationMode) const + ?scroll@QRuntimePixmapData@@UAE_NHHABVQRect@@@Z @ 12827 NONAME ; bool QRuntimePixmapData::scroll(int, int, class QRect const &) + ?buffer@QRuntimePixmapData@@UAEPAVQImage@@XZ @ 12828 NONAME ; class QImage * QRuntimePixmapData::buffer(void) + ?copy@QRuntimePixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12829 NONAME ; void QRuntimePixmapData::copy(class QPixmapData const *, class QRect const &) + ?fromData@QRuntimePixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12830 NONAME ; bool QRuntimePixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>) + ?readBackInfo@QRuntimePixmapData@@QAEXXZ @ 12831 NONAME ; void QRuntimePixmapData::readBackInfo(void) + ??_EQRuntimePixmapData@@UAE@I@Z @ 12832 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(unsigned int) + ?paintEngine@QRuntimePixmapData@@UBEPAVQPaintEngine@@XZ @ 12833 NONAME ; class QPaintEngine * QRuntimePixmapData::paintEngine(void) const + ?memoryUsage@QRuntimePixmapData@@UBEIXZ @ 12834 NONAME ; unsigned int QRuntimePixmapData::memoryUsage(void) const + ?toImage@QRasterPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12835 NONAME ; class QImage QRasterPixmapData::toImage(class QRect const &) const + ?fromImageReader@QRasterPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12836 NONAME ; void QRasterPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>) + ?fill@QRuntimePixmapData@@UAEXABVQColor@@@Z @ 12837 NONAME ; void QRuntimePixmapData::fill(class QColor const &) + ?alphaChannel@QRuntimePixmapData@@UBE?AVQPixmap@@XZ @ 12838 NONAME ; class QPixmap QRuntimePixmapData::alphaChannel(void) const + ?createCompatiblePixmapData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12839 NONAME ; class QPixmapData * QRuntimePixmapData::createCompatiblePixmapData(void) const + ?toImage@QRuntimePixmapData@@UBE?AVQImage@@XZ @ 12840 NONAME ; class QImage QRuntimePixmapData::toImage(void) const + ?resize@QRuntimePixmapData@@UAEXHH@Z @ 12841 NONAME ; void QRuntimePixmapData::resize(int, int) + ?fromNativeType@QRuntimePixmapData@@UAEXPAXW4NativeType@QPixmapData@@@Z @ 12842 NONAME ; void QRuntimePixmapData::fromNativeType(void *, enum QPixmapData::NativeType) + ?fromFile@QRuntimePixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12843 NONAME ; bool QRuntimePixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>) + ?setAlphaChannel@QRuntimePixmapData@@UAEXABVQPixmap@@@Z @ 12844 NONAME ; void QRuntimePixmapData::setAlphaChannel(class QPixmap const &) + ?fromImageReader@QPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12845 NONAME ; void QPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>) + ?toImage@QPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12846 NONAME ; class QImage QPixmapData::toImage(class QRect const &) const + ?fromImageReader@QPixmap@@SA?AV1@PAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12847 NONAME ; class QPixmap QPixmap::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>) + ?fromImage@QRuntimePixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12848 NONAME ; void QRuntimePixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>) + ?setMask@QRuntimePixmapData@@UAEXABVQBitmap@@@Z @ 12849 NONAME ; void QRuntimePixmapData::setMask(class QBitmap const &) + ?mask@QRuntimePixmapData@@UBE?AVQBitmap@@XZ @ 12850 NONAME ; class QBitmap QRuntimePixmapData::mask(void) const + ?createPixmapData@QGraphicsSystem@@UAEPAVQPixmapData@@PAV2@@Z @ 12851 NONAME ; class QPixmapData * QGraphicsSystem::createPixmapData(class QPixmapData *) + ?metric@QRuntimePixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 12852 NONAME ; int QRuntimePixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const + ??1QRuntimePixmapData@@UAE@XZ @ 12853 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(void) + ??0QRuntimePixmapData@@QAE@PBVQRuntimeGraphicsSystem@@W4PixelType@QPixmapData@@@Z @ 12854 NONAME ; QRuntimePixmapData::QRuntimePixmapData(class QRuntimeGraphicsSystem const *, enum QPixmapData::PixelType) + ?hasAlphaChannel@QRuntimePixmapData@@UBE_NXZ @ 12855 NONAME ; bool QRuntimePixmapData::hasAlphaChannel(void) const + ?runtimeData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12856 NONAME ; class QPixmapData * QRuntimePixmapData::runtimeData(void) const + ?toNativeType@QRuntimePixmapData@@UAEPAXW4NativeType@QPixmapData@@@Z @ 12857 NONAME ; void * QRuntimePixmapData::toNativeType(enum QPixmapData::NativeType) + ?copy@QRasterPixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12858 NONAME ; void QRasterPixmapData::copy(class QPixmapData const *, class QRect const &) + ?eglSwapBuffersRegion2NOK@QEgl@@YAHHHHPBH@Z @ 12859 NONAME ; int QEgl::eglSwapBuffersRegion2NOK(int, int, int, int const *) + ?swapBuffersRegion2NOK@QEglContext@@QAE_NHPBVQRegion@@@Z @ 12860 NONAME ; bool QEglContext::swapBuffersRegion2NOK(int, class QRegion const *) + ?OpenIniFileLC@QS60MainApplication@@UBEPAVCDictionaryStore@@AAVRFs@@@Z @ 12861 NONAME ; class CDictionaryStore * QS60MainApplication::OpenIniFileLC(class RFs &) const + ?Reserved_MtsmObject@QS60MainAppUi@@MAEXXZ @ 12862 NONAME ; void QS60MainAppUi::Reserved_MtsmObject(void) + ?HandleForegroundEventL@QS60MainAppUi@@MAEXH@Z @ 12863 NONAME ; void QS60MainAppUi::HandleForegroundEventL(int) + ?OpenFileL@QS60MainDocument@@UAEPAVCFileStore@@HABVTDesC16@@AAVRFs@@@Z @ 12864 NONAME ; class CFileStore * QS60MainDocument::OpenFileL(int, class TDesC16 const &, class RFs &) + ?HandleTouchPaneSizeChange@QS60MainAppUi@@UAEXXZ @ 12865 NONAME ; void QS60MainAppUi::HandleTouchPaneSizeChange(void) + ?Reserved_MtsmPosition@QS60MainAppUi@@MAEXXZ @ 12866 NONAME ; void QS60MainAppUi::Reserved_MtsmPosition(void) + ?ApplicationRect@QS60MainAppUi@@UBE?AVTRect@@XZ @ 12867 NONAME ; class TRect QS60MainAppUi::ApplicationRect(void) const + ?HandleSystemEventL@QS60MainAppUi@@MAEXABVTWsEvent@@@Z @ 12868 NONAME ; void QS60MainAppUi::HandleSystemEventL(class TWsEvent const &) + ?HandleApplicationSpecificEventL@QS60MainAppUi@@MAEXHABVTWsEvent@@@Z @ 12869 NONAME ; void QS60MainAppUi::HandleApplicationSpecificEventL(int, class TWsEvent const &) + ?HandleError@QS60MainAppUi@@UAE?AW4TErrorHandlerResponse@@HABUSExtendedError@@AAVTDes16@@1@Z @ 12870 NONAME ; enum TErrorHandlerResponse QS60MainAppUi::HandleError(int, struct SExtendedError const &, class TDes16 &, class TDes16 &) + ?PrepareToExit@QS60MainAppUi@@UAEXXZ @ 12871 NONAME ; void QS60MainAppUi::PrepareToExit(void) + ?MopSupplyObject@QS60MainAppUi@@MAE?AVPtr@TTypeUid@@V3@@Z @ 12872 NONAME ; class TTypeUid::Ptr QS60MainAppUi::MopSupplyObject(class TTypeUid) + ?SetFadedL@QS60MainAppUi@@UAEXH@Z @ 12873 NONAME ; void QS60MainAppUi::SetFadedL(int) + ?Exit@QS60MainAppUi@@UAEXXZ @ 12874 NONAME ; void QS60MainAppUi::Exit(void) + ?ProcessCommandL@QS60MainAppUi@@UAEXH@Z @ 12875 NONAME ; void QS60MainAppUi::ProcessCommandL(int) + ?OpenFileL@QS60MainDocument@@UAEXAAPAVCFileStore@@AAVRFile@@@Z @ 12876 NONAME ; void QS60MainDocument::OpenFileL(class CFileStore * &, class RFile &) + ?HandleScreenDeviceChangedL@QS60MainAppUi@@MAEXXZ @ 12877 NONAME ; void QS60MainAppUi::HandleScreenDeviceChangedL(void) + ?PreDocConstructL@QS60MainApplication@@UAEXXZ @ 12878 NONAME ; void QS60MainApplication::PreDocConstructL(void) + ?NewAppServerL@QS60MainApplication@@UAEXAAPAVCApaAppServer@@@Z @ 12879 NONAME ; void QS60MainApplication::NewAppServerL(class CApaAppServer * &) + ?HandleViewDeactivation@QS60MainAppUi@@UAEXABVTVwsViewId@@0@Z @ 12880 NONAME ; void QS60MainAppUi::HandleViewDeactivation(class TVwsViewId const &, class TVwsViewId const &) diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def index 7769443..fbf0d3b 100644 --- a/src/s60installs/bwins/QtScriptu.def +++ b/src/s60installs/bwins/QtScriptu.def @@ -401,4 +401,6 @@ EXPORTS ?didReachBreakpoint@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 400 NONAME ; void QScriptEngineAgentPrivate::didReachBreakpoint(class QTJSC::DebuggerCallFrame const &, int, int) ?exception@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH_N@Z @ 401 NONAME ; void QScriptEngineAgentPrivate::exception(class QTJSC::DebuggerCallFrame const &, int, int, bool) ?reportAdditionalMemoryCost@QScriptEngine@@QAEXH@Z @ 402 NONAME ; void QScriptEngine::reportAdditionalMemoryCost(int) + ?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@@Z @ 403 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *) + ?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@HPBVQString@@PBV2@PBV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 404 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *, int, class QString const *, class QScriptValue const *, class QFlags<enum QScriptValue::PropertyFlag> const *) diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index 7b9e777..46c4885 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3709,4 +3709,6 @@ EXPORTS _ZNK7QString13isRightToLeftEv @ 3708 NONAME _ZN16QIODevicePrivate4peekEPcx @ 3709 NONAME _ZN16QIODevicePrivate4peekEx @ 3710 NONAME + _ZN8QProcess18setNativeArgumentsERK7QString @ 3711 NONAME + _ZNK8QProcess15nativeArgumentsEv @ 3712 NONAME diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def index 96e74a6..dd5103f 100644 --- a/src/s60installs/eabi/QtDeclarativeu.def +++ b/src/s60installs/eabi/QtDeclarativeu.def @@ -4,3686 +4,1707 @@ EXPORTS _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 ABSENT - _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 - _ZN16QDeclarativeBind11qt_metacallEN11QMetaObject4CallEiPPv @ 44 NONAME - _ZN16QDeclarativeBind11qt_metacastEPKc @ 45 NONAME - _ZN16QDeclarativeBind11setPropertyERK7QString @ 46 NONAME - _ZN16QDeclarativeBind16staticMetaObjectE @ 47 NONAME DATA 16 - _ZN16QDeclarativeBind17componentCompleteEv @ 48 NONAME - _ZN16QDeclarativeBind19getStaticMetaObjectEv @ 49 NONAME - _ZN16QDeclarativeBind4evalEv @ 50 NONAME - _ZN16QDeclarativeBind6objectEv @ 51 NONAME - _ZN16QDeclarativeBind7setWhenEb @ 52 NONAME - _ZN16QDeclarativeBind8setValueERK8QVariant @ 53 NONAME - _ZN16QDeclarativeBind9setObjectEP7QObject @ 54 NONAME - _ZN16QDeclarativeBindC1EP7QObject @ 55 NONAME - _ZN16QDeclarativeBindC2EP7QObject @ 56 NONAME - _ZN16QDeclarativeBindD0Ev @ 57 NONAME - _ZN16QDeclarativeBindD1Ev @ 58 NONAME - _ZN16QDeclarativeBindD2Ev @ 59 NONAME - _ZN16QDeclarativeDrag11axisChangedEv @ 60 NONAME - _ZN16QDeclarativeDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 61 NONAME - _ZN16QDeclarativeDrag11qt_metacastEPKc @ 62 NONAME - _ZN16QDeclarativeDrag13targetChangedEv @ 63 NONAME - _ZN16QDeclarativeDrag15maximumXChangedEv @ 64 NONAME - _ZN16QDeclarativeDrag15maximumYChangedEv @ 65 NONAME - _ZN16QDeclarativeDrag15minimumXChangedEv @ 66 NONAME - _ZN16QDeclarativeDrag15minimumYChangedEv @ 67 NONAME - _ZN16QDeclarativeDrag16staticMetaObjectE @ 68 NONAME DATA 16 - _ZN16QDeclarativeDrag19getStaticMetaObjectEv @ 69 NONAME - _ZN16QDeclarativeDrag7setAxisENS_4AxisE @ 70 NONAME - _ZN16QDeclarativeDrag7setXmaxEf @ 71 NONAME - _ZN16QDeclarativeDrag7setXminEf @ 72 NONAME - _ZN16QDeclarativeDrag7setYmaxEf @ 73 NONAME - _ZN16QDeclarativeDrag7setYminEf @ 74 NONAME - _ZN16QDeclarativeDrag9setTargetEP15QGraphicsObject @ 75 NONAME - _ZN16QDeclarativeDragC1EP7QObject @ 76 NONAME - _ZN16QDeclarativeDragC2EP7QObject @ 77 NONAME - _ZN16QDeclarativeDragD0Ev @ 78 NONAME - _ZN16QDeclarativeDragD1Ev @ 79 NONAME - _ZN16QDeclarativeDragD2Ev @ 80 NONAME - _ZN16QDeclarativeFlow11flowChangedEv @ 81 NONAME - _ZN16QDeclarativeFlow11qt_metacallEN11QMetaObject4CallEiPPv @ 82 NONAME - _ZN16QDeclarativeFlow11qt_metacastEPKc @ 83 NONAME - _ZN16QDeclarativeFlow13doPositioningEv @ 84 NONAME ABSENT - _ZN16QDeclarativeFlow16staticMetaObjectE @ 85 NONAME DATA 16 - _ZN16QDeclarativeFlow19getStaticMetaObjectEv @ 86 NONAME - _ZN16QDeclarativeFlow7setFlowENS_4FlowE @ 87 NONAME - _ZN16QDeclarativeFlowC1EP16QDeclarativeItem @ 88 NONAME - _ZN16QDeclarativeFlowC2EP16QDeclarativeItem @ 89 NONAME - _ZN16QDeclarativeGrid10setColumnsEi @ 90 NONAME - _ZN16QDeclarativeGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 91 NONAME - _ZN16QDeclarativeGrid11qt_metacastEPKc @ 92 NONAME - _ZN16QDeclarativeGrid11rowsChangedEv @ 93 NONAME - _ZN16QDeclarativeGrid13doPositioningEv @ 94 NONAME ABSENT - _ZN16QDeclarativeGrid14columnsChangedEv @ 95 NONAME - _ZN16QDeclarativeGrid16staticMetaObjectE @ 96 NONAME DATA 16 - _ZN16QDeclarativeGrid19getStaticMetaObjectEv @ 97 NONAME - _ZN16QDeclarativeGrid7setRowsEi @ 98 NONAME - _ZN16QDeclarativeGridC1EP16QDeclarativeItem @ 99 NONAME - _ZN16QDeclarativeGridC2EP16QDeclarativeItem @ 100 NONAME - _ZN16QDeclarativeInfoC1EPK7QObject @ 101 NONAME ABSENT - _ZN16QDeclarativeInfoC2EPK7QObject @ 102 NONAME ABSENT - _ZN16QDeclarativeInfoD1Ev @ 103 NONAME - _ZN16QDeclarativeInfoD2Ev @ 104 NONAME - _ZN16QDeclarativeItem10classBeginEv @ 105 NONAME - _ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 106 NONAME - _ZN16QDeclarativeItem10resetWidthEv @ 107 NONAME - _ZN16QDeclarativeItem10sceneEventEP6QEvent @ 108 NONAME - _ZN16QDeclarativeItem11clipChangedEb @ 109 NONAME - _ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 110 NONAME - _ZN16QDeclarativeItem11qt_metacastEPKc @ 111 NONAME - _ZN16QDeclarativeItem11resetHeightEv @ 112 NONAME - _ZN16QDeclarativeItem11transitionsEv @ 113 NONAME ABSENT - _ZN16QDeclarativeItem12childrenRectEv @ 114 NONAME - _ZN16QDeclarativeItem12focusChangedEb @ 115 NONAME - _ZN16QDeclarativeItem12stateChangedERK7QString @ 116 NONAME - _ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 117 NONAME - _ZN16QDeclarativeItem13parentChangedEPS_ @ 118 NONAME - _ZN16QDeclarativeItem13setParentItemEPS_ @ 119 NONAME - _ZN16QDeclarativeItem13smoothChangedEb @ 120 NONAME - _ZN16QDeclarativeItem15childrenChangedEv @ 121 NONAME - _ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 122 NONAME - _ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 123 NONAME - _ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 124 NONAME - _ZN16QDeclarativeItem16setImplicitWidthEf @ 125 NONAME - _ZN16QDeclarativeItem16setKeepMouseGrabEb @ 126 NONAME - _ZN16QDeclarativeItem16staticMetaObjectE @ 127 NONAME DATA 16 - _ZN16QDeclarativeItem17componentCompleteEv @ 128 NONAME - _ZN16QDeclarativeItem17setBaselineOffsetEf @ 129 NONAME - _ZN16QDeclarativeItem17setImplicitHeightEf @ 130 NONAME - _ZN16QDeclarativeItem17wantsFocusChangedEb @ 131 NONAME - _ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 132 NONAME - _ZN16QDeclarativeItem19childrenRectChangedERK6QRectF @ 133 NONAME - _ZN16QDeclarativeItem19getStaticMetaObjectEv @ 134 NONAME - _ZN16QDeclarativeItem21baselineOffsetChangedEf @ 135 NONAME - _ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 136 NONAME - _ZN16QDeclarativeItem4dataEv @ 137 NONAME ABSENT - _ZN16QDeclarativeItem5eventEP6QEvent @ 138 NONAME - _ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 139 NONAME - _ZN16QDeclarativeItem6statesEv @ 140 NONAME ABSENT - _ZN16QDeclarativeItem7anchorsEv @ 141 NONAME ABSENT - _ZN16QDeclarativeItem7setClipEb @ 142 NONAME - _ZN16QDeclarativeItem7setSizeERK6QSizeF @ 143 NONAME - _ZN16QDeclarativeItem8setFocusEb @ 144 NONAME - _ZN16QDeclarativeItem8setStateERK7QString @ 145 NONAME ABSENT - _ZN16QDeclarativeItem8setWidthEf @ 146 NONAME - _ZN16QDeclarativeItem9resourcesEv @ 147 NONAME ABSENT - _ZN16QDeclarativeItem9setHeightEf @ 148 NONAME - _ZN16QDeclarativeItem9setSmoothEb @ 149 NONAME - _ZN16QDeclarativeItem9transformEv @ 150 NONAME - _ZN16QDeclarativeItemC1EPS_ @ 151 NONAME - _ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 152 NONAME - _ZN16QDeclarativeItemC2EPS_ @ 153 NONAME - _ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 154 NONAME - _ZN16QDeclarativeItemD0Ev @ 155 NONAME - _ZN16QDeclarativeItemD1Ev @ 156 NONAME - _ZN16QDeclarativeItemD2Ev @ 157 NONAME - _ZN16QDeclarativePath11interpolateEiRK7QStringf @ 158 NONAME - _ZN16QDeclarativePath11processPathEv @ 159 NONAME - _ZN16QDeclarativePath11qt_metacallEN11QMetaObject4CallEiPPv @ 160 NONAME - _ZN16QDeclarativePath11qt_metacastEPKc @ 161 NONAME - _ZN16QDeclarativePath12pathElementsEv @ 162 NONAME - _ZN16QDeclarativePath13startXChangedEv @ 163 NONAME - _ZN16QDeclarativePath13startYChangedEv @ 164 NONAME - _ZN16QDeclarativePath16staticMetaObjectE @ 165 NONAME DATA 16 - _ZN16QDeclarativePath17componentCompleteEv @ 166 NONAME - _ZN16QDeclarativePath19getStaticMetaObjectEv @ 167 NONAME - _ZN16QDeclarativePath7changedEv @ 168 NONAME - _ZN16QDeclarativePath8endpointERK7QString @ 169 NONAME - _ZN16QDeclarativePath9setStartXEf @ 170 NONAME - _ZN16QDeclarativePath9setStartYEf @ 171 NONAME - _ZN16QDeclarativePathC1EP7QObject @ 172 NONAME - _ZN16QDeclarativePathC2EP7QObject @ 173 NONAME - _ZN16QDeclarativePathD0Ev @ 174 NONAME - _ZN16QDeclarativePathD1Ev @ 175 NONAME - _ZN16QDeclarativePathD2Ev @ 176 NONAME - _ZN16QDeclarativeText11fontChangedERK5QFont @ 177 NONAME - _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 178 NONAME - _ZN16QDeclarativeText11qt_metacastEPKc @ 179 NONAME - _ZN16QDeclarativeText11textChangedERK7QString @ 180 NONAME - _ZN16QDeclarativeText11wrapChangedEb @ 181 NONAME ABSENT - _ZN16QDeclarativeText12colorChangedERK6QColor @ 182 NONAME - _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 183 NONAME - _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 184 NONAME - _ZN16QDeclarativeText13linkActivatedERK7QString @ 185 NONAME - _ZN16QDeclarativeText13setStyleColorERK6QColor @ 186 NONAME - _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 187 NONAME - _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 188 NONAME - _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 189 NONAME - _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 190 NONAME - _ZN16QDeclarativeText16staticMetaObjectE @ 191 NONAME DATA 16 - _ZN16QDeclarativeText17componentCompleteEv @ 192 NONAME - _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 193 NONAME - _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 194 NONAME - _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 195 NONAME - _ZN16QDeclarativeText19getStaticMetaObjectEv @ 196 NONAME - _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 197 NONAME - _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 198 NONAME - _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 199 NONAME - _ZN16QDeclarativeText7setFontERK5QFont @ 200 NONAME - _ZN16QDeclarativeText7setTextERK7QString @ 201 NONAME - _ZN16QDeclarativeText7setWrapEb @ 202 NONAME ABSENT - _ZN16QDeclarativeText8setColorERK6QColor @ 203 NONAME - _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 204 NONAME - _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 205 NONAME - _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 206 NONAME - _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 207 NONAME - _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 208 NONAME - _ZN16QDeclarativeTextD0Ev @ 209 NONAME - _ZN16QDeclarativeTextD1Ev @ 210 NONAME - _ZN16QDeclarativeTextD2Ev @ 211 NONAME - _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 212 NONAME - _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 213 NONAME - _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 214 NONAME - _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 215 NONAME - _ZN16QDeclarativeTypeD1Ev @ 216 NONAME - _ZN16QDeclarativeTypeD2Ev @ 217 NONAME - _ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 218 NONAME - _ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 219 NONAME - _ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 220 NONAME - _ZN16QDeclarativeView11qt_metacastEPKc @ 221 NONAME - _ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 222 NONAME - _ZN16QDeclarativeView11rootContextEv @ 223 NONAME - _ZN16QDeclarativeView11sizeChangedEv @ 224 NONAME ABSENT - _ZN16QDeclarativeView12sceneResizedE5QSize @ 225 NONAME - _ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 226 NONAME - _ZN16QDeclarativeView13setRootObjectEP7QObject @ 227 NONAME - _ZN16QDeclarativeView13statusChangedENS_6StatusE @ 228 NONAME - _ZN16QDeclarativeView15continueExecuteEv @ 229 NONAME - _ZN16QDeclarativeView16staticMetaObjectE @ 230 NONAME DATA 16 - _ZN16QDeclarativeView19getStaticMetaObjectEv @ 231 NONAME - _ZN16QDeclarativeView6engineEv @ 232 NONAME - _ZN16QDeclarativeView9setSourceERK4QUrl @ 233 NONAME - _ZN16QDeclarativeViewC1EP7QWidget @ 234 NONAME - _ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 235 NONAME - _ZN16QDeclarativeViewC2EP7QWidget @ 236 NONAME - _ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 237 NONAME - _ZN16QDeclarativeViewD0Ev @ 238 NONAME - _ZN16QDeclarativeViewD1Ev @ 239 NONAME - _ZN16QDeclarativeViewD2Ev @ 240 NONAME - _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 241 NONAME - _ZN16QMetaEnumBuilder9removeKeyEi @ 242 NONAME - _ZN16QMetaEnumBuilder9setIsFlagEb @ 243 NONAME - _ZN17QDeclarativeCurve11qt_metacallEN11QMetaObject4CallEiPPv @ 244 NONAME - _ZN17QDeclarativeCurve11qt_metacastEPKc @ 245 NONAME - _ZN17QDeclarativeCurve16staticMetaObjectE @ 246 NONAME DATA 16 - _ZN17QDeclarativeCurve19getStaticMetaObjectEv @ 247 NONAME - _ZN17QDeclarativeCurve4setXEf @ 248 NONAME - _ZN17QDeclarativeCurve4setYEf @ 249 NONAME - _ZN17QDeclarativeError14setDescriptionERK7QString @ 250 NONAME - _ZN17QDeclarativeError6setUrlERK4QUrl @ 251 NONAME - _ZN17QDeclarativeError7setLineEi @ 252 NONAME - _ZN17QDeclarativeError9setColumnEi @ 253 NONAME - _ZN17QDeclarativeErrorC1ERKS_ @ 254 NONAME - _ZN17QDeclarativeErrorC1Ev @ 255 NONAME - _ZN17QDeclarativeErrorC2ERKS_ @ 256 NONAME - _ZN17QDeclarativeErrorC2Ev @ 257 NONAME - _ZN17QDeclarativeErrorD1Ev @ 258 NONAME - _ZN17QDeclarativeErrorD2Ev @ 259 NONAME - _ZN17QDeclarativeErroraSERKS_ @ 260 NONAME - _ZN17QDeclarativeImage11qt_metacallEN11QMetaObject4CallEiPPv @ 261 NONAME - _ZN17QDeclarativeImage11qt_metacastEPKc @ 262 NONAME - _ZN17QDeclarativeImage11setFillModeENS_8FillModeE @ 263 NONAME - _ZN17QDeclarativeImage12pixmapChangeEv @ 264 NONAME - _ZN17QDeclarativeImage13pixmapChangedEv @ 265 NONAME - _ZN17QDeclarativeImage15fillModeChangedEv @ 266 NONAME - _ZN17QDeclarativeImage15geometryChangedERK6QRectFS2_ @ 267 NONAME - _ZN17QDeclarativeImage16staticMetaObjectE @ 268 NONAME DATA 16 - _ZN17QDeclarativeImage19getStaticMetaObjectEv @ 269 NONAME - _ZN17QDeclarativeImage21updatePaintedGeometryEv @ 270 NONAME - _ZN17QDeclarativeImage22paintedGeometryChangedEv @ 271 NONAME - _ZN17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 272 NONAME - _ZN17QDeclarativeImage9setPixmapERK7QPixmap @ 273 NONAME - _ZN17QDeclarativeImageC1EP16QDeclarativeItem @ 274 NONAME - _ZN17QDeclarativeImageC1ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 275 NONAME - _ZN17QDeclarativeImageC2EP16QDeclarativeItem @ 276 NONAME - _ZN17QDeclarativeImageC2ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 277 NONAME - _ZN17QDeclarativeImageD0Ev @ 278 NONAME - _ZN17QDeclarativeImageD1Ev @ 279 NONAME - _ZN17QDeclarativeImageD2Ev @ 280 NONAME - _ZN17QDeclarativeState10setExtendsERK7QString @ 281 NONAME - _ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 282 NONAME - _ZN17QDeclarativeState11qt_metacastEPKc @ 283 NONAME - _ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 284 NONAME - _ZN17QDeclarativeState16staticMetaObjectE @ 285 NONAME DATA 16 - _ZN17QDeclarativeState19getStaticMetaObjectEv @ 286 NONAME - _ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 287 NONAME - _ZN17QDeclarativeState6cancelEv @ 288 NONAME - _ZN17QDeclarativeState7changesEv @ 289 NONAME - _ZN17QDeclarativeState7setNameERK7QString @ 290 NONAME - _ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 291 NONAME - _ZN17QDeclarativeState9completedEv @ 292 NONAME - _ZN17QDeclarativeStateC1EP7QObject @ 293 NONAME - _ZN17QDeclarativeStateC2EP7QObject @ 294 NONAME - _ZN17QDeclarativeStateD0Ev @ 295 NONAME - _ZN17QDeclarativeStateD1Ev @ 296 NONAME - _ZN17QDeclarativeStateD2Ev @ 297 NONAME - _ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 298 NONAME - _ZN17QDeclarativeTimer10classBeginEv @ 299 NONAME - _ZN17QDeclarativeTimer10setRunningEb @ 300 NONAME - _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 301 NONAME - _ZN17QDeclarativeTimer11qt_metacastEPKc @ 302 NONAME - _ZN17QDeclarativeTimer11setIntervalEi @ 303 NONAME - _ZN17QDeclarativeTimer12setRepeatingEb @ 304 NONAME - _ZN17QDeclarativeTimer13repeatChangedEv @ 305 NONAME - _ZN17QDeclarativeTimer14runningChangedEv @ 306 NONAME - _ZN17QDeclarativeTimer15intervalChangedEv @ 307 NONAME - _ZN17QDeclarativeTimer16staticMetaObjectE @ 308 NONAME DATA 16 - _ZN17QDeclarativeTimer17componentCompleteEv @ 309 NONAME - _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 310 NONAME - _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 311 NONAME - _ZN17QDeclarativeTimer23triggeredOnStartChangedEv @ 312 NONAME - _ZN17QDeclarativeTimer4stopEv @ 313 NONAME - _ZN17QDeclarativeTimer5startEv @ 314 NONAME - _ZN17QDeclarativeTimer6tickedEv @ 315 NONAME - _ZN17QDeclarativeTimer6updateEv @ 316 NONAME - _ZN17QDeclarativeTimer7restartEv @ 317 NONAME - _ZN17QDeclarativeTimer8finishedEv @ 318 NONAME - _ZN17QDeclarativeTimer9triggeredEv @ 319 NONAME - _ZN17QDeclarativeTimerC1EP7QObject @ 320 NONAME - _ZN17QDeclarativeTimerC2EP7QObject @ 321 NONAME - _ZN18QDeclarativeAction17deleteFromBindingEv @ 322 NONAME - _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 323 NONAME - _ZN18QDeclarativeActionC1Ev @ 324 NONAME - _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 325 NONAME - _ZN18QDeclarativeActionC2Ev @ 326 NONAME - _ZN18QDeclarativeColumn11qt_metacallEN11QMetaObject4CallEiPPv @ 327 NONAME - _ZN18QDeclarativeColumn11qt_metacastEPKc @ 328 NONAME - _ZN18QDeclarativeColumn13doPositioningEv @ 329 NONAME ABSENT - _ZN18QDeclarativeColumn16staticMetaObjectE @ 330 NONAME DATA 16 - _ZN18QDeclarativeColumn19getStaticMetaObjectEv @ 331 NONAME - _ZN18QDeclarativeColumnC1EP16QDeclarativeItem @ 332 NONAME - _ZN18QDeclarativeColumnC2EP16QDeclarativeItem @ 333 NONAME - _ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 334 NONAME - _ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 335 NONAME - _ZN18QDeclarativeEngine11qt_metacastEPKc @ 336 NONAME - _ZN18QDeclarativeEngine11rootContextEv @ 337 NONAME - _ZN18QDeclarativeEngine13addImportPathERK7QString @ 338 NONAME - _ZN18QDeclarativeEngine15importExtensionERK7QStringS2_ @ 339 NONAME ABSENT - _ZN18QDeclarativeEngine15objectOwnershipEP7QObject @ 340 NONAME - _ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 341 NONAME - _ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 342 NONAME - _ZN18QDeclarativeEngine16staticMetaObjectE @ 343 NONAME DATA 16 - _ZN18QDeclarativeEngine17setImportPathListERK11QStringList @ 344 NONAME - _ZN18QDeclarativeEngine18setObjectOwnershipEP7QObjectNS_15ObjectOwnershipE @ 345 NONAME - _ZN18QDeclarativeEngine19clearComponentCacheEv @ 346 NONAME - _ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 347 NONAME - _ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 348 NONAME - _ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 349 NONAME - _ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 350 NONAME - _ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 351 NONAME - _ZN18QDeclarativeEngine4quitEv @ 352 NONAME - _ZN18QDeclarativeEngineC1EP7QObject @ 353 NONAME - _ZN18QDeclarativeEngineC2EP7QObject @ 354 NONAME - _ZN18QDeclarativeEngineD0Ev @ 355 NONAME - _ZN18QDeclarativeEngineD1Ev @ 356 NONAME - _ZN18QDeclarativeEngineD2Ev @ 357 NONAME - _ZN18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 358 NONAME - _ZN18QDeclarativeLoader11eventFilterEP7QObjectP6QEvent @ 359 NONAME - _ZN18QDeclarativeLoader11itemChangedEv @ 360 NONAME - _ZN18QDeclarativeLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME - _ZN18QDeclarativeLoader11qt_metacastEPKc @ 362 NONAME - _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 363 NONAME ABSENT - _ZN18QDeclarativeLoader13sourceChangedEv @ 364 NONAME - _ZN18QDeclarativeLoader13statusChangedEv @ 365 NONAME - _ZN18QDeclarativeLoader15geometryChangedERK6QRectFS2_ @ 366 NONAME - _ZN18QDeclarativeLoader15progressChangedEv @ 367 NONAME - _ZN18QDeclarativeLoader16staticMetaObjectE @ 368 NONAME DATA 16 - _ZN18QDeclarativeLoader17resizeModeChangedEv @ 369 NONAME ABSENT - _ZN18QDeclarativeLoader18setSourceComponentEP21QDeclarativeComponent @ 370 NONAME - _ZN18QDeclarativeLoader19getStaticMetaObjectEv @ 371 NONAME - _ZN18QDeclarativeLoader9setSourceERK4QUrl @ 372 NONAME - _ZN18QDeclarativeLoaderC1EP16QDeclarativeItem @ 373 NONAME - _ZN18QDeclarativeLoaderC2EP16QDeclarativeItem @ 374 NONAME - _ZN18QDeclarativeLoaderD0Ev @ 375 NONAME - _ZN18QDeclarativeLoaderD1Ev @ 376 NONAME - _ZN18QDeclarativeLoaderD2Ev @ 377 NONAME - _ZN18QMetaMethodBuilder13setAttributesEi @ 378 NONAME - _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 379 NONAME - _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 380 NONAME - _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 381 NONAME - _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 382 NONAME - _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 383 NONAME - _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 384 NONAME - _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 385 NONAME - _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 386 NONAME - _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 387 NONAME - _ZN18QMetaObjectBuilder12removeMethodEi @ 388 NONAME - _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 389 NONAME - _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 390 NONAME - _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 391 NONAME - _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 392 NONAME - _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 393 NONAME - _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 394 NONAME - _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 395 NONAME - _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 396 NONAME - _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 397 NONAME - _ZN18QMetaObjectBuilder14removePropertyEi @ 398 NONAME - _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 399 NONAME - _ZN18QMetaObjectBuilder15removeClassInfoEi @ 400 NONAME - _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 401 NONAME - _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 402 NONAME - _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 403 NONAME - _ZN18QMetaObjectBuilder17removeConstructorEi @ 404 NONAME - _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 405 NONAME - _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 406 NONAME - _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 407 NONAME - _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 408 NONAME - _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 409 NONAME - _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 410 NONAME - _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 411 NONAME - _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 412 NONAME - _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 413 NONAME - _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 414 NONAME - _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 415 NONAME - _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 416 NONAME - _ZN18QMetaObjectBuilderC1Ev @ 417 NONAME - _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 418 NONAME - _ZN18QMetaObjectBuilderC2Ev @ 419 NONAME - _ZN18QMetaObjectBuilderD0Ev @ 420 NONAME - _ZN18QMetaObjectBuilderD1Ev @ 421 NONAME - _ZN18QMetaObjectBuilderD2Ev @ 422 NONAME - _ZN19QDeclarativeAnchors10classBeginEv @ 423 NONAME - _ZN19QDeclarativeAnchors10resetRightEv @ 424 NONAME - _ZN19QDeclarativeAnchors10setMarginsEf @ 425 NONAME - _ZN19QDeclarativeAnchors10topChangedEv @ 426 NONAME - _ZN19QDeclarativeAnchors11fillChangedEv @ 427 NONAME - _ZN19QDeclarativeAnchors11leftChangedEv @ 428 NONAME - _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 429 NONAME - _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 430 NONAME - _ZN19QDeclarativeAnchors11resetBottomEv @ 431 NONAME - _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 432 NONAME - _ZN19QDeclarativeAnchors11setCenterInEP16QDeclarativeItem @ 433 NONAME ABSENT - _ZN19QDeclarativeAnchors12rightChangedEv @ 434 NONAME - _ZN19QDeclarativeAnchors12setTopMarginEf @ 435 NONAME - _ZN19QDeclarativeAnchors13bottomChangedEv @ 436 NONAME - _ZN19QDeclarativeAnchors13resetBaselineEv @ 437 NONAME - _ZN19QDeclarativeAnchors13resetCenterInEv @ 438 NONAME - _ZN19QDeclarativeAnchors13setLeftMarginEf @ 439 NONAME - _ZN19QDeclarativeAnchors14marginsChangedEv @ 440 NONAME - _ZN19QDeclarativeAnchors14setRightMarginEf @ 441 NONAME - _ZN19QDeclarativeAnchors15baselineChangedEv @ 442 NONAME - _ZN19QDeclarativeAnchors15centerInChangedEv @ 443 NONAME - _ZN19QDeclarativeAnchors15setBottomMarginEf @ 444 NONAME - _ZN19QDeclarativeAnchors16staticMetaObjectE @ 445 NONAME DATA 16 - _ZN19QDeclarativeAnchors16topMarginChangedEv @ 446 NONAME - _ZN19QDeclarativeAnchors17componentCompleteEv @ 447 NONAME - _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 448 NONAME - _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 449 NONAME - _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 450 NONAME - _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 451 NONAME - _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 452 NONAME - _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 453 NONAME - _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 454 NONAME - _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 455 NONAME - _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 456 NONAME - _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 457 NONAME - _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 458 NONAME - _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 459 NONAME - _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 460 NONAME - _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 461 NONAME - _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 462 NONAME - _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 463 NONAME - _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 464 NONAME - _ZN19QDeclarativeAnchors7setFillEP16QDeclarativeItem @ 465 NONAME ABSENT - _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 466 NONAME - _ZN19QDeclarativeAnchors8resetTopEv @ 467 NONAME - _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 468 NONAME - _ZN19QDeclarativeAnchors9resetFillEv @ 469 NONAME - _ZN19QDeclarativeAnchors9resetLeftEv @ 470 NONAME - _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 471 NONAME - _ZN19QDeclarativeAnchorsC1EP16QDeclarativeItemP7QObject @ 472 NONAME ABSENT - _ZN19QDeclarativeAnchorsC1EP7QObject @ 473 NONAME - _ZN19QDeclarativeAnchorsC2EP16QDeclarativeItemP7QObject @ 474 NONAME ABSENT - _ZN19QDeclarativeAnchorsC2EP7QObject @ 475 NONAME - _ZN19QDeclarativeAnchorsD0Ev @ 476 NONAME - _ZN19QDeclarativeAnchorsD1Ev @ 477 NONAME - _ZN19QDeclarativeAnchorsD2Ev @ 478 NONAME - _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 479 NONAME - _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 480 NONAME - _ZN19QDeclarativeBinding11qt_metacastEPKc @ 481 NONAME - _ZN19QDeclarativeBinding13propertyIndexEv @ 482 NONAME - _ZN19QDeclarativeBinding16staticMetaObjectE @ 483 NONAME DATA 16 - _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 484 NONAME - _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 485 NONAME - _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 486 NONAME - _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 487 NONAME - _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 488 NONAME - _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 489 NONAME - _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 490 NONAME - _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 491 NONAME - _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 492 NONAME - _ZN19QDeclarativeBindingD0Ev @ 493 NONAME - _ZN19QDeclarativeBindingD1Ev @ 494 NONAME - _ZN19QDeclarativeBindingD2Ev @ 495 NONAME - _ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 496 NONAME - _ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 497 NONAME - _ZN19QDeclarativeContext11qt_metacastEPKc @ 498 NONAME - _ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 499 NONAME - _ZN19QDeclarativeContext16setContextObjectEP7QObject @ 500 NONAME - _ZN19QDeclarativeContext16staticMetaObjectE @ 501 NONAME DATA 16 - _ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 502 NONAME - _ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 503 NONAME - _ZN19QDeclarativeContext19getStaticMetaObjectEv @ 504 NONAME - _ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 505 NONAME - _ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 506 NONAME - _ZN19QDeclarativeContextC1EP23QDeclarativeContextData @ 507 NONAME - _ZN19QDeclarativeContextC1EPS_P7QObject @ 508 NONAME - _ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 509 NONAME - _ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 510 NONAME - _ZN19QDeclarativeContextC2EP23QDeclarativeContextData @ 511 NONAME - _ZN19QDeclarativeContextC2EPS_P7QObject @ 512 NONAME - _ZN19QDeclarativeContextD0Ev @ 513 NONAME - _ZN19QDeclarativeContextD1Ev @ 514 NONAME - _ZN19QDeclarativeContextD2Ev @ 515 NONAME - _ZN19QDeclarativeDomListC1ERKS_ @ 516 NONAME - _ZN19QDeclarativeDomListC1Ev @ 517 NONAME - _ZN19QDeclarativeDomListC2ERKS_ @ 518 NONAME - _ZN19QDeclarativeDomListC2Ev @ 519 NONAME - _ZN19QDeclarativeDomListD1Ev @ 520 NONAME - _ZN19QDeclarativeDomListD2Ev @ 521 NONAME - _ZN19QDeclarativeDomListaSERKS_ @ 522 NONAME - _ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 523 NONAME - _ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 524 NONAME - _ZN19QListModelInterface10itemsMovedEiii @ 525 NONAME - _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 526 NONAME - _ZN19QListModelInterface11qt_metacastEPKc @ 527 NONAME - _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 528 NONAME - _ZN19QListModelInterface12itemsRemovedEii @ 529 NONAME - _ZN19QListModelInterface13itemsInsertedEii @ 530 NONAME - _ZN19QListModelInterface16staticMetaObjectE @ 531 NONAME DATA 16 - _ZN19QListModelInterface19getStaticMetaObjectEv @ 532 NONAME - _ZN20QDeclarativeBehavior10setEnabledEb @ 533 NONAME - _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 534 NONAME - _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 535 NONAME - _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 536 NONAME - _ZN20QDeclarativeBehavior14enabledChangedEv @ 537 NONAME - _ZN20QDeclarativeBehavior16staticMetaObjectE @ 538 NONAME DATA 16 - _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 539 NONAME - _ZN20QDeclarativeBehavior5writeERK8QVariant @ 540 NONAME - _ZN20QDeclarativeBehavior9animationEv @ 541 NONAME - _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 542 NONAME - _ZN20QDeclarativeBehaviorC1EP7QObject @ 543 NONAME - _ZN20QDeclarativeBehaviorC2EP7QObject @ 544 NONAME - _ZN20QDeclarativeBehaviorD0Ev @ 545 NONAME - _ZN20QDeclarativeBehaviorD1Ev @ 546 NONAME - _ZN20QDeclarativeBehaviorD2Ev @ 547 NONAME - _ZN20QDeclarativeCompiler11buildObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 548 NONAME - _ZN20QDeclarativeCompiler11buildScriptEPN18QDeclarativeParser6ObjectES2_ @ 549 NONAME ABSENT - _ZN20QDeclarativeCompiler11buildSignalEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 550 NONAME - _ZN20QDeclarativeCompiler11compileTreeEPN18QDeclarativeParser6ObjectE @ 551 NONAME - _ZN20QDeclarativeCompiler12buildBindingEPN18QDeclarativeParser5ValueEPNS0_8PropertyERKNS_14BindingContextE @ 552 NONAME - _ZN20QDeclarativeCompiler12checkValidIdEPN18QDeclarativeParser5ValueERK7QString @ 553 NONAME - _ZN20QDeclarativeCompiler12compileAliasER18QMetaObjectBuilderR10QByteArrayPN18QDeclarativeParser6ObjectERKNS5_15DynamicPropertyE @ 554 NONAME - _ZN20QDeclarativeCompiler12genComponentEPN18QDeclarativeParser6ObjectE @ 555 NONAME - _ZN20QDeclarativeCompiler13buildPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 556 NONAME - _ZN20QDeclarativeCompiler13genObjectBodyEPN18QDeclarativeParser6ObjectE @ 557 NONAME - _ZN20QDeclarativeCompiler14buildComponentEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 558 NONAME - _ZN20QDeclarativeCompiler14buildSubObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 559 NONAME - _ZN20QDeclarativeCompiler14componentStateEPN18QDeclarativeParser6ObjectE @ 560 NONAME - _ZN20QDeclarativeCompiler15buildIdPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 561 NONAME - _ZN20QDeclarativeCompiler15genContextCacheEv @ 562 NONAME - _ZN20QDeclarativeCompiler15genListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 563 NONAME - _ZN20QDeclarativeCompiler15genPropertyDataEPN18QDeclarativeParser8PropertyE @ 564 NONAME - _ZN20QDeclarativeCompiler16buildDynamicMetaEPN18QDeclarativeParser6ObjectENS_15DynamicMetaModeE @ 565 NONAME - _ZN20QDeclarativeCompiler16checkDynamicMetaEPN18QDeclarativeParser6ObjectE @ 566 NONAME - _ZN20QDeclarativeCompiler16componentTypeRefEv @ 567 NONAME - _ZN20QDeclarativeCompiler16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 568 NONAME ABSENT - _ZN20QDeclarativeCompiler16genValuePropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 569 NONAME - _ZN20QDeclarativeCompiler16genValueTypeDataEPN18QDeclarativeParser8PropertyES2_ @ 570 NONAME - _ZN20QDeclarativeCompiler17buildListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 571 NONAME - _ZN20QDeclarativeCompiler17doesPropertyExistEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 572 NONAME - _ZN20QDeclarativeCompiler18deferredPropertiesEPN18QDeclarativeParser6ObjectE @ 573 NONAME - _ZN20QDeclarativeCompiler18saveComponentStateEv @ 574 NONAME - _ZN20QDeclarativeCompiler19addBindingReferenceERKNS_16BindingReferenceE @ 575 NONAME - _ZN20QDeclarativeCompiler20buildGroupedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 576 NONAME - _ZN20QDeclarativeCompiler20genBindingAssignmentEPN18QDeclarativeParser5ValueEPNS0_8PropertyEPNS0_6ObjectES4_ @ 577 NONAME - _ZN20QDeclarativeCompiler20genLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 578 NONAME - _ZN20QDeclarativeCompiler20isSignalPropertyNameERK10QByteArray @ 579 NONAME - _ZN20QDeclarativeCompiler21buildAttachedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 580 NONAME - _ZN20QDeclarativeCompiler21genPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES2_ @ 581 NONAME - _ZN20QDeclarativeCompiler21testLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 582 NONAME - _ZN20QDeclarativeCompiler22buildComponentFromRootEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 583 NONAME - _ZN20QDeclarativeCompiler22buildValueTypePropertyEP7QObjectPN18QDeclarativeParser6ObjectES4_RKNS_14BindingContextE @ 584 NONAME - _ZN20QDeclarativeCompiler22completeComponentBuildEv @ 585 NONAME - _ZN20QDeclarativeCompiler22isAttachedPropertyNameERK10QByteArray @ 586 NONAME - _ZN20QDeclarativeCompiler23buildPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 587 NONAME - _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 588 NONAME ABSENT - _ZN20QDeclarativeCompiler25buildPropertyOnAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES4_PNS0_5ValueERKNS_14BindingContextE @ 589 NONAME - _ZN20QDeclarativeCompiler25buildScriptStringPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 590 NONAME - _ZN20QDeclarativeCompiler26mergeDynamicMetaPropertiesEPN18QDeclarativeParser6ObjectE @ 591 NONAME - _ZN20QDeclarativeCompiler27testQualifiedEnumAssignmentERK13QMetaPropertyPN18QDeclarativeParser6ObjectEPNS3_5ValueEPb @ 592 NONAME - _ZN20QDeclarativeCompiler29buildPropertyObjectAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 593 NONAME - _ZN20QDeclarativeCompiler30buildPropertyLiteralAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 594 NONAME - _ZN20QDeclarativeCompiler5addIdERK7QStringPN18QDeclarativeParser6ObjectE @ 595 NONAME - _ZN20QDeclarativeCompiler5resetEP24QDeclarativeCompiledData @ 596 NONAME - _ZN20QDeclarativeCompiler7compileEP18QDeclarativeEngineP29QDeclarativeCompositeTypeDataP24QDeclarativeCompiledData @ 597 NONAME - _ZN20QDeclarativeCompiler9canCoerceEiPN18QDeclarativeParser6ObjectE @ 598 NONAME - _ZN20QDeclarativeCompiler9canCoerceEii @ 599 NONAME ABSENT - _ZN20QDeclarativeCompiler9dumpStatsEv @ 600 NONAME - _ZN20QDeclarativeCompiler9genObjectEPN18QDeclarativeParser6ObjectE @ 601 NONAME - _ZN20QDeclarativeCompiler9toQmlTypeEPN18QDeclarativeParser6ObjectE @ 602 NONAME - _ZN20QDeclarativeCompilerC1Ev @ 603 NONAME - _ZN20QDeclarativeCompilerC2Ev @ 604 NONAME - _ZN20QDeclarativeDomValueC1ERKS_ @ 605 NONAME - _ZN20QDeclarativeDomValueC1Ev @ 606 NONAME - _ZN20QDeclarativeDomValueC2ERKS_ @ 607 NONAME - _ZN20QDeclarativeDomValueC2Ev @ 608 NONAME - _ZN20QDeclarativeDomValueD1Ev @ 609 NONAME - _ZN20QDeclarativeDomValueD2Ev @ 610 NONAME - _ZN20QDeclarativeDomValueaSERKS_ @ 611 NONAME - _ZN20QDeclarativeFlipable11qt_metacallEN11QMetaObject4CallEiPPv @ 612 NONAME - _ZN20QDeclarativeFlipable11qt_metacastEPKc @ 613 NONAME - _ZN20QDeclarativeFlipable11sideChangedEv @ 614 NONAME - _ZN20QDeclarativeFlipable16staticMetaObjectE @ 615 NONAME DATA 16 - _ZN20QDeclarativeFlipable19getStaticMetaObjectEv @ 616 NONAME - _ZN20QDeclarativeFlipable4backEv @ 617 NONAME - _ZN20QDeclarativeFlipable5frontEv @ 618 NONAME - _ZN20QDeclarativeFlipable7setBackEP15QGraphicsObject @ 619 NONAME - _ZN20QDeclarativeFlipable8setFrontEP15QGraphicsObject @ 620 NONAME - _ZN20QDeclarativeFlipableC1EP16QDeclarativeItem @ 621 NONAME - _ZN20QDeclarativeFlipableC2EP16QDeclarativeItem @ 622 NONAME - _ZN20QDeclarativeFlipableD0Ev @ 623 NONAME - _ZN20QDeclarativeFlipableD1Ev @ 624 NONAME - _ZN20QDeclarativeFlipableD2Ev @ 625 NONAME - _ZN20QDeclarativeGradient11qt_metacallEN11QMetaObject4CallEiPPv @ 626 NONAME - _ZN20QDeclarativeGradient11qt_metacastEPKc @ 627 NONAME - _ZN20QDeclarativeGradient16staticMetaObjectE @ 628 NONAME DATA 16 - _ZN20QDeclarativeGradient19getStaticMetaObjectEv @ 629 NONAME - _ZN20QDeclarativeGradient7updatedEv @ 630 NONAME - _ZN20QDeclarativeGradient8doUpdateEv @ 631 NONAME - _ZN20QDeclarativeGridView10itemsMovedEiii @ 632 NONAME - _ZN20QDeclarativeGridView10modelResetEv @ 633 NONAME - _ZN20QDeclarativeGridView11createdItemEiP16QDeclarativeItem @ 634 NONAME - _ZN20QDeclarativeGridView11currentItemEv @ 635 NONAME - _ZN20QDeclarativeGridView11flowChangedEv @ 636 NONAME - _ZN20QDeclarativeGridView11qt_metacallEN11QMetaObject4CallEiPPv @ 637 NONAME - _ZN20QDeclarativeGridView11qt_metacastEPKc @ 638 NONAME - _ZN20QDeclarativeGridView11setDelegateEP21QDeclarativeComponent @ 639 NONAME - _ZN20QDeclarativeGridView11setSnapModeENS_8SnapModeE @ 640 NONAME - _ZN20QDeclarativeGridView12countChangedEv @ 641 NONAME - _ZN20QDeclarativeGridView12itemsRemovedEii @ 642 NONAME - _ZN20QDeclarativeGridView12modelChangedEv @ 643 NONAME - _ZN20QDeclarativeGridView12setCellWidthEi @ 644 NONAME - _ZN20QDeclarativeGridView12setHighlightEP21QDeclarativeComponent @ 645 NONAME - _ZN20QDeclarativeGridView13highlightItemEv @ 646 NONAME - _ZN20QDeclarativeGridView13itemsInsertedEii @ 647 NONAME - _ZN20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 648 NONAME - _ZN20QDeclarativeGridView13setCellHeightEi @ 649 NONAME - _ZN20QDeclarativeGridView13viewportMovedEv @ 650 NONAME - _ZN20QDeclarativeGridView14destroyRemovedEv @ 651 NONAME - _ZN20QDeclarativeGridView14destroyingItemEP16QDeclarativeItem @ 652 NONAME - _ZN20QDeclarativeGridView14setCacheBufferEi @ 653 NONAME - _ZN20QDeclarativeGridView14setWrapEnabledEb @ 654 NONAME - _ZN20QDeclarativeGridView15delegateChangedEv @ 655 NONAME - _ZN20QDeclarativeGridView15setCurrentIndexEi @ 656 NONAME - _ZN20QDeclarativeGridView15snapModeChangedEv @ 657 NONAME - _ZN20QDeclarativeGridView16cellWidthChangedEv @ 658 NONAME - _ZN20QDeclarativeGridView16highlightChangedEv @ 659 NONAME - _ZN20QDeclarativeGridView16staticMetaObjectE @ 660 NONAME DATA 16 - _ZN20QDeclarativeGridView17cellHeightChangedEv @ 661 NONAME - _ZN20QDeclarativeGridView17componentCompleteEv @ 662 NONAME - _ZN20QDeclarativeGridView18cacheBufferChangedEv @ 663 NONAME - _ZN20QDeclarativeGridView18moveCurrentIndexUpEv @ 664 NONAME - _ZN20QDeclarativeGridView19currentIndexChangedEv @ 665 NONAME - _ZN20QDeclarativeGridView19getStaticMetaObjectEv @ 666 NONAME - _ZN20QDeclarativeGridView19positionViewAtIndexEii @ 667 NONAME - _ZN20QDeclarativeGridView20highlightItemChangedEv @ 668 NONAME - _ZN20QDeclarativeGridView20moveCurrentIndexDownEv @ 669 NONAME - _ZN20QDeclarativeGridView20moveCurrentIndexLeftEv @ 670 NONAME - _ZN20QDeclarativeGridView21moveCurrentIndexRightEv @ 671 NONAME - _ZN20QDeclarativeGridView21qmlAttachedPropertiesEP7QObject @ 672 NONAME - _ZN20QDeclarativeGridView21setHighlightRangeModeENS_18HighlightRangeModeE @ 673 NONAME - _ZN20QDeclarativeGridView22trackedPositionChangedEv @ 674 NONAME - _ZN20QDeclarativeGridView24setPreferredHighlightEndEf @ 675 NONAME - _ZN20QDeclarativeGridView25highlightRangeModeChangedEv @ 676 NONAME - _ZN20QDeclarativeGridView25keyNavigationWrapsChangedEv @ 677 NONAME - _ZN20QDeclarativeGridView26setPreferredHighlightBeginEf @ 678 NONAME - _ZN20QDeclarativeGridView28preferredHighlightEndChangedEv @ 679 NONAME - _ZN20QDeclarativeGridView30preferredHighlightBeginChangedEv @ 680 NONAME - _ZN20QDeclarativeGridView30setHighlightFollowsCurrentItemEb @ 681 NONAME - _ZN20QDeclarativeGridView5eventEP6QEvent @ 682 NONAME - _ZN20QDeclarativeGridView6refillEv @ 683 NONAME - _ZN20QDeclarativeGridView7setFlowENS_4FlowE @ 684 NONAME - _ZN20QDeclarativeGridView8setModelERK8QVariant @ 685 NONAME - _ZN20QDeclarativeGridViewC1EP16QDeclarativeItem @ 686 NONAME - _ZN20QDeclarativeGridViewC2EP16QDeclarativeItem @ 687 NONAME - _ZN20QDeclarativeGridViewD0Ev @ 688 NONAME - _ZN20QDeclarativeGridViewD1Ev @ 689 NONAME - _ZN20QDeclarativeGridViewD2Ev @ 690 NONAME - _ZN20QDeclarativeListView10itemsMovedEiii @ 691 NONAME - _ZN20QDeclarativeListView10modelResetEv @ 692 NONAME - _ZN20QDeclarativeListView10setSpacingEf @ 693 NONAME - _ZN20QDeclarativeListView11animStoppedEv @ 694 NONAME - _ZN20QDeclarativeListView11createdItemEiP16QDeclarativeItem @ 695 NONAME - _ZN20QDeclarativeListView11currentItemEv @ 696 NONAME - _ZN20QDeclarativeListView11qt_metacallEN11QMetaObject4CallEiPPv @ 697 NONAME - _ZN20QDeclarativeListView11qt_metacastEPKc @ 698 NONAME - _ZN20QDeclarativeListView11setDelegateEP21QDeclarativeComponent @ 699 NONAME - _ZN20QDeclarativeListView11setSnapModeENS_8SnapModeE @ 700 NONAME - _ZN20QDeclarativeListView12countChangedEv @ 701 NONAME - _ZN20QDeclarativeListView12itemsRemovedEii @ 702 NONAME - _ZN20QDeclarativeListView12modelChangedEv @ 703 NONAME - _ZN20QDeclarativeListView12setHighlightEP21QDeclarativeComponent @ 704 NONAME - _ZN20QDeclarativeListView13footerChangedEv @ 705 NONAME - _ZN20QDeclarativeListView13headerChangedEv @ 706 NONAME - _ZN20QDeclarativeListView13highlightItemEv @ 707 NONAME - _ZN20QDeclarativeListView13itemsInsertedEii @ 708 NONAME - _ZN20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 709 NONAME - _ZN20QDeclarativeListView13viewportMovedEv @ 710 NONAME - _ZN20QDeclarativeListView14destroyRemovedEv @ 711 NONAME - _ZN20QDeclarativeListView14destroyingItemEP16QDeclarativeItem @ 712 NONAME - _ZN20QDeclarativeListView14setCacheBufferEi @ 713 NONAME - _ZN20QDeclarativeListView14setOrientationENS_11OrientationE @ 714 NONAME - _ZN20QDeclarativeListView14setWrapEnabledEb @ 715 NONAME - _ZN20QDeclarativeListView14spacingChangedEv @ 716 NONAME - _ZN20QDeclarativeListView15delegateChangedEv @ 717 NONAME - _ZN20QDeclarativeListView15sectionCriteriaEv @ 718 NONAME - _ZN20QDeclarativeListView15setCurrentIndexEi @ 719 NONAME - _ZN20QDeclarativeListView15snapModeChangedEv @ 720 NONAME - _ZN20QDeclarativeListView16highlightChangedEv @ 721 NONAME - _ZN20QDeclarativeListView16staticMetaObjectE @ 722 NONAME DATA 16 - _ZN20QDeclarativeListView17componentCompleteEv @ 723 NONAME - _ZN20QDeclarativeListView18cacheBufferChangedEv @ 724 NONAME - _ZN20QDeclarativeListView18orientationChangedEv @ 725 NONAME - _ZN20QDeclarativeListView19currentIndexChangedEv @ 726 NONAME - _ZN20QDeclarativeListView19getStaticMetaObjectEv @ 727 NONAME - _ZN20QDeclarativeListView19positionViewAtIndexEii @ 728 NONAME - _ZN20QDeclarativeListView20highlightItemChangedEv @ 729 NONAME - _ZN20QDeclarativeListView21currentSectionChangedEv @ 730 NONAME - _ZN20QDeclarativeListView21decrementCurrentIndexEv @ 731 NONAME - _ZN20QDeclarativeListView21incrementCurrentIndexEv @ 732 NONAME - _ZN20QDeclarativeListView21qmlAttachedPropertiesEP7QObject @ 733 NONAME - _ZN20QDeclarativeListView21setHighlightMoveSpeedEf @ 734 NONAME - _ZN20QDeclarativeListView21setHighlightRangeModeENS_18HighlightRangeModeE @ 735 NONAME - _ZN20QDeclarativeListView22trackedPositionChangedEv @ 736 NONAME - _ZN20QDeclarativeListView23setHighlightResizeSpeedEf @ 737 NONAME - _ZN20QDeclarativeListView24setPreferredHighlightEndEf @ 738 NONAME - _ZN20QDeclarativeListView25highlightMoveSpeedChangedEv @ 739 NONAME - _ZN20QDeclarativeListView25highlightRangeModeChangedEv @ 740 NONAME - _ZN20QDeclarativeListView25keyNavigationWrapsChangedEv @ 741 NONAME - _ZN20QDeclarativeListView26setPreferredHighlightBeginEf @ 742 NONAME - _ZN20QDeclarativeListView27highlightResizeSpeedChangedEv @ 743 NONAME - _ZN20QDeclarativeListView28preferredHighlightEndChangedEv @ 744 NONAME - _ZN20QDeclarativeListView30preferredHighlightBeginChangedEv @ 745 NONAME - _ZN20QDeclarativeListView30setHighlightFollowsCurrentItemEb @ 746 NONAME - _ZN20QDeclarativeListView34highlightFollowsCurrentItemChangedEv @ 747 NONAME - _ZN20QDeclarativeListView5eventEP6QEvent @ 748 NONAME - _ZN20QDeclarativeListView6refillEv @ 749 NONAME - _ZN20QDeclarativeListView8setModelERK8QVariant @ 750 NONAME - _ZN20QDeclarativeListView9setFooterEP21QDeclarativeComponent @ 751 NONAME - _ZN20QDeclarativeListView9setHeaderEP21QDeclarativeComponent @ 752 NONAME - _ZN20QDeclarativeListViewC1EP16QDeclarativeItem @ 753 NONAME - _ZN20QDeclarativeListViewC2EP16QDeclarativeItem @ 754 NONAME - _ZN20QDeclarativeListViewD0Ev @ 755 NONAME - _ZN20QDeclarativeListViewD1Ev @ 756 NONAME - _ZN20QDeclarativeListViewD2Ev @ 757 NONAME - _ZN20QDeclarativeMetaType11isInterfaceEi @ 758 NONAME - _ZN20QDeclarativeMetaType12interfaceIIdEi @ 759 NONAME - _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 760 NONAME - _ZN20QDeclarativeMetaType12typeCategoryEi @ 761 NONAME - _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 762 NONAME - _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 763 NONAME - _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 764 NONAME - _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 765 NONAME - _ZN20QDeclarativeMetaType21customStringConverterEi @ 766 NONAME - _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 767 NONAME - _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 768 NONAME - _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 769 NONAME - _ZN20QDeclarativeMetaType4copyEiPvPKv @ 770 NONAME - _ZN20QDeclarativeMetaType6isListEi @ 771 NONAME - _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 772 NONAME - _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 773 NONAME - _ZN20QDeclarativeMetaType7qmlTypeEi @ 774 NONAME - _ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 775 NONAME - _ZN20QDeclarativeMetaType8listTypeEi @ 776 NONAME - _ZN20QDeclarativeMetaType8qmlTypesEv @ 777 NONAME - _ZN20QDeclarativeMetaType9isQObjectEi @ 778 NONAME - _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 779 NONAME - _ZN20QDeclarativePathLine11qt_metacallEN11QMetaObject4CallEiPPv @ 780 NONAME - _ZN20QDeclarativePathLine11qt_metacastEPKc @ 781 NONAME - _ZN20QDeclarativePathLine16staticMetaObjectE @ 782 NONAME DATA 16 - _ZN20QDeclarativePathLine19getStaticMetaObjectEv @ 783 NONAME - _ZN20QDeclarativePathLine9addToPathER12QPainterPath @ 784 NONAME - _ZN20QDeclarativePathQuad11qt_metacallEN11QMetaObject4CallEiPPv @ 785 NONAME - _ZN20QDeclarativePathQuad11qt_metacastEPKc @ 786 NONAME - _ZN20QDeclarativePathQuad11setControlXEf @ 787 NONAME - _ZN20QDeclarativePathQuad11setControlYEf @ 788 NONAME - _ZN20QDeclarativePathQuad16staticMetaObjectE @ 789 NONAME DATA 16 - _ZN20QDeclarativePathQuad19getStaticMetaObjectEv @ 790 NONAME - _ZN20QDeclarativePathQuad9addToPathER12QPainterPath @ 791 NONAME - _ZN20QDeclarativePathView10itemsMovedEiii @ 792 NONAME - _ZN20QDeclarativePathView10modelResetEv @ 793 NONAME - _ZN20QDeclarativePathView11createdItemEiP16QDeclarativeItem @ 794 NONAME - _ZN20QDeclarativePathView11pathChangedEv @ 795 NONAME - _ZN20QDeclarativePathView11qt_metacallEN11QMetaObject4CallEiPPv @ 796 NONAME - _ZN20QDeclarativePathView11qt_metacastEPKc @ 797 NONAME - _ZN20QDeclarativePathView11setDelegateEP21QDeclarativeComponent @ 798 NONAME - _ZN20QDeclarativePathView12countChangedEv @ 799 NONAME - _ZN20QDeclarativePathView12itemsRemovedEii @ 800 NONAME - _ZN20QDeclarativePathView12modelChangedEv @ 801 NONAME - _ZN20QDeclarativePathView12setHighlightEP21QDeclarativeComponent @ 802 NONAME - _ZN20QDeclarativePathView13highlightItemEv @ 803 NONAME - _ZN20QDeclarativePathView13itemsInsertedEii @ 804 NONAME - _ZN20QDeclarativePathView13offsetChangedEv @ 805 NONAME - _ZN20QDeclarativePathView13setDragMarginEf @ 806 NONAME - _ZN20QDeclarativePathView14destroyingItemEP16QDeclarativeItem @ 807 NONAME - _ZN20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 808 NONAME - _ZN20QDeclarativePathView14sendMouseEventEP24QGraphicsSceneMouseEvent @ 809 NONAME - _ZN20QDeclarativePathView14setInteractiveEb @ 810 NONAME - _ZN20QDeclarativePathView15delegateChangedEv @ 811 NONAME - _ZN20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 812 NONAME - _ZN20QDeclarativePathView15setCurrentIndexEi @ 813 NONAME - _ZN20QDeclarativePathView16highlightChangedEv @ 814 NONAME - _ZN20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 815 NONAME - _ZN20QDeclarativePathView16setPathItemCountEi @ 816 NONAME - _ZN20QDeclarativePathView16staticMetaObjectE @ 817 NONAME DATA 16 - _ZN20QDeclarativePathView17componentCompleteEv @ 818 NONAME - _ZN20QDeclarativePathView17dragMarginChangedEv @ 819 NONAME - _ZN20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 820 NONAME - _ZN20QDeclarativePathView18interactiveChangedEv @ 821 NONAME - _ZN20QDeclarativePathView19currentIndexChangedEv @ 822 NONAME - _ZN20QDeclarativePathView19getStaticMetaObjectEv @ 823 NONAME - _ZN20QDeclarativePathView19snapPositionChangedEv @ 824 NONAME - _ZN20QDeclarativePathView20highlightItemChangedEv @ 825 NONAME - _ZN20QDeclarativePathView20pathItemCountChangedEv @ 826 NONAME - _ZN20QDeclarativePathView20setFlickDecelerationEf @ 827 NONAME - _ZN20QDeclarativePathView21qmlAttachedPropertiesEP7QObject @ 828 NONAME - _ZN20QDeclarativePathView21setHighlightRangeModeENS_18HighlightRangeModeE @ 829 NONAME - _ZN20QDeclarativePathView24flickDecelerationChangedEv @ 830 NONAME - _ZN20QDeclarativePathView24setPreferredHighlightEndEf @ 831 NONAME - _ZN20QDeclarativePathView25highlightRangeModeChangedEv @ 832 NONAME - _ZN20QDeclarativePathView26setPreferredHighlightBeginEf @ 833 NONAME - _ZN20QDeclarativePathView28preferredHighlightEndChangedEv @ 834 NONAME - _ZN20QDeclarativePathView30preferredHighlightBeginChangedEv @ 835 NONAME - _ZN20QDeclarativePathView6refillEv @ 836 NONAME - _ZN20QDeclarativePathView6tickedEv @ 837 NONAME - _ZN20QDeclarativePathView7setPathEP16QDeclarativePath @ 838 NONAME - _ZN20QDeclarativePathView8setModelERK8QVariant @ 839 NONAME - _ZN20QDeclarativePathView9setOffsetEf @ 840 NONAME - _ZN20QDeclarativePathViewC1EP16QDeclarativeItem @ 841 NONAME - _ZN20QDeclarativePathViewC2EP16QDeclarativeItem @ 842 NONAME - _ZN20QDeclarativePathViewD0Ev @ 843 NONAME - _ZN20QDeclarativePathViewD1Ev @ 844 NONAME - _ZN20QDeclarativePathViewD2Ev @ 845 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 846 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 847 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 848 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 849 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 850 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 851 NONAME - _ZN20QDeclarativePropertyC1EP7QObject @ 852 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 853 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 854 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 855 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 856 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 857 NONAME - _ZN20QDeclarativePropertyC1ERKS_ @ 858 NONAME - _ZN20QDeclarativePropertyC1Ev @ 859 NONAME - _ZN20QDeclarativePropertyC2EP7QObject @ 860 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 861 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 862 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 863 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 864 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 865 NONAME - _ZN20QDeclarativePropertyC2ERKS_ @ 866 NONAME - _ZN20QDeclarativePropertyC2Ev @ 867 NONAME - _ZN20QDeclarativePropertyD1Ev @ 868 NONAME - _ZN20QDeclarativePropertyD2Ev @ 869 NONAME - _ZN20QDeclarativePropertyaSERKS_ @ 870 NONAME - _ZN20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 871 NONAME - _ZN20QDeclarativeRepeater10itemsMovedEiii @ 872 NONAME - _ZN20QDeclarativeRepeater10modelResetEv @ 873 NONAME - _ZN20QDeclarativeRepeater10regenerateEv @ 874 NONAME - _ZN20QDeclarativeRepeater11qt_metacallEN11QMetaObject4CallEiPPv @ 875 NONAME - _ZN20QDeclarativeRepeater11qt_metacastEPKc @ 876 NONAME - _ZN20QDeclarativeRepeater11setDelegateEP21QDeclarativeComponent @ 877 NONAME - _ZN20QDeclarativeRepeater12countChangedEv @ 878 NONAME - _ZN20QDeclarativeRepeater12itemsRemovedEii @ 879 NONAME - _ZN20QDeclarativeRepeater12modelChangedEv @ 880 NONAME - _ZN20QDeclarativeRepeater13itemsInsertedEii @ 881 NONAME - _ZN20QDeclarativeRepeater15delegateChangedEv @ 882 NONAME - _ZN20QDeclarativeRepeater16staticMetaObjectE @ 883 NONAME DATA 16 - _ZN20QDeclarativeRepeater17componentCompleteEv @ 884 NONAME - _ZN20QDeclarativeRepeater19getStaticMetaObjectEv @ 885 NONAME - _ZN20QDeclarativeRepeater5clearEv @ 886 NONAME - _ZN20QDeclarativeRepeater8setModelERK8QVariant @ 887 NONAME - _ZN20QDeclarativeRepeaterC1EP16QDeclarativeItem @ 888 NONAME - _ZN20QDeclarativeRepeaterC2EP16QDeclarativeItem @ 889 NONAME - _ZN20QDeclarativeRepeaterD0Ev @ 890 NONAME - _ZN20QDeclarativeRepeaterD1Ev @ 891 NONAME - _ZN20QDeclarativeRepeaterD2Ev @ 892 NONAME - _ZN20QDeclarativeTextEdit10updateSizeEv @ 893 NONAME - _ZN20QDeclarativeTextEdit11fontChangedERK5QFont @ 894 NONAME - _ZN20QDeclarativeTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 895 NONAME - _ZN20QDeclarativeTextEdit11qt_metacastEPKc @ 896 NONAME - _ZN20QDeclarativeTextEdit11setReadOnlyEb @ 897 NONAME - _ZN20QDeclarativeTextEdit11textChangedERK7QString @ 898 NONAME - _ZN20QDeclarativeTextEdit11wrapChangedEb @ 899 NONAME ABSENT - _ZN20QDeclarativeTextEdit12colorChangedERK6QColor @ 900 NONAME - _ZN20QDeclarativeTextEdit12drawContentsEP8QPainterRK5QRect @ 901 NONAME - _ZN20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 902 NONAME - _ZN20QDeclarativeTextEdit13q_textChangedEv @ 903 NONAME - _ZN20QDeclarativeTextEdit13setTextFormatENS_10TextFormatE @ 904 NONAME - _ZN20QDeclarativeTextEdit13setTextMarginEf @ 905 NONAME - _ZN20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 906 NONAME - _ZN20QDeclarativeTextEdit14updateImgCacheERK6QRectF @ 907 NONAME - _ZN20QDeclarativeTextEdit15geometryChangedERK6QRectFS2_ @ 908 NONAME - _ZN20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 909 NONAME - _ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 910 NONAME - _ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 911 NONAME - _ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 912 NONAME - _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME ABSENT - _ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 914 NONAME - _ZN20QDeclarativeTextEdit16selectionChangedEv @ 915 NONAME - _ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 916 NONAME - _ZN20QDeclarativeTextEdit16staticMetaObjectE @ 917 NONAME DATA 16 - _ZN20QDeclarativeTextEdit17componentCompleteEv @ 918 NONAME - _ZN20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 919 NONAME - _ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 920 NONAME - _ZN20QDeclarativeTextEdit17setCursorPositionEi @ 921 NONAME - _ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 922 NONAME - _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME ABSENT - _ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 924 NONAME - _ZN20QDeclarativeTextEdit17textMarginChangedEf @ 925 NONAME - _ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 926 NONAME - _ZN20QDeclarativeTextEdit18moveCursorDelegateEv @ 927 NONAME - _ZN20QDeclarativeTextEdit19focusOnPressChangedEb @ 928 NONAME - _ZN20QDeclarativeTextEdit19getStaticMetaObjectEv @ 929 NONAME - _ZN20QDeclarativeTextEdit19selectionEndChangedEv @ 930 NONAME - _ZN20QDeclarativeTextEdit20cursorVisibleChangedEb @ 931 NONAME - _ZN20QDeclarativeTextEdit20setSelectedTextColorERK6QColor @ 932 NONAME - _ZN20QDeclarativeTextEdit21cursorDelegateChangedEv @ 933 NONAME - _ZN20QDeclarativeTextEdit21cursorPositionChangedEv @ 934 NONAME - _ZN20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 935 NONAME - _ZN20QDeclarativeTextEdit21selectionColorChangedERK6QColor @ 936 NONAME - _ZN20QDeclarativeTextEdit21selectionStartChangedEv @ 937 NONAME - _ZN20QDeclarativeTextEdit22setPersistentSelectionEb @ 938 NONAME - _ZN20QDeclarativeTextEdit22updateSelectionMarkersEv @ 939 NONAME - _ZN20QDeclarativeTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 940 NONAME - _ZN20QDeclarativeTextEdit24selectedTextColorChangedERK6QColor @ 941 NONAME - _ZN20QDeclarativeTextEdit24verticalAlignmentChangedENS_10VAlignmentE @ 942 NONAME - _ZN20QDeclarativeTextEdit26horizontalAlignmentChangedENS_10HAlignmentE @ 943 NONAME - _ZN20QDeclarativeTextEdit26persistentSelectionChangedEb @ 944 NONAME - _ZN20QDeclarativeTextEdit5eventEP6QEvent @ 945 NONAME - _ZN20QDeclarativeTextEdit7setFontERK5QFont @ 946 NONAME - _ZN20QDeclarativeTextEdit7setTextERK7QString @ 947 NONAME - _ZN20QDeclarativeTextEdit7setWrapEb @ 948 NONAME ABSENT - _ZN20QDeclarativeTextEdit8setColorERK6QColor @ 949 NONAME - _ZN20QDeclarativeTextEdit9selectAllEv @ 950 NONAME - _ZN20QDeclarativeTextEdit9setHAlignENS_10HAlignmentE @ 951 NONAME - _ZN20QDeclarativeTextEdit9setVAlignENS_10VAlignmentE @ 952 NONAME - _ZN20QDeclarativeTextEditC1EP16QDeclarativeItem @ 953 NONAME - _ZN20QDeclarativeTextEditC2EP16QDeclarativeItem @ 954 NONAME - _ZN20QMetaPropertyBuilder10setDynamicEb @ 955 NONAME - _ZN20QMetaPropertyBuilder11setEditableEb @ 956 NONAME - _ZN20QMetaPropertyBuilder11setReadableEb @ 957 NONAME - _ZN20QMetaPropertyBuilder11setWritableEb @ 958 NONAME - _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 959 NONAME - _ZN20QMetaPropertyBuilder13setDesignableEb @ 960 NONAME - _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 961 NONAME - _ZN20QMetaPropertyBuilder13setResettableEb @ 962 NONAME - _ZN20QMetaPropertyBuilder13setScriptableEb @ 963 NONAME - _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 964 NONAME - _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 965 NONAME - _ZN20QMetaPropertyBuilder7setUserEb @ 966 NONAME - _ZN20QMetaPropertyBuilder9setStoredEb @ 967 NONAME - _ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 968 NONAME - _ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 969 NONAME - _ZN21QDeclarativeComponent11qt_metacastEPKc @ 970 NONAME - _ZN21QDeclarativeComponent12createObjectEv @ 971 NONAME ABSENT - _ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 972 NONAME - _ZN21QDeclarativeComponent14completeCreateEv @ 973 NONAME - _ZN21QDeclarativeComponent15progressChangedEf @ 974 NONAME - _ZN21QDeclarativeComponent16staticMetaObjectE @ 975 NONAME DATA 16 - _ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 976 NONAME - _ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 977 NONAME - _ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 978 NONAME - _ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 979 NONAME - _ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 980 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 981 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 982 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 983 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 984 NONAME - _ZN21QDeclarativeComponentC1EP7QObject @ 985 NONAME - _ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 986 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 987 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 988 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 989 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 990 NONAME - _ZN21QDeclarativeComponentC2EP7QObject @ 991 NONAME - _ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 992 NONAME - _ZN21QDeclarativeComponentD0Ev @ 993 NONAME - _ZN21QDeclarativeComponentD1Ev @ 994 NONAME - _ZN21QDeclarativeComponentD2Ev @ 995 NONAME - _ZN21QDeclarativeDomImportC1ERKS_ @ 996 NONAME - _ZN21QDeclarativeDomImportC1Ev @ 997 NONAME - _ZN21QDeclarativeDomImportC2ERKS_ @ 998 NONAME - _ZN21QDeclarativeDomImportC2Ev @ 999 NONAME - _ZN21QDeclarativeDomImportD1Ev @ 1000 NONAME - _ZN21QDeclarativeDomImportD2Ev @ 1001 NONAME - _ZN21QDeclarativeDomImportaSERKS_ @ 1002 NONAME - _ZN21QDeclarativeDomObjectC1ERKS_ @ 1003 NONAME - _ZN21QDeclarativeDomObjectC1Ev @ 1004 NONAME - _ZN21QDeclarativeDomObjectC2ERKS_ @ 1005 NONAME - _ZN21QDeclarativeDomObjectC2Ev @ 1006 NONAME - _ZN21QDeclarativeDomObjectD1Ev @ 1007 NONAME - _ZN21QDeclarativeDomObjectD2Ev @ 1008 NONAME - _ZN21QDeclarativeDomObjectaSERKS_ @ 1009 NONAME - _ZN21QDeclarativeFlickable10flickEndedEv @ 1010 NONAME - _ZN21QDeclarativeFlickable10timerEventEP11QTimerEvent @ 1011 NONAME - _ZN21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 1012 NONAME - _ZN21QDeclarativeFlickable11cancelFlickEv @ 1013 NONAME - _ZN21QDeclarativeFlickable11pageChangedEv @ 1014 NONAME - _ZN21QDeclarativeFlickable11qt_metacallEN11QMetaObject4CallEiPPv @ 1015 NONAME - _ZN21QDeclarativeFlickable11qt_metacastEPKc @ 1016 NONAME - _ZN21QDeclarativeFlickable11setContentXEf @ 1017 NONAME - _ZN21QDeclarativeFlickable11setContentYEf @ 1018 NONAME - _ZN21QDeclarativeFlickable11visibleAreaEv @ 1019 NONAME - _ZN21QDeclarativeFlickable12flickStartedEv @ 1020 NONAME - _ZN21QDeclarativeFlickable12setOverShootEb @ 1021 NONAME ABSENT - _ZN21QDeclarativeFlickable13flickableDataEv @ 1022 NONAME - _ZN21QDeclarativeFlickable13movementEndedEv @ 1023 NONAME - _ZN21QDeclarativeFlickable13movingChangedEv @ 1024 NONAME - _ZN21QDeclarativeFlickable13setPressDelayEi @ 1025 NONAME - _ZN21QDeclarativeFlickable13viewportMovedEv @ 1026 NONAME - _ZN21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1027 NONAME - _ZN21QDeclarativeFlickable14movementEndingEv @ 1028 NONAME - _ZN21QDeclarativeFlickable14sendMouseEventEP24QGraphicsSceneMouseEvent @ 1029 NONAME - _ZN21QDeclarativeFlickable14setInteractiveEb @ 1030 NONAME - _ZN21QDeclarativeFlickable15contentXChangedEv @ 1031 NONAME - _ZN21QDeclarativeFlickable15contentYChangedEv @ 1032 NONAME - _ZN21QDeclarativeFlickable15flickingChangedEv @ 1033 NONAME - _ZN21QDeclarativeFlickable15geometryChangedERK6QRectFS2_ @ 1034 NONAME - _ZN21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 1035 NONAME - _ZN21QDeclarativeFlickable15movementStartedEv @ 1036 NONAME - _ZN21QDeclarativeFlickable15setContentWidthEf @ 1037 NONAME - _ZN21QDeclarativeFlickable16movementStartingEv @ 1038 NONAME - _ZN21QDeclarativeFlickable16overShootChangedEv @ 1039 NONAME ABSENT - _ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 1040 NONAME - _ZN21QDeclarativeFlickable16setContentHeightEf @ 1041 NONAME - _ZN21QDeclarativeFlickable16staticMetaObjectE @ 1042 NONAME DATA 16 - _ZN21QDeclarativeFlickable17flickableChildrenEv @ 1043 NONAME - _ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1044 NONAME - _ZN21QDeclarativeFlickable17pressDelayChangedEv @ 1045 NONAME - _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1046 NONAME ABSENT - _ZN21QDeclarativeFlickable18interactiveChangedEv @ 1047 NONAME - _ZN21QDeclarativeFlickable19contentWidthChangedEv @ 1048 NONAME - _ZN21QDeclarativeFlickable19getStaticMetaObjectEv @ 1049 NONAME - _ZN21QDeclarativeFlickable19isAtBoundaryChangedEv @ 1050 NONAME - _ZN21QDeclarativeFlickable20contentHeightChangedEv @ 1051 NONAME - _ZN21QDeclarativeFlickable20setFlickDecelerationEf @ 1052 NONAME - _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1053 NONAME ABSENT - _ZN21QDeclarativeFlickable23setMaximumFlickVelocityEf @ 1054 NONAME - _ZN21QDeclarativeFlickable23verticalVelocityChangedEv @ 1055 NONAME - _ZN21QDeclarativeFlickable24flickDecelerationChangedEv @ 1056 NONAME - _ZN21QDeclarativeFlickable25horizontalVelocityChangedEv @ 1057 NONAME - _ZN21QDeclarativeFlickable27maximumFlickVelocityChangedEv @ 1058 NONAME - _ZN21QDeclarativeFlickable6tickedEv @ 1059 NONAME - _ZN21QDeclarativeFlickable8viewportEv @ 1060 NONAME - _ZN21QDeclarativeFlickableC1EP16QDeclarativeItem @ 1061 NONAME - _ZN21QDeclarativeFlickableC1ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1062 NONAME - _ZN21QDeclarativeFlickableC2EP16QDeclarativeItem @ 1063 NONAME - _ZN21QDeclarativeFlickableC2ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1064 NONAME - _ZN21QDeclarativeFlickableD0Ev @ 1065 NONAME - _ZN21QDeclarativeFlickableD1Ev @ 1066 NONAME - _ZN21QDeclarativeFlickableD2Ev @ 1067 NONAME - _ZN21QDeclarativeImageBase11qt_metacallEN11QMetaObject4CallEiPPv @ 1068 NONAME - _ZN21QDeclarativeImageBase11qt_metacastEPKc @ 1069 NONAME - _ZN21QDeclarativeImageBase12pixmapChangeEv @ 1070 NONAME - _ZN21QDeclarativeImageBase13setSourceSizeERK5QSize @ 1071 NONAME - _ZN21QDeclarativeImageBase13sourceChangedERK4QUrl @ 1072 NONAME - _ZN21QDeclarativeImageBase13statusChangedENS_6StatusE @ 1073 NONAME - _ZN21QDeclarativeImageBase15progressChangedEf @ 1074 NONAME - _ZN21QDeclarativeImageBase15requestFinishedEv @ 1075 NONAME - _ZN21QDeclarativeImageBase15requestProgressExx @ 1076 NONAME - _ZN21QDeclarativeImageBase15setAsynchronousEb @ 1077 NONAME - _ZN21QDeclarativeImageBase16staticMetaObjectE @ 1078 NONAME DATA 16 - _ZN21QDeclarativeImageBase17componentCompleteEv @ 1079 NONAME - _ZN21QDeclarativeImageBase17sourceSizeChangedEv @ 1080 NONAME - _ZN21QDeclarativeImageBase19asynchronousChangedEv @ 1081 NONAME - _ZN21QDeclarativeImageBase19getStaticMetaObjectEv @ 1082 NONAME - _ZN21QDeclarativeImageBase4loadEv @ 1083 NONAME - _ZN21QDeclarativeImageBase9setSourceERK4QUrl @ 1084 NONAME - _ZN21QDeclarativeImageBaseC1ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1085 NONAME - _ZN21QDeclarativeImageBaseC2ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1086 NONAME - _ZN21QDeclarativeImageBaseD0Ev @ 1087 NONAME - _ZN21QDeclarativeImageBaseD1Ev @ 1088 NONAME - _ZN21QDeclarativeImageBaseD2Ev @ 1089 NONAME - _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1090 NONAME - _ZN21QDeclarativeListModel11qt_metacastEPKc @ 1091 NONAME - _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 1092 NONAME - _ZN21QDeclarativeListModel12countChangedEv @ 1093 NONAME - _ZN21QDeclarativeListModel16staticMetaObjectE @ 1094 NONAME DATA 16 - _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 1095 NONAME - _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 1096 NONAME - _ZN21QDeclarativeListModel4moveEiii @ 1097 NONAME - _ZN21QDeclarativeListModel4syncEv @ 1098 NONAME - _ZN21QDeclarativeListModel5agentEv @ 1099 NONAME - _ZN21QDeclarativeListModel5clearEv @ 1100 NONAME - _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 1101 NONAME - _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 1102 NONAME - _ZN21QDeclarativeListModel6removeEi @ 1103 NONAME - _ZN21QDeclarativeListModel7flattenEv @ 1104 NONAME - _ZN21QDeclarativeListModelC1EP7QObject @ 1105 NONAME - _ZN21QDeclarativeListModelC1EbP7QObject @ 1106 NONAME - _ZN21QDeclarativeListModelC2EP7QObject @ 1107 NONAME - _ZN21QDeclarativeListModelC2EbP7QObject @ 1108 NONAME - _ZN21QDeclarativeListModelD0Ev @ 1109 NONAME - _ZN21QDeclarativeListModelD1Ev @ 1110 NONAME - _ZN21QDeclarativeListModelD2Ev @ 1111 NONAME - _ZN21QDeclarativeMouseArea10sceneEventEP6QEvent @ 1112 NONAME - _ZN21QDeclarativeMouseArea10setEnabledEb @ 1113 NONAME - _ZN21QDeclarativeMouseArea10setHoveredEb @ 1114 NONAME - _ZN21QDeclarativeMouseArea10setPressedEb @ 1115 NONAME - _ZN21QDeclarativeMouseArea10timerEventEP11QTimerEvent @ 1116 NONAME - _ZN21QDeclarativeMouseArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1117 NONAME - _ZN21QDeclarativeMouseArea11qt_metacastEPKc @ 1118 NONAME - _ZN21QDeclarativeMouseArea12pressAndHoldEP22QDeclarativeMouseEvent @ 1119 NONAME - _ZN21QDeclarativeMouseArea13doubleClickedEP22QDeclarativeMouseEvent @ 1120 NONAME - _ZN21QDeclarativeMouseArea14enabledChangedEv @ 1121 NONAME - _ZN21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 1122 NONAME - _ZN21QDeclarativeMouseArea14hoveredChangedEv @ 1123 NONAME - _ZN21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1124 NONAME - _ZN21QDeclarativeMouseArea14pressedChangedEv @ 1125 NONAME - _ZN21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 1126 NONAME - _ZN21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 1127 NONAME - _ZN21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 1128 NONAME - _ZN21QDeclarativeMouseArea15positionChangedEP22QDeclarativeMouseEvent @ 1129 NONAME - _ZN21QDeclarativeMouseArea16staticMetaObjectE @ 1130 NONAME DATA 16 - _ZN21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1131 NONAME - _ZN21QDeclarativeMouseArea18setAcceptedButtonsE6QFlagsIN2Qt11MouseButtonEE @ 1132 NONAME - _ZN21QDeclarativeMouseArea19getStaticMetaObjectEv @ 1133 NONAME - _ZN21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 1134 NONAME - _ZN21QDeclarativeMouseArea22acceptedButtonsChangedEv @ 1135 NONAME - _ZN21QDeclarativeMouseArea4dragEv @ 1136 NONAME - _ZN21QDeclarativeMouseArea6exitedEv @ 1137 NONAME - _ZN21QDeclarativeMouseArea7clickedEP22QDeclarativeMouseEvent @ 1138 NONAME - _ZN21QDeclarativeMouseArea7enteredEv @ 1139 NONAME - _ZN21QDeclarativeMouseArea7pressedEP22QDeclarativeMouseEvent @ 1140 NONAME - _ZN21QDeclarativeMouseArea8releasedEP22QDeclarativeMouseEvent @ 1141 NONAME - _ZN21QDeclarativeMouseAreaC1EP16QDeclarativeItem @ 1142 NONAME - _ZN21QDeclarativeMouseAreaC2EP16QDeclarativeItem @ 1143 NONAME - _ZN21QDeclarativeMouseAreaD0Ev @ 1144 NONAME - _ZN21QDeclarativeMouseAreaD1Ev @ 1145 NONAME - _ZN21QDeclarativeMouseAreaD2Ev @ 1146 NONAME - _ZN21QDeclarativePathCubic11qt_metacallEN11QMetaObject4CallEiPPv @ 1147 NONAME - _ZN21QDeclarativePathCubic11qt_metacastEPKc @ 1148 NONAME - _ZN21QDeclarativePathCubic12setControl1XEf @ 1149 NONAME - _ZN21QDeclarativePathCubic12setControl1YEf @ 1150 NONAME - _ZN21QDeclarativePathCubic12setControl2XEf @ 1151 NONAME - _ZN21QDeclarativePathCubic12setControl2YEf @ 1152 NONAME - _ZN21QDeclarativePathCubic16staticMetaObjectE @ 1153 NONAME DATA 16 - _ZN21QDeclarativePathCubic19getStaticMetaObjectEv @ 1154 NONAME - _ZN21QDeclarativePathCubic9addToPathER12QPainterPath @ 1155 NONAME - _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 1156 NONAME - _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 1157 NONAME - _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 1158 NONAME - _ZN21QDeclarativeRectangle12colorChangedEv @ 1159 NONAME - _ZN21QDeclarativeRectangle13radiusChangedEv @ 1160 NONAME - _ZN21QDeclarativeRectangle16staticMetaObjectE @ 1161 NONAME DATA 16 - _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 1162 NONAME - _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 1163 NONAME - _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 1164 NONAME - _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1165 NONAME - _ZN21QDeclarativeRectangle6borderEv @ 1166 NONAME - _ZN21QDeclarativeRectangle8doUpdateEv @ 1167 NONAME - _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 1168 NONAME - _ZN21QDeclarativeRectangle8setColorERK6QColor @ 1169 NONAME - _ZN21QDeclarativeRectangle9setRadiusEf @ 1170 NONAME - _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 1171 NONAME - _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 1172 NONAME - _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 1173 NONAME - _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 1174 NONAME - _ZN21QDeclarativeScaleGrid13borderChangedEv @ 1175 NONAME - _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 1176 NONAME DATA 16 - _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 1177 NONAME - _ZN21QDeclarativeScaleGrid6setTopEi @ 1178 NONAME - _ZN21QDeclarativeScaleGrid7setLeftEi @ 1179 NONAME - _ZN21QDeclarativeScaleGrid8setRightEi @ 1180 NONAME - _ZN21QDeclarativeScaleGrid9setBottomEi @ 1181 NONAME - _ZN21QDeclarativeScaleGridC1EP7QObject @ 1182 NONAME - _ZN21QDeclarativeScaleGridC2EP7QObject @ 1183 NONAME - _ZN21QDeclarativeScaleGridD0Ev @ 1184 NONAME - _ZN21QDeclarativeScaleGridD1Ev @ 1185 NONAME - _ZN21QDeclarativeScaleGridD2Ev @ 1186 NONAME - _ZN21QDeclarativeTextInput10moveCursorEv @ 1187 NONAME - _ZN21QDeclarativeTextInput10updateRectERK5QRect @ 1188 NONAME - _ZN21QDeclarativeTextInput10updateSizeEb @ 1189 NONAME - _ZN21QDeclarativeTextInput11fontChangedERK5QFont @ 1190 NONAME - _ZN21QDeclarativeTextInput11qt_metacallEN11QMetaObject4CallEiPPv @ 1191 NONAME - _ZN21QDeclarativeTextInput11qt_metacastEPKc @ 1192 NONAME - _ZN21QDeclarativeTextInput11setEchoModeENS_8EchoModeE @ 1193 NONAME - _ZN21QDeclarativeTextInput11setReadOnlyEb @ 1194 NONAME - _ZN21QDeclarativeTextInput11textChangedEv @ 1195 NONAME - _ZN21QDeclarativeTextInput12colorChangedERK6QColor @ 1196 NONAME - _ZN21QDeclarativeTextInput12createCursorEv @ 1197 NONAME - _ZN21QDeclarativeTextInput12drawContentsEP8QPainterRK5QRect @ 1198 NONAME - _ZN21QDeclarativeTextInput12setInputMaskERK7QString @ 1199 NONAME - _ZN21QDeclarativeTextInput12setMaxLengthEi @ 1200 NONAME - _ZN21QDeclarativeTextInput12setValidatorEP10QValidator @ 1201 NONAME - _ZN21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 1202 NONAME - _ZN21QDeclarativeTextInput13q_textChangedEv @ 1203 NONAME - _ZN21QDeclarativeTextInput15echoModeChangedENS_8EchoModeE @ 1204 NONAME - _ZN21QDeclarativeTextInput15geometryChangedERK6QRectFS2_ @ 1205 NONAME - _ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1206 NONAME - _ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1207 NONAME - _ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1208 NONAME - _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME ABSENT - _ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1210 NONAME - _ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1211 NONAME - _ZN21QDeclarativeTextInput16selectionChangedEv @ 1212 NONAME - _ZN21QDeclarativeTextInput16setCursorVisibleEb @ 1213 NONAME - _ZN21QDeclarativeTextInput16staticMetaObjectE @ 1214 NONAME DATA 16 - _ZN21QDeclarativeTextInput16validatorChangedEv @ 1215 NONAME - _ZN21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1216 NONAME - _ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1217 NONAME - _ZN21QDeclarativeTextInput17setCursorPositionEi @ 1218 NONAME - _ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1219 NONAME - _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME ABSENT - _ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1221 NONAME - _ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1222 NONAME - _ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1223 NONAME - _ZN21QDeclarativeTextInput19selectionEndChangedEv @ 1224 NONAME - _ZN21QDeclarativeTextInput20cursorVisibleChangedEb @ 1225 NONAME - _ZN21QDeclarativeTextInput20maximumLengthChangedEi @ 1226 NONAME - _ZN21QDeclarativeTextInput20setSelectedTextColorERK6QColor @ 1227 NONAME - _ZN21QDeclarativeTextInput21cursorDelegateChangedEv @ 1228 NONAME - _ZN21QDeclarativeTextInput21cursorPositionChangedEv @ 1229 NONAME - _ZN21QDeclarativeTextInput21selectionColorChangedERK6QColor @ 1230 NONAME - _ZN21QDeclarativeTextInput21selectionStartChangedEv @ 1231 NONAME - _ZN21QDeclarativeTextInput22acceptableInputChangedEv @ 1232 NONAME - _ZN21QDeclarativeTextInput24selectedTextColorChangedERK6QColor @ 1233 NONAME - _ZN21QDeclarativeTextInput26horizontalAlignmentChangedENS_10HAlignmentE @ 1234 NONAME - _ZN21QDeclarativeTextInput5eventEP6QEvent @ 1235 NONAME - _ZN21QDeclarativeTextInput6xToPosEi @ 1236 NONAME ABSENT - _ZN21QDeclarativeTextInput7setFontERK5QFont @ 1237 NONAME - _ZN21QDeclarativeTextInput7setTextERK7QString @ 1238 NONAME - _ZN21QDeclarativeTextInput8acceptedEv @ 1239 NONAME - _ZN21QDeclarativeTextInput8setColorERK6QColor @ 1240 NONAME - _ZN21QDeclarativeTextInput9selectAllEv @ 1241 NONAME - _ZN21QDeclarativeTextInput9setHAlignENS_10HAlignmentE @ 1242 NONAME - _ZN21QDeclarativeTextInputC1EP16QDeclarativeItem @ 1243 NONAME - _ZN21QDeclarativeTextInputC2EP16QDeclarativeItem @ 1244 NONAME - _ZN21QDeclarativeTextInputD0Ev @ 1245 NONAME - _ZN21QDeclarativeTextInputD1Ev @ 1246 NONAME - _ZN21QDeclarativeTextInputD2Ev @ 1247 NONAME - _ZN21QDeclarativeTranslate11qt_metacallEN11QMetaObject4CallEiPPv @ 1248 NONAME - _ZN21QDeclarativeTranslate11qt_metacastEPKc @ 1249 NONAME - _ZN21QDeclarativeTranslate15positionChangedEv @ 1250 NONAME - _ZN21QDeclarativeTranslate16staticMetaObjectE @ 1251 NONAME DATA 16 - _ZN21QDeclarativeTranslate19getStaticMetaObjectEv @ 1252 NONAME - _ZN21QDeclarativeTranslate4setXEf @ 1253 NONAME - _ZN21QDeclarativeTranslate4setYEf @ 1254 NONAME - _ZN21QDeclarativeTranslateC1EP7QObject @ 1255 NONAME - _ZN21QDeclarativeTranslateC2EP7QObject @ 1256 NONAME - _ZN21QDeclarativeTranslateD0Ev @ 1257 NONAME - _ZN21QDeclarativeTranslateD1Ev @ 1258 NONAME - _ZN21QDeclarativeTranslateD2Ev @ 1259 NONAME - _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 1260 NONAME - _ZN21QDeclarativeValueType11qt_metacastEPKc @ 1261 NONAME - _ZN21QDeclarativeValueType16staticMetaObjectE @ 1262 NONAME DATA 16 - _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 1263 NONAME - _ZN21QDeclarativeValueTypeC2EP7QObject @ 1264 NONAME - _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1265 NONAME - _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 1266 NONAME - _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 1267 NONAME - _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 1268 NONAME DATA 16 - _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 1269 NONAME - _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 1270 NONAME - _ZN22QDeclarativeDebugQueryC1EP7QObject @ 1271 NONAME - _ZN22QDeclarativeDebugQueryC2EP7QObject @ 1272 NONAME - _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1273 NONAME - _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 1274 NONAME - _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 1275 NONAME - _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 1276 NONAME - _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 1277 NONAME DATA 16 - _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 1278 NONAME - _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 1279 NONAME - _ZN22QDeclarativeDebugWatchC1EP7QObject @ 1280 NONAME - _ZN22QDeclarativeDebugWatchC2EP7QObject @ 1281 NONAME - _ZN22QDeclarativeDebugWatchD0Ev @ 1282 NONAME - _ZN22QDeclarativeDebugWatchD1Ev @ 1283 NONAME - _ZN22QDeclarativeDebugWatchD2Ev @ 1284 NONAME - _ZN22QDeclarativeExpression10__q_notifyEv @ 1285 NONAME ABSENT - _ZN22QDeclarativeExpression10clearErrorEv @ 1286 NONAME - _ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 1287 NONAME - _ZN22QDeclarativeExpression11qt_metacastEPKc @ 1288 NONAME - _ZN22QDeclarativeExpression12valueChangedEv @ 1289 NONAME - _ZN22QDeclarativeExpression13setExpressionERK7QString @ 1290 NONAME - _ZN22QDeclarativeExpression16staticMetaObjectE @ 1291 NONAME DATA 16 - _ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 1292 NONAME - _ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 1293 NONAME - _ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 1294 NONAME - _ZN22QDeclarativeExpression5valueEPb @ 1295 NONAME ABSENT - _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1296 NONAME ABSENT - _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1297 NONAME - _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObject @ 1298 NONAME ABSENT - _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1299 NONAME ABSENT - _ZN22QDeclarativeExpressionC1Ev @ 1300 NONAME - _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1301 NONAME ABSENT - _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1302 NONAME - _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObject @ 1303 NONAME ABSENT - _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1304 NONAME ABSENT - _ZN22QDeclarativeExpressionC2Ev @ 1305 NONAME - _ZN22QDeclarativeExpressionD0Ev @ 1306 NONAME - _ZN22QDeclarativeExpressionD1Ev @ 1307 NONAME - _ZN22QDeclarativeExpressionD2Ev @ 1308 NONAME - _ZN22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 1309 NONAME - _ZN22QDeclarativeFocusPanel11qt_metacallEN11QMetaObject4CallEiPPv @ 1310 NONAME - _ZN22QDeclarativeFocusPanel11qt_metacastEPKc @ 1311 NONAME - _ZN22QDeclarativeFocusPanel13activeChangedEv @ 1312 NONAME - _ZN22QDeclarativeFocusPanel16staticMetaObjectE @ 1313 NONAME DATA 16 - _ZN22QDeclarativeFocusPanel19getStaticMetaObjectEv @ 1314 NONAME - _ZN22QDeclarativeFocusPanelC1EP16QDeclarativeItem @ 1315 NONAME - _ZN22QDeclarativeFocusPanelC2EP16QDeclarativeItem @ 1316 NONAME - _ZN22QDeclarativeFocusPanelD0Ev @ 1317 NONAME - _ZN22QDeclarativeFocusPanelD1Ev @ 1318 NONAME - _ZN22QDeclarativeFocusPanelD2Ev @ 1319 NONAME - _ZN22QDeclarativeFocusScope11qt_metacallEN11QMetaObject4CallEiPPv @ 1320 NONAME - _ZN22QDeclarativeFocusScope11qt_metacastEPKc @ 1321 NONAME - _ZN22QDeclarativeFocusScope16staticMetaObjectE @ 1322 NONAME DATA 16 - _ZN22QDeclarativeFocusScope19getStaticMetaObjectEv @ 1323 NONAME - _ZN22QDeclarativeFocusScopeC1EP16QDeclarativeItem @ 1324 NONAME - _ZN22QDeclarativeFocusScopeC2EP16QDeclarativeItem @ 1325 NONAME - _ZN22QDeclarativeFocusScopeD0Ev @ 1326 NONAME - _ZN22QDeclarativeFocusScopeD1Ev @ 1327 NONAME - _ZN22QDeclarativeFocusScopeD2Ev @ 1328 NONAME - _ZN22QDeclarativeFontLoader11nameChangedEv @ 1329 NONAME - _ZN22QDeclarativeFontLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 1330 NONAME - _ZN22QDeclarativeFontLoader11qt_metacastEPKc @ 1331 NONAME - _ZN22QDeclarativeFontLoader13replyFinishedEv @ 1332 NONAME - _ZN22QDeclarativeFontLoader13statusChangedEv @ 1333 NONAME - _ZN22QDeclarativeFontLoader16staticMetaObjectE @ 1334 NONAME DATA 16 - _ZN22QDeclarativeFontLoader19getStaticMetaObjectEv @ 1335 NONAME - _ZN22QDeclarativeFontLoader7setNameERK7QString @ 1336 NONAME - _ZN22QDeclarativeFontLoader9setSourceERK4QUrl @ 1337 NONAME - _ZN22QDeclarativeFontLoaderC1EP7QObject @ 1338 NONAME - _ZN22QDeclarativeFontLoaderC2EP7QObject @ 1339 NONAME - _ZN22QDeclarativeFontLoaderD0Ev @ 1340 NONAME - _ZN22QDeclarativeFontLoaderD1Ev @ 1341 NONAME - _ZN22QDeclarativeFontLoaderD2Ev @ 1342 NONAME - _ZN22QDeclarativeStateGroup10classBeginEv @ 1343 NONAME - _ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1344 NONAME - _ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 1345 NONAME - _ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 1346 NONAME - _ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 1347 NONAME - _ZN22QDeclarativeStateGroup14statesPropertyEv @ 1348 NONAME - _ZN22QDeclarativeStateGroup15updateAutoStateEv @ 1349 NONAME - _ZN22QDeclarativeStateGroup16staticMetaObjectE @ 1350 NONAME DATA 16 - _ZN22QDeclarativeStateGroup17componentCompleteEv @ 1351 NONAME - _ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 1352 NONAME - _ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 1353 NONAME - _ZN22QDeclarativeStateGroup8setStateERK7QString @ 1354 NONAME - _ZN22QDeclarativeStateGroupC1EP7QObject @ 1355 NONAME - _ZN22QDeclarativeStateGroupC2EP7QObject @ 1356 NONAME - _ZN22QDeclarativeStateGroupD0Ev @ 1357 NONAME - _ZN22QDeclarativeStateGroupD1Ev @ 1358 NONAME - _ZN22QDeclarativeStateGroupD2Ev @ 1359 NONAME - _ZN22QDeclarativeStyledText5parseERK7QStringR11QTextLayout @ 1360 NONAME - _ZN22QDeclarativeStyledTextC1ERK7QStringR11QTextLayout @ 1361 NONAME - _ZN22QDeclarativeStyledTextC2ERK7QStringR11QTextLayout @ 1362 NONAME - _ZN22QDeclarativeStyledTextD1Ev @ 1363 NONAME - _ZN22QDeclarativeStyledTextD2Ev @ 1364 NONAME - _ZN22QDeclarativeTransition10animationsEv @ 1365 NONAME - _ZN22QDeclarativeTransition10setToStateERK7QString @ 1366 NONAME - _ZN22QDeclarativeTransition11fromChangedEv @ 1367 NONAME - _ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 1368 NONAME - _ZN22QDeclarativeTransition11qt_metacastEPKc @ 1369 NONAME - _ZN22QDeclarativeTransition11setReversedEb @ 1370 NONAME - _ZN22QDeclarativeTransition12setFromStateERK7QString @ 1371 NONAME - _ZN22QDeclarativeTransition13setReversibleEb @ 1372 NONAME - _ZN22QDeclarativeTransition16staticMetaObjectE @ 1373 NONAME DATA 16 - _ZN22QDeclarativeTransition17reversibleChangedEv @ 1374 NONAME - _ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 1375 NONAME - _ZN22QDeclarativeTransition4stopEv @ 1376 NONAME - _ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 1377 NONAME - _ZN22QDeclarativeTransition9toChangedEv @ 1378 NONAME - _ZN22QDeclarativeTransitionC1EP7QObject @ 1379 NONAME - _ZN22QDeclarativeTransitionC2EP7QObject @ 1380 NONAME - _ZN22QDeclarativeTransitionD0Ev @ 1381 NONAME - _ZN22QDeclarativeTransitionD1Ev @ 1382 NONAME - _ZN22QDeclarativeTransitionD2Ev @ 1383 NONAME - _ZN23QDeclarativeBorderImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1384 NONAME - _ZN23QDeclarativeBorderImage11qt_metacastEPKc @ 1385 NONAME - _ZN23QDeclarativeBorderImage15requestFinishedEv @ 1386 NONAME - _ZN23QDeclarativeBorderImage16staticMetaObjectE @ 1387 NONAME DATA 16 - _ZN23QDeclarativeBorderImage18sciRequestFinishedEv @ 1388 NONAME - _ZN23QDeclarativeBorderImage18setGridScaledImageERK27QDeclarativeGridScaledImage @ 1389 NONAME - _ZN23QDeclarativeBorderImage19getStaticMetaObjectEv @ 1390 NONAME - _ZN23QDeclarativeBorderImage19setVerticalTileModeENS_8TileModeE @ 1391 NONAME - _ZN23QDeclarativeBorderImage21setHorizontalTileModeENS_8TileModeE @ 1392 NONAME - _ZN23QDeclarativeBorderImage23verticalTileModeChangedEv @ 1393 NONAME - _ZN23QDeclarativeBorderImage25horizontalTileModeChangedEv @ 1394 NONAME - _ZN23QDeclarativeBorderImage4loadEv @ 1395 NONAME - _ZN23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1396 NONAME - _ZN23QDeclarativeBorderImage6borderEv @ 1397 NONAME - _ZN23QDeclarativeBorderImage9setSourceERK4QUrl @ 1398 NONAME - _ZN23QDeclarativeBorderImageC1EP16QDeclarativeItem @ 1399 NONAME - _ZN23QDeclarativeBorderImageC2EP16QDeclarativeItem @ 1400 NONAME - _ZN23QDeclarativeBorderImageD0Ev @ 1401 NONAME - _ZN23QDeclarativeBorderImageD1Ev @ 1402 NONAME - _ZN23QDeclarativeBorderImageD2Ev @ 1403 NONAME - _ZN23QDeclarativeConnections11qt_metacallEN11QMetaObject4CallEiPPv @ 1404 NONAME - _ZN23QDeclarativeConnections11qt_metacastEPKc @ 1405 NONAME - _ZN23QDeclarativeConnections13targetChangedEv @ 1406 NONAME - _ZN23QDeclarativeConnections14connectSignalsEv @ 1407 NONAME - _ZN23QDeclarativeConnections16staticMetaObjectE @ 1408 NONAME DATA 16 - _ZN23QDeclarativeConnections17componentCompleteEv @ 1409 NONAME - _ZN23QDeclarativeConnections19getStaticMetaObjectEv @ 1410 NONAME - _ZN23QDeclarativeConnections9setTargetEP7QObject @ 1411 NONAME - _ZN23QDeclarativeConnectionsC1EP7QObject @ 1412 NONAME - _ZN23QDeclarativeConnectionsC2EP7QObject @ 1413 NONAME - _ZN23QDeclarativeConnectionsD0Ev @ 1414 NONAME - _ZN23QDeclarativeConnectionsD1Ev @ 1415 NONAME - _ZN23QDeclarativeConnectionsD2Ev @ 1416 NONAME - _ZN23QDeclarativeDebugClient10setEnabledEb @ 1417 NONAME - _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 1418 NONAME - _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 1419 NONAME - _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 1420 NONAME - _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 1421 NONAME - _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 1422 NONAME DATA 16 - _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 1423 NONAME - _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 1424 NONAME - _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 1425 NONAME - _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 1426 NONAME - _ZN23QDeclarativeDomDocumentC1ERKS_ @ 1427 NONAME - _ZN23QDeclarativeDomDocumentC1Ev @ 1428 NONAME - _ZN23QDeclarativeDomDocumentC2ERKS_ @ 1429 NONAME - _ZN23QDeclarativeDomDocumentC2Ev @ 1430 NONAME - _ZN23QDeclarativeDomDocumentD1Ev @ 1431 NONAME - _ZN23QDeclarativeDomDocumentD2Ev @ 1432 NONAME - _ZN23QDeclarativeDomDocumentaSERKS_ @ 1433 NONAME - _ZN23QDeclarativeDomPropertyC1ERKS_ @ 1434 NONAME - _ZN23QDeclarativeDomPropertyC1Ev @ 1435 NONAME - _ZN23QDeclarativeDomPropertyC2ERKS_ @ 1436 NONAME - _ZN23QDeclarativeDomPropertyC2Ev @ 1437 NONAME - _ZN23QDeclarativeDomPropertyD1Ev @ 1438 NONAME - _ZN23QDeclarativeDomPropertyD2Ev @ 1439 NONAME - _ZN23QDeclarativeDomPropertyaSERKS_ @ 1440 NONAME - _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 1441 NONAME - _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 1442 NONAME - _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 1443 NONAME - _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 1444 NONAME - _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 1445 NONAME DATA 16 - _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 1446 NONAME - _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 1447 NONAME - _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 1448 NONAME - _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 1449 NONAME - _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 1450 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 1451 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 1452 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 1453 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 1454 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 1455 NONAME - _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 1456 NONAME - _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 1457 NONAME - _ZN23QDeclarativeItemPrivate10resetWidthEv @ 1458 NONAME - _ZN23QDeclarativeItemPrivate11currentTimeEv @ 1459 NONAME ABSENT - _ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1460 NONAME - _ZN23QDeclarativeItemPrivate11resetHeightEv @ 1461 NONAME - _ZN23QDeclarativeItemPrivate12focusChangedEb @ 1462 NONAME - _ZN23QDeclarativeItemPrivate12resources_atEP24QDeclarativeListPropertyI7QObjectEi @ 1463 NONAME - _ZN23QDeclarativeItemPrivate12transform_atEP24QDeclarativeListPropertyI18QGraphicsTransformEi @ 1464 NONAME - _ZN23QDeclarativeItemPrivate14consistentTimeE @ 1465 NONAME DATA 4 - _ZN23QDeclarativeItemPrivate14parentPropertyEP7QObjectPvP28QDeclarativeNotifierEndpoint @ 1466 NONAME - _ZN23QDeclarativeItemPrivate15resources_countEP24QDeclarativeListPropertyI7QObjectE @ 1467 NONAME - _ZN23QDeclarativeItemPrivate15transform_clearEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 1468 NONAME - _ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 1469 NONAME - _ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1470 NONAME - _ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 1471 NONAME - _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1472 NONAME ABSENT - _ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 1473 NONAME - _ZN23QDeclarativeItemPrivate5startER5QTime @ 1474 NONAME ABSENT - _ZN23QDeclarativeItemPrivate6statesEv @ 1475 NONAME - _ZN23QDeclarativeItemPrivate7elapsedER5QTime @ 1476 NONAME ABSENT - _ZN23QDeclarativeItemPrivate7restartER5QTime @ 1477 NONAME ABSENT - _ZN23QDeclarativeItemPrivate8setWidthEf @ 1478 NONAME - _ZN23QDeclarativeItemPrivate9setHeightEf @ 1479 NONAME - _ZN23QDeclarativePaintedItem10clearCacheEv @ 1480 NONAME - _ZN23QDeclarativePaintedItem10dirtyCacheERK5QRect @ 1481 NONAME - _ZN23QDeclarativePaintedItem11qt_metacallEN11QMetaObject4CallEiPPv @ 1482 NONAME - _ZN23QDeclarativePaintedItem11qt_metacastEPKc @ 1483 NONAME - _ZN23QDeclarativePaintedItem12setFillColorERK6QColor @ 1484 NONAME - _ZN23QDeclarativePaintedItem14setCacheFrozenEb @ 1485 NONAME - _ZN23QDeclarativePaintedItem14setSmoothCacheEb @ 1486 NONAME - _ZN23QDeclarativePaintedItem15setContentsSizeERK5QSize @ 1487 NONAME - _ZN23QDeclarativePaintedItem16fillColorChangedEv @ 1488 NONAME - _ZN23QDeclarativePaintedItem16setContentsScaleEf @ 1489 NONAME - _ZN23QDeclarativePaintedItem16staticMetaObjectE @ 1490 NONAME DATA 16 - _ZN23QDeclarativePaintedItem17setPixelCacheSizeEi @ 1491 NONAME - _ZN23QDeclarativePaintedItem19contentsSizeChangedEv @ 1492 NONAME - _ZN23QDeclarativePaintedItem19getStaticMetaObjectEv @ 1493 NONAME - _ZN23QDeclarativePaintedItem20contentsScaleChangedEv @ 1494 NONAME - _ZN23QDeclarativePaintedItem4initEv @ 1495 NONAME ABSENT - _ZN23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1496 NONAME - _ZN23QDeclarativePaintedItemC2EP16QDeclarativeItem @ 1497 NONAME - _ZN23QDeclarativePaintedItemC2ER30QDeclarativePaintedItemPrivateP16QDeclarativeItem @ 1498 NONAME - _ZN23QDeclarativePaintedItemD0Ev @ 1499 NONAME - _ZN23QDeclarativePaintedItemD1Ev @ 1500 NONAME - _ZN23QDeclarativePaintedItemD2Ev @ 1501 NONAME - _ZN23QDeclarativePathElement11qt_metacallEN11QMetaObject4CallEiPPv @ 1502 NONAME - _ZN23QDeclarativePathElement11qt_metacastEPKc @ 1503 NONAME - _ZN23QDeclarativePathElement16staticMetaObjectE @ 1504 NONAME DATA 16 - _ZN23QDeclarativePathElement19getStaticMetaObjectEv @ 1505 NONAME - _ZN23QDeclarativePathElement7changedEv @ 1506 NONAME - _ZN23QDeclarativePathPercent11qt_metacallEN11QMetaObject4CallEiPPv @ 1507 NONAME - _ZN23QDeclarativePathPercent11qt_metacastEPKc @ 1508 NONAME - _ZN23QDeclarativePathPercent16staticMetaObjectE @ 1509 NONAME DATA 16 - _ZN23QDeclarativePathPercent19getStaticMetaObjectEv @ 1510 NONAME - _ZN23QDeclarativePathPercent8setValueEf @ 1511 NONAME - _ZN23QDeclarativePixmapCache15pendingRequestsEv @ 1512 NONAME - _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapP5QSizebii @ 1513 NONAME ABSENT - _ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 1514 NONAME - _ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrlii @ 1515 NONAME - _ZN23QDeclarativePixmapReply10setLoadingEv @ 1516 NONAME - _ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 1517 NONAME - _ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 1518 NONAME - _ZN23QDeclarativePixmapReply16downloadProgressExx @ 1519 NONAME - _ZN23QDeclarativePixmapReply16staticMetaObjectE @ 1520 NONAME DATA 16 - _ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 1521 NONAME - _ZN23QDeclarativePixmapReply5eventEP6QEvent @ 1522 NONAME - _ZN23QDeclarativePixmapReply6addRefEv @ 1523 NONAME - _ZN23QDeclarativePixmapReply7releaseEb @ 1524 NONAME - _ZN23QDeclarativePixmapReply8finishedEv @ 1525 NONAME - _ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrlii @ 1526 NONAME - _ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrlii @ 1527 NONAME - _ZN23QDeclarativePixmapReplyD0Ev @ 1528 NONAME - _ZN23QDeclarativePixmapReplyD1Ev @ 1529 NONAME - _ZN23QDeclarativePixmapReplyD2Ev @ 1530 NONAME - _ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 1531 NONAME - _ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 1532 NONAME - _ZN23QDeclarativePropertyMap12valueChangedERK7QStringRK8QVariant @ 1533 NONAME - _ZN23QDeclarativePropertyMap16staticMetaObjectE @ 1534 NONAME DATA 16 - _ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 1535 NONAME - _ZN23QDeclarativePropertyMap5clearERK7QString @ 1536 NONAME - _ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 1537 NONAME - _ZN23QDeclarativePropertyMapC1EP7QObject @ 1538 NONAME - _ZN23QDeclarativePropertyMapC2EP7QObject @ 1539 NONAME - _ZN23QDeclarativePropertyMapD0Ev @ 1540 NONAME - _ZN23QDeclarativePropertyMapD1Ev @ 1541 NONAME - _ZN23QDeclarativePropertyMapD2Ev @ 1542 NONAME - _ZN23QDeclarativePropertyMapixERK7QString @ 1543 NONAME - _ZN23QDeclarativeViewSection11qt_metacallEN11QMetaObject4CallEiPPv @ 1544 NONAME - _ZN23QDeclarativeViewSection11qt_metacastEPKc @ 1545 NONAME - _ZN23QDeclarativeViewSection11setCriteriaENS_15SectionCriteriaE @ 1546 NONAME - _ZN23QDeclarativeViewSection11setDelegateEP21QDeclarativeComponent @ 1547 NONAME - _ZN23QDeclarativeViewSection11setPropertyERK7QString @ 1548 NONAME - _ZN23QDeclarativeViewSection13sectionStringERK7QString @ 1549 NONAME - _ZN23QDeclarativeViewSection15delegateChangedEv @ 1550 NONAME - _ZN23QDeclarativeViewSection16staticMetaObjectE @ 1551 NONAME DATA 16 - _ZN23QDeclarativeViewSection19getStaticMetaObjectEv @ 1552 NONAME - _ZN23QDeclarativeViewSection7changedEv @ 1553 NONAME - _ZN23QDeclarativeVisualModel10itemsMovedEiii @ 1554 NONAME - _ZN23QDeclarativeVisualModel10modelResetEv @ 1555 NONAME - _ZN23QDeclarativeVisualModel11createdItemEiP16QDeclarativeItem @ 1556 NONAME - _ZN23QDeclarativeVisualModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1557 NONAME - _ZN23QDeclarativeVisualModel11qt_metacastEPKc @ 1558 NONAME - _ZN23QDeclarativeVisualModel12countChangedEv @ 1559 NONAME - _ZN23QDeclarativeVisualModel12itemsRemovedEii @ 1560 NONAME - _ZN23QDeclarativeVisualModel13itemsInsertedEii @ 1561 NONAME - _ZN23QDeclarativeVisualModel14destroyingItemEP16QDeclarativeItem @ 1562 NONAME - _ZN23QDeclarativeVisualModel16staticMetaObjectE @ 1563 NONAME DATA 16 - _ZN23QDeclarativeVisualModel19getStaticMetaObjectEv @ 1564 NONAME - _ZN24QDeclarativeCustomParser11clearErrorsEv @ 1565 NONAME - _ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 1566 NONAME - _ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 1567 NONAME - _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 1568 NONAME - _ZN24QDeclarativeDebugService11objectForIdEi @ 1569 NONAME - _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 1570 NONAME - _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 1571 NONAME - _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 1572 NONAME - _ZN24QDeclarativeDebugService14enabledChangedEb @ 1573 NONAME - _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 1574 NONAME - _ZN24QDeclarativeDebugService14waitForClientsEv @ 1575 NONAME ABSENT - _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 1576 NONAME - _ZN24QDeclarativeDebugService16staticMetaObjectE @ 1577 NONAME DATA 16 - _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 1578 NONAME - _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 1579 NONAME - _ZN24QDeclarativeDebugService19notifyOnServerStartEP7QObjectPKc @ 1580 NONAME ABSENT - _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 1581 NONAME - _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 1582 NONAME - _ZN24QDeclarativeDomComponentC1ERKS_ @ 1583 NONAME - _ZN24QDeclarativeDomComponentC1Ev @ 1584 NONAME - _ZN24QDeclarativeDomComponentC2ERKS_ @ 1585 NONAME - _ZN24QDeclarativeDomComponentC2Ev @ 1586 NONAME - _ZN24QDeclarativeDomComponentD1Ev @ 1587 NONAME - _ZN24QDeclarativeDomComponentD2Ev @ 1588 NONAME - _ZN24QDeclarativeDomComponentaSERKS_ @ 1589 NONAME - _ZN24QDeclarativeGradientStop11qt_metacallEN11QMetaObject4CallEiPPv @ 1590 NONAME - _ZN24QDeclarativeGradientStop11qt_metacastEPKc @ 1591 NONAME - _ZN24QDeclarativeGradientStop14updateGradientEv @ 1592 NONAME - _ZN24QDeclarativeGradientStop16staticMetaObjectE @ 1593 NONAME DATA 16 - _ZN24QDeclarativeGradientStop19getStaticMetaObjectEv @ 1594 NONAME - _ZN24QDeclarativeListAccessor7setListERK8QVariantP18QDeclarativeEngine @ 1595 NONAME - _ZN24QDeclarativeListAccessorC1Ev @ 1596 NONAME - _ZN24QDeclarativeListAccessorC2Ev @ 1597 NONAME - _ZN24QDeclarativeListAccessorD1Ev @ 1598 NONAME - _ZN24QDeclarativeListAccessorD2Ev @ 1599 NONAME - _ZN24QDeclarativeParentChange11qt_metacallEN11QMetaObject4CallEiPPv @ 1600 NONAME - _ZN24QDeclarativeParentChange11qt_metacastEPKc @ 1601 NONAME - _ZN24QDeclarativeParentChange11setRotationEf @ 1602 NONAME ABSENT - _ZN24QDeclarativeParentChange12isReversableEv @ 1603 NONAME - _ZN24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 1604 NONAME ABSENT - _ZN24QDeclarativeParentChange13saveOriginalsEv @ 1605 NONAME - _ZN24QDeclarativeParentChange16staticMetaObjectE @ 1606 NONAME DATA 16 - _ZN24QDeclarativeParentChange17saveCurrentValuesEv @ 1607 NONAME - _ZN24QDeclarativeParentChange19getStaticMetaObjectEv @ 1608 NONAME - _ZN24QDeclarativeParentChange4setXEf @ 1609 NONAME ABSENT - _ZN24QDeclarativeParentChange4setYEf @ 1610 NONAME ABSENT - _ZN24QDeclarativeParentChange6rewindEv @ 1611 NONAME - _ZN24QDeclarativeParentChange7actionsEv @ 1612 NONAME - _ZN24QDeclarativeParentChange7executeEv @ 1613 NONAME ABSENT - _ZN24QDeclarativeParentChange7reverseEv @ 1614 NONAME ABSENT - _ZN24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 1615 NONAME - _ZN24QDeclarativeParentChange8setScaleEf @ 1616 NONAME ABSENT - _ZN24QDeclarativeParentChange8setWidthEf @ 1617 NONAME ABSENT - _ZN24QDeclarativeParentChange9setHeightEf @ 1618 NONAME ABSENT - _ZN24QDeclarativeParentChange9setObjectEP16QDeclarativeItem @ 1619 NONAME - _ZN24QDeclarativeParentChange9setParentEP16QDeclarativeItem @ 1620 NONAME - _ZN24QDeclarativeParentChangeC1EP7QObject @ 1621 NONAME - _ZN24QDeclarativeParentChangeC2EP7QObject @ 1622 NONAME - _ZN24QDeclarativeParentChangeD0Ev @ 1623 NONAME - _ZN24QDeclarativeParentChangeD1Ev @ 1624 NONAME - _ZN24QDeclarativeParentChangeD2Ev @ 1625 NONAME - _ZN24QDeclarativeParserStatus10classBeginEv @ 1626 NONAME ABSENT - _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1627 NONAME ABSENT - _ZN24QDeclarativeParserStatusC1Ev @ 1628 NONAME ABSENT - _ZN24QDeclarativeParserStatusC2Ev @ 1629 NONAME - _ZN24QDeclarativeParserStatusD0Ev @ 1630 NONAME - _ZN24QDeclarativeParserStatusD1Ev @ 1631 NONAME - _ZN24QDeclarativeParserStatusD2Ev @ 1632 NONAME - _ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 1633 NONAME - _ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 1634 NONAME - _ZN24QDeclarativeScriptString9setScriptERK7QString @ 1635 NONAME - _ZN24QDeclarativeScriptStringC1ERKS_ @ 1636 NONAME - _ZN24QDeclarativeScriptStringC1Ev @ 1637 NONAME - _ZN24QDeclarativeScriptStringC2ERKS_ @ 1638 NONAME - _ZN24QDeclarativeScriptStringC2Ev @ 1639 NONAME - _ZN24QDeclarativeScriptStringD1Ev @ 1640 NONAME - _ZN24QDeclarativeScriptStringD2Ev @ 1641 NONAME - _ZN24QDeclarativeScriptStringaSERKS_ @ 1642 NONAME - _ZN24QDeclarativeSpringFollow10setDampingEf @ 1643 NONAME - _ZN24QDeclarativeSpringFollow10setEnabledEb @ 1644 NONAME - _ZN24QDeclarativeSpringFollow10setEpsilonEf @ 1645 NONAME - _ZN24QDeclarativeSpringFollow10setModulusEf @ 1646 NONAME - _ZN24QDeclarativeSpringFollow11massChangedEv @ 1647 NONAME - _ZN24QDeclarativeSpringFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1648 NONAME - _ZN24QDeclarativeSpringFollow11qt_metacastEPKc @ 1649 NONAME - _ZN24QDeclarativeSpringFollow11setVelocityEf @ 1650 NONAME - _ZN24QDeclarativeSpringFollow11syncChangedEv @ 1651 NONAME - _ZN24QDeclarativeSpringFollow12valueChangedEf @ 1652 NONAME - _ZN24QDeclarativeSpringFollow14modulusChangedEv @ 1653 NONAME - _ZN24QDeclarativeSpringFollow14setSourceValueEf @ 1654 NONAME ABSENT - _ZN24QDeclarativeSpringFollow16staticMetaObjectE @ 1655 NONAME DATA 16 - _ZN24QDeclarativeSpringFollow19getStaticMetaObjectEv @ 1656 NONAME - _ZN24QDeclarativeSpringFollow7setMassEf @ 1657 NONAME - _ZN24QDeclarativeSpringFollow9setSpringEf @ 1658 NONAME - _ZN24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 1659 NONAME - _ZN24QDeclarativeSpringFollowC1EP7QObject @ 1660 NONAME - _ZN24QDeclarativeSpringFollowC2EP7QObject @ 1661 NONAME - _ZN24QDeclarativeSpringFollowD0Ev @ 1662 NONAME - _ZN24QDeclarativeSpringFollowD1Ev @ 1663 NONAME - _ZN24QDeclarativeSpringFollowD2Ev @ 1664 NONAME - _ZN24QDeclarativeWorkerScript11qt_metacallEN11QMetaObject4CallEiPPv @ 1665 NONAME - _ZN24QDeclarativeWorkerScript11qt_metacastEPKc @ 1666 NONAME - _ZN24QDeclarativeWorkerScript11sendMessageERK12QScriptValue @ 1667 NONAME - _ZN24QDeclarativeWorkerScript13sourceChangedEv @ 1668 NONAME - _ZN24QDeclarativeWorkerScript16staticMetaObjectE @ 1669 NONAME DATA 16 - _ZN24QDeclarativeWorkerScript17componentCompleteEv @ 1670 NONAME - _ZN24QDeclarativeWorkerScript19getStaticMetaObjectEv @ 1671 NONAME - _ZN24QDeclarativeWorkerScript5eventEP6QEvent @ 1672 NONAME - _ZN24QDeclarativeWorkerScript7messageERK12QScriptValue @ 1673 NONAME - _ZN24QDeclarativeWorkerScript9setSourceERK4QUrl @ 1674 NONAME - _ZN24QDeclarativeWorkerScriptC1EP7QObject @ 1675 NONAME - _ZN24QDeclarativeWorkerScriptC2EP7QObject @ 1676 NONAME - _ZN24QDeclarativeWorkerScriptD0Ev @ 1677 NONAME - _ZN24QDeclarativeWorkerScriptD1Ev @ 1678 NONAME - _ZN24QDeclarativeWorkerScriptD2Ev @ 1679 NONAME - _ZN24QDeclarativeXmlListModel10classBeginEv @ 1680 NONAME - _ZN24QDeclarativeXmlListModel10xmlChangedEv @ 1681 NONAME - _ZN24QDeclarativeXmlListModel11dataClearedEv @ 1682 NONAME - _ZN24QDeclarativeXmlListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1683 NONAME - _ZN24QDeclarativeXmlListModel11qt_metacastEPKc @ 1684 NONAME - _ZN24QDeclarativeXmlListModel11roleObjectsEv @ 1685 NONAME - _ZN24QDeclarativeXmlListModel12countChangedEv @ 1686 NONAME - _ZN24QDeclarativeXmlListModel12queryChangedEv @ 1687 NONAME - _ZN24QDeclarativeXmlListModel13sourceChangedEv @ 1688 NONAME - _ZN24QDeclarativeXmlListModel13statusChangedENS_6StatusE @ 1689 NONAME - _ZN24QDeclarativeXmlListModel14queryCompletedERK26QDeclarativeXmlQueryResult @ 1690 NONAME - _ZN24QDeclarativeXmlListModel15progressChangedEf @ 1691 NONAME - _ZN24QDeclarativeXmlListModel15requestFinishedEv @ 1692 NONAME - _ZN24QDeclarativeXmlListModel15requestProgressExx @ 1693 NONAME - _ZN24QDeclarativeXmlListModel16staticMetaObjectE @ 1694 NONAME DATA 16 - _ZN24QDeclarativeXmlListModel17componentCompleteEv @ 1695 NONAME - _ZN24QDeclarativeXmlListModel19getStaticMetaObjectEv @ 1696 NONAME - _ZN24QDeclarativeXmlListModel24setNamespaceDeclarationsERK7QString @ 1697 NONAME - _ZN24QDeclarativeXmlListModel28namespaceDeclarationsChangedEv @ 1698 NONAME - _ZN24QDeclarativeXmlListModel6reloadEv @ 1699 NONAME - _ZN24QDeclarativeXmlListModel6setXmlERK7QString @ 1700 NONAME - _ZN24QDeclarativeXmlListModel8setQueryERK7QString @ 1701 NONAME - _ZN24QDeclarativeXmlListModel9setSourceERK4QUrl @ 1702 NONAME - _ZN24QDeclarativeXmlListModelC1EP7QObject @ 1703 NONAME - _ZN24QDeclarativeXmlListModelC2EP7QObject @ 1704 NONAME - _ZN24QDeclarativeXmlListModelD0Ev @ 1705 NONAME - _ZN24QDeclarativeXmlListModelD1Ev @ 1706 NONAME - _ZN24QDeclarativeXmlListModelD2Ev @ 1707 NONAME - _ZN25QDeclarativeAnchorChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1708 NONAME - _ZN25QDeclarativeAnchorChanges11qt_metacastEPKc @ 1709 NONAME - _ZN25QDeclarativeAnchorChanges12isReversableEv @ 1710 NONAME - _ZN25QDeclarativeAnchorChanges13clearBindingsEv @ 1711 NONAME - _ZN25QDeclarativeAnchorChanges13copyOriginalsEP23QDeclarativeActionEvent @ 1712 NONAME - _ZN25QDeclarativeAnchorChanges13saveOriginalsEv @ 1713 NONAME - _ZN25QDeclarativeAnchorChanges15changesBindingsEv @ 1714 NONAME - _ZN25QDeclarativeAnchorChanges16saveTargetValuesEv @ 1715 NONAME - _ZN25QDeclarativeAnchorChanges16staticMetaObjectE @ 1716 NONAME DATA 16 - _ZN25QDeclarativeAnchorChanges17additionalActionsEv @ 1717 NONAME - _ZN25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 1718 NONAME - _ZN25QDeclarativeAnchorChanges19getStaticMetaObjectEv @ 1719 NONAME - _ZN25QDeclarativeAnchorChanges6rewindEv @ 1720 NONAME - _ZN25QDeclarativeAnchorChanges7actionsEv @ 1721 NONAME - _ZN25QDeclarativeAnchorChanges7anchorsEv @ 1722 NONAME - _ZN25QDeclarativeAnchorChanges7executeEv @ 1723 NONAME ABSENT - _ZN25QDeclarativeAnchorChanges7reverseEv @ 1724 NONAME ABSENT - _ZN25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 1725 NONAME - _ZN25QDeclarativeAnchorChanges9setObjectEP16QDeclarativeItem @ 1726 NONAME - _ZN25QDeclarativeAnchorChangesC1EP7QObject @ 1727 NONAME - _ZN25QDeclarativeAnchorChangesC2EP7QObject @ 1728 NONAME - _ZN25QDeclarativeAnchorChangesD0Ev @ 1729 NONAME - _ZN25QDeclarativeAnchorChangesD1Ev @ 1730 NONAME - _ZN25QDeclarativeAnchorChangesD2Ev @ 1731 NONAME - _ZN25QDeclarativeAnimatedImage10setPlayingEb @ 1732 NONAME - _ZN25QDeclarativeAnimatedImage11movieUpdateEv @ 1733 NONAME - _ZN25QDeclarativeAnimatedImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1734 NONAME - _ZN25QDeclarativeAnimatedImage11qt_metacastEPKc @ 1735 NONAME - _ZN25QDeclarativeAnimatedImage12frameChangedEv @ 1736 NONAME - _ZN25QDeclarativeAnimatedImage13pausedChangedEv @ 1737 NONAME - _ZN25QDeclarativeAnimatedImage14playingChangedEv @ 1738 NONAME - _ZN25QDeclarativeAnimatedImage15setCurrentFrameEi @ 1739 NONAME - _ZN25QDeclarativeAnimatedImage16staticMetaObjectE @ 1740 NONAME DATA 16 - _ZN25QDeclarativeAnimatedImage17componentCompleteEv @ 1741 NONAME - _ZN25QDeclarativeAnimatedImage19getStaticMetaObjectEv @ 1742 NONAME - _ZN25QDeclarativeAnimatedImage20movieRequestFinishedEv @ 1743 NONAME - _ZN25QDeclarativeAnimatedImage20playingStatusChangedEv @ 1744 NONAME - _ZN25QDeclarativeAnimatedImage9setPausedEb @ 1745 NONAME - _ZN25QDeclarativeAnimatedImage9setSourceERK4QUrl @ 1746 NONAME - _ZN25QDeclarativeAnimatedImageC1EP16QDeclarativeItem @ 1747 NONAME - _ZN25QDeclarativeAnimatedImageC2EP16QDeclarativeItem @ 1748 NONAME - _ZN25QDeclarativeAnimatedImageD0Ev @ 1749 NONAME - _ZN25QDeclarativeAnimatedImageD1Ev @ 1750 NONAME - _ZN25QDeclarativeAnimatedImageD2Ev @ 1751 NONAME - _ZN25QDeclarativeImageProviderD0Ev @ 1752 NONAME - _ZN25QDeclarativeImageProviderD1Ev @ 1753 NONAME - _ZN25QDeclarativeImageProviderD2Ev @ 1754 NONAME - _ZN25QDeclarativeListReferenceC1EP7QObjectPKcP18QDeclarativeEngine @ 1755 NONAME - _ZN25QDeclarativeListReferenceC1ERKS_ @ 1756 NONAME - _ZN25QDeclarativeListReferenceC1Ev @ 1757 NONAME - _ZN25QDeclarativeListReferenceC2EP7QObjectPKcP18QDeclarativeEngine @ 1758 NONAME - _ZN25QDeclarativeListReferenceC2ERKS_ @ 1759 NONAME - _ZN25QDeclarativeListReferenceC2Ev @ 1760 NONAME - _ZN25QDeclarativeListReferenceD1Ev @ 1761 NONAME - _ZN25QDeclarativeListReferenceD2Ev @ 1762 NONAME - _ZN25QDeclarativeListReferenceaSERKS_ @ 1763 NONAME - _ZN25QDeclarativePathAttribute11nameChangedEv @ 1764 NONAME - _ZN25QDeclarativePathAttribute11qt_metacallEN11QMetaObject4CallEiPPv @ 1765 NONAME - _ZN25QDeclarativePathAttribute11qt_metacastEPKc @ 1766 NONAME - _ZN25QDeclarativePathAttribute16staticMetaObjectE @ 1767 NONAME DATA 16 - _ZN25QDeclarativePathAttribute19getStaticMetaObjectEv @ 1768 NONAME - _ZN25QDeclarativePathAttribute7setNameERK7QString @ 1769 NONAME - _ZN25QDeclarativePathAttribute8setValueEf @ 1770 NONAME - _ZN25QDeclarativeSystemPalette11eventFilterEP7QObjectP6QEvent @ 1771 NONAME - _ZN25QDeclarativeSystemPalette11qt_metacallEN11QMetaObject4CallEiPPv @ 1772 NONAME - _ZN25QDeclarativeSystemPalette11qt_metacastEPKc @ 1773 NONAME - _ZN25QDeclarativeSystemPalette13setColorGroupENS_10ColorGroupE @ 1774 NONAME - _ZN25QDeclarativeSystemPalette14paletteChangedEv @ 1775 NONAME - _ZN25QDeclarativeSystemPalette16staticMetaObjectE @ 1776 NONAME DATA 16 - _ZN25QDeclarativeSystemPalette19getStaticMetaObjectEv @ 1777 NONAME - _ZN25QDeclarativeSystemPalette5eventEP6QEvent @ 1778 NONAME - _ZN25QDeclarativeSystemPaletteC1EP7QObject @ 1779 NONAME - _ZN25QDeclarativeSystemPaletteC2EP7QObject @ 1780 NONAME - _ZN25QDeclarativeSystemPaletteD0Ev @ 1781 NONAME - _ZN25QDeclarativeSystemPaletteD1Ev @ 1782 NONAME - _ZN25QDeclarativeSystemPaletteD2Ev @ 1783 NONAME - _ZN26QDeclarativeBasePositioner10addChangedEv @ 1784 NONAME - _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1785 NONAME - _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1786 NONAME - _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1787 NONAME - _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1788 NONAME - _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1789 NONAME - _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1790 NONAME - _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1791 NONAME - _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1792 NONAME DATA 16 - _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1793 NONAME - _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1794 NONAME - _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1795 NONAME - _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1796 NONAME - _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1797 NONAME - _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1798 NONAME - _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1799 NONAME - _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1800 NONAME - _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1801 NONAME - _ZN26QDeclarativeBasePositionerD0Ev @ 1802 NONAME - _ZN26QDeclarativeBasePositionerD1Ev @ 1803 NONAME - _ZN26QDeclarativeBasePositionerD2Ev @ 1804 NONAME - _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 1805 NONAME - _ZN26QDeclarativeDebuggerStatusD0Ev @ 1806 NONAME - _ZN26QDeclarativeDebuggerStatusD1Ev @ 1807 NONAME - _ZN26QDeclarativeDebuggerStatusD2Ev @ 1808 NONAME - _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 1809 NONAME - _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 1810 NONAME - _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 1811 NONAME - _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 1812 NONAME - _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 1813 NONAME - _ZN26QDeclarativeOpenMetaObject15propertyWrittenEi @ 1814 NONAME - _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 1815 NONAME - _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 1816 NONAME - _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 1817 NONAME - _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 1818 NONAME - _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1819 NONAME - _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 1820 NONAME - _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1821 NONAME - _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 1822 NONAME - _ZN26QDeclarativeOpenMetaObjectD0Ev @ 1823 NONAME - _ZN26QDeclarativeOpenMetaObjectD1Ev @ 1824 NONAME - _ZN26QDeclarativeOpenMetaObjectD2Ev @ 1825 NONAME - _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 1826 NONAME - _ZN26QDeclarativeOpenMetaObjectixEi @ 1827 NONAME - _ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 1828 NONAME - _ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 1829 NONAME - _ZN26QDeclarativeStateOperation16staticMetaObjectE @ 1830 NONAME DATA 16 - _ZN26QDeclarativeStateOperation19getStaticMetaObjectEv @ 1831 NONAME - _ZN26QDeclarativeStateOperation7actionsEv @ 1832 NONAME - _ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 1833 NONAME - _ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 1834 NONAME - _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1835 NONAME - _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 1836 NONAME - _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 1837 NONAME - _ZN27QDeclarativeAbstractBinding5clearEv @ 1838 NONAME - _ZN27QDeclarativeAbstractBinding7destroyEv @ 1839 NONAME - _ZN27QDeclarativeAbstractBindingC2Ev @ 1840 NONAME - _ZN27QDeclarativeAbstractBindingD0Ev @ 1841 NONAME - _ZN27QDeclarativeAbstractBindingD1Ev @ 1842 NONAME - _ZN27QDeclarativeAbstractBindingD2Ev @ 1843 NONAME - _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 1844 NONAME - _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 1845 NONAME - _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 1846 NONAME DATA 16 - _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 1847 NONAME - _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 1848 NONAME - _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 1849 NONAME - _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 1850 NONAME - _ZN27QDeclarativeDomValueBindingC1Ev @ 1851 NONAME - _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 1852 NONAME - _ZN27QDeclarativeDomValueBindingC2Ev @ 1853 NONAME - _ZN27QDeclarativeDomValueBindingD1Ev @ 1854 NONAME - _ZN27QDeclarativeDomValueBindingD2Ev @ 1855 NONAME - _ZN27QDeclarativeDomValueBindingaSERKS_ @ 1856 NONAME - _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 1857 NONAME - _ZN27QDeclarativeDomValueLiteralC1Ev @ 1858 NONAME - _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 1859 NONAME - _ZN27QDeclarativeDomValueLiteralC2Ev @ 1860 NONAME - _ZN27QDeclarativeDomValueLiteralD1Ev @ 1861 NONAME - _ZN27QDeclarativeDomValueLiteralD2Ev @ 1862 NONAME - _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 1863 NONAME - _ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1864 NONAME - _ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 1865 NONAME - _ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1866 NONAME - _ZN27QDeclarativeExtensionPlugin16staticMetaObjectE @ 1867 NONAME DATA 16 - _ZN27QDeclarativeExtensionPlugin19getStaticMetaObjectEv @ 1868 NONAME - _ZN27QDeclarativeExtensionPluginC2EP7QObject @ 1869 NONAME - _ZN27QDeclarativeExtensionPluginD0Ev @ 1870 NONAME - _ZN27QDeclarativeExtensionPluginD1Ev @ 1871 NONAME - _ZN27QDeclarativeExtensionPluginD2Ev @ 1872 NONAME - _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 1873 NONAME - _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 1874 NONAME - _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 1875 NONAME - _ZN27QDeclarativeGridScaledImageC1Ev @ 1876 NONAME - _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 1877 NONAME - _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 1878 NONAME - _ZN27QDeclarativeGridScaledImageC2Ev @ 1879 NONAME - _ZN27QDeclarativeGridScaledImageaSERKS_ @ 1880 NONAME - _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1881 NONAME - _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1882 NONAME - _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1883 NONAME - _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1884 NONAME DATA 16 - _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1885 NONAME - _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1886 NONAME - _ZN27QDeclarativePropertyChanges7actionsEv @ 1887 NONAME - _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1888 NONAME - _ZN27QDeclarativePropertyChangesC1Ev @ 1889 NONAME - _ZN27QDeclarativePropertyChangesC2Ev @ 1890 NONAME - _ZN27QDeclarativePropertyChangesD0Ev @ 1891 NONAME - _ZN27QDeclarativePropertyChangesD1Ev @ 1892 NONAME - _ZN27QDeclarativePropertyChangesD2Ev @ 1893 NONAME - _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 1894 NONAME - _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectiiP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 1895 NONAME - _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 1896 NONAME - _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 1897 NONAME - _ZN27QDeclarativePropertyPrivate12bindingIndexERK20QDeclarativeProperty @ 1898 NONAME - _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 1899 NONAME - _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 1900 NONAME - _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 1901 NONAME - _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 1902 NONAME - _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 1903 NONAME - _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 1904 NONAME - _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 1905 NONAME - _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 1906 NONAME - _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 1907 NONAME - _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 1908 NONAME - _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 1909 NONAME - _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP23QDeclarativeContextData6QFlagsINS_9WriteFlagEE @ 1910 NONAME - _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 1911 NONAME - _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 1912 NONAME - _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP23QDeclarativeContextData @ 1913 NONAME - _ZN27QDeclarativeVisualDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1914 NONAME - _ZN27QDeclarativeVisualDataModel11qt_metacastEPKc @ 1915 NONAME - _ZN27QDeclarativeVisualDataModel11setDelegateEP21QDeclarativeComponent @ 1916 NONAME - _ZN27QDeclarativeVisualDataModel11stringValueEiRK7QString @ 1917 NONAME - _ZN27QDeclarativeVisualDataModel12_q_rowsMovedERK11QModelIndexiiS2_i @ 1918 NONAME - _ZN27QDeclarativeVisualDataModel12completeItemEv @ 1919 NONAME - _ZN27QDeclarativeVisualDataModel12setRootIndexERK11QModelIndex @ 1920 NONAME ABSENT - _ZN27QDeclarativeVisualDataModel13_q_itemsMovedEiii @ 1921 NONAME - _ZN27QDeclarativeVisualDataModel13_q_modelResetEv @ 1922 NONAME - _ZN27QDeclarativeVisualDataModel14_q_dataChangedERK11QModelIndexS2_ @ 1923 NONAME - _ZN27QDeclarativeVisualDataModel14_q_rowsRemovedERK11QModelIndexii @ 1924 NONAME - _ZN27QDeclarativeVisualDataModel14createdPackageEiP19QDeclarativePackage @ 1925 NONAME - _ZN27QDeclarativeVisualDataModel15_q_itemsChangedEiiRK5QListIiE @ 1926 NONAME - _ZN27QDeclarativeVisualDataModel15_q_itemsRemovedEii @ 1927 NONAME - _ZN27QDeclarativeVisualDataModel15_q_rowsInsertedERK11QModelIndexii @ 1928 NONAME - _ZN27QDeclarativeVisualDataModel16_q_itemsInsertedEii @ 1929 NONAME - _ZN27QDeclarativeVisualDataModel16rootIndexChangedEv @ 1930 NONAME - _ZN27QDeclarativeVisualDataModel16staticMetaObjectE @ 1931 NONAME DATA 16 - _ZN27QDeclarativeVisualDataModel17_q_createdPackageEiP19QDeclarativePackage @ 1932 NONAME - _ZN27QDeclarativeVisualDataModel17destroyingPackageEP19QDeclarativePackage @ 1933 NONAME - _ZN27QDeclarativeVisualDataModel19getStaticMetaObjectEv @ 1934 NONAME - _ZN27QDeclarativeVisualDataModel20_q_destroyingPackageEP19QDeclarativePackage @ 1935 NONAME - _ZN27QDeclarativeVisualDataModel4itemEiRK10QByteArrayb @ 1936 NONAME - _ZN27QDeclarativeVisualDataModel4itemEib @ 1937 NONAME - _ZN27QDeclarativeVisualDataModel5partsEv @ 1938 NONAME - _ZN27QDeclarativeVisualDataModel7releaseEP16QDeclarativeItem @ 1939 NONAME - _ZN27QDeclarativeVisualDataModel7setPartERK7QString @ 1940 NONAME - _ZN27QDeclarativeVisualDataModel8evaluateEiRK7QStringP7QObject @ 1941 NONAME - _ZN27QDeclarativeVisualDataModel8setModelERK8QVariant @ 1942 NONAME - _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1943 NONAME ABSENT - _ZN27QDeclarativeVisualDataModelC1Ev @ 1944 NONAME - _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1945 NONAME ABSENT - _ZN27QDeclarativeVisualDataModelC2Ev @ 1946 NONAME - _ZN27QDeclarativeVisualDataModelD0Ev @ 1947 NONAME - _ZN27QDeclarativeVisualDataModelD1Ev @ 1948 NONAME - _ZN27QDeclarativeVisualDataModelD2Ev @ 1949 NONAME - _ZN27QDeclarativeVisualItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1950 NONAME - _ZN27QDeclarativeVisualItemModel11qt_metacastEPKc @ 1951 NONAME - _ZN27QDeclarativeVisualItemModel11stringValueEiRK7QString @ 1952 NONAME - _ZN27QDeclarativeVisualItemModel12completeItemEv @ 1953 NONAME - _ZN27QDeclarativeVisualItemModel15childrenChangedEv @ 1954 NONAME - _ZN27QDeclarativeVisualItemModel16staticMetaObjectE @ 1955 NONAME DATA 16 - _ZN27QDeclarativeVisualItemModel19getStaticMetaObjectEv @ 1956 NONAME - _ZN27QDeclarativeVisualItemModel21qmlAttachedPropertiesEP7QObject @ 1957 NONAME - _ZN27QDeclarativeVisualItemModel4itemEib @ 1958 NONAME - _ZN27QDeclarativeVisualItemModel7releaseEP16QDeclarativeItem @ 1959 NONAME - _ZN27QDeclarativeVisualItemModel8childrenEv @ 1960 NONAME - _ZN27QDeclarativeVisualItemModel8evaluateEiRK7QStringP7QObject @ 1961 NONAME - _ZN27QDeclarativeVisualItemModelC1Ev @ 1962 NONAME ABSENT - _ZN27QDeclarativeVisualItemModelC2Ev @ 1963 NONAME ABSENT - _ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 1964 NONAME - _ZN28QDeclarativeCustomParserNodeC1Ev @ 1965 NONAME - _ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 1966 NONAME - _ZN28QDeclarativeCustomParserNodeC2Ev @ 1967 NONAME - _ZN28QDeclarativeCustomParserNodeD1Ev @ 1968 NONAME - _ZN28QDeclarativeCustomParserNodeD2Ev @ 1969 NONAME - _ZN28QDeclarativeCustomParserNodeaSERKS_ @ 1970 NONAME - _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1971 NONAME - _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 1972 NONAME - _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 1973 NONAME DATA 16 - _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 1974 NONAME - _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 1975 NONAME - _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 1976 NONAME - _ZN28QDeclarativeDebugObjectQueryD0Ev @ 1977 NONAME - _ZN28QDeclarativeDebugObjectQueryD1Ev @ 1978 NONAME - _ZN28QDeclarativeDebugObjectQueryD2Ev @ 1979 NONAME - _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 1980 NONAME - _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 1981 NONAME - _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 1982 NONAME - _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 1983 NONAME - _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 1984 NONAME - _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 1985 NONAME - _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 1986 NONAME - _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 1987 NONAME - _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 1988 NONAME - _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 1989 NONAME - _ZN28QDeclarativeValueTypeFactory11isValueTypeEi @ 1990 NONAME - _ZN28QDeclarativeValueTypeFactory18registerValueTypesEv @ 1991 NONAME - _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 1992 NONAME - _ZN28QDeclarativeValueTypeFactoryC1Ev @ 1993 NONAME - _ZN28QDeclarativeValueTypeFactoryC2Ev @ 1994 NONAME - _ZN28QDeclarativeValueTypeFactoryD1Ev @ 1995 NONAME - _ZN28QDeclarativeValueTypeFactoryD2Ev @ 1996 NONAME - _ZN28QDeclarativeXmlListModelRole11nameChangedEv @ 1997 NONAME - _ZN28QDeclarativeXmlListModelRole11qt_metacallEN11QMetaObject4CallEiPPv @ 1998 NONAME - _ZN28QDeclarativeXmlListModelRole11qt_metacastEPKc @ 1999 NONAME - _ZN28QDeclarativeXmlListModelRole12isKeyChangedEv @ 2000 NONAME - _ZN28QDeclarativeXmlListModelRole12queryChangedEv @ 2001 NONAME - _ZN28QDeclarativeXmlListModelRole16staticMetaObjectE @ 2002 NONAME DATA 16 - _ZN28QDeclarativeXmlListModelRole19getStaticMetaObjectEv @ 2003 NONAME - _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2004 NONAME - _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 2005 NONAME - _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 2006 NONAME DATA 16 - _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 2007 NONAME - _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 2008 NONAME - _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 2009 NONAME - _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 2010 NONAME - _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 2011 NONAME - _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 2012 NONAME - _ZN29QDeclarativeSmoothedAnimation10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEN29QDeclarativeAbstractAnimation19TransitionDirectionE @ 2013 NONAME - _ZN29QDeclarativeSmoothedAnimation11qtAnimationEv @ 2014 NONAME - _ZN29QDeclarativeSmoothedAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 2015 NONAME - _ZN29QDeclarativeSmoothedAnimation11qt_metacastEPKc @ 2016 NONAME - _ZN29QDeclarativeSmoothedAnimation11setDurationEi @ 2017 NONAME - _ZN29QDeclarativeSmoothedAnimation11setVelocityEf @ 2018 NONAME - _ZN29QDeclarativeSmoothedAnimation15velocityChangedEv @ 2019 NONAME - _ZN29QDeclarativeSmoothedAnimation16setReversingModeENS_13ReversingModeE @ 2020 NONAME - _ZN29QDeclarativeSmoothedAnimation16staticMetaObjectE @ 2021 NONAME DATA 16 - _ZN29QDeclarativeSmoothedAnimation19getStaticMetaObjectEv @ 2022 NONAME - _ZN29QDeclarativeSmoothedAnimation20reversingModeChangedEv @ 2023 NONAME - _ZN29QDeclarativeSmoothedAnimation20setMaximumEasingTimeEi @ 2024 NONAME - _ZN29QDeclarativeSmoothedAnimation24maximumEasingTimeChangedEv @ 2025 NONAME - _ZN29QDeclarativeSmoothedAnimationC1EP7QObject @ 2026 NONAME - _ZN29QDeclarativeSmoothedAnimationC2EP7QObject @ 2027 NONAME - _ZN29QDeclarativeSmoothedAnimationD0Ev @ 2028 NONAME - _ZN29QDeclarativeSmoothedAnimationD1Ev @ 2029 NONAME - _ZN29QDeclarativeSmoothedAnimationD2Ev @ 2030 NONAME - _ZN29QDeclarativeStateChangeScript11qt_metacallEN11QMetaObject4CallEiPPv @ 2031 NONAME - _ZN29QDeclarativeStateChangeScript11qt_metacastEPKc @ 2032 NONAME - _ZN29QDeclarativeStateChangeScript16staticMetaObjectE @ 2033 NONAME DATA 16 - _ZN29QDeclarativeStateChangeScript19getStaticMetaObjectEv @ 2034 NONAME - _ZN29QDeclarativeStateChangeScript7actionsEv @ 2035 NONAME - _ZN29QDeclarativeStateChangeScript7executeEv @ 2036 NONAME ABSENT - _ZN29QDeclarativeStateChangeScript7setNameERK7QString @ 2037 NONAME - _ZN29QDeclarativeStateChangeScript9setScriptERK24QDeclarativeScriptString @ 2038 NONAME - _ZN29QDeclarativeStateChangeScriptC1EP7QObject @ 2039 NONAME - _ZN29QDeclarativeStateChangeScriptC2EP7QObject @ 2040 NONAME - _ZN29QDeclarativeStateChangeScriptD0Ev @ 2041 NONAME - _ZN29QDeclarativeStateChangeScriptD1Ev @ 2042 NONAME - _ZN29QDeclarativeStateChangeScriptD2Ev @ 2043 NONAME - _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 2044 NONAME - _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 2045 NONAME - _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 2046 NONAME - _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 2047 NONAME - _ZN30QDeclarativeDebugFileReferenceC1Ev @ 2048 NONAME - _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 2049 NONAME - _ZN30QDeclarativeDebugFileReferenceC2Ev @ 2050 NONAME - _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 2051 NONAME - _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2052 NONAME - _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 2053 NONAME - _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 2054 NONAME DATA 16 - _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 2055 NONAME - _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 2056 NONAME - _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 2057 NONAME - _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 2058 NONAME - _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 2059 NONAME - _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 2060 NONAME - _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 2061 NONAME - _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 2062 NONAME - _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 2063 NONAME - _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 2064 NONAME - _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 2065 NONAME - _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 2066 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 2067 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 2068 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 2069 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 2070 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 2071 NONAME - _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 2072 NONAME - _ZN31QDeclarativeDomValueValueSourceC1Ev @ 2073 NONAME - _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 2074 NONAME - _ZN31QDeclarativeDomValueValueSourceC2Ev @ 2075 NONAME - _ZN31QDeclarativeDomValueValueSourceD1Ev @ 2076 NONAME - _ZN31QDeclarativeDomValueValueSourceD2Ev @ 2077 NONAME - _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 2078 NONAME - _ZN31QDeclarativePropertyValueSourceC2Ev @ 2079 NONAME - _ZN31QDeclarativePropertyValueSourceD0Ev @ 2080 NONAME - _ZN31QDeclarativePropertyValueSourceD1Ev @ 2081 NONAME - _ZN31QDeclarativePropertyValueSourceD2Ev @ 2082 NONAME - _ZN32QDeclarativeCustomParserPropertyC1ERKS_ @ 2083 NONAME - _ZN32QDeclarativeCustomParserPropertyC1Ev @ 2084 NONAME - _ZN32QDeclarativeCustomParserPropertyC2ERKS_ @ 2085 NONAME - _ZN32QDeclarativeCustomParserPropertyC2Ev @ 2086 NONAME - _ZN32QDeclarativeCustomParserPropertyD1Ev @ 2087 NONAME - _ZN32QDeclarativeCustomParserPropertyD2Ev @ 2088 NONAME - _ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 2089 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 2090 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 2091 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 2092 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 2093 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 2094 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 2095 NONAME - _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 2096 NONAME - _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2097 NONAME - _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 2098 NONAME - _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 2099 NONAME DATA 16 - _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 2100 NONAME - _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 2101 NONAME - _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 2102 NONAME - _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 2103 NONAME - _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 2104 NONAME - _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 2105 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 2106 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 2107 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 2108 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 2109 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 2110 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 2111 NONAME - _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 2112 NONAME - _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 2113 NONAME - _ZN33QDeclarativeDebugContextReferenceC1Ev @ 2114 NONAME - _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 2115 NONAME - _ZN33QDeclarativeDebugContextReferenceC2Ev @ 2116 NONAME - _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 2117 NONAME - _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2118 NONAME - _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 2119 NONAME - _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 2120 NONAME DATA 16 - _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 2121 NONAME - _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 2122 NONAME - _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 2123 NONAME - _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 2124 NONAME - _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 2125 NONAME - _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 2126 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 2127 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 2128 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 2129 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 2130 NONAME - _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 2131 NONAME - _ZN35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 2132 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer11eventFilterEP7QObjectP6QEvent @ 2133 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 2134 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer11qt_metacastEPKc @ 2135 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer16staticMetaObjectE @ 2136 NONAME DATA 16 ABSENT - _ZN35QDeclarativeGraphicsObjectContainer17setGraphicsObjectEP15QGraphicsObject @ 2137 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer19getStaticMetaObjectEv @ 2138 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainer23setSynchronizedResizingEb @ 2139 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainerC1EP16QDeclarativeItem @ 2140 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainerC2EP16QDeclarativeItem @ 2141 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainerD0Ev @ 2142 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainerD1Ev @ 2143 NONAME ABSENT - _ZN35QDeclarativeGraphicsObjectContainerD2Ev @ 2144 NONAME ABSENT - _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 2145 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 2146 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 2147 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 2148 NONAME - _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 2149 NONAME - _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 2150 NONAME - _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 2151 NONAME - _ZN36QDeclarativePropertyValueInterceptorC2Ev @ 2152 NONAME - _ZN36QDeclarativePropertyValueInterceptorD0Ev @ 2153 NONAME - _ZN36QDeclarativePropertyValueInterceptorD1Ev @ 2154 NONAME - _ZN36QDeclarativePropertyValueInterceptorD2Ev @ 2155 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2156 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 2157 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 2158 NONAME DATA 16 - _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 2159 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 2160 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 2161 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 2162 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 2163 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 2164 NONAME - _ZN7QPacket5clearEv @ 2165 NONAME - _ZN7QPacketC1ERK10QByteArray @ 2166 NONAME - _ZN7QPacketC1ERKS_ @ 2167 NONAME - _ZN7QPacketC1Ev @ 2168 NONAME - _ZN7QPacketC2ERK10QByteArray @ 2169 NONAME - _ZN7QPacketC2ERKS_ @ 2170 NONAME - _ZN7QPacketC2Ev @ 2171 NONAME - _ZN7QPacketD0Ev @ 2172 NONAME - _ZN7QPacketD1Ev @ 2173 NONAME - _ZN7QPacketD2Ev @ 2174 NONAME - _ZNK15QDeclarativePen10metaObjectEv @ 2175 NONAME - _ZNK15QDeclarativeRow10metaObjectEv @ 2176 NONAME - _ZNK15QPacketProtocol10metaObjectEv @ 2177 NONAME - _ZNK15QPacketProtocol16packetsAvailableEv @ 2178 NONAME - _ZNK15QPacketProtocol17maximumPacketSizeEv @ 2179 NONAME - _ZNK16QDeclarativeBind10metaObjectEv @ 2180 NONAME - _ZNK16QDeclarativeBind4whenEv @ 2181 NONAME - _ZNK16QDeclarativeBind5valueEv @ 2182 NONAME - _ZNK16QDeclarativeBind8propertyEv @ 2183 NONAME - _ZNK16QDeclarativeDrag10metaObjectEv @ 2184 NONAME - _ZNK16QDeclarativeDrag4axisEv @ 2185 NONAME - _ZNK16QDeclarativeDrag4xmaxEv @ 2186 NONAME - _ZNK16QDeclarativeDrag4xminEv @ 2187 NONAME - _ZNK16QDeclarativeDrag4ymaxEv @ 2188 NONAME - _ZNK16QDeclarativeDrag4yminEv @ 2189 NONAME - _ZNK16QDeclarativeDrag6targetEv @ 2190 NONAME - _ZNK16QDeclarativeFlow10metaObjectEv @ 2191 NONAME - _ZNK16QDeclarativeFlow4flowEv @ 2192 NONAME - _ZNK16QDeclarativeGrid10metaObjectEv @ 2193 NONAME - _ZNK16QDeclarativeItem10metaObjectEv @ 2194 NONAME - _ZNK16QDeclarativeItem10parentItemEv @ 2195 NONAME - _ZNK16QDeclarativeItem10wantsFocusEv @ 2196 NONAME - _ZNK16QDeclarativeItem10widthValidEv @ 2197 NONAME - _ZNK16QDeclarativeItem11heightValidEv @ 2198 NONAME - _ZNK16QDeclarativeItem11mapFromItemERK12QScriptValueff @ 2199 NONAME - _ZNK16QDeclarativeItem12boundingRectEv @ 2200 NONAME - _ZNK16QDeclarativeItem13implicitWidthEv @ 2201 NONAME - _ZNK16QDeclarativeItem13keepMouseGrabEv @ 2202 NONAME - _ZNK16QDeclarativeItem14baselineOffsetEv @ 2203 NONAME - _ZNK16QDeclarativeItem14implicitHeightEv @ 2204 NONAME - _ZNK16QDeclarativeItem14verticalCenterEv @ 2205 NONAME ABSENT - _ZNK16QDeclarativeItem15transformOriginEv @ 2206 NONAME - _ZNK16QDeclarativeItem16horizontalCenterEv @ 2207 NONAME ABSENT - _ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 2208 NONAME - _ZNK16QDeclarativeItem19isComponentCompleteEv @ 2209 NONAME - _ZNK16QDeclarativeItem3topEv @ 2210 NONAME ABSENT - _ZNK16QDeclarativeItem4clipEv @ 2211 NONAME - _ZNK16QDeclarativeItem4leftEv @ 2212 NONAME ABSENT - _ZNK16QDeclarativeItem5rightEv @ 2213 NONAME ABSENT - _ZNK16QDeclarativeItem5stateEv @ 2214 NONAME ABSENT - _ZNK16QDeclarativeItem5widthEv @ 2215 NONAME - _ZNK16QDeclarativeItem6bottomEv @ 2216 NONAME ABSENT - _ZNK16QDeclarativeItem6heightEv @ 2217 NONAME - _ZNK16QDeclarativeItem6smoothEv @ 2218 NONAME - _ZNK16QDeclarativeItem8baselineEv @ 2219 NONAME ABSENT - _ZNK16QDeclarativeItem8hasFocusEv @ 2220 NONAME - _ZNK16QDeclarativeItem9mapToItemERK12QScriptValueff @ 2221 NONAME - _ZNK16QDeclarativePath10attributesEv @ 2222 NONAME - _ZNK16QDeclarativePath10metaObjectEv @ 2223 NONAME - _ZNK16QDeclarativePath11attributeAtERK7QStringf @ 2224 NONAME - _ZNK16QDeclarativePath16createPointCacheEv @ 2225 NONAME - _ZNK16QDeclarativePath4pathEv @ 2226 NONAME - _ZNK16QDeclarativePath6startXEv @ 2227 NONAME - _ZNK16QDeclarativePath6startYEv @ 2228 NONAME - _ZNK16QDeclarativePath7pointAtEf @ 2229 NONAME - _ZNK16QDeclarativePath8isClosedEv @ 2230 NONAME - _ZNK16QDeclarativeText10metaObjectEv @ 2231 NONAME - _ZNK16QDeclarativeText10styleColorEv @ 2232 NONAME - _ZNK16QDeclarativeText10textFormatEv @ 2233 NONAME - _ZNK16QDeclarativeText4fontEv @ 2234 NONAME - _ZNK16QDeclarativeText4textEv @ 2235 NONAME - _ZNK16QDeclarativeText4wrapEv @ 2236 NONAME ABSENT - _ZNK16QDeclarativeText5colorEv @ 2237 NONAME - _ZNK16QDeclarativeText5styleEv @ 2238 NONAME - _ZNK16QDeclarativeText6hAlignEv @ 2239 NONAME - _ZNK16QDeclarativeText6vAlignEv @ 2240 NONAME - _ZNK16QDeclarativeText9elideModeEv @ 2241 NONAME - _ZNK16QDeclarativeType10metaObjectEv @ 2242 NONAME - _ZNK16QDeclarativeType11isCreatableEv @ 2243 NONAME - _ZNK16QDeclarativeType11isInterfaceEv @ 2244 NONAME - _ZNK16QDeclarativeType11qListTypeIdEv @ 2245 NONAME - _ZNK16QDeclarativeType11qmlTypeNameEv @ 2246 NONAME - _ZNK16QDeclarativeType12customParserEv @ 2247 NONAME - _ZNK16QDeclarativeType12interfaceIIdEv @ 2248 NONAME - _ZNK16QDeclarativeType12majorVersionEv @ 2249 NONAME - _ZNK16QDeclarativeType12minorVersionEv @ 2250 NONAME - _ZNK16QDeclarativeType14baseMetaObjectEv @ 2251 NONAME - _ZNK16QDeclarativeType16parserStatusCastEv @ 2252 NONAME - _ZNK16QDeclarativeType18availableInVersionEii @ 2253 NONAME - _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 2254 NONAME - _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 2255 NONAME - _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 2256 NONAME - _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 2257 NONAME - _ZNK16QDeclarativeType5indexEv @ 2258 NONAME - _ZNK16QDeclarativeType6createEPP7QObjectPPvj @ 2259 NONAME - _ZNK16QDeclarativeType6createEv @ 2260 NONAME - _ZNK16QDeclarativeType6typeIdEv @ 2261 NONAME - _ZNK16QDeclarativeType8typeNameEv @ 2262 NONAME - _ZNK16QDeclarativeView10metaObjectEv @ 2263 NONAME - _ZNK16QDeclarativeView10resizeModeEv @ 2264 NONAME - _ZNK16QDeclarativeView10rootObjectEv @ 2265 NONAME - _ZNK16QDeclarativeView6errorsEv @ 2266 NONAME - _ZNK16QDeclarativeView6sourceEv @ 2267 NONAME - _ZNK16QDeclarativeView6statusEv @ 2268 NONAME - _ZNK16QDeclarativeView8sizeHintEv @ 2269 NONAME - _ZNK16QMetaEnumBuilder3keyEi @ 2270 NONAME - _ZNK16QMetaEnumBuilder4nameEv @ 2271 NONAME - _ZNK16QMetaEnumBuilder5valueEi @ 2272 NONAME - _ZNK16QMetaEnumBuilder6d_funcEv @ 2273 NONAME - _ZNK16QMetaEnumBuilder6isFlagEv @ 2274 NONAME - _ZNK16QMetaEnumBuilder8keyCountEv @ 2275 NONAME - _ZNK17QDeclarativeCurve10metaObjectEv @ 2276 NONAME - _ZNK17QDeclarativeCurve1xEv @ 2277 NONAME - _ZNK17QDeclarativeCurve1yEv @ 2278 NONAME - _ZNK17QDeclarativeError11descriptionEv @ 2279 NONAME - _ZNK17QDeclarativeError3urlEv @ 2280 NONAME - _ZNK17QDeclarativeError4lineEv @ 2281 NONAME - _ZNK17QDeclarativeError6columnEv @ 2282 NONAME - _ZNK17QDeclarativeError7isValidEv @ 2283 NONAME - _ZNK17QDeclarativeError8toStringEv @ 2284 NONAME - _ZNK17QDeclarativeImage10metaObjectEv @ 2285 NONAME - _ZNK17QDeclarativeImage12paintedWidthEv @ 2286 NONAME - _ZNK17QDeclarativeImage13paintedHeightEv @ 2287 NONAME - _ZNK17QDeclarativeImage6pixmapEv @ 2288 NONAME - _ZNK17QDeclarativeImage8fillModeEv @ 2289 NONAME - _ZNK17QDeclarativeState10metaObjectEv @ 2290 NONAME - _ZNK17QDeclarativeState10stateGroupEv @ 2291 NONAME - _ZNK17QDeclarativeState11isWhenKnownEv @ 2292 NONAME - _ZNK17QDeclarativeState11operationAtEi @ 2293 NONAME - _ZNK17QDeclarativeState14operationCountEv @ 2294 NONAME - _ZNK17QDeclarativeState4nameEv @ 2295 NONAME - _ZNK17QDeclarativeState4whenEv @ 2296 NONAME - _ZNK17QDeclarativeState7extendsEv @ 2297 NONAME - _ZNK17QDeclarativeTimer10metaObjectEv @ 2298 NONAME - _ZNK17QDeclarativeTimer11isRepeatingEv @ 2299 NONAME - _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 2300 NONAME - _ZNK17QDeclarativeTimer8intervalEv @ 2301 NONAME - _ZNK17QDeclarativeTimer9isRunningEv @ 2302 NONAME - _ZNK18QDeclarativeColumn10metaObjectEv @ 2303 NONAME - _ZNK18QDeclarativeEngine10metaObjectEv @ 2304 NONAME - _ZNK18QDeclarativeEngine13imageProviderERK7QString @ 2305 NONAME - _ZNK18QDeclarativeEngine14importPathListEv @ 2306 NONAME - _ZNK18QDeclarativeEngine18offlineStoragePathEv @ 2307 NONAME - _ZNK18QDeclarativeEngine20networkAccessManagerEv @ 2308 NONAME - _ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 2309 NONAME - _ZNK18QDeclarativeEngine7baseUrlEv @ 2310 NONAME - _ZNK18QDeclarativeLoader10metaObjectEv @ 2311 NONAME - _ZNK18QDeclarativeLoader10resizeModeEv @ 2312 NONAME ABSENT - _ZNK18QDeclarativeLoader15sourceComponentEv @ 2313 NONAME - _ZNK18QDeclarativeLoader4itemEv @ 2314 NONAME - _ZNK18QDeclarativeLoader6sourceEv @ 2315 NONAME - _ZNK18QDeclarativeLoader6statusEv @ 2316 NONAME - _ZNK18QDeclarativeLoader8progressEv @ 2317 NONAME - _ZNK18QMetaMethodBuilder10attributesEv @ 2318 NONAME - _ZNK18QMetaMethodBuilder10methodTypeEv @ 2319 NONAME - _ZNK18QMetaMethodBuilder10returnTypeEv @ 2320 NONAME - _ZNK18QMetaMethodBuilder14parameterNamesEv @ 2321 NONAME - _ZNK18QMetaMethodBuilder3tagEv @ 2322 NONAME - _ZNK18QMetaMethodBuilder5indexEv @ 2323 NONAME - _ZNK18QMetaMethodBuilder6accessEv @ 2324 NONAME - _ZNK18QMetaMethodBuilder6d_funcEv @ 2325 NONAME - _ZNK18QMetaMethodBuilder9signatureEv @ 2326 NONAME - _ZNK18QMetaObjectBuilder10enumeratorEi @ 2327 NONAME - _ZNK18QMetaObjectBuilder10superClassEv @ 2328 NONAME - _ZNK18QMetaObjectBuilder11constructorEi @ 2329 NONAME - _ZNK18QMetaObjectBuilder11methodCountEv @ 2330 NONAME - _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 2331 NONAME - _ZNK18QMetaObjectBuilder13classInfoNameEi @ 2332 NONAME - _ZNK18QMetaObjectBuilder13propertyCountEv @ 2333 NONAME - _ZNK18QMetaObjectBuilder14classInfoCountEv @ 2334 NONAME - _ZNK18QMetaObjectBuilder14classInfoValueEi @ 2335 NONAME - _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 2336 NONAME - _ZNK18QMetaObjectBuilder16constructorCountEv @ 2337 NONAME - _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 2338 NONAME - _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 2339 NONAME - _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 2340 NONAME - _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 2341 NONAME - _ZNK18QMetaObjectBuilder5flagsEv @ 2342 NONAME - _ZNK18QMetaObjectBuilder6methodEi @ 2343 NONAME - _ZNK18QMetaObjectBuilder8propertyEi @ 2344 NONAME - _ZNK18QMetaObjectBuilder9classNameEv @ 2345 NONAME - _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 2346 NONAME - _ZNK19QDeclarativeAnchors10leftMarginEv @ 2347 NONAME - _ZNK19QDeclarativeAnchors10metaObjectEv @ 2348 NONAME - _ZNK19QDeclarativeAnchors11rightMarginEv @ 2349 NONAME - _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 2350 NONAME - _ZNK19QDeclarativeAnchors12bottomMarginEv @ 2351 NONAME - _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 2352 NONAME - _ZNK19QDeclarativeAnchors14verticalCenterEv @ 2353 NONAME - _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 2354 NONAME - _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 2355 NONAME - _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 2356 NONAME - _ZNK19QDeclarativeAnchors3topEv @ 2357 NONAME - _ZNK19QDeclarativeAnchors4fillEv @ 2358 NONAME - _ZNK19QDeclarativeAnchors4leftEv @ 2359 NONAME - _ZNK19QDeclarativeAnchors5rightEv @ 2360 NONAME - _ZNK19QDeclarativeAnchors6bottomEv @ 2361 NONAME - _ZNK19QDeclarativeAnchors7marginsEv @ 2362 NONAME - _ZNK19QDeclarativeAnchors8baselineEv @ 2363 NONAME - _ZNK19QDeclarativeAnchors8centerInEv @ 2364 NONAME - _ZNK19QDeclarativeAnchors9topMarginEv @ 2365 NONAME - _ZNK19QDeclarativeBinding10expressionEv @ 2366 NONAME - _ZNK19QDeclarativeBinding10metaObjectEv @ 2367 NONAME - _ZNK19QDeclarativeBinding7enabledEv @ 2368 NONAME - _ZNK19QDeclarativeBinding8propertyEv @ 2369 NONAME - _ZNK19QDeclarativeContext10metaObjectEv @ 2370 NONAME - _ZNK19QDeclarativeContext13contextObjectEv @ 2371 NONAME - _ZNK19QDeclarativeContext13parentContextEv @ 2372 NONAME - _ZNK19QDeclarativeContext15contextPropertyERK7QString @ 2373 NONAME - _ZNK19QDeclarativeContext6engineEv @ 2374 NONAME - _ZNK19QDeclarativeContext7baseUrlEv @ 2375 NONAME - _ZNK19QDeclarativeDomList14commaPositionsEv @ 2376 NONAME - _ZNK19QDeclarativeDomList6lengthEv @ 2377 NONAME - _ZNK19QDeclarativeDomList6valuesEv @ 2378 NONAME - _ZNK19QDeclarativeDomList8positionEv @ 2379 NONAME - _ZNK19QListModelInterface10metaObjectEv @ 2380 NONAME - _ZNK20QDeclarativeBehavior10metaObjectEv @ 2381 NONAME - _ZNK20QDeclarativeBehavior7enabledEv @ 2382 NONAME - _ZNK20QDeclarativeCompiler12evaluateEnumERK10QByteArray @ 2383 NONAME - _ZNK20QDeclarativeCompiler6errorsEv @ 2384 NONAME - _ZNK20QDeclarativeCompiler7isErrorEv @ 2385 NONAME - _ZNK20QDeclarativeDomValue13isValueSourceEv @ 2386 NONAME - _ZNK20QDeclarativeDomValue13toValueSourceEv @ 2387 NONAME - _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 2388 NONAME - _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 2389 NONAME - _ZNK20QDeclarativeDomValue4typeEv @ 2390 NONAME - _ZNK20QDeclarativeDomValue6isListEv @ 2391 NONAME - _ZNK20QDeclarativeDomValue6lengthEv @ 2392 NONAME - _ZNK20QDeclarativeDomValue6toListEv @ 2393 NONAME - _ZNK20QDeclarativeDomValue8isObjectEv @ 2394 NONAME - _ZNK20QDeclarativeDomValue8positionEv @ 2395 NONAME - _ZNK20QDeclarativeDomValue8toObjectEv @ 2396 NONAME - _ZNK20QDeclarativeDomValue9isBindingEv @ 2397 NONAME - _ZNK20QDeclarativeDomValue9isInvalidEv @ 2398 NONAME - _ZNK20QDeclarativeDomValue9isLiteralEv @ 2399 NONAME - _ZNK20QDeclarativeDomValue9toBindingEv @ 2400 NONAME - _ZNK20QDeclarativeDomValue9toLiteralEv @ 2401 NONAME - _ZNK20QDeclarativeFlipable10metaObjectEv @ 2402 NONAME - _ZNK20QDeclarativeFlipable4sideEv @ 2403 NONAME - _ZNK20QDeclarativeGradient10metaObjectEv @ 2404 NONAME - _ZNK20QDeclarativeGradient8gradientEv @ 2405 NONAME - _ZNK20QDeclarativeGridView10cellHeightEv @ 2406 NONAME - _ZNK20QDeclarativeGridView10maxXExtentEv @ 2407 NONAME - _ZNK20QDeclarativeGridView10maxYExtentEv @ 2408 NONAME - _ZNK20QDeclarativeGridView10metaObjectEv @ 2409 NONAME - _ZNK20QDeclarativeGridView10minXExtentEv @ 2410 NONAME - _ZNK20QDeclarativeGridView10minYExtentEv @ 2411 NONAME - _ZNK20QDeclarativeGridView11cacheBufferEv @ 2412 NONAME - _ZNK20QDeclarativeGridView12currentIndexEv @ 2413 NONAME - _ZNK20QDeclarativeGridView13isWrapEnabledEv @ 2414 NONAME - _ZNK20QDeclarativeGridView18highlightRangeModeEv @ 2415 NONAME - _ZNK20QDeclarativeGridView21preferredHighlightEndEv @ 2416 NONAME - _ZNK20QDeclarativeGridView23preferredHighlightBeginEv @ 2417 NONAME - _ZNK20QDeclarativeGridView27highlightFollowsCurrentItemEv @ 2418 NONAME - _ZNK20QDeclarativeGridView4flowEv @ 2419 NONAME - _ZNK20QDeclarativeGridView5countEv @ 2420 NONAME - _ZNK20QDeclarativeGridView5modelEv @ 2421 NONAME - _ZNK20QDeclarativeGridView7indexAtEii @ 2422 NONAME - _ZNK20QDeclarativeGridView8delegateEv @ 2423 NONAME - _ZNK20QDeclarativeGridView8snapModeEv @ 2424 NONAME - _ZNK20QDeclarativeGridView9cellWidthEv @ 2425 NONAME - _ZNK20QDeclarativeGridView9highlightEv @ 2426 NONAME - _ZNK20QDeclarativeListView10maxXExtentEv @ 2427 NONAME - _ZNK20QDeclarativeListView10maxYExtentEv @ 2428 NONAME - _ZNK20QDeclarativeListView10metaObjectEv @ 2429 NONAME - _ZNK20QDeclarativeListView10minXExtentEv @ 2430 NONAME - _ZNK20QDeclarativeListView10minYExtentEv @ 2431 NONAME - _ZNK20QDeclarativeListView11cacheBufferEv @ 2432 NONAME - _ZNK20QDeclarativeListView11orientationEv @ 2433 NONAME - _ZNK20QDeclarativeListView12currentIndexEv @ 2434 NONAME - _ZNK20QDeclarativeListView13isWrapEnabledEv @ 2435 NONAME - _ZNK20QDeclarativeListView14currentSectionEv @ 2436 NONAME - _ZNK20QDeclarativeListView18highlightMoveSpeedEv @ 2437 NONAME - _ZNK20QDeclarativeListView18highlightRangeModeEv @ 2438 NONAME - _ZNK20QDeclarativeListView20highlightResizeSpeedEv @ 2439 NONAME - _ZNK20QDeclarativeListView21preferredHighlightEndEv @ 2440 NONAME - _ZNK20QDeclarativeListView23preferredHighlightBeginEv @ 2441 NONAME - _ZNK20QDeclarativeListView27highlightFollowsCurrentItemEv @ 2442 NONAME - _ZNK20QDeclarativeListView5countEv @ 2443 NONAME - _ZNK20QDeclarativeListView5modelEv @ 2444 NONAME - _ZNK20QDeclarativeListView6footerEv @ 2445 NONAME - _ZNK20QDeclarativeListView6headerEv @ 2446 NONAME - _ZNK20QDeclarativeListView7indexAtEii @ 2447 NONAME - _ZNK20QDeclarativeListView7spacingEv @ 2448 NONAME - _ZNK20QDeclarativeListView8delegateEv @ 2449 NONAME - _ZNK20QDeclarativeListView8snapModeEv @ 2450 NONAME - _ZNK20QDeclarativeListView9highlightEv @ 2451 NONAME - _ZNK20QDeclarativePathLine10metaObjectEv @ 2452 NONAME - _ZNK20QDeclarativePathQuad10metaObjectEv @ 2453 NONAME - _ZNK20QDeclarativePathQuad8controlXEv @ 2454 NONAME - _ZNK20QDeclarativePathQuad8controlYEv @ 2455 NONAME - _ZNK20QDeclarativePathView10dragMarginEv @ 2456 NONAME - _ZNK20QDeclarativePathView10metaObjectEv @ 2457 NONAME - _ZNK20QDeclarativePathView12currentIndexEv @ 2458 NONAME - _ZNK20QDeclarativePathView13isInteractiveEv @ 2459 NONAME - _ZNK20QDeclarativePathView13pathItemCountEv @ 2460 NONAME - _ZNK20QDeclarativePathView17flickDecelerationEv @ 2461 NONAME - _ZNK20QDeclarativePathView18highlightRangeModeEv @ 2462 NONAME - _ZNK20QDeclarativePathView21preferredHighlightEndEv @ 2463 NONAME - _ZNK20QDeclarativePathView23preferredHighlightBeginEv @ 2464 NONAME - _ZNK20QDeclarativePathView4pathEv @ 2465 NONAME - _ZNK20QDeclarativePathView5countEv @ 2466 NONAME - _ZNK20QDeclarativePathView5modelEv @ 2467 NONAME - _ZNK20QDeclarativePathView6offsetEv @ 2468 NONAME - _ZNK20QDeclarativePathView8delegateEv @ 2469 NONAME - _ZNK20QDeclarativePathView9highlightEv @ 2470 NONAME - _ZNK20QDeclarativeProperty10isPropertyEv @ 2471 NONAME - _ZNK20QDeclarativeProperty10isWritableEv @ 2472 NONAME - _ZNK20QDeclarativeProperty12isDesignableEv @ 2473 NONAME - _ZNK20QDeclarativeProperty12isResettableEv @ 2474 NONAME - _ZNK20QDeclarativeProperty12propertyTypeEv @ 2475 NONAME - _ZNK20QDeclarativeProperty15hasNotifySignalEv @ 2476 NONAME - _ZNK20QDeclarativeProperty16isSignalPropertyEv @ 2477 NONAME - _ZNK20QDeclarativeProperty16propertyTypeNameEv @ 2478 NONAME - _ZNK20QDeclarativeProperty17needsNotifySignalEv @ 2479 NONAME - _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 2480 NONAME - _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 2481 NONAME - _ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 2482 NONAME - _ZNK20QDeclarativeProperty4nameEv @ 2483 NONAME - _ZNK20QDeclarativeProperty4readEv @ 2484 NONAME - _ZNK20QDeclarativeProperty4typeEv @ 2485 NONAME - _ZNK20QDeclarativeProperty5indexEv @ 2486 NONAME - _ZNK20QDeclarativeProperty5resetEv @ 2487 NONAME - _ZNK20QDeclarativeProperty5writeERK8QVariant @ 2488 NONAME - _ZNK20QDeclarativeProperty6methodEv @ 2489 NONAME - _ZNK20QDeclarativeProperty6objectEv @ 2490 NONAME - _ZNK20QDeclarativeProperty7isValidEv @ 2491 NONAME - _ZNK20QDeclarativeProperty8propertyEv @ 2492 NONAME - _ZNK20QDeclarativePropertyeqERKS_ @ 2493 NONAME - _ZNK20QDeclarativeRepeater10metaObjectEv @ 2494 NONAME - _ZNK20QDeclarativeRepeater5countEv @ 2495 NONAME - _ZNK20QDeclarativeRepeater5modelEv @ 2496 NONAME - _ZNK20QDeclarativeRepeater8delegateEv @ 2497 NONAME - _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2498 NONAME ABSENT - _ZNK20QDeclarativeTextEdit10isReadOnlyEv @ 2499 NONAME - _ZNK20QDeclarativeTextEdit10metaObjectEv @ 2500 NONAME - _ZNK20QDeclarativeTextEdit10textFormatEv @ 2501 NONAME - _ZNK20QDeclarativeTextEdit10textMarginEv @ 2502 NONAME - _ZNK20QDeclarativeTextEdit12focusOnPressEv @ 2503 NONAME - _ZNK20QDeclarativeTextEdit12selectedTextEv @ 2504 NONAME - _ZNK20QDeclarativeTextEdit12selectionEndEv @ 2505 NONAME - _ZNK20QDeclarativeTextEdit14cursorDelegateEv @ 2506 NONAME - _ZNK20QDeclarativeTextEdit14cursorPositionEv @ 2507 NONAME - _ZNK20QDeclarativeTextEdit14selectionColorEv @ 2508 NONAME - _ZNK20QDeclarativeTextEdit14selectionStartEv @ 2509 NONAME - _ZNK20QDeclarativeTextEdit15isCursorVisibleEv @ 2510 NONAME - _ZNK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 2511 NONAME - _ZNK20QDeclarativeTextEdit17selectedTextColorEv @ 2512 NONAME - _ZNK20QDeclarativeTextEdit19persistentSelectionEv @ 2513 NONAME - _ZNK20QDeclarativeTextEdit20textInteractionFlagsEv @ 2514 NONAME - _ZNK20QDeclarativeTextEdit4fontEv @ 2515 NONAME - _ZNK20QDeclarativeTextEdit4textEv @ 2516 NONAME - _ZNK20QDeclarativeTextEdit4wrapEv @ 2517 NONAME ABSENT - _ZNK20QDeclarativeTextEdit5colorEv @ 2518 NONAME - _ZNK20QDeclarativeTextEdit6hAlignEv @ 2519 NONAME - _ZNK20QDeclarativeTextEdit6vAlignEv @ 2520 NONAME - _ZNK20QMetaPropertyBuilder10isEditableEv @ 2521 NONAME - _ZNK20QMetaPropertyBuilder10isReadableEv @ 2522 NONAME - _ZNK20QMetaPropertyBuilder10isWritableEv @ 2523 NONAME - _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 2524 NONAME - _ZNK20QMetaPropertyBuilder12isDesignableEv @ 2525 NONAME - _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 2526 NONAME - _ZNK20QMetaPropertyBuilder12isResettableEv @ 2527 NONAME - _ZNK20QMetaPropertyBuilder12isScriptableEv @ 2528 NONAME - _ZNK20QMetaPropertyBuilder12notifySignalEv @ 2529 NONAME - _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 2530 NONAME - _ZNK20QMetaPropertyBuilder4nameEv @ 2531 NONAME - _ZNK20QMetaPropertyBuilder4typeEv @ 2532 NONAME - _ZNK20QMetaPropertyBuilder6d_funcEv @ 2533 NONAME - _ZNK20QMetaPropertyBuilder6isUserEv @ 2534 NONAME - _ZNK20QMetaPropertyBuilder8isStoredEv @ 2535 NONAME - _ZNK20QMetaPropertyBuilder9isDynamicEv @ 2536 NONAME - _ZNK21QDeclarativeComponent10metaObjectEv @ 2537 NONAME - _ZNK21QDeclarativeComponent12errorsStringEv @ 2538 NONAME ABSENT - _ZNK21QDeclarativeComponent15creationContextEv @ 2539 NONAME - _ZNK21QDeclarativeComponent3urlEv @ 2540 NONAME - _ZNK21QDeclarativeComponent6errorsEv @ 2541 NONAME - _ZNK21QDeclarativeComponent6isNullEv @ 2542 NONAME - _ZNK21QDeclarativeComponent6statusEv @ 2543 NONAME - _ZNK21QDeclarativeComponent7isErrorEv @ 2544 NONAME - _ZNK21QDeclarativeComponent7isReadyEv @ 2545 NONAME - _ZNK21QDeclarativeComponent8progressEv @ 2546 NONAME - _ZNK21QDeclarativeComponent9isLoadingEv @ 2547 NONAME - _ZNK21QDeclarativeDomImport3uriEv @ 2548 NONAME - _ZNK21QDeclarativeDomImport4typeEv @ 2549 NONAME - _ZNK21QDeclarativeDomImport7versionEv @ 2550 NONAME - _ZNK21QDeclarativeDomImport9qualifierEv @ 2551 NONAME - _ZNK21QDeclarativeDomObject10objectTypeEv @ 2552 NONAME - _ZNK21QDeclarativeDomObject10propertiesEv @ 2553 NONAME - _ZNK21QDeclarativeDomObject11isComponentEv @ 2554 NONAME - _ZNK21QDeclarativeDomObject11toComponentEv @ 2555 NONAME - _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 2556 NONAME - _ZNK21QDeclarativeDomObject14customTypeDataEv @ 2557 NONAME - _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 2558 NONAME - _ZNK21QDeclarativeDomObject15objectClassNameEv @ 2559 NONAME - _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 2560 NONAME - _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 2561 NONAME - _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 2562 NONAME - _ZNK21QDeclarativeDomObject3urlEv @ 2563 NONAME - _ZNK21QDeclarativeDomObject6lengthEv @ 2564 NONAME - _ZNK21QDeclarativeDomObject7isValidEv @ 2565 NONAME - _ZNK21QDeclarativeDomObject8objectIdEv @ 2566 NONAME - _ZNK21QDeclarativeDomObject8positionEv @ 2567 NONAME - _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 2568 NONAME - _ZNK21QDeclarativeFlickable10isFlickingEv @ 2569 NONAME - _ZNK21QDeclarativeFlickable10maxXExtentEv @ 2570 NONAME - _ZNK21QDeclarativeFlickable10maxYExtentEv @ 2571 NONAME - _ZNK21QDeclarativeFlickable10metaObjectEv @ 2572 NONAME - _ZNK21QDeclarativeFlickable10minXExtentEv @ 2573 NONAME - _ZNK21QDeclarativeFlickable10minYExtentEv @ 2574 NONAME - _ZNK21QDeclarativeFlickable10pressDelayEv @ 2575 NONAME - _ZNK21QDeclarativeFlickable12contentWidthEv @ 2576 NONAME - _ZNK21QDeclarativeFlickable13contentHeightEv @ 2577 NONAME - _ZNK21QDeclarativeFlickable13isInteractiveEv @ 2578 NONAME - _ZNK21QDeclarativeFlickable14flickDirectionEv @ 2579 NONAME - _ZNK21QDeclarativeFlickable14isAtXBeginningEv @ 2580 NONAME - _ZNK21QDeclarativeFlickable14isAtYBeginningEv @ 2581 NONAME - _ZNK21QDeclarativeFlickable16verticalVelocityEv @ 2582 NONAME - _ZNK21QDeclarativeFlickable17flickDecelerationEv @ 2583 NONAME - _ZNK21QDeclarativeFlickable18horizontalVelocityEv @ 2584 NONAME - _ZNK21QDeclarativeFlickable20maximumFlickVelocityEv @ 2585 NONAME - _ZNK21QDeclarativeFlickable6vWidthEv @ 2586 NONAME - _ZNK21QDeclarativeFlickable6xflickEv @ 2587 NONAME - _ZNK21QDeclarativeFlickable6yflickEv @ 2588 NONAME - _ZNK21QDeclarativeFlickable7vHeightEv @ 2589 NONAME - _ZNK21QDeclarativeFlickable8contentXEv @ 2590 NONAME - _ZNK21QDeclarativeFlickable8contentYEv @ 2591 NONAME - _ZNK21QDeclarativeFlickable8isAtXEndEv @ 2592 NONAME - _ZNK21QDeclarativeFlickable8isAtYEndEv @ 2593 NONAME - _ZNK21QDeclarativeFlickable8isMovingEv @ 2594 NONAME - _ZNK21QDeclarativeFlickable9overShootEv @ 2595 NONAME ABSENT - _ZNK21QDeclarativeImageBase10metaObjectEv @ 2596 NONAME - _ZNK21QDeclarativeImageBase10sourceSizeEv @ 2597 NONAME - _ZNK21QDeclarativeImageBase12asynchronousEv @ 2598 NONAME - _ZNK21QDeclarativeImageBase6sourceEv @ 2599 NONAME - _ZNK21QDeclarativeImageBase6statusEv @ 2600 NONAME - _ZNK21QDeclarativeImageBase8progressEv @ 2601 NONAME - _ZNK21QDeclarativeListModel10metaObjectEv @ 2602 NONAME - _ZNK21QDeclarativeListModel3getEi @ 2603 NONAME - _ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 2604 NONAME - _ZNK21QDeclarativeListModel4dataEii @ 2605 NONAME - _ZNK21QDeclarativeListModel5countEv @ 2606 NONAME - _ZNK21QDeclarativeListModel5rolesEv @ 2607 NONAME - _ZNK21QDeclarativeListModel8toStringEi @ 2608 NONAME - _ZNK21QDeclarativeMouseArea10metaObjectEv @ 2609 NONAME - _ZNK21QDeclarativeMouseArea14pressedButtonsEv @ 2610 NONAME - _ZNK21QDeclarativeMouseArea15acceptedButtonsEv @ 2611 NONAME - _ZNK21QDeclarativeMouseArea6mouseXEv @ 2612 NONAME - _ZNK21QDeclarativeMouseArea6mouseYEv @ 2613 NONAME - _ZNK21QDeclarativeMouseArea7hoveredEv @ 2614 NONAME - _ZNK21QDeclarativeMouseArea7pressedEv @ 2615 NONAME - _ZNK21QDeclarativeMouseArea9isEnabledEv @ 2616 NONAME - _ZNK21QDeclarativePathCubic10metaObjectEv @ 2617 NONAME - _ZNK21QDeclarativePathCubic9control1XEv @ 2618 NONAME - _ZNK21QDeclarativePathCubic9control1YEv @ 2619 NONAME - _ZNK21QDeclarativePathCubic9control2XEv @ 2620 NONAME - _ZNK21QDeclarativePathCubic9control2YEv @ 2621 NONAME - _ZNK21QDeclarativeRectangle10metaObjectEv @ 2622 NONAME - _ZNK21QDeclarativeRectangle12boundingRectEv @ 2623 NONAME - _ZNK21QDeclarativeRectangle5colorEv @ 2624 NONAME - _ZNK21QDeclarativeRectangle6radiusEv @ 2625 NONAME - _ZNK21QDeclarativeRectangle8gradientEv @ 2626 NONAME - _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2627 NONAME - _ZNK21QDeclarativeScaleGrid6isNullEv @ 2628 NONAME - _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME ABSENT - _ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2630 NONAME - _ZNK21QDeclarativeTextInput10metaObjectEv @ 2631 NONAME - _ZNK21QDeclarativeTextInput12focusOnPressEv @ 2632 NONAME - _ZNK21QDeclarativeTextInput12selectedTextEv @ 2633 NONAME - _ZNK21QDeclarativeTextInput12selectionEndEv @ 2634 NONAME - _ZNK21QDeclarativeTextInput14cursorDelegateEv @ 2635 NONAME - _ZNK21QDeclarativeTextInput14cursorPositionEv @ 2636 NONAME - _ZNK21QDeclarativeTextInput14selectionColorEv @ 2637 NONAME - _ZNK21QDeclarativeTextInput14selectionStartEv @ 2638 NONAME - _ZNK21QDeclarativeTextInput15isCursorVisibleEv @ 2639 NONAME - _ZNK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 2640 NONAME - _ZNK21QDeclarativeTextInput17selectedTextColorEv @ 2641 NONAME - _ZNK21QDeclarativeTextInput18hasAcceptableInputEv @ 2642 NONAME - _ZNK21QDeclarativeTextInput4fontEv @ 2643 NONAME - _ZNK21QDeclarativeTextInput4textEv @ 2644 NONAME - _ZNK21QDeclarativeTextInput5colorEv @ 2645 NONAME - _ZNK21QDeclarativeTextInput6hAlignEv @ 2646 NONAME - _ZNK21QDeclarativeTextInput8echoModeEv @ 2647 NONAME - _ZNK21QDeclarativeTextInput9inputMaskEv @ 2648 NONAME - _ZNK21QDeclarativeTextInput9maxLengthEv @ 2649 NONAME - _ZNK21QDeclarativeTextInput9validatorEv @ 2650 NONAME - _ZNK21QDeclarativeTranslate10metaObjectEv @ 2651 NONAME - _ZNK21QDeclarativeTranslate1xEv @ 2652 NONAME - _ZNK21QDeclarativeTranslate1yEv @ 2653 NONAME - _ZNK21QDeclarativeTranslate7applyToEP10QMatrix4x4 @ 2654 NONAME - _ZNK21QDeclarativeValueType10metaObjectEv @ 2655 NONAME - _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 2656 NONAME - _ZNK22QDeclarativeDebugQuery5stateEv @ 2657 NONAME - _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 2658 NONAME - _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 2659 NONAME - _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 2660 NONAME - _ZNK22QDeclarativeDebugWatch5stateEv @ 2661 NONAME - _ZNK22QDeclarativeDebugWatch7queryIdEv @ 2662 NONAME - _ZNK22QDeclarativeExpression10expressionEv @ 2663 NONAME - _ZNK22QDeclarativeExpression10lineNumberEv @ 2664 NONAME - _ZNK22QDeclarativeExpression10metaObjectEv @ 2665 NONAME - _ZNK22QDeclarativeExpression10sourceFileEv @ 2666 NONAME - _ZNK22QDeclarativeExpression11scopeObjectEv @ 2667 NONAME - _ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 2668 NONAME - _ZNK22QDeclarativeExpression5errorEv @ 2669 NONAME - _ZNK22QDeclarativeExpression6engineEv @ 2670 NONAME - _ZNK22QDeclarativeExpression7contextEv @ 2671 NONAME - _ZNK22QDeclarativeExpression8hasErrorEv @ 2672 NONAME - _ZNK22QDeclarativeFocusPanel10metaObjectEv @ 2673 NONAME - _ZNK22QDeclarativeFocusScope10metaObjectEv @ 2674 NONAME - _ZNK22QDeclarativeFontLoader10metaObjectEv @ 2675 NONAME - _ZNK22QDeclarativeFontLoader4nameEv @ 2676 NONAME - _ZNK22QDeclarativeFontLoader6sourceEv @ 2677 NONAME - _ZNK22QDeclarativeFontLoader6statusEv @ 2678 NONAME - _ZNK22QDeclarativeStateGroup10metaObjectEv @ 2679 NONAME - _ZNK22QDeclarativeStateGroup5stateEv @ 2680 NONAME - _ZNK22QDeclarativeStateGroup6statesEv @ 2681 NONAME - _ZNK22QDeclarativeStateGroup9findStateERK7QString @ 2682 NONAME - _ZNK22QDeclarativeTransition10metaObjectEv @ 2683 NONAME - _ZNK22QDeclarativeTransition10reversibleEv @ 2684 NONAME - _ZNK22QDeclarativeTransition7toStateEv @ 2685 NONAME - _ZNK22QDeclarativeTransition9fromStateEv @ 2686 NONAME - _ZNK23QDeclarativeBorderImage10metaObjectEv @ 2687 NONAME - _ZNK23QDeclarativeBorderImage16verticalTileModeEv @ 2688 NONAME - _ZNK23QDeclarativeBorderImage18horizontalTileModeEv @ 2689 NONAME - _ZNK23QDeclarativeConnections10metaObjectEv @ 2690 NONAME - _ZNK23QDeclarativeConnections6targetEv @ 2691 NONAME - _ZNK23QDeclarativeDebugClient10metaObjectEv @ 2692 NONAME - _ZNK23QDeclarativeDebugClient11isConnectedEv @ 2693 NONAME - _ZNK23QDeclarativeDebugClient4nameEv @ 2694 NONAME - _ZNK23QDeclarativeDebugClient9isEnabledEv @ 2695 NONAME - _ZNK23QDeclarativeDomDocument10rootObjectEv @ 2696 NONAME - _ZNK23QDeclarativeDomDocument6errorsEv @ 2697 NONAME - _ZNK23QDeclarativeDomDocument7importsEv @ 2698 NONAME - _ZNK23QDeclarativeDomProperty12propertyNameEv @ 2699 NONAME - _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 2700 NONAME - _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 2701 NONAME - _ZNK23QDeclarativeDomProperty5valueEv @ 2702 NONAME - _ZNK23QDeclarativeDomProperty6lengthEv @ 2703 NONAME - _ZNK23QDeclarativeDomProperty7isValidEv @ 2704 NONAME - _ZNK23QDeclarativeDomProperty8positionEv @ 2705 NONAME - _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 2706 NONAME - _ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 2707 NONAME - _ZNK23QDeclarativeItemPrivate5widthEv @ 2708 NONAME - _ZNK23QDeclarativeItemPrivate6heightEv @ 2709 NONAME - _ZNK23QDeclarativePaintedItem10metaObjectEv @ 2710 NONAME - _ZNK23QDeclarativePaintedItem11smoothCacheEv @ 2711 NONAME - _ZNK23QDeclarativePaintedItem12contentsSizeEv @ 2712 NONAME - _ZNK23QDeclarativePaintedItem13contentsScaleEv @ 2713 NONAME - _ZNK23QDeclarativePaintedItem14pixelCacheSizeEv @ 2714 NONAME - _ZNK23QDeclarativePaintedItem9fillColorEv @ 2715 NONAME - _ZNK23QDeclarativePathElement10metaObjectEv @ 2716 NONAME - _ZNK23QDeclarativePathPercent10metaObjectEv @ 2717 NONAME - _ZNK23QDeclarativePathPercent5valueEv @ 2718 NONAME - _ZNK23QDeclarativePixmapReply10metaObjectEv @ 2719 NONAME - _ZNK23QDeclarativePixmapReply11forcedWidthEv @ 2720 NONAME - _ZNK23QDeclarativePixmapReply12forcedHeightEv @ 2721 NONAME - _ZNK23QDeclarativePixmapReply12implicitSizeEv @ 2722 NONAME - _ZNK23QDeclarativePixmapReply3urlEv @ 2723 NONAME - _ZNK23QDeclarativePixmapReply6statusEv @ 2724 NONAME - _ZNK23QDeclarativePixmapReply9isLoadingEv @ 2725 NONAME - _ZNK23QDeclarativePropertyMap10metaObjectEv @ 2726 NONAME - _ZNK23QDeclarativePropertyMap4keysEv @ 2727 NONAME - _ZNK23QDeclarativePropertyMap4sizeEv @ 2728 NONAME - _ZNK23QDeclarativePropertyMap5countEv @ 2729 NONAME - _ZNK23QDeclarativePropertyMap5valueERK7QString @ 2730 NONAME - _ZNK23QDeclarativePropertyMap7isEmptyEv @ 2731 NONAME - _ZNK23QDeclarativePropertyMap8containsERK7QString @ 2732 NONAME - _ZNK23QDeclarativePropertyMapixERK7QString @ 2733 NONAME - _ZNK23QDeclarativeViewSection10metaObjectEv @ 2734 NONAME - _ZNK23QDeclarativeVisualModel10metaObjectEv @ 2735 NONAME - _ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 2736 NONAME - _ZNK24QDeclarativeDebugService10metaObjectEv @ 2737 NONAME - _ZNK24QDeclarativeDebugService4nameEv @ 2738 NONAME - _ZNK24QDeclarativeDebugService9isEnabledEv @ 2739 NONAME - _ZNK24QDeclarativeDomComponent13componentRootEv @ 2740 NONAME - _ZNK24QDeclarativeGradientStop10metaObjectEv @ 2741 NONAME - _ZNK24QDeclarativeListAccessor2atEi @ 2742 NONAME - _ZNK24QDeclarativeListAccessor4listEv @ 2743 NONAME - _ZNK24QDeclarativeListAccessor5countEv @ 2744 NONAME - _ZNK24QDeclarativeListAccessor7isValidEv @ 2745 NONAME - _ZNK24QDeclarativeParentChange10metaObjectEv @ 2746 NONAME - _ZNK24QDeclarativeParentChange10scaleIsSetEv @ 2747 NONAME - _ZNK24QDeclarativeParentChange10widthIsSetEv @ 2748 NONAME - _ZNK24QDeclarativeParentChange11heightIsSetEv @ 2749 NONAME - _ZNK24QDeclarativeParentChange13rotationIsSetEv @ 2750 NONAME - _ZNK24QDeclarativeParentChange14originalParentEv @ 2751 NONAME - _ZNK24QDeclarativeParentChange1xEv @ 2752 NONAME - _ZNK24QDeclarativeParentChange1yEv @ 2753 NONAME - _ZNK24QDeclarativeParentChange5scaleEv @ 2754 NONAME - _ZNK24QDeclarativeParentChange5widthEv @ 2755 NONAME - _ZNK24QDeclarativeParentChange6heightEv @ 2756 NONAME - _ZNK24QDeclarativeParentChange6objectEv @ 2757 NONAME - _ZNK24QDeclarativeParentChange6parentEv @ 2758 NONAME - _ZNK24QDeclarativeParentChange6xIsSetEv @ 2759 NONAME - _ZNK24QDeclarativeParentChange6yIsSetEv @ 2760 NONAME - _ZNK24QDeclarativeParentChange8rotationEv @ 2761 NONAME - _ZNK24QDeclarativeParentChange8typeNameEv @ 2762 NONAME - _ZNK24QDeclarativeScriptString11scopeObjectEv @ 2763 NONAME - _ZNK24QDeclarativeScriptString6scriptEv @ 2764 NONAME - _ZNK24QDeclarativeScriptString7contextEv @ 2765 NONAME - _ZNK24QDeclarativeSpringFollow10metaObjectEv @ 2766 NONAME - _ZNK24QDeclarativeSpringFollow11sourceValueEv @ 2767 NONAME ABSENT - _ZNK24QDeclarativeSpringFollow4massEv @ 2768 NONAME - _ZNK24QDeclarativeSpringFollow5valueEv @ 2769 NONAME - _ZNK24QDeclarativeSpringFollow6inSyncEv @ 2770 NONAME - _ZNK24QDeclarativeSpringFollow6springEv @ 2771 NONAME - _ZNK24QDeclarativeSpringFollow7dampingEv @ 2772 NONAME - _ZNK24QDeclarativeSpringFollow7enabledEv @ 2773 NONAME - _ZNK24QDeclarativeSpringFollow7epsilonEv @ 2774 NONAME - _ZNK24QDeclarativeSpringFollow7modulusEv @ 2775 NONAME - _ZNK24QDeclarativeSpringFollow8velocityEv @ 2776 NONAME - _ZNK24QDeclarativeWorkerScript10metaObjectEv @ 2777 NONAME - _ZNK24QDeclarativeWorkerScript6sourceEv @ 2778 NONAME - _ZNK24QDeclarativeXmlListModel10metaObjectEv @ 2779 NONAME - _ZNK24QDeclarativeXmlListModel21namespaceDeclarationsEv @ 2780 NONAME - _ZNK24QDeclarativeXmlListModel3xmlEv @ 2781 NONAME - _ZNK24QDeclarativeXmlListModel4dataEiRK5QListIiE @ 2782 NONAME - _ZNK24QDeclarativeXmlListModel4dataEii @ 2783 NONAME - _ZNK24QDeclarativeXmlListModel5countEv @ 2784 NONAME - _ZNK24QDeclarativeXmlListModel5queryEv @ 2785 NONAME - _ZNK24QDeclarativeXmlListModel5rolesEv @ 2786 NONAME - _ZNK24QDeclarativeXmlListModel6sourceEv @ 2787 NONAME - _ZNK24QDeclarativeXmlListModel6statusEv @ 2788 NONAME - _ZNK24QDeclarativeXmlListModel8progressEv @ 2789 NONAME - _ZNK24QDeclarativeXmlListModel8toStringEi @ 2790 NONAME - _ZNK25QDeclarativeAnchorChanges10metaObjectEv @ 2791 NONAME - _ZNK25QDeclarativeAnchorChanges6objectEv @ 2792 NONAME - _ZNK25QDeclarativeAnchorChanges8typeNameEv @ 2793 NONAME - _ZNK25QDeclarativeAnimatedImage10frameCountEv @ 2794 NONAME - _ZNK25QDeclarativeAnimatedImage10metaObjectEv @ 2795 NONAME - _ZNK25QDeclarativeAnimatedImage12currentFrameEv @ 2796 NONAME - _ZNK25QDeclarativeAnimatedImage8isPausedEv @ 2797 NONAME - _ZNK25QDeclarativeAnimatedImage9isPlayingEv @ 2798 NONAME - _ZNK25QDeclarativeListReference15listElementTypeEv @ 2799 NONAME - _ZNK25QDeclarativeListReference2atEi @ 2800 NONAME - _ZNK25QDeclarativeListReference5canAtEv @ 2801 NONAME - _ZNK25QDeclarativeListReference5clearEv @ 2802 NONAME - _ZNK25QDeclarativeListReference5countEv @ 2803 NONAME - _ZNK25QDeclarativeListReference6appendEP7QObject @ 2804 NONAME - _ZNK25QDeclarativeListReference6objectEv @ 2805 NONAME - _ZNK25QDeclarativeListReference7isValidEv @ 2806 NONAME - _ZNK25QDeclarativeListReference8canClearEv @ 2807 NONAME - _ZNK25QDeclarativeListReference8canCountEv @ 2808 NONAME - _ZNK25QDeclarativeListReference9canAppendEv @ 2809 NONAME - _ZNK25QDeclarativePathAttribute10metaObjectEv @ 2810 NONAME - _ZNK25QDeclarativePathAttribute4nameEv @ 2811 NONAME - _ZNK25QDeclarativePathAttribute5valueEv @ 2812 NONAME - _ZNK25QDeclarativeSystemPalette10buttonTextEv @ 2813 NONAME - _ZNK25QDeclarativeSystemPalette10colorGroupEv @ 2814 NONAME - _ZNK25QDeclarativeSystemPalette10metaObjectEv @ 2815 NONAME - _ZNK25QDeclarativeSystemPalette10windowTextEv @ 2816 NONAME - _ZNK25QDeclarativeSystemPalette13alternateBaseEv @ 2817 NONAME - _ZNK25QDeclarativeSystemPalette15highlightedTextEv @ 2818 NONAME - _ZNK25QDeclarativeSystemPalette3midEv @ 2819 NONAME - _ZNK25QDeclarativeSystemPalette4baseEv @ 2820 NONAME - _ZNK25QDeclarativeSystemPalette4darkEv @ 2821 NONAME - _ZNK25QDeclarativeSystemPalette4textEv @ 2822 NONAME - _ZNK25QDeclarativeSystemPalette5lightEv @ 2823 NONAME - _ZNK25QDeclarativeSystemPalette6buttonEv @ 2824 NONAME - _ZNK25QDeclarativeSystemPalette6shadowEv @ 2825 NONAME - _ZNK25QDeclarativeSystemPalette6windowEv @ 2826 NONAME - _ZNK25QDeclarativeSystemPalette8midlightEv @ 2827 NONAME - _ZNK25QDeclarativeSystemPalette9highlightEv @ 2828 NONAME - _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 2829 NONAME - _ZNK26QDeclarativeBasePositioner3addEv @ 2830 NONAME - _ZNK26QDeclarativeBasePositioner4moveEv @ 2831 NONAME - _ZNK26QDeclarativeBasePositioner7spacingEv @ 2832 NONAME - _ZNK26QDeclarativeOpenMetaObject4nameEi @ 2833 NONAME - _ZNK26QDeclarativeOpenMetaObject4typeEv @ 2834 NONAME - _ZNK26QDeclarativeOpenMetaObject5countEv @ 2835 NONAME - _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 2836 NONAME - _ZNK26QDeclarativeOpenMetaObject5valueEi @ 2837 NONAME - _ZNK26QDeclarativeOpenMetaObject6objectEv @ 2838 NONAME - _ZNK26QDeclarativeOpenMetaObject6parentEv @ 2839 NONAME - _ZNK26QDeclarativeStateOperation10metaObjectEv @ 2840 NONAME - _ZNK27QDeclarativeAbstractBinding10expressionEv @ 2841 NONAME - _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 2842 NONAME - _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 2843 NONAME - _ZNK27QDeclarativeDomValueBinding7bindingEv @ 2844 NONAME - _ZNK27QDeclarativeDomValueLiteral7literalEv @ 2845 NONAME - _ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 2846 NONAME - _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 2847 NONAME - _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 2848 NONAME - _ZNK27QDeclarativeGridScaledImage7isValidEv @ 2849 NONAME - _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 2850 NONAME - _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 2851 NONAME - _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 2852 NONAME - _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 2853 NONAME - _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 2854 NONAME - _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 2855 NONAME - _ZNK27QDeclarativePropertyChanges6objectEv @ 2856 NONAME - _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 2857 NONAME - _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 2858 NONAME - _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 2859 NONAME - _ZNK27QDeclarativeVisualDataModel10metaObjectEv @ 2860 NONAME - _ZNK27QDeclarativeVisualDataModel4partEv @ 2861 NONAME - _ZNK27QDeclarativeVisualDataModel5countEv @ 2862 NONAME - _ZNK27QDeclarativeVisualDataModel5modelEv @ 2863 NONAME - _ZNK27QDeclarativeVisualDataModel7indexOfEP16QDeclarativeItemP7QObject @ 2864 NONAME - _ZNK27QDeclarativeVisualDataModel8delegateEv @ 2865 NONAME - _ZNK27QDeclarativeVisualDataModel9rootIndexEv @ 2866 NONAME - _ZNK27QDeclarativeVisualItemModel10metaObjectEv @ 2867 NONAME - _ZNK27QDeclarativeVisualItemModel5countEv @ 2868 NONAME - _ZNK27QDeclarativeVisualItemModel7indexOfEP16QDeclarativeItemP7QObject @ 2869 NONAME - _ZNK27QDeclarativeVisualItemModel7isValidEv @ 2870 NONAME - _ZNK28QDeclarativeCustomParserNode10propertiesEv @ 2871 NONAME - _ZNK28QDeclarativeCustomParserNode4nameEv @ 2872 NONAME - _ZNK28QDeclarativeCustomParserNode8locationEv @ 2873 NONAME - _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 2874 NONAME - _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 2875 NONAME - _ZNK28QDeclarativeValueTypeFactoryixEi @ 2876 NONAME ABSENT - _ZNK28QDeclarativeXmlListModelRole10metaObjectEv @ 2877 NONAME - _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 2878 NONAME - _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 2879 NONAME - _ZNK29QDeclarativeSmoothedAnimation10metaObjectEv @ 2880 NONAME - _ZNK29QDeclarativeSmoothedAnimation13reversingModeEv @ 2881 NONAME - _ZNK29QDeclarativeSmoothedAnimation17maximumEasingTimeEv @ 2882 NONAME - _ZNK29QDeclarativeSmoothedAnimation8durationEv @ 2883 NONAME - _ZNK29QDeclarativeSmoothedAnimation8velocityEv @ 2884 NONAME - _ZNK29QDeclarativeStateChangeScript10metaObjectEv @ 2885 NONAME - _ZNK29QDeclarativeStateChangeScript4nameEv @ 2886 NONAME - _ZNK29QDeclarativeStateChangeScript6scriptEv @ 2887 NONAME - _ZNK29QDeclarativeStateChangeScript8typeNameEv @ 2888 NONAME - _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 2889 NONAME - _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 2890 NONAME - _ZNK30QDeclarativeDebugFileReference3urlEv @ 2891 NONAME - _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 2892 NONAME - _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 2893 NONAME - _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 2894 NONAME - _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 2895 NONAME - _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 2896 NONAME - _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 2897 NONAME - _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 2898 NONAME - _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 2899 NONAME - _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 2900 NONAME - _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 2901 NONAME - _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 2902 NONAME - _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 2903 NONAME - _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 2904 NONAME - _ZNK31QDeclarativeDomValueValueSource6objectEv @ 2905 NONAME - _ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 2906 NONAME - _ZNK32QDeclarativeCustomParserProperty4nameEv @ 2907 NONAME - _ZNK32QDeclarativeCustomParserProperty6isListEv @ 2908 NONAME - _ZNK32QDeclarativeCustomParserProperty8locationEv @ 2909 NONAME - _ZNK32QDeclarativeDebugEngineReference4nameEv @ 2910 NONAME - _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 2911 NONAME - _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 2912 NONAME - _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 2913 NONAME - _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 2914 NONAME - _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 2915 NONAME - _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 2916 NONAME - _ZNK32QDeclarativeDebugObjectReference4nameEv @ 2917 NONAME - _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 2918 NONAME - _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 2919 NONAME - _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 2920 NONAME - _ZNK32QDeclarativeDebugObjectReference8idStringEv @ 2921 NONAME - _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 2922 NONAME - _ZNK33QDeclarativeDebugContextReference4nameEv @ 2923 NONAME - _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 2924 NONAME - _ZNK33QDeclarativeDebugContextReference7objectsEv @ 2925 NONAME - _ZNK33QDeclarativeDebugContextReference8contextsEv @ 2926 NONAME - _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 2927 NONAME - _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 2928 NONAME - _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 2929 NONAME - _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 2930 NONAME - _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 2931 NONAME - _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 2932 NONAME - _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 2933 NONAME - _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 2934 NONAME - _ZNK35QDeclarativeGraphicsObjectContainer10metaObjectEv @ 2935 NONAME ABSENT - _ZNK35QDeclarativeGraphicsObjectContainer14graphicsObjectEv @ 2936 NONAME ABSENT - _ZNK35QDeclarativeGraphicsObjectContainer20synchronizedResizingEv @ 2937 NONAME ABSENT - _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 2938 NONAME - _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 2939 NONAME - _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 2940 NONAME - _ZNK7QPacket7isEmptyEv @ 2941 NONAME - _ZTI15QDeclarativePen @ 2942 NONAME - _ZTI15QDeclarativeRow @ 2943 NONAME - _ZTI15QPacketAutoSend @ 2944 NONAME - _ZTI15QPacketProtocol @ 2945 NONAME - _ZTI16QDeclarativeBind @ 2946 NONAME - _ZTI16QDeclarativeDrag @ 2947 NONAME - _ZTI16QDeclarativeFlow @ 2948 NONAME - _ZTI16QDeclarativeGrid @ 2949 NONAME - _ZTI16QDeclarativeItem @ 2950 NONAME - _ZTI16QDeclarativePath @ 2951 NONAME - _ZTI16QDeclarativeText @ 2952 NONAME - _ZTI16QDeclarativeView @ 2953 NONAME - _ZTI17QDeclarativeCurve @ 2954 NONAME - _ZTI17QDeclarativeImage @ 2955 NONAME - _ZTI17QDeclarativeState @ 2956 NONAME - _ZTI17QDeclarativeTimer @ 2957 NONAME - _ZTI18QDeclarativeColumn @ 2958 NONAME - _ZTI18QDeclarativeEngine @ 2959 NONAME - _ZTI18QDeclarativeLoader @ 2960 NONAME - _ZTI18QMetaObjectBuilder @ 2961 NONAME - _ZTI19QDeclarativeAnchors @ 2962 NONAME - _ZTI19QDeclarativeBinding @ 2963 NONAME - _ZTI19QDeclarativeContext @ 2964 NONAME - _ZTI19QListModelInterface @ 2965 NONAME - _ZTI20QDeclarativeBehavior @ 2966 NONAME - _ZTI20QDeclarativeFlipable @ 2967 NONAME - _ZTI20QDeclarativeGradient @ 2968 NONAME - _ZTI20QDeclarativeGridView @ 2969 NONAME - _ZTI20QDeclarativeListView @ 2970 NONAME - _ZTI20QDeclarativePathLine @ 2971 NONAME - _ZTI20QDeclarativePathQuad @ 2972 NONAME - _ZTI20QDeclarativePathView @ 2973 NONAME - _ZTI20QDeclarativeRepeater @ 2974 NONAME - _ZTI20QDeclarativeTextEdit @ 2975 NONAME - _ZTI21QDeclarativeComponent @ 2976 NONAME - _ZTI21QDeclarativeFlickable @ 2977 NONAME - _ZTI21QDeclarativeImageBase @ 2978 NONAME - _ZTI21QDeclarativeListModel @ 2979 NONAME - _ZTI21QDeclarativeMouseArea @ 2980 NONAME - _ZTI21QDeclarativePathCubic @ 2981 NONAME - _ZTI21QDeclarativeRectangle @ 2982 NONAME - _ZTI21QDeclarativeScaleGrid @ 2983 NONAME - _ZTI21QDeclarativeTextInput @ 2984 NONAME - _ZTI21QDeclarativeTranslate @ 2985 NONAME - _ZTI21QDeclarativeValueType @ 2986 NONAME - _ZTI22QDeclarativeDebugQuery @ 2987 NONAME - _ZTI22QDeclarativeDebugWatch @ 2988 NONAME - _ZTI22QDeclarativeExpression @ 2989 NONAME - _ZTI22QDeclarativeFocusPanel @ 2990 NONAME - _ZTI22QDeclarativeFocusScope @ 2991 NONAME - _ZTI22QDeclarativeFontLoader @ 2992 NONAME - _ZTI22QDeclarativeStateGroup @ 2993 NONAME - _ZTI22QDeclarativeTransition @ 2994 NONAME - _ZTI23QDeclarativeBorderImage @ 2995 NONAME - _ZTI23QDeclarativeConnections @ 2996 NONAME - _ZTI23QDeclarativeDebugClient @ 2997 NONAME - _ZTI23QDeclarativeEngineDebug @ 2998 NONAME - _ZTI23QDeclarativeItemPrivate @ 2999 NONAME - _ZTI23QDeclarativePaintedItem @ 3000 NONAME - _ZTI23QDeclarativePathElement @ 3001 NONAME - _ZTI23QDeclarativePathPercent @ 3002 NONAME - _ZTI23QDeclarativePixmapReply @ 3003 NONAME - _ZTI23QDeclarativePropertyMap @ 3004 NONAME - _ZTI23QDeclarativeViewSection @ 3005 NONAME - _ZTI23QDeclarativeVisualModel @ 3006 NONAME - _ZTI24QDeclarativeCustomParser @ 3007 NONAME - _ZTI24QDeclarativeDebugService @ 3008 NONAME - _ZTI24QDeclarativeGradientStop @ 3009 NONAME - _ZTI24QDeclarativeParentChange @ 3010 NONAME - _ZTI24QDeclarativeParserStatus @ 3011 NONAME - _ZTI24QDeclarativeSpringFollow @ 3012 NONAME - _ZTI24QDeclarativeWorkerScript @ 3013 NONAME - _ZTI24QDeclarativeXmlListModel @ 3014 NONAME - _ZTI25QDeclarativeAnchorChanges @ 3015 NONAME - _ZTI25QDeclarativeAnimatedImage @ 3016 NONAME - _ZTI25QDeclarativeImageProvider @ 3017 NONAME - _ZTI25QDeclarativePathAttribute @ 3018 NONAME - _ZTI25QDeclarativeSystemPalette @ 3019 NONAME - _ZTI26QDeclarativeBasePositioner @ 3020 NONAME - _ZTI26QDeclarativeDebuggerStatus @ 3021 NONAME - _ZTI26QDeclarativeOpenMetaObject @ 3022 NONAME - _ZTI26QDeclarativeStateOperation @ 3023 NONAME - _ZTI27QDeclarativeAbstractBinding @ 3024 NONAME - _ZTI27QDeclarativeDebugConnection @ 3025 NONAME - _ZTI27QDeclarativeExtensionPlugin @ 3026 NONAME - _ZTI27QDeclarativePropertyChanges @ 3027 NONAME - _ZTI27QDeclarativeVisualDataModel @ 3028 NONAME - _ZTI27QDeclarativeVisualItemModel @ 3029 NONAME - _ZTI28QDeclarativeDebugObjectQuery @ 3030 NONAME - _ZTI28QDeclarativeXmlListModelRole @ 3031 NONAME - _ZTI29QDeclarativeDebugEnginesQuery @ 3032 NONAME - _ZTI29QDeclarativeSmoothedAnimation @ 3033 NONAME - _ZTI29QDeclarativeStateChangeScript @ 3034 NONAME - _ZTI30QDeclarativeDebugPropertyWatch @ 3035 NONAME - _ZTI30QDeclarativeExtensionInterface @ 3036 NONAME - _ZTI30QDeclarativeOpenMetaObjectType @ 3037 NONAME - _ZTI31QDeclarativePropertyValueSource @ 3038 NONAME - _ZTI32QDeclarativeDebugExpressionQuery @ 3039 NONAME - _ZTI33QDeclarativeDebugRootContextQuery @ 3040 NONAME - _ZTI35QDeclarativeGraphicsObjectContainer @ 3041 NONAME ABSENT - _ZTI36QDeclarativePropertyValueInterceptor @ 3042 NONAME - _ZTI38QDeclarativeDebugObjectExpressionWatch @ 3043 NONAME - _ZTI39QDeclarativeNetworkAccessManagerFactory @ 3044 NONAME - _ZTI7QPacket @ 3045 NONAME - _ZTV15QDeclarativePen @ 3046 NONAME - _ZTV15QDeclarativeRow @ 3047 NONAME - _ZTV15QPacketAutoSend @ 3048 NONAME - _ZTV15QPacketProtocol @ 3049 NONAME - _ZTV16QDeclarativeBind @ 3050 NONAME - _ZTV16QDeclarativeDrag @ 3051 NONAME - _ZTV16QDeclarativeFlow @ 3052 NONAME - _ZTV16QDeclarativeGrid @ 3053 NONAME - _ZTV16QDeclarativeItem @ 3054 NONAME - _ZTV16QDeclarativePath @ 3055 NONAME - _ZTV16QDeclarativeText @ 3056 NONAME - _ZTV16QDeclarativeView @ 3057 NONAME - _ZTV17QDeclarativeCurve @ 3058 NONAME - _ZTV17QDeclarativeImage @ 3059 NONAME - _ZTV17QDeclarativeState @ 3060 NONAME - _ZTV17QDeclarativeTimer @ 3061 NONAME - _ZTV18QDeclarativeColumn @ 3062 NONAME - _ZTV18QDeclarativeEngine @ 3063 NONAME - _ZTV18QDeclarativeLoader @ 3064 NONAME - _ZTV18QMetaObjectBuilder @ 3065 NONAME - _ZTV19QDeclarativeAnchors @ 3066 NONAME - _ZTV19QDeclarativeBinding @ 3067 NONAME - _ZTV19QDeclarativeContext @ 3068 NONAME - _ZTV19QListModelInterface @ 3069 NONAME - _ZTV20QDeclarativeBehavior @ 3070 NONAME - _ZTV20QDeclarativeFlipable @ 3071 NONAME - _ZTV20QDeclarativeGradient @ 3072 NONAME - _ZTV20QDeclarativeGridView @ 3073 NONAME - _ZTV20QDeclarativeListView @ 3074 NONAME - _ZTV20QDeclarativePathLine @ 3075 NONAME - _ZTV20QDeclarativePathQuad @ 3076 NONAME - _ZTV20QDeclarativePathView @ 3077 NONAME - _ZTV20QDeclarativeRepeater @ 3078 NONAME - _ZTV20QDeclarativeTextEdit @ 3079 NONAME - _ZTV21QDeclarativeComponent @ 3080 NONAME - _ZTV21QDeclarativeFlickable @ 3081 NONAME - _ZTV21QDeclarativeImageBase @ 3082 NONAME - _ZTV21QDeclarativeListModel @ 3083 NONAME - _ZTV21QDeclarativeMouseArea @ 3084 NONAME - _ZTV21QDeclarativePathCubic @ 3085 NONAME - _ZTV21QDeclarativeRectangle @ 3086 NONAME - _ZTV21QDeclarativeScaleGrid @ 3087 NONAME - _ZTV21QDeclarativeTextInput @ 3088 NONAME - _ZTV21QDeclarativeTranslate @ 3089 NONAME - _ZTV21QDeclarativeValueType @ 3090 NONAME - _ZTV22QDeclarativeDebugQuery @ 3091 NONAME - _ZTV22QDeclarativeDebugWatch @ 3092 NONAME - _ZTV22QDeclarativeExpression @ 3093 NONAME - _ZTV22QDeclarativeFocusPanel @ 3094 NONAME - _ZTV22QDeclarativeFocusScope @ 3095 NONAME - _ZTV22QDeclarativeFontLoader @ 3096 NONAME - _ZTV22QDeclarativeStateGroup @ 3097 NONAME - _ZTV22QDeclarativeTransition @ 3098 NONAME - _ZTV23QDeclarativeBorderImage @ 3099 NONAME - _ZTV23QDeclarativeConnections @ 3100 NONAME - _ZTV23QDeclarativeDebugClient @ 3101 NONAME - _ZTV23QDeclarativeEngineDebug @ 3102 NONAME - _ZTV23QDeclarativeItemPrivate @ 3103 NONAME - _ZTV23QDeclarativePaintedItem @ 3104 NONAME - _ZTV23QDeclarativePathElement @ 3105 NONAME - _ZTV23QDeclarativePathPercent @ 3106 NONAME - _ZTV23QDeclarativePixmapReply @ 3107 NONAME - _ZTV23QDeclarativePropertyMap @ 3108 NONAME - _ZTV23QDeclarativeViewSection @ 3109 NONAME - _ZTV23QDeclarativeVisualModel @ 3110 NONAME - _ZTV24QDeclarativeCustomParser @ 3111 NONAME - _ZTV24QDeclarativeDebugService @ 3112 NONAME - _ZTV24QDeclarativeGradientStop @ 3113 NONAME - _ZTV24QDeclarativeParentChange @ 3114 NONAME - _ZTV24QDeclarativeParserStatus @ 3115 NONAME - _ZTV24QDeclarativeSpringFollow @ 3116 NONAME - _ZTV24QDeclarativeWorkerScript @ 3117 NONAME - _ZTV24QDeclarativeXmlListModel @ 3118 NONAME - _ZTV25QDeclarativeAnchorChanges @ 3119 NONAME - _ZTV25QDeclarativeAnimatedImage @ 3120 NONAME - _ZTV25QDeclarativeImageProvider @ 3121 NONAME - _ZTV25QDeclarativePathAttribute @ 3122 NONAME - _ZTV25QDeclarativeSystemPalette @ 3123 NONAME - _ZTV26QDeclarativeBasePositioner @ 3124 NONAME - _ZTV26QDeclarativeDebuggerStatus @ 3125 NONAME - _ZTV26QDeclarativeOpenMetaObject @ 3126 NONAME - _ZTV26QDeclarativeStateOperation @ 3127 NONAME - _ZTV27QDeclarativeAbstractBinding @ 3128 NONAME - _ZTV27QDeclarativeDebugConnection @ 3129 NONAME - _ZTV27QDeclarativeExtensionPlugin @ 3130 NONAME - _ZTV27QDeclarativePropertyChanges @ 3131 NONAME - _ZTV27QDeclarativeVisualDataModel @ 3132 NONAME - _ZTV27QDeclarativeVisualItemModel @ 3133 NONAME - _ZTV28QDeclarativeDebugObjectQuery @ 3134 NONAME - _ZTV28QDeclarativeXmlListModelRole @ 3135 NONAME - _ZTV29QDeclarativeDebugEnginesQuery @ 3136 NONAME - _ZTV29QDeclarativeSmoothedAnimation @ 3137 NONAME - _ZTV29QDeclarativeStateChangeScript @ 3138 NONAME - _ZTV30QDeclarativeDebugPropertyWatch @ 3139 NONAME - _ZTV30QDeclarativeOpenMetaObjectType @ 3140 NONAME - _ZTV31QDeclarativePropertyValueSource @ 3141 NONAME - _ZTV32QDeclarativeDebugExpressionQuery @ 3142 NONAME - _ZTV33QDeclarativeDebugRootContextQuery @ 3143 NONAME - _ZTV35QDeclarativeGraphicsObjectContainer @ 3144 NONAME ABSENT - _ZTV36QDeclarativePropertyValueInterceptor @ 3145 NONAME - _ZTV38QDeclarativeDebugObjectExpressionWatch @ 3146 NONAME - _ZTV39QDeclarativeNetworkAccessManagerFactory @ 3147 NONAME - _ZTV7QPacket @ 3148 NONAME - _ZThn12_N29QDeclarativeSmoothedAnimationD0Ev @ 3149 NONAME - _ZThn12_N29QDeclarativeSmoothedAnimationD1Ev @ 3150 NONAME - _ZThn16_N16QDeclarativeItem10classBeginEv @ 3151 NONAME - _ZThn16_N16QDeclarativeItem17componentCompleteEv @ 3152 NONAME - _ZThn16_N16QDeclarativeItemD0Ev @ 3153 NONAME - _ZThn16_N16QDeclarativeItemD1Ev @ 3154 NONAME - _ZThn16_N16QDeclarativeText17componentCompleteEv @ 3155 NONAME - _ZThn16_N16QDeclarativeTextD0Ev @ 3156 NONAME - _ZThn16_N16QDeclarativeTextD1Ev @ 3157 NONAME - _ZThn16_N17QDeclarativeImageD0Ev @ 3158 NONAME - _ZThn16_N17QDeclarativeImageD1Ev @ 3159 NONAME - _ZThn16_N18QDeclarativeLoaderD0Ev @ 3160 NONAME - _ZThn16_N18QDeclarativeLoaderD1Ev @ 3161 NONAME - _ZThn16_N20QDeclarativeFlipableD0Ev @ 3162 NONAME - _ZThn16_N20QDeclarativeFlipableD1Ev @ 3163 NONAME - _ZThn16_N20QDeclarativeGridView17componentCompleteEv @ 3164 NONAME - _ZThn16_N20QDeclarativeGridViewD0Ev @ 3165 NONAME - _ZThn16_N20QDeclarativeGridViewD1Ev @ 3166 NONAME - _ZThn16_N20QDeclarativeListView17componentCompleteEv @ 3167 NONAME - _ZThn16_N20QDeclarativeListViewD0Ev @ 3168 NONAME - _ZThn16_N20QDeclarativeListViewD1Ev @ 3169 NONAME - _ZThn16_N20QDeclarativePathView17componentCompleteEv @ 3170 NONAME - _ZThn16_N20QDeclarativePathViewD0Ev @ 3171 NONAME - _ZThn16_N20QDeclarativePathViewD1Ev @ 3172 NONAME - _ZThn16_N20QDeclarativeRepeater17componentCompleteEv @ 3173 NONAME - _ZThn16_N20QDeclarativeRepeaterD0Ev @ 3174 NONAME - _ZThn16_N20QDeclarativeRepeaterD1Ev @ 3175 NONAME - _ZThn16_N20QDeclarativeTextEdit17componentCompleteEv @ 3176 NONAME - _ZThn16_N21QDeclarativeFlickableD0Ev @ 3177 NONAME - _ZThn16_N21QDeclarativeFlickableD1Ev @ 3178 NONAME - _ZThn16_N21QDeclarativeImageBase17componentCompleteEv @ 3179 NONAME - _ZThn16_N21QDeclarativeImageBaseD0Ev @ 3180 NONAME - _ZThn16_N21QDeclarativeImageBaseD1Ev @ 3181 NONAME - _ZThn16_N21QDeclarativeMouseAreaD0Ev @ 3182 NONAME - _ZThn16_N21QDeclarativeMouseAreaD1Ev @ 3183 NONAME - _ZThn16_N21QDeclarativeTextInputD0Ev @ 3184 NONAME - _ZThn16_N21QDeclarativeTextInputD1Ev @ 3185 NONAME - _ZThn16_N22QDeclarativeFocusPanelD0Ev @ 3186 NONAME - _ZThn16_N22QDeclarativeFocusPanelD1Ev @ 3187 NONAME - _ZThn16_N22QDeclarativeFocusScopeD0Ev @ 3188 NONAME - _ZThn16_N22QDeclarativeFocusScopeD1Ev @ 3189 NONAME - _ZThn16_N23QDeclarativeBorderImageD0Ev @ 3190 NONAME - _ZThn16_N23QDeclarativeBorderImageD1Ev @ 3191 NONAME - _ZThn16_N23QDeclarativePaintedItemD0Ev @ 3192 NONAME - _ZThn16_N23QDeclarativePaintedItemD1Ev @ 3193 NONAME - _ZThn16_N25QDeclarativeAnimatedImage17componentCompleteEv @ 3194 NONAME - _ZThn16_N25QDeclarativeAnimatedImageD0Ev @ 3195 NONAME - _ZThn16_N25QDeclarativeAnimatedImageD1Ev @ 3196 NONAME - _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 3197 NONAME - _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 3198 NONAME - _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 3199 NONAME - _ZThn16_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3200 NONAME ABSENT - _ZThn16_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3201 NONAME ABSENT - _ZThn8_N16QDeclarativeBind17componentCompleteEv @ 3202 NONAME - _ZThn8_N16QDeclarativeBindD0Ev @ 3203 NONAME - _ZThn8_N16QDeclarativeBindD1Ev @ 3204 NONAME - _ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3205 NONAME - _ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 3206 NONAME - _ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 3207 NONAME - _ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 3208 NONAME - _ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 3209 NONAME - _ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3210 NONAME - _ZThn8_N16QDeclarativeItemD0Ev @ 3211 NONAME - _ZThn8_N16QDeclarativeItemD1Ev @ 3212 NONAME - _ZThn8_N16QDeclarativePath17componentCompleteEv @ 3213 NONAME - _ZThn8_N16QDeclarativePathD0Ev @ 3214 NONAME - _ZThn8_N16QDeclarativePathD1Ev @ 3215 NONAME - _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 3216 NONAME - _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3217 NONAME - _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3218 NONAME - _ZThn8_N16QDeclarativeTextD0Ev @ 3219 NONAME - _ZThn8_N16QDeclarativeTextD1Ev @ 3220 NONAME - _ZThn8_N16QDeclarativeViewD0Ev @ 3221 NONAME - _ZThn8_N16QDeclarativeViewD1Ev @ 3222 NONAME - _ZThn8_N17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3223 NONAME - _ZThn8_N17QDeclarativeImageD0Ev @ 3224 NONAME - _ZThn8_N17QDeclarativeImageD1Ev @ 3225 NONAME - _ZThn8_N17QDeclarativeTimer10classBeginEv @ 3226 NONAME - _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 3227 NONAME - _ZThn8_N18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3228 NONAME - _ZThn8_N18QDeclarativeLoaderD0Ev @ 3229 NONAME - _ZThn8_N18QDeclarativeLoaderD1Ev @ 3230 NONAME - _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3231 NONAME - _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 3232 NONAME - _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3233 NONAME - _ZThn8_N19QDeclarativeBindingD0Ev @ 3234 NONAME - _ZThn8_N19QDeclarativeBindingD1Ev @ 3235 NONAME - _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 3236 NONAME - _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 3237 NONAME - _ZThn8_N20QDeclarativeBehaviorD0Ev @ 3238 NONAME - _ZThn8_N20QDeclarativeBehaviorD1Ev @ 3239 NONAME - _ZThn8_N20QDeclarativeFlipableD0Ev @ 3240 NONAME - _ZThn8_N20QDeclarativeFlipableD1Ev @ 3241 NONAME - _ZThn8_N20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 3242 NONAME - _ZThn8_N20QDeclarativeGridViewD0Ev @ 3243 NONAME - _ZThn8_N20QDeclarativeGridViewD1Ev @ 3244 NONAME - _ZThn8_N20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 3245 NONAME - _ZThn8_N20QDeclarativeListViewD0Ev @ 3246 NONAME - _ZThn8_N20QDeclarativeListViewD1Ev @ 3247 NONAME - _ZThn8_N20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3248 NONAME - _ZThn8_N20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3249 NONAME - _ZThn8_N20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3250 NONAME - _ZThn8_N20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3251 NONAME - _ZThn8_N20QDeclarativePathViewD0Ev @ 3252 NONAME - _ZThn8_N20QDeclarativePathViewD1Ev @ 3253 NONAME - _ZThn8_N20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3254 NONAME - _ZThn8_N20QDeclarativeRepeaterD0Ev @ 3255 NONAME - _ZThn8_N20QDeclarativeRepeaterD1Ev @ 3256 NONAME - _ZThn8_N20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 3257 NONAME - _ZThn8_N20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3258 NONAME - _ZThn8_N20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 3259 NONAME - _ZThn8_N20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 3260 NONAME - _ZThn8_N20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 3261 NONAME - _ZThn8_N20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3262 NONAME - _ZThn8_N20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3263 NONAME - _ZThn8_N21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 3264 NONAME - _ZThn8_N21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3265 NONAME - _ZThn8_N21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 3266 NONAME - _ZThn8_N21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3267 NONAME - _ZThn8_N21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3268 NONAME - _ZThn8_N21QDeclarativeFlickableD0Ev @ 3269 NONAME - _ZThn8_N21QDeclarativeFlickableD1Ev @ 3270 NONAME - _ZThn8_N21QDeclarativeImageBaseD0Ev @ 3271 NONAME - _ZThn8_N21QDeclarativeImageBaseD1Ev @ 3272 NONAME - _ZThn8_N21QDeclarativeMouseArea10sceneEventEP6QEvent @ 3273 NONAME - _ZThn8_N21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3274 NONAME - _ZThn8_N21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3275 NONAME - _ZThn8_N21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 3276 NONAME - _ZThn8_N21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3277 NONAME - _ZThn8_N21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 3278 NONAME - _ZThn8_N21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3279 NONAME - _ZThn8_N21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3280 NONAME - _ZThn8_N21QDeclarativeMouseAreaD0Ev @ 3281 NONAME - _ZThn8_N21QDeclarativeMouseAreaD1Ev @ 3282 NONAME - _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3283 NONAME - _ZThn8_N21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 3284 NONAME - _ZThn8_N21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 3285 NONAME - _ZThn8_N21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3286 NONAME - _ZThn8_N21QDeclarativeTextInputD0Ev @ 3287 NONAME - _ZThn8_N21QDeclarativeTextInputD1Ev @ 3288 NONAME - _ZThn8_N22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 3289 NONAME - _ZThn8_N22QDeclarativeFocusPanelD0Ev @ 3290 NONAME - _ZThn8_N22QDeclarativeFocusPanelD1Ev @ 3291 NONAME - _ZThn8_N22QDeclarativeFocusScopeD0Ev @ 3292 NONAME - _ZThn8_N22QDeclarativeFocusScopeD1Ev @ 3293 NONAME - _ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 3294 NONAME - _ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 3295 NONAME - _ZThn8_N22QDeclarativeStateGroupD0Ev @ 3296 NONAME - _ZThn8_N22QDeclarativeStateGroupD1Ev @ 3297 NONAME - _ZThn8_N23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3298 NONAME - _ZThn8_N23QDeclarativeBorderImageD0Ev @ 3299 NONAME - _ZThn8_N23QDeclarativeBorderImageD1Ev @ 3300 NONAME - _ZThn8_N23QDeclarativeConnections17componentCompleteEv @ 3301 NONAME - _ZThn8_N23QDeclarativeConnectionsD0Ev @ 3302 NONAME - _ZThn8_N23QDeclarativeConnectionsD1Ev @ 3303 NONAME - _ZThn8_N23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3304 NONAME - _ZThn8_N23QDeclarativePaintedItemD0Ev @ 3305 NONAME - _ZThn8_N23QDeclarativePaintedItemD1Ev @ 3306 NONAME - _ZThn8_N24QDeclarativeParentChange12isReversableEv @ 3307 NONAME - _ZThn8_N24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 3308 NONAME ABSENT - _ZThn8_N24QDeclarativeParentChange13saveOriginalsEv @ 3309 NONAME - _ZThn8_N24QDeclarativeParentChange17saveCurrentValuesEv @ 3310 NONAME - _ZThn8_N24QDeclarativeParentChange6rewindEv @ 3311 NONAME - _ZThn8_N24QDeclarativeParentChange7executeEv @ 3312 NONAME ABSENT - _ZThn8_N24QDeclarativeParentChange7reverseEv @ 3313 NONAME ABSENT - _ZThn8_N24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 3314 NONAME - _ZThn8_N24QDeclarativeParentChangeD0Ev @ 3315 NONAME - _ZThn8_N24QDeclarativeParentChangeD1Ev @ 3316 NONAME - _ZThn8_N24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 3317 NONAME - _ZThn8_N24QDeclarativeSpringFollowD0Ev @ 3318 NONAME - _ZThn8_N24QDeclarativeSpringFollowD1Ev @ 3319 NONAME - _ZThn8_N24QDeclarativeWorkerScript17componentCompleteEv @ 3320 NONAME - _ZThn8_N24QDeclarativeWorkerScriptD0Ev @ 3321 NONAME - _ZThn8_N24QDeclarativeWorkerScriptD1Ev @ 3322 NONAME - _ZThn8_N24QDeclarativeXmlListModel10classBeginEv @ 3323 NONAME - _ZThn8_N24QDeclarativeXmlListModel17componentCompleteEv @ 3324 NONAME - _ZThn8_N24QDeclarativeXmlListModelD0Ev @ 3325 NONAME - _ZThn8_N24QDeclarativeXmlListModelD1Ev @ 3326 NONAME - _ZThn8_N25QDeclarativeAnchorChanges12isReversableEv @ 3327 NONAME - _ZThn8_N25QDeclarativeAnchorChanges13clearBindingsEv @ 3328 NONAME - _ZThn8_N25QDeclarativeAnchorChanges13copyOriginalsEP23QDeclarativeActionEvent @ 3329 NONAME - _ZThn8_N25QDeclarativeAnchorChanges13saveOriginalsEv @ 3330 NONAME - _ZThn8_N25QDeclarativeAnchorChanges15changesBindingsEv @ 3331 NONAME - _ZThn8_N25QDeclarativeAnchorChanges16saveTargetValuesEv @ 3332 NONAME - _ZThn8_N25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 3333 NONAME - _ZThn8_N25QDeclarativeAnchorChanges6rewindEv @ 3334 NONAME - _ZThn8_N25QDeclarativeAnchorChanges7executeEv @ 3335 NONAME ABSENT - _ZThn8_N25QDeclarativeAnchorChanges7reverseEv @ 3336 NONAME ABSENT - _ZThn8_N25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 3337 NONAME - _ZThn8_N25QDeclarativeAnchorChangesD0Ev @ 3338 NONAME - _ZThn8_N25QDeclarativeAnchorChangesD1Ev @ 3339 NONAME - _ZThn8_N25QDeclarativeAnimatedImageD0Ev @ 3340 NONAME - _ZThn8_N25QDeclarativeAnimatedImageD1Ev @ 3341 NONAME - _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3342 NONAME - _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 3343 NONAME - _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 3344 NONAME - _ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 3345 NONAME - _ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 3346 NONAME - _ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 3347 NONAME - _ZThn8_N29QDeclarativeSmoothedAnimationD0Ev @ 3348 NONAME - _ZThn8_N29QDeclarativeSmoothedAnimationD1Ev @ 3349 NONAME - _ZThn8_N29QDeclarativeStateChangeScript7executeEv @ 3350 NONAME ABSENT - _ZThn8_N29QDeclarativeStateChangeScriptD0Ev @ 3351 NONAME - _ZThn8_N29QDeclarativeStateChangeScriptD1Ev @ 3352 NONAME - _ZThn8_N35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3353 NONAME ABSENT - _ZThn8_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3354 NONAME ABSENT - _ZThn8_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3355 NONAME ABSENT - _ZThn8_NK16QDeclarativeItem12boundingRectEv @ 3356 NONAME - _ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 3357 NONAME - _ZThn8_NK19QDeclarativeBinding10expressionEv @ 3358 NONAME - _ZThn8_NK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 3359 NONAME - _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 3360 NONAME - _ZThn8_NK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 3361 NONAME - _ZThn8_NK24QDeclarativeParentChange8typeNameEv @ 3362 NONAME - _ZThn8_NK25QDeclarativeAnchorChanges8typeNameEv @ 3363 NONAME - _ZThn8_NK29QDeclarativeStateChangeScript8typeNameEv @ 3364 NONAME - _Zls6QDebugP16QDeclarativeItem @ 3365 NONAME - _Zls6QDebugRK17QDeclarativeError @ 3366 NONAME - _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3367 NONAME - _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3368 NONAME - _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3369 NONAME - _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3370 NONAME - _ZN15QDeclarativeRow13doPositioningEP6QSizeF @ 3371 NONAME - _ZN16QDeclarativeFlow13doPositioningEP6QSizeF @ 3372 NONAME - _ZN16QDeclarativeGrid13doPositioningEP6QSizeF @ 3373 NONAME - _ZN18QDeclarativeColumn13doPositioningEP6QSizeF @ 3374 NONAME - _ZN18QDeclarativeParser7VariantC1ERK7QString @ 3375 NONAME - _ZN18QDeclarativeParser7VariantC1ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 3376 NONAME - _ZN18QDeclarativeParser7VariantC1ERKS0_ @ 3377 NONAME - _ZN18QDeclarativeParser7VariantC1Eb @ 3378 NONAME - _ZN18QDeclarativeParser7VariantC1EdRK7QString @ 3379 NONAME - _ZN18QDeclarativeParser7VariantC1Ev @ 3380 NONAME - _ZN18QDeclarativeParser7VariantC2ERK7QString @ 3381 NONAME - _ZN18QDeclarativeParser7VariantC2ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 3382 NONAME - _ZN18QDeclarativeParser7VariantC2ERKS0_ @ 3383 NONAME - _ZN18QDeclarativeParser7VariantC2Eb @ 3384 NONAME - _ZN18QDeclarativeParser7VariantC2EdRK7QString @ 3385 NONAME - _ZN18QDeclarativeParser7VariantC2Ev @ 3386 NONAME - _ZN18QDeclarativeParser7VariantaSERKS0_ @ 3387 NONAME - _ZNK18QDeclarativeParser7Variant12asStringListEv @ 3388 NONAME - _ZNK18QDeclarativeParser7Variant12isStringListEv @ 3389 NONAME - _ZNK18QDeclarativeParser7Variant4typeEv @ 3390 NONAME - _ZNK18QDeclarativeParser7Variant5asASTEv @ 3391 NONAME - _ZNK18QDeclarativeParser7Variant8asNumberEv @ 3392 NONAME - _ZNK18QDeclarativeParser7Variant8asScriptEv @ 3393 NONAME - _ZNK18QDeclarativeParser7Variant8asStringEv @ 3394 NONAME - _ZNK18QDeclarativeParser7Variant9asBooleanEv @ 3395 NONAME - _ZN16QDeclarativeDrag11resetTargetEv @ 3396 NONAME - _ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 3397 NONAME - _ZN16QDeclarativeText15wrapModeChangedEv @ 3398 NONAME - _ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 3399 NONAME - _ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 3400 NONAME - _ZN18QDeclarativeEngine12importPluginERK7QStringS2_ @ 3401 NONAME ABSENT - _ZN18QDeclarativeEngine13addPluginPathERK7QString @ 3402 NONAME - _ZN18QDeclarativeEngine17setPluginPathListERK11QStringList @ 3403 NONAME - _ZN20QDeclarativeCompiler2trEPKc @ 3404 NONAME ABSENT - _ZN20QDeclarativeGridView24setHighlightMoveDurationEi @ 3405 NONAME - _ZN20QDeclarativeGridView28highlightMoveDurationChangedEv @ 3406 NONAME - _ZN20QDeclarativeListView24setHighlightMoveDurationEi @ 3407 NONAME - _ZN20QDeclarativeListView26setHighlightResizeDurationEi @ 3408 NONAME - _ZN20QDeclarativeListView28highlightMoveDurationChangedEv @ 3409 NONAME - _ZN20QDeclarativeListView30highlightResizeDurationChangedEv @ 3410 NONAME - _ZN20QDeclarativePathView24setHighlightMoveDurationEi @ 3411 NONAME - _ZN20QDeclarativePathView28highlightMoveDurationChangedEv @ 3412 NONAME - _ZN20QDeclarativeTextEdit11setWrapModeENS_8WrapModeE @ 3413 NONAME - _ZN20QDeclarativeTextEdit15wrapModeChangedEv @ 3414 NONAME - _ZN21QDeclarativeTextInput11xToPositionEi @ 3415 NONAME ABSENT - _ZN21QDeclarativeTextInput13setAutoScrollEb @ 3416 NONAME - _ZN21QDeclarativeTextInput14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3417 NONAME - _ZN21QDeclarativeTextInput17autoScrollChangedEb @ 3418 NONAME - _ZN21QDeclarativeTextInput18displayTextChangedERK7QString @ 3419 NONAME - _ZN21QDeclarativeTextInput19moveCursorSelectionEi @ 3420 NONAME - _ZN21QDeclarativeTextInput20setPasswordCharacterERK7QString @ 3421 NONAME - _ZN21QDeclarativeTextInput24passwordCharacterChangedEv @ 3422 NONAME - _ZN24QDeclarativeSpringFollow5setToEf @ 3423 NONAME - _ZN25QDeclarativeAnimatedImage17sourceSizeChangedEv @ 3424 NONAME - _ZN26QDeclarativeSmoothedFollow10setEnabledEb @ 3425 NONAME - _ZN26QDeclarativeSmoothedFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 3426 NONAME - _ZN26QDeclarativeSmoothedFollow11qt_metacastEPKc @ 3427 NONAME - _ZN26QDeclarativeSmoothedFollow11setDurationEi @ 3428 NONAME - _ZN26QDeclarativeSmoothedFollow11setVelocityEf @ 3429 NONAME - _ZN26QDeclarativeSmoothedFollow14enabledChangedEv @ 3430 NONAME - _ZN26QDeclarativeSmoothedFollow15durationChangedEv @ 3431 NONAME - _ZN26QDeclarativeSmoothedFollow15velocityChangedEv @ 3432 NONAME - _ZN26QDeclarativeSmoothedFollow16setReversingModeENS_13ReversingModeE @ 3433 NONAME - _ZN26QDeclarativeSmoothedFollow16staticMetaObjectE @ 3434 NONAME DATA 16 - _ZN26QDeclarativeSmoothedFollow19getStaticMetaObjectEv @ 3435 NONAME - _ZN26QDeclarativeSmoothedFollow20reversingModeChangedEv @ 3436 NONAME - _ZN26QDeclarativeSmoothedFollow20setMaximumEasingTimeEi @ 3437 NONAME - _ZN26QDeclarativeSmoothedFollow24maximumEasingTimeChangedEv @ 3438 NONAME - _ZN26QDeclarativeSmoothedFollow5setToEf @ 3439 NONAME - _ZN26QDeclarativeSmoothedFollow9setTargetERK20QDeclarativeProperty @ 3440 NONAME - _ZN26QDeclarativeSmoothedFollowC1EP7QObject @ 3441 NONAME - _ZN26QDeclarativeSmoothedFollowC2EP7QObject @ 3442 NONAME - _ZN26QDeclarativeSmoothedFollowD0Ev @ 3443 NONAME - _ZN26QDeclarativeSmoothedFollowD1Ev @ 3444 NONAME - _ZN26QDeclarativeSmoothedFollowD2Ev @ 3445 NONAME - _ZNK16QDeclarativeText8wrapModeEv @ 3446 NONAME - _ZNK16QDeclarativeType10createSizeEv @ 3447 NONAME - _ZNK16QDeclarativeType14createFunctionEv @ 3448 NONAME - _ZNK16QDeclarativeType14isExtendedTypeEv @ 3449 NONAME - _ZNK18QDeclarativeEngine14pluginPathListEv @ 3450 NONAME - _ZNK20QDeclarativeGridView21highlightMoveDurationEv @ 3451 NONAME - _ZNK20QDeclarativeListView21highlightMoveDurationEv @ 3452 NONAME - _ZNK20QDeclarativeListView23highlightResizeDurationEv @ 3453 NONAME - _ZNK20QDeclarativePathView21highlightMoveDurationEv @ 3454 NONAME - _ZNK20QDeclarativeTextEdit8wrapModeEv @ 3455 NONAME - _ZNK21QDeclarativeTextInput10autoScrollEv @ 3456 NONAME - _ZNK21QDeclarativeTextInput11displayTextEv @ 3457 NONAME - _ZNK21QDeclarativeTextInput17passwordCharacterEv @ 3458 NONAME - _ZNK24QDeclarativeSpringFollow2toEv @ 3459 NONAME - _ZNK26QDeclarativeSmoothedFollow10metaObjectEv @ 3460 NONAME - _ZNK26QDeclarativeSmoothedFollow13reversingModeEv @ 3461 NONAME - _ZNK26QDeclarativeSmoothedFollow17maximumEasingTimeEv @ 3462 NONAME - _ZNK26QDeclarativeSmoothedFollow2toEv @ 3463 NONAME - _ZNK26QDeclarativeSmoothedFollow7enabledEv @ 3464 NONAME - _ZNK26QDeclarativeSmoothedFollow8durationEv @ 3465 NONAME - _ZNK26QDeclarativeSmoothedFollow8velocityEv @ 3466 NONAME - _ZTI26QDeclarativeSmoothedFollow @ 3467 NONAME - _ZTV26QDeclarativeSmoothedFollow @ 3468 NONAME - _ZThn8_N21QDeclarativeTextInput14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3469 NONAME - _ZThn8_N26QDeclarativeSmoothedFollow9setTargetERK20QDeclarativeProperty @ 3470 NONAME - _ZThn8_N26QDeclarativeSmoothedFollowD0Ev @ 3471 NONAME - _ZThn8_N26QDeclarativeSmoothedFollowD1Ev @ 3472 NONAME - _ZN16QDeclarativeGrid11flowChangedEv @ 3473 NONAME - _ZN16QDeclarativeGrid7setFlowENS_4FlowE @ 3474 NONAME - _ZN16QDeclarativeText19reloadWithResourcesEv @ 3475 NONAME - _ZN18QDeclarativeEngine12importPluginERK7QStringS2_PS0_ @ 3476 NONAME - _ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 3477 NONAME - _ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 3478 NONAME - _ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 3479 NONAME - _ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 3480 NONAME - _ZN19QDeclarativePrivate30qdeclarativeelement_destructorEP7QObject @ 3481 NONAME - _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapP7QStringP5QSizebii @ 3482 NONAME - _ZN27QDeclarativePropertyPrivate16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 3483 NONAME - _ZNK16QDeclarativeGrid4flowEv @ 3484 NONAME - _ZNK16QDeclarativeText16resourcesLoadingEv @ 3485 NONAME - _ZNK19QDeclarativeContext7isValidEv @ 3486 NONAME - _ZNK23QDeclarativePixmapReply11errorStringEv @ 3487 NONAME - _ZTI26QDeclarativeAnimationGroup @ 3488 NONAME ABSENT - _ZTI26QDeclarativeTimeLineObject @ 3489 NONAME ABSENT - _ZTI29QDeclarativeAbstractAnimation @ 3490 NONAME ABSENT - _ZTI29QDeclarativePropertyAnimation @ 3491 NONAME ABSENT - _ZTI30QDeclarativeAbstractExpression @ 3492 NONAME ABSENT - _ZTIN14QDeclarativeJS3AST14ExpressionNodeE @ 3493 NONAME ABSENT - _ZTIN14QDeclarativeJS3AST14UiObjectMemberE @ 3494 NONAME ABSENT - _ZTIN14QDeclarativeJS3AST18FunctionExpressionE @ 3495 NONAME ABSENT - _ZTIN14QDeclarativeJS3AST4NodeE @ 3496 NONAME ABSENT - _ZTIN14QDeclarativeJS3AST9StatementE @ 3497 NONAME ABSENT - _Z7qmlInfoPK7QObjectRK17QDeclarativeError @ 3498 NONAME - _Z7qmlInfoPK7QObjectRK5QListI17QDeclarativeErrorE @ 3499 NONAME - _ZN16QDeclarativeDrag13activeChangedEv @ 3500 NONAME - _ZN16QDeclarativeDrag9setActiveEb @ 3501 NONAME - _ZN16QDeclarativeInfoC1EP23QDeclarativeInfoPrivate @ 3502 NONAME - _ZN16QDeclarativeInfoC1ERKS_ @ 3503 NONAME - _ZN16QDeclarativeInfoC2EP23QDeclarativeInfoPrivate @ 3504 NONAME - _ZN16QDeclarativeInfoC2ERKS_ @ 3505 NONAME - _ZN16QDeclarativeItem10forceFocusEv @ 3506 NONAME - _ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 3507 NONAME - _ZN18QDeclarativeEngine32setOutputWarningsToStandardErrorEb @ 3508 NONAME - _ZN18QDeclarativeEngine8warningsERK5QListI17QDeclarativeErrorE @ 3509 NONAME - _ZN18QDeclarativeLoader20resetSourceComponentEv @ 3510 NONAME - _ZN20QDeclarativeFlipable15retransformBackEv @ 3511 NONAME - _ZN20QDeclarativeGridView11animStoppedEv @ 3512 NONAME - _ZN21QDeclarativeFlickable17setBoundsBehaviorENS_14BoundsBehaviorE @ 3513 NONAME - _ZN21QDeclarativeFlickable21boundsBehaviorChangedEv @ 3514 NONAME - _ZN21QDeclarativeMouseArea15geometryChangedERK6QRectFS2_ @ 3515 NONAME - _ZN21QDeclarativeMouseArea20mousePositionChangedEP22QDeclarativeMouseEvent @ 3516 NONAME - _ZN22QDeclarativeExpression8evaluateEPb @ 3517 NONAME - _ZN23QDeclarativeItemPrivate16transformChangedEv @ 3518 NONAME - _ZN24QDeclarativeCustomParser5errorERK7QString @ 3519 NONAME - _ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 3520 NONAME - _ZN24QDeclarativeParentChange7executeEN23QDeclarativeActionEvent6ReasonE @ 3521 NONAME - _ZN24QDeclarativeParentChange7reverseEN23QDeclarativeActionEvent6ReasonE @ 3522 NONAME - _ZN25QDeclarativeAnchorChanges7executeEN23QDeclarativeActionEvent6ReasonE @ 3523 NONAME - _ZN25QDeclarativeAnchorChanges7reverseEN23QDeclarativeActionEvent6ReasonE @ 3524 NONAME - _ZN27QDeclarativeVisualDataModel12setRootIndexERK8QVariant @ 3525 NONAME - _ZN29QDeclarativeStateChangeScript7executeEN23QDeclarativeActionEvent6ReasonE @ 3526 NONAME - _ZNK16QDeclarativeDrag6activeEv @ 3527 NONAME - _ZNK16QDeclarativeType16noCreationReasonEv @ 3528 NONAME - _ZNK18QDeclarativeEngine29outputWarningsToStandardErrorEv @ 3529 NONAME - _ZNK21QDeclarativeFlickable14boundsBehaviorEv @ 3530 NONAME - _ZNK27QDeclarativeVisualDataModel10modelIndexEi @ 3531 NONAME - _ZNK27QDeclarativeVisualDataModel16parentModelIndexEv @ 3532 NONAME - _ZThn8_N24QDeclarativeParentChange7executeEN23QDeclarativeActionEvent6ReasonE @ 3533 NONAME - _ZThn8_N24QDeclarativeParentChange7reverseEN23QDeclarativeActionEvent6ReasonE @ 3534 NONAME - _ZThn8_N25QDeclarativeAnchorChanges7executeEN23QDeclarativeActionEvent6ReasonE @ 3535 NONAME - _ZThn8_N25QDeclarativeAnchorChanges7reverseEN23QDeclarativeActionEvent6ReasonE @ 3536 NONAME - _ZThn8_N29QDeclarativeStateChangeScript7executeEN23QDeclarativeActionEvent6ReasonE @ 3537 NONAME - _ZN15QDeclarativeRow24reportConflictingAnchorsEv @ 3538 NONAME - _ZN16QDeclarativeBind10classBeginEv @ 3539 NONAME - _ZN16QDeclarativeFlow24reportConflictingAnchorsEv @ 3540 NONAME - _ZN16QDeclarativeGrid24reportConflictingAnchorsEv @ 3541 NONAME - _ZN16QDeclarativePath10classBeginEv @ 3542 NONAME - _ZN18QDeclarativeColumn24reportConflictingAnchorsEv @ 3543 NONAME - _ZN20QDeclarativeBehavior18componentFinalizedEv @ 3544 NONAME - _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEP29QDeclarativeImportedNamespacePN18QDeclarativeParser8PropertyEPNS2_6ObjectERKNS_14BindingContextE @ 3545 NONAME - _ZN21QDeclarativeComponent12createObjectEP7QObject @ 3546 NONAME - _ZN21QDeclarativeMouseArea10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3547 NONAME - _ZN21QDeclarativeMouseArea15setHoverEnabledEb @ 3548 NONAME - _ZN21QDeclarativeMouseArea19hoverEnabledChangedEv @ 3549 NONAME - _ZN21QDeclarativeMouseArea8canceledEv @ 3550 NONAME - _ZN23QDeclarativeConnections10classBeginEv @ 3551 NONAME - _ZN23QDeclarativeConnections23setIgnoreUnknownSignalsEb @ 3552 NONAME - _ZN23QDeclarativeItemPrivate11transitionsEv @ 3553 NONAME - _ZN23QDeclarativeItemPrivate4dataEv @ 3554 NONAME - _ZN23QDeclarativeItemPrivate7_statesEv @ 3555 NONAME - _ZN23QDeclarativeItemPrivate8setStateERK7QString @ 3556 NONAME - _ZN23QDeclarativeItemPrivate9resourcesEv @ 3557 NONAME - _ZN23QDeclarativePaintedItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3558 NONAME - _ZN23QDeclarativePaintedItem15geometryChangedERK6QRectFS2_ @ 3559 NONAME - _ZN24QDeclarativeWorkerScript10classBeginEv @ 3560 NONAME - _ZN24QDeclarativeWorkerScript6engineEv @ 3561 NONAME - _ZNK21QDeclarativeMouseArea12hoverEnabledEv @ 3562 NONAME - _ZNK23QDeclarativeConnections20ignoreUnknownSignalsEv @ 3563 NONAME - _ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 3564 NONAME - _ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 3565 NONAME - _ZNK23QDeclarativeItemPrivate3topEv @ 3566 NONAME - _ZNK23QDeclarativeItemPrivate4leftEv @ 3567 NONAME - _ZNK23QDeclarativeItemPrivate5rightEv @ 3568 NONAME - _ZNK23QDeclarativeItemPrivate5stateEv @ 3569 NONAME - _ZNK23QDeclarativeItemPrivate6bottomEv @ 3570 NONAME - _ZNK23QDeclarativeItemPrivate8baselineEv @ 3571 NONAME - _ZNK27QDeclarativeVisualDataModel15completePendingEv @ 3572 NONAME - _ZNK27QDeclarativeVisualItemModel15completePendingEv @ 3573 NONAME - _ZThn8_N16QDeclarativeBind10classBeginEv @ 3574 NONAME - _ZThn8_N16QDeclarativePath10classBeginEv @ 3575 NONAME - _ZThn8_N21QDeclarativeMouseArea10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3576 NONAME - _ZThn8_N23QDeclarativeConnections10classBeginEv @ 3577 NONAME - _ZThn8_N23QDeclarativePaintedItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3578 NONAME - _ZThn8_N24QDeclarativeWorkerScript10classBeginEv @ 3579 NONAME - _ZN16QDeclarativeItem18keyPressPreHandlerEP9QKeyEvent @ 3580 NONAME - _ZN16QDeclarativeItem20keyReleasePreHandlerEP9QKeyEvent @ 3581 NONAME - _ZN16QDeclarativeItem21inputMethodPreHandlerEP17QInputMethodEvent @ 3582 NONAME - _ZN18QDeclarativeLoader17componentCompleteEv @ 3583 NONAME - _ZN18QDeclarativeLoader6loadedEv @ 3584 NONAME - _ZN20QDeclarativePathView21decrementCurrentIndexEv @ 3585 NONAME - _ZN20QDeclarativePathView21incrementCurrentIndexEv @ 3586 NONAME - _ZN21QDeclarativeFlickable17setFlickDirectionENS_18FlickableDirectionE @ 3587 NONAME - _ZN21QDeclarativeFlickable21setFlickableDirectionENS_18FlickableDirectionE @ 3588 NONAME - _ZN21QDeclarativeFlickable23movingVerticallyChangedEv @ 3589 NONAME - _ZN21QDeclarativeFlickable25flickableDirectionChangedEv @ 3590 NONAME - _ZN21QDeclarativeFlickable25flickingVerticallyChangedEv @ 3591 NONAME - _ZN21QDeclarativeFlickable25movingHorizontallyChangedEv @ 3592 NONAME - _ZN21QDeclarativeFlickable27flickingHorizontallyChangedEv @ 3593 NONAME - _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContextP7QObject @ 3594 NONAME - _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContextP7QObject @ 3595 NONAME - _ZN27QDeclarativeVisualItemModelC1EP7QObject @ 3596 NONAME - _ZN27QDeclarativeVisualItemModelC2EP7QObject @ 3597 NONAME - _ZNK21QDeclarativeFlickable18flickableDirectionEv @ 3598 NONAME - _ZNK21QDeclarativeFlickable18isMovingVerticallyEv @ 3599 NONAME - _ZNK21QDeclarativeFlickable20isFlickingVerticallyEv @ 3600 NONAME - _ZNK21QDeclarativeFlickable20isMovingHorizontallyEv @ 3601 NONAME - _ZNK21QDeclarativeFlickable22isFlickingHorizontallyEv @ 3602 NONAME - _ZThn16_N18QDeclarativeLoader17componentCompleteEv @ 3603 NONAME - _ZN16QDeclarativeText18paintedSizeChangedEv @ 3604 NONAME - _ZN20QDeclarativePathView5eventEP6QEvent @ 3605 NONAME - _ZN20QDeclarativeTextEdit12focusInEventEP11QFocusEvent @ 3606 NONAME - _ZN20QDeclarativeTextEdit13focusOutEventEP11QFocusEvent @ 3607 NONAME ABSENT - _ZN20QDeclarativeTextEdit16setSelectByMouseEb @ 3608 NONAME - _ZN20QDeclarativeTextEdit18paintedSizeChangedEv @ 3609 NONAME - _ZN20QDeclarativeTextEdit20selectByMouseChangedEb @ 3610 NONAME - _ZN20QDeclarativeTextEdit22cursorRectangleChangedEv @ 3611 NONAME - _ZN20QDeclarativeTextEdit22openSoftwareInputPanelEv @ 3612 NONAME - _ZN20QDeclarativeTextEdit23closeSoftwareInputPanelEv @ 3613 NONAME - _ZN20QDeclarativeTextEdit24setShowInputPanelOnFocusEb @ 3614 NONAME ABSENT - _ZN20QDeclarativeTextEdit28showInputPanelOnFocusChangedEb @ 3615 NONAME ABSENT - _ZN21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3616 NONAME - _ZN21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3617 NONAME ABSENT - _ZN21QDeclarativeTextInput16setSelectByMouseEb @ 3618 NONAME - _ZN21QDeclarativeTextInput20selectByMouseChangedEb @ 3619 NONAME - _ZN21QDeclarativeTextInput22openSoftwareInputPanelEv @ 3620 NONAME - _ZN21QDeclarativeTextInput23closeSoftwareInputPanelEv @ 3621 NONAME - _ZN21QDeclarativeTextInput24setShowInputPanelOnFocusEb @ 3622 NONAME ABSENT - _ZN21QDeclarativeTextInput28showInputPanelOnFocusChangedEb @ 3623 NONAME ABSENT - _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 3624 NONAME - _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 3625 NONAME - _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 3626 NONAME - _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 3627 NONAME - _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QString @ 3628 NONAME - _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 3629 NONAME - _ZN23QDeclarativeItemPrivate17setConsistentTimeEx @ 3630 NONAME - _ZN23QDeclarativeItemPrivate5startER13QElapsedTimer @ 3631 NONAME - _ZN23QDeclarativeItemPrivate7elapsedER13QElapsedTimer @ 3632 NONAME - _ZN23QDeclarativeItemPrivate7restartER13QElapsedTimer @ 3633 NONAME - _ZN24QDeclarativeParentChange11setRotationE24QDeclarativeScriptString @ 3634 NONAME - _ZN24QDeclarativeParentChange4setXE24QDeclarativeScriptString @ 3635 NONAME - _ZN24QDeclarativeParentChange4setYE24QDeclarativeScriptString @ 3636 NONAME - _ZN24QDeclarativeParentChange8setScaleE24QDeclarativeScriptString @ 3637 NONAME - _ZN24QDeclarativeParentChange8setWidthE24QDeclarativeScriptString @ 3638 NONAME - _ZN24QDeclarativeParentChange9setHeightE24QDeclarativeScriptString @ 3639 NONAME - _ZN24QDeclarativeXmlListModel10queryErrorEPvRK7QString @ 3640 NONAME - _ZNK16QDeclarativeText12paintedWidthEv @ 3641 NONAME - _ZNK16QDeclarativeText13paintedHeightEv @ 3642 NONAME - _ZNK20QDeclarativeTextEdit12paintedWidthEv @ 3643 NONAME - _ZNK20QDeclarativeTextEdit13paintedHeightEv @ 3644 NONAME - _ZNK20QDeclarativeTextEdit13selectByMouseEv @ 3645 NONAME - _ZNK20QDeclarativeTextEdit15cursorRectangleEv @ 3646 NONAME - _ZNK20QDeclarativeTextEdit21showInputPanelOnFocusEv @ 3647 NONAME ABSENT - _ZNK21QDeclarativeComponent11errorStringEv @ 3648 NONAME - _ZNK21QDeclarativeTextInput13selectByMouseEv @ 3649 NONAME - _ZNK21QDeclarativeTextInput21showInputPanelOnFocusEv @ 3650 NONAME ABSENT - _ZNK23QDeclarativePaintedItem12boundingRectEv @ 3651 NONAME - _ZNK24QDeclarativeXmlListModel11errorStringEv @ 3652 NONAME - _ZNK24QDeclarativeXmlListModel3getEi @ 3653 NONAME - _ZThn8_N20QDeclarativeTextEdit12focusInEventEP11QFocusEvent @ 3654 NONAME - _ZThn8_N20QDeclarativeTextEdit13focusOutEventEP11QFocusEvent @ 3655 NONAME ABSENT - _ZThn8_N21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3656 NONAME - _ZThn8_N21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3657 NONAME ABSENT - _ZThn8_NK23QDeclarativePaintedItem12boundingRectEv @ 3658 NONAME - _ZN20QDeclarativeTextEdit10selectWordEv @ 3659 NONAME - _ZN20QDeclarativeTextEdit19moveCursorSelectionEi @ 3660 NONAME - _ZN20QDeclarativeTextEdit3cutEv @ 3661 NONAME - _ZN20QDeclarativeTextEdit4copyEv @ 3662 NONAME - _ZN20QDeclarativeTextEdit5pasteEv @ 3663 NONAME - _ZN20QDeclarativeTextEdit6selectEii @ 3664 NONAME - _ZN21QDeclarativeTextInput10selectWordEv @ 3665 NONAME - _ZN21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3666 NONAME - _ZN21QDeclarativeTextInput6selectEii @ 3667 NONAME - _ZNK20QDeclarativeTextEdit10positionAtEii @ 3668 NONAME - _ZNK20QDeclarativeTextEdit19positionToRectangleEi @ 3669 NONAME - _ZNK21QDeclarativeTextInput10positionAtEi @ 3670 NONAME - _ZNK21QDeclarativeTextInput15cursorRectangleEv @ 3671 NONAME - _ZNK21QDeclarativeTextInput19positionToRectangleEi @ 3672 NONAME - _ZThn8_N21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3673 NONAME - _ZN20QDeclarativeGridView13footerChangedEv @ 3674 NONAME - _ZN20QDeclarativeGridView13headerChangedEv @ 3675 NONAME - _ZN20QDeclarativeGridView9setFooterEP21QDeclarativeComponent @ 3676 NONAME - _ZN20QDeclarativeGridView9setHeaderEP21QDeclarativeComponent @ 3677 NONAME - _ZNK16QDeclarativeItem7childAtEff @ 3678 NONAME - _ZNK16QDeclarativeView11initialSizeEv @ 3679 NONAME - _ZNK17QDeclarativeState7isNamedEv @ 3680 NONAME - _ZNK20QDeclarativeGridView6footerEv @ 3681 NONAME - _ZNK20QDeclarativeGridView6headerEv @ 3682 NONAME - _ZN19QDeclarativePrivate26registerAutoParentFunctionEPFNS_16AutoParentResultEP7QObjectS2_E @ 3683 NONAME - _ZN20QDeclarativeMetaType15parentFunctionsEv @ 3684 NONAME - _ZN21QDeclarativeTextInput16inputMethodEventEP17QInputMethodEvent @ 3685 NONAME - _ZN23QDeclarativeBorderImage8doUpdateEv @ 3686 NONAME - _ZThn8_N21QDeclarativeTextInput16inputMethodEventEP17QInputMethodEvent @ 3687 NONAME + _Z7qmlInfoPK7QObjectRK17QDeclarativeError @ 6 NONAME + _Z7qmlInfoPK7QObjectRK5QListI17QDeclarativeErrorE @ 7 NONAME + _Z9qmlEnginePK7QObject @ 8 NONAME + _ZN15QDeclarativePen10penChangedEv @ 9 NONAME + _ZN15QDeclarativePen11qt_metacallEN11QMetaObject4CallEiPPv @ 10 NONAME + _ZN15QDeclarativePen11qt_metacastEPKc @ 11 NONAME + _ZN15QDeclarativePen16staticMetaObjectE @ 12 NONAME DATA 16 + _ZN15QDeclarativePen19getStaticMetaObjectEv @ 13 NONAME + _ZN15QDeclarativePen8setColorERK6QColor @ 14 NONAME + _ZN15QDeclarativePen8setWidthEi @ 15 NONAME + _ZN15QPacketAutoSendC1EP15QPacketProtocol @ 16 NONAME + _ZN15QPacketAutoSendC2EP15QPacketProtocol @ 17 NONAME + _ZN15QPacketAutoSendD0Ev @ 18 NONAME + _ZN15QPacketAutoSendD1Ev @ 19 NONAME + _ZN15QPacketAutoSendD2Ev @ 20 NONAME + _ZN15QPacketProtocol11qt_metacallEN11QMetaObject4CallEiPPv @ 21 NONAME + _ZN15QPacketProtocol11qt_metacastEPKc @ 22 NONAME + _ZN15QPacketProtocol13invalidPacketEv @ 23 NONAME + _ZN15QPacketProtocol13packetWrittenEv @ 24 NONAME + _ZN15QPacketProtocol16staticMetaObjectE @ 25 NONAME DATA 16 + _ZN15QPacketProtocol19getStaticMetaObjectEv @ 26 NONAME + _ZN15QPacketProtocol20setMaximumPacketSizeEi @ 27 NONAME + _ZN15QPacketProtocol4readEv @ 28 NONAME + _ZN15QPacketProtocol4sendERK7QPacket @ 29 NONAME + _ZN15QPacketProtocol4sendEv @ 30 NONAME + _ZN15QPacketProtocol5clearEv @ 31 NONAME + _ZN15QPacketProtocol6deviceEv @ 32 NONAME + _ZN15QPacketProtocol9readyReadEv @ 33 NONAME + _ZN15QPacketProtocolC1EP9QIODeviceP7QObject @ 34 NONAME + _ZN15QPacketProtocolC2EP9QIODeviceP7QObject @ 35 NONAME + _ZN15QPacketProtocolD0Ev @ 36 NONAME + _ZN15QPacketProtocolD1Ev @ 37 NONAME + _ZN15QPacketProtocolD2Ev @ 38 NONAME + _ZN16QDeclarativeInfoC1EP23QDeclarativeInfoPrivate @ 39 NONAME + _ZN16QDeclarativeInfoC1ERKS_ @ 40 NONAME + _ZN16QDeclarativeInfoC2EP23QDeclarativeInfoPrivate @ 41 NONAME + _ZN16QDeclarativeInfoC2ERKS_ @ 42 NONAME + _ZN16QDeclarativeInfoD1Ev @ 43 NONAME + _ZN16QDeclarativeInfoD2Ev @ 44 NONAME + _ZN16QDeclarativeItem10classBeginEv @ 45 NONAME + _ZN16QDeclarativeItem10forceFocusEv @ 46 NONAME + _ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 47 NONAME + _ZN16QDeclarativeItem10resetWidthEv @ 48 NONAME + _ZN16QDeclarativeItem10sceneEventEP6QEvent @ 49 NONAME + _ZN16QDeclarativeItem11clipChangedEb @ 50 NONAME + _ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 51 NONAME + _ZN16QDeclarativeItem11qt_metacastEPKc @ 52 NONAME + _ZN16QDeclarativeItem11resetHeightEv @ 53 NONAME + _ZN16QDeclarativeItem12childrenRectEv @ 54 NONAME + _ZN16QDeclarativeItem12focusChangedEb @ 55 NONAME + _ZN16QDeclarativeItem12stateChangedERK7QString @ 56 NONAME + _ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 57 NONAME + _ZN16QDeclarativeItem13parentChangedEPS_ @ 58 NONAME + _ZN16QDeclarativeItem13setParentItemEPS_ @ 59 NONAME + _ZN16QDeclarativeItem13smoothChangedEb @ 60 NONAME + _ZN16QDeclarativeItem15childrenChangedEv @ 61 NONAME + _ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 62 NONAME + _ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 63 NONAME + _ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 64 NONAME + _ZN16QDeclarativeItem16setImplicitWidthEf @ 65 NONAME + _ZN16QDeclarativeItem16setKeepMouseGrabEb @ 66 NONAME + _ZN16QDeclarativeItem16staticMetaObjectE @ 67 NONAME DATA 16 + _ZN16QDeclarativeItem17componentCompleteEv @ 68 NONAME + _ZN16QDeclarativeItem17setBaselineOffsetEf @ 69 NONAME + _ZN16QDeclarativeItem17setImplicitHeightEf @ 70 NONAME + _ZN16QDeclarativeItem17wantsFocusChangedEb @ 71 NONAME + _ZN16QDeclarativeItem18keyPressPreHandlerEP9QKeyEvent @ 72 NONAME + _ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 73 NONAME + _ZN16QDeclarativeItem19childrenRectChangedERK6QRectF @ 74 NONAME + _ZN16QDeclarativeItem19getStaticMetaObjectEv @ 75 NONAME + _ZN16QDeclarativeItem20keyReleasePreHandlerEP9QKeyEvent @ 76 NONAME + _ZN16QDeclarativeItem21baselineOffsetChangedEf @ 77 NONAME + _ZN16QDeclarativeItem21inputMethodPreHandlerEP17QInputMethodEvent @ 78 NONAME + _ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 79 NONAME + _ZN16QDeclarativeItem5eventEP6QEvent @ 80 NONAME + _ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 81 NONAME + _ZN16QDeclarativeItem7setClipEb @ 82 NONAME + _ZN16QDeclarativeItem7setSizeERK6QSizeF @ 83 NONAME + _ZN16QDeclarativeItem8setFocusEb @ 84 NONAME + _ZN16QDeclarativeItem8setWidthEf @ 85 NONAME + _ZN16QDeclarativeItem9setHeightEf @ 86 NONAME + _ZN16QDeclarativeItem9setSmoothEb @ 87 NONAME + _ZN16QDeclarativeItem9transformEv @ 88 NONAME + _ZN16QDeclarativeItemC1EPS_ @ 89 NONAME + _ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 90 NONAME + _ZN16QDeclarativeItemC2EPS_ @ 91 NONAME + _ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 92 NONAME + _ZN16QDeclarativeItemD0Ev @ 93 NONAME + _ZN16QDeclarativeItemD1Ev @ 94 NONAME + _ZN16QDeclarativeItemD2Ev @ 95 NONAME + _ZN16QDeclarativeText11fontChangedERK5QFont @ 96 NONAME + _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME + _ZN16QDeclarativeText11qt_metacastEPKc @ 98 NONAME + _ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 99 NONAME + _ZN16QDeclarativeText11textChangedERK7QString @ 100 NONAME + _ZN16QDeclarativeText12colorChangedERK6QColor @ 101 NONAME + _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 102 NONAME + _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 103 NONAME + _ZN16QDeclarativeText13linkActivatedERK7QString @ 104 NONAME + _ZN16QDeclarativeText13setStyleColorERK6QColor @ 105 NONAME + _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 106 NONAME + _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 107 NONAME + _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 108 NONAME + _ZN16QDeclarativeText15wrapModeChangedEv @ 109 NONAME + _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 110 NONAME + _ZN16QDeclarativeText16staticMetaObjectE @ 111 NONAME DATA 16 + _ZN16QDeclarativeText17componentCompleteEv @ 112 NONAME + _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 113 NONAME + _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 114 NONAME + _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 115 NONAME + _ZN16QDeclarativeText18paintedSizeChangedEv @ 116 NONAME + _ZN16QDeclarativeText19getStaticMetaObjectEv @ 117 NONAME + _ZN16QDeclarativeText19reloadWithResourcesEv @ 118 NONAME ABSENT + _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 119 NONAME + _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 120 NONAME + _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 121 NONAME + _ZN16QDeclarativeText7setFontERK5QFont @ 122 NONAME + _ZN16QDeclarativeText7setTextERK7QString @ 123 NONAME + _ZN16QDeclarativeText8setColorERK6QColor @ 124 NONAME + _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 125 NONAME + _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 126 NONAME + _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 127 NONAME + _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 128 NONAME + _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 129 NONAME + _ZN16QDeclarativeTextD0Ev @ 130 NONAME + _ZN16QDeclarativeTextD1Ev @ 131 NONAME + _ZN16QDeclarativeTextD2Ev @ 132 NONAME + _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 133 NONAME + _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 134 NONAME + _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 135 NONAME + _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 136 NONAME + _ZN16QDeclarativeTypeD1Ev @ 137 NONAME + _ZN16QDeclarativeTypeD2Ev @ 138 NONAME + _ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 139 NONAME + _ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 140 NONAME + _ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 141 NONAME + _ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 142 NONAME + _ZN16QDeclarativeView11qt_metacastEPKc @ 143 NONAME + _ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 144 NONAME + _ZN16QDeclarativeView11rootContextEv @ 145 NONAME + _ZN16QDeclarativeView12sceneResizedE5QSize @ 146 NONAME + _ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 147 NONAME + _ZN16QDeclarativeView13setRootObjectEP7QObject @ 148 NONAME + _ZN16QDeclarativeView13statusChangedENS_6StatusE @ 149 NONAME + _ZN16QDeclarativeView15continueExecuteEv @ 150 NONAME + _ZN16QDeclarativeView16staticMetaObjectE @ 151 NONAME DATA 16 + _ZN16QDeclarativeView19getStaticMetaObjectEv @ 152 NONAME + _ZN16QDeclarativeView6engineEv @ 153 NONAME + _ZN16QDeclarativeView9setSourceERK4QUrl @ 154 NONAME + _ZN16QDeclarativeViewC1EP7QWidget @ 155 NONAME + _ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 156 NONAME + _ZN16QDeclarativeViewC2EP7QWidget @ 157 NONAME + _ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 158 NONAME + _ZN16QDeclarativeViewD0Ev @ 159 NONAME + _ZN16QDeclarativeViewD1Ev @ 160 NONAME + _ZN16QDeclarativeViewD2Ev @ 161 NONAME + _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 162 NONAME + _ZN16QMetaEnumBuilder9removeKeyEi @ 163 NONAME + _ZN16QMetaEnumBuilder9setIsFlagEb @ 164 NONAME + _ZN17QDeclarativeError14setDescriptionERK7QString @ 165 NONAME + _ZN17QDeclarativeError6setUrlERK4QUrl @ 166 NONAME + _ZN17QDeclarativeError7setLineEi @ 167 NONAME + _ZN17QDeclarativeError9setColumnEi @ 168 NONAME + _ZN17QDeclarativeErrorC1ERKS_ @ 169 NONAME + _ZN17QDeclarativeErrorC1Ev @ 170 NONAME + _ZN17QDeclarativeErrorC2ERKS_ @ 171 NONAME + _ZN17QDeclarativeErrorC2Ev @ 172 NONAME + _ZN17QDeclarativeErrorD1Ev @ 173 NONAME + _ZN17QDeclarativeErrorD2Ev @ 174 NONAME + _ZN17QDeclarativeErroraSERKS_ @ 175 NONAME + _ZN17QDeclarativeState10setExtendsERK7QString @ 176 NONAME + _ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 177 NONAME + _ZN17QDeclarativeState11qt_metacastEPKc @ 178 NONAME + _ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 179 NONAME + _ZN17QDeclarativeState16staticMetaObjectE @ 180 NONAME DATA 16 + _ZN17QDeclarativeState19getStaticMetaObjectEv @ 181 NONAME + _ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 182 NONAME + _ZN17QDeclarativeState6cancelEv @ 183 NONAME + _ZN17QDeclarativeState7changesEv @ 184 NONAME + _ZN17QDeclarativeState7setNameERK7QString @ 185 NONAME + _ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 186 NONAME + _ZN17QDeclarativeState9completedEv @ 187 NONAME + _ZN17QDeclarativeStateC1EP7QObject @ 188 NONAME + _ZN17QDeclarativeStateC2EP7QObject @ 189 NONAME + _ZN17QDeclarativeStateD0Ev @ 190 NONAME + _ZN17QDeclarativeStateD1Ev @ 191 NONAME + _ZN17QDeclarativeStateD2Ev @ 192 NONAME + _ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 193 NONAME + _ZN18QDeclarativeAction17deleteFromBindingEv @ 194 NONAME + _ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 195 NONAME + _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 196 NONAME + _ZN18QDeclarativeActionC1Ev @ 197 NONAME + _ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 198 NONAME + _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 199 NONAME + _ZN18QDeclarativeActionC2Ev @ 200 NONAME + _ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 201 NONAME + _ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 202 NONAME + _ZN18QDeclarativeEngine11qt_metacastEPKc @ 203 NONAME + _ZN18QDeclarativeEngine11rootContextEv @ 204 NONAME + _ZN18QDeclarativeEngine12importPluginERK7QStringS2_PS0_ @ 205 NONAME + _ZN18QDeclarativeEngine13addImportPathERK7QString @ 206 NONAME + _ZN18QDeclarativeEngine13addPluginPathERK7QString @ 207 NONAME + _ZN18QDeclarativeEngine15objectOwnershipEP7QObject @ 208 NONAME + _ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 209 NONAME + _ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 210 NONAME + _ZN18QDeclarativeEngine16staticMetaObjectE @ 211 NONAME DATA 16 + _ZN18QDeclarativeEngine17setImportPathListERK11QStringList @ 212 NONAME + _ZN18QDeclarativeEngine17setPluginPathListERK11QStringList @ 213 NONAME + _ZN18QDeclarativeEngine18setObjectOwnershipEP7QObjectNS_15ObjectOwnershipE @ 214 NONAME + _ZN18QDeclarativeEngine19clearComponentCacheEv @ 215 NONAME + _ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 216 NONAME + _ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 217 NONAME + _ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 218 NONAME + _ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 219 NONAME + _ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 220 NONAME + _ZN18QDeclarativeEngine32setOutputWarningsToStandardErrorEb @ 221 NONAME + _ZN18QDeclarativeEngine4quitEv @ 222 NONAME + _ZN18QDeclarativeEngine8warningsERK5QListI17QDeclarativeErrorE @ 223 NONAME + _ZN18QDeclarativeEngineC1EP7QObject @ 224 NONAME + _ZN18QDeclarativeEngineC2EP7QObject @ 225 NONAME + _ZN18QDeclarativeEngineD0Ev @ 226 NONAME + _ZN18QDeclarativeEngineD1Ev @ 227 NONAME + _ZN18QDeclarativeEngineD2Ev @ 228 NONAME + _ZN18QDeclarativeParser7VariantC1ERK7QString @ 229 NONAME + _ZN18QDeclarativeParser7VariantC1ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 230 NONAME + _ZN18QDeclarativeParser7VariantC1ERKS0_ @ 231 NONAME + _ZN18QDeclarativeParser7VariantC1Eb @ 232 NONAME + _ZN18QDeclarativeParser7VariantC1EdRK7QString @ 233 NONAME + _ZN18QDeclarativeParser7VariantC1Ev @ 234 NONAME + _ZN18QDeclarativeParser7VariantC2ERK7QString @ 235 NONAME + _ZN18QDeclarativeParser7VariantC2ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 236 NONAME + _ZN18QDeclarativeParser7VariantC2ERKS0_ @ 237 NONAME + _ZN18QDeclarativeParser7VariantC2Eb @ 238 NONAME + _ZN18QDeclarativeParser7VariantC2EdRK7QString @ 239 NONAME + _ZN18QDeclarativeParser7VariantC2Ev @ 240 NONAME + _ZN18QDeclarativeParser7VariantaSERKS0_ @ 241 NONAME + _ZN18QMetaMethodBuilder13setAttributesEi @ 242 NONAME + _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 243 NONAME + _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 244 NONAME + _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 245 NONAME + _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 246 NONAME + _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 247 NONAME + _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 248 NONAME + _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 249 NONAME + _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 250 NONAME + _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 251 NONAME + _ZN18QMetaObjectBuilder12removeMethodEi @ 252 NONAME + _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 253 NONAME + _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 254 NONAME + _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 255 NONAME + _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 256 NONAME + _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 257 NONAME + _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 258 NONAME + _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 259 NONAME + _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 260 NONAME + _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 261 NONAME + _ZN18QMetaObjectBuilder14removePropertyEi @ 262 NONAME + _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 263 NONAME + _ZN18QMetaObjectBuilder15removeClassInfoEi @ 264 NONAME + _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 265 NONAME + _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 266 NONAME + _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 267 NONAME + _ZN18QMetaObjectBuilder17removeConstructorEi @ 268 NONAME + _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 269 NONAME + _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 270 NONAME + _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 271 NONAME + _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 272 NONAME + _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 273 NONAME + _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 274 NONAME + _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 275 NONAME + _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 276 NONAME + _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 277 NONAME + _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 278 NONAME + _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 279 NONAME + _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 280 NONAME + _ZN18QMetaObjectBuilderC1Ev @ 281 NONAME + _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 282 NONAME + _ZN18QMetaObjectBuilderC2Ev @ 283 NONAME + _ZN18QMetaObjectBuilderD0Ev @ 284 NONAME + _ZN18QMetaObjectBuilderD1Ev @ 285 NONAME + _ZN18QMetaObjectBuilderD2Ev @ 286 NONAME + _ZN19QDeclarativeAnchors10classBeginEv @ 287 NONAME + _ZN19QDeclarativeAnchors10resetRightEv @ 288 NONAME + _ZN19QDeclarativeAnchors10setMarginsEf @ 289 NONAME + _ZN19QDeclarativeAnchors10topChangedEv @ 290 NONAME + _ZN19QDeclarativeAnchors11fillChangedEv @ 291 NONAME + _ZN19QDeclarativeAnchors11leftChangedEv @ 292 NONAME + _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 293 NONAME + _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 294 NONAME + _ZN19QDeclarativeAnchors11resetBottomEv @ 295 NONAME + _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 296 NONAME + _ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 297 NONAME + _ZN19QDeclarativeAnchors12rightChangedEv @ 298 NONAME + _ZN19QDeclarativeAnchors12setTopMarginEf @ 299 NONAME + _ZN19QDeclarativeAnchors13bottomChangedEv @ 300 NONAME + _ZN19QDeclarativeAnchors13resetBaselineEv @ 301 NONAME + _ZN19QDeclarativeAnchors13resetCenterInEv @ 302 NONAME + _ZN19QDeclarativeAnchors13setLeftMarginEf @ 303 NONAME + _ZN19QDeclarativeAnchors14marginsChangedEv @ 304 NONAME + _ZN19QDeclarativeAnchors14setRightMarginEf @ 305 NONAME + _ZN19QDeclarativeAnchors15baselineChangedEv @ 306 NONAME + _ZN19QDeclarativeAnchors15centerInChangedEv @ 307 NONAME + _ZN19QDeclarativeAnchors15setBottomMarginEf @ 308 NONAME + _ZN19QDeclarativeAnchors16staticMetaObjectE @ 309 NONAME DATA 16 + _ZN19QDeclarativeAnchors16topMarginChangedEv @ 310 NONAME + _ZN19QDeclarativeAnchors17componentCompleteEv @ 311 NONAME + _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 312 NONAME + _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 313 NONAME + _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 314 NONAME + _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 315 NONAME + _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 316 NONAME + _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 317 NONAME + _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 318 NONAME + _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 319 NONAME + _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 320 NONAME + _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 321 NONAME + _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 322 NONAME + _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 323 NONAME + _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 324 NONAME + _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 325 NONAME + _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 326 NONAME + _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 327 NONAME + _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 328 NONAME + _ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 329 NONAME + _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 330 NONAME + _ZN19QDeclarativeAnchors8resetTopEv @ 331 NONAME + _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 332 NONAME + _ZN19QDeclarativeAnchors9resetFillEv @ 333 NONAME + _ZN19QDeclarativeAnchors9resetLeftEv @ 334 NONAME + _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 335 NONAME + _ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 336 NONAME + _ZN19QDeclarativeAnchorsC1EP7QObject @ 337 NONAME + _ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 338 NONAME + _ZN19QDeclarativeAnchorsC2EP7QObject @ 339 NONAME + _ZN19QDeclarativeAnchorsD0Ev @ 340 NONAME + _ZN19QDeclarativeAnchorsD1Ev @ 341 NONAME + _ZN19QDeclarativeAnchorsD2Ev @ 342 NONAME + _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 343 NONAME + _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 344 NONAME + _ZN19QDeclarativeBinding11qt_metacastEPKc @ 345 NONAME + _ZN19QDeclarativeBinding13propertyIndexEv @ 346 NONAME + _ZN19QDeclarativeBinding16staticMetaObjectE @ 347 NONAME DATA 16 + _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 348 NONAME + _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 349 NONAME + _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 350 NONAME + _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 351 NONAME + _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 352 NONAME + _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 353 NONAME + _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 354 NONAME + _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 355 NONAME + _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 356 NONAME + _ZN19QDeclarativeBindingD0Ev @ 357 NONAME + _ZN19QDeclarativeBindingD1Ev @ 358 NONAME + _ZN19QDeclarativeBindingD2Ev @ 359 NONAME + _ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 360 NONAME + _ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME + _ZN19QDeclarativeContext11qt_metacastEPKc @ 362 NONAME + _ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 363 NONAME + _ZN19QDeclarativeContext16setContextObjectEP7QObject @ 364 NONAME + _ZN19QDeclarativeContext16staticMetaObjectE @ 365 NONAME DATA 16 + _ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 366 NONAME + _ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 367 NONAME + _ZN19QDeclarativeContext19getStaticMetaObjectEv @ 368 NONAME + _ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 369 NONAME + _ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 370 NONAME + _ZN19QDeclarativeContextC1EP23QDeclarativeContextData @ 371 NONAME + _ZN19QDeclarativeContextC1EPS_P7QObject @ 372 NONAME + _ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 373 NONAME + _ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 374 NONAME + _ZN19QDeclarativeContextC2EP23QDeclarativeContextData @ 375 NONAME + _ZN19QDeclarativeContextC2EPS_P7QObject @ 376 NONAME + _ZN19QDeclarativeContextD0Ev @ 377 NONAME + _ZN19QDeclarativeContextD1Ev @ 378 NONAME + _ZN19QDeclarativeContextD2Ev @ 379 NONAME + _ZN19QDeclarativeDomListC1ERKS_ @ 380 NONAME + _ZN19QDeclarativeDomListC1Ev @ 381 NONAME + _ZN19QDeclarativeDomListC2ERKS_ @ 382 NONAME + _ZN19QDeclarativeDomListC2Ev @ 383 NONAME + _ZN19QDeclarativeDomListD1Ev @ 384 NONAME + _ZN19QDeclarativeDomListD2Ev @ 385 NONAME + _ZN19QDeclarativeDomListaSERKS_ @ 386 NONAME + _ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 387 NONAME + _ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 388 NONAME + _ZN19QDeclarativePrivate26registerAutoParentFunctionEPFNS_16AutoParentResultEP7QObjectS2_E @ 389 NONAME + _ZN19QDeclarativePrivate30qdeclarativeelement_destructorEP7QObject @ 390 NONAME + _ZN19QListModelInterface10itemsMovedEiii @ 391 NONAME + _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 392 NONAME + _ZN19QListModelInterface11qt_metacastEPKc @ 393 NONAME + _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 394 NONAME + _ZN19QListModelInterface12itemsRemovedEii @ 395 NONAME + _ZN19QListModelInterface13itemsInsertedEii @ 396 NONAME + _ZN19QListModelInterface16staticMetaObjectE @ 397 NONAME DATA 16 + _ZN19QListModelInterface19getStaticMetaObjectEv @ 398 NONAME + _ZN20QDeclarativeBehavior10setEnabledEb @ 399 NONAME + _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 400 NONAME + _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 401 NONAME + _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 402 NONAME + _ZN20QDeclarativeBehavior14enabledChangedEv @ 403 NONAME + _ZN20QDeclarativeBehavior16staticMetaObjectE @ 404 NONAME DATA 16 + _ZN20QDeclarativeBehavior18componentFinalizedEv @ 405 NONAME + _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 406 NONAME + _ZN20QDeclarativeBehavior5writeERK8QVariant @ 407 NONAME + _ZN20QDeclarativeBehavior9animationEv @ 408 NONAME + _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 409 NONAME + _ZN20QDeclarativeBehaviorC1EP7QObject @ 410 NONAME + _ZN20QDeclarativeBehaviorC2EP7QObject @ 411 NONAME + _ZN20QDeclarativeBehaviorD0Ev @ 412 NONAME + _ZN20QDeclarativeBehaviorD1Ev @ 413 NONAME + _ZN20QDeclarativeBehaviorD2Ev @ 414 NONAME + _ZN20QDeclarativeDomValueC1ERKS_ @ 415 NONAME + _ZN20QDeclarativeDomValueC1Ev @ 416 NONAME + _ZN20QDeclarativeDomValueC2ERKS_ @ 417 NONAME + _ZN20QDeclarativeDomValueC2Ev @ 418 NONAME + _ZN20QDeclarativeDomValueD1Ev @ 419 NONAME + _ZN20QDeclarativeDomValueD2Ev @ 420 NONAME + _ZN20QDeclarativeDomValueaSERKS_ @ 421 NONAME + _ZN20QDeclarativeMetaType11isInterfaceEi @ 422 NONAME + _ZN20QDeclarativeMetaType12interfaceIIdEi @ 423 NONAME + _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 424 NONAME + _ZN20QDeclarativeMetaType12typeCategoryEi @ 425 NONAME + _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 426 NONAME + _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 427 NONAME + _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 428 NONAME + _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 429 NONAME + _ZN20QDeclarativeMetaType15parentFunctionsEv @ 430 NONAME + _ZN20QDeclarativeMetaType21customStringConverterEi @ 431 NONAME + _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 432 NONAME + _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 433 NONAME + _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 434 NONAME + _ZN20QDeclarativeMetaType4copyEiPvPKv @ 435 NONAME + _ZN20QDeclarativeMetaType6isListEi @ 436 NONAME + _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 437 NONAME + _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 438 NONAME + _ZN20QDeclarativeMetaType7qmlTypeEi @ 439 NONAME + _ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 440 NONAME + _ZN20QDeclarativeMetaType8listTypeEi @ 441 NONAME + _ZN20QDeclarativeMetaType8qmlTypesEv @ 442 NONAME + _ZN20QDeclarativeMetaType9isQObjectEi @ 443 NONAME + _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 444 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 445 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 446 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 447 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 448 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 449 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 450 NONAME + _ZN20QDeclarativePropertyC1EP7QObject @ 451 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 452 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 453 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 454 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 455 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 456 NONAME + _ZN20QDeclarativePropertyC1ERKS_ @ 457 NONAME + _ZN20QDeclarativePropertyC1Ev @ 458 NONAME + _ZN20QDeclarativePropertyC2EP7QObject @ 459 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 460 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 461 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 462 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 463 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 464 NONAME + _ZN20QDeclarativePropertyC2ERKS_ @ 465 NONAME + _ZN20QDeclarativePropertyC2Ev @ 466 NONAME + _ZN20QDeclarativePropertyD1Ev @ 467 NONAME + _ZN20QDeclarativePropertyD2Ev @ 468 NONAME + _ZN20QDeclarativePropertyaSERKS_ @ 469 NONAME + _ZN20QMetaPropertyBuilder10setDynamicEb @ 470 NONAME + _ZN20QMetaPropertyBuilder11setEditableEb @ 471 NONAME + _ZN20QMetaPropertyBuilder11setReadableEb @ 472 NONAME + _ZN20QMetaPropertyBuilder11setWritableEb @ 473 NONAME + _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 474 NONAME + _ZN20QMetaPropertyBuilder13setDesignableEb @ 475 NONAME + _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 476 NONAME + _ZN20QMetaPropertyBuilder13setResettableEb @ 477 NONAME + _ZN20QMetaPropertyBuilder13setScriptableEb @ 478 NONAME + _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 479 NONAME + _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 480 NONAME + _ZN20QMetaPropertyBuilder7setUserEb @ 481 NONAME + _ZN20QMetaPropertyBuilder9setStoredEb @ 482 NONAME + _ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 483 NONAME + _ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 484 NONAME + _ZN21QDeclarativeComponent11qt_metacastEPKc @ 485 NONAME + _ZN21QDeclarativeComponent12createObjectEP7QObject @ 486 NONAME + _ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 487 NONAME + _ZN21QDeclarativeComponent14completeCreateEv @ 488 NONAME + _ZN21QDeclarativeComponent15progressChangedEf @ 489 NONAME + _ZN21QDeclarativeComponent16staticMetaObjectE @ 490 NONAME DATA 16 + _ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 491 NONAME + _ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 492 NONAME + _ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 493 NONAME + _ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 494 NONAME + _ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 495 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 496 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 497 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 498 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 499 NONAME + _ZN21QDeclarativeComponentC1EP7QObject @ 500 NONAME + _ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 501 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 502 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 503 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 504 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 505 NONAME + _ZN21QDeclarativeComponentC2EP7QObject @ 506 NONAME + _ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 507 NONAME + _ZN21QDeclarativeComponentD0Ev @ 508 NONAME + _ZN21QDeclarativeComponentD1Ev @ 509 NONAME + _ZN21QDeclarativeComponentD2Ev @ 510 NONAME + _ZN21QDeclarativeDomImportC1ERKS_ @ 511 NONAME + _ZN21QDeclarativeDomImportC1Ev @ 512 NONAME + _ZN21QDeclarativeDomImportC2ERKS_ @ 513 NONAME + _ZN21QDeclarativeDomImportC2Ev @ 514 NONAME + _ZN21QDeclarativeDomImportD1Ev @ 515 NONAME + _ZN21QDeclarativeDomImportD2Ev @ 516 NONAME + _ZN21QDeclarativeDomImportaSERKS_ @ 517 NONAME + _ZN21QDeclarativeDomObjectC1ERKS_ @ 518 NONAME + _ZN21QDeclarativeDomObjectC1Ev @ 519 NONAME + _ZN21QDeclarativeDomObjectC2ERKS_ @ 520 NONAME + _ZN21QDeclarativeDomObjectC2Ev @ 521 NONAME + _ZN21QDeclarativeDomObjectD1Ev @ 522 NONAME + _ZN21QDeclarativeDomObjectD2Ev @ 523 NONAME + _ZN21QDeclarativeDomObjectaSERKS_ @ 524 NONAME + _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 525 NONAME + _ZN21QDeclarativeListModel11qt_metacastEPKc @ 526 NONAME + _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 527 NONAME + _ZN21QDeclarativeListModel12countChangedEv @ 528 NONAME + _ZN21QDeclarativeListModel16staticMetaObjectE @ 529 NONAME DATA 16 + _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 530 NONAME + _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 531 NONAME + _ZN21QDeclarativeListModel4moveEiii @ 532 NONAME + _ZN21QDeclarativeListModel4syncEv @ 533 NONAME + _ZN21QDeclarativeListModel5agentEv @ 534 NONAME + _ZN21QDeclarativeListModel5clearEv @ 535 NONAME + _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 536 NONAME + _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 537 NONAME + _ZN21QDeclarativeListModel6removeEi @ 538 NONAME + _ZN21QDeclarativeListModel7flattenEv @ 539 NONAME + _ZN21QDeclarativeListModelC1EP7QObject @ 540 NONAME + _ZN21QDeclarativeListModelC1EbP7QObject @ 541 NONAME + _ZN21QDeclarativeListModelC2EP7QObject @ 542 NONAME + _ZN21QDeclarativeListModelC2EbP7QObject @ 543 NONAME + _ZN21QDeclarativeListModelD0Ev @ 544 NONAME + _ZN21QDeclarativeListModelD1Ev @ 545 NONAME + _ZN21QDeclarativeListModelD2Ev @ 546 NONAME + _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 547 NONAME + _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 548 NONAME + _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 549 NONAME + _ZN21QDeclarativeRectangle12colorChangedEv @ 550 NONAME + _ZN21QDeclarativeRectangle13radiusChangedEv @ 551 NONAME + _ZN21QDeclarativeRectangle16staticMetaObjectE @ 552 NONAME DATA 16 + _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 553 NONAME + _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 554 NONAME + _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 555 NONAME + _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 556 NONAME + _ZN21QDeclarativeRectangle6borderEv @ 557 NONAME + _ZN21QDeclarativeRectangle8doUpdateEv @ 558 NONAME + _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 559 NONAME + _ZN21QDeclarativeRectangle8setColorERK6QColor @ 560 NONAME + _ZN21QDeclarativeRectangle9setRadiusEf @ 561 NONAME + _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 562 NONAME + _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 563 NONAME + _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 564 NONAME + _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 565 NONAME + _ZN21QDeclarativeScaleGrid13borderChangedEv @ 566 NONAME + _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 567 NONAME DATA 16 + _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 568 NONAME + _ZN21QDeclarativeScaleGrid6setTopEi @ 569 NONAME + _ZN21QDeclarativeScaleGrid7setLeftEi @ 570 NONAME + _ZN21QDeclarativeScaleGrid8setRightEi @ 571 NONAME + _ZN21QDeclarativeScaleGrid9setBottomEi @ 572 NONAME + _ZN21QDeclarativeScaleGridC1EP7QObject @ 573 NONAME + _ZN21QDeclarativeScaleGridC2EP7QObject @ 574 NONAME + _ZN21QDeclarativeScaleGridD0Ev @ 575 NONAME + _ZN21QDeclarativeScaleGridD1Ev @ 576 NONAME + _ZN21QDeclarativeScaleGridD2Ev @ 577 NONAME + _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 578 NONAME + _ZN21QDeclarativeValueType11qt_metacastEPKc @ 579 NONAME + _ZN21QDeclarativeValueType16staticMetaObjectE @ 580 NONAME DATA 16 + _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 581 NONAME + _ZN21QDeclarativeValueTypeC2EP7QObject @ 582 NONAME + _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 583 NONAME + _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 584 NONAME + _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 585 NONAME + _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 586 NONAME DATA 16 + _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 587 NONAME + _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 588 NONAME + _ZN22QDeclarativeDebugQueryC1EP7QObject @ 589 NONAME + _ZN22QDeclarativeDebugQueryC2EP7QObject @ 590 NONAME + _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 591 NONAME + _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 592 NONAME + _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 593 NONAME + _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 594 NONAME + _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 595 NONAME DATA 16 + _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 596 NONAME + _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 597 NONAME + _ZN22QDeclarativeDebugWatchC1EP7QObject @ 598 NONAME + _ZN22QDeclarativeDebugWatchC2EP7QObject @ 599 NONAME + _ZN22QDeclarativeDebugWatchD0Ev @ 600 NONAME + _ZN22QDeclarativeDebugWatchD1Ev @ 601 NONAME + _ZN22QDeclarativeDebugWatchD2Ev @ 602 NONAME + _ZN22QDeclarativeExpression10clearErrorEv @ 603 NONAME + _ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 604 NONAME + _ZN22QDeclarativeExpression11qt_metacastEPKc @ 605 NONAME + _ZN22QDeclarativeExpression12valueChangedEv @ 606 NONAME + _ZN22QDeclarativeExpression13setExpressionERK7QString @ 607 NONAME + _ZN22QDeclarativeExpression16staticMetaObjectE @ 608 NONAME DATA 16 + _ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 609 NONAME + _ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 610 NONAME + _ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 611 NONAME + _ZN22QDeclarativeExpression8evaluateEPb @ 612 NONAME + _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 613 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 614 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 615 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 616 NONAME + _ZN22QDeclarativeExpressionC1Ev @ 617 NONAME + _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 618 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QString @ 619 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 620 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 621 NONAME + _ZN22QDeclarativeExpressionC2Ev @ 622 NONAME + _ZN22QDeclarativeExpressionD0Ev @ 623 NONAME + _ZN22QDeclarativeExpressionD1Ev @ 624 NONAME + _ZN22QDeclarativeExpressionD2Ev @ 625 NONAME + _ZN22QDeclarativeStateGroup10classBeginEv @ 626 NONAME + _ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 627 NONAME + _ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 628 NONAME + _ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 629 NONAME + _ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 630 NONAME + _ZN22QDeclarativeStateGroup14statesPropertyEv @ 631 NONAME + _ZN22QDeclarativeStateGroup15updateAutoStateEv @ 632 NONAME + _ZN22QDeclarativeStateGroup16staticMetaObjectE @ 633 NONAME DATA 16 + _ZN22QDeclarativeStateGroup17componentCompleteEv @ 634 NONAME + _ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 635 NONAME + _ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 636 NONAME + _ZN22QDeclarativeStateGroup8setStateERK7QString @ 637 NONAME + _ZN22QDeclarativeStateGroupC1EP7QObject @ 638 NONAME + _ZN22QDeclarativeStateGroupC2EP7QObject @ 639 NONAME + _ZN22QDeclarativeStateGroupD0Ev @ 640 NONAME + _ZN22QDeclarativeStateGroupD1Ev @ 641 NONAME + _ZN22QDeclarativeStateGroupD2Ev @ 642 NONAME + _ZN22QDeclarativeTransition10animationsEv @ 643 NONAME + _ZN22QDeclarativeTransition10setToStateERK7QString @ 644 NONAME + _ZN22QDeclarativeTransition11fromChangedEv @ 645 NONAME + _ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 646 NONAME + _ZN22QDeclarativeTransition11qt_metacastEPKc @ 647 NONAME + _ZN22QDeclarativeTransition11setReversedEb @ 648 NONAME + _ZN22QDeclarativeTransition12setFromStateERK7QString @ 649 NONAME + _ZN22QDeclarativeTransition13setReversibleEb @ 650 NONAME + _ZN22QDeclarativeTransition16staticMetaObjectE @ 651 NONAME DATA 16 + _ZN22QDeclarativeTransition17reversibleChangedEv @ 652 NONAME + _ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 653 NONAME + _ZN22QDeclarativeTransition4stopEv @ 654 NONAME + _ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 655 NONAME + _ZN22QDeclarativeTransition9toChangedEv @ 656 NONAME + _ZN22QDeclarativeTransitionC1EP7QObject @ 657 NONAME + _ZN22QDeclarativeTransitionC2EP7QObject @ 658 NONAME + _ZN22QDeclarativeTransitionD0Ev @ 659 NONAME + _ZN22QDeclarativeTransitionD1Ev @ 660 NONAME + _ZN22QDeclarativeTransitionD2Ev @ 661 NONAME + _ZN23QDeclarativeDebugClient10setEnabledEb @ 662 NONAME + _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 663 NONAME + _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 664 NONAME + _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 665 NONAME + _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 666 NONAME + _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 667 NONAME DATA 16 + _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 668 NONAME + _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 669 NONAME + _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 670 NONAME + _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 671 NONAME + _ZN23QDeclarativeDomDocumentC1ERKS_ @ 672 NONAME + _ZN23QDeclarativeDomDocumentC1Ev @ 673 NONAME + _ZN23QDeclarativeDomDocumentC2ERKS_ @ 674 NONAME + _ZN23QDeclarativeDomDocumentC2Ev @ 675 NONAME + _ZN23QDeclarativeDomDocumentD1Ev @ 676 NONAME + _ZN23QDeclarativeDomDocumentD2Ev @ 677 NONAME + _ZN23QDeclarativeDomDocumentaSERKS_ @ 678 NONAME + _ZN23QDeclarativeDomPropertyC1ERKS_ @ 679 NONAME + _ZN23QDeclarativeDomPropertyC1Ev @ 680 NONAME + _ZN23QDeclarativeDomPropertyC2ERKS_ @ 681 NONAME + _ZN23QDeclarativeDomPropertyC2Ev @ 682 NONAME + _ZN23QDeclarativeDomPropertyD1Ev @ 683 NONAME + _ZN23QDeclarativeDomPropertyD2Ev @ 684 NONAME + _ZN23QDeclarativeDomPropertyaSERKS_ @ 685 NONAME + _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 686 NONAME + _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 687 NONAME + _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 688 NONAME + _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 689 NONAME + _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 690 NONAME DATA 16 + _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 691 NONAME + _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 692 NONAME + _ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantbP7QObject @ 693 NONAME ABSENT + _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 694 NONAME + _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 695 NONAME + _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 696 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 697 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 698 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 699 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 700 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 701 NONAME + _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 702 NONAME + _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 703 NONAME + _ZN23QDeclarativeItemPrivate10resetWidthEv @ 704 NONAME + _ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 705 NONAME + _ZN23QDeclarativeItemPrivate11resetHeightEv @ 706 NONAME + _ZN23QDeclarativeItemPrivate11transitionsEv @ 707 NONAME + _ZN23QDeclarativeItemPrivate12focusChangedEb @ 708 NONAME + _ZN23QDeclarativeItemPrivate12resources_atEP24QDeclarativeListPropertyI7QObjectEi @ 709 NONAME + _ZN23QDeclarativeItemPrivate12transform_atEP24QDeclarativeListPropertyI18QGraphicsTransformEi @ 710 NONAME + _ZN23QDeclarativeItemPrivate14consistentTimeE @ 711 NONAME DATA 8 + _ZN23QDeclarativeItemPrivate14parentPropertyEP7QObjectPvP28QDeclarativeNotifierEndpoint @ 712 NONAME + _ZN23QDeclarativeItemPrivate15resources_countEP24QDeclarativeListPropertyI7QObjectE @ 713 NONAME + _ZN23QDeclarativeItemPrivate15transform_clearEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 714 NONAME + _ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 715 NONAME + _ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 716 NONAME + _ZN23QDeclarativeItemPrivate16transformChangedEv @ 717 NONAME + _ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 718 NONAME + _ZN23QDeclarativeItemPrivate17setConsistentTimeEx @ 719 NONAME + _ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 720 NONAME + _ZN23QDeclarativeItemPrivate4dataEv @ 721 NONAME + _ZN23QDeclarativeItemPrivate5startER13QElapsedTimer @ 722 NONAME + _ZN23QDeclarativeItemPrivate6statesEv @ 723 NONAME + _ZN23QDeclarativeItemPrivate7_statesEv @ 724 NONAME + _ZN23QDeclarativeItemPrivate7elapsedER13QElapsedTimer @ 725 NONAME + _ZN23QDeclarativeItemPrivate7restartER13QElapsedTimer @ 726 NONAME + _ZN23QDeclarativeItemPrivate8setStateERK7QString @ 727 NONAME + _ZN23QDeclarativeItemPrivate8setWidthEf @ 728 NONAME + _ZN23QDeclarativeItemPrivate9resourcesEv @ 729 NONAME + _ZN23QDeclarativeItemPrivate9setHeightEf @ 730 NONAME + _ZN23QDeclarativePixmapCache15pendingRequestsEv @ 731 NONAME ABSENT + _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapP7QStringP5QSizebii @ 732 NONAME ABSENT + _ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 733 NONAME ABSENT + _ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrlii @ 734 NONAME ABSENT + _ZN23QDeclarativePixmapReply10setLoadingEv @ 735 NONAME ABSENT + _ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 736 NONAME ABSENT + _ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 737 NONAME ABSENT + _ZN23QDeclarativePixmapReply16downloadProgressExx @ 738 NONAME ABSENT + _ZN23QDeclarativePixmapReply16staticMetaObjectE @ 739 NONAME DATA 16 ABSENT + _ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 740 NONAME ABSENT + _ZN23QDeclarativePixmapReply5eventEP6QEvent @ 741 NONAME ABSENT + _ZN23QDeclarativePixmapReply6addRefEv @ 742 NONAME ABSENT + _ZN23QDeclarativePixmapReply7releaseEb @ 743 NONAME ABSENT + _ZN23QDeclarativePixmapReply8finishedEv @ 744 NONAME ABSENT + _ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrlii @ 745 NONAME ABSENT + _ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrlii @ 746 NONAME ABSENT + _ZN23QDeclarativePixmapReplyD0Ev @ 747 NONAME ABSENT + _ZN23QDeclarativePixmapReplyD1Ev @ 748 NONAME ABSENT + _ZN23QDeclarativePixmapReplyD2Ev @ 749 NONAME ABSENT + _ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 750 NONAME + _ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 751 NONAME + _ZN23QDeclarativePropertyMap12valueChangedERK7QStringRK8QVariant @ 752 NONAME + _ZN23QDeclarativePropertyMap16staticMetaObjectE @ 753 NONAME DATA 16 + _ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 754 NONAME + _ZN23QDeclarativePropertyMap5clearERK7QString @ 755 NONAME + _ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 756 NONAME + _ZN23QDeclarativePropertyMapC1EP7QObject @ 757 NONAME + _ZN23QDeclarativePropertyMapC2EP7QObject @ 758 NONAME + _ZN23QDeclarativePropertyMapD0Ev @ 759 NONAME + _ZN23QDeclarativePropertyMapD1Ev @ 760 NONAME + _ZN23QDeclarativePropertyMapD2Ev @ 761 NONAME + _ZN23QDeclarativePropertyMapixERK7QString @ 762 NONAME + _ZN24QDeclarativeCustomParser11clearErrorsEv @ 763 NONAME + _ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 764 NONAME + _ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 765 NONAME + _ZN24QDeclarativeCustomParser5errorERK7QString @ 766 NONAME + _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 767 NONAME + _ZN24QDeclarativeDebugService11objectForIdEi @ 768 NONAME + _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 769 NONAME + _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 770 NONAME + _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 771 NONAME + _ZN24QDeclarativeDebugService14enabledChangedEb @ 772 NONAME + _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 773 NONAME + _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 774 NONAME + _ZN24QDeclarativeDebugService16staticMetaObjectE @ 775 NONAME DATA 16 + _ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 776 NONAME + _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 777 NONAME + _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 778 NONAME + _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 779 NONAME + _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 780 NONAME + _ZN24QDeclarativeDomComponentC1ERKS_ @ 781 NONAME + _ZN24QDeclarativeDomComponentC1Ev @ 782 NONAME + _ZN24QDeclarativeDomComponentC2ERKS_ @ 783 NONAME + _ZN24QDeclarativeDomComponentC2Ev @ 784 NONAME + _ZN24QDeclarativeDomComponentD1Ev @ 785 NONAME + _ZN24QDeclarativeDomComponentD2Ev @ 786 NONAME + _ZN24QDeclarativeDomComponentaSERKS_ @ 787 NONAME + _ZN24QDeclarativeParserStatusC2Ev @ 788 NONAME + _ZN24QDeclarativeParserStatusD0Ev @ 789 NONAME + _ZN24QDeclarativeParserStatusD1Ev @ 790 NONAME + _ZN24QDeclarativeParserStatusD2Ev @ 791 NONAME + _ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 792 NONAME + _ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 793 NONAME + _ZN24QDeclarativeScriptString9setScriptERK7QString @ 794 NONAME + _ZN24QDeclarativeScriptStringC1ERKS_ @ 795 NONAME + _ZN24QDeclarativeScriptStringC1Ev @ 796 NONAME + _ZN24QDeclarativeScriptStringC2ERKS_ @ 797 NONAME + _ZN24QDeclarativeScriptStringC2Ev @ 798 NONAME + _ZN24QDeclarativeScriptStringD1Ev @ 799 NONAME + _ZN24QDeclarativeScriptStringD2Ev @ 800 NONAME + _ZN24QDeclarativeScriptStringaSERKS_ @ 801 NONAME + _ZN25QDeclarativeImageProviderD0Ev @ 802 NONAME + _ZN25QDeclarativeImageProviderD1Ev @ 803 NONAME + _ZN25QDeclarativeImageProviderD2Ev @ 804 NONAME + _ZN25QDeclarativeListReferenceC1EP7QObjectPKcP18QDeclarativeEngine @ 805 NONAME + _ZN25QDeclarativeListReferenceC1ERKS_ @ 806 NONAME + _ZN25QDeclarativeListReferenceC1Ev @ 807 NONAME + _ZN25QDeclarativeListReferenceC2EP7QObjectPKcP18QDeclarativeEngine @ 808 NONAME + _ZN25QDeclarativeListReferenceC2ERKS_ @ 809 NONAME + _ZN25QDeclarativeListReferenceC2Ev @ 810 NONAME + _ZN25QDeclarativeListReferenceD1Ev @ 811 NONAME + _ZN25QDeclarativeListReferenceD2Ev @ 812 NONAME + _ZN25QDeclarativeListReferenceaSERKS_ @ 813 NONAME + _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 814 NONAME + _ZN26QDeclarativeDebuggerStatusD0Ev @ 815 NONAME + _ZN26QDeclarativeDebuggerStatusD1Ev @ 816 NONAME + _ZN26QDeclarativeDebuggerStatusD2Ev @ 817 NONAME + _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 818 NONAME + _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 819 NONAME + _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 820 NONAME + _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 821 NONAME + _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 822 NONAME + _ZN26QDeclarativeOpenMetaObject15propertyWrittenEi @ 823 NONAME + _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 824 NONAME + _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 825 NONAME + _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 826 NONAME + _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 827 NONAME + _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 828 NONAME + _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 829 NONAME + _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 830 NONAME + _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 831 NONAME + _ZN26QDeclarativeOpenMetaObjectD0Ev @ 832 NONAME + _ZN26QDeclarativeOpenMetaObjectD1Ev @ 833 NONAME + _ZN26QDeclarativeOpenMetaObjectD2Ev @ 834 NONAME + _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 835 NONAME + _ZN26QDeclarativeOpenMetaObjectixEi @ 836 NONAME + _ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 837 NONAME + _ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 838 NONAME + _ZN26QDeclarativeStateOperation16staticMetaObjectE @ 839 NONAME DATA 16 + _ZN26QDeclarativeStateOperation19getStaticMetaObjectEv @ 840 NONAME + _ZN26QDeclarativeStateOperation7actionsEv @ 841 NONAME + _ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 842 NONAME + _ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 843 NONAME + _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 844 NONAME + _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 845 NONAME + _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 846 NONAME + _ZN27QDeclarativeAbstractBinding5clearEv @ 847 NONAME + _ZN27QDeclarativeAbstractBinding7destroyEv @ 848 NONAME + _ZN27QDeclarativeAbstractBindingC2Ev @ 849 NONAME + _ZN27QDeclarativeAbstractBindingD0Ev @ 850 NONAME + _ZN27QDeclarativeAbstractBindingD1Ev @ 851 NONAME + _ZN27QDeclarativeAbstractBindingD2Ev @ 852 NONAME + _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 853 NONAME + _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 854 NONAME + _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 855 NONAME DATA 16 + _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 856 NONAME + _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 857 NONAME + _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 858 NONAME + _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 859 NONAME + _ZN27QDeclarativeDomValueBindingC1Ev @ 860 NONAME + _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 861 NONAME + _ZN27QDeclarativeDomValueBindingC2Ev @ 862 NONAME + _ZN27QDeclarativeDomValueBindingD1Ev @ 863 NONAME + _ZN27QDeclarativeDomValueBindingD2Ev @ 864 NONAME + _ZN27QDeclarativeDomValueBindingaSERKS_ @ 865 NONAME + _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 866 NONAME + _ZN27QDeclarativeDomValueLiteralC1Ev @ 867 NONAME + _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 868 NONAME + _ZN27QDeclarativeDomValueLiteralC2Ev @ 869 NONAME + _ZN27QDeclarativeDomValueLiteralD1Ev @ 870 NONAME + _ZN27QDeclarativeDomValueLiteralD2Ev @ 871 NONAME + _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 872 NONAME + _ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 873 NONAME + _ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 874 NONAME + _ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 875 NONAME + _ZN27QDeclarativeExtensionPlugin16staticMetaObjectE @ 876 NONAME DATA 16 + _ZN27QDeclarativeExtensionPlugin19getStaticMetaObjectEv @ 877 NONAME + _ZN27QDeclarativeExtensionPluginC2EP7QObject @ 878 NONAME + _ZN27QDeclarativeExtensionPluginD0Ev @ 879 NONAME + _ZN27QDeclarativeExtensionPluginD1Ev @ 880 NONAME + _ZN27QDeclarativeExtensionPluginD2Ev @ 881 NONAME + _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 882 NONAME + _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 883 NONAME + _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 884 NONAME + _ZN27QDeclarativeGridScaledImageC1Ev @ 885 NONAME + _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 886 NONAME + _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 887 NONAME + _ZN27QDeclarativeGridScaledImageC2Ev @ 888 NONAME + _ZN27QDeclarativeGridScaledImageaSERKS_ @ 889 NONAME + _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 890 NONAME + _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectiiP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 891 NONAME + _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 892 NONAME + _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 893 NONAME + _ZN27QDeclarativePropertyPrivate12bindingIndexERK20QDeclarativeProperty @ 894 NONAME + _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 895 NONAME + _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 896 NONAME + _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 897 NONAME + _ZN27QDeclarativePropertyPrivate16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 898 NONAME + _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 899 NONAME + _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 900 NONAME + _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 901 NONAME + _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 902 NONAME + _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 903 NONAME + _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 904 NONAME + _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 905 NONAME + _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 906 NONAME + _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP23QDeclarativeContextData6QFlagsINS_9WriteFlagEE @ 907 NONAME + _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 908 NONAME + _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 909 NONAME + _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP23QDeclarativeContextData @ 910 NONAME + _ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 911 NONAME + _ZN28QDeclarativeCustomParserNodeC1Ev @ 912 NONAME + _ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 913 NONAME + _ZN28QDeclarativeCustomParserNodeC2Ev @ 914 NONAME + _ZN28QDeclarativeCustomParserNodeD1Ev @ 915 NONAME + _ZN28QDeclarativeCustomParserNodeD2Ev @ 916 NONAME + _ZN28QDeclarativeCustomParserNodeaSERKS_ @ 917 NONAME + _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 918 NONAME + _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 919 NONAME + _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 920 NONAME DATA 16 + _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 921 NONAME + _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 922 NONAME + _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 923 NONAME + _ZN28QDeclarativeDebugObjectQueryD0Ev @ 924 NONAME + _ZN28QDeclarativeDebugObjectQueryD1Ev @ 925 NONAME + _ZN28QDeclarativeDebugObjectQueryD2Ev @ 926 NONAME + _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 927 NONAME + _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 928 NONAME + _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 929 NONAME + _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 930 NONAME + _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 931 NONAME + _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 932 NONAME + _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 933 NONAME + _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 934 NONAME + _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 935 NONAME + _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 936 NONAME + _ZN28QDeclarativeValueTypeFactory11isValueTypeEi @ 937 NONAME + _ZN28QDeclarativeValueTypeFactory18registerValueTypesEv @ 938 NONAME + _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 939 NONAME + _ZN28QDeclarativeValueTypeFactoryC1Ev @ 940 NONAME + _ZN28QDeclarativeValueTypeFactoryC2Ev @ 941 NONAME + _ZN28QDeclarativeValueTypeFactoryD1Ev @ 942 NONAME + _ZN28QDeclarativeValueTypeFactoryD2Ev @ 943 NONAME + _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 944 NONAME + _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 945 NONAME + _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 946 NONAME DATA 16 + _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 947 NONAME + _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 948 NONAME + _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 949 NONAME + _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 950 NONAME + _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 951 NONAME + _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 952 NONAME + _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 953 NONAME + _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 954 NONAME + _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 955 NONAME + _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 956 NONAME + _ZN30QDeclarativeDebugFileReferenceC1Ev @ 957 NONAME + _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 958 NONAME + _ZN30QDeclarativeDebugFileReferenceC2Ev @ 959 NONAME + _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 960 NONAME + _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 961 NONAME + _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 962 NONAME + _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 963 NONAME DATA 16 + _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 964 NONAME + _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 965 NONAME + _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 966 NONAME + _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 967 NONAME + _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 968 NONAME + _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 969 NONAME + _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 970 NONAME + _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 971 NONAME + _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 972 NONAME + _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 973 NONAME + _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 974 NONAME + _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 975 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 976 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 977 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 978 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 979 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 980 NONAME + _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 981 NONAME + _ZN31QDeclarativeDomValueValueSourceC1Ev @ 982 NONAME + _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 983 NONAME + _ZN31QDeclarativeDomValueValueSourceC2Ev @ 984 NONAME + _ZN31QDeclarativeDomValueValueSourceD1Ev @ 985 NONAME + _ZN31QDeclarativeDomValueValueSourceD2Ev @ 986 NONAME + _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 987 NONAME + _ZN31QDeclarativePropertyValueSourceC2Ev @ 988 NONAME + _ZN31QDeclarativePropertyValueSourceD0Ev @ 989 NONAME + _ZN31QDeclarativePropertyValueSourceD1Ev @ 990 NONAME + _ZN31QDeclarativePropertyValueSourceD2Ev @ 991 NONAME + _ZN32QDeclarativeCustomParserPropertyC1ERKS_ @ 992 NONAME + _ZN32QDeclarativeCustomParserPropertyC1Ev @ 993 NONAME + _ZN32QDeclarativeCustomParserPropertyC2ERKS_ @ 994 NONAME + _ZN32QDeclarativeCustomParserPropertyC2Ev @ 995 NONAME + _ZN32QDeclarativeCustomParserPropertyD1Ev @ 996 NONAME + _ZN32QDeclarativeCustomParserPropertyD2Ev @ 997 NONAME + _ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 998 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 999 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 1000 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 1001 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 1002 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 1003 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 1004 NONAME + _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 1005 NONAME + _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1006 NONAME + _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 1007 NONAME + _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 1008 NONAME DATA 16 + _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 1009 NONAME + _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 1010 NONAME + _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 1011 NONAME + _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 1012 NONAME + _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 1013 NONAME + _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 1014 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 1015 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 1016 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 1017 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 1018 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 1019 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 1020 NONAME + _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 1021 NONAME + _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 1022 NONAME + _ZN33QDeclarativeDebugContextReferenceC1Ev @ 1023 NONAME + _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 1024 NONAME + _ZN33QDeclarativeDebugContextReferenceC2Ev @ 1025 NONAME + _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 1026 NONAME + _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1027 NONAME + _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 1028 NONAME + _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 1029 NONAME DATA 16 + _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 1030 NONAME + _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 1031 NONAME + _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 1032 NONAME + _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 1033 NONAME + _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 1034 NONAME + _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 1035 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 1036 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 1037 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 1038 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 1039 NONAME + _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 1040 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 1041 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 1042 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 1043 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 1044 NONAME + _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 1045 NONAME + _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 1046 NONAME + _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 1047 NONAME + _ZN36QDeclarativePropertyValueInterceptorC2Ev @ 1048 NONAME + _ZN36QDeclarativePropertyValueInterceptorD0Ev @ 1049 NONAME + _ZN36QDeclarativePropertyValueInterceptorD1Ev @ 1050 NONAME + _ZN36QDeclarativePropertyValueInterceptorD2Ev @ 1051 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1052 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 1053 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 1054 NONAME DATA 16 + _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 1055 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 1056 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 1057 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 1058 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 1059 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 1060 NONAME + _ZN7QPacket5clearEv @ 1061 NONAME + _ZN7QPacketC1ERK10QByteArray @ 1062 NONAME + _ZN7QPacketC1ERKS_ @ 1063 NONAME + _ZN7QPacketC1Ev @ 1064 NONAME + _ZN7QPacketC2ERK10QByteArray @ 1065 NONAME + _ZN7QPacketC2ERKS_ @ 1066 NONAME + _ZN7QPacketC2Ev @ 1067 NONAME + _ZN7QPacketD0Ev @ 1068 NONAME + _ZN7QPacketD1Ev @ 1069 NONAME + _ZN7QPacketD2Ev @ 1070 NONAME + _ZNK15QDeclarativePen10metaObjectEv @ 1071 NONAME + _ZNK15QPacketProtocol10metaObjectEv @ 1072 NONAME + _ZNK15QPacketProtocol16packetsAvailableEv @ 1073 NONAME + _ZNK15QPacketProtocol17maximumPacketSizeEv @ 1074 NONAME + _ZNK16QDeclarativeItem10metaObjectEv @ 1075 NONAME + _ZNK16QDeclarativeItem10parentItemEv @ 1076 NONAME + _ZNK16QDeclarativeItem10wantsFocusEv @ 1077 NONAME + _ZNK16QDeclarativeItem10widthValidEv @ 1078 NONAME + _ZNK16QDeclarativeItem11heightValidEv @ 1079 NONAME + _ZNK16QDeclarativeItem11mapFromItemERK12QScriptValueff @ 1080 NONAME + _ZNK16QDeclarativeItem12boundingRectEv @ 1081 NONAME + _ZNK16QDeclarativeItem13implicitWidthEv @ 1082 NONAME + _ZNK16QDeclarativeItem13keepMouseGrabEv @ 1083 NONAME + _ZNK16QDeclarativeItem14baselineOffsetEv @ 1084 NONAME + _ZNK16QDeclarativeItem14implicitHeightEv @ 1085 NONAME + _ZNK16QDeclarativeItem15transformOriginEv @ 1086 NONAME + _ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1087 NONAME + _ZNK16QDeclarativeItem19isComponentCompleteEv @ 1088 NONAME + _ZNK16QDeclarativeItem4clipEv @ 1089 NONAME + _ZNK16QDeclarativeItem5widthEv @ 1090 NONAME + _ZNK16QDeclarativeItem6heightEv @ 1091 NONAME + _ZNK16QDeclarativeItem6smoothEv @ 1092 NONAME + _ZNK16QDeclarativeItem7childAtEff @ 1093 NONAME + _ZNK16QDeclarativeItem8hasFocusEv @ 1094 NONAME + _ZNK16QDeclarativeItem9mapToItemERK12QScriptValueff @ 1095 NONAME + _ZNK16QDeclarativeText10metaObjectEv @ 1096 NONAME + _ZNK16QDeclarativeText10styleColorEv @ 1097 NONAME + _ZNK16QDeclarativeText10textFormatEv @ 1098 NONAME + _ZNK16QDeclarativeText12boundingRectEv @ 1099 NONAME + _ZNK16QDeclarativeText12paintedWidthEv @ 1100 NONAME + _ZNK16QDeclarativeText13paintedHeightEv @ 1101 NONAME + _ZNK16QDeclarativeText16resourcesLoadingEv @ 1102 NONAME + _ZNK16QDeclarativeText4fontEv @ 1103 NONAME + _ZNK16QDeclarativeText4textEv @ 1104 NONAME + _ZNK16QDeclarativeText5colorEv @ 1105 NONAME + _ZNK16QDeclarativeText5styleEv @ 1106 NONAME + _ZNK16QDeclarativeText6hAlignEv @ 1107 NONAME + _ZNK16QDeclarativeText6vAlignEv @ 1108 NONAME + _ZNK16QDeclarativeText8wrapModeEv @ 1109 NONAME + _ZNK16QDeclarativeText9elideModeEv @ 1110 NONAME + _ZNK16QDeclarativeType10createSizeEv @ 1111 NONAME + _ZNK16QDeclarativeType10metaObjectEv @ 1112 NONAME + _ZNK16QDeclarativeType11isCreatableEv @ 1113 NONAME + _ZNK16QDeclarativeType11isInterfaceEv @ 1114 NONAME + _ZNK16QDeclarativeType11qListTypeIdEv @ 1115 NONAME + _ZNK16QDeclarativeType11qmlTypeNameEv @ 1116 NONAME + _ZNK16QDeclarativeType12customParserEv @ 1117 NONAME + _ZNK16QDeclarativeType12interfaceIIdEv @ 1118 NONAME + _ZNK16QDeclarativeType12majorVersionEv @ 1119 NONAME + _ZNK16QDeclarativeType12minorVersionEv @ 1120 NONAME + _ZNK16QDeclarativeType14baseMetaObjectEv @ 1121 NONAME + _ZNK16QDeclarativeType14createFunctionEv @ 1122 NONAME + _ZNK16QDeclarativeType14isExtendedTypeEv @ 1123 NONAME + _ZNK16QDeclarativeType16noCreationReasonEv @ 1124 NONAME + _ZNK16QDeclarativeType16parserStatusCastEv @ 1125 NONAME + _ZNK16QDeclarativeType18availableInVersionEii @ 1126 NONAME + _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 1127 NONAME + _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 1128 NONAME + _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 1129 NONAME + _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 1130 NONAME + _ZNK16QDeclarativeType5indexEv @ 1131 NONAME + _ZNK16QDeclarativeType6createEPP7QObjectPPvj @ 1132 NONAME + _ZNK16QDeclarativeType6createEv @ 1133 NONAME + _ZNK16QDeclarativeType6typeIdEv @ 1134 NONAME + _ZNK16QDeclarativeType8typeNameEv @ 1135 NONAME + _ZNK16QDeclarativeView10metaObjectEv @ 1136 NONAME + _ZNK16QDeclarativeView10resizeModeEv @ 1137 NONAME + _ZNK16QDeclarativeView10rootObjectEv @ 1138 NONAME + _ZNK16QDeclarativeView11initialSizeEv @ 1139 NONAME + _ZNK16QDeclarativeView6errorsEv @ 1140 NONAME + _ZNK16QDeclarativeView6sourceEv @ 1141 NONAME + _ZNK16QDeclarativeView6statusEv @ 1142 NONAME + _ZNK16QDeclarativeView8sizeHintEv @ 1143 NONAME + _ZNK16QMetaEnumBuilder3keyEi @ 1144 NONAME + _ZNK16QMetaEnumBuilder4nameEv @ 1145 NONAME + _ZNK16QMetaEnumBuilder5valueEi @ 1146 NONAME + _ZNK16QMetaEnumBuilder6d_funcEv @ 1147 NONAME + _ZNK16QMetaEnumBuilder6isFlagEv @ 1148 NONAME + _ZNK16QMetaEnumBuilder8keyCountEv @ 1149 NONAME + _ZNK17QDeclarativeError11descriptionEv @ 1150 NONAME + _ZNK17QDeclarativeError3urlEv @ 1151 NONAME + _ZNK17QDeclarativeError4lineEv @ 1152 NONAME + _ZNK17QDeclarativeError6columnEv @ 1153 NONAME + _ZNK17QDeclarativeError7isValidEv @ 1154 NONAME + _ZNK17QDeclarativeError8toStringEv @ 1155 NONAME + _ZNK17QDeclarativeState10metaObjectEv @ 1156 NONAME + _ZNK17QDeclarativeState10stateGroupEv @ 1157 NONAME + _ZNK17QDeclarativeState11isWhenKnownEv @ 1158 NONAME + _ZNK17QDeclarativeState11operationAtEi @ 1159 NONAME + _ZNK17QDeclarativeState14operationCountEv @ 1160 NONAME + _ZNK17QDeclarativeState4nameEv @ 1161 NONAME + _ZNK17QDeclarativeState4whenEv @ 1162 NONAME + _ZNK17QDeclarativeState7extendsEv @ 1163 NONAME + _ZNK17QDeclarativeState7isNamedEv @ 1164 NONAME + _ZNK18QDeclarativeEngine10metaObjectEv @ 1165 NONAME + _ZNK18QDeclarativeEngine13imageProviderERK7QString @ 1166 NONAME + _ZNK18QDeclarativeEngine14importPathListEv @ 1167 NONAME + _ZNK18QDeclarativeEngine14pluginPathListEv @ 1168 NONAME + _ZNK18QDeclarativeEngine18offlineStoragePathEv @ 1169 NONAME + _ZNK18QDeclarativeEngine20networkAccessManagerEv @ 1170 NONAME + _ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 1171 NONAME + _ZNK18QDeclarativeEngine29outputWarningsToStandardErrorEv @ 1172 NONAME + _ZNK18QDeclarativeEngine7baseUrlEv @ 1173 NONAME + _ZNK18QDeclarativeParser7Variant12asStringListEv @ 1174 NONAME + _ZNK18QDeclarativeParser7Variant12isStringListEv @ 1175 NONAME + _ZNK18QDeclarativeParser7Variant4typeEv @ 1176 NONAME + _ZNK18QDeclarativeParser7Variant5asASTEv @ 1177 NONAME + _ZNK18QDeclarativeParser7Variant8asNumberEv @ 1178 NONAME + _ZNK18QDeclarativeParser7Variant8asScriptEv @ 1179 NONAME + _ZNK18QDeclarativeParser7Variant8asStringEv @ 1180 NONAME + _ZNK18QDeclarativeParser7Variant9asBooleanEv @ 1181 NONAME + _ZNK18QMetaMethodBuilder10attributesEv @ 1182 NONAME + _ZNK18QMetaMethodBuilder10methodTypeEv @ 1183 NONAME + _ZNK18QMetaMethodBuilder10returnTypeEv @ 1184 NONAME + _ZNK18QMetaMethodBuilder14parameterNamesEv @ 1185 NONAME + _ZNK18QMetaMethodBuilder3tagEv @ 1186 NONAME + _ZNK18QMetaMethodBuilder5indexEv @ 1187 NONAME + _ZNK18QMetaMethodBuilder6accessEv @ 1188 NONAME + _ZNK18QMetaMethodBuilder6d_funcEv @ 1189 NONAME + _ZNK18QMetaMethodBuilder9signatureEv @ 1190 NONAME + _ZNK18QMetaObjectBuilder10enumeratorEi @ 1191 NONAME + _ZNK18QMetaObjectBuilder10superClassEv @ 1192 NONAME + _ZNK18QMetaObjectBuilder11constructorEi @ 1193 NONAME + _ZNK18QMetaObjectBuilder11methodCountEv @ 1194 NONAME + _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 1195 NONAME + _ZNK18QMetaObjectBuilder13classInfoNameEi @ 1196 NONAME + _ZNK18QMetaObjectBuilder13propertyCountEv @ 1197 NONAME + _ZNK18QMetaObjectBuilder14classInfoCountEv @ 1198 NONAME + _ZNK18QMetaObjectBuilder14classInfoValueEi @ 1199 NONAME + _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 1200 NONAME + _ZNK18QMetaObjectBuilder16constructorCountEv @ 1201 NONAME + _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 1202 NONAME + _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 1203 NONAME + _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 1204 NONAME + _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 1205 NONAME + _ZNK18QMetaObjectBuilder5flagsEv @ 1206 NONAME + _ZNK18QMetaObjectBuilder6methodEi @ 1207 NONAME + _ZNK18QMetaObjectBuilder8propertyEi @ 1208 NONAME + _ZNK18QMetaObjectBuilder9classNameEv @ 1209 NONAME + _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 1210 NONAME + _ZNK19QDeclarativeAnchors10leftMarginEv @ 1211 NONAME + _ZNK19QDeclarativeAnchors10metaObjectEv @ 1212 NONAME + _ZNK19QDeclarativeAnchors11rightMarginEv @ 1213 NONAME + _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 1214 NONAME + _ZNK19QDeclarativeAnchors12bottomMarginEv @ 1215 NONAME + _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 1216 NONAME + _ZNK19QDeclarativeAnchors14verticalCenterEv @ 1217 NONAME + _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 1218 NONAME + _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 1219 NONAME + _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 1220 NONAME + _ZNK19QDeclarativeAnchors3topEv @ 1221 NONAME + _ZNK19QDeclarativeAnchors4fillEv @ 1222 NONAME + _ZNK19QDeclarativeAnchors4leftEv @ 1223 NONAME + _ZNK19QDeclarativeAnchors5rightEv @ 1224 NONAME + _ZNK19QDeclarativeAnchors6bottomEv @ 1225 NONAME + _ZNK19QDeclarativeAnchors7marginsEv @ 1226 NONAME + _ZNK19QDeclarativeAnchors8baselineEv @ 1227 NONAME + _ZNK19QDeclarativeAnchors8centerInEv @ 1228 NONAME + _ZNK19QDeclarativeAnchors9topMarginEv @ 1229 NONAME + _ZNK19QDeclarativeBinding10expressionEv @ 1230 NONAME + _ZNK19QDeclarativeBinding10metaObjectEv @ 1231 NONAME + _ZNK19QDeclarativeBinding7enabledEv @ 1232 NONAME + _ZNK19QDeclarativeBinding8propertyEv @ 1233 NONAME + _ZNK19QDeclarativeContext10metaObjectEv @ 1234 NONAME + _ZNK19QDeclarativeContext13contextObjectEv @ 1235 NONAME + _ZNK19QDeclarativeContext13parentContextEv @ 1236 NONAME + _ZNK19QDeclarativeContext15contextPropertyERK7QString @ 1237 NONAME + _ZNK19QDeclarativeContext6engineEv @ 1238 NONAME + _ZNK19QDeclarativeContext7baseUrlEv @ 1239 NONAME + _ZNK19QDeclarativeContext7isValidEv @ 1240 NONAME + _ZNK19QDeclarativeDomList14commaPositionsEv @ 1241 NONAME + _ZNK19QDeclarativeDomList6lengthEv @ 1242 NONAME + _ZNK19QDeclarativeDomList6valuesEv @ 1243 NONAME + _ZNK19QDeclarativeDomList8positionEv @ 1244 NONAME + _ZNK19QListModelInterface10metaObjectEv @ 1245 NONAME + _ZNK20QDeclarativeBehavior10metaObjectEv @ 1246 NONAME + _ZNK20QDeclarativeBehavior7enabledEv @ 1247 NONAME + _ZNK20QDeclarativeDomValue13isValueSourceEv @ 1248 NONAME + _ZNK20QDeclarativeDomValue13toValueSourceEv @ 1249 NONAME + _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 1250 NONAME + _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 1251 NONAME + _ZNK20QDeclarativeDomValue4typeEv @ 1252 NONAME + _ZNK20QDeclarativeDomValue6isListEv @ 1253 NONAME + _ZNK20QDeclarativeDomValue6lengthEv @ 1254 NONAME + _ZNK20QDeclarativeDomValue6toListEv @ 1255 NONAME + _ZNK20QDeclarativeDomValue8isObjectEv @ 1256 NONAME + _ZNK20QDeclarativeDomValue8positionEv @ 1257 NONAME + _ZNK20QDeclarativeDomValue8toObjectEv @ 1258 NONAME + _ZNK20QDeclarativeDomValue9isBindingEv @ 1259 NONAME + _ZNK20QDeclarativeDomValue9isInvalidEv @ 1260 NONAME + _ZNK20QDeclarativeDomValue9isLiteralEv @ 1261 NONAME + _ZNK20QDeclarativeDomValue9toBindingEv @ 1262 NONAME + _ZNK20QDeclarativeDomValue9toLiteralEv @ 1263 NONAME + _ZNK20QDeclarativeProperty10isPropertyEv @ 1264 NONAME + _ZNK20QDeclarativeProperty10isWritableEv @ 1265 NONAME + _ZNK20QDeclarativeProperty12isDesignableEv @ 1266 NONAME + _ZNK20QDeclarativeProperty12isResettableEv @ 1267 NONAME + _ZNK20QDeclarativeProperty12propertyTypeEv @ 1268 NONAME + _ZNK20QDeclarativeProperty15hasNotifySignalEv @ 1269 NONAME + _ZNK20QDeclarativeProperty16isSignalPropertyEv @ 1270 NONAME + _ZNK20QDeclarativeProperty16propertyTypeNameEv @ 1271 NONAME + _ZNK20QDeclarativeProperty17needsNotifySignalEv @ 1272 NONAME + _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 1273 NONAME + _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 1274 NONAME + _ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 1275 NONAME + _ZNK20QDeclarativeProperty4nameEv @ 1276 NONAME + _ZNK20QDeclarativeProperty4readEv @ 1277 NONAME + _ZNK20QDeclarativeProperty4typeEv @ 1278 NONAME + _ZNK20QDeclarativeProperty5indexEv @ 1279 NONAME + _ZNK20QDeclarativeProperty5resetEv @ 1280 NONAME + _ZNK20QDeclarativeProperty5writeERK8QVariant @ 1281 NONAME + _ZNK20QDeclarativeProperty6methodEv @ 1282 NONAME + _ZNK20QDeclarativeProperty6objectEv @ 1283 NONAME + _ZNK20QDeclarativeProperty7isValidEv @ 1284 NONAME + _ZNK20QDeclarativeProperty8propertyEv @ 1285 NONAME + _ZNK20QDeclarativePropertyeqERKS_ @ 1286 NONAME + _ZNK20QMetaPropertyBuilder10isEditableEv @ 1287 NONAME + _ZNK20QMetaPropertyBuilder10isReadableEv @ 1288 NONAME + _ZNK20QMetaPropertyBuilder10isWritableEv @ 1289 NONAME + _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 1290 NONAME + _ZNK20QMetaPropertyBuilder12isDesignableEv @ 1291 NONAME + _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 1292 NONAME + _ZNK20QMetaPropertyBuilder12isResettableEv @ 1293 NONAME + _ZNK20QMetaPropertyBuilder12isScriptableEv @ 1294 NONAME + _ZNK20QMetaPropertyBuilder12notifySignalEv @ 1295 NONAME + _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 1296 NONAME + _ZNK20QMetaPropertyBuilder4nameEv @ 1297 NONAME + _ZNK20QMetaPropertyBuilder4typeEv @ 1298 NONAME + _ZNK20QMetaPropertyBuilder6d_funcEv @ 1299 NONAME + _ZNK20QMetaPropertyBuilder6isUserEv @ 1300 NONAME + _ZNK20QMetaPropertyBuilder8isStoredEv @ 1301 NONAME + _ZNK20QMetaPropertyBuilder9isDynamicEv @ 1302 NONAME + _ZNK21QDeclarativeComponent10metaObjectEv @ 1303 NONAME + _ZNK21QDeclarativeComponent11errorStringEv @ 1304 NONAME + _ZNK21QDeclarativeComponent15creationContextEv @ 1305 NONAME + _ZNK21QDeclarativeComponent3urlEv @ 1306 NONAME + _ZNK21QDeclarativeComponent6errorsEv @ 1307 NONAME + _ZNK21QDeclarativeComponent6isNullEv @ 1308 NONAME + _ZNK21QDeclarativeComponent6statusEv @ 1309 NONAME + _ZNK21QDeclarativeComponent7isErrorEv @ 1310 NONAME + _ZNK21QDeclarativeComponent7isReadyEv @ 1311 NONAME + _ZNK21QDeclarativeComponent8progressEv @ 1312 NONAME + _ZNK21QDeclarativeComponent9isLoadingEv @ 1313 NONAME + _ZNK21QDeclarativeDomImport3uriEv @ 1314 NONAME + _ZNK21QDeclarativeDomImport4typeEv @ 1315 NONAME + _ZNK21QDeclarativeDomImport7versionEv @ 1316 NONAME + _ZNK21QDeclarativeDomImport9qualifierEv @ 1317 NONAME + _ZNK21QDeclarativeDomObject10objectTypeEv @ 1318 NONAME + _ZNK21QDeclarativeDomObject10propertiesEv @ 1319 NONAME + _ZNK21QDeclarativeDomObject11isComponentEv @ 1320 NONAME + _ZNK21QDeclarativeDomObject11toComponentEv @ 1321 NONAME + _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 1322 NONAME + _ZNK21QDeclarativeDomObject14customTypeDataEv @ 1323 NONAME + _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 1324 NONAME + _ZNK21QDeclarativeDomObject15objectClassNameEv @ 1325 NONAME + _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 1326 NONAME + _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 1327 NONAME + _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 1328 NONAME + _ZNK21QDeclarativeDomObject3urlEv @ 1329 NONAME + _ZNK21QDeclarativeDomObject6lengthEv @ 1330 NONAME + _ZNK21QDeclarativeDomObject7isValidEv @ 1331 NONAME + _ZNK21QDeclarativeDomObject8objectIdEv @ 1332 NONAME + _ZNK21QDeclarativeDomObject8positionEv @ 1333 NONAME + _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 1334 NONAME + _ZNK21QDeclarativeListModel10metaObjectEv @ 1335 NONAME + _ZNK21QDeclarativeListModel3getEi @ 1336 NONAME + _ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 1337 NONAME + _ZNK21QDeclarativeListModel4dataEii @ 1338 NONAME + _ZNK21QDeclarativeListModel5countEv @ 1339 NONAME + _ZNK21QDeclarativeListModel5rolesEv @ 1340 NONAME + _ZNK21QDeclarativeListModel8toStringEi @ 1341 NONAME + _ZNK21QDeclarativeRectangle10metaObjectEv @ 1342 NONAME + _ZNK21QDeclarativeRectangle12boundingRectEv @ 1343 NONAME + _ZNK21QDeclarativeRectangle5colorEv @ 1344 NONAME + _ZNK21QDeclarativeRectangle6radiusEv @ 1345 NONAME + _ZNK21QDeclarativeRectangle8gradientEv @ 1346 NONAME + _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 1347 NONAME + _ZNK21QDeclarativeScaleGrid6isNullEv @ 1348 NONAME + _ZNK21QDeclarativeValueType10metaObjectEv @ 1349 NONAME + _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 1350 NONAME + _ZNK22QDeclarativeDebugQuery5stateEv @ 1351 NONAME + _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 1352 NONAME + _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 1353 NONAME + _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 1354 NONAME + _ZNK22QDeclarativeDebugWatch5stateEv @ 1355 NONAME + _ZNK22QDeclarativeDebugWatch7queryIdEv @ 1356 NONAME + _ZNK22QDeclarativeExpression10expressionEv @ 1357 NONAME + _ZNK22QDeclarativeExpression10lineNumberEv @ 1358 NONAME + _ZNK22QDeclarativeExpression10metaObjectEv @ 1359 NONAME + _ZNK22QDeclarativeExpression10sourceFileEv @ 1360 NONAME + _ZNK22QDeclarativeExpression11scopeObjectEv @ 1361 NONAME + _ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 1362 NONAME + _ZNK22QDeclarativeExpression5errorEv @ 1363 NONAME + _ZNK22QDeclarativeExpression6engineEv @ 1364 NONAME + _ZNK22QDeclarativeExpression7contextEv @ 1365 NONAME + _ZNK22QDeclarativeExpression8hasErrorEv @ 1366 NONAME + _ZNK22QDeclarativeStateGroup10metaObjectEv @ 1367 NONAME + _ZNK22QDeclarativeStateGroup5stateEv @ 1368 NONAME + _ZNK22QDeclarativeStateGroup6statesEv @ 1369 NONAME + _ZNK22QDeclarativeStateGroup9findStateERK7QString @ 1370 NONAME + _ZNK22QDeclarativeTransition10metaObjectEv @ 1371 NONAME + _ZNK22QDeclarativeTransition10reversibleEv @ 1372 NONAME + _ZNK22QDeclarativeTransition7toStateEv @ 1373 NONAME + _ZNK22QDeclarativeTransition9fromStateEv @ 1374 NONAME + _ZNK23QDeclarativeDebugClient10metaObjectEv @ 1375 NONAME + _ZNK23QDeclarativeDebugClient11isConnectedEv @ 1376 NONAME + _ZNK23QDeclarativeDebugClient4nameEv @ 1377 NONAME + _ZNK23QDeclarativeDebugClient9isEnabledEv @ 1378 NONAME + _ZNK23QDeclarativeDomDocument10rootObjectEv @ 1379 NONAME + _ZNK23QDeclarativeDomDocument6errorsEv @ 1380 NONAME + _ZNK23QDeclarativeDomDocument7importsEv @ 1381 NONAME + _ZNK23QDeclarativeDomProperty12propertyNameEv @ 1382 NONAME + _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 1383 NONAME + _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 1384 NONAME + _ZNK23QDeclarativeDomProperty5valueEv @ 1385 NONAME + _ZNK23QDeclarativeDomProperty6lengthEv @ 1386 NONAME + _ZNK23QDeclarativeDomProperty7isValidEv @ 1387 NONAME + _ZNK23QDeclarativeDomProperty8positionEv @ 1388 NONAME + _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 1389 NONAME + _ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 1390 NONAME + _ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 1391 NONAME + _ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 1392 NONAME + _ZNK23QDeclarativeItemPrivate3topEv @ 1393 NONAME + _ZNK23QDeclarativeItemPrivate4leftEv @ 1394 NONAME + _ZNK23QDeclarativeItemPrivate5rightEv @ 1395 NONAME + _ZNK23QDeclarativeItemPrivate5stateEv @ 1396 NONAME + _ZNK23QDeclarativeItemPrivate5widthEv @ 1397 NONAME + _ZNK23QDeclarativeItemPrivate6bottomEv @ 1398 NONAME + _ZNK23QDeclarativeItemPrivate6heightEv @ 1399 NONAME + _ZNK23QDeclarativeItemPrivate8baselineEv @ 1400 NONAME + _ZNK23QDeclarativePixmapReply10metaObjectEv @ 1401 NONAME ABSENT + _ZNK23QDeclarativePixmapReply11errorStringEv @ 1402 NONAME ABSENT + _ZNK23QDeclarativePixmapReply11forcedWidthEv @ 1403 NONAME ABSENT + _ZNK23QDeclarativePixmapReply12forcedHeightEv @ 1404 NONAME ABSENT + _ZNK23QDeclarativePixmapReply12implicitSizeEv @ 1405 NONAME ABSENT + _ZNK23QDeclarativePixmapReply3urlEv @ 1406 NONAME ABSENT + _ZNK23QDeclarativePixmapReply6statusEv @ 1407 NONAME ABSENT + _ZNK23QDeclarativePixmapReply9isLoadingEv @ 1408 NONAME ABSENT + _ZNK23QDeclarativePropertyMap10metaObjectEv @ 1409 NONAME + _ZNK23QDeclarativePropertyMap4keysEv @ 1410 NONAME + _ZNK23QDeclarativePropertyMap4sizeEv @ 1411 NONAME + _ZNK23QDeclarativePropertyMap5countEv @ 1412 NONAME + _ZNK23QDeclarativePropertyMap5valueERK7QString @ 1413 NONAME + _ZNK23QDeclarativePropertyMap7isEmptyEv @ 1414 NONAME + _ZNK23QDeclarativePropertyMap8containsERK7QString @ 1415 NONAME + _ZNK23QDeclarativePropertyMapixERK7QString @ 1416 NONAME + _ZNK24QDeclarativeCustomParser11resolveTypeERK10QByteArray @ 1417 NONAME + _ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 1418 NONAME + _ZNK24QDeclarativeDebugService10metaObjectEv @ 1419 NONAME + _ZNK24QDeclarativeDebugService4nameEv @ 1420 NONAME + _ZNK24QDeclarativeDebugService9isEnabledEv @ 1421 NONAME + _ZNK24QDeclarativeDomComponent13componentRootEv @ 1422 NONAME + _ZNK24QDeclarativeScriptString11scopeObjectEv @ 1423 NONAME + _ZNK24QDeclarativeScriptString6scriptEv @ 1424 NONAME + _ZNK24QDeclarativeScriptString7contextEv @ 1425 NONAME + _ZNK25QDeclarativeListReference15listElementTypeEv @ 1426 NONAME + _ZNK25QDeclarativeListReference2atEi @ 1427 NONAME + _ZNK25QDeclarativeListReference5canAtEv @ 1428 NONAME + _ZNK25QDeclarativeListReference5clearEv @ 1429 NONAME + _ZNK25QDeclarativeListReference5countEv @ 1430 NONAME + _ZNK25QDeclarativeListReference6appendEP7QObject @ 1431 NONAME + _ZNK25QDeclarativeListReference6objectEv @ 1432 NONAME + _ZNK25QDeclarativeListReference7isValidEv @ 1433 NONAME + _ZNK25QDeclarativeListReference8canClearEv @ 1434 NONAME + _ZNK25QDeclarativeListReference8canCountEv @ 1435 NONAME + _ZNK25QDeclarativeListReference9canAppendEv @ 1436 NONAME + _ZNK26QDeclarativeOpenMetaObject4nameEi @ 1437 NONAME + _ZNK26QDeclarativeOpenMetaObject4typeEv @ 1438 NONAME + _ZNK26QDeclarativeOpenMetaObject5countEv @ 1439 NONAME + _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 1440 NONAME + _ZNK26QDeclarativeOpenMetaObject5valueEi @ 1441 NONAME + _ZNK26QDeclarativeOpenMetaObject6objectEv @ 1442 NONAME + _ZNK26QDeclarativeOpenMetaObject6parentEv @ 1443 NONAME + _ZNK26QDeclarativeStateOperation10metaObjectEv @ 1444 NONAME + _ZNK27QDeclarativeAbstractBinding10expressionEv @ 1445 NONAME + _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 1446 NONAME + _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 1447 NONAME + _ZNK27QDeclarativeDomValueBinding7bindingEv @ 1448 NONAME + _ZNK27QDeclarativeDomValueLiteral7literalEv @ 1449 NONAME + _ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 1450 NONAME + _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 1451 NONAME + _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 1452 NONAME + _ZNK27QDeclarativeGridScaledImage7isValidEv @ 1453 NONAME + _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 1454 NONAME + _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 1455 NONAME + _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 1456 NONAME + _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 1457 NONAME + _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 1458 NONAME + _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 1459 NONAME + _ZNK28QDeclarativeCustomParserNode10propertiesEv @ 1460 NONAME + _ZNK28QDeclarativeCustomParserNode4nameEv @ 1461 NONAME + _ZNK28QDeclarativeCustomParserNode8locationEv @ 1462 NONAME + _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 1463 NONAME + _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 1464 NONAME + _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 1465 NONAME + _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 1466 NONAME + _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 1467 NONAME + _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 1468 NONAME + _ZNK30QDeclarativeDebugFileReference3urlEv @ 1469 NONAME + _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 1470 NONAME + _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 1471 NONAME + _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 1472 NONAME + _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 1473 NONAME + _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 1474 NONAME + _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 1475 NONAME + _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 1476 NONAME + _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 1477 NONAME + _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 1478 NONAME + _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 1479 NONAME + _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 1480 NONAME + _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 1481 NONAME + _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 1482 NONAME + _ZNK31QDeclarativeDomValueValueSource6objectEv @ 1483 NONAME + _ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 1484 NONAME + _ZNK32QDeclarativeCustomParserProperty4nameEv @ 1485 NONAME + _ZNK32QDeclarativeCustomParserProperty6isListEv @ 1486 NONAME + _ZNK32QDeclarativeCustomParserProperty8locationEv @ 1487 NONAME + _ZNK32QDeclarativeDebugEngineReference4nameEv @ 1488 NONAME + _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 1489 NONAME + _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 1490 NONAME + _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 1491 NONAME + _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 1492 NONAME + _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 1493 NONAME + _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 1494 NONAME + _ZNK32QDeclarativeDebugObjectReference4nameEv @ 1495 NONAME + _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 1496 NONAME + _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 1497 NONAME + _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 1498 NONAME + _ZNK32QDeclarativeDebugObjectReference8idStringEv @ 1499 NONAME + _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 1500 NONAME + _ZNK33QDeclarativeDebugContextReference4nameEv @ 1501 NONAME + _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 1502 NONAME + _ZNK33QDeclarativeDebugContextReference7objectsEv @ 1503 NONAME + _ZNK33QDeclarativeDebugContextReference8contextsEv @ 1504 NONAME + _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 1505 NONAME + _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 1506 NONAME + _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 1507 NONAME + _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 1508 NONAME + _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 1509 NONAME + _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 1510 NONAME + _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 1511 NONAME + _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 1512 NONAME + _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 1513 NONAME + _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 1514 NONAME + _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 1515 NONAME + _ZNK7QPacket7isEmptyEv @ 1516 NONAME + _ZTI15QDeclarativePen @ 1517 NONAME + _ZTI15QPacketAutoSend @ 1518 NONAME + _ZTI15QPacketProtocol @ 1519 NONAME + _ZTI16QDeclarativeItem @ 1520 NONAME + _ZTI16QDeclarativeText @ 1521 NONAME + _ZTI16QDeclarativeView @ 1522 NONAME + _ZTI17QDeclarativeState @ 1523 NONAME + _ZTI18QDeclarativeEngine @ 1524 NONAME + _ZTI18QMetaObjectBuilder @ 1525 NONAME + _ZTI19QDeclarativeAnchors @ 1526 NONAME + _ZTI19QDeclarativeBinding @ 1527 NONAME + _ZTI19QDeclarativeContext @ 1528 NONAME + _ZTI19QListModelInterface @ 1529 NONAME + _ZTI20QDeclarativeBehavior @ 1530 NONAME + _ZTI21QDeclarativeComponent @ 1531 NONAME + _ZTI21QDeclarativeListModel @ 1532 NONAME + _ZTI21QDeclarativeRectangle @ 1533 NONAME + _ZTI21QDeclarativeScaleGrid @ 1534 NONAME + _ZTI21QDeclarativeValueType @ 1535 NONAME + _ZTI22QDeclarativeDebugQuery @ 1536 NONAME + _ZTI22QDeclarativeDebugWatch @ 1537 NONAME + _ZTI22QDeclarativeExpression @ 1538 NONAME + _ZTI22QDeclarativeStateGroup @ 1539 NONAME + _ZTI22QDeclarativeTransition @ 1540 NONAME + _ZTI23QDeclarativeDebugClient @ 1541 NONAME + _ZTI23QDeclarativeEngineDebug @ 1542 NONAME + _ZTI23QDeclarativeItemPrivate @ 1543 NONAME + _ZTI23QDeclarativePixmapReply @ 1544 NONAME ABSENT + _ZTI23QDeclarativePropertyMap @ 1545 NONAME + _ZTI24QDeclarativeCustomParser @ 1546 NONAME + _ZTI24QDeclarativeDebugService @ 1547 NONAME + _ZTI24QDeclarativeParserStatus @ 1548 NONAME + _ZTI25QDeclarativeImageProvider @ 1549 NONAME + _ZTI26QDeclarativeDebuggerStatus @ 1550 NONAME + _ZTI26QDeclarativeOpenMetaObject @ 1551 NONAME + _ZTI26QDeclarativeStateOperation @ 1552 NONAME + _ZTI27QDeclarativeAbstractBinding @ 1553 NONAME + _ZTI27QDeclarativeDebugConnection @ 1554 NONAME + _ZTI27QDeclarativeExtensionPlugin @ 1555 NONAME + _ZTI28QDeclarativeDebugObjectQuery @ 1556 NONAME + _ZTI29QDeclarativeDebugEnginesQuery @ 1557 NONAME + _ZTI30QDeclarativeDebugPropertyWatch @ 1558 NONAME + _ZTI30QDeclarativeExtensionInterface @ 1559 NONAME + _ZTI30QDeclarativeOpenMetaObjectType @ 1560 NONAME + _ZTI31QDeclarativePropertyValueSource @ 1561 NONAME + _ZTI32QDeclarativeDebugExpressionQuery @ 1562 NONAME + _ZTI33QDeclarativeDebugRootContextQuery @ 1563 NONAME + _ZTI36QDeclarativePropertyValueInterceptor @ 1564 NONAME + _ZTI38QDeclarativeDebugObjectExpressionWatch @ 1565 NONAME + _ZTI39QDeclarativeNetworkAccessManagerFactory @ 1566 NONAME + _ZTI7QPacket @ 1567 NONAME + _ZTV15QDeclarativePen @ 1568 NONAME + _ZTV15QPacketAutoSend @ 1569 NONAME + _ZTV15QPacketProtocol @ 1570 NONAME + _ZTV16QDeclarativeItem @ 1571 NONAME + _ZTV16QDeclarativeText @ 1572 NONAME + _ZTV16QDeclarativeView @ 1573 NONAME + _ZTV17QDeclarativeState @ 1574 NONAME + _ZTV18QDeclarativeEngine @ 1575 NONAME + _ZTV18QMetaObjectBuilder @ 1576 NONAME + _ZTV19QDeclarativeAnchors @ 1577 NONAME + _ZTV19QDeclarativeBinding @ 1578 NONAME + _ZTV19QDeclarativeContext @ 1579 NONAME + _ZTV19QListModelInterface @ 1580 NONAME + _ZTV20QDeclarativeBehavior @ 1581 NONAME + _ZTV21QDeclarativeComponent @ 1582 NONAME + _ZTV21QDeclarativeListModel @ 1583 NONAME + _ZTV21QDeclarativeRectangle @ 1584 NONAME + _ZTV21QDeclarativeScaleGrid @ 1585 NONAME + _ZTV21QDeclarativeValueType @ 1586 NONAME + _ZTV22QDeclarativeDebugQuery @ 1587 NONAME + _ZTV22QDeclarativeDebugWatch @ 1588 NONAME + _ZTV22QDeclarativeExpression @ 1589 NONAME + _ZTV22QDeclarativeStateGroup @ 1590 NONAME + _ZTV22QDeclarativeTransition @ 1591 NONAME + _ZTV23QDeclarativeDebugClient @ 1592 NONAME + _ZTV23QDeclarativeEngineDebug @ 1593 NONAME + _ZTV23QDeclarativeItemPrivate @ 1594 NONAME + _ZTV23QDeclarativePixmapReply @ 1595 NONAME ABSENT + _ZTV23QDeclarativePropertyMap @ 1596 NONAME + _ZTV24QDeclarativeCustomParser @ 1597 NONAME + _ZTV24QDeclarativeDebugService @ 1598 NONAME + _ZTV24QDeclarativeParserStatus @ 1599 NONAME + _ZTV25QDeclarativeImageProvider @ 1600 NONAME + _ZTV26QDeclarativeDebuggerStatus @ 1601 NONAME + _ZTV26QDeclarativeOpenMetaObject @ 1602 NONAME + _ZTV26QDeclarativeStateOperation @ 1603 NONAME + _ZTV27QDeclarativeAbstractBinding @ 1604 NONAME + _ZTV27QDeclarativeDebugConnection @ 1605 NONAME + _ZTV27QDeclarativeExtensionPlugin @ 1606 NONAME + _ZTV28QDeclarativeDebugObjectQuery @ 1607 NONAME + _ZTV29QDeclarativeDebugEnginesQuery @ 1608 NONAME + _ZTV30QDeclarativeDebugPropertyWatch @ 1609 NONAME + _ZTV30QDeclarativeOpenMetaObjectType @ 1610 NONAME + _ZTV31QDeclarativePropertyValueSource @ 1611 NONAME + _ZTV32QDeclarativeDebugExpressionQuery @ 1612 NONAME + _ZTV33QDeclarativeDebugRootContextQuery @ 1613 NONAME + _ZTV36QDeclarativePropertyValueInterceptor @ 1614 NONAME + _ZTV38QDeclarativeDebugObjectExpressionWatch @ 1615 NONAME + _ZTV39QDeclarativeNetworkAccessManagerFactory @ 1616 NONAME + _ZTV7QPacket @ 1617 NONAME + _ZThn16_N16QDeclarativeItem10classBeginEv @ 1618 NONAME + _ZThn16_N16QDeclarativeItem17componentCompleteEv @ 1619 NONAME + _ZThn16_N16QDeclarativeItemD0Ev @ 1620 NONAME + _ZThn16_N16QDeclarativeItemD1Ev @ 1621 NONAME + _ZThn16_N16QDeclarativeText17componentCompleteEv @ 1622 NONAME + _ZThn16_N16QDeclarativeTextD0Ev @ 1623 NONAME + _ZThn16_N16QDeclarativeTextD1Ev @ 1624 NONAME + _ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1625 NONAME + _ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 1626 NONAME + _ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 1627 NONAME + _ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 1628 NONAME + _ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 1629 NONAME + _ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1630 NONAME + _ZThn8_N16QDeclarativeItemD0Ev @ 1631 NONAME + _ZThn8_N16QDeclarativeItemD1Ev @ 1632 NONAME + _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 1633 NONAME + _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1634 NONAME + _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1635 NONAME + _ZThn8_N16QDeclarativeTextD0Ev @ 1636 NONAME + _ZThn8_N16QDeclarativeTextD1Ev @ 1637 NONAME + _ZThn8_N16QDeclarativeViewD0Ev @ 1638 NONAME + _ZThn8_N16QDeclarativeViewD1Ev @ 1639 NONAME + _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1640 NONAME + _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 1641 NONAME + _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1642 NONAME + _ZThn8_N19QDeclarativeBindingD0Ev @ 1643 NONAME + _ZThn8_N19QDeclarativeBindingD1Ev @ 1644 NONAME + _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 1645 NONAME + _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 1646 NONAME + _ZThn8_N20QDeclarativeBehaviorD0Ev @ 1647 NONAME + _ZThn8_N20QDeclarativeBehaviorD1Ev @ 1648 NONAME + _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1649 NONAME + _ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 1650 NONAME + _ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 1651 NONAME + _ZThn8_N22QDeclarativeStateGroupD0Ev @ 1652 NONAME + _ZThn8_N22QDeclarativeStateGroupD1Ev @ 1653 NONAME + _ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1654 NONAME + _ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 1655 NONAME + _ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 1656 NONAME + _ZThn8_NK16QDeclarativeItem12boundingRectEv @ 1657 NONAME + _ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1658 NONAME + _ZThn8_NK16QDeclarativeText12boundingRectEv @ 1659 NONAME + _ZThn8_NK19QDeclarativeBinding10expressionEv @ 1660 NONAME + _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 1661 NONAME + _Zls6QDebugP16QDeclarativeItem @ 1662 NONAME + _Zls6QDebugRK17QDeclarativeError @ 1663 NONAME + _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1664 NONAME + _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1665 NONAME + _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1666 NONAME + _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1667 NONAME + _ZN18QDeclarativePixmap15connectFinishedEP7QObjectPKc @ 1668 NONAME + _ZN18QDeclarativePixmap15connectFinishedEP7QObjecti @ 1669 NONAME + _ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjectPKc @ 1670 NONAME + _ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjecti @ 1671 NONAME + _ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrl @ 1672 NONAME + _ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSize @ 1673 NONAME + _ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSizeb @ 1674 NONAME + _ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlb @ 1675 NONAME + _ZN18QDeclarativePixmap5clearEP7QObject @ 1676 NONAME + _ZN18QDeclarativePixmap5clearEv @ 1677 NONAME + _ZN18QDeclarativePixmap9setPixmapERK7QPixmap @ 1678 NONAME + _ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrl @ 1679 NONAME + _ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrlRK5QSize @ 1680 NONAME + _ZN18QDeclarativePixmapC1Ev @ 1681 NONAME + _ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrl @ 1682 NONAME + _ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrlRK5QSize @ 1683 NONAME + _ZN18QDeclarativePixmapC2Ev @ 1684 NONAME + _ZN18QDeclarativePixmapD1Ev @ 1685 NONAME + _ZN18QDeclarativePixmapD2Ev @ 1686 NONAME + _ZNK18QDeclarativePixmap11requestSizeEv @ 1687 NONAME + _ZNK18QDeclarativePixmap12implicitSizeEv @ 1688 NONAME + _ZNK18QDeclarativePixmap3urlEv @ 1689 NONAME + _ZNK18QDeclarativePixmap4rectEv @ 1690 NONAME + _ZNK18QDeclarativePixmap5errorEv @ 1691 NONAME + _ZNK18QDeclarativePixmap5widthEv @ 1692 NONAME + _ZNK18QDeclarativePixmap6heightEv @ 1693 NONAME + _ZNK18QDeclarativePixmap6isNullEv @ 1694 NONAME + _ZNK18QDeclarativePixmap6pixmapEv @ 1695 NONAME + _ZNK18QDeclarativePixmap6statusEv @ 1696 NONAME + _ZNK18QDeclarativePixmap7isErrorEv @ 1697 NONAME + _ZNK18QDeclarativePixmap7isReadyEv @ 1698 NONAME + _ZNK18QDeclarativePixmap9isLoadingEv @ 1699 NONAME + _ZN20QDeclarativeBehavior23qtAnimationStateChangedEN18QAbstractAnimation5StateES1_ @ 1700 NONAME + _ZN23QDeclarativeEngineDebug13setMethodBodyEiRK7QStringS2_ @ 1701 NONAME + _ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantb @ 1702 NONAME + _ZN25QDeclarativeImageProvider12requestImageERK7QStringP5QSizeRKS3_ @ 1703 NONAME + _ZN25QDeclarativeImageProvider13requestPixmapERK7QStringP5QSizeRKS3_ @ 1704 NONAME + _ZN25QDeclarativeImageProviderC1ENS_9ImageTypeE @ 1705 NONAME + _ZN25QDeclarativeImageProviderC2ENS_9ImageTypeE @ 1706 NONAME + _ZNK25QDeclarativeImageProvider9imageTypeEv @ 1707 NONAME + _ZN23QDeclarativeEngineDebug21resetBindingForObjectEiRK7QString @ 1708 NONAME diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index e7d865b..018cba2 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -5957,7 +5957,7 @@ EXPORTS _ZN7QDialog16staticMetaObjectE @ 5956 NONAME DATA 16 _ZN7QDialog18setSizeGripEnabledEb @ 5957 NONAME _ZN7QDialog19getStaticMetaObjectEv @ 5958 NONAME - _ZN7QDialog19s60AdjustedPositionEv @ 5959 NONAME + _ZN7QDialog23symbianAdjustedPositionEv @ 5959 NONAME _ZN7QDialog4doneEi @ 5960 NONAME _ZN7QDialog4execEv @ 5961 NONAME _ZN7QDialog4openEv @ 5962 NONAME @@ -12020,4 +12020,68 @@ EXPORTS _ZN10QImageData14convertInPlaceEN6QImage6FormatE6QFlagsIN2Qt19ImageConversionFlagEE @ 12019 NONAME _ZN17QRasterPixmapData20createPixmapForImageER6QImage6QFlagsIN2Qt19ImageConversionFlagEEb @ 12020 NONAME _ZN17QRasterPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12021 NONAME + _ZN15QGraphicsSystem16createPixmapDataEP11QPixmapData @ 12022 NONAME + _ZN17QRasterPixmapData4copyEPK11QPixmapDataRK5QRect @ 12023 NONAME + _ZNK11QPixmapData7toImageERK5QRect @ 12024 NONAME + _ZNK17QRasterPixmapData7toImageERK5QRect @ 12025 NONAME + _ZTV15QGraphicsSystem @ 12026 NONAME + _ZN11QPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12027 NONAME + _ZN17QRasterPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12028 NONAME + _ZN18QRuntimePixmapData12readBackInfoEv @ 12029 NONAME + _ZN18QRuntimePixmapData12toNativeTypeEN11QPixmapData10NativeTypeE @ 12030 NONAME + _ZN18QRuntimePixmapData14fromNativeTypeEPvN11QPixmapData10NativeTypeE @ 12031 NONAME + _ZN18QRuntimePixmapData15setAlphaChannelERK7QPixmap @ 12032 NONAME + _ZN18QRuntimePixmapData4copyEPK11QPixmapDataRK5QRect @ 12033 NONAME + _ZN18QRuntimePixmapData4fillERK6QColor @ 12034 NONAME + _ZN18QRuntimePixmapData6bufferEv @ 12035 NONAME + _ZN18QRuntimePixmapData6resizeEii @ 12036 NONAME + _ZN18QRuntimePixmapData6scrollEiiRK5QRect @ 12037 NONAME + _ZN18QRuntimePixmapData7setMaskERK7QBitmap @ 12038 NONAME + _ZN18QRuntimePixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12039 NONAME + _ZN18QRuntimePixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12040 NONAME + _ZN18QRuntimePixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 12041 NONAME + _ZN18QRuntimePixmapDataC1EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 12042 NONAME + _ZN18QRuntimePixmapDataC2EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 12043 NONAME + _ZN18QRuntimePixmapDataD0Ev @ 12044 NONAME + _ZN18QRuntimePixmapDataD1Ev @ 12045 NONAME + _ZN18QRuntimePixmapDataD2Ev @ 12046 NONAME + _ZN7QPixmap15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12047 NONAME + _ZNK18QRuntimePixmapData11memoryUsageEv @ 12048 NONAME + _ZNK18QRuntimePixmapData11paintEngineEv @ 12049 NONAME + _ZNK18QRuntimePixmapData11runtimeDataEv @ 12050 NONAME + _ZNK18QRuntimePixmapData11transformedERK10QTransformN2Qt18TransformationModeE @ 12051 NONAME + _ZNK18QRuntimePixmapData12alphaChannelEv @ 12052 NONAME + _ZNK18QRuntimePixmapData15hasAlphaChannelEv @ 12053 NONAME + _ZNK18QRuntimePixmapData26createCompatiblePixmapDataEv @ 12054 NONAME + _ZNK18QRuntimePixmapData4maskEv @ 12055 NONAME + _ZNK18QRuntimePixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 12056 NONAME + _ZNK18QRuntimePixmapData7toImageEv @ 12057 NONAME + _ZTI18QRuntimePixmapData @ 12058 NONAME + _ZTV18QRuntimePixmapData @ 12059 NONAME + _ZN11QEglContext21swapBuffersRegion2NOKEiPK7QRegion @ 12060 NONAME + _ZN4QEgl24eglSwapBuffersRegion2NOKEiiiPKi @ 12061 NONAME + _ZN13QS60MainAppUi11HandleErrorEiRK14SExtendedErrorR6TDes16S4_ @ 12062 NONAME + _ZN13QS60MainAppUi13PrepareToExitEv @ 12063 NONAME + _ZN13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 12064 NONAME + _ZN13QS60MainAppUi15ProcessCommandLEi @ 12065 NONAME + _ZN13QS60MainAppUi18HandleSystemEventLERK8TWsEvent @ 12066 NONAME + _ZN13QS60MainAppUi19Reserved_MtsmObjectEv @ 12067 NONAME + _ZN13QS60MainAppUi21Reserved_MtsmPositionEv @ 12068 NONAME + _ZN13QS60MainAppUi22HandleForegroundEventLEi @ 12069 NONAME + _ZN13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 12070 NONAME + _ZN13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 12071 NONAME + _ZN13QS60MainAppUi26HandleScreenDeviceChangedLEv @ 12072 NONAME + _ZN13QS60MainAppUi31HandleApplicationSpecificEventLEiRK8TWsEvent @ 12073 NONAME + _ZN13QS60MainAppUi4ExitEv @ 12074 NONAME + _ZN13QS60MainAppUi9SetFadedLEi @ 12075 NONAME + _ZN16QS60MainDocument9OpenFileLERP10CFileStoreR5RFile @ 12076 NONAME + _ZN16QS60MainDocument9OpenFileLEiRK7TDesC16R3RFs @ 12077 NONAME + _ZN19QS60MainApplication13NewAppServerLERP13CApaAppServer @ 12078 NONAME + _ZN19QS60MainApplication16PreDocConstructLEv @ 12079 NONAME + _ZNK13QS60MainAppUi15ApplicationRectEv @ 12080 NONAME + _ZNK19QS60MainApplication13OpenIniFileLCER3RFs @ 12081 NONAME + _ZThn100_N13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 12082 NONAME + _ZThn24_N13QS60MainAppUi15ProcessCommandLEi @ 12083 NONAME + _ZThn40_N13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 12084 NONAME + _ZThn92_N13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 12085 NONAME diff --git a/src/src.pro b/src/src.pro index 0573c2d..9704716 100644 --- a/src/src.pro +++ b/src/src.pro @@ -187,4 +187,15 @@ debug.depends = $$EXTRA_DEBUG_TARGETS release.depends = $$EXTRA_RELEASE_TARGETS QMAKE_EXTRA_TARGETS += debug release +# This gives us a top-level runonphone target, which installs Qt and optionally QtWebKit. +contains(CONFIG, run_on_phone) { + src_runonphone_target.target = runonphone + src_runonphone_target.commands = $(MAKE) -C $$QT_BUILD_TREE/src/s60installs runonphone + src_runonphone_target.depends = first + contains(QT_CONFIG, webkit) { + src_runonphone_target.commands += && $(MAKE) -C $$QT_BUILD_TREE/src/3rdparty/webkit/WebCore runonphone + } + QMAKE_EXTRA_TARGETS += src_runonphone_target +} + SUBDIRS += $$SRC_SUBDIRS diff --git a/src/svg/svg.pro b/src/svg/svg.pro index de4bba6..7b5251a 100644 --- a/src/svg/svg.pro +++ b/src/svg/svg.pro @@ -42,11 +42,4 @@ INCLUDEPATH += ../3rdparty/harfbuzz/src symbian:TARGET.UID3=0x2001B2E2 -#zlib support -contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/zlib -} else:!contains(QT_CONFIG, no-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} +include(../3rdparty/zlib_dependency.pri) diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 149291a..a74c9c1 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -95,25 +95,8 @@ macx: { LIBS += -framework CoreServices } -contains(QT_CONFIG, zlib)|cross_compile { - INCLUDEPATH += ../../3rdparty/zlib - SOURCES+= \ - ../3rdparty/zlib/adler32.c \ - ../3rdparty/zlib/compress.c \ - ../3rdparty/zlib/crc32.c \ - ../3rdparty/zlib/deflate.c \ - ../3rdparty/zlib/gzio.c \ - ../3rdparty/zlib/inffast.c \ - ../3rdparty/zlib/inflate.c \ - ../3rdparty/zlib/inftrees.c \ - ../3rdparty/zlib/trees.c \ - ../3rdparty/zlib/uncompr.c \ - ../3rdparty/zlib/zutil.c -} else:!contains(QT_CONFIG, no-zlib) { - symbian:LIBS_PRIVATE += -llibz - else:if(unix|win32-g++*):LIBS_PRIVATE += -lz - else:LIBS += zdll.lib -} +if(contains(QT_CONFIG, zlib)|cross_compile):include(../../3rdparty/zlib.pri) +else:include(../../3rdparty/zlib_dependency.pri) lib.CONFIG = dummy_install INSTALLS += lib diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro index 0c9b214..8c2710c 100644 --- a/src/winmain/winmain.pro +++ b/src/winmain/winmain.pro @@ -12,7 +12,6 @@ win32 { win32-borland:DEFINES += QT_NEEDS_QMAIN SOURCES = qtmain_win.cpp CONFIG += png - CONFIG -= jpeg INCLUDEPATH += tmp $$QMAKE_INCDIR_QT/QtCore } diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index 3d2dbf0..a7fb3b8 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -52,8 +52,7 @@ SUBDIRS += \ qdeclarativeqt \ qdeclarativerepeater \ qdeclarativesmoothedanimation \ - qdeclarativesmoothedfollow\ - qdeclarativespringfollow \ + qdeclarativespringanimation \ qdeclarativesqldatabase \ qdeclarativestates \ qdeclarativestyledtext \ diff --git a/tests/auto/declarative/qdeclarativeanimations/data/runningTrueBug.qml b/tests/auto/declarative/qdeclarativeanimations/data/runningTrueBug.qml new file mode 100644 index 0000000..2c5207e --- /dev/null +++ b/tests/auto/declarative/qdeclarativeanimations/data/runningTrueBug.qml @@ -0,0 +1,30 @@ +import Qt 4.7 +Rectangle { + color: "skyblue" + width: 500 + height: 200 + Rectangle { + objectName: "cloud" + color: "white" + y: 50 + width: 100 + height: 100 + + SequentialAnimation on x { + loops: Animation.Infinite + running: true + NumberAnimation { + id: firstAnimation + from: 0 + to: 500 + duration: 5000 + } + NumberAnimation { + id: secondAnimation + from: -100 + to: 0 + duration: 1000 + } + } + } +} diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp index 5cf4c23..3e80c2c 100644 --- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp +++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp @@ -81,6 +81,7 @@ private slots: void dontStart(); void easingProperties(); void rotation(); + void runningTrueBug(); }; #define QTIMED_COMPARE(lhs, rhs) do { \ @@ -309,7 +310,7 @@ void tst_qdeclarativeanimations::badTypes() c.create(); QVERIFY(c.errors().count() == 1); - QCOMPARE(c.errors().at(0).description(), QLatin1String("Invalid property assignment: double expected")); + QCOMPARE(c.errors().at(0).description(), QLatin1String("Invalid property assignment: number expected")); } //make sure we get a compiler error @@ -733,6 +734,20 @@ void tst_qdeclarativeanimations::rotation() QTIMED_COMPARE(rr->rotation() + rr2->rotation() + rr3->rotation() + rr4->rotation(), qreal(370*4)); } +void tst_qdeclarativeanimations::runningTrueBug() +{ + //ensure we start correctly when "running: true" is explicitly set + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/runningTrueBug.qml")); + QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create()); + QVERIFY(rect); + + QDeclarativeRectangle *cloud = rect->findChild<QDeclarativeRectangle*>("cloud"); + QVERIFY(cloud); + QTest::qWait(1000); + QVERIFY(cloud->x() > qreal(0)); +} + QTEST_MAIN(tst_qdeclarativeanimations) #include "tst_qdeclarativeanimations.moc" diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/runningTrue.qml b/tests/auto/declarative/qdeclarativebehaviors/data/runningTrue.qml new file mode 100644 index 0000000..d439875 --- /dev/null +++ b/tests/auto/declarative/qdeclarativebehaviors/data/runningTrue.qml @@ -0,0 +1,20 @@ +import Qt 4.7 + +Rectangle { + id: root + width:200; height:200 + + property real myValue: 0 + + Rectangle { + anchors.centerIn: parent + width: 100 + height: 100 + color: "green" + smooth: true + rotation: myValue + Behavior on rotation { + RotationAnimation { id: rotAnim; objectName: "rotAnim"; direction: RotationAnimation.Shortest } + } + } +} diff --git a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp index 70739fb..5c2c145 100644 --- a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp +++ b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp @@ -39,6 +39,7 @@ ** ****************************************************************************/ #include <qtest.h> +#include <qsignalspy.h> #include <QtDeclarative/qdeclarativeengine.h> #include <QtDeclarative/qdeclarativecomponent.h> #include <QtDeclarative/qdeclarativeview.h> @@ -78,6 +79,7 @@ private slots: void dontStart(); void startup(); void groupedPropertyCrash(); + void runningTrue(); }; void tst_qdeclarativebehaviors::simpleBehavior() @@ -366,6 +368,22 @@ void tst_qdeclarativebehaviors::groupedPropertyCrash() QVERIFY(rect); //don't crash } +//QTBUG-5491 +void tst_qdeclarativebehaviors::runningTrue() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/runningTrue.qml")); + QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create()); + QVERIFY(rect); + + QDeclarativeAbstractAnimation *animation = rect->findChild<QDeclarativeAbstractAnimation*>("rotAnim"); + QVERIFY(animation); + + QSignalSpy runningSpy(animation, SIGNAL(runningChanged(bool))); + rect->setProperty("myValue", 180); + QTRY_VERIFY(runningSpy.count() > 0); +} + QTEST_MAIN(tst_qdeclarativebehaviors) #include "tst_qdeclarativebehaviors.moc" diff --git a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp index e2d3ee4..4a945f3 100644 --- a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp +++ b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp @@ -71,7 +71,7 @@ class tst_QDeclarativeDebug : public QObject Q_OBJECT private: - QDeclarativeDebugObjectReference findRootObject(); + QDeclarativeDebugObjectReference findRootObject(int context = 0); QDeclarativeDebugPropertyReference findProperty(const QList<QDeclarativeDebugPropertyReference> &props, const QString &name) const; void waitForQuery(QDeclarativeDebugQuery *query); @@ -111,9 +111,11 @@ private slots: void tst_QDeclarativeDebugObjectReference(); void tst_QDeclarativeDebugContextReference(); void tst_QDeclarativeDebugPropertyReference(); + + void setMethodBody(); }; -QDeclarativeDebugObjectReference tst_QDeclarativeDebug::findRootObject() +QDeclarativeDebugObjectReference tst_QDeclarativeDebug::findRootObject(int context) { QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); waitForQuery(q_engines); @@ -125,7 +127,7 @@ QDeclarativeDebugObjectReference tst_QDeclarativeDebug::findRootObject() if (q_context->rootContext().objects().count() == 0) return QDeclarativeDebugObjectReference(); - QDeclarativeDebugObjectQuery *q_obj = m_dbg->queryObject(q_context->rootContext().objects()[0], this); + QDeclarativeDebugObjectQuery *q_obj = m_dbg->queryObject(q_context->rootContext().objects()[context], this); waitForQuery(q_obj); QDeclarativeDebugObjectReference result = q_obj->object(); @@ -290,10 +292,19 @@ void tst_QDeclarativeDebug::initTestCase() "onEntered: { console.log('hello') }" "}" "}"; + // add second component to test multiple root contexts qml << "import Qt 4.7\n" "Item {}"; + // and a third to test methods + qml << "import Qt 4.7\n" + "Item {" + "function myMethodNoArgs() { return 3; }\n" + "function myMethod(a) { return a + 9; }\n" + "function myMethodIndirect() { myMethod(3); }\n" + "}"; + for (int i=0; i<qml.count(); i++) { QDeclarativeComponent component(m_engine); component.setData(qml[i], QUrl::fromLocalFile("")); @@ -322,6 +333,43 @@ void tst_QDeclarativeDebug::cleanupTestCase() qDeleteAll(m_components); } +void tst_QDeclarativeDebug::setMethodBody() +{ + QDeclarativeDebugObjectReference obj = findRootObject(2); + + QObject *root = m_components.at(2); + // Without args + { + QVariant rv; + QVERIFY(QMetaObject::invokeMethod(root, "myMethodNoArgs", Qt::DirectConnection, + Q_RETURN_ARG(QVariant, rv))); + QVERIFY(rv == QVariant(qreal(3))); + + + QVERIFY(m_dbg->setMethodBody(obj.debugId(), "myMethodNoArgs", "return 7")); + QTest::qWait(100); + + QVERIFY(QMetaObject::invokeMethod(root, "myMethodNoArgs", Qt::DirectConnection, + Q_RETURN_ARG(QVariant, rv))); + QVERIFY(rv == QVariant(qreal(7))); + } + + // With args + { + QVariant rv; + QVERIFY(QMetaObject::invokeMethod(root, "myMethod", Qt::DirectConnection, + Q_RETURN_ARG(QVariant, rv), Q_ARG(QVariant, QVariant(19)))); + QVERIFY(rv == QVariant(qreal(28))); + + QVERIFY(m_dbg->setMethodBody(obj.debugId(), "myMethod", "return a + 7")); + QTest::qWait(100); + + QVERIFY(QMetaObject::invokeMethod(root, "myMethod", Qt::DirectConnection, + Q_RETURN_ARG(QVariant, rv), Q_ARG(QVariant, QVariant(19)))); + QVERIFY(rv == QVariant(qreal(26))); + } +} + void tst_QDeclarativeDebug::watch_property() { QDeclarativeDebugObjectReference obj = findRootObject(); @@ -581,7 +629,7 @@ void tst_QDeclarativeDebug::queryRootContexts() QCOMPARE(context.debugId(), QDeclarativeDebugService::idForObject(actualContext)); QCOMPARE(context.name(), actualContext->objectName()); - QCOMPARE(context.objects().count(), 2); // 2 qml component objects created for context in main() + QCOMPARE(context.objects().count(), 3); // 3 qml component objects created for context in main() // root context query sends only root object data - it doesn't fill in // the children or property info @@ -694,7 +742,7 @@ void tst_QDeclarativeDebug::queryExpressionResult() delete q_expr; q_expr = m_dbg->queryExpressionResult(objectId, expr, this); - QCOMPARE(q_expr->expression(), expr); + QCOMPARE(q_expr->expression().toString(), expr); waitForQuery(q_expr); QCOMPARE(q_expr->result(), result); diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp index 13960b1..5028ba1 100644 --- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp +++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp @@ -279,7 +279,7 @@ void tst_qdeclarativedom::loadComposite() void tst_qdeclarativedom::testValueSource() { QByteArray qml = "import Qt 4.7\n" - "Rectangle { SpringFollow on height { spring: 1.4; damping: .15; to: Math.min(Math.max(-130, value*2.2 - 130), 133); }}"; + "Rectangle { SpringAnimation on height { spring: 1.4; damping: .15; to: Math.min(Math.max(-130, value*2.2 - 130), 133); }}"; QDeclarativeEngine freshEngine; QDeclarativeDomDocument document; @@ -295,7 +295,7 @@ void tst_qdeclarativedom::testValueSource() QDeclarativeDomObject valueSourceObject = valueSource.object(); QVERIFY(valueSourceObject.isValid()); - QVERIFY(valueSourceObject.objectType() == "Qt/SpringFollow"); + QVERIFY(valueSourceObject.objectType() == "Qt/SpringAnimation"); const QDeclarativeDomValue springValue = valueSourceObject.property("spring").value(); QVERIFY(!springValue.isInvalid()); diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.2.qml index db7f2b5..2c79729 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.2.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.2.qml @@ -7,7 +7,7 @@ MyTypeObject { uintProperty: if(1) 10 intProperty: if(1) -19 realProperty: if(1) 23.2 - doubleProperty: if(1) -19.7 + doubleProperty: if(1) -19.75 floatProperty: if(1) 8.5 colorProperty: if(1) "red" dateProperty: if(1) "1982-11-25" diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.qml b/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.qml index 72ae865..1cd78a5 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/assignBasicTypes.qml @@ -9,7 +9,7 @@ MyTypeObject { uintProperty = 10 intProperty = -19 realProperty = 23.2 - doubleProperty = -19.7 + doubleProperty = -19.75 floatProperty = 8.5 colorProperty = "red" dateProperty = "1982-11-25" diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml b/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml index bc2df98..aab39be 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml @@ -16,7 +16,11 @@ QtObject { test1 = (eval("a") == 7); test2 = (eval("b") == 9); - test3 = (eval("c") == undefined); + try { + eval("c"); + } catch(e) { + test3 = true; + } test4 = (eval("console") == console); test5 = (eval("Qt") == Qt); } diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/function.qml b/tests/auto/declarative/qdeclarativeecmascript/data/function.qml index b435f58..80d6ef4 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/function.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/function.qml @@ -14,6 +14,10 @@ QtObject { test1 = (func1(4) == 11); test2 = (func2("Hello World!") == Qt.atob("Hello World!")); - test3 = (func3() == undefined); + try { + func3(); + } catch(e) { + test3 = true; + } } } diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.js b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.js new file mode 100644 index 0000000..092bc2b --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.js @@ -0,0 +1 @@ +; diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.qml b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.qml new file mode 100644 index 0000000..56e7885 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11600.qml @@ -0,0 +1,8 @@ +import Qt 4.7 +import "qtbug_11600.js" as Test + +QtObject { + id: goo + + property bool test: undefined == goo.Test.foo +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11606.qml b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11606.qml new file mode 100644 index 0000000..6efb9c1 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_11606.qml @@ -0,0 +1,12 @@ +import Qt 4.7 + +QtObject { + property bool test: false + Component.onCompleted: { + try { + console.log(sorryNoSuchProperty); + } catch (e) { + test = true; + } + } +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml index 4395ba3..2548005 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/scope.3.qml @@ -1,10 +1,10 @@ import Qt 4.7 +import Qt.test 1.0 -Item { +MyQmlObject { id: root property int foo: 12 - property int console: 11 property bool test1: foo == 12 property bool test2: console != 11 diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scriptErrors.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scriptErrors.qml index e8f7b62..f601f49 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/scriptErrors.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/scriptErrors.qml @@ -4,7 +4,7 @@ import "scriptErrors.js" as Script MyQmlObject { property int t: a.value property int w: Script.getValue(); - property int x: undefinedObject + property int x: undefined property int y: (a.value, undefinedObject) onBasicSignal: { console.log(a.value); } diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h index 7bb8a8e..19bfd37 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h +++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h @@ -86,6 +86,7 @@ class MyQmlObject : public QObject Q_PROPERTY(bool trueProperty READ trueProperty CONSTANT) Q_PROPERTY(bool falseProperty READ falseProperty CONSTANT) Q_PROPERTY(int value READ value WRITE setValue) + Q_PROPERTY(int console READ console CONSTANT) Q_PROPERTY(QString stringProperty READ stringProperty WRITE setStringProperty NOTIFY stringChanged) Q_PROPERTY(QObject *objectProperty READ objectProperty WRITE setObjectProperty NOTIFY objectChanged) Q_PROPERTY(QDeclarativeListProperty<QObject> objectListProperty READ objectListProperty CONSTANT) @@ -142,6 +143,7 @@ public: QRegExp regExp() { return m_regExp; } void setRegExp(const QRegExp ®Exp) { m_regExp = regExp; } + int console() const { return 11; } signals: void basicSignal(); void argumentSignal(int a, QString b, qreal c); @@ -555,7 +557,9 @@ Q_DECLARE_METATYPE(QScriptValue); class MyInvokableObject : public QObject { Q_OBJECT + Q_ENUMS(TestEnum) public: + enum TestEnum { EnumValue1, EnumValue2 }; MyInvokableObject() { reset(); } int invoked() const { return m_invoked; } @@ -568,7 +572,7 @@ public: Q_INVOKABLE void method_NoArgs() { invoke(0); } Q_INVOKABLE int method_NoArgs_int() { invoke(1); return 6; } - Q_INVOKABLE qreal method_NoArgs_real() { invoke(2); return 19.7; } + Q_INVOKABLE qreal method_NoArgs_real() { invoke(2); return 19.75; } Q_INVOKABLE QPointF method_NoArgs_QPointF() { invoke(3); return QPointF(123, 4.5); } Q_INVOKABLE QObject *method_NoArgs_QObject() { invoke(4); return this; } Q_INVOKABLE MyInvokableObject *method_NoArgs_unknown() { invoke(5); return this; } @@ -587,6 +591,8 @@ public: Q_INVOKABLE void method_overload(int a) { invoke(16); m_actuals << a; } Q_INVOKABLE void method_overload(int a, int b) { invoke(17); m_actuals << a << b; } + Q_INVOKABLE void method_with_enum(TestEnum e) { invoke(18); m_actuals << (int)e; } + private: void invoke(int idx) { if (m_invoked != -1) m_invokedError = true; m_invoked = idx;} int m_invoked; diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 16e7ec5..a6d2dac 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -155,6 +155,8 @@ private slots: void eval(); void function(); void qtbug_10696(); + void qtbug_11606(); + void qtbug_11600(); void include(); @@ -177,7 +179,7 @@ void tst_qdeclarativeecmascript::assignBasicTypes() QCOMPARE(object->uintProperty(), uint(10)); QCOMPARE(object->intProperty(), -19); QCOMPARE((float)object->realProperty(), float(23.2)); - QCOMPARE((float)object->doubleProperty(), float(-19.7)); + QCOMPARE((float)object->doubleProperty(), float(-19.75)); QCOMPARE((float)object->floatProperty(), float(8.5)); QCOMPARE(object->colorProperty(), QColor("red")); QCOMPARE(object->dateProperty(), QDate(1982, 11, 25)); @@ -205,7 +207,7 @@ void tst_qdeclarativeecmascript::assignBasicTypes() QCOMPARE(object->uintProperty(), uint(10)); QCOMPARE(object->intProperty(), -19); QCOMPARE((float)object->realProperty(), float(23.2)); - QCOMPARE((float)object->doubleProperty(), float(-19.7)); + QCOMPARE((float)object->doubleProperty(), float(-19.75)); QCOMPARE((float)object->floatProperty(), float(8.5)); QCOMPARE(object->colorProperty(), QColor("red")); QCOMPARE(object->dateProperty(), QDate(1982, 11, 25)); @@ -278,8 +280,8 @@ void tst_qdeclarativeecmascript::signalAssignment() MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); QVERIFY(object != 0); QCOMPARE(object->string(), QString()); - emit object->argumentSignal(19, "Hello world!", 10.3); - QCOMPARE(object->string(), QString("pass 19 Hello world! 10.3")); + emit object->argumentSignal(19, "Hello world!", 10.25); + QCOMPARE(object->string(), QString("pass 19 Hello world! 10.25")); } } @@ -1002,10 +1004,10 @@ void tst_qdeclarativeecmascript::scriptErrors() QString url = component.url().toString(); QString warning1 = url.left(url.length() - 3) + "js:2: Error: Invalid write to global property \"a\""; - QString warning2 = url + ":5: TypeError: Result of expression 'a' [undefined] is not an object."; + QString warning2 = url + ":5: ReferenceError: Can't find variable: a"; QString warning3 = url.left(url.length() - 3) + "js:4: Error: Invalid write to global property \"a\""; - QString warning4 = url + ":10: TypeError: Result of expression 'a' [undefined] is not an object."; - QString warning5 = url + ":8: TypeError: Result of expression 'a' [undefined] is not an object."; + QString warning4 = url + ":10: ReferenceError: Can't find variable: a"; + QString warning5 = url + ":8: ReferenceError: Can't find variable: a"; QString warning6 = url + ":7: Unable to assign [undefined] to int x"; QString warning7 = url + ":12: Error: Cannot assign to read-only property \"trueProperty\""; QString warning8 = url + ":13: Error: Cannot assign to non-existent property \"fakeProperty\""; @@ -1322,7 +1324,12 @@ void tst_qdeclarativeecmascript::callQtInvokables() QDeclarativeEngine qmlengine; QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(&qmlengine); QScriptEngine *engine = &ep->scriptEngine; - ep->globalClass->explicitSetProperty("object", ep->objectClass->newQObject(&o)); + + QStringList names; QList<QScriptValue> values; + names << QLatin1String("object"); values << ep->objectClass->newQObject(&o); + names << QLatin1String("undefined"); values << engine->undefinedValue(); + + ep->globalClass->explicitSetProperty(names, values); // Non-existent methods o.reset(); @@ -1380,7 +1387,7 @@ void tst_qdeclarativeecmascript::callQtInvokables() QCOMPARE(o.actuals().count(), 0); o.reset(); - QVERIFY(engine->evaluate("object.method_NoArgs_real()").strictlyEquals(QScriptValue(engine, 19.7))); + QVERIFY(engine->evaluate("object.method_NoArgs_real()").strictlyEquals(QScriptValue(engine, 19.75))); QCOMPARE(o.error(), false); QCOMPARE(o.invoked(), 2); QCOMPARE(o.actuals().count(), 0); @@ -1714,6 +1721,13 @@ void tst_qdeclarativeecmascript::callQtInvokables() QCOMPARE(o.actuals().count(), 2); QCOMPARE(o.actuals().at(0), QVariant(10)); QCOMPARE(o.actuals().at(1), QVariant(11)); + + o.reset(); + QCOMPARE(engine->evaluate("object.method_with_enum(9)").isUndefined(), true); + QCOMPARE(o.error(), false); + QCOMPARE(o.invoked(), 18); + QCOMPARE(o.actuals().count(), 1); + QCOMPARE(o.actuals().at(0), QVariant(9)); } // QTBUG-5675 @@ -1804,7 +1818,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toBool(), false); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toBool(), true); delete object; @@ -1817,7 +1831,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toBool(), false); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toBool(), true); delete object; @@ -1830,7 +1844,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toBool(), false); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toBool(), true); delete object; @@ -1843,7 +1857,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->methodCalled(), false); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->methodCalled(), true); delete object; @@ -1856,7 +1870,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->methodCalled(), false); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->methodCalled(), true); delete object; @@ -1869,7 +1883,7 @@ void tst_qdeclarativeecmascript::scriptConnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toInt(), 0); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); delete object; @@ -1885,13 +1899,13 @@ void tst_qdeclarativeecmascript::scriptDisconnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toInt(), 0); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 1); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); emit object->basicSignal(); QCOMPARE(object->property("test").toInt(), 2); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); delete object; @@ -1904,13 +1918,13 @@ void tst_qdeclarativeecmascript::scriptDisconnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toInt(), 0); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 1); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); emit object->basicSignal(); QCOMPARE(object->property("test").toInt(), 2); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); delete object; @@ -1923,13 +1937,13 @@ void tst_qdeclarativeecmascript::scriptDisconnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toInt(), 0); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 1); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); emit object->basicSignal(); QCOMPARE(object->property("test").toInt(), 2); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 3); delete object; @@ -1941,13 +1955,13 @@ void tst_qdeclarativeecmascript::scriptDisconnect() QVERIFY(object != 0); QCOMPARE(object->property("test").toInt(), 0); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 1); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 2); emit object->basicSignal(); QCOMPARE(object->property("test").toInt(), 2); - emit object->argumentSignal(19, "Hello world!", 10.3); + emit object->argumentSignal(19, "Hello world!", 10.25); QCOMPARE(object->property("test").toInt(), 3); delete object; @@ -2498,6 +2512,25 @@ void tst_qdeclarativeecmascript::qtbug_10696() delete o; } +void tst_qdeclarativeecmascript::qtbug_11606() +{ + QDeclarativeComponent component(&engine, TEST_FILE("qtbug_11606.qml")); + QObject *o = component.create(); + QVERIFY(o != 0); + QCOMPARE(o->property("test").toBool(), true); + delete o; +} + +void tst_qdeclarativeecmascript::qtbug_11600() +{ + QDeclarativeComponent component(&engine, TEST_FILE("qtbug_11600.qml")); + QObject *o = component.create(); + QVERIFY(o != 0); + QCOMPARE(o->property("test").toBool(), true); + delete o; +} + + QTEST_MAIN(tst_qdeclarativeecmascript) #include "tst_qdeclarativeecmascript.moc" diff --git a/tests/auto/declarative/qdeclarativeflickable/data/flickable04.qml b/tests/auto/declarative/qdeclarativeflickable/data/flickable04.qml index aa156ed..a840a01 100644 --- a/tests/auto/declarative/qdeclarativeflickable/data/flickable04.qml +++ b/tests/auto/declarative/qdeclarativeflickable/data/flickable04.qml @@ -1,6 +1,12 @@ import Qt 4.7 Flickable { + property bool ok: false + function check() { + if (column.parent == contentItem) + ok = true; + } + width: 100; height: 100 contentWidth: column.width; contentHeight: column.height pressDelay: 200; boundsBehavior: Flickable.StopAtBounds; interactive: false diff --git a/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp b/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp index 2ba5574..678996b 100644 --- a/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp +++ b/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp @@ -147,6 +147,10 @@ void tst_qdeclarativeflickable::properties() QCOMPARE(obj->pressDelay(), 200); QCOMPARE(obj->maximumFlickVelocity(), 2000.); + QVERIFY(obj->property("ok").toBool() == false); + QMetaObject::invokeMethod(obj, "check"); + QVERIFY(obj->property("ok").toBool() == true); + delete obj; } diff --git a/tests/auto/declarative/qdeclarativefocusscope/data/chain.qml b/tests/auto/declarative/qdeclarativefocusscope/data/chain.qml new file mode 100644 index 0000000..6c39f20 --- /dev/null +++ b/tests/auto/declarative/qdeclarativefocusscope/data/chain.qml @@ -0,0 +1,28 @@ +import Qt 4.7 + +Rectangle { + id: root + width:300; height:400 + + property bool focus1: root.wantsFocus + property bool focus2: item1.wantsFocus + property bool focus3: fs1.wantsFocus + property bool focus4: fs2.wantsFocus + property bool focus5: theItem.wantsFocus + + Item { + id: item1 + FocusScope { + id: fs1 + focus: true + FocusScope { + id: fs2 + focus: true + Item { + id: theItem + focus: true + } + } + } + } +} diff --git a/tests/auto/declarative/qdeclarativefocusscope/data/forcefocus.qml b/tests/auto/declarative/qdeclarativefocusscope/data/forcefocus.qml index 5904fd6..af9c420 100644 --- a/tests/auto/declarative/qdeclarativefocusscope/data/forcefocus.qml +++ b/tests/auto/declarative/qdeclarativefocusscope/data/forcefocus.qml @@ -8,10 +8,10 @@ Rectangle { FocusScope { id: firstScope + objectName: "item0" focus: true Rectangle { - objectName: "item0" height: 120; width: 420 color: "transparent" @@ -44,9 +44,9 @@ Rectangle { FocusScope { id: secondScope + objectName: "item3" Rectangle { - objectName: "item3" y: 160; height: 120; width: 420 color: "transparent" diff --git a/tests/auto/declarative/qdeclarativefocusscope/data/test.qml b/tests/auto/declarative/qdeclarativefocusscope/data/test.qml index 6b09c29..aa43ba8 100644 --- a/tests/auto/declarative/qdeclarativefocusscope/data/test.qml +++ b/tests/auto/declarative/qdeclarativefocusscope/data/test.qml @@ -9,12 +9,12 @@ Rectangle { FocusScope { id: myScope + objectName: "item0" focus: true Keys.onDigit9Pressed: console.log("Error - FocusScope") Rectangle { - objectName: "item0" height: 120 width: 420 diff --git a/tests/auto/declarative/qdeclarativefocusscope/data/test5.qml b/tests/auto/declarative/qdeclarativefocusscope/data/test5.qml index d67ec57..cdb5164 100644 --- a/tests/auto/declarative/qdeclarativefocusscope/data/test5.qml +++ b/tests/auto/declarative/qdeclarativefocusscope/data/test5.qml @@ -9,12 +9,12 @@ Rectangle { FocusScope { id: myScope + objectName: "item0" focus: true Keys.onReturnPressed: console.log("Error - FocusScope") Rectangle { - objectName: "item0" height: 120 width: 420 diff --git a/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp b/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp index 7732e6d..2559087 100644 --- a/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp +++ b/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp @@ -68,6 +68,7 @@ private slots: void noFocus(); void textEdit(); void forceFocus(); + void noParentFocus(); }; /* @@ -97,7 +98,7 @@ void tst_qdeclarativefocusscope::basic() QDeclarativeView *view = new QDeclarativeView; view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test.qml")); - QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0")); + QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0")); QDeclarativeRectangle *item1 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item1")); QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2")); QDeclarativeRectangle *item3 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item3")); @@ -228,7 +229,7 @@ void tst_qdeclarativefocusscope::textEdit() QDeclarativeView *view = new QDeclarativeView; view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test5.qml")); - QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0")); + QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0")); QDeclarativeTextEdit *item1 = findItem<QDeclarativeTextEdit>(view->rootObject(), QLatin1String("item1")); QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2")); QDeclarativeTextEdit *item3 = findItem<QDeclarativeTextEdit>(view->rootObject(), QLatin1String("item3")); @@ -283,10 +284,10 @@ void tst_qdeclarativefocusscope::forceFocus() QDeclarativeView *view = new QDeclarativeView; view->setSource(QUrl::fromLocalFile(SRCDIR "/data/forcefocus.qml")); - QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0")); + QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0")); QDeclarativeRectangle *item1 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item1")); QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2")); - QDeclarativeRectangle *item3 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item3")); + QDeclarativeFocusScope *item3 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item3")); QDeclarativeRectangle *item4 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item4")); QDeclarativeRectangle *item5 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item5")); QVERIFY(item0 != 0); @@ -333,6 +334,20 @@ void tst_qdeclarativefocusscope::forceFocus() delete view; } +void tst_qdeclarativefocusscope::noParentFocus() +{ + QDeclarativeView *view = new QDeclarativeView; + view->setSource(QUrl::fromLocalFile(SRCDIR "/data/chain.qml")); + QVERIFY(view->rootObject()); + + QVERIFY(view->rootObject()->property("focus1") == true); + QVERIFY(view->rootObject()->property("focus2") == false); + QVERIFY(view->rootObject()->property("focus3") == true); + QVERIFY(view->rootObject()->property("focus4") == true); + QVERIFY(view->rootObject()->property("focus5") == true); + + delete view; +} QTEST_MAIN(tst_qdeclarativefocusscope) diff --git a/tests/auto/declarative/qdeclarativegridview/data/footer.qml b/tests/auto/declarative/qdeclarativegridview/data/footer.qml new file mode 100644 index 0000000..170b2b5 --- /dev/null +++ b/tests/auto/declarative/qdeclarativegridview/data/footer.qml @@ -0,0 +1,32 @@ +import Qt 4.7 + +Rectangle { + width: 240 + height: 320 + color: "#ffffff" + Component { + id: myDelegate + Rectangle { + id: wrapper + objectName: "wrapper" + width: 80 + height: 60 + border.color: "blue" + Text { + text: index + } + color: GridView.isCurrentItem ? "lightsteelblue" : "white" + } + } + GridView { + id: grid + objectName: "grid" + width: 240 + height: 320 + cellWidth: 80 + cellHeight: 60 + model: testModel + delegate: myDelegate + footer: Text { objectName: "footer"; text: "Footer"; height: 30 } + } +} diff --git a/tests/auto/declarative/qdeclarativegridview/data/gridview-initCurrent.qml b/tests/auto/declarative/qdeclarativegridview/data/gridview-initCurrent.qml index 9331243..a5d651d 100644 --- a/tests/auto/declarative/qdeclarativegridview/data/gridview-initCurrent.qml +++ b/tests/auto/declarative/qdeclarativegridview/data/gridview-initCurrent.qml @@ -43,7 +43,7 @@ Rectangle { focus: true width: 240 height: 320 - currentIndex: 5 + currentIndex: 35 cellWidth: 80 cellHeight: 60 delegate: myDelegate diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp index 4e35bc0..1a28b71 100644 --- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp +++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp @@ -81,6 +81,7 @@ private slots: void enforceRange(); void QTBUG_8456(); void manualHighlight(); + void footer(); private: QDeclarativeView *createView(); @@ -147,6 +148,14 @@ public: emit dataChanged(index(idx,0), index(idx,0)); } + void clear() { + int count = list.count(); + emit beginRemoveRows(QModelIndex(), 0, count-1); + list.clear(); + emit endRemoveRows(); + } + + private: QList<QPair<QString,QString> > list; }; @@ -178,17 +187,17 @@ void tst_QDeclarativeGridView::items() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_COMPARE(gridview->count(), model.count()); - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item for (int i = 0; i < model.count(); ++i) { - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", i); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", i); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -197,7 +206,7 @@ void tst_QDeclarativeGridView::items() TestModel model2; ctxt->setContextProperty("testModel", &model2); - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); QTRY_VERIFY(itemCount == 0); delete canvas; @@ -226,14 +235,14 @@ void tst_QDeclarativeGridView::changed() QDeclarativeFlickable *gridview = findItem<QDeclarativeFlickable>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.modifyItem(1, "Will", "9876"); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); @@ -259,17 +268,17 @@ void tst_QDeclarativeGridView::inserted() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.insertItem(1, "Will", "9876"); - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); @@ -279,19 +288,19 @@ void tst_QDeclarativeGridView::inserted() // Confirm items positioned correctly for (int i = 0; i < model.count(); ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); QTRY_COMPARE(item->x(), (i%3)*80.0); QTRY_COMPARE(item->y(), (i/3)*60.0); } model.insertItem(0, "Foo", "1111"); // zero index, and current item - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item - name = findItem<QDeclarativeText>(viewport, "textName", 0); + name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); @@ -299,7 +308,7 @@ void tst_QDeclarativeGridView::inserted() // Confirm items positioned correctly for (int i = 0; i < model.count(); ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); QTRY_VERIFY(item->x() == (i%3)*80); QTRY_VERIFY(item->y() == (i/3)*60); } @@ -335,15 +344,15 @@ void tst_QDeclarativeGridView::removed() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.removeItem(1); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); @@ -352,9 +361,9 @@ void tst_QDeclarativeGridView::removed() QTRY_COMPARE(removed, QString("Item1")); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -364,17 +373,17 @@ void tst_QDeclarativeGridView::removed() // Remove first item (which is the current item); model.removeItem(0); - name = findItem<QDeclarativeText>(viewport, "textName", 0); + name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -385,9 +394,9 @@ void tst_QDeclarativeGridView::removed() model.removeItem(25); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -405,7 +414,7 @@ void tst_QDeclarativeGridView::removed() // Confirm items positioned correctly for (int i = 6; i < 18; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -424,9 +433,9 @@ void tst_QDeclarativeGridView::removed() QTest::qWait(100); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -478,29 +487,29 @@ void tst_QDeclarativeGridView::moved() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.moveItem(1, 8); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); - name = findItem<QDeclarativeText>(viewport, "textName", 8); + name = findItem<QDeclarativeText>(contentItem, "textName", 8); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(8)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 8); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 8); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(8)); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); @@ -513,17 +522,17 @@ void tst_QDeclarativeGridView::moved() model.moveItem(1, 25); // Confirm items positioned correctly and indexes correct - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count()-1; + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count()-1; for (int i = 6; i < model.count()-6 && i < itemCount+6; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), qreal((i%3)*80)); QTRY_COMPARE(item->y(), qreal((i/3)*60)); - name = findItem<QDeclarativeText>(viewport, "textName", i); + name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - number = findItem<QDeclarativeText>(viewport, "textNumber", i); + number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -533,15 +542,15 @@ void tst_QDeclarativeGridView::moved() // Confirm items positioned correctly and indexes correct for (int i = 6; i < model.count()-6 && i < itemCount+6; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->x() == (i%3)*80); QTRY_VERIFY(item->y() == (i/3)*60); - name = findItem<QDeclarativeText>(viewport, "textName", i); + name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - number = findItem<QDeclarativeText>(viewport, "textNumber", i); + number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -557,7 +566,7 @@ void tst_QDeclarativeGridView::moved() void tst_QDeclarativeGridView::currentIndex() { TestModel model; - for (int i = 0; i < 30; i++) + for (int i = 0; i < 60; i++) model.addItem("Item" + QString::number(i), QString::number(i)); QDeclarativeView *canvas = new QDeclarativeView(0); @@ -572,57 +581,58 @@ void tst_QDeclarativeGridView::currentIndex() qApp->processEvents(); QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); - QTRY_VERIFY(gridview != 0); + QVERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QVERIFY(contentItem != 0); // current item should be third item - QTRY_COMPARE(gridview->currentIndex(), 5); - QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 5)); - QTRY_COMPARE(gridview->currentItem()->y(), gridview->highlightItem()->y()); + QCOMPARE(gridview->currentIndex(), 35); + QCOMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 35)); + QCOMPARE(gridview->currentItem()->y(), gridview->highlightItem()->y()); + QCOMPARE(gridview->contentY(), 399.0); gridview->moveCurrentIndexRight(); - QTRY_COMPARE(gridview->currentIndex(), 6); + QCOMPARE(gridview->currentIndex(), 36); gridview->moveCurrentIndexDown(); - QTRY_COMPARE(gridview->currentIndex(), 9); + QCOMPARE(gridview->currentIndex(), 39); gridview->moveCurrentIndexUp(); - QTRY_COMPARE(gridview->currentIndex(), 6); + QCOMPARE(gridview->currentIndex(), 36); gridview->moveCurrentIndexLeft(); - QTRY_COMPARE(gridview->currentIndex(), 5); + QCOMPARE(gridview->currentIndex(), 35); // no wrap gridview->setCurrentIndex(0); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); gridview->moveCurrentIndexUp(); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); gridview->moveCurrentIndexLeft(); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); gridview->setCurrentIndex(model.count()-1); - QTRY_COMPARE(gridview->currentIndex(), model.count()-1); + QCOMPARE(gridview->currentIndex(), model.count()-1); gridview->moveCurrentIndexRight(); - QTRY_COMPARE(gridview->currentIndex(), model.count()-1); + QCOMPARE(gridview->currentIndex(), model.count()-1); gridview->moveCurrentIndexDown(); - QTRY_COMPARE(gridview->currentIndex(), model.count()-1); + QCOMPARE(gridview->currentIndex(), model.count()-1); // with wrap gridview->setWrapEnabled(true); gridview->setCurrentIndex(0); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); gridview->moveCurrentIndexLeft(); - QTRY_COMPARE(gridview->currentIndex(), model.count()-1); + QCOMPARE(gridview->currentIndex(), model.count()-1); - QTRY_COMPARE(gridview->contentY(), 279.0); + QTRY_COMPARE(gridview->contentY(), 879.0); gridview->moveCurrentIndexRight(); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); QTRY_COMPARE(gridview->contentY(), 0.0); @@ -638,30 +648,30 @@ void tst_QDeclarativeGridView::currentIndex() qApp->processEvents(); QTest::keyClick(canvas, Qt::Key_Down); - QTRY_COMPARE(gridview->currentIndex(), 3); + QCOMPARE(gridview->currentIndex(), 3); QTest::keyClick(canvas, Qt::Key_Up); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); gridview->setFlow(QDeclarativeGridView::TopToBottom); QTest::keyClick(canvas, Qt::Key_Right); - QTRY_COMPARE(gridview->currentIndex(), 5); + QCOMPARE(gridview->currentIndex(), 5); QTest::keyClick(canvas, Qt::Key_Left); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); QTest::keyClick(canvas, Qt::Key_Down); - QTRY_COMPARE(gridview->currentIndex(), 1); + QCOMPARE(gridview->currentIndex(), 1); QTest::keyClick(canvas, Qt::Key_Up); - QTRY_COMPARE(gridview->currentIndex(), 0); + QCOMPARE(gridview->currentIndex(), 0); // turn off auto highlight gridview->setHighlightFollowsCurrentItem(false); - QTRY_VERIFY(gridview->highlightFollowsCurrentItem() == false); - QTRY_VERIFY(gridview->highlightItem()); + QVERIFY(gridview->highlightFollowsCurrentItem() == false); + QVERIFY(gridview->highlightItem()); qreal hlPosX = gridview->highlightItem()->x(); qreal hlPosY = gridview->highlightItem()->y(); @@ -695,21 +705,21 @@ void tst_QDeclarativeGridView::changeFlow() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly and indexes correct - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), qreal((i%3)*80)); QTRY_COMPARE(item->y(), qreal((i/3)*60)); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", i); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", i); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -717,17 +727,17 @@ void tst_QDeclarativeGridView::changeFlow() ctxt->setContextProperty("testTopToBottom", QVariant(true)); // Confirm items positioned correctly and indexes correct - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), qreal((i/5)*80)); QTRY_COMPARE(item->y(), qreal((i%5)*60)); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", i); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", i); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -913,13 +923,13 @@ void tst_QDeclarativeGridView::positionViewAtIndex() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), (i%3)*80.); @@ -931,9 +941,9 @@ void tst_QDeclarativeGridView::positionViewAtIndex() QTRY_COMPARE(gridview->contentY(), 60.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), (i%3)*80.); @@ -945,9 +955,9 @@ void tst_QDeclarativeGridView::positionViewAtIndex() QTRY_COMPARE(gridview->contentY(), 420.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), (i%3)*80.); @@ -959,9 +969,9 @@ void tst_QDeclarativeGridView::positionViewAtIndex() QTRY_COMPARE(gridview->contentY(), 520.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), (i%3)*80.); @@ -973,9 +983,9 @@ void tst_QDeclarativeGridView::positionViewAtIndex() QTRY_COMPARE(gridview->contentY(), 0.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), (i%3)*80.); @@ -1043,13 +1053,13 @@ void tst_QDeclarativeGridView::resetModel() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_COMPARE(gridview->count(), model.rowCount()); for (int i = 0; i < model.rowCount(); ++i) { - QDeclarativeText *display = findItem<QDeclarativeText>(viewport, "displayText", i); + QDeclarativeText *display = findItem<QDeclarativeText>(contentItem, "displayText", i); QTRY_VERIFY(display != 0); QTRY_COMPARE(display->text(), strings.at(i)); } @@ -1061,7 +1071,7 @@ void tst_QDeclarativeGridView::resetModel() QTRY_COMPARE(gridview->count(), model.rowCount()); for (int i = 0; i < model.rowCount(); ++i) { - QDeclarativeText *display = findItem<QDeclarativeText>(viewport, "displayText", i); + QDeclarativeText *display = findItem<QDeclarativeText>(contentItem, "displayText", i); QTRY_VERIFY(display != 0); QTRY_COMPARE(display->text(), strings.at(i)); } @@ -1088,22 +1098,22 @@ void tst_QDeclarativeGridView::enforceRange() QTRY_COMPARE(gridview->preferredHighlightEnd(), 100.0); QTRY_COMPARE(gridview->highlightRangeMode(), QDeclarativeGridView::StrictlyEnforceRange); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); // view should be positioned at the top of the range. - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", 0); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", 0); QTRY_VERIFY(item); QTRY_COMPARE(gridview->contentY(), -100.0); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 0); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); - // Check currentIndex is updated when viewport moves + // Check currentIndex is updated when contentItem moves gridview->setContentY(0); QTRY_COMPARE(gridview->currentIndex(), 2); @@ -1145,22 +1155,54 @@ void tst_QDeclarativeGridView::manualHighlight() QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); QTRY_VERIFY(gridview != 0); - QDeclarativeItem *viewport = gridview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_COMPARE(gridview->currentIndex(), 0); - QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 0)); + QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 0)); QTRY_COMPARE(gridview->highlightItem()->y(), gridview->currentItem()->y()); QTRY_COMPARE(gridview->highlightItem()->x(), gridview->currentItem()->x()); gridview->setCurrentIndex(2); QTRY_COMPARE(gridview->currentIndex(), 2); - QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 2)); + QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 2)); QTRY_COMPARE(gridview->highlightItem()->y(), gridview->currentItem()->y()); QTRY_COMPARE(gridview->highlightItem()->x(), gridview->currentItem()->x()); } +void tst_QDeclarativeGridView::footer() +{ + QDeclarativeView *canvas = createView(); + + TestModel model; + for (int i = 0; i < 7; i++) + model.addItem("Item" + QString::number(i), ""); + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/footer.qml")); + qApp->processEvents(); + + QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid"); + QTRY_VERIFY(gridview != 0); + + QDeclarativeItem *contentItem = gridview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QDeclarativeText *footer = findItem<QDeclarativeText>(contentItem, "footer"); + QVERIFY(footer); + + QCOMPARE(footer->y(), 180.0); + + model.removeItem(2); + QTRY_COMPARE(footer->y(), 120.0); + + model.clear(); + QTRY_COMPARE(footer->y(), 0.0); +} + QDeclarativeView *tst_QDeclarativeGridView::createView() { diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart-arm.png b/tests/auto/declarative/qdeclarativeimage/data/heart-arm.png Binary files differnew file mode 100644 index 0000000..3245027 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeimage/data/heart-arm.png diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart200-arm.png b/tests/auto/declarative/qdeclarativeimage/data/heart200-arm.png Binary files differnew file mode 100644 index 0000000..b16db76 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeimage/data/heart200-arm.png diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index c09f7fc..38fd458 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -88,7 +88,6 @@ private slots: void resized(); void preserveAspectRatio(); void smooth(); - void pixmap(); void svg(); void big(); void tiling_QTBUG_6716(); @@ -124,8 +123,8 @@ void tst_qdeclarativeimage::noSource() void tst_qdeclarativeimage::imageSource_data() { QTest::addColumn<QString>("source"); - QTest::addColumn<qreal>("width"); - QTest::addColumn<qreal>("height"); + QTest::addColumn<double>("width"); + QTest::addColumn<double>("height"); QTest::addColumn<bool>("remote"); QTest::addColumn<bool>("async"); QTest::addColumn<QString>("error"); @@ -146,8 +145,8 @@ void tst_qdeclarativeimage::imageSource_data() void tst_qdeclarativeimage::imageSource() { QFETCH(QString, source); - QFETCH(qreal, width); - QFETCH(qreal, height); + QFETCH(double, width); + QFETCH(double, height); QFETCH(bool, remote); QFETCH(bool, async); QFETCH(QString, error); @@ -178,8 +177,8 @@ void tst_qdeclarativeimage::imageSource() if (error.isEmpty()) { TRY_WAIT(obj->status() == QDeclarativeImage::Ready); - QCOMPARE(obj->width(), width); - QCOMPARE(obj->height(), height); + QCOMPARE(obj->width(), qreal(width)); + QCOMPARE(obj->height(), qreal(height)); QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch); QCOMPARE(obj->progress(), 1.0); } else { @@ -261,36 +260,6 @@ void tst_qdeclarativeimage::smooth() delete obj; } -void tst_qdeclarativeimage::pixmap() -{ - QString componentStr = "import Qt 4.7\nImage { pixmap: testPixmap }"; - - QPixmap pixmap; - QDeclarativeContext *ctxt = engine.rootContext(); - ctxt->setContextProperty("testPixmap", pixmap); - - QDeclarativeComponent component(&engine); - component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); - - QDeclarativeImage *obj = qobject_cast<QDeclarativeImage*>(component.create()); - QVERIFY(obj != 0); - QCOMPARE(obj->source(), QUrl()); - QVERIFY(obj->status() == QDeclarativeImage::Null); - QCOMPARE(obj->width(), 0.); - QCOMPARE(obj->height(), 0.); - QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch); - QCOMPARE(obj->progress(), 0.0); - QVERIFY(obj->pixmap().isNull()); - - pixmap = QPixmap(SRCDIR "/data/colors.png"); - ctxt->setContextProperty("testPixmap", pixmap); - QCOMPARE(obj->width(), 120.); - QCOMPARE(obj->height(), 120.); - QVERIFY(obj->status() == QDeclarativeImage::Ready); - - delete obj; -} - void tst_qdeclarativeimage::svg() { QString src = QUrl::fromLocalFile(SRCDIR "/data/heart.svg").toString(); @@ -307,6 +276,8 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-mac.png")); #elif defined(Q_OS_WIN32) QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-win32.png")); +#elif defined(QT_ARCH_ARM) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-arm.png")); #else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart.png")); #endif @@ -321,6 +292,8 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-mac.png")); #elif defined(Q_OS_WIN32) QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-win32.png")); +#elif defined(QT_ARCH_ARM) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-arm.png")); #else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200.png")); #endif diff --git a/tests/auto/declarative/qdeclarativeimageprovider/data/exists.png b/tests/auto/declarative/qdeclarativeimageprovider/data/exists.png Binary files differdeleted file mode 100644 index 399bd0b..0000000 --- a/tests/auto/declarative/qdeclarativeimageprovider/data/exists.png +++ /dev/null diff --git a/tests/auto/declarative/qdeclarativeimageprovider/data/exists1.png b/tests/auto/declarative/qdeclarativeimageprovider/data/exists1.png Binary files differdeleted file mode 100644 index 399bd0b..0000000 --- a/tests/auto/declarative/qdeclarativeimageprovider/data/exists1.png +++ /dev/null diff --git a/tests/auto/declarative/qdeclarativeimageprovider/data/exists2.png b/tests/auto/declarative/qdeclarativeimageprovider/data/exists2.png Binary files differdeleted file mode 100644 index 399bd0b..0000000 --- a/tests/auto/declarative/qdeclarativeimageprovider/data/exists2.png +++ /dev/null diff --git a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp index 4185790..e0b46f0 100644 --- a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp +++ b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp @@ -61,6 +61,8 @@ QVERIFY((expr)); \ } while (false) +Q_DECLARE_METATYPE(QDeclarativeImageProvider*); + class tst_qdeclarativeimageprovider : public QObject { @@ -71,43 +73,103 @@ public: } private slots: - void imageSource(); - void imageSource_data(); + void requestImage_sync_data(); + void requestImage_sync(); + void requestImage_async_data(); + void requestImage_async(); + + void requestPixmap_sync_data(); + void requestPixmap_sync(); + void requestPixmap_async(); + + void removeProvider_data(); void removeProvider(); private: - QDeclarativeEngine engine; + QString newImageFileName() const; + void fillRequestTestsData(const QString &id); + void runTest(bool async, QDeclarativeImageProvider *provider); +}; + + +class TestQImageProvider : public QDeclarativeImageProvider +{ +public: + TestQImageProvider() + : QDeclarativeImageProvider(Image) + { + } + + QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize) + { + if (id == QLatin1String("no-such-file.png")) + return QImage(); + + int width = 100; + int height = 100; + QImage image(width, height, QImage::Format_RGB32); + if (size) + *size = QSize(width, height); + if (requestedSize.isValid()) + image = image.scaled(requestedSize); + return image; + } }; +Q_DECLARE_METATYPE(TestQImageProvider*); + -class TestProvider : public QDeclarativeImageProvider +class TestQPixmapProvider : public QDeclarativeImageProvider { public: - QImage request(const QString &id, QSize *size, const QSize& requested_size) { - QImageReader io(SRCDIR "/data/" + id); - if (size) *size = io.size(); - if (requested_size.isValid()) - io.setScaledSize(requested_size); - return io.read(); + TestQPixmapProvider() + : QDeclarativeImageProvider(Pixmap) + { + } + + QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize) + { + if (id == QLatin1String("no-such-file.png")) + return QPixmap(); + + int width = 100; + int height = 100; + QPixmap image(width, height); + if (size) + *size = QSize(width, height); + if (requestedSize.isValid()) + image = image.scaled(requestedSize); + return image; } }; +Q_DECLARE_METATYPE(TestQPixmapProvider*); -void tst_qdeclarativeimageprovider::imageSource_data() + +QString tst_qdeclarativeimageprovider::newImageFileName() const +{ + // need to generate new filenames each time or else images are loaded + // from cache and we won't get loading status changes when testing + // async loading + static int count = 0; + return QString("image://test/image-%1.png").arg(count++); +} + +void tst_qdeclarativeimageprovider::fillRequestTestsData(const QString &id) { QTest::addColumn<QString>("source"); QTest::addColumn<QString>("properties"); QTest::addColumn<QSize>("size"); QTest::addColumn<QString>("error"); - QTest::newRow("exists") << "image://test/exists.png" << "" << QSize(100,100) << ""; - QTest::newRow("scaled") << "image://test/exists.png" << "sourceSize: \"80x30\"" << QSize(80,30) << ""; - QTest::newRow("missing") << "image://test/no-such-file.png" << "" << QSize() + QTest::newRow(QTest::toString(id + " exists")) << newImageFileName() << "" << QSize(100,100) << ""; + QTest::newRow(QTest::toString(id + " scaled")) << newImageFileName() << "sourceSize: \"80x30\"" << QSize(80,30) << ""; + + QTest::newRow(QTest::toString(id + " missing")) << "image://test/no-such-file.png" << "" << QSize() << "file::2:1: QML Image: Failed to get image from provider: image://test/no-such-file.png"; - QTest::newRow("unknown provider") << "image://bogus/exists.png" << "" << QSize() + QTest::newRow(QTest::toString(id + " unknown provider")) << "image://bogus/exists.png" << "" << QSize() << "file::2:1: QML Image: Failed to get image from provider: image://bogus/exists.png"; - } - -void tst_qdeclarativeimageprovider::imageSource() + +void tst_qdeclarativeimageprovider::runTest(bool async, QDeclarativeImageProvider *provider) { QFETCH(QString, source); QFETCH(QString, properties); @@ -117,21 +179,29 @@ void tst_qdeclarativeimageprovider::imageSource() if (!error.isEmpty()) QTest::ignoreMessage(QtWarningMsg, error.toUtf8()); - engine.addImageProvider("test", new TestProvider); + QDeclarativeEngine engine; + + engine.addImageProvider("test", provider); QVERIFY(engine.imageProvider("test") != 0); - QString componentStr = "import Qt 4.7\nImage { source: \"" + source + "\"; " + properties + " }"; + QString componentStr = "import Qt 4.7\nImage { source: \"" + source + "\"; " + + (async ? "asynchronous: true; " : "") + + properties + " }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast<QDeclarativeImage*>(component.create()); QVERIFY(obj != 0); - TRY_WAIT(obj->status() == QDeclarativeImage::Loading); + if (async) + TRY_WAIT(obj->status() == QDeclarativeImage::Loading); QCOMPARE(obj->source(), QUrl(source)); if (error.isEmpty()) { - TRY_WAIT(obj->status() == QDeclarativeImage::Ready); + if (async) + TRY_WAIT(obj->status() == QDeclarativeImage::Ready); + else + QVERIFY(obj->status() == QDeclarativeImage::Ready); QCOMPARE(obj->width(), 100.0); QCOMPARE(obj->height(), 100.0); QCOMPARE(obj->pixmap().width(), size.width()); @@ -139,40 +209,98 @@ void tst_qdeclarativeimageprovider::imageSource() QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch); QCOMPARE(obj->progress(), 1.0); } else { - TRY_WAIT(obj->status() == QDeclarativeImage::Error); + if (async) + TRY_WAIT(obj->status() == QDeclarativeImage::Error); + else + QVERIFY(obj->status() == QDeclarativeImage::Error); } delete obj; } +void tst_qdeclarativeimageprovider::requestImage_sync_data() +{ + fillRequestTestsData("qimage|sync"); +} + +void tst_qdeclarativeimageprovider::requestImage_sync() +{ + runTest(false, new TestQImageProvider); +} + +void tst_qdeclarativeimageprovider::requestImage_async_data() +{ + fillRequestTestsData("qimage|async"); +} + +void tst_qdeclarativeimageprovider::requestImage_async() +{ + runTest(true, new TestQImageProvider); +} + +void tst_qdeclarativeimageprovider::requestPixmap_sync_data() +{ + fillRequestTestsData("qpixmap"); +} + +void tst_qdeclarativeimageprovider::requestPixmap_sync() +{ + runTest(false, new TestQPixmapProvider); +} + +void tst_qdeclarativeimageprovider::requestPixmap_async() +{ + QDeclarativeEngine engine; + QDeclarativeImageProvider *provider = new TestQPixmapProvider; + + engine.addImageProvider("test", provider); + QVERIFY(engine.imageProvider("test") != 0); + + // pixmaps are loaded synchronously regardless of 'asynchronous' value + QString componentStr = "import Qt 4.7\nImage { asynchronous: true; source: \"image://test/pixmap-async-test.png\" }"; + QDeclarativeComponent component(&engine); + component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); + QDeclarativeImage *obj = qobject_cast<QDeclarativeImage*>(component.create()); + QVERIFY(obj != 0); + + delete obj; +} + +void tst_qdeclarativeimageprovider::removeProvider_data() +{ + QTest::addColumn<QDeclarativeImageProvider*>("provider"); + + QTest::newRow("qimage") << static_cast<QDeclarativeImageProvider*>(new TestQImageProvider); + QTest::newRow("qpixmap") << static_cast<QDeclarativeImageProvider*>(new TestQPixmapProvider); +} + void tst_qdeclarativeimageprovider::removeProvider() { - engine.addImageProvider("test2", new TestProvider); - QVERIFY(engine.imageProvider("test2") != 0); + QFETCH(QDeclarativeImageProvider*, provider); + + QDeclarativeEngine engine; + + engine.addImageProvider("test", provider); + QVERIFY(engine.imageProvider("test") != 0); // add provider, confirm it works - QString componentStr = "import Qt 4.7\nImage { source: \"image://test2/exists1.png\" }"; + QString componentStr = "import Qt 4.7\nImage { source: \"" + newImageFileName() + "\" }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast<QDeclarativeImage*>(component.create()); QVERIFY(obj != 0); - TRY_WAIT(obj->status() == QDeclarativeImage::Loading); - TRY_WAIT(obj->status() == QDeclarativeImage::Ready); - - QCOMPARE(obj->width(), 100.0); + QCOMPARE(obj->status(), QDeclarativeImage::Ready); // remove the provider and confirm - QString error("file::2:1: QML Image: Failed to get image from provider: image://test2/exists2.png"); - + QString fileName = newImageFileName(); + QString error("file::2:1: QML Image: Failed to get image from provider: " + fileName); QTest::ignoreMessage(QtWarningMsg, error.toUtf8()); - engine.removeImageProvider("test2"); - - obj->setSource(QUrl("image://test2/exists2.png")); + engine.removeImageProvider("test"); - TRY_WAIT(obj->status() == QDeclarativeImage::Loading); - TRY_WAIT(obj->status() == QDeclarativeImage::Error); + obj->setSource(QUrl(fileName)); + QCOMPARE(obj->status(), QDeclarativeImage::Error); delete obj; } diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp index 4a57def..ffb2105 100644 --- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp +++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp @@ -703,11 +703,8 @@ void tst_QDeclarativeItem::propertyChanges() QCOMPARE(focusArguments.at(0).toBool(), true); QCOMPARE(parentItem->hasFocus(), false); - QCOMPARE(parentItem->wantsFocus(), true); - QCOMPARE(wantsFocusSpy.count(),1); - QList<QVariant> wantsFocusArguments = wantsFocusSpy.first(); - QVERIFY(wantsFocusArguments.count() == 1); - QCOMPARE(wantsFocusArguments.at(0).toBool(), true); + QCOMPARE(parentItem->wantsFocus(), false); + QCOMPARE(wantsFocusSpy.count(),0); delete canvas; } diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importFile.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/importFile.errors.txt new file mode 100644 index 0000000..3fdac09 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importFile.errors.txt @@ -0,0 +1 @@ +1:1:"MyComponent.qml": no such directory diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importFile.qml b/tests/auto/declarative/qdeclarativelanguage/data/importFile.qml new file mode 100644 index 0000000..a0d8410 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importFile.qml @@ -0,0 +1,3 @@ +import "MyComponent.qml" 1.0 + +MyComponent { text: "Hello" } diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.errors.txt new file mode 100644 index 0000000..c83e5ae --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.errors.txt @@ -0,0 +1 @@ +4:5:Illegal property name diff --git a/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.qml b/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.qml new file mode 100644 index 0000000..6077de4 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/invalidProperty.qml @@ -0,0 +1,5 @@ +import Qt 4.7 + +QtObject { + property int parseInt +} diff --git a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/qmldir b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/qmldir index 0adb0f6..d15720a 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/qmldir +++ b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/qmldir @@ -2,4 +2,3 @@ Rectangle 1.5 InstalledTest2.qml LocalLast 1.0 LocalLast.qml InstalledTest 1.4 InstalledTest2.qml InstalledTest 1.0 InstalledTest.qml -InstalledTestTP 0.0 InstalledTest.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest.qml b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest.qml new file mode 100644 index 0000000..303b5a5 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest.qml @@ -0,0 +1,2 @@ +import Qt 4.7 as Qt47 +Qt47.Rectangle {} diff --git a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest2.qml b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest2.qml new file mode 100644 index 0000000..8c953cb --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/InstalledTest2.qml @@ -0,0 +1,2 @@ +import Qt 4.7 +Text {} diff --git a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/qmldir b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/qmldir new file mode 100644 index 0000000..b301226 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest0/qmldir @@ -0,0 +1,2 @@ +InstalledTest 1.4 InstalledTest2.qml +InstalledTestTP 0.0 InstalledTest.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/data/nestedErrors.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/nestedErrors.errors.txt index 886da55..6e11786 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/nestedErrors.errors.txt +++ b/tests/auto/declarative/qdeclarativelanguage/data/nestedErrors.errors.txt @@ -1,2 +1,2 @@ 4:5:Unable to create type NestedErrorsType -4:8:Invalid property assignment: double expected +4:8:Invalid property assignment: number expected diff --git a/tests/auto/declarative/qdeclarativelanguage/data/wrongType.6.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.6.errors.txt index d0a0b00..d2b8c54 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/wrongType.6.errors.txt +++ b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.6.errors.txt @@ -1 +1 @@ -3:19:Invalid property assignment: double expected +3:19:Invalid property assignment: number expected diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 413843a..fcdf926 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -289,6 +289,7 @@ void tst_qdeclarativelanguage::errors_data() QTest::newRow("importNonExistOlder (installed)") << "importNonExistOlder.qml" << "importNonExistOlder.errors.txt" << false; QTest::newRow("importNewerVersion (installed)") << "importNewerVersion.qml" << "importNewerVersion.errors.txt" << false; QTest::newRow("invalidImportID") << "invalidImportID.qml" << "invalidImportID.errors.txt" << false; + QTest::newRow("importFile") << "importFile.qml" << "importFile.errors.txt" << false; QTest::newRow("signal.1") << "signal.1.qml" << "signal.1.errors.txt" << false; QTest::newRow("signal.2") << "signal.2.qml" << "signal.2.errors.txt" << false; @@ -370,6 +371,7 @@ void tst_qdeclarativelanguage::errors_data() QTest::newRow("destroyedSignal") << "destroyedSignal.qml" << "destroyedSignal.errors.txt" << false; QTest::newRow("assignToNamespace") << "assignToNamespace.qml" << "assignToNamespace.errors.txt" << false; QTest::newRow("invalidOn") << "invalidOn.qml" << "invalidOn.errors.txt" << false; + QTest::newRow("invalidProperty") << "invalidProperty.qml" << "invalidProperty.errors.txt" << false; } @@ -1475,12 +1477,12 @@ void tst_qdeclarativelanguage::importsInstalled_data() // import installed QTest::newRow("installed import 0") - << "import com.nokia.installedtest 0.0\n" + << "import com.nokia.installedtest0 0.0\n" "InstalledTestTP {}" << "QDeclarativeRectangle" << ""; QTest::newRow("installed import 0 as TP") - << "import com.nokia.installedtest 0.0 as TP\n" + << "import com.nokia.installedtest0 0.0 as TP\n" "TP.InstalledTestTP {}" << "QDeclarativeRectangle" << ""; @@ -1499,6 +1501,11 @@ void tst_qdeclarativelanguage::importsInstalled_data() "InstalledTest {}" << "QDeclarativeText" << ""; + QTest::newRow("installed import minor version not available") // QTBUG-11936 + << "import com.nokia.installedtest 0.1\n" + "InstalledTest {}" + << "" + << "module \"com.nokia.installedtest\" version 0.1 is not installed"; QTest::newRow("installed import minor version not available") // QTBUG-9627 << "import com.nokia.installedtest 1.10\n" "InstalledTest {}" diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp index 3d66733..858c26d 100644 --- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp +++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp @@ -193,8 +193,9 @@ void tst_qdeclarativelistmodel::dynamic_data() QTest::newRow("count") << "count" << 0 << ""; - QTest::newRow("get1") << "{get(0)}" << 0 << ""; - QTest::newRow("get2") << "{get(-1)}" << 0 << ""; + QTest::newRow("get1") << "{get(0) === undefined}" << 1 << ""; + QTest::newRow("get2") << "{get(-1) === undefined}" << 1 << ""; + QTest::newRow("get3") << "{append({'foo':123});get(0) != undefined}" << 1 << ""; QTest::newRow("append1") << "{append({'foo':123});count}" << 1 << ""; QTest::newRow("append2") << "{append({'foo':123,'bar':456});count}" << 1 << ""; @@ -292,8 +293,6 @@ void tst_qdeclarativelistmodel::dynamic() if (e.hasError()) qDebug() << e.error(); // errors not expected - if (QTest::currentDataTag() != QLatin1String("clear3") && QTest::currentDataTag() != QLatin1String("remove3")) - QVERIFY(!e.hasError()); QCOMPARE(actual,result); } @@ -308,6 +307,9 @@ void tst_qdeclarativelistmodel::dynamic_worker() QFETCH(int, result); QFETCH(QString, warning); + // This is same as dynamic() except it applies the test to a ListModel called + // from a WorkerScript (i.e. testing the internal NestedListModel class) + QDeclarativeListModel model; QDeclarativeEngine eng; QDeclarativeComponent component(&eng, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); @@ -559,6 +561,18 @@ void tst_qdeclarativelistmodel::error_data() QTest::newRow("QML elements not allowed in ListElement") << "import Qt 4.7\nListModel { ListElement { a: Item { } } }" << "ListElement: cannot contain nested elements"; + + QTest::newRow("qualified ListElement supported") + << "import Qt 4.7 as Foo\nFoo.ListModel { Foo.ListElement { a: 123 } }" + << ""; + + QTest::newRow("qualified ListElement required") + << "import Qt 4.7 as Foo\nFoo.ListModel { ListElement { a: 123 } }" + << "ListElement is not a type"; + + QTest::newRow("unknown qualified ListElement not allowed") + << "import Qt 4.7\nListModel { Foo.ListElement { a: 123 } }" + << "Foo.ListElement - Foo is not a namespace"; } void tst_qdeclarativelistmodel::error() diff --git a/tests/auto/declarative/qdeclarativelistview/data/footer.qml b/tests/auto/declarative/qdeclarativelistview/data/footer.qml new file mode 100644 index 0000000..11cbe16 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelistview/data/footer.qml @@ -0,0 +1,30 @@ +import Qt 4.7 + +Rectangle { + width: 240 + height: 320 + color: "#ffffff" + Component { + id: myDelegate + Rectangle { + id: wrapper + objectName: "wrapper" + height: 20 + width: 240 + Text { + text: index + } + color: ListView.isCurrentItem ? "lightsteelblue" : "white" + } + } + ListView { + id: list + objectName: "list" + focus: true + width: 240 + height: 320 + model: testModel + delegate: myDelegate + footer: Text { objectName: "footer"; text: "Footer"; height: 30 } + } +} diff --git a/tests/auto/declarative/qdeclarativelistview/data/listview-initCurrent.qml b/tests/auto/declarative/qdeclarativelistview/data/listview-initCurrent.qml index 0599ddd..f3c2910 100644 --- a/tests/auto/declarative/qdeclarativelistview/data/listview-initCurrent.qml +++ b/tests/auto/declarative/qdeclarativelistview/data/listview-initCurrent.qml @@ -40,7 +40,7 @@ Rectangle { id: list objectName: "list" focus: true - currentIndex: 3 + currentIndex: 20 width: 240 height: 320 keyNavigationWraps: testWrap diff --git a/tests/auto/declarative/qdeclarativelistview/data/listview-sections.qml b/tests/auto/declarative/qdeclarativelistview/data/listview-sections.qml index a6f3ab8..9a5ea55 100644 --- a/tests/auto/declarative/qdeclarativelistview/data/listview-sections.qml +++ b/tests/auto/declarative/qdeclarativelistview/data/listview-sections.qml @@ -10,10 +10,10 @@ Rectangle { Item { id: wrapper objectName: "wrapper" - height: ListView.prevSection != ListView.section ? 40 : 20; + height: ListView.previousSection != ListView.section ? 40 : 20; width: 240 Rectangle { - y: wrapper.ListView.prevSection != wrapper.ListView.section ? 20 : 0 + y: wrapper.ListView.previousSection != wrapper.ListView.section ? 20 : 0 height: 20 width: parent.width color: wrapper.ListView.isCurrentItem ? "lightsteelblue" : "white" @@ -27,21 +27,26 @@ Rectangle { text: name } Text { - x: 120 + x: 100 id: textNumber objectName: "textNumber" text: number } Text { + objectName: "nextSection" + x: 150 + text: wrapper.ListView.nextSection + } + Text { x: 200 text: wrapper.y } } Rectangle { color: "#99bb99" - height: wrapper.ListView.prevSection != wrapper.ListView.section ? 20 : 0 + height: wrapper.ListView.previousSection != wrapper.ListView.section ? 20 : 0 width: parent.width - visible: wrapper.ListView.prevSection != wrapper.ListView.section ? true : false + visible: wrapper.ListView.previousSection != wrapper.ListView.section ? true : false Text { text: wrapper.ListView.section } } } diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index cd42b63..9c24e03 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -97,6 +97,7 @@ private slots: void QTBUG_9791(); void manualHighlight(); void QTBUG_11105(); + void footer(); private: template <class T> void items(); @@ -336,24 +337,24 @@ void tst_QDeclarativeListView::items() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties"); QTRY_VERIFY(testObject->error() == false); QTRY_VERIFY(listview->highlightItem() != 0); QTRY_COMPARE(listview->count(), model.count()); - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item // current item should be first item - QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 0)); + QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 0)); for (int i = 0; i < model.count(); ++i) { - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", i); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", i); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -382,7 +383,7 @@ void tst_QDeclarativeListView::items() T model2; ctxt->setContextProperty("testModel", &model2); - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); QTRY_VERIFY(itemCount == 0); QTRY_COMPARE(listview->highlightResizeSpeed(), 1000.0); @@ -414,14 +415,14 @@ void tst_QDeclarativeListView::changed() QDeclarativeFlickable *listview = findItem<QDeclarativeFlickable>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.modifyItem(1, "Will", "9876"); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); @@ -450,34 +451,34 @@ void tst_QDeclarativeListView::inserted() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.insertItem(1, "Will", "9876"); - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); // Confirm items positioned correctly for (int i = 0; i < model.count(); ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); QTRY_COMPARE(item->y(), i*20.0); } model.insertItem(0, "Foo", "1111"); // zero index, and current item - QTRY_COMPARE(viewport->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item - name = findItem<QDeclarativeText>(viewport, "textName", 0); + name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); @@ -485,7 +486,7 @@ void tst_QDeclarativeListView::inserted() // Confirm items positioned correctly for (int i = 0; i < model.count(); ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); QTRY_COMPARE(item->y(), i*20.0); } @@ -501,13 +502,13 @@ void tst_QDeclarativeListView::inserted() // Confirm items positioned correctly for (int i = 5; i < 5+15; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.0 - 20.0); } -// QTRY_COMPARE(listview->viewportHeight(), model.count() * 20.0); +// QTRY_COMPARE(listview->contentItemHeight(), model.count() * 20.0); delete canvas; } @@ -534,22 +535,22 @@ void tst_QDeclarativeListView::removed(bool animated) QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.removeItem(1); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -560,17 +561,17 @@ void tst_QDeclarativeListView::removed(bool animated) QTest::qWait(300); - name = findItem<QDeclarativeText>(viewport, "textName", 0); + name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(),i*20.0 + 20.0); @@ -581,9 +582,9 @@ void tst_QDeclarativeListView::removed(bool animated) qApp->processEvents(); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(),i*20.0+20.0); @@ -598,7 +599,7 @@ void tst_QDeclarativeListView::removed(bool animated) // Confirm items positioned correctly for (int i = 2; i < 18; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(),40+i*20.0); @@ -617,9 +618,9 @@ void tst_QDeclarativeListView::removed(bool animated) QTest::qWait(300); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(),40+i*20.0); @@ -665,8 +666,8 @@ void tst_QDeclarativeListView::clear() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.clear(); @@ -699,29 +700,29 @@ void tst_QDeclarativeListView::moved() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); model.moveItem(1, 4); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 1); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 1); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(1)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 1); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 1); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(1)); - name = findItem<QDeclarativeText>(viewport, "textName", 4); + name = findItem<QDeclarativeText>(contentItem, "textName", 4); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(4)); - number = findItem<QDeclarativeText>(viewport, "textNumber", 4); + number = findItem<QDeclarativeText>(contentItem, "textNumber", 4); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(4)); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -734,14 +735,14 @@ void tst_QDeclarativeListView::moved() // Confirm items positioned correctly and indexes correct for (int i = 3; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.0 + 20); - name = findItem<QDeclarativeText>(viewport, "textName", i); + name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - number = findItem<QDeclarativeText>(viewport, "textNumber", i); + number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -751,14 +752,14 @@ void tst_QDeclarativeListView::moved() // Confirm items positioned correctly and indexes correct for (int i = 3; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.0 + 20); - name = findItem<QDeclarativeText>(viewport, "textName", i); + name = findItem<QDeclarativeText>(contentItem, "textName", i); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(i)); - number = findItem<QDeclarativeText>(viewport, "textNumber", i); + number = findItem<QDeclarativeText>(contentItem, "textNumber", i); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(i)); } @@ -787,22 +788,22 @@ void tst_QDeclarativeListView::enforceRange() QTRY_COMPARE(listview->preferredHighlightEnd(), 100.0); QTRY_COMPARE(listview->highlightRangeMode(), QDeclarativeListView::StrictlyEnforceRange); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); // view should be positioned at the top of the range. - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", 0); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", 0); QTRY_VERIFY(item); QTRY_COMPARE(listview->contentY(), -100.0); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "textName", 0); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "textName", 0); QTRY_VERIFY(name != 0); QTRY_COMPARE(name->text(), model.name(0)); - QDeclarativeText *number = findItem<QDeclarativeText>(viewport, "textNumber", 0); + QDeclarativeText *number = findItem<QDeclarativeText>(contentItem, "textNumber", 0); QTRY_VERIFY(number != 0); QTRY_COMPARE(number->text(), model.number(0)); - // Check currentIndex is updated when viewport moves + // Check currentIndex is updated when contentItem moves listview->setContentY(20); QTRY_COMPARE(listview->currentIndex(), 6); @@ -838,13 +839,13 @@ void tst_QDeclarativeListView::spacing() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -854,9 +855,9 @@ void tst_QDeclarativeListView::spacing() QTRY_VERIFY(listview->spacing() == 10); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*30); @@ -865,9 +866,9 @@ void tst_QDeclarativeListView::spacing() listview->setSpacing(0); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.0); @@ -893,44 +894,46 @@ void tst_QDeclarativeListView::sections() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); QTRY_VERIFY(item); QTRY_COMPARE(item->y(), qreal(i*20 + ((i+4)/5) * 20)); + QDeclarativeText *next = findItem<QDeclarativeText>(item, "nextSection"); + QCOMPARE(next->text().toInt(), (i+1)/5); } // Remove section boundary model.removeItem(5); // New section header created - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", 5); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", 5); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 40.0); model.insertItem(3, "New Item", "0"); // Section header moved - item = findItem<QDeclarativeItem>(viewport, "wrapper", 5); + item = findItem<QDeclarativeItem>(contentItem, "wrapper", 5); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 20.0); - item = findItem<QDeclarativeItem>(viewport, "wrapper", 6); + item = findItem<QDeclarativeItem>(contentItem, "wrapper", 6); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 40.0); // insert item which will become a section header model.insertItem(6, "Replace header", "1"); - item = findItem<QDeclarativeItem>(viewport, "wrapper", 6); + item = findItem<QDeclarativeItem>(contentItem, "wrapper", 6); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 40.0); - item = findItem<QDeclarativeItem>(viewport, "wrapper", 7); + item = findItem<QDeclarativeItem>(contentItem, "wrapper", 7); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 20.0); @@ -942,7 +945,7 @@ void tst_QDeclarativeListView::sections() listview->setContentY(20); QTRY_COMPARE(listview->currentSection(), QString("0")); - item = findItem<QDeclarativeItem>(viewport, "wrapper", 1); + item = findItem<QDeclarativeItem>(contentItem, "wrapper", 1); QTRY_VERIFY(item); QTRY_COMPARE(item->height(), 20.0); @@ -970,37 +973,39 @@ void tst_QDeclarativeListView::currentIndex() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); - // current item should be third item - QTRY_COMPARE(listview->currentIndex(), 3); - QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 3)); - QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y()); + // current item should be 20th item at startup + // and current item should be in view + QCOMPARE(listview->currentIndex(), 20); + QCOMPARE(listview->contentY(), 99.0); + QCOMPARE(listview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 20)); + QCOMPARE(listview->highlightItem()->y(), listview->currentItem()->y()); // no wrap listview->setCurrentIndex(0); - QTRY_COMPARE(listview->currentIndex(), 0); + QCOMPARE(listview->currentIndex(), 0); listview->incrementCurrentIndex(); - QTRY_COMPARE(listview->currentIndex(), 1); + QCOMPARE(listview->currentIndex(), 1); listview->decrementCurrentIndex(); - QTRY_COMPARE(listview->currentIndex(), 0); + QCOMPARE(listview->currentIndex(), 0); listview->decrementCurrentIndex(); - QTRY_COMPARE(listview->currentIndex(), 0); + QCOMPARE(listview->currentIndex(), 0); // with wrap ctxt->setContextProperty("testWrap", QVariant(true)); - QTRY_VERIFY(listview->isWrapEnabled()); + QVERIFY(listview->isWrapEnabled()); listview->decrementCurrentIndex(); - QTRY_COMPARE(listview->currentIndex(), model.count()-1); + QCOMPARE(listview->currentIndex(), model.count()-1); QTRY_COMPARE(listview->contentY(), 279.0); listview->incrementCurrentIndex(); - QTRY_COMPARE(listview->currentIndex(), 0); + QCOMPARE(listview->currentIndex(), 0); QTRY_COMPARE(listview->contentY(), 0.0); @@ -1016,16 +1021,16 @@ void tst_QDeclarativeListView::currentIndex() qApp->processEvents(); QTest::keyClick(canvas, Qt::Key_Down); - QTRY_COMPARE(listview->currentIndex(), 1); + QCOMPARE(listview->currentIndex(), 1); QTest::keyClick(canvas, Qt::Key_Up); - QTRY_COMPARE(listview->currentIndex(), 0); + QCOMPARE(listview->currentIndex(), 0); // turn off auto highlight listview->setHighlightFollowsCurrentItem(false); - QTRY_VERIFY(listview->highlightFollowsCurrentItem() == false); + QVERIFY(listview->highlightFollowsCurrentItem() == false); - QTRY_VERIFY(listview->highlightItem()); + QVERIFY(listview->highlightItem()); qreal hlPos = listview->highlightItem()->y(); listview->setCurrentIndex(4); @@ -1049,8 +1054,8 @@ void tst_QDeclarativeListView::itemList() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "view"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QDeclarativeVisualItemModel *model = canvas->rootObject()->findChild<QDeclarativeVisualItemModel*>("itemModel"); QTRY_VERIFY(model != 0); @@ -1058,21 +1063,21 @@ void tst_QDeclarativeListView::itemList() QTRY_VERIFY(model->count() == 3); QTRY_COMPARE(listview->currentIndex(), 0); - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "item1"); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "item1"); QTRY_VERIFY(item); QTRY_COMPARE(item->x(), 0.0); - QDeclarativeText *text = findItem<QDeclarativeText>(viewport, "text1"); + QDeclarativeText *text = findItem<QDeclarativeText>(contentItem, "text1"); QTRY_VERIFY(text); QTRY_COMPARE(text->text(), QLatin1String("index: 0")); listview->setCurrentIndex(2); - item = findItem<QDeclarativeItem>(viewport, "item3"); + item = findItem<QDeclarativeItem>(contentItem, "item3"); QTRY_VERIFY(item); QTRY_COMPARE(item->x(), 480.0); - text = findItem<QDeclarativeText>(viewport, "text3"); + text = findItem<QDeclarativeText>(contentItem, "text3"); QTRY_VERIFY(text); QTRY_COMPARE(text->text(), QLatin1String("index: 2")); @@ -1099,16 +1104,16 @@ void tst_QDeclarativeListView::cacheBuffer() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_VERIFY(listview->delegate() != 0); QTRY_VERIFY(listview->model() != 0); QTRY_VERIFY(listview->highlight() != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -1117,12 +1122,12 @@ void tst_QDeclarativeListView::cacheBuffer() testObject->setCacheBuffer(400); QTRY_VERIFY(listview->cacheBuffer() == 400); - int newItemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int newItemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); QTRY_VERIFY(newItemCount > itemCount); // Confirm items positioned correctly for (int i = 0; i < model.count() && i < newItemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -1151,13 +1156,13 @@ void tst_QDeclarativeListView::positionViewAtIndex() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.); @@ -1168,9 +1173,9 @@ void tst_QDeclarativeListView::positionViewAtIndex() QTRY_COMPARE(listview->contentY(), 60.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.); @@ -1181,9 +1186,9 @@ void tst_QDeclarativeListView::positionViewAtIndex() QTRY_COMPARE(listview->contentY(), 440.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.); @@ -1194,9 +1199,9 @@ void tst_QDeclarativeListView::positionViewAtIndex() QTRY_COMPARE(listview->contentY(), 480.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.); @@ -1207,9 +1212,9 @@ void tst_QDeclarativeListView::positionViewAtIndex() QTRY_COMPARE(listview->contentY(), 0.); // Confirm items positioned correctly - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount-1; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->y(), i*20.); @@ -1276,13 +1281,13 @@ void tst_QDeclarativeListView::resetModel() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_COMPARE(listview->count(), model.rowCount()); for (int i = 0; i < model.rowCount(); ++i) { - QDeclarativeText *display = findItem<QDeclarativeText>(viewport, "displayText", i); + QDeclarativeText *display = findItem<QDeclarativeText>(contentItem, "displayText", i); QTRY_VERIFY(display != 0); QTRY_COMPARE(display->text(), strings.at(i)); } @@ -1294,7 +1299,7 @@ void tst_QDeclarativeListView::resetModel() QTRY_COMPARE(listview->count(), model.rowCount()); for (int i = 0; i < model.rowCount(); ++i) { - QDeclarativeText *display = findItem<QDeclarativeText>(viewport, "displayText", i); + QDeclarativeText *display = findItem<QDeclarativeText>(contentItem, "displayText", i); QTRY_VERIFY(display != 0); QTRY_COMPARE(display->text(), strings.at(i)); } @@ -1453,8 +1458,8 @@ void tst_QDeclarativeListView::QTBUG_9791() QDeclarativeListView *listview = qobject_cast<QDeclarativeListView*>(canvas->rootObject()); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_VERIFY(listview->delegate() != 0); QTRY_VERIFY(listview->model() != 0); @@ -1462,11 +1467,11 @@ void tst_QDeclarativeListView::QTBUG_9791() qApp->processEvents(); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); QVERIFY(itemCount == 3); for (int i = 0; i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), i*300.0); @@ -1493,17 +1498,17 @@ void tst_QDeclarativeListView::manualHighlight() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); QTRY_COMPARE(listview->currentIndex(), 0); - QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 0)); + QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 0)); QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y()); listview->setCurrentIndex(2); QTRY_COMPARE(listview->currentIndex(), 2); - QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 2)); + QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 2)); QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y()); } @@ -1527,13 +1532,13 @@ void tst_QDeclarativeListView::QTBUG_11105() QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); QTRY_VERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QTRY_VERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); // Confirm items positioned correctly - int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + int itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { - QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_VERIFY(item->y() == i*20); @@ -1548,12 +1553,43 @@ void tst_QDeclarativeListView::QTBUG_11105() ctxt->setContextProperty("testModel", &model2); - itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count(); + itemCount = findItems<QDeclarativeItem>(contentItem, "wrapper").count(); QCOMPARE(itemCount, 5); delete canvas; } +void tst_QDeclarativeListView::footer() +{ + QDeclarativeView *canvas = createView(); + + TestModel model; + for (int i = 0; i < 3; i++) + model.addItem("Item" + QString::number(i), ""); + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/footer.qml")); + qApp->processEvents(); + + QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list"); + QTRY_VERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QDeclarativeText *footer = findItem<QDeclarativeText>(contentItem, "footer"); + QVERIFY(footer); + QCOMPARE(footer->y(), 60.0); + + model.removeItem(1); + QTRY_COMPARE(footer->y(), 40.0); + + model.clear(); + QTRY_COMPARE(footer->y(), 0.0); +} + void tst_QDeclarativeListView::qListModelInterface_items() { items<TestModel>(); diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index d047a2a..b0b7a3b 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -47,6 +47,7 @@ #include <QtDeclarative/qdeclarativecomponent.h> #include <private/qdeclarativeloader_p.h> #include "testhttpserver.h" +#include "../../../shared/util.h" #define SERVER_PORT 14450 @@ -176,9 +177,7 @@ void tst_QDeclarativeLoader::clear() QCOMPARE(loader->progress(), 1.0); QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - QTest::qWait(500); - - QVERIFY(loader->item() == 0); + QTRY_VERIFY(loader->item() == 0); QCOMPARE(loader->progress(), 0.0); QCOMPARE(loader->status(), QDeclarativeLoader::Null); QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0); @@ -239,8 +238,8 @@ void tst_QDeclarativeLoader::urlToComponent() "}" ) , TEST_FILE("")); QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create()); - QTest::qWait(500); - QVERIFY(loader != 0); + QTest::qWait(200); + QTRY_VERIFY(loader != 0); QVERIFY(loader->item()); QCOMPARE(loader->progress(), 1.0); QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); diff --git a/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp b/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp index 8964f8a..b06ad7c 100644 --- a/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp +++ b/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp @@ -124,6 +124,7 @@ QML_DECLARE_TYPE(ValueInterceptorTestType); { \ cpptype v = (value); cpptype v2 = (value); \ QVERIFY(QDeclarativeMetaType::copy(QMetaType:: metatype, &v, 0)); \ + QCOMPARE((cpptype)(v),(cpptype)(defaultvalue)); \ QVERIFY(v == (defaultvalue)); \ QVERIFY(QDeclarativeMetaType::copy(QMetaType:: metatype, &v, &v2)); \ QVERIFY(v == (value)); \ @@ -273,7 +274,7 @@ void tst_qdeclarativemetatype::copy() QWidget widgetValue; COPY_TEST(QObject *, QObjectStar, &objectValue, 0); COPY_TEST(QWidget *, QWidgetStar, &widgetValue, 0); - COPY_TEST(qreal, QReal, 10.2, 0); + COPY_TEST(qreal, QReal, 10.5, 0); { QVariant tv = QVariant::fromValue(QVariant(10)); diff --git a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp index f1018b2..0c7780c 100644 --- a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp +++ b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp @@ -138,42 +138,37 @@ void tst_qdeclarativepixmapcache::single() expectedError = "Cannot open: " + target.toString(); } - QPixmap pixmap; + QDeclarativePixmap pixmap; QVERIFY(pixmap.width() <= 0); // Check Qt assumption - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(target, &pixmap, &errorString); + + pixmap.load(&engine, target); if (incache) { - QCOMPARE(errorString, expectedError); + QCOMPARE(pixmap.error(), expectedError); if (exists) { - QVERIFY(status == QDeclarativePixmapReply::Ready); + QVERIFY(pixmap.status() == QDeclarativePixmap::Ready); QVERIFY(pixmap.width() > 0); } else { - QVERIFY(status == QDeclarativePixmapReply::Error); + QVERIFY(pixmap.status() == QDeclarativePixmap::Error); QVERIFY(pixmap.width() <= 0); } } else { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(&engine, target); - QVERIFY(reply); QVERIFY(pixmap.width() <= 0); Slotter getter; - connect(reply, SIGNAL(finished()), &getter, SLOT(got())); + pixmap.connectFinished(&getter, SLOT(got())); QTestEventLoop::instance().enterLoop(10); QVERIFY(!QTestEventLoop::instance().timeout()); QVERIFY(getter.gotslot); - QString errorString; if (exists) { - QVERIFY(QDeclarativePixmapCache::get(target, &pixmap, &errorString) == QDeclarativePixmapReply::Ready); + QVERIFY(pixmap.status() == QDeclarativePixmap::Ready); QVERIFY(pixmap.width() > 0); } else { - QVERIFY(QDeclarativePixmapCache::get(target, &pixmap, &errorString) == QDeclarativePixmapReply::Error); + QVERIFY(pixmap.status() == QDeclarativePixmap::Error); QVERIFY(pixmap.width() <= 0); } - QCOMPARE(errorString, expectedError); + QCOMPARE(pixmap.error(), expectedError); } - - QCOMPARE(QDeclarativePixmapCache::pendingRequests(), 0); } void tst_qdeclarativepixmapcache::parallel_data() @@ -185,47 +180,36 @@ void tst_qdeclarativepixmapcache::parallel_data() QTest::addColumn<QUrl>("target2"); QTest::addColumn<int>("incache"); QTest::addColumn<int>("cancel"); // which one to cancel - QTest::addColumn<int>("requests"); QTest::newRow("local") << thisfile.resolved(QUrl("data/exists1.png")) << thisfile.resolved(QUrl("data/exists2.png")) << (localfile_optimized ? 2 : 0) - << -1 - << (localfile_optimized ? 0 : 2) - ; + << -1; QTest::newRow("remote") << QUrl("http://127.0.0.1:14452/exists2.png") << QUrl("http://127.0.0.1:14452/exists3.png") << 0 - << -1 - << 2 - ; + << -1; QTest::newRow("remoteagain") << QUrl("http://127.0.0.1:14452/exists2.png") << QUrl("http://127.0.0.1:14452/exists3.png") << 2 - << -1 - << 0 - ; + << -1; QTest::newRow("remotecopy") << QUrl("http://127.0.0.1:14452/exists4.png") << QUrl("http://127.0.0.1:14452/exists4.png") << 0 - << -1 - << 1 - ; + << -1; QTest::newRow("remotecopycancel") << QUrl("http://127.0.0.1:14452/exists5.png") << QUrl("http://127.0.0.1:14452/exists5.png") << 0 - << 0 - << 1 - ; + << 0; } void tst_qdeclarativepixmapcache::parallel() @@ -234,38 +218,38 @@ void tst_qdeclarativepixmapcache::parallel() QFETCH(QUrl, target2); QFETCH(int, incache); QFETCH(int, cancel); - QFETCH(int, requests); QList<QUrl> targets; targets << target1 << target2; - QList<QDeclarativePixmapReply*> replies; + QList<QDeclarativePixmap *> pixmaps; + QList<bool> pending; QList<Slotter*> getters; + for (int i=0; i<targets.count(); ++i) { QUrl target = targets.at(i); - QPixmap pixmap; - QString errorString; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(target, &pixmap, &errorString); - QDeclarativePixmapReply *reply = 0; - QVERIFY(status != QDeclarativePixmapReply::Error); - if (status != QDeclarativePixmapReply::Error && status != QDeclarativePixmapReply::Ready) - reply = QDeclarativePixmapCache::request(&engine, target); - replies.append(reply); - if (!reply) { - QVERIFY(pixmap.width() > 0); + QDeclarativePixmap *pixmap = new QDeclarativePixmap; + + pixmap->load(&engine, target); + + QVERIFY(pixmap->status() != QDeclarativePixmap::Error); + pixmaps.append(pixmap); + if (pixmap->isReady()) { + QVERIFY(pixmap->width() > 0); getters.append(0); + pending.append(false); } else { - QVERIFY(pixmap.width() <= 0); + QVERIFY(pixmap->width() <= 0); getters.append(new Slotter); - connect(reply, SIGNAL(finished()), getters[i], SLOT(got())); + pixmap->connectFinished(getters[i], SLOT(got())); + pending.append(true); } } QCOMPARE(incache+slotters, targets.count()); - QCOMPARE(QDeclarativePixmapCache::pendingRequests(), requests); if (cancel >= 0) { - QDeclarativePixmapCache::cancel(targets.at(cancel), getters[cancel]); + pixmaps.at(cancel)->clear(getters[cancel]); slotters--; } @@ -275,22 +259,21 @@ void tst_qdeclarativepixmapcache::parallel() } for (int i=0; i<targets.count(); ++i) { - QDeclarativePixmapReply *reply = replies[i]; - if (reply) { - if (i == cancel) { - QVERIFY(!getters[i]->gotslot); - } else { + QDeclarativePixmap *pixmap = pixmaps[i]; + + if (i == cancel) { + QVERIFY(!getters[i]->gotslot); + } else { + if (pending[i]) QVERIFY(getters[i]->gotslot); - QPixmap pixmap; - QString errorString; - QVERIFY(QDeclarativePixmapCache::get(targets[i], &pixmap, &errorString) == QDeclarativePixmapReply::Ready); - QVERIFY(pixmap.width() > 0); - } + + QVERIFY(pixmap->isReady()); + QVERIFY(pixmap->width() > 0); delete getters[i]; } } - QCOMPARE(QDeclarativePixmapCache::pendingRequests(), 0); + qDeleteAll(pixmaps); } QTEST_MAIN(tst_qdeclarativepixmapcache) diff --git a/tests/auto/declarative/qdeclarativepositioners/data/flow-testimplicitsize.qml b/tests/auto/declarative/qdeclarativepositioners/data/flow-testimplicitsize.qml new file mode 100644 index 0000000..6dd108e --- /dev/null +++ b/tests/auto/declarative/qdeclarativepositioners/data/flow-testimplicitsize.qml @@ -0,0 +1,16 @@ +import Qt 4.7 + +Rectangle { + width: 300; height: 200; + + property bool leftToRight: false + + Flow { + objectName: "flow" + flow: leftToRight ? Flow.LeftToRight : Flow.TopToBottom + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + Rectangle { color: "red"; width: 100; height: 50 } + Rectangle { color: "blue"; width: 100; height: 50 } + } +}
\ No newline at end of file diff --git a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp index 62ec707..0663991 100644 --- a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp +++ b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp @@ -75,6 +75,7 @@ private slots: void test_repeater(); void test_flow(); void test_flow_resize(); + void test_flow_implicit_resize(); void test_conflictinganchors(); private: QDeclarativeView *createView(const QString &filename); @@ -655,6 +656,28 @@ void tst_QDeclarativePositioners::test_flow_resize() delete canvas; } +void tst_QDeclarativePositioners::test_flow_implicit_resize() +{ + QDeclarativeView *canvas = createView(SRCDIR "/data/flow-testimplicitsize.qml"); + QVERIFY(canvas->rootObject() != 0); + + QDeclarativeFlow *flow = canvas->rootObject()->findChild<QDeclarativeFlow*>("flow"); + QVERIFY(flow != 0); + + QCOMPARE(flow->width(), 100.0); + QCOMPARE(flow->height(), 120.0); + + canvas->rootObject()->setProperty("leftToRight", true); + QCOMPARE(flow->width(), 220.0); + QCOMPARE(flow->height(), 50.0); + + canvas->rootObject()->setProperty("leftToRight", false); + QCOMPARE(flow->width(), 100.0); + QCOMPARE(flow->height(), 120.0); + + delete canvas; +} + QString warningMessage; void interceptWarnings(QtMsgType type, const char *msg) diff --git a/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.js b/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.js index c165e29..30499e9 100644 --- a/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.js +++ b/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.js @@ -5,3 +5,7 @@ function loadComponent() { return component.status; } +function createComponent() { + var component = Qt.createComponent("createComponentData.qml"); + return component.createObject(null); +} diff --git a/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.qml b/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.qml index aae7a91..33203c7 100644 --- a/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.qml +++ b/tests/auto/declarative/qdeclarativeqt/data/createComponent_lib.qml @@ -3,8 +3,10 @@ import "createComponent_lib.js" as Test Item { property int status: Component.Null + property int readValue: 0 Component.onCompleted: { status = Test.loadComponent() + readValue = Test.createComponent().test; } } diff --git a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp index fb100a5..895ee6c 100644 --- a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp +++ b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp @@ -365,14 +365,12 @@ void tst_qdeclarativeqt::createComponent() void tst_qdeclarativeqt::createComponent_pragmaLibrary() { // Currently, just loading createComponent_lib.qml causes crash on some platforms - /* QDeclarativeComponent component(&engine, TEST_FILE("createComponent_lib.qml")); QObject *object = component.create(); QVERIFY(object != 0); - - QEXPECT_FAIL("", "QTBUG-11507", Continue); QCOMPARE(object->property("status").toInt(), int(QDeclarativeComponent::Ready)); - */ + QCOMPARE(object->property("readValue").toInt(), int(1913)); + delete object; } void tst_qdeclarativeqt::createQmlObject() diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow1.qml b/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow1.qml deleted file mode 100644 index 8c9d8ad..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow1.qml +++ /dev/null @@ -1,3 +0,0 @@ -import Qt 4.7 - -SmoothedFollow {} diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow2.qml b/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow2.qml deleted file mode 100644 index a634302..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow2.qml +++ /dev/null @@ -1,5 +0,0 @@ -import Qt 4.7 - -SmoothedFollow { - to: 10; duration: 300; reversingMode: SmoothedFollow.Immediate -} diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow3.qml b/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow3.qml deleted file mode 100644 index c60da7f..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollow3.qml +++ /dev/null @@ -1,6 +0,0 @@ -import Qt 4.7 - -SmoothedFollow { - to: 10; velocity: 250; reversingMode: SmoothedFollow.Sync - maximumEasingTime: 150 -} diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowDisabled.qml b/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowDisabled.qml deleted file mode 100644 index 486bdee..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowDisabled.qml +++ /dev/null @@ -1,13 +0,0 @@ -import Qt 4.7 - -Rectangle { - width: 300; height: 300; - Rectangle { - objectName: "theRect" - color: "red" - width: 60; height: 60; - x: 100; y: 100; - SmoothedFollow on x { id: animX; objectName: "animX"; to: 200; enabled: true; duration: 200 } - SmoothedFollow on y { id: animY; objectName: "animY"; to: 200; enabled: false; duration: 200 } - } -} diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowValueSource.qml b/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowValueSource.qml deleted file mode 100644 index 2e01d74..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/data/smoothedfollowValueSource.qml +++ /dev/null @@ -1,13 +0,0 @@ -import Qt 4.7 - -Rectangle { - width: 300; height: 300; - Rectangle { - objectName: "theRect" - color: "red" - width: 60; height: 60; - x: 100; y: 100; - SmoothedFollow on x { objectName: "easeX"; to: 200; velocity: 500 } - SmoothedFollow on y { objectName: "easeY"; to: 200; duration: 250; velocity: 500 } - } -} diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp b/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp deleted file mode 100644 index b9ac23f..0000000 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp +++ /dev/null @@ -1,194 +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 <QtDeclarative/qdeclarativeview.h> - -#include <private/qdeclarativesmoothedfollow_p.h> -#include <private/qdeclarativerectangle_p.h> -#include <private/qdeclarativevaluetype_p.h> -#include "../../../shared/util.h" - -#ifdef Q_OS_SYMBIAN -// In Symbian OS test data is located in applications private dir -#define SRCDIR "." -#endif - -class tst_qdeclarativesmoothedfollow : public QObject -{ - Q_OBJECT -public: - tst_qdeclarativesmoothedfollow(); - -private slots: - void defaultValues(); - void values(); - void disabled(); - void valueSource(); - void followTo(); - -private: - QDeclarativeEngine engine; -}; - -tst_qdeclarativesmoothedfollow::tst_qdeclarativesmoothedfollow() -{ -} - -void tst_qdeclarativesmoothedfollow::defaultValues() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedfollow1.qml")); - QDeclarativeSmoothedFollow *obj = qobject_cast<QDeclarativeSmoothedFollow*>(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 0.); - QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->duration(), -1); - QCOMPARE(obj->maximumEasingTime(), -1); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedFollow::Eased); - - delete obj; -} - -void tst_qdeclarativesmoothedfollow::values() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedfollow2.qml")); - QDeclarativeSmoothedFollow *obj = qobject_cast<QDeclarativeSmoothedFollow*>(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 10.); - QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->duration(), 300); - QCOMPARE(obj->maximumEasingTime(), -1); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedFollow::Immediate); - - delete obj; -} - -void tst_qdeclarativesmoothedfollow::disabled() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedfollow3.qml")); - QDeclarativeSmoothedFollow *obj = qobject_cast<QDeclarativeSmoothedFollow*>(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 10.); - QCOMPARE(obj->velocity(), 250.); - QCOMPARE(obj->maximumEasingTime(), 150); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedFollow::Sync); - - delete obj; -} - -void tst_qdeclarativesmoothedfollow::valueSource() -{ - QDeclarativeEngine engine; - - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedfollowValueSource.qml")); - - QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create()); - QVERIFY(rect); - - QDeclarativeRectangle *theRect = rect->findChild<QDeclarativeRectangle*>("theRect"); - QVERIFY(theRect); - - QDeclarativeSmoothedFollow *easeX = rect->findChild<QDeclarativeSmoothedFollow*>("easeX"); - QVERIFY(easeX); - QVERIFY(easeX->enabled()); - - QDeclarativeSmoothedFollow *easeY = rect->findChild<QDeclarativeSmoothedFollow*>("easeY"); - QVERIFY(easeY); - QVERIFY(easeY->enabled()); - - // XXX get the proper duration - QTest::qWait(200); - - QTRY_COMPARE(theRect->x(), easeX->to()); - QTRY_COMPARE(theRect->y(), easeY->to()); - - QTRY_COMPARE(theRect->x(), qreal(200)); - QTRY_COMPARE(theRect->y(), qreal(200)); -} - -void tst_qdeclarativesmoothedfollow::followTo() -{ - QDeclarativeView canvas; - canvas.setFixedSize(240,320); - - canvas.setSource(QUrl::fromLocalFile(SRCDIR "/data/smoothedfollowDisabled.qml")); - canvas.show(); - canvas.setFocus(); - QVERIFY(canvas.rootObject() != 0); - - QDeclarativeRectangle *rect = canvas.rootObject()->findChild<QDeclarativeRectangle*>("theRect"); - QVERIFY(rect != 0); - - QDeclarativeSmoothedFollow *animX = canvas.rootObject()->findChild<QDeclarativeSmoothedFollow*>("animX"); - QVERIFY(animX != 0); - QDeclarativeSmoothedFollow *animY = canvas.rootObject()->findChild<QDeclarativeSmoothedFollow*>("animY"); - QVERIFY(animY != 0); - - QVERIFY(animX->enabled()); - QVERIFY(!animY->enabled()); - - // animX should track 'to' - animX->setTo(50.0); - // animY should not track this 'to' change - animY->setTo(50.0); - - // XXX get the proper duration - QTest::qWait(250); - - QTRY_COMPARE(rect->x(), animX->to()); - - QCOMPARE(rect->x(), 50.0); - QCOMPARE(rect->y(), 100.0); -} - -QTEST_MAIN(tst_qdeclarativesmoothedfollow) - -#include "tst_qdeclarativesmoothedfollow.moc" diff --git a/tests/auto/declarative/qdeclarativespringanimation/data/springanimation1.qml b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation1.qml new file mode 100644 index 0000000..07587bd --- /dev/null +++ b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation1.qml @@ -0,0 +1,4 @@ +import Qt 4.7 + +SpringAnimation { +} diff --git a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow2.qml b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation2.qml index 31a740a..562f44a 100644 --- a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow2.qml +++ b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation2.qml @@ -1,8 +1,9 @@ import Qt 4.7 -SpringFollow { +SpringAnimation { to: 1.44; velocity: 0.9 spring: 1.0; damping: 0.5 epsilon: 0.25; modulus: 360.0 - mass: 2.0; enabled: true + mass: 2.0; + running: true; } diff --git a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow3.qml b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation3.qml index 0fa4aa9..9f70bf4 100644 --- a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow3.qml +++ b/tests/auto/declarative/qdeclarativespringanimation/data/springanimation3.qml @@ -1,8 +1,8 @@ import Qt 4.7 -SpringFollow { +SpringAnimation { to: 1.44; velocity: 0.9 spring: 1.0; damping: 0.5 epsilon: 0.25; modulus: 360.0 - mass: 2.0; enabled: false + mass: 2.0; running: false } diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro b/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro index dff4922..213b262 100644 --- a/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro +++ b/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro @@ -2,7 +2,7 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += declarative gui macx:CONFIG -= app_bundle -SOURCES += tst_qdeclarativesmoothedfollow.cpp +SOURCES += tst_qdeclarativespringanimation.cpp symbian: { importFiles.sources = data diff --git a/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp b/tests/auto/declarative/qdeclarativespringanimation/tst_qdeclarativespringanimation.cpp index e0e2892..4b17a47 100644 --- a/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp +++ b/tests/auto/declarative/qdeclarativespringanimation/tst_qdeclarativespringanimation.cpp @@ -41,7 +41,7 @@ #include <qtest.h> #include <QtDeclarative/qdeclarativeengine.h> #include <QtDeclarative/qdeclarativecomponent.h> -#include <private/qdeclarativespringfollow_p.h> +#include <private/qdeclarativespringanimation_p.h> #include <private/qdeclarativevaluetype_p.h> #include "../../../shared/util.h" @@ -50,11 +50,11 @@ #define SRCDIR "." #endif -class tst_qdeclarativespringfollow : public QObject +class tst_qdeclarativespringanimation : public QObject { Q_OBJECT public: - tst_qdeclarativespringfollow(); + tst_qdeclarativespringanimation(); private slots: void defaultValues(); @@ -65,15 +65,15 @@ private: QDeclarativeEngine engine; }; -tst_qdeclarativespringfollow::tst_qdeclarativespringfollow() +tst_qdeclarativespringanimation::tst_qdeclarativespringanimation() { } -void tst_qdeclarativespringfollow::defaultValues() +void tst_qdeclarativespringanimation::defaultValues() { QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springfollow1.qml")); - QDeclarativeSpringFollow *obj = qobject_cast<QDeclarativeSpringFollow*>(c.create()); + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springanimation1.qml")); + QDeclarativeSpringAnimation *obj = qobject_cast<QDeclarativeSpringAnimation*>(c.create()); QVERIFY(obj != 0); @@ -83,19 +83,17 @@ void tst_qdeclarativespringfollow::defaultValues() QCOMPARE(obj->damping(), 0.); QCOMPARE(obj->epsilon(), 0.01); QCOMPARE(obj->modulus(), 0.); - QCOMPARE(obj->value(), 0.); QCOMPARE(obj->mass(), 1.); - QCOMPARE(obj->enabled(), true); - QCOMPARE(obj->inSync(), true); + QCOMPARE(obj->isRunning(), false); delete obj; } -void tst_qdeclarativespringfollow::values() +void tst_qdeclarativespringanimation::values() { QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springfollow2.qml")); - QDeclarativeSpringFollow *obj = qobject_cast<QDeclarativeSpringFollow*>(c.create()); + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springanimation2.qml")); + QDeclarativeSpringAnimation *obj = qobject_cast<QDeclarativeSpringAnimation*>(c.create()); QVERIFY(obj != 0); @@ -106,19 +104,18 @@ void tst_qdeclarativespringfollow::values() QCOMPARE(obj->epsilon(), 0.25); QCOMPARE(obj->modulus(), 360.0); QCOMPARE(obj->mass(), 2.0); - QCOMPARE(obj->enabled(), true); + QCOMPARE(obj->isRunning(), true); - QTRY_COMPARE(obj->value(), 1.44); - QTRY_COMPARE(obj->inSync(), true); + QTRY_COMPARE(obj->isRunning(), false); delete obj; } -void tst_qdeclarativespringfollow::disabled() +void tst_qdeclarativespringanimation::disabled() { QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springfollow3.qml")); - QDeclarativeSpringFollow *obj = qobject_cast<QDeclarativeSpringFollow*>(c.create()); + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/springanimation3.qml")); + QDeclarativeSpringAnimation *obj = qobject_cast<QDeclarativeSpringAnimation*>(c.create()); QVERIFY(obj != 0); @@ -129,14 +126,11 @@ void tst_qdeclarativespringfollow::disabled() QCOMPARE(obj->epsilon(), 0.25); QCOMPARE(obj->modulus(), 360.0); QCOMPARE(obj->mass(), 2.0); - QCOMPARE(obj->enabled(), false); - - QCOMPARE(obj->value(), 0.0); - QCOMPARE(obj->inSync(), false); + QCOMPARE(obj->isRunning(), false); delete obj; } -QTEST_MAIN(tst_qdeclarativespringfollow) +QTEST_MAIN(tst_qdeclarativespringanimation) -#include "tst_qdeclarativespringfollow.moc" +#include "tst_qdeclarativespringanimation.moc" diff --git a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow1.qml b/tests/auto/declarative/qdeclarativespringfollow/data/springfollow1.qml deleted file mode 100644 index 8528cfa..0000000 --- a/tests/auto/declarative/qdeclarativespringfollow/data/springfollow1.qml +++ /dev/null @@ -1,4 +0,0 @@ -import Qt 4.7 - -SpringFollow { -} diff --git a/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro b/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro deleted file mode 100644 index 1c17ba0..0000000 --- a/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro +++ /dev/null @@ -1,16 +0,0 @@ -load(qttest_p4) -contains(QT_CONFIG,declarative): QT += declarative gui -macx:CONFIG -= app_bundle - -SOURCES += tst_qdeclarativespringfollow.cpp - -symbian: { - importFiles.sources = data - importFiles.path = . - DEPLOYMENT = importFiles -} else { - DEFINES += SRCDIR=\\\"$$PWD\\\" -} - -CONFIG += parallel_test - diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 2913ddd..639b2f3 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -263,7 +263,6 @@ void tst_qdeclarativestates::attachedPropertyChanges() MyAttached *att = qobject_cast<MyAttached*>(attObj); QVERIFY(att); - QEXPECT_FAIL("", "QTBUG-11283", Abort); QCOMPARE(att->foo(), 1); } diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments.qml b/tests/auto/declarative/qdeclarativetext/data/alignments.qml new file mode 100644 index 0000000..762e2b6 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments.qml @@ -0,0 +1,41 @@ +import Qt 4.7 + +Rectangle { + id: top + width: 70; height: 70; + + property alias horizontalAlignment: t.horizontalAlignment + property alias verticalAlignment: t.verticalAlignment + property alias wrapMode: t.wrapMode + property alias running: timer.running + property string txt: "Test" + + Rectangle { + anchors.centerIn: parent + width: 40 + height: 40 + color: "green" + + Text { + id: t + + anchors.fill: parent + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignBottom + wrapMode: Text.WordWrap + text: top.txt + } + Timer { + id: timer + + interval: 1 + running: true + repeat: true + onTriggered: { + top.txt = top.txt + "<br>more " + top.txt.length; + if (top.txt.length > 50) + running = false + } + } + } +} diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_cb.png b/tests/auto/declarative/qdeclarativetext/data/alignments_cb.png Binary files differnew file mode 100644 index 0000000..99de219 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_cb.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_cc.png b/tests/auto/declarative/qdeclarativetext/data/alignments_cc.png Binary files differnew file mode 100644 index 0000000..cb85251 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_cc.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_ct.png b/tests/auto/declarative/qdeclarativetext/data/alignments_ct.png Binary files differnew file mode 100644 index 0000000..ddca549 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_ct.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_lb.png b/tests/auto/declarative/qdeclarativetext/data/alignments_lb.png Binary files differnew file mode 100644 index 0000000..1b50a81 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_lb.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_lc.png b/tests/auto/declarative/qdeclarativetext/data/alignments_lc.png Binary files differnew file mode 100644 index 0000000..f041b86 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_lc.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_lt.png b/tests/auto/declarative/qdeclarativetext/data/alignments_lt.png Binary files differnew file mode 100644 index 0000000..c75e0d1 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_lt.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_rb.png b/tests/auto/declarative/qdeclarativetext/data/alignments_rb.png Binary files differnew file mode 100644 index 0000000..b06a5da --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_rb.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_rc.png b/tests/auto/declarative/qdeclarativetext/data/alignments_rc.png Binary files differnew file mode 100644 index 0000000..e468857 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_rc.png diff --git a/tests/auto/declarative/qdeclarativetext/data/alignments_rt.png b/tests/auto/declarative/qdeclarativetext/data/alignments_rt.png Binary files differnew file mode 100644 index 0000000..576715f --- /dev/null +++ b/tests/auto/declarative/qdeclarativetext/data/alignments_rt.png diff --git a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp index 01120b1..80198eb 100644 --- a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp +++ b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp @@ -47,6 +47,8 @@ #include <QFontMetrics> #include <QGraphicsSceneMouseEvent> #include <qmath.h> +#include <QDeclarativeView> +#include <private/qapplication_p.h> #include "../../../shared/util.h" #include "testhttpserver.h" @@ -70,6 +72,9 @@ private slots: void elide(); void textFormat(); + void alignments_data(); + void alignments(); + void embeddedImages_data(); void embeddedImages(); @@ -108,6 +113,8 @@ private: QStringList colorStrings; QDeclarativeEngine engine; + + QDeclarativeView *createView(const QString &filename); }; tst_qdeclarativetext::tst_qdeclarativetext() @@ -163,6 +170,14 @@ tst_qdeclarativetext::tst_qdeclarativetext() // } +QDeclarativeView *tst_qdeclarativetext::createView(const QString &filename) +{ + QDeclarativeView *canvas = new QDeclarativeView(0); + + canvas->setSource(QUrl::fromLocalFile(filename)); + return canvas; +} + void tst_qdeclarativetext::text() { { @@ -383,6 +398,67 @@ void tst_qdeclarativetext::textFormat() } } + +void tst_qdeclarativetext::alignments_data() +{ + QTest::addColumn<int>("hAlign"); + QTest::addColumn<int>("vAlign"); + QTest::addColumn<QString>("expectfile"); + + QTest::newRow("LT") << int(Qt::AlignLeft) << int(Qt::AlignTop) << SRCDIR "/data/alignments_lt.png"; + QTest::newRow("RT") << int(Qt::AlignRight) << int(Qt::AlignTop) << SRCDIR "/data/alignments_rt.png"; + QTest::newRow("CT") << int(Qt::AlignHCenter) << int(Qt::AlignTop) << SRCDIR "/data/alignments_ct.png"; + + QTest::newRow("LB") << int(Qt::AlignLeft) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_lb.png"; + QTest::newRow("RB") << int(Qt::AlignRight) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_rb.png"; + QTest::newRow("CB") << int(Qt::AlignHCenter) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_cb.png"; + + QTest::newRow("LC") << int(Qt::AlignLeft) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_lc.png"; + QTest::newRow("RC") << int(Qt::AlignRight) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_rc.png"; + QTest::newRow("CC") << int(Qt::AlignHCenter) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_cc.png"; +} + + +void tst_qdeclarativetext::alignments() +{ + QFETCH(int, hAlign); + QFETCH(int, vAlign); + QFETCH(QString, expectfile); + +#ifdef Q_WS_X11 + // Font-specific, but not likely platform-specific, so only test on one platform + QFont fn; + fn.setRawName("-misc-fixed-medium-r-*-*-8-*-*-*-*-*-*-*"); + QApplication::setFont(fn); +#endif + + QDeclarativeView *canvas = createView(SRCDIR "/data/alignments.qml"); + + canvas->show(); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas)); + + QObject *ob = canvas->rootObject(); + QVERIFY(ob != 0); + ob->setProperty("horizontalAlignment",hAlign); + ob->setProperty("verticalAlignment",vAlign); + QTRY_COMPARE(ob->property("running").toBool(),false); + QImage actual(canvas->width(), canvas->height(), QImage::Format_RGB32); + actual.fill(qRgb(255,255,255)); + QPainter p(&actual); + canvas->render(&p); + + QImage expect(expectfile); + +#ifdef Q_WS_X11 + // Font-specific, but not likely platform-specific, so only test on one platform + if (QApplicationPrivate::graphics_system_name == "raster" || QApplicationPrivate::graphics_system_name == "") { + QCOMPARE(actual,expect); + } +#endif +} + //the alignment tests may be trivial o.oa void tst_qdeclarativetext::horizontalAlignment() { diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments.qml b/tests/auto/declarative/qdeclarativetextedit/data/alignments.qml new file mode 100644 index 0000000..9281a06 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments.qml @@ -0,0 +1,41 @@ +import Qt 4.7 + +Rectangle { + id: top + width: 70; height: 70; + + property alias horizontalAlignment: t.horizontalAlignment + property alias verticalAlignment: t.verticalAlignment + property alias wrapMode: t.wrapMode + property alias running: timer.running + property string txt: "Test" + + Rectangle { + anchors.centerIn: parent + width: 40 + height: 40 + color: "green" + + TextEdit { + id: t + + anchors.fill: parent + horizontalAlignment: TextEdit.AlignRight + verticalAlignment: TextEdit.AlignBottom + wrapMode: TextEdit.WordWrap + text: top.txt + } + Timer { + id: timer + + interval: 1 + running: true + repeat: true + onTriggered: { + top.txt = top.txt + "<br>more " + top.txt.length; + if (top.txt.length > 50) + running = false + } + } + } +} diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_cb.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_cb.png Binary files differnew file mode 100644 index 0000000..99de219 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_cb.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_cc.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_cc.png Binary files differnew file mode 100644 index 0000000..cb85251 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_cc.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_ct.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_ct.png Binary files differnew file mode 100644 index 0000000..ddca549 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_ct.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_lb.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lb.png Binary files differnew file mode 100644 index 0000000..1b50a81 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lb.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_lc.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lc.png Binary files differnew file mode 100644 index 0000000..f041b86 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lc.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_lt.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lt.png Binary files differnew file mode 100644 index 0000000..c75e0d1 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_lt.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_rb.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rb.png Binary files differnew file mode 100644 index 0000000..b06a5da --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rb.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_rc.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rc.png Binary files differnew file mode 100644 index 0000000..e468857 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rc.png diff --git a/tests/auto/declarative/qdeclarativetextedit/data/alignments_rt.png b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rt.png Binary files differnew file mode 100644 index 0000000..576715f --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/alignments_rt.png diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index f7ba7a1..4783bc7 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -53,14 +53,34 @@ #include <private/qdeclarativetextedit_p_p.h> #include <QFontMetrics> #include <QDeclarativeView> +#include <QDir> #include <QStyle> #include <QInputContext> +#include <private/qapplication_p.h> +#include <private/qtextcontrol_p.h> #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir #define SRCDIR "." #endif +QString createExpectedFileIfNotFound(const QString& filebasename, const QImage& actual) +{ + // XXX This will be replaced by some clever persistent platform image store. + QString persistent_dir = SRCDIR "/data"; + QString arch = "unknown-architecture"; // QTest needs to help with this. + + QString expectfile = persistent_dir + QDir::separator() + filebasename + "-" + arch + ".png"; + + if (!QFile::exists(expectfile)) { + actual.save(expectfile); + qWarning() << "created" << expectfile; + } + + return expectfile; +} + + class tst_qdeclarativetextedit : public QObject { @@ -73,6 +93,8 @@ private slots: void width(); void wrap(); void textFormat(); + void alignments(); + void alignments_data(); // ### these tests may be trivial void hAlign(); @@ -92,6 +114,7 @@ private slots: void delegateLoading(); void navigation(); void readOnly(); + void copyAndPaste(); void openInputPanelOnClick(); void openInputPanelOnFocus(); void geometrySignals(); @@ -204,7 +227,7 @@ void tst_qdeclarativetextedit::width() QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); QVERIFY(textEditObject != 0); - QCOMPARE(textEditObject->width(), 1.);//+1 for cursor + QCOMPARE(textEditObject->width(), 0.0); } for (int i = 0; i < standard.size(); i++) @@ -220,7 +243,7 @@ void tst_qdeclarativetextedit::width() QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); QVERIFY(textEditObject != 0); - QCOMPARE(textEditObject->width(), qreal(metricWidth + 1 + 3));//+3 is the current way of accounting for space between cursor and last character. + QCOMPARE(textEditObject->width(), qreal(metricWidth)); } for (int i = 0; i < richText.size(); i++) @@ -237,7 +260,7 @@ void tst_qdeclarativetextedit::width() QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); QVERIFY(textEditObject != 0); - QCOMPARE(textEditObject->width(), qreal(documentWidth + 1 + 3)); + QCOMPARE(textEditObject->width(), qreal(documentWidth)); } } @@ -297,6 +320,57 @@ void tst_qdeclarativetextedit::textFormat() } } +void tst_qdeclarativetextedit::alignments_data() +{ + QTest::addColumn<int>("hAlign"); + QTest::addColumn<int>("vAlign"); + QTest::addColumn<QString>("expectfile"); + + QTest::newRow("LT") << int(Qt::AlignLeft) << int(Qt::AlignTop) << "alignments_lt"; + QTest::newRow("RT") << int(Qt::AlignRight) << int(Qt::AlignTop) << "alignments_rt"; + QTest::newRow("CT") << int(Qt::AlignHCenter) << int(Qt::AlignTop) << "alignments_ct"; + + QTest::newRow("LB") << int(Qt::AlignLeft) << int(Qt::AlignBottom) << "alignments_lb"; + QTest::newRow("RB") << int(Qt::AlignRight) << int(Qt::AlignBottom) << "alignments_rb"; + QTest::newRow("CB") << int(Qt::AlignHCenter) << int(Qt::AlignBottom) << "alignments_cb"; + + QTest::newRow("LC") << int(Qt::AlignLeft) << int(Qt::AlignVCenter) << "alignments_lc"; + QTest::newRow("RC") << int(Qt::AlignRight) << int(Qt::AlignVCenter) << "alignments_rc"; + QTest::newRow("CC") << int(Qt::AlignHCenter) << int(Qt::AlignVCenter) << "alignments_cc"; +} + + +void tst_qdeclarativetextedit::alignments() +{ + QFETCH(int, hAlign); + QFETCH(int, vAlign); + QFETCH(QString, expectfile); + + QDeclarativeView *canvas = createView(SRCDIR "/data/alignments.qml"); + + canvas->show(); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas)); + + QObject *ob = canvas->rootObject(); + QVERIFY(ob != 0); + ob->setProperty("horizontalAlignment",hAlign); + ob->setProperty("verticalAlignment",vAlign); + QTRY_COMPARE(ob->property("running").toBool(),false); + QImage actual(canvas->width(), canvas->height(), QImage::Format_RGB32); + actual.fill(qRgb(255,255,255)); + QPainter p(&actual); + canvas->render(&p); + + expectfile = createExpectedFileIfNotFound(expectfile, actual); + + QImage expect(expectfile); + + QCOMPARE(actual,expect); +} + + //the alignment tests may be trivial o.oa void tst_qdeclarativetextedit::hAlign() { @@ -428,6 +502,23 @@ void tst_qdeclarativetextedit::font() void tst_qdeclarativetextedit::color() { + //test initial color + { + QString componentStr = "import Qt 4.7\nTextEdit { text: \"Hello World\" }"; + QDeclarativeComponent texteditComponent(&engine); + texteditComponent.setData(componentStr.toLatin1(), QUrl()); + QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); + + QDeclarativeTextEditPrivate *textEditPrivate = static_cast<QDeclarativeTextEditPrivate*>(QDeclarativeItemPrivate::get(textEditObject)); + + QVERIFY(textEditObject); + QVERIFY(textEditPrivate); + QVERIFY(textEditPrivate->control); + + QPalette pal = textEditPrivate->control->palette(); + QCOMPARE(textEditPrivate->color, QColor("black")); + QCOMPARE(textEditPrivate->color, pal.color(QPalette::Text)); + } //test normal for (int i = 0; i < colorStrings.size(); i++) { @@ -760,6 +851,52 @@ void tst_qdeclarativetextedit::navigation() QVERIFY(input->hasFocus() == true); } +void tst_qdeclarativetextedit::copyAndPaste() { +#ifndef QT_NO_CLIPBOARD + +#ifdef Q_WS_MAC + { + PasteboardRef pasteboard; + OSStatus status = PasteboardCreate(0, &pasteboard); + if (status == noErr) + CFRelease(pasteboard); + else + QSKIP("This machine doesn't support the clipboard", SkipAll); + } +#endif + + QString componentStr = "import Qt 4.7\nTextEdit { text: \"Hello world!\" }"; + QDeclarativeComponent textEditComponent(&engine); + textEditComponent.setData(componentStr.toLatin1(), QUrl()); + QDeclarativeTextEdit *textEdit = qobject_cast<QDeclarativeTextEdit*>(textEditComponent.create()); + QVERIFY(textEdit != 0); + + // copy and paste + QCOMPARE(textEdit->text().length(), 12); + textEdit->select(0, textEdit->text().length());; + textEdit->copy(); + QCOMPARE(textEdit->selectedText(), QString("Hello world!")); + QCOMPARE(textEdit->selectedText().length(), 12); + textEdit->setCursorPosition(0); + textEdit->paste(); + QCOMPARE(textEdit->text(), QString("Hello world!Hello world!")); + QCOMPARE(textEdit->text().length(), 24); + + // select word + textEdit->setCursorPosition(0); + textEdit->selectWord(); + QCOMPARE(textEdit->selectedText(), QString("Hello")); + + // select all and cut + textEdit->selectAll(); + textEdit->cut(); + QCOMPARE(textEdit->text().length(), 0); + textEdit->paste(); + QCOMPARE(textEdit->text(), QString("Hello world!Hello world!")); + QCOMPARE(textEdit->text().length(), 24); +#endif +} + void tst_qdeclarativetextedit::readOnly() { QDeclarativeView *canvas = createView(SRCDIR "/data/readOnly.qml"); diff --git a/tests/auto/declarative/qdeclarativetextinput/data/halign_center.png b/tests/auto/declarative/qdeclarativetextinput/data/halign_center.png Binary files differnew file mode 100644 index 0000000..53e09a8 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextinput/data/halign_center.png diff --git a/tests/auto/declarative/qdeclarativetextinput/data/halign_left.png b/tests/auto/declarative/qdeclarativetextinput/data/halign_left.png Binary files differnew file mode 100644 index 0000000..247acbc --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextinput/data/halign_left.png diff --git a/tests/auto/declarative/qdeclarativetextinput/data/halign_right.png b/tests/auto/declarative/qdeclarativetextinput/data/halign_right.png Binary files differnew file mode 100644 index 0000000..691bc75 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextinput/data/halign_right.png diff --git a/tests/auto/declarative/qdeclarativetextinput/data/horizontalAlignment.qml b/tests/auto/declarative/qdeclarativetextinput/data/horizontalAlignment.qml new file mode 100644 index 0000000..b97f18e --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextinput/data/horizontalAlignment.qml @@ -0,0 +1,22 @@ +import Qt 4.7 + +Rectangle { + id: top + width: 70; height: 70; + + property alias horizontalAlignment: text.horizontalAlignment + property string text: "Test" + + Rectangle { + anchors.centerIn: parent + width: 60 + height: 20 + color: "green" + + TextInput { + id: text + anchors.fill: parent + text: top.text + } + } +} diff --git a/tests/auto/declarative/qdeclarativetextinput/data/inputmethodhints.qml b/tests/auto/declarative/qdeclarativetextinput/data/inputmethods.qml index da6b81f..405ee22 100644 --- a/tests/auto/declarative/qdeclarativetextinput/data/inputmethodhints.qml +++ b/tests/auto/declarative/qdeclarativetextinput/data/inputmethods.qml @@ -3,4 +3,5 @@ import Qt 4.7 TextInput { text: "Hello world!" inputMethodHints: Qt.ImhNoPredictiveText + Keys.onLeftPressed: {} } diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index a55b42e..a48bc39 100644 --- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -47,14 +47,32 @@ #include <private/qdeclarativetextinput_p.h> #include <private/qdeclarativetextinput_p_p.h> #include <QDebug> +#include <QDir> #include <QStyle> #include <QInputContext> +#include <private/qapplication_p.h> #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir #define SRCDIR "." #endif +QString createExpectedFileIfNotFound(const QString& filebasename, const QImage& actual) +{ + // XXX This will be replaced by some clever persistent platform image store. + QString persistent_dir = SRCDIR "/data"; + QString arch = "unknown-architecture"; // QTest needs to help with this. + + QString expectfile = persistent_dir + QDir::separator() + filebasename + "-" + arch + ".png"; + + if (!QFile::exists(expectfile)) { + actual.save(expectfile); + qWarning() << "created" << expectfile; + } + + return expectfile; +} + class tst_qdeclarativetextinput : public QObject { @@ -63,21 +81,26 @@ public: tst_qdeclarativetextinput(); private slots: + void text(); void width(); void font(); void color(); void selection(); + void horizontalAlignment_data(); + void horizontalAlignment(); + void positionAt(); void maxLength(); void masks(); void validators(); - void inputMethodHints(); + void inputMethods(); void cursorDelegate(); void navigation(); + void copyAndPaste(); void readOnly(); void openInputPanelOnClick(); @@ -153,7 +176,7 @@ void tst_qdeclarativetextinput::width() QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput*>(textinputComponent.create()); QVERIFY(textinputObject != 0); - QCOMPARE(textinputObject->width(), 1.);//1 for the cursor + QCOMPARE(textinputObject->width(), 0.0); delete textinputObject; } @@ -170,7 +193,8 @@ void tst_qdeclarativetextinput::width() QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput*>(textinputComponent.create()); QVERIFY(textinputObject != 0); - QCOMPARE(textinputObject->width(), qreal(metricWidth) + 1.);//1 for the cursor + int delta = abs(int(textinputObject->width()) - metricWidth); + QVERIFY(delta <= 3.0); // As best as we can hope for cross-platform. delete textinputObject; } @@ -370,6 +394,46 @@ void tst_qdeclarativetextinput::selection() delete textinputObject; } +void tst_qdeclarativetextinput::horizontalAlignment_data() +{ + QTest::addColumn<int>("hAlign"); + QTest::addColumn<QString>("expectfile"); + + QTest::newRow("L") << int(Qt::AlignLeft) << "halign_left"; + QTest::newRow("R") << int(Qt::AlignRight) << "halign_right"; + QTest::newRow("C") << int(Qt::AlignHCenter) << "halign_center"; +} + +void tst_qdeclarativetextinput::horizontalAlignment() +{ + QFETCH(int, hAlign); + QFETCH(QString, expectfile); + + QDeclarativeView *canvas = createView(SRCDIR "/data/horizontalAlignment.qml"); + + canvas->show(); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas)); + QObject *ob = canvas->rootObject(); + QVERIFY(ob != 0); + ob->setProperty("horizontalAlignment",hAlign); + QImage actual(canvas->width(), canvas->height(), QImage::Format_RGB32); + actual.fill(qRgb(255,255,255)); + { + QPainter p(&actual); + canvas->render(&p); + } + + expectfile = createExpectedFileIfNotFound(expectfile, actual); + + QImage expect(expectfile); + + QCOMPARE(actual,expect); + + delete canvas; +} + void tst_qdeclarativetextinput::positionAt() { QDeclarativeView *canvas = createView(SRCDIR "/data/positionAt.qml"); @@ -412,11 +476,13 @@ void tst_qdeclarativetextinput::positionAt() void tst_qdeclarativetextinput::maxLength() { - //QString componentStr = "import Qt 4.7\nTextInput { maximumLength: 10; }"; QDeclarativeView *canvas = createView(SRCDIR "/data/maxLength.qml"); + QVERIFY(canvas->rootObject() != 0); canvas->show(); canvas->setFocus(); - QVERIFY(canvas->rootObject() != 0); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject()); QVERIFY(textinputObject != 0); QVERIFY(textinputObject->text().isEmpty()); @@ -557,18 +623,31 @@ void tst_qdeclarativetextinput::validators() delete canvas; } -void tst_qdeclarativetextinput::inputMethodHints() +void tst_qdeclarativetextinput::inputMethods() { - QDeclarativeView *canvas = createView(SRCDIR "/data/inputmethodhints.qml"); + QDeclarativeView *canvas = createView(SRCDIR "/data/inputmethods.qml"); canvas->show(); canvas->setFocus(); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + // test input method hints QVERIFY(canvas->rootObject() != 0); - QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject()); - QVERIFY(textinputObject != 0); - QVERIFY(textinputObject->inputMethodHints() & Qt::ImhNoPredictiveText); - textinputObject->setInputMethodHints(Qt::ImhUppercaseOnly); - QVERIFY(textinputObject->inputMethodHints() & Qt::ImhUppercaseOnly); + QDeclarativeTextInput *input = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject()); + QVERIFY(input != 0); + QVERIFY(input->inputMethodHints() & Qt::ImhNoPredictiveText); + input->setInputMethodHints(Qt::ImhUppercaseOnly); + QVERIFY(input->inputMethodHints() & Qt::ImhUppercaseOnly); + + QVERIFY(canvas->rootObject() != 0); + + input->setFocus(true); + QVERIFY(input->hasFocus() == true); + // test that input method event is committed + QInputMethodEvent event; + event.setCommitString( "My ", -12, 0); + QApplication::sendEvent(canvas, &event); + QCOMPARE(input->text(), QString("My Hello world!")); delete canvas; } @@ -619,6 +698,52 @@ void tst_qdeclarativetextinput::navigation() delete canvas; } +void tst_qdeclarativetextinput::copyAndPaste() { +#ifndef QT_NO_CLIPBOARD + +#ifdef Q_WS_MAC + { + PasteboardRef pasteboard; + OSStatus status = PasteboardCreate(0, &pasteboard); + if (status == noErr) + CFRelease(pasteboard); + else + QSKIP("This machine doesn't support the clipboard", SkipAll); + } +#endif + + QString componentStr = "import Qt 4.7\nTextInput { text: \"Hello world!\" }"; + QDeclarativeComponent textInputComponent(&engine); + textInputComponent.setData(componentStr.toLatin1(), QUrl()); + QDeclarativeTextInput *textInput = qobject_cast<QDeclarativeTextInput*>(textInputComponent.create()); + QVERIFY(textInput != 0); + + // copy and paste + QCOMPARE(textInput->text().length(), 12); + textInput->select(0, textInput->text().length());; + textInput->copy(); + QCOMPARE(textInput->selectedText(), QString("Hello world!")); + QCOMPARE(textInput->selectedText().length(), 12); + textInput->setCursorPosition(0); + textInput->paste(); + QCOMPARE(textInput->text(), QString("Hello world!Hello world!")); + QCOMPARE(textInput->text().length(), 24); + + // select word + textInput->setCursorPosition(0); + textInput->selectWord(); + QCOMPARE(textInput->selectedText(), QString("Hello")); + + // select all and cut + textInput->selectAll(); + textInput->cut(); + QCOMPARE(textInput->text().length(), 0); + textInput->paste(); + QCOMPARE(textInput->text(), QString("Hello world!Hello world!")); + QCOMPARE(textInput->text().length(), 24); +#endif +} + void tst_qdeclarativetextinput::cursorDelegate() { QDeclarativeView* view = createView(SRCDIR "/data/cursorTest.qml"); @@ -930,7 +1055,7 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() QCOMPARE(ic.openInputPanelReceived, false); // input method should be disabled - // if TextEdit loses focus + // if TextInput loses focus input.setFocus(false); QApplication::processEvents(); QVERIFY(view.inputContext() == 0); diff --git a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp index 81334f2..a4819f3 100644 --- a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp +++ b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp @@ -141,8 +141,8 @@ void tst_qdeclarativevaluetypes::pointf() MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); QVERIFY(object != 0); - QCOMPARE(object->property("p_x").toDouble(), 11.3); - QCOMPARE(object->property("p_y").toDouble(), -10.9); + QCOMPARE(float(object->property("p_x").toDouble()), float(11.3)); + QCOMPARE(float(object->property("p_y").toDouble()), float(-10.9)); QCOMPARE(object->property("copy"), QVariant(QPointF(11.3, -10.9))); delete object; @@ -191,8 +191,8 @@ void tst_qdeclarativevaluetypes::sizef() MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); QVERIFY(object != 0); - QCOMPARE(object->property("s_width").toDouble(), 0.1); - QCOMPARE(object->property("s_height").toDouble(), 100923.2); + QCOMPARE(float(object->property("s_width").toDouble()), float(0.1)); + QCOMPARE(float(object->property("s_height").toDouble()), float(100923.2)); QCOMPARE(object->property("copy"), QVariant(QSizeF(0.1, 100923.2))); delete object; @@ -287,10 +287,10 @@ void tst_qdeclarativevaluetypes::rectf() MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); QVERIFY(object != 0); - QCOMPARE(object->property("r_x").toDouble(), 103.8); - QCOMPARE(object->property("r_y").toDouble(), 99.2); - QCOMPARE(object->property("r_width").toDouble(), 88.1); - QCOMPARE(object->property("r_height").toDouble(), 77.6); + QCOMPARE(float(object->property("r_x").toDouble()), float(103.8)); + QCOMPARE(float(object->property("r_y").toDouble()), float(99.2)); + QCOMPARE(float(object->property("r_width").toDouble()), float(88.1)); + QCOMPARE(float(object->property("r_height").toDouble()), float(77.6)); QCOMPARE(object->property("copy"), QVariant(QRectF(103.8, 99.2, 88.1, 77.6))); delete object; diff --git a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp index f30f758..b08da0f 100644 --- a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp +++ b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp @@ -43,6 +43,7 @@ #include <QtDeclarative/qdeclarativeengine.h> #include <QtDeclarative/qdeclarativeview.h> #include <QtDeclarative/qdeclarativeitem.h> +#include <QtGui/qmenubar.h> #include "../../../shared/util.h" #include "qmlruntime.h" #include "../../../shared/util.h" @@ -52,6 +53,12 @@ #define SRCDIR "." #endif +#if defined(Q_OS_MAC) || defined(Q_WS_MAEMO_5) || defined(Q_WS_S60) +# define MENUBAR_HEIGHT(mw) 0 +#else +# define MENUBAR_HEIGHT(mw) (mw->menuBar()->height()) +#endif + class tst_QDeclarativeViewer : public QObject { @@ -75,28 +82,34 @@ tst_QDeclarativeViewer::tst_QDeclarativeViewer() { } +#define TEST_INITIAL_SIZES(viewer) { \ + QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject()); \ + QVERIFY(rootItem); \ +\ + QCOMPARE(rootItem->width(), 200.0); \ + QCOMPARE(rootItem->height(), 300.0); \ + QTRY_COMPARE(viewer->view()->size(), QSize(200, 300)); \ + QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); \ + QCOMPARE(viewer->size(), QSize(200, 300 + MENUBAR_HEIGHT(viewer))); \ + QCOMPARE(viewer->size(), viewer->sizeHint()); \ +} + void tst_QDeclarativeViewer::orientation() { - QWidget window; - QDeclarativeViewer *viewer = new QDeclarativeViewer(&window); + QDeclarativeViewer *viewer = new QDeclarativeViewer(); QVERIFY(viewer); viewer->open(SRCDIR "/data/orientation.qml"); QVERIFY(viewer->view()); QVERIFY(viewer->menuBar()); QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject()); QVERIFY(rootItem); - window.show(); + viewer->show(); - QApplication::setActiveWindow(&window); - QTest::qWaitForWindowShown(&window); - QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&window)); + QApplication::setActiveWindow(viewer); + QTest::qWaitForWindowShown(viewer); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer)); - QCOMPARE(rootItem->width(), 200.0); - QCOMPARE(rootItem->height(), 300.0); - QTRY_COMPARE(viewer->view()->size(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); - QCOMPARE(viewer->size(), viewer->sizeHint()); + TEST_INITIAL_SIZES(viewer); viewer->rotateOrientation(); qApp->processEvents(); @@ -105,7 +118,7 @@ void tst_QDeclarativeViewer::orientation() QCOMPARE(rootItem->height(), 200.0); QTRY_COMPARE(viewer->view()->size(), QSize(300, 200)); QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(300, 200)); - QCOMPARE(viewer->size(), QSize(300, 200+viewer->menuBar()->height())); + QCOMPARE(viewer->size(), QSize(300, 200 + MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), viewer->sizeHint()); viewer->rotateOrientation(); @@ -115,8 +128,10 @@ void tst_QDeclarativeViewer::orientation() QCOMPARE(rootItem->height(), 300.0); QTRY_COMPARE(viewer->view()->size(), QSize(200, 300)); QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); + QCOMPARE(viewer->size(), QSize(200, 300 + MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), viewer->sizeHint()); + + delete viewer; } void tst_QDeclarativeViewer::loading() @@ -135,23 +150,17 @@ void tst_QDeclarativeViewer::loading() QTest::qWaitForWindowShown(viewer); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer)); - // initial size - QTRY_COMPARE(rootItem->width(), 200.0); - QTRY_COMPARE(rootItem->height(), 300.0); - QCOMPARE(viewer->view()->size(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); - QCOMPARE(viewer->size(), viewer->sizeHint()); + TEST_INITIAL_SIZES(viewer); viewer->resize(QSize(400, 500)); qApp->processEvents(); // window resized QTRY_COMPARE(rootItem->width(), 400.0); - QTRY_COMPARE(rootItem->height(), 500.0-viewer->menuBar()->height()); - QCOMPARE(viewer->view()->size(), QSize(400, 500-viewer->menuBar()->height())); + QTRY_COMPARE(rootItem->height(), 500.0 - MENUBAR_HEIGHT(viewer)); + QCOMPARE(viewer->view()->size(), QSize(400, 500 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500-viewer->menuBar()->height())); + QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), QSize(400, 500)); QCOMPARE(viewer->size(), viewer->sizeHint()); @@ -165,7 +174,7 @@ void tst_QDeclarativeViewer::loading() QCOMPARE(viewer->view()->size(), QSize(200, 300)); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); + QCOMPARE(viewer->size(), QSize(200, 300 + MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), viewer->sizeHint()); viewer->resize(QSize(400, 500)); @@ -173,10 +182,10 @@ void tst_QDeclarativeViewer::loading() // window resized again QTRY_COMPARE(rootItem->width(), 400.0); - QTRY_COMPARE(rootItem->height(), 500.0-viewer->menuBar()->height()); - QCOMPARE(viewer->view()->size(), QSize(400, 500-viewer->menuBar()->height())); + QTRY_COMPARE(rootItem->height(), 500.0 - MENUBAR_HEIGHT(viewer)); + QCOMPARE(viewer->view()->size(), QSize(400, 500 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500-viewer->menuBar()->height())); + QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), QSize(400, 500)); QCOMPARE(viewer->size(), viewer->sizeHint()); @@ -190,8 +199,10 @@ void tst_QDeclarativeViewer::loading() QCOMPARE(viewer->view()->size(), QSize(200, 300)); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); + QCOMPARE(viewer->size(), QSize(200, 300 + MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), viewer->sizeHint()); + + delete viewer; } void tst_QDeclarativeViewer::fileBrowser() @@ -226,6 +237,8 @@ void tst_QDeclarativeViewer::fileBrowser() QVERIFY(viewer->view()); QVERIFY(viewer->menuBar()); QVERIFY(browserItem); + + delete viewer; } void tst_QDeclarativeViewer::resizing() @@ -243,14 +256,7 @@ void tst_QDeclarativeViewer::resizing() QTest::qWaitForWindowShown(viewer); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer)); - // initial size - QCOMPARE(rootItem->width(), 200.0); - QCOMPARE(rootItem->height(), 300.0); - QCOMPARE(viewer->view()->size(), QSize(200, 300)); - QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300)); - QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height())); - QCOMPARE(viewer->size(), viewer->sizeHint()); + TEST_INITIAL_SIZES(viewer); viewer->setSizeToView(false); @@ -261,10 +267,10 @@ void tst_QDeclarativeViewer::resizing() QCOMPARE(rootItem->width(), 150.0); QCOMPARE(rootItem->height(), 200.0); - QCOMPARE(viewer->view()->size(), QSize(150, 200)); + QTRY_COMPARE(viewer->view()->size(), QSize(150, 200)); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(150, 200)); - QCOMPARE(viewer->size(), QSize(150, 200+viewer->menuBar()->height())); + QCOMPARE(viewer->size(), QSize(150, 200 + MENUBAR_HEIGHT(viewer))); // do not size root object to view viewer->resize(QSize(180,250)); @@ -278,16 +284,18 @@ void tst_QDeclarativeViewer::resizing() qApp->processEvents(); QTRY_COMPARE(rootItem->width(), 250.0); - QTRY_COMPARE(rootItem->height(), 350.0-viewer->menuBar()->height()); - QCOMPARE(viewer->view()->size(), QSize(250, 350-viewer->menuBar()->height())); + QTRY_COMPARE(rootItem->height(), 350.0 - MENUBAR_HEIGHT(viewer)); + QTRY_COMPARE(viewer->view()->size(), QSize(250, 350 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->view()->initialSize(), QSize(200, 300)); - QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(250, 350-viewer->menuBar()->height())); + QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(250, 350 - MENUBAR_HEIGHT(viewer))); QCOMPARE(viewer->size(), QSize(250, 350)); // do not size view to root object rootItem->setWidth(150); rootItem->setHeight(200); QTRY_COMPARE(viewer->size(), QSize(250, 350)); + + delete viewer; } void tst_QDeclarativeViewer::paths() @@ -300,6 +308,8 @@ void tst_QDeclarativeViewer::paths() viewer->addPluginPath("miscPluginPath"); viewer->view()->engine()->pluginPathList().contains("miscPluginPath"); + + delete viewer; } void tst_QDeclarativeViewer::slowMode() @@ -309,6 +319,8 @@ void tst_QDeclarativeViewer::slowMode() viewer->setSlowMode(true); viewer->setSlowMode(false); + + delete viewer; } QTEST_MAIN(tst_QDeclarativeViewer) diff --git a/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp b/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp index 90c9c6f..43d4d06 100644 --- a/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp +++ b/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp @@ -173,10 +173,10 @@ void tst_qdeclarativevisualdatamodel::objectListModel() QDeclarativeListView *listview = qobject_cast<QDeclarativeListView*>(view.rootObject()); QVERIFY(listview != 0); - QDeclarativeItem *viewport = listview->viewport(); - QVERIFY(viewport != 0); + QDeclarativeItem *contentItem = listview->contentItem(); + QVERIFY(contentItem != 0); - QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "name", 0); + QDeclarativeText *name = findItem<QDeclarativeText>(contentItem, "name", 0); QCOMPARE(name->text(), QString("Item 1")); dataList[0]->setProperty("name", QLatin1String("Changed")); diff --git a/tests/auto/declarative/qdeclarativewebview/data/basic.qml b/tests/auto/declarative/qdeclarativewebview/data/basic.qml index a5a8d34..ff5d3fd 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/basic.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/basic.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 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 5af76ed..3adfff8 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/elements.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/elements.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 1.0 WebView { url: "elements.html" diff --git a/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml b/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml index 4141166..9f07a51 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/javaScript.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 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 2061b5f..a0cc4c8 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/loadError.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/loadError.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 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 d066c07..e5967b5 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/newwindows.qml @@ -1,7 +1,7 @@ // Demonstrates opening new WebViews from HTML import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 1.0 Grid { columns: 3 diff --git a/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml index 45684ff..569f4a5 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/propertychanges.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 1.0 Item { width: 240 diff --git a/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml b/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml index b14bcf9..1edd436 100644 --- a/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml +++ b/tests/auto/declarative/qdeclarativewebview/data/sethtml.qml @@ -1,5 +1,5 @@ import Qt 4.7 -import org.webkit 1.0 +import QtWebKit 1.0 WebView { html: "<p>This is a <b>string</b> set on the WebView" diff --git a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp index f33e5a4..2bded6b 100644 --- a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp +++ b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp @@ -156,10 +156,8 @@ void tst_qdeclarativewebview::basicProperties() 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"))); @@ -258,9 +256,7 @@ void tst_qdeclarativewebview::historyNav() 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"))); diff --git a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp index 8e98874..3140265 100644 --- a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp +++ b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp @@ -134,7 +134,7 @@ void tst_QDeclarativeWorkerScript::messaging_data() QTest::newRow("invalid") << QVariant(); QTest::newRow("bool") << qVariantFromValue(true); QTest::newRow("int") << qVariantFromValue(1001); - QTest::newRow("real") << qVariantFromValue(10334.323); + QTest::newRow("real") << qVariantFromValue(10334.375); QTest::newRow("string") << qVariantFromValue(QString("More cheeeese, Gromit!")); QTest::newRow("variant list") << qVariantFromValue((QVariantList() << "a" << "b" << "c")); } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml index 7ca0ca5..0df727b 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml @@ -14,27 +14,27 @@ Rectangle { } Rectangle { - width: 50; height: 20; y: 60; color: "red" - SmoothedFollow on x { to: rect.x; velocity: 400; enabled: true } + width: 50; height: 20; x: rect.x; y: 60; color: "red" + Behavior on x { SmoothedAnimation { velocity: 400 } } } Rectangle { - width: 50; height: 20; y: 90; color: "yellow" - SmoothedFollow on x { to: rect.x; velocity: 300; reversingMode: SmoothedAnimation.Immediate; enabled: true } + width: 50; height: 20; x: rect.x; y: 90; color: "yellow" + Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } } } Rectangle { - width: 50; height: 20; y: 120; color: "green" - SmoothedFollow on x { to: rect.x; reversingMode: SmoothedAnimation.Sync; enabled: true } + width: 50; height: 20; x: rect.x; y: 120; color: "green" + Behavior on x { SmoothedAnimation { reversingMode: SmoothedAnimation.Sync } } } Rectangle { - width: 50; height: 20; y: 150; color: "purple" - SmoothedFollow on x { to: rect.x; maximumEasingTime: 200; enabled: true } + width: 50; height: 20; x: rect.x; y: 150; color: "purple" + Behavior on x { SmoothedAnimation { maximumEasingTime: 200 } } } Rectangle { - width: 50; height: 20; y: 180; color: "blue" - SmoothedFollow on x { to: rect.x; duration: 300; enabled: true } + width: 50; height: 20; x: rect.x; y: 180; color: "blue" + Behavior on x { SmoothedAnimation { duration: 300 } } } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml index d981763..c64497a 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml @@ -22,10 +22,11 @@ Rectangle { smooth: true transform: Rotation { id: hourRotation - origin.x: 7.5; origin.y: 73; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: (clock.hours * 30) + (clock.minutes * 0.5) + origin.x: 7.5; origin.y: 73 + angle: (clock.hours * 30) + (clock.minutes * 0.5) + + Behavior on angle { + SpringAnimation { spring: 2; damping: 0.2; modulus: 360 } } } } @@ -36,10 +37,11 @@ Rectangle { smooth: true transform: Rotation { id: minuteRotation - origin.x: 6.5; origin.y: 83; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - to: clock.minutes * 6 + origin.x: 6.5; origin.y: 83 + angle: clock.minutes * 6 + + Behavior on angle { + SpringAnimation { spring: 2; damping: 0.2; modulus: 360 } } } } @@ -50,10 +52,11 @@ Rectangle { smooth: true transform: Rotation { id: secondRotation - origin.x: 2.5; origin.y: 80; angle: 0 - SpringFollow on angle { - spring: 5; damping: 0.25; modulus: 360 - to: clock.seconds * 6 + origin.x: 2.5; origin.y: 80 + angle: clock.seconds * 6 + + Behavior on angle { + SpringAnimation { spring: 5; damping: 0.25; modulus: 360 } } } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml index cabdce7..05b93df 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml @@ -3,6 +3,7 @@ import Qt 4.7 Rectangle { color: "#ffffff" width: 320; height: 240 + Rectangle { id: rect color: "#00ff00" @@ -25,22 +26,22 @@ Rectangle { Rectangle { color: "#ff0000" x: rect.width; width: rect.width; height: 20 - y: 200 - SpringFollow on y { to: rect.y; velocity: 200 } + y: rect.y + Behavior on y { SpringAnimation { velocity: 200 } } } // Spring Rectangle { color: "#ff0000" x: rect.width * 2; width: rect.width/2; height: 20 - y: 200 - SpringFollow on y { to: rect.y; spring: 1.0; damping: 0.2 } + y: rect.y + Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2 } } } Rectangle { color: "#880000" x: rect.width * 2.5; width: rect.width/2; height: 20 - y: 200 - SpringFollow on y { to: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object + y: rect.y + Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2; mass: 3.0 } } // "heavier" object } // Follow mouse @@ -49,15 +50,22 @@ Rectangle { anchors.fill: parent Rectangle { id: ball + property int targetX: mouseRegion.mouseX - 10 + property int targetY: mouseRegion.mouseY - 10 + + x: targetX + y: targetY width: 20; height: 20 radius: 10 color: "#0000ff" - SpringFollow on x { id: f1; to: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } - SpringFollow on y { id: f2; to: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } + + Behavior on x { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } } + Behavior on y { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } } + states: [ State { name: "following" - when: !f1.inSync || !f2.inSync + when: ball.x != ball.targetX || ball.y != ball.targetY PropertyChanges { target: ball; color: "#ff0000" } } ] diff --git a/tests/auto/linguist/lrelease/tst_lrelease.cpp b/tests/auto/linguist/lrelease/tst_lrelease.cpp index fdb384e..3b2c2d2 100644 --- a/tests/auto/linguist/lrelease/tst_lrelease.cpp +++ b/tests/auto/linguist/lrelease/tst_lrelease.cpp @@ -171,7 +171,12 @@ void tst_lrelease::mixedcodecs() { QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/mixedcodecs-ts11.ts")); QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/mixedcodecs-ts20.ts")); +#ifdef Q_OS_WIN + QVERIFY(!QProcess::execute("fc /b testdata\\mixedcodecs-ts11.qm testdata\\mixedcodecs-ts20.qm")); +#else QVERIFY(!QProcess::execute("cmp testdata/mixedcodecs-ts11.qm testdata/mixedcodecs-ts20.qm")); +#endif + QTranslator translator; QVERIFY(translator.load("testdata/mixedcodecs-ts11.qm")); qApp->installTranslator(&translator); diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp index a56d842..19f3677 100644 --- a/tests/auto/moc/tst_moc.cpp +++ b/tests/auto/moc/tst_moc.cpp @@ -1322,6 +1322,25 @@ public slots: void foo(struct const_ *) {}; }; + +template<typename T1, typename T2> +class TestTemplate2 +{ +}; + +class QTBUG11647_constInTemplateParameter : public QObject +{ Q_OBJECT +public slots: + void testSlot(TestTemplate2<const int, const short*>) {} + void testSlot2(TestTemplate2<int, short const * const >) {} + void testSlot3(TestTemplate2<TestTemplate2 < const int, const short* > const *, + TestTemplate2< TestTemplate2 < void, int > , unsigned char *> > ) {} + +signals: + void testSignal(TestTemplate2<const int, const short*>); +}; + + QTEST_APPLESS_MAIN(tst_Moc) #include "tst_moc.moc" diff --git a/tests/auto/qdatetime/tst_qdatetime.cpp b/tests/auto/qdatetime/tst_qdatetime.cpp index 47c54a5..0900b35 100644 --- a/tests/auto/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/qdatetime/tst_qdatetime.cpp @@ -1456,6 +1456,12 @@ void tst_QDateTime::fromString() dt = QDateTime::fromString("2002-10-01", Qt::ISODate); QCOMPARE(dt, QDateTime(QDate(2002, 10, 1), QTime(0, 0, 0, 0))); + dt = QDateTime::fromString("1987-02-13T13:24:51+01:00", Qt::ISODate); + QCOMPARE(dt, QDateTime(QDate(1987, 2, 13), QTime(12, 24, 51), Qt::UTC)); + + dt = QDateTime::fromString("1987-02-13T13:24:51-01:00", Qt::ISODate); + QCOMPARE(dt, QDateTime(QDate(1987, 2, 13), QTime(14, 24, 51), Qt::UTC)); + dt = QDateTime::fromString("Thu Jan 1 00:12:34 1970 GMT"); QCOMPARE(dt.toUTC(), QDateTime(QDate(1970, 1, 1), QTime(0, 12, 34), Qt::UTC)); diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index fe68c8e..3634ce9 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -422,6 +422,7 @@ private slots: void setGraphicsEffect(); void panel(); void addPanelToActiveScene(); + void panelWithFocusItem(); void activate(); void setActivePanelOnInactiveScene(); void activationOnShowHide(); @@ -442,6 +443,7 @@ private slots: void updateMicroFocus(); void textItem_shortcuts(); void scroll(); + void stopClickFocusPropagation(); // task specific tests below me void task141694_textItemEnsureVisible(); @@ -461,6 +463,7 @@ private slots: void sortItemsWhileAdding(); void doNotMarkFullUpdateIfNotInScene(); void itemDiesDuringDraggingOperation(); + void QTBUG_12112_focusItem(); private: QList<QGraphicsItem *> paintedItems; @@ -8415,6 +8418,54 @@ void tst_QGraphicsItem::panel() QVERIFY(!panel1->isActive()); } +void tst_QGraphicsItem::panelWithFocusItem() +{ + QGraphicsScene scene; + QEvent activate(QEvent::WindowActivate); + QApplication::sendEvent(&scene, &activate); + + QGraphicsRectItem *parentPanel = new QGraphicsRectItem; + QGraphicsRectItem *parentPanelFocusItem = new QGraphicsRectItem(parentPanel); + parentPanel->setFlag(QGraphicsItem::ItemIsPanel); + parentPanelFocusItem->setFlag(QGraphicsItem::ItemIsFocusable); + parentPanelFocusItem->setFocus(); + scene.addItem(parentPanel); + + QVERIFY(parentPanel->isActive()); + QVERIFY(parentPanelFocusItem->hasFocus()); + QCOMPARE(parentPanel->focusItem(), (QGraphicsItem *)parentPanelFocusItem); + QCOMPARE(parentPanelFocusItem->focusItem(), (QGraphicsItem *)parentPanelFocusItem); + + QGraphicsRectItem *childPanel = new QGraphicsRectItem; + QGraphicsRectItem *childPanelFocusItem = new QGraphicsRectItem(childPanel); + childPanel->setFlag(QGraphicsItem::ItemIsPanel); + childPanelFocusItem->setFlag(QGraphicsItem::ItemIsFocusable); + childPanelFocusItem->setFocus(); + + QVERIFY(!childPanelFocusItem->hasFocus()); + QCOMPARE(childPanel->focusItem(), (QGraphicsItem *)childPanelFocusItem); + QCOMPARE(childPanelFocusItem->focusItem(), (QGraphicsItem *)childPanelFocusItem); + + childPanel->setParentItem(parentPanel); + + QVERIFY(!parentPanel->isActive()); + QVERIFY(!parentPanelFocusItem->hasFocus()); + QCOMPARE(parentPanel->focusItem(), (QGraphicsItem *)parentPanelFocusItem); + QCOMPARE(parentPanelFocusItem->focusItem(), (QGraphicsItem *)parentPanelFocusItem); + + QVERIFY(childPanel->isActive()); + QVERIFY(childPanelFocusItem->hasFocus()); + QCOMPARE(childPanel->focusItem(), (QGraphicsItem *)childPanelFocusItem); + QCOMPARE(childPanelFocusItem->focusItem(), (QGraphicsItem *)childPanelFocusItem); + + childPanel->hide(); + + QVERIFY(parentPanel->isActive()); + QVERIFY(parentPanelFocusItem->hasFocus()); + QCOMPARE(parentPanel->focusItem(), (QGraphicsItem *)parentPanelFocusItem); + QCOMPARE(parentPanelFocusItem->focusItem(), (QGraphicsItem *)parentPanelFocusItem); +} + void tst_QGraphicsItem::addPanelToActiveScene() { QGraphicsScene scene; @@ -10268,6 +10319,59 @@ void tst_QGraphicsItem::scroll() QCOMPARE(item2->lastExposedRect, expectedItem2Expose); } +void tst_QGraphicsItem::stopClickFocusPropagation() +{ + class MyItem : public QGraphicsRectItem + { + public: + MyItem() : QGraphicsRectItem(0, 0, 100, 100) {} + void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) + { + painter->fillRect(boundingRect(), hasFocus() ? QBrush(Qt::red) : brush()); + } + }; + + QGraphicsScene scene(-50, -50, 400, 400); + scene.setStickyFocus(true); + + QGraphicsRectItem *noFocusOnTop = new MyItem; + noFocusOnTop->setBrush(Qt::yellow); + noFocusOnTop->setFlag(QGraphicsItem::ItemStopsClickFocusPropagation); + + QGraphicsRectItem *focusableUnder = new MyItem; + focusableUnder->setBrush(Qt::blue); + focusableUnder->setFlag(QGraphicsItem::ItemIsFocusable); + focusableUnder->setPos(50, 50); + + QGraphicsRectItem *itemWithFocus = new MyItem; + itemWithFocus->setBrush(Qt::black); + itemWithFocus->setFlag(QGraphicsItem::ItemIsFocusable); + itemWithFocus->setPos(250, 10); + + scene.addItem(noFocusOnTop); + scene.addItem(focusableUnder); + scene.addItem(itemWithFocus); + focusableUnder->stackBefore(noFocusOnTop); + itemWithFocus->setFocus(); + + QGraphicsView view(&scene); + view.show(); + QTest::qWaitForWindowShown(&view); + + QApplication::setActiveWindow(&view); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); + QVERIFY(itemWithFocus->hasFocus()); + + QPointF mousePressPoint = noFocusOnTop->mapToScene(QPointF()); + mousePressPoint.rx() += 60; + mousePressPoint.ry() += 60; + const QList<QGraphicsItem *> itemsAtMousePressPosition = scene.items(mousePressPoint); + QVERIFY(itemsAtMousePressPosition.contains(focusableUnder)); + + sendMousePress(&scene, mousePressPoint); + QVERIFY(itemWithFocus->hasFocus()); +} + void tst_QGraphicsItem::QTBUG_5418_textItemSetDefaultColor() { struct Item : public QGraphicsTextItem @@ -10621,5 +10725,31 @@ void tst_QGraphicsItem::itemDiesDuringDraggingOperation() delete item; QVERIFY(QGraphicsScenePrivate::get(&scene)->dragDropItem == 0); } + +void tst_QGraphicsItem::QTBUG_12112_focusItem() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + QGraphicsRectItem *item1 = new QGraphicsRectItem(0, 0, 20, 20); + item1->setFlag(QGraphicsItem::ItemIsFocusable); + QGraphicsRectItem *item2 = new QGraphicsRectItem(20, 20, 20, 20); + item2->setFlag(QGraphicsItem::ItemIsFocusable); + item1->setFocus(); + scene.addItem(item2); + scene.addItem(item1); + + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(QApplication::activeWindow(), (QWidget *)&view); + + QVERIFY(item1->focusItem()); + QVERIFY(!item2->focusItem()); + + item2->setFocus(); + QVERIFY(!item1->focusItem()); + QVERIFY(item2->focusItem()); +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index ed8ff04..a771332 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -176,6 +176,7 @@ private slots: void task243004_setStyleCrash(); void task250119_shortcutContext(); void QT_BUG_6544_tabFocusFirstUnsetWhenRemovingItems(); + void QT_BUG_12056_tabFocusFirstUnsetWhenRemovingItems(); }; @@ -3089,6 +3090,25 @@ void tst_QGraphicsWidget::QT_BUG_6544_tabFocusFirstUnsetWhenRemovingItems() //This should not crash } +void tst_QGraphicsWidget::QT_BUG_12056_tabFocusFirstUnsetWhenRemovingItems() +{ + QGraphicsScene scene; + QGraphicsWidget* item1 = new QGraphicsWidget; + QGraphicsWidget* item2 = new QGraphicsWidget; + QGraphicsWidget* item3 = new QGraphicsWidget; + + scene.addItem(item1); + scene.addItem(item2); + + scene.removeItem(item2); + scene.removeItem(item1); + delete item2; + delete item1; + + scene.addItem(item3); + + //This should not crash +} QTEST_MAIN(tst_QGraphicsWidget) #include "tst_qgraphicswidget.moc" diff --git a/tests/auto/qimage/tst_qimage.cpp b/tests/auto/qimage/tst_qimage.cpp index 2164b05..4219920 100644 --- a/tests/auto/qimage/tst_qimage.cpp +++ b/tests/auto/qimage/tst_qimage.cpp @@ -945,11 +945,11 @@ void tst_QImage::rotate() const int n = original.colorTable().size(); for (int x = 0; x < w; ++x) { original.setPixel(x, 0, x % n); - original.setPixel(x,h - 1, n - (x % n)); + original.setPixel(x, h - 1, n - (x % n) - 1); } for (int y = 0; y < h; ++y) { original.setPixel(0, y, y % n); - original.setPixel(w - 1, y, n - (y % n)); + original.setPixel(w - 1, y, n - (y % n) - 1); } } diff --git a/tests/auto/qmenubar/tst_qmenubar.cpp b/tests/auto/qmenubar/tst_qmenubar.cpp index 4cb63a1..cc9fb0c 100644 --- a/tests/auto/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/qmenubar/tst_qmenubar.cpp @@ -168,6 +168,7 @@ private slots: void task256322_highlight(); void menubarSizeHint(); void taskQTBUG4965_escapeEaten(); + void taskQTBUG11823_crashwithInvisibleActions(); #if defined(QT3_SUPPORT) void indexBasedInsertion_data(); @@ -1690,6 +1691,34 @@ void tst_QMenuBar::taskQTBUG4965_escapeEaten() QTRY_VERIFY(!menubar.isVisible()); } +void tst_QMenuBar::taskQTBUG11823_crashwithInvisibleActions() +{ + QMenuBar menubar; + menubar.setNativeMenuBar(false); //we can't check the geometry of native menubars + + QAction * m = menubar.addAction( "&m" ); + QAction * a = menubar.addAction( "&a" ); + + menubar.show(); + QApplication::setActiveWindow(&menubar); + QTest::qWaitForWindowShown(&menubar); + menubar.setActiveAction(m); + QCOMPARE(menubar.activeAction(), m); + QTest::keyClick(0, Qt::Key_Right); + QCOMPARE(menubar.activeAction(), a); + QTest::keyClick(0, Qt::Key_Right); + QCOMPARE(menubar.activeAction(), m); + a->setVisible(false); + + menubar.setActiveAction(m); + QCOMPARE(menubar.activeAction(), m); //the active action shouldn't have changed + + //it used to crash here because the action is invisible + QTest::keyClick(0, Qt::Key_Right); + QCOMPARE(menubar.activeAction(), m); //the active action shouldn't have changed +} + + #if defined(QT3_SUPPORT) void tst_QMenuBar::indexBasedInsertion_data() { diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp index f1dde48..df75ae8 100644 --- a/tests/auto/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp @@ -876,6 +876,8 @@ void tst_QMetaObject::normalizedType_data() QTest::newRow("template5") << "QList< ::Foo::Bar>" << "QList< ::Foo::Bar>"; QTest::newRow("template6") << "QList<::Foo::Bar>" << "QList<::Foo::Bar>"; QTest::newRow("template7") << "QList<QList<int> >" << "QList<QList<int> >"; + QTest::newRow("template8") << "QMap<const int, const short*>" << "QMap<const int,const short*>"; + QTest::newRow("template9") << "QPair<const QPair<int, int const *> , QPair<QHash<int, const char*> > >" << "QPair<const QPair<int,const int*>,QPair<QHash<int,const char*> > >"; QTest::newRow("value1") << "const QString &" << "QString"; QTest::newRow("value2") << "QString const &" << "QString"; QTest::newRow("constInName1") << "constconst" << "constconst"; diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp index 701dc2e..27ee6e7 100644 --- a/tests/auto/qpainter/tst_qpainter.cpp +++ b/tests/auto/qpainter/tst_qpainter.cpp @@ -2648,12 +2648,16 @@ void tst_QPainter::setOpacity() p.drawImage(imageRect, src, imageRect); p.end(); - QImage expected(imageSize, destFormat); - p.begin(&expected); - p.fillRect(imageRect, QColor(127, 127, 127)); - p.end(); - - QCOMPARE(dest, expected); + QImage actual = dest.convertToFormat(QImage::Format_RGB32); + + for (int y = 0; y < actual.height(); ++y) { + QRgb *p = (QRgb *)actual.scanLine(y); + for (int x = 0; x < actual.width(); ++x) { + QVERIFY(qAbs(qRed(p[x]) - 127) <= 0xf); + QVERIFY(qAbs(qGreen(p[x]) - 127) <= 0xf); + QVERIFY(qAbs(qBlue(p[x]) - 127) <= 0xf); + } + } } void tst_QPainter::drawhelper_blend_untransformed_data() diff --git a/tests/auto/qpixmap/loadFromData/designer_indexed8_with_alpha_animated.gif b/tests/auto/qpixmap/loadFromData/designer_indexed8_with_alpha_animated.gif Binary files differnew file mode 100644 index 0000000..f813c05 --- /dev/null +++ b/tests/auto/qpixmap/loadFromData/designer_indexed8_with_alpha_animated.gif diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp index 179f068..f22edf6 100644 --- a/tests/auto/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/qpixmap/tst_qpixmap.cpp @@ -44,6 +44,7 @@ #include <qpixmap.h> #include <qbitmap.h> #include <qimage.h> +#include <qimagereader.h> #include <qmatrix.h> #include <qdesktopwidget.h> #include <qpaintengine.h> @@ -175,6 +176,11 @@ private slots: void loadFromDataImage_data(); void loadFromDataImage(); + void fromImageReader_data(); + void fromImageReader(); + + void fromImageReaderAnimatedGif(); + void preserveDepth(); void splash_crash(); @@ -1577,6 +1583,61 @@ void tst_QPixmap::loadFromDataImage() QVERIFY(pixmapsAreEqual(&pixmapWithCopy, &directLoadingPixmap)); } +void tst_QPixmap::fromImageReader_data() +{ + QTest::addColumn<QString>("imagePath"); +#ifdef Q_OS_SYMBIAN + const QString prefix = QLatin1String(SRCDIR) + "loadFromData"; +#else + const QString prefix = QLatin1String(SRCDIR) + "/loadFromData"; +#endif + QTest::newRow("designer_argb32.png") << prefix + "/designer_argb32.png"; + QTest::newRow("designer_indexed8_no_alpha.png") << prefix + "/designer_indexed8_no_alpha.png"; + QTest::newRow("designer_indexed8_with_alpha.png") << prefix + "/designer_indexed8_with_alpha.png"; + QTest::newRow("designer_rgb32.png") << prefix + "/designer_rgb32.png"; + QTest::newRow("designer_indexed8_no_alpha.gif") << prefix + "/designer_indexed8_no_alpha.gif"; + QTest::newRow("designer_indexed8_with_alpha.gif") << prefix + "/designer_indexed8_with_alpha.gif"; + QTest::newRow("designer_rgb32.jpg") << prefix + "/designer_rgb32.jpg"; +} + +void tst_QPixmap::fromImageReader() +{ + QFETCH(QString, imagePath); + + QImage imageRef(imagePath); + QPixmap pixmapWithCopy = QPixmap::fromImage(imageRef); + + QImageReader imageReader(imagePath); + + QPixmap directLoadingPixmap = QPixmap::fromImageReader(&imageReader); + + QVERIFY(pixmapsAreEqual(&pixmapWithCopy, &directLoadingPixmap)); +} + +void tst_QPixmap::fromImageReaderAnimatedGif() +{ +#ifdef Q_OS_SYMBIAN + const QString prefix = QLatin1String(SRCDIR) + "loadFromData"; +#else + const QString prefix = QLatin1String(SRCDIR) + "/loadFromData"; +#endif + const QString path = prefix + QString::fromLatin1("/designer_indexed8_with_alpha_animated.gif"); + + QImageReader referenceReader(path); + QImageReader pixmapReader(path); + + Q_ASSERT(referenceReader.canRead()); + Q_ASSERT(referenceReader.imageCount() > 1); + + for (int i = 0; i < referenceReader.imageCount(); ++i) { + QImage refImage = referenceReader.read(); + QPixmap refPixmap = QPixmap::fromImage(refImage); + + QPixmap directLoadingPixmap = QPixmap::fromImageReader(&pixmapReader); + QVERIFY(pixmapsAreEqual(&refPixmap, &directLoadingPixmap)); + } +} + void tst_QPixmap::task_246446() { // This crashed without the bugfix in 246446 diff --git a/tests/auto/qprocess/testProcessSpacesArgs/main.cpp b/tests/auto/qprocess/testProcessSpacesArgs/main.cpp index d842934..ae5d3ae 100644 --- a/tests/auto/qprocess/testProcessSpacesArgs/main.cpp +++ b/tests/auto/qprocess/testProcessSpacesArgs/main.cpp @@ -44,9 +44,14 @@ int main(int argc, char ** argv) { -#if defined(__SYMBIAN32__) +#if defined(__SYMBIAN32__) || defined(WINCE) || defined(_WIN32_WCE) +# if defined(__SYMBIAN32__) // Printing to stdout messes up the out.txt, so open a file and print there. FILE* file = fopen("c:\\logs\\qprocess_args_test.txt","w+"); +# else + // No pipes on this "OS" + FILE* file = fopen("\\temp\\qprocess_args_test.txt","w+"); +# endif for (int i = 0; i < argc; ++i) { if (i) fprintf(file, "|"); diff --git a/tests/auto/qprocess/tst_qprocess.cpp b/tests/auto/qprocess/tst_qprocess.cpp index 8dae9a0..fd310f4 100644 --- a/tests/auto/qprocess/tst_qprocess.cpp +++ b/tests/auto/qprocess/tst_qprocess.cpp @@ -93,6 +93,7 @@ private slots: void getSetCheck(); void constructing(); void simpleStart(); + void execute(); void startDetached(); void crashTest(); void crashTest2(); @@ -131,6 +132,9 @@ private slots: void waitForBytesWrittenInABytesWrittenSlot(); void spaceArgsTest_data(); void spaceArgsTest(); +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) + void nativeArguments(); +#endif void exitCodeTest(); void setEnvironment_data(); void setEnvironment(); @@ -284,6 +288,14 @@ void tst_QProcess::simpleStart() QCOMPARE(qVariantValue<QProcess::ProcessState>(spy.at(2).at(0)), QProcess::NotRunning); } //----------------------------------------------------------------------------- +void tst_QProcess::execute() +{ + QCOMPARE(QProcess::execute("testProcessNormal/testProcessNormal", + QStringList() << "arg1" << "arg2"), 0); + QCOMPARE(QProcess::execute("nonexistingexe"), -2); +} + +//----------------------------------------------------------------------------- void tst_QProcess::startDetached() { QProcess proc; @@ -1621,6 +1633,55 @@ void tst_QProcess::spaceArgsTest() process = 0; } +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) + +//----------------------------------------------------------------------------- +void tst_QProcess::nativeArguments() +{ + QProcess proc; + + // This doesn't actually need special quoting, so it is pointless to use + // native arguments here, but that's not the point of this test. + proc.setNativeArguments("hello kitty, \"*\"!"); + + proc.start(QString::fromLatin1("testProcessSpacesArgs/nospace"), QStringList()); + +#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) + QVERIFY(proc.waitForStarted(5000)); + QVERIFY(proc.waitForFinished(5000)); +#else + QVERIFY(proc.waitForStarted(10000)); + QVERIFY(proc.waitForFinished(10000)); +#endif + +#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE) + // Symbian test outputs to a file, so check that +# ifdef Q_OS_SYMBIAN + FILE* file = fopen("c:\\logs\\qprocess_args_test.txt","r"); +# else + FILE* file = fopen("\\temp\\qprocess_args_test.txt","r"); +# endif + char buf[256]; + fgets(buf, 256, file); + fclose(file); + QStringList actual = QString::fromLatin1(buf).split("|"); +#else + QStringList actual = QString::fromLatin1(proc.readAll()).split("|"); +#endif + QVERIFY(!actual.isEmpty()); + // not interested in the program name, it might be different. + actual.removeFirst(); + QStringList expected; +#if defined(Q_OS_WINCE) + expected << "hello" << "kitty," << "\"*\"!"; // Weird, weird ... +#else + expected << "hello" << "kitty," << "*!"; +#endif + QCOMPARE(actual, expected); +} + +#endif + //----------------------------------------------------------------------------- void tst_QProcess::exitCodeTest() { diff --git a/tests/benchmarks/declarative/script/data/block.qml b/tests/benchmarks/declarative/script/data/block.qml index 4e5006e..f7b2ab3 100644 --- a/tests/benchmarks/declarative/script/data/block.qml +++ b/tests/benchmarks/declarative/script/data/block.qml @@ -47,7 +47,7 @@ Rectangle { function doSomethingDirect() { theObject.prop1 = 0; - for (var i = 0; i < 60; ++i) + for (var i = 0; i < 1000; ++i) theObject.prop1 += theObject.prop2; theObject.prop3 = theObject.prop1; @@ -57,7 +57,7 @@ Rectangle { theObject.prop1 = 0; var incrementObj = theObject; - for (var i = 0; i < 60; ++i) + for (var i = 0; i < 1000; ++i) incrementObj.prop1 += incrementObj.prop2; incrementObj.prop3 = incrementObj.prop1; @@ -67,7 +67,7 @@ Rectangle { theObject.prop1 = 0; var increment = theObject.prop2; - for (var i = 0; i < 60; ++i) + for (var i = 0; i < 1000; ++i) theObject.prop1 += increment; theObject.prop3 = theObject.prop1; diff --git a/tests/benchmarks/declarative/script/data/global.js b/tests/benchmarks/declarative/script/data/global.js new file mode 100644 index 0000000..5b86b4d --- /dev/null +++ b/tests/benchmarks/declarative/script/data/global.js @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +var incVar = 1; +var total; + +function doSomething() { + for (var i = 0; i < 10000; ++i) + Math.sin(90); +} + +function doIncrement() { + total = 0; + for (var i = 0; i < 100000; ++i) + total += incVar; +} diff --git a/tests/benchmarks/declarative/script/data/global_prop.qml b/tests/benchmarks/declarative/script/data/global_prop.qml new file mode 100644 index 0000000..4fb7ee7 --- /dev/null +++ b/tests/benchmarks/declarative/script/data/global_prop.qml @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +import Qt 4.7 +import "global.js" as Program + +Rectangle { + width: 200; height: 200 + + signal triggered + signal incrementTriggered + + onTriggered: Program.doSomething(); + onIncrementTriggered: Program.doIncrement(); +} diff --git a/tests/benchmarks/declarative/script/tst_script.cpp b/tests/benchmarks/declarative/script/tst_script.cpp index 99f294c..5a7e151 100644 --- a/tests/benchmarks/declarative/script/tst_script.cpp +++ b/tests/benchmarks/declarative/script/tst_script.cpp @@ -92,7 +92,12 @@ private slots: void block_data(); void block(); -private: + + void global_property_js(); + void global_property_qml(); + void global_property_qml_js(); + + void scriptfile_property(); }; inline QUrl TEST_FILE(const QString &filename) @@ -625,6 +630,74 @@ void tst_script::block() delete rect; } +#define GLOBALPROPERTY_PROGRAM \ + "(function() { " \ + " for (var ii = 0; ii < 10000; ++ii) { " \ + " Math.sin(90); " \ + " } " \ + "})" + +void tst_script::global_property_js() +{ + QScriptEngine engine; + + QScriptValue prog = engine.evaluate(GLOBALPROPERTY_PROGRAM); + prog.call(); + + QBENCHMARK { + prog.call(); + } +} + +void tst_script::global_property_qml() +{ + QDeclarativeEngine qmlengine; + + QScriptEngine *engine = QDeclarativeEnginePrivate::getScriptEngine(&qmlengine); + QScriptValue prog = engine->evaluate(GLOBALPROPERTY_PROGRAM); + prog.call(); + + QBENCHMARK { + prog.call(); + } +} + +void tst_script::global_property_qml_js() +{ + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine, TEST_FILE("global_prop.qml")); + QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle *>(component.create()); + QVERIFY(rect != 0); + + int index = rect->metaObject()->indexOfMethod("triggered()"); + QVERIFY(index != -1); + QMetaMethod method = rect->metaObject()->method(index); + + QBENCHMARK { + method.invoke(rect, Qt::DirectConnection); + } + + delete rect; +} + +void tst_script::scriptfile_property() +{ + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine, TEST_FILE("global_prop.qml")); + QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle *>(component.create()); + QVERIFY(rect != 0); + + int index = rect->metaObject()->indexOfMethod("incrementTriggered()"); + QVERIFY(index != -1); + QMetaMethod method = rect->metaObject()->method(index); + + QBENCHMARK { + method.invoke(rect, Qt::DirectConnection); + } + + delete rect; +} + QTEST_MAIN(tst_script) #include "tst_script.moc" diff --git a/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp index 8e9de4a..27e5025 100644 --- a/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp +++ b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp @@ -40,9 +40,12 @@ ****************************************************************************/ #include <qtest.h> -#include <QPixmap> #include <QBitmap> +#include <QDir> +#include <QImage> +#include <QImageReader> #include <QPainter> +#include <QPixmap> #include <private/qpixmap_raster_p.h> class tst_QPixmap : public QObject @@ -62,6 +65,9 @@ private slots: void transformed(); void mask_data(); void mask(); + + void fromImageReader_data(); + void fromImageReader(); }; Q_DECLARE_METATYPE(QImage::Format) @@ -248,6 +254,62 @@ void tst_QPixmap::mask() } } +void tst_QPixmap::fromImageReader_data() +{ + const QString tempDir = QDir::tempPath(); + QTest::addColumn<QString>("filename"); + + QImage image(2000, 2000, QImage::Format_ARGB32); + image.fill(0); + { + // Generate an image with opaque and transparent pixels + // with an interesting distribution. + QPainter painter(&image); + + QRadialGradient radialGrad(QPointF(1000, 1000), 1000); + radialGrad.setColorAt(0, QColor(255, 0, 0, 255)); + radialGrad.setColorAt(0.5, QColor(0, 255, 0, 255)); + radialGrad.setColorAt(0.9, QColor(0, 0, 255, 100)); + radialGrad.setColorAt(1, QColor(0, 0, 0, 0)); + + painter.fillRect(image.rect(), radialGrad); + } + image.save("test.png"); + + // RGB32 + const QString rgb32Path = tempDir + QString::fromLatin1("/rgb32.jpg"); + image.save(rgb32Path); + QTest::newRow("gradient RGB32") << rgb32Path; + + // ARGB32 + const QString argb32Path = tempDir + QString::fromLatin1("/argb32.png"); + image.save(argb32Path); + QTest::newRow("gradient ARGB32") << argb32Path; + + // Indexed 8 + const QString indexed8Path = tempDir + QString::fromLatin1("/indexed8.gif"); + image.save(indexed8Path); + QTest::newRow("gradient indexed8") << indexed8Path; + +} + +void tst_QPixmap::fromImageReader() +{ + QFETCH(QString, filename); + // warmup + { + QImageReader imageReader(filename); + QPixmap::fromImageReader(&imageReader); + } + + QBENCHMARK { + QImageReader imageReader(filename); + QPixmap::fromImageReader(&imageReader); + } + QFile::remove(filename); +} + + QTEST_MAIN(tst_QPixmap) #include "tst_qpixmap.moc" diff --git a/tests/benchmarks/gui/text/qtext/main.cpp b/tests/benchmarks/gui/text/qtext/main.cpp index d4f3165..63daae0 100644 --- a/tests/benchmarks/gui/text/qtext/main.cpp +++ b/tests/benchmarks/gui/text/qtext/main.cpp @@ -82,7 +82,13 @@ private slots: void constructControl(); void constructDocument(); + void newLineReplacement(); + void formatManipulation(); + void fontResolution(); + + void layout_data(); void layout(); + void formattedLayout(); void paintLayoutToPixmap(); void paintLayoutToPixmap_painterFill(); @@ -95,7 +101,7 @@ private slots: void paintControlToPixmap_painterFill(); private: - QSize setupTextLayout(QTextLayout *layout); + QSize setupTextLayout(QTextLayout *layout, bool wrap = true, int wrapWidth = 100); QString m_lorem; QString m_shortLorem; @@ -227,10 +233,8 @@ void tst_QText::odfWriting_images() delete doc; } -QSize tst_QText::setupTextLayout(QTextLayout *layout) +QSize tst_QText::setupTextLayout(QTextLayout *layout, bool wrap, int wrapWidth) { - bool wrap = true; - int wrapWidth = 300; layout->setCacheEnabled(true); int height = 0; @@ -242,7 +246,6 @@ QSize tst_QText::setupTextLayout(QTextLayout *layout) lineWidth = wrapWidth; layout->beginLayout(); - while (1) { QTextLine line = layout->createLine(); if (!line.isValid()) @@ -284,13 +287,95 @@ void tst_QText::constructDocument() } } +//this step is needed before giving the string to a QTextLayout +void tst_QText::newLineReplacement() +{ + QString text = QString::fromLatin1("H\ne\nl\nl\no\n\nW\no\nr\nl\nd"); + + QBENCHMARK { + QString tmp = text; + tmp.replace(QLatin1Char('\n'), QChar::LineSeparator); + } +} + +void tst_QText::formatManipulation() +{ + QFont font; + + QBENCHMARK { + QTextCharFormat format; + format.setFont(font); + } +} + +void tst_QText::fontResolution() +{ + QFont font; + QFont font2; + font.setFamily("DejaVu"); + font2.setBold(true); + + QBENCHMARK { + QFont res = font.resolve(font2); + } +} + +void tst_QText::layout_data() +{ + QTest::addColumn<bool>("wrap"); + QTest::newRow("wrap") << true; + QTest::newRow("nowrap") << false; +} + void tst_QText::layout() { + QFETCH(bool,wrap); + QTextLayout layout(m_shortLorem); + setupTextLayout(&layout, wrap); + + QBENCHMARK { + QTextLayout layout(m_shortLorem); + setupTextLayout(&layout, wrap); + } +} + +//### requires tst_QText to be a friend of QTextLayout +/*void tst_QText::stackTextLayout() +{ + QStackTextEngine engine(m_shortLorem, qApp->font()); + QTextLayout layout(&engine); + setupTextLayout(&layout); + + QBENCHMARK { + QStackTextEngine engine(m_shortLorem, qApp->font()); + QTextLayout layout(&engine); + setupTextLayout(&layout); + } +}*/ + +void tst_QText::formattedLayout() +{ + //set up formatting + QList<QTextLayout::FormatRange> ranges; + { + QTextCharFormat format; + format.setForeground(QColor("steelblue")); + + QTextLayout::FormatRange formatRange; + formatRange.format = format; + formatRange.start = 0; + formatRange.length = 50; + + ranges.append(formatRange); + } + QTextLayout layout(m_shortLorem); + layout.setAdditionalFormats(ranges); setupTextLayout(&layout); QBENCHMARK { QTextLayout layout(m_shortLorem); + layout.setAdditionalFormats(ranges); setupTextLayout(&layout); } } diff --git a/tests/benchmarks/opengl/main.cpp b/tests/benchmarks/opengl/main.cpp index beb4d43..c042fce 100644 --- a/tests/benchmarks/opengl/main.cpp +++ b/tests/benchmarks/opengl/main.cpp @@ -75,6 +75,10 @@ private slots: void gradients_data(); void gradients(); + void textureUpload_data(); + void textureUpload(); + + private: QGLPixelBuffer *pb; }; @@ -374,6 +378,53 @@ void OpenGLBench::gradients() } } +void OpenGLBench::textureUpload_data() +{ + QTest::addColumn<int>("size"); + QTest::addColumn<int>("flags"); + QTest::addColumn<int>("format"); + + int sizes[] = { 8, 10, 16, 20, 32, 50, 64, 100, 128, 200, 256, 500, 512, 1000, 1024, 2000, 2048, -1 }; + int flags[] = { QGLContext::InternalBindOption, + QGLContext::DefaultBindOption, + -1 }; + int formats[] = { GL_RGB, GL_RGBA, -1 }; + + for (int s = 0; sizes[s] != -1; ++s) { + for (int f = 0; flags[f] != -1; ++f) { + for (int a = 0; formats[a] != -1; ++a) { + QByteArray name; + name.append("size=").append(QByteArray::number(sizes[s])); + name.append(", flags=").append(f == 0 ? "internal" : "default"); + name.append(", format=").append(a == 0 ? "RGB" : "RGBA"); + QTest::newRow(name.constData()) << sizes[s] << flags[f] << formats[a]; + } + } + } +} + +void OpenGLBench::textureUpload() +{ + QFETCH(int, size); + QFETCH(int, flags); + QFETCH(int, format); + + QPixmap pixmap(size, size); + + if (format == GL_RGB) + pixmap.fill(Qt::red); + else + pixmap.fill(Qt::transparent); + + pb->makeCurrent(); + QGLContext *context = const_cast<QGLContext *>(QGLContext::currentContext()); + QTime time; + + time.start(); + context->bindTexture(pixmap, GL_TEXTURE_2D, format, (QGLContext::BindOptions) flags); + QTest::setBenchmarkResult(time.elapsed(), QTest::WalltimeMilliseconds); +} + QTEST_MAIN(OpenGLBench) #include "main.moc" diff --git a/tests/manual/qtabletevent/regular_widgets/main.cpp b/tests/manual/qtabletevent/regular_widgets/main.cpp new file mode 100644 index 0000000..a39e094 --- /dev/null +++ b/tests/manual/qtabletevent/regular_widgets/main.cpp @@ -0,0 +1,150 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +#include <QApplication> +#include <QDebug> +#include <QMouseEvent> +#include <QTabletEvent> +#include <QWidget> + +class EventReportWidget : public QWidget +{ +public: + EventReportWidget(); +protected: + void mouseDoubleClickEvent(QMouseEvent *event) { outputMouseEvent(event); } + void mouseMoveEvent(QMouseEvent *event) { outputMouseEvent(event); } + void mousePressEvent(QMouseEvent *event) { outputMouseEvent(event); } + void mouseReleaseEvent(QMouseEvent *event) { outputMouseEvent(event); } + + void tabletEvent(QTabletEvent *); + +private: + void outputMouseEvent(QMouseEvent *event); + + bool m_lastIsMouseMove; + bool m_lastIsTabletMove; +}; + +EventReportWidget::EventReportWidget() + : m_lastIsMouseMove(false) + , m_lastIsTabletMove(false) +{ } + +void EventReportWidget::tabletEvent(QTabletEvent *event) +{ + QWidget::tabletEvent(event); + + QString type; + switch (event->type()) { + case QEvent::TabletEnterProximity: + m_lastIsTabletMove = false; + type = QString::fromLatin1("TabletEnterProximity"); + break; + case QEvent::TabletLeaveProximity: + m_lastIsTabletMove = false; + type = QString::fromLatin1("TabletLeaveProximity"); + break; + case QEvent::TabletMove: + if (m_lastIsTabletMove) + return; + + m_lastIsTabletMove = true; + type = QString::fromLatin1("TabletMove"); + break; + case QEvent::TabletPress: + m_lastIsTabletMove = false; + type = QString::fromLatin1("TabletPress"); + break; + case QEvent::TabletRelease: + m_lastIsTabletMove = false; + type = QString::fromLatin1("TabletRelease"); + break; + default: + Q_ASSERT(false); + break; + } + + qDebug() << "Tablet event, type = " << type + << " position = " << event->pos() + << " global position = " << event->globalPos(); +} + +void EventReportWidget::outputMouseEvent(QMouseEvent *event) +{ + QString type; + switch (event->type()) { + case QEvent::MouseButtonDblClick: + m_lastIsMouseMove = false; + type = QString::fromLatin1("MouseButtonDblClick"); + break; + case QEvent::MouseButtonPress: + m_lastIsMouseMove = false; + type = QString::fromLatin1("MouseButtonPress"); + break; + case QEvent::MouseButtonRelease: + m_lastIsMouseMove = false; + type = QString::fromLatin1("MouseButtonRelease"); + break; + case QEvent::MouseMove: + if (m_lastIsMouseMove) + return; // only show one move to keep things readable + + m_lastIsMouseMove = true; + type = QString::fromLatin1("MouseMove"); + break; + default: + Q_ASSERT(false); + break; + } + + qDebug() << "Mouse event, type = " << type + << " position = " << event->pos() + << " global position = " << event->globalPos(); +} + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + EventReportWidget widget; + widget.show(); + return app.exec(); +} diff --git a/tests/manual/qtabletevent/regular_widgets/regular_widgets.pro b/tests/manual/qtabletevent/regular_widgets/regular_widgets.pro new file mode 100644 index 0000000..9f0da76 --- /dev/null +++ b/tests/manual/qtabletevent/regular_widgets/regular_widgets.pro @@ -0,0 +1,3 @@ +TEMPLATE = app + +SOURCES += main.cpp diff --git a/tools/assistant/tools/qcollectiongenerator/main.cpp b/tools/assistant/tools/qcollectiongenerator/main.cpp index 7fcb4e1..b3f6bd9 100644 --- a/tools/assistant/tools/qcollectiongenerator/main.cpp +++ b/tools/assistant/tools/qcollectiongenerator/main.cpp @@ -459,6 +459,8 @@ int main(int argc, char *argv[]) return -1; } } + if (!config.filesToRegister().isEmpty()) + CollectionConfiguration::updateLastRegisterTime(helpEngine); if (!config.title().isEmpty()) CollectionConfiguration::setWindowTitle(helpEngine, config.title()); diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro index 64a6d9a..73f3317 100644 --- a/tools/configure/configure.pro +++ b/tools/configure/configure.pro @@ -23,7 +23,8 @@ win32-msvc* { PRECOMPILED_HEADER = configure_pch.h -INCPATH += $$QT_SOURCE_TREE/src/corelib/arch/generic \ +INCLUDEPATH += \ + $$QT_SOURCE_TREE/src/corelib/arch/generic \ $$QT_SOURCE_TREE/src/corelib/global \ $$QT_BUILD_TREE/include \ $$QT_BUILD_TREE/include/QtCore \ diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 55ad87e..4a30ef8 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -581,17 +581,13 @@ void Configure::parseCmdLine() // Image formats -------------------------------------------- else if (configCmdLine.at(i) == "-no-gif") dictionary[ "GIF" ] = "no"; - else if( configCmdLine.at(i) == "-qt-gif" ) - dictionary[ "GIF" ] = "auto"; else if (configCmdLine.at(i) == "-no-libtiff") { dictionary[ "TIFF"] = "no"; dictionary[ "LIBTIFF" ] = "no"; } else if (configCmdLine.at(i) == "-qt-libtiff") { - dictionary[ "TIFF" ] = "plugin"; dictionary[ "LIBTIFF" ] = "qt"; } else if (configCmdLine.at(i) == "-system-libtiff") { - dictionary[ "TIFF" ] = "plugin"; dictionary[ "LIBTIFF" ] = "system"; } @@ -599,10 +595,8 @@ void Configure::parseCmdLine() dictionary[ "JPEG" ] = "no"; dictionary[ "LIBJPEG" ] = "no"; } else if (configCmdLine.at(i) == "-qt-libjpeg") { - dictionary[ "JPEG" ] = "plugin"; dictionary[ "LIBJPEG" ] = "qt"; } else if (configCmdLine.at(i) == "-system-libjpeg") { - dictionary[ "JPEG" ] = "plugin"; dictionary[ "LIBJPEG" ] = "system"; } @@ -610,10 +604,8 @@ void Configure::parseCmdLine() dictionary[ "PNG" ] = "no"; dictionary[ "LIBPNG" ] = "no"; } else if (configCmdLine.at(i) == "-qt-libpng") { - dictionary[ "PNG" ] = "qt"; dictionary[ "LIBPNG" ] = "qt"; } else if (configCmdLine.at(i) == "-system-libpng") { - dictionary[ "PNG" ] = "qt"; dictionary[ "LIBPNG" ] = "system"; } @@ -621,10 +613,8 @@ void Configure::parseCmdLine() dictionary[ "MNG" ] = "no"; dictionary[ "LIBMNG" ] = "no"; } else if (configCmdLine.at(i) == "-qt-libmng") { - dictionary[ "MNG" ] = "qt"; dictionary[ "LIBMNG" ] = "qt"; } else if (configCmdLine.at(i) == "-system-libmng") { - dictionary[ "MNG" ] = "qt"; dictionary[ "LIBMNG" ] = "system"; } @@ -1750,22 +1740,22 @@ bool Configure::displayHelp() desc("ZLIB", "qt", "-qt-zlib", "Use the zlib bundled with Qt."); desc("ZLIB", "system", "-system-zlib", "Use zlib from the operating system.\nSee http://www.gzip.org/zlib\n"); - desc("GIF", "no", "-no-gif", "Do not compile the plugin for GIF reading support."); - desc("GIF", "auto", "-qt-gif", "Compile the plugin for GIF reading support.\nSee also src/plugins/imageformats/gif/qgifhandler.h\n"); + desc("GIF", "no", "-no-gif", "Do not compile GIF reading support."); + desc("GIF", "auto", "-qt-gif", "Compile GIF reading support.\nSee also src/gui/image/qgifhandler.h\n"); - desc("LIBPNG", "no", "-no-libpng", "Do not compile in PNG support."); + desc("LIBPNG", "no", "-no-libpng", "Do not compile PNG support."); desc("LIBPNG", "qt", "-qt-libpng", "Use the libpng bundled with Qt."); desc("LIBPNG", "system","-system-libpng", "Use libpng from the operating system.\nSee http://www.libpng.org/pub/png\n"); - desc("LIBMNG", "no", "-no-libmng", "Do not compile in MNG support."); + desc("LIBMNG", "no", "-no-libmng", "Do not compile MNG support."); desc("LIBMNG", "qt", "-qt-libmng", "Use the libmng bundled with Qt."); desc("LIBMNG", "system","-system-libmng", "Use libmng from the operating system.\nSee See http://www.libmng.com\n"); - desc("LIBTIFF", "no", "-no-libtiff", "Do not compile the plugin for TIFF support."); + desc("LIBTIFF", "no", "-no-libtiff", "Do not compile TIFF support."); desc("LIBTIFF", "qt", "-qt-libtiff", "Use the libtiff bundled with Qt."); desc("LIBTIFF", "system","-system-libtiff", "Use libtiff from the operating system.\nSee http://www.libtiff.org\n"); - desc("LIBJPEG", "no", "-no-libjpeg", "Do not compile the plugin for JPEG support."); + desc("LIBJPEG", "no", "-no-libjpeg", "Do not compile JPEG support."); desc("LIBJPEG", "qt", "-qt-libjpeg", "Use the libjpeg bundled with Qt."); desc("LIBJPEG", "system","-system-libjpeg", "Use libjpeg from the operating system.\nSee http://www.ijg.org\n"); @@ -1977,21 +1967,28 @@ QString Configure::defaultTo(const QString &option) || option == "LIBTIFF") return "system"; - // We want PNG built-in + // PNG is always built-in, never a plugin if (option == "PNG") - return "qt"; + return "yes"; - // The JPEG image library can only be a plugin - if (option == "JPEG" - || option == "MNG" || option == "TIFF") - return "plugin"; - - // GIF off by default - if (option == "GIF") { - if (dictionary["SHARED"] == "yes") + // These database drivers and image formats can be built-in or plugins. + // Prefer plugins when Qt is shared. + if (dictionary[ "SHARED" ] == "yes") { + if (option == "SQL_MYSQL" + || option == "SQL_MYSQL" + || option == "SQL_ODBC" + || option == "SQL_OCI" + || option == "SQL_PSQL" + || option == "SQL_TDS" + || option == "SQL_DB2" + || option == "SQL_SQLITE" + || option == "SQL_SQLITE2" + || option == "SQL_IBASE" + || option == "JPEG" + || option == "MNG" + || option == "TIFF" + || option == "GIF") return "plugin"; - else - return "yes"; } // By default we do not want to compile OCI driver when compiling with @@ -2001,18 +1998,6 @@ QString Configure::defaultTo(const QString &option) && option == "SQL_OCI") return "no"; - if (option == "SQL_MYSQL" - || option == "SQL_MYSQL" - || option == "SQL_ODBC" - || option == "SQL_OCI" - || option == "SQL_PSQL" - || option == "SQL_TDS" - || option == "SQL_DB2" - || option == "SQL_SQLITE" - || option == "SQL_SQLITE2" - || option == "SQL_IBASE") - return "plugin"; - if (option == "SYNCQT" && (!QFile::exists(sourcePath + "/bin/syncqt") || !QFile::exists(sourcePath + "/bin/syncqt.bat"))) @@ -2489,14 +2474,14 @@ void Configure::generateOutputVars() if (dictionary[ "PNG" ] == "no") qtConfig += "no-png"; - else if( dictionary[ "PNG" ] == "qt" ) + else if (dictionary[ "PNG" ] == "yes") qtConfig += "png"; if (dictionary[ "LIBPNG" ] == "system") qtConfig += "system-png"; if (dictionary[ "MNG" ] == "no") qtConfig += "no-mng"; - else if( dictionary[ "MNG" ] == "qt" ) + else if (dictionary[ "MNG" ] == "yes") qtConfig += "mng"; if (dictionary[ "LIBMNG" ] == "system") qtConfig += "system-mng"; @@ -3068,10 +3053,10 @@ void Configure::generateConfigfiles() if (dictionary["STYLE_GTK"] != "yes") qconfigList += "QT_NO_STYLE_GTK"; if (dictionary["GIF"] == "yes") qconfigList += "QT_BUILTIN_GIF_READER=1"; - if (dictionary["PNG"] == "no") qconfigList += "QT_NO_IMAGEFORMAT_PNG"; - if (dictionary["MNG"] == "no") qconfigList += "QT_NO_IMAGEFORMAT_MNG"; - if (dictionary["JPEG"] == "no") qconfigList += "QT_NO_IMAGEFORMAT_JPEG"; - if (dictionary["TIFF"] == "no") qconfigList += "QT_NO_IMAGEFORMAT_TIFF"; + if (dictionary["PNG"] != "yes") qconfigList += "QT_NO_IMAGEFORMAT_PNG"; + if (dictionary["MNG"] != "yes") qconfigList += "QT_NO_IMAGEFORMAT_MNG"; + if (dictionary["JPEG"] != "yes") qconfigList += "QT_NO_IMAGEFORMAT_JPEG"; + if (dictionary["TIFF"] != "yes") qconfigList += "QT_NO_IMAGEFORMAT_TIFF"; if (dictionary["ZLIB"] == "no") { qconfigList += "QT_NO_ZLIB"; qconfigList += "QT_NO_COMPRESS"; diff --git a/tools/designer/src/components/buddyeditor/buddyeditor.cpp b/tools/designer/src/components/buddyeditor/buddyeditor.cpp index 9da257e..e367f9a 100644 --- a/tools/designer/src/components/buddyeditor/buddyeditor.cpp +++ b/tools/designer/src/components/buddyeditor/buddyeditor.cpp @@ -405,6 +405,7 @@ QWidget *BuddyEditor::findBuddy(QLabel *l, const QWidgetList &existingBuddies) c const int y = geom.center().y(); QWidget *neighbour = 0; switch (l->layoutDirection()) { + case Qt::LayoutDirectionAuto: case Qt::LeftToRight: { // Walk right to find next managed neighbour const int xEnd = parent->size().width(); for (int x = geom.right() + 1; x < xEnd; x += DeltaX) diff --git a/tools/designer/src/components/formeditor/qmdiarea_container.cpp b/tools/designer/src/components/formeditor/qmdiarea_container.cpp index 5971094..5e266f4 100644 --- a/tools/designer/src/components/formeditor/qmdiarea_container.cpp +++ b/tools/designer/src/components/formeditor/qmdiarea_container.cpp @@ -105,6 +105,7 @@ void QMdiAreaContainer::positionNewMdiChild(const QWidget *area, QWidget *mdiChi const QPoint pos = mdiChild->pos(); const QSize areaSize = area->size(); switch (QApplication::layoutDirection()) { + case Qt::LayoutDirectionAuto: case Qt::LeftToRight: { const QSize fullSize = QSize(areaSize.width() - pos.x(), areaSize.height() - pos.y()); if (fullSize.width() > MinSize && fullSize.height() > MinSize) diff --git a/tools/designer/src/lib/shared/qdesigner_menu.cpp b/tools/designer/src/lib/shared/qdesigner_menu.cpp index ba512e4..31a226a 100644 --- a/tools/designer/src/lib/shared/qdesigner_menu.cpp +++ b/tools/designer/src/lib/shared/qdesigner_menu.cpp @@ -77,6 +77,7 @@ using namespace qdesigner_internal; static inline void extendClickableArea(QRect *subMenuRect, Qt::LayoutDirection dir) { switch (dir) { + case Qt::LayoutDirectionAuto: // Should never happen case Qt::LeftToRight: subMenuRect->setLeft(subMenuRect->left() - 20); break; @@ -931,8 +932,8 @@ void QDesignerMenu::moveUp(bool ctrl) if (ctrl) (void) swap(m_currentIndex, m_currentIndex - 1); - - m_currentIndex = qMax(0, --m_currentIndex); + --m_currentIndex; + m_currentIndex = qMax(0, m_currentIndex); // Always re-select, swapping destroys order update(); selectCurrentAction(); @@ -947,7 +948,8 @@ void QDesignerMenu::moveDown(bool ctrl) if (ctrl) (void) swap(m_currentIndex + 1, m_currentIndex); - m_currentIndex = qMin(actions().count() - 1, ++m_currentIndex); + ++m_currentIndex; + m_currentIndex = qMin(actions().count() - 1, m_currentIndex); update(); if (!ctrl) selectCurrentAction(); diff --git a/tools/designer/src/lib/shared/qdesigner_toolbar.cpp b/tools/designer/src/lib/shared/qdesigner_toolbar.cpp index 02a2f6d..e3bc64c 100644 --- a/tools/designer/src/lib/shared/qdesigner_toolbar.cpp +++ b/tools/designer/src/lib/shared/qdesigner_toolbar.cpp @@ -467,6 +467,7 @@ QRect ToolBarEventFilter::freeArea(const QToolBar *tb) switch (tb->orientation()) { case Qt::Horizontal: switch (tb->layoutDirection()) { + case Qt::LayoutDirectionAuto: // Should never happen case Qt::LeftToRight: rc.setX(exclusionRectangle.right() + 1); break; diff --git a/tools/linguist/lupdate/qdeclarative.cpp b/tools/linguist/lupdate/qdeclarative.cpp index a734e99..2377416 100644 --- a/tools/linguist/lupdate/qdeclarative.cpp +++ b/tools/linguist/lupdate/qdeclarative.cpp @@ -87,27 +87,31 @@ protected: virtual void endVisit(AST::CallExpression *node) { + m_bSource.clear(); if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(node->base)) { if (idExpr->name->asString() == QLatin1String("qsTr") || idExpr->name->asString() == QLatin1String("QT_TR_NOOP")) { - if (node->arguments && AST::cast<AST::StringLiteral *>(node->arguments->expression)) { - AST::StringLiteral *literal = AST::cast<AST::StringLiteral *>(node->arguments->expression); - const QString source = literal->value->asString(); + if (!node->arguments) + return; + AST::BinaryExpression *binary = AST::cast<AST::BinaryExpression *>(node->arguments->expression); + if (binary) { + if (!createString(binary)) + m_bSource.clear(); + } + AST::StringLiteral *literal = AST::cast<AST::StringLiteral *>(node->arguments->expression); + if (literal || !m_bSource.isEmpty()) { + const QString source = literal ? literal->value->asString() : m_bSource; QString comment; bool plural = false; AST::ArgumentList *commentNode = node->arguments->next; - if (commentNode) { + if (commentNode && AST::cast<AST::StringLiteral *>(commentNode->expression)) { literal = AST::cast<AST::StringLiteral *>(commentNode->expression); comment = literal->value->asString(); AST::ArgumentList *nNode = commentNode->next; - if (nNode) { - AST::NumericLiteral *numLiteral = AST::cast<AST::NumericLiteral *>(nNode->expression); - if (numLiteral) { - plural = true; - } - } + if (nNode) + plural = true; } TranslatorMessage msg(m_component, source, @@ -126,22 +130,25 @@ protected: QString comment; bool plural = false; AST::ArgumentList *sourceNode = node->arguments->next; - if (sourceNode) { - literal = AST::cast<AST::StringLiteral *>(sourceNode->expression); - source = literal->value->asString(); - AST::ArgumentList *commentNode = sourceNode->next; - if (commentNode) { - literal = AST::cast<AST::StringLiteral *>(commentNode->expression); - comment = literal->value->asString(); - - AST::ArgumentList *nNode = commentNode->next; - if (nNode) { - AST::NumericLiteral *numLiteral = AST::cast<AST::NumericLiteral *>(nNode->expression); - if (numLiteral) { - plural = true; - } - } - } + if (!sourceNode) + return; + literal = AST::cast<AST::StringLiteral *>(sourceNode->expression); + AST::BinaryExpression *binary = AST::cast<AST::BinaryExpression *>(sourceNode->expression); + if (binary) { + if (!createString(binary)) + m_bSource.clear(); + } + if (!literal && m_bSource.isEmpty()) + return; + source = literal ? literal->value->asString() : m_bSource; + AST::ArgumentList *commentNode = sourceNode->next; + if (commentNode && AST::cast<AST::StringLiteral *>(commentNode->expression)) { + literal = AST::cast<AST::StringLiteral *>(commentNode->expression); + comment = literal->value->asString(); + + AST::ArgumentList *nNode = commentNode->next; + if (nNode) + plural = true; } TranslatorMessage msg(context, source, @@ -156,9 +163,34 @@ protected: } private: + bool createString(AST::BinaryExpression *b) { + if (!b || b->op != 0) + return false; + AST::BinaryExpression *l = AST::cast<AST::BinaryExpression *>(b->left); + AST::BinaryExpression *r = AST::cast<AST::BinaryExpression *>(b->right); + AST::StringLiteral *ls = AST::cast<AST::StringLiteral *>(b->left); + AST::StringLiteral *rs = AST::cast<AST::StringLiteral *>(b->right); + if ((!l && !ls) || (!r && !rs)) + return false; + if (l) { + if (!createString(l)) + return false; + } else + m_bSource.prepend(ls->value->asString()); + + if (r) { + if (!createString(r)) + return false; + } else + m_bSource.append(rs->value->asString()); + + return true; + } + Translator *m_translator; QString m_fileName; QString m_component; + QString m_bSource; }; QString createErrorString(const QString &filename, const QString &code, Parser &parser) diff --git a/tools/qdoc3/doc/files/qt.qdocconf b/tools/qdoc3/doc/files/qt.qdocconf index 942d023..09c112a 100644 --- a/tools/qdoc3/doc/files/qt.qdocconf +++ b/tools/qdoc3/doc/files/qt.qdocconf @@ -8,7 +8,7 @@ project = Qt versionsym = version = %VERSION% description = Qt Reference Documentation -url = http://qt.nokia.com/doc/4.6 +url = http://qt.nokia.com/doc/4.7 edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \ QtXmlPatterns QtTest @@ -22,7 +22,7 @@ edition.DesktopLight.groups = -graphicsview-api qhp.projects = Qt qhp.Qt.file = qt.qhp -qhp.Qt.namespace = com.trolltech.qt.460 +qhp.Qt.namespace = com.trolltech.qt.470 qhp.Qt.virtualFolder = qdoc qhp.Qt.indexTitle = Qt Reference Documentation qhp.Qt.indexRoot = @@ -36,9 +36,9 @@ qhp.Qt.extraFiles = classic.css \ images/dynamiclayouts-example.png \ images/stylesheet-coffee-plastique.png -qhp.Qt.filterAttributes = qt 4.6.0 qtrefdoc -qhp.Qt.customFilters.Qt.name = Qt 4.6.0 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.6.0 +qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc +qhp.Qt.customFilters.Qt.name = Qt 4.7.0 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0 qhp.Qt.subprojects = classes overviews examples qhp.Qt.subprojects.classes.title = Classes qhp.Qt.subprojects.classes.indexTitle = Qt's Classes diff --git a/tools/qdoc3/doc/qdoc-manual.qdoc b/tools/qdoc3/doc/qdoc-manual.qdoc index 57c17ba..c3ab731 100644 --- a/tools/qdoc3/doc/qdoc-manual.qdoc +++ b/tools/qdoc3/doc/qdoc-manual.qdoc @@ -8075,6 +8075,27 @@ qhp.Qt.subprojects.examples.indexTitle = Qt Examples qhp.Qt.subprojects.examples.selectors = fake:example \endcode + + To create a table of contents for a manual, create a subproject with + a \c{type} property and set it to \c{manual}. The page in the documentation + referred to by the \c{indexTitle} property must contain a list of links + that acts as a table of contents for the whole manual. QDoc will take the + information in this list and create a table of contents for the subproject. + + For example, the configuration file for Qt Creator defines only one + subproject for its documentation, including all the documentation in a + single manual: + + \code + qhp.QtCreator.subprojects = manual + qhp.QtCreator.subprojects.manual.title = Qt Creator Manual + qhp.QtCreator.subprojects.manual.indexTitle = Qt Creator Manual + qhp.QtCreator.subprojects.manual.type = manual + \endcode + + In this example, the page entitled "Qt Creator Manual" contains a nested + list of links to pages in the documentation which is duplicated in + Qt Assistant's Contents tab. */ /*! diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp index edba097..98246c4 100644 --- a/tools/qdoc3/helpprojectwriter.cpp +++ b/tools/qdoc3/helpprojectwriter.cpp @@ -41,7 +41,7 @@ #include <QHash> #include <QMap> -#include <qdebug.h> +//#include <qdebug.h> #include "atom.h" #include "helpprojectwriter.h" @@ -91,6 +91,7 @@ HelpProjectWriter::HelpProjectWriter(const Config &config, const QString &defaul subproject.title = config.getString(subprefix + "title"); subproject.indexTitle = config.getString(subprefix + "indexTitle"); subproject.sortPages = config.getBool(subprefix + "sortPages"); + subproject.type = config.getString(subprefix + "type"); readSelectors(subproject, config.getStringList(subprefix + "selectors")); project.subprojects[name] = subproject; } @@ -625,44 +626,99 @@ void HelpProjectWriter::generateProject(HelpProject &project) foreach (const QString &name, project.subprojects.keys()) { SubProject subproject = project.subprojects[name]; - if (!name.isEmpty()) { - writer.writeStartElement("section"); - QString indexPath = tree->fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle)); - writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath)); - writer.writeAttribute("title", subproject.title); - project.files.insert(indexPath); - } - if (subproject.sortPages) { - QStringList titles = subproject.nodes.keys(); - titles.sort(); - foreach (const QString &title, titles) - writeNode(project, writer, subproject.nodes[title]); + if (subproject.type == QLatin1String("manual")) { + + const FakeNode *indexPage = tree->findFakeNodeByTitle(subproject.indexTitle); + if (indexPage) { + Text indexBody = indexPage->doc().body(); + const Atom *atom = indexBody.firstAtom(); + QStack<int> sectionStack; + bool inItem = false; + + while (atom) { + switch (atom->type()) { + case Atom::ListLeft: + sectionStack.push(0); + break; + case Atom::ListRight: + if (sectionStack.pop() > 0) + writer.writeEndElement(); // section + break; + case Atom::ListItemLeft: + inItem = true; + break; + case Atom::ListItemRight: + inItem = false; + break; + case Atom::Link: + if (inItem) { + if (sectionStack.top() > 0) + writer.writeEndElement(); // section + + const FakeNode *page = tree->findFakeNodeByTitle(atom->string()); + writer.writeStartElement("section"); + QString indexPath = tree->fullDocumentLocation(page); + writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath)); + writer.writeAttribute("title", atom->string()); + project.files.insert(indexPath); + + sectionStack.top() += 1; + } + break; + default: + ; + } + + if (atom == indexBody.lastAtom()) + break; + atom = atom->next(); + } + } else + rootNode->doc().location().warning( + tr("Failed to find index: %1").arg(subproject.indexTitle) + ); + } else { - // Find a contents node and navigate from there, using the NextLink values. - foreach (const Node *node, subproject.nodes) { - QString nextTitle = node->links().value(Node::NextLink).first; - if (!nextTitle.isEmpty() && - node->links().value(Node::ContentsLink).first.isEmpty()) { - - FakeNode *nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle)); - - // Write the contents node. - writeNode(project, writer, node); - - while (nextPage) { - writeNode(project, writer, nextPage); - nextTitle = nextPage->links().value(Node::NextLink).first; - if(nextTitle.isEmpty()) - break; - nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle)); + + if (!name.isEmpty()) { + writer.writeStartElement("section"); + QString indexPath = tree->fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle)); + writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath)); + writer.writeAttribute("title", subproject.title); + project.files.insert(indexPath); + } + if (subproject.sortPages) { + QStringList titles = subproject.nodes.keys(); + titles.sort(); + foreach (const QString &title, titles) + writeNode(project, writer, subproject.nodes[title]); + } else { + // Find a contents node and navigate from there, using the NextLink values. + foreach (const Node *node, subproject.nodes) { + QString nextTitle = node->links().value(Node::NextLink).first; + if (!nextTitle.isEmpty() && + node->links().value(Node::ContentsLink).first.isEmpty()) { + + FakeNode *nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle)); + + // Write the contents node. + writeNode(project, writer, node); + + while (nextPage) { + writeNode(project, writer, nextPage); + nextTitle = nextPage->links().value(Node::NextLink).first; + if(nextTitle.isEmpty()) + break; + nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle)); + } + break; } - break; } } - } - if (!name.isEmpty()) - writer.writeEndElement(); // section + if (!name.isEmpty()) + writer.writeEndElement(); // section + } } writer.writeEndElement(); // section diff --git a/tools/qdoc3/helpprojectwriter.h b/tools/qdoc3/helpprojectwriter.h index 511a9dd..7a67dff 100644 --- a/tools/qdoc3/helpprojectwriter.h +++ b/tools/qdoc3/helpprojectwriter.h @@ -60,6 +60,7 @@ struct SubProject QString indexTitle; QHash<Node::Type, QSet<FakeNode::SubType> > selectors; bool sortPages; + QString type; QHash<QString, const Node *> nodes; }; diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index b93db4f..89b1e98 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -61,6 +61,7 @@ QT_BEGIN_NAMESPACE #define COMMAND_VERSION Doc::alias("version") int HtmlGenerator::id = 0; +bool HtmlGenerator::debugging_on = false; QString HtmlGenerator::sinceTitles[] = { @@ -443,7 +444,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, { int skipAhead = 0; static bool in_para = false; - + switch (atom->type()) { case Atom::AbstractLeft: break; @@ -1066,11 +1067,11 @@ int HtmlGenerator::generateAtom(const Atom *atom, } sectionNumber.last() = QString::number(sectionNumber.last().toInt() + 1); } - out() << "<a name=\"sec-" << sectionNumber.join("-") << "\"></a>\n"; + out() << "<a name=\"sec-" << sectionNumber.join("-") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; } #else out() << "<a name=\"" << Doc::canonicalTitle(Text::sectionHeading(atom).toString()) - << "\"></a>\n"; + << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; #endif break; case Atom::SectionRight: @@ -1339,26 +1340,26 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner, } else { if (!s->members.isEmpty()) { - out() << "<hr />\n"; + // out() << "<hr />\n"; out() << "<a name=\"" << registerRef((*s).name.toLower()) - << "\"></a>\n"; + << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>" << protectEnc((*s).name) << "</h2>\n"; generateSection(s->members, inner, marker, CodeMarker::Summary); } if (!s->reimpMembers.isEmpty()) { QString name = QString("Reimplemented ") + (*s).name; - out() << "<hr />\n"; + // out() << "<hr />\n"; out() << "<a name=\"" << registerRef(name.toLower()) - << "\"></a>\n"; + << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>" << protectEnc(name) << "</h2>\n"; generateSection(s->reimpMembers, inner, marker, CodeMarker::Summary); } if (!s->inherited.isEmpty()) { out() << "<ul>\n"; - generateSectionInheritedList(*s, inner, marker, true); + generateSectionInheritedList(*s, inner, marker); out() << "</ul>\n"; } } @@ -1378,11 +1379,11 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner, out() << "</ul>\n"; } - out() << "<a name=\"" << registerRef("details") << "\"></a>\n"; + out() << "<a name=\"" << registerRef("details") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; if (!inner->doc().isEmpty()) { - out() << "<hr />\n" - << "<div class=\"descr\"/>\n" // QTBUG-9504 + //out() << "<hr />\n" + out() << "<div class=\"descr\"/>\n" // QTBUG-9504 << "<h2>" << "Detailed Description" << "</h2>\n"; generateBody(inner, marker); out() << "</div>\n"; // QTBUG-9504 @@ -1392,7 +1393,7 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner, sections = marker->sections(inner, CodeMarker::Detailed, CodeMarker::Okay); s = sections.begin(); while (s != sections.end()) { - out() << "<hr />\n"; + //out() << "<hr />\n"; if (!(*s).divClass.isEmpty()) out() << "<div class=\"" << (*s).divClass << "\"/>\n"; // QTBUG-9504 out() << "<h2>" << protectEnc((*s).name) << "</h2>\n"; @@ -1518,12 +1519,12 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) generateStatus(fake, marker); if (moduleNamespaceMap.contains(fake->name())) { - out() << "<a name=\"" << registerRef("namespaces") << "\"></a>\n"; + out() << "<a name=\"" << registerRef("namespaces") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>Namespaces</h2>\n"; generateAnnotatedList(fake, marker, moduleNamespaceMap[fake->name()]); } if (moduleClassMap.contains(fake->name())) { - out() << "<a name=\"" << registerRef("classes") << "\"></a>\n"; + out() << "<a name=\"" << registerRef("classes") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>Classes</h2>\n"; generateAnnotatedList(fake, marker, moduleClassMap[fake->name()]); } @@ -1586,19 +1587,19 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) sections = marker->qmlSections(qml_cn,CodeMarker::Summary); s = sections.begin(); while (s != sections.end()) { - out() << "<a name=\"" << registerRef((*s).name) << "\"></a>\n"; + out() << "<a name=\"" << registerRef((*s).name) << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>" << protectEnc((*s).name) << "</h2>\n"; generateQmlSummary(*s,fake,marker); ++s; } - out() << "<a name=\"" << registerRef("details") << "\"></a>\n"; + out() << "<a name=\"" << registerRef("details") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>" << "Detailed Description" << "</h2>\n"; generateBody(fake, marker); if (cn) generateQmlText(cn->doc().body(), cn, marker, fake->name()); generateAlsoList(fake, marker); - out() << "<hr />\n"; + //out() << "<hr />\n"; sections = marker->qmlSections(qml_cn,CodeMarker::Detailed); s = sections.begin(); @@ -1622,7 +1623,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) sections = marker->sections(fake, CodeMarker::Summary, CodeMarker::Okay); s = sections.begin(); while (s != sections.end()) { - out() << "<a name=\"" << registerRef((*s).name) << "\"></a>\n"; + out() << "<a name=\"" << registerRef((*s).name) << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<h2>" << protectEnc((*s).name) << "</h2>\n"; generateSectionList(*s, fake, marker, CodeMarker::Summary); ++s; @@ -1630,7 +1631,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) Text brief = fake->doc().briefText(); if (fake->subType() == Node::Module && !brief.isEmpty()) { - out() << "<a name=\"" << registerRef("details") << "\"></a>\n"; + out() << "<a name=\"" << registerRef("details") << "\"></a><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; out() << "<div class=\"descr\"/>\n"; // QTBUG-9504 out() << "<h2>" << "Detailed Description" << "</h2>\n"; } @@ -1655,7 +1656,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) sections = marker->sections(fake, CodeMarker::Detailed, CodeMarker::Okay); s = sections.begin(); while (s != sections.end()) { - out() << "<hr />\n"; + //out() << "<hr />\n"; out() << "<h2>" << protectEnc((*s).name) << "</h2>\n"; NodeList::ConstIterator m = (*s).members.begin(); @@ -1801,9 +1802,10 @@ void HtmlGenerator::generateHeader(const QString& title, if (offlineDocs) { - out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/OfflineStyle.css\" />"; + out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\" />"; out() << "</head>\n"; out() << "<body class=\"offline narrow\" >\n"; // narrow mainly for Creator + out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n"; } else { @@ -2039,7 +2041,7 @@ void HtmlGenerator::generateTableOfContents(const Node *node, inLink = true; out() << "<div class=\"toc\">\n"; - out() << "<h3>Contents</h3>\n"; + out() << "<h3><a name=\"toc\">Contents</a></h3>\n"; sectionNumber.append("1"); out() << "<ul>\n"; @@ -2252,7 +2254,7 @@ QString HtmlGenerator::generateLowStatusMemberFile(const InnerNode *inner, sections = marker->sections(inner, CodeMarker::Detailed, status); for (i = 0; i < sections.size(); ++i) { - out() << "<hr />\n"; + //out() << "<hr />\n"; out() << "<h2>" << protectEnc(sections.at(i).name) << "</h2>\n"; NodeList::ConstIterator m = sections.at(i).members.begin(); @@ -2621,7 +2623,7 @@ void HtmlGenerator::generateLegaleseList(const Node *relative, QMap<Text, const Node *>::ConstIterator it = legaleseTexts.begin(); while (it != legaleseTexts.end()) { Text text = it.key(); - out() << "<hr />\n"; + //out() << "<hr />\n"; generateText(text, relative, marker); out() << "<ul>\n"; do { @@ -2634,44 +2636,6 @@ void HtmlGenerator::generateLegaleseList(const Node *relative, } } -/*void HtmlGenerator::generateSynopsis(const Node *node, - const Node *relative, - CodeMarker *marker, - CodeMarker::SynopsisStyle style) -{ - QString marked = marker->markedUpSynopsis(node, relative, style); - QRegExp templateTag("(<[^@>]*>)"); - if (marked.indexOf(templateTag) != -1) { - QString contents = protectEnc(marked.mid(templateTag.pos(1), - templateTag.cap(1).length())); - marked.replace(templateTag.pos(1), templateTag.cap(1).length(), - contents); - } - marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), - "<i>\\1<sub>\\2</sub></i>"); - marked.replace("<@param>", "<i>"); - marked.replace("</@param>", "</i>"); - - if (style == CodeMarker::Summary) - marked.replace("@name>", "b>"); - - if (style == CodeMarker::SeparateList) { - QRegExp extraRegExp("<@extra>.*</@extra>"); - extraRegExp.setMinimal(true); - marked.replace(extraRegExp, ""); - } - else { - marked.replace("<@extra>", " <tt>"); - marked.replace("</@extra>", "</tt>"); - } - - if (style != CodeMarker::Detailed) { - marked.replace("<@type>", ""); - marked.replace("</@type>", ""); - } - out() << highlightedCode(marked, marker, relative); -}*/ - #ifdef QDOC_QML void HtmlGenerator::generateQmlItem(const Node *node, const Node *relative, @@ -2701,7 +2665,19 @@ void HtmlGenerator::generateQmlItem(const Node *node, marked.replace("<@type>", ""); marked.replace("</@type>", ""); } + if (node->type() == Node::QmlProperty) { + const QmlPropertyNode* qpn = static_cast<const QmlPropertyNode*>(node); + if (!summary && qpn->name() == "color" && qpn->dataType() == "color") { + if (relative && relative->name() == "GradientStop") { + qDebug() << "color : color"; + debugging_on = true; + qDebug() << " " << relative->name() << relative->type() << relative->subType(); + qDebug() << marked; + } + } + } out() << highlightedCode(marked, marker, relative); + debugging_on = false; } #endif @@ -2819,24 +2795,23 @@ void HtmlGenerator::generateOverviewList(const Node *relative, CodeMarker * /* m } } -#ifdef QDOC_NAME_ALIGNMENT void HtmlGenerator::generateSection(const NodeList& nl, const Node *relative, CodeMarker *marker, CodeMarker::SynopsisStyle style) { - bool name_alignment = true; + bool alignNames = true; if (!nl.isEmpty()) { bool twoColumn = false; if (style == CodeMarker::SeparateList) { - name_alignment = false; + alignNames = false; twoColumn = (nl.count() >= 16); } else if (nl.first()->type() == Node::Property) { twoColumn = (nl.count() >= 5); - name_alignment = false; + alignNames = false; } - if (name_alignment) { + if (alignNames) { out() << "<table class=\"alignedsummary\">\n"; } else { @@ -2854,7 +2829,7 @@ void HtmlGenerator::generateSection(const NodeList& nl, continue; } - if (name_alignment) { + if (alignNames) { out() << "<tr><td class=\"memItemLeft rightAlign topAlign\"> "; } else { @@ -2863,15 +2838,15 @@ void HtmlGenerator::generateSection(const NodeList& nl, out() << "<li class=\"fn\">"; } - generateSynopsis(*m, relative, marker, style, name_alignment); - if (name_alignment) + generateSynopsis(*m, relative, marker, style, alignNames); + if (alignNames) out() << "</td></tr>\n"; else out() << "</li>\n"; i++; ++m; } - if (name_alignment) + if (alignNames) out() << "</table>\n"; else { out() << "</ul>\n"; @@ -2886,18 +2861,18 @@ void HtmlGenerator::generateSectionList(const Section& section, CodeMarker *marker, CodeMarker::SynopsisStyle style) { - bool name_alignment = true; + bool alignNames = true; if (!section.members.isEmpty()) { bool twoColumn = false; if (style == CodeMarker::SeparateList) { - name_alignment = false; + alignNames = false; twoColumn = (section.members.count() >= 16); } else if (section.members.first()->type() == Node::Property) { twoColumn = (section.members.count() >= 5); - name_alignment = false; + alignNames = false; } - if (name_alignment) { + if (alignNames) { out() << "<table class=\"alignedsummary\">\n"; } else { @@ -2915,7 +2890,7 @@ void HtmlGenerator::generateSectionList(const Section& section, continue; } - if (name_alignment) { + if (alignNames) { out() << "<tr><td class=\"memItemLeft topAlign rightAlign\"> "; } else { @@ -2924,15 +2899,15 @@ void HtmlGenerator::generateSectionList(const Section& section, out() << "<li class=\"fn\">"; } - generateSynopsis(*m, relative, marker, style, name_alignment); - if (name_alignment) + generateSynopsis(*m, relative, marker, style, alignNames); + if (alignNames) out() << "</td></tr>\n"; else out() << "</li>\n"; i++; ++m; } - if (name_alignment) + if (alignNames) out() << "</table>\n"; else { out() << "</ul>\n"; @@ -2943,22 +2918,18 @@ void HtmlGenerator::generateSectionList(const Section& section, if (style == CodeMarker::Summary && !section.inherited.isEmpty()) { out() << "<ul>\n"; - generateSectionInheritedList(section, relative, marker, name_alignment); + generateSectionInheritedList(section, relative, marker); out() << "</ul>\n"; } } void HtmlGenerator::generateSectionInheritedList(const Section& section, const Node *relative, - CodeMarker *marker, - bool nameAlignment) + CodeMarker *marker) { QList<QPair<ClassNode *, int> >::ConstIterator p = section.inherited.begin(); while (p != section.inherited.end()) { - if (nameAlignment) - out() << "<li class=\"fn\">"; - else - out() << "<li class=\"fn\">"; + out() << "<li class=\"fn\">"; out() << (*p).second << " "; if ((*p).second == 1) { out() << section.singularMember; @@ -2978,7 +2949,7 @@ void HtmlGenerator::generateSynopsis(const Node *node, const Node *relative, CodeMarker *marker, CodeMarker::SynopsisStyle style, - bool nameAlignment) + bool alignNames) { QString marked = marker->markedUpSynopsis(node, relative, style); QRegExp templateTag("(<[^@>]*>)"); @@ -3011,14 +2982,13 @@ void HtmlGenerator::generateSynopsis(const Node *node, marked.replace("<@type>", ""); marked.replace("</@type>", ""); } - out() << highlightedCode(marked, marker, relative, style, nameAlignment); + out() << highlightedCode(marked, marker, relative, alignNames); } QString HtmlGenerator::highlightedCode(const QString& markedCode, - CodeMarker *marker, - const Node *relative, - CodeMarker::SynopsisStyle , - bool nameAlignment) + CodeMarker* marker, + const Node* relative, + bool alignNames) { QString src = markedCode; QString html; @@ -3028,20 +2998,24 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, const QChar charLangle = '<'; const QChar charAt = '@'; - // replace all <@link> tags: "(<@link node=\"([^\"]+)\">).*(</@link>)" + static const QString typeTag("type"); + static const QString headerTag("headerfile"); + static const QString funcTag("func"); static const QString linkTag("link"); + + // replace all <@link> tags: "(<@link node=\"([^\"]+)\">).*(</@link>)" bool done = false; - for (int i = 0, n = src.size(); i < n;) { + for (int i = 0, srcSize = src.size(); i < srcSize;) { if (src.at(i) == charLangle && src.at(i + 1).unicode() == '@') { - if (nameAlignment && !done) {// && (i != 0)) Why was this here? + if (alignNames && !done) {// && (i != 0)) Why was this here? html += "</td><td class=\"memItemRight bottomAlign\">"; done = true; } i += 2; - if (parseArg(src, linkTag, &i, n, &arg, &par1)) { + if (parseArg(src, linkTag, &i, srcSize, &arg, &par1)) { html += "<b>"; - QString link = linkForNode( - CodeMarker::nodeForString(par1.toString()), relative); + const Node* n = CodeMarker::nodeForString(par1.toString()); + QString link = linkForNode(n, relative); addLink(link, arg, &html); html += "</b>"; } @@ -3061,16 +3035,14 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, // replace all <@func> tags: "(<@func target=\"([^\"]*)\">)(.*)(</@func>)" src = html; html = QString(); - static const QString funcTag("func"); - for (int i = 0, n = src.size(); i < n;) { + for (int i = 0, srcSize = src.size(); i < srcSize;) { if (src.at(i) == charLangle && src.at(i + 1) == charAt) { i += 2; - if (parseArg(src, funcTag, &i, n, &arg, &par1)) { - QString link = linkForNode( - marker->resolveTarget(par1.toString(), - myTree, - relative), - relative); + if (parseArg(src, funcTag, &i, srcSize, &arg, &par1)) { + const Node* n = marker->resolveTarget(par1.toString(), + myTree, + relative); + QString link = linkForNode(n, relative); addLink(link, arg, &html); par1 = QStringRef(); } @@ -3088,296 +3060,36 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, // replace all "(<@(type|headerfile|func)(?: +[^>]*)?>)(.*)(</@\\2>)" tags src = html; html = QString(); - static const QString typeTags[] = { "type", "headerfile", "func" }; - for (int i = 0, n = src.size(); i < n;) { - if (src.at(i) == charLangle && src.at(i + 1) == charAt) { + + for (int i=0, srcSize=src.size(); i<srcSize;) { + if (src.at(i) == charLangle && src.at(i+1) == charAt) { i += 2; bool handled = false; - for (int k = 0; k != 3; ++k) { - if (parseArg(src, typeTags[k], &i, n, &arg, &par1)) { - par1 = QStringRef(); - QString link = linkForNode( - marker->resolveTarget(arg.toString(), myTree, relative), - relative); - addLink(link, arg, &html); - handled = true; - break; + if (parseArg(src, typeTag, &i, srcSize, &arg, &par1)) { + par1 = QStringRef(); + const Node* n = marker->resolveTarget(arg.toString(), myTree, relative); + if (HtmlGenerator::debugging_on) { + if (n) { + qDebug() << " " << n->name() << n->type() << n->subType(); + qDebug() << " " << relative->name() << relative->type() << relative->subType(); + } } + addLink(linkForNode(n,relative), arg, &html); + handled = true; } - if (!handled) { - html += charLangle; - html += charAt; + else if (parseArg(src, headerTag, &i, srcSize, &arg, &par1)) { + par1 = QStringRef(); + const Node* n = marker->resolveTarget(arg.toString(), myTree, relative); + addLink(linkForNode(n,relative), arg, &html); + handled = true; } - } - else { - html += src.at(i++); - } - } - - // replace all - // "<@comment>" -> "<span class=\"comment\">"; - // "<@preprocessor>" -> "<span class=\"preprocessor\">"; - // "<@string>" -> "<span class=\"string\">"; - // "<@char>" -> "<span class=\"char\">"; - // "</@(?:comment|preprocessor|string|char)>" -> "</span>" - src = html; - html = QString(); - static const QString spanTags[] = { - "<@comment>", "<span class=\"comment\">", - "<@preprocessor>", "<span class=\"preprocessor\">", - "<@string>", "<span class=\"string\">", - "<@char>", "<span class=\"char\">", - "</@comment>", "</span>", - "</@preprocessor>","</span>", - "</@string>", "</span>", - "</@char>", "</span>" - // "<@char>", "<font color=blue>", - // "</@char>", "</font>", - // "<@func>", "<font color=green>", - // "</@func>", "</font>", - // "<@id>", "<i>", - // "</@id>", "</i>", - // "<@keyword>", "<b>", - // "</@keyword>", "</b>", - // "<@number>", "<font color=yellow>", - // "</@number>", "</font>", - // "<@op>", "<b>", - // "</@op>", "</b>", - // "<@param>", "<i>", - // "</@param>", "</i>", - // "<@string>", "<font color=green>", - // "</@string>", "</font>", - }; - for (int i = 0, n = src.size(); i < n;) { - if (src.at(i) == charLangle) { - bool handled = false; - for (int k = 0; k != 8; ++k) { - const QString & tag = spanTags[2 * k]; - if (tag == QStringRef(&src, i, tag.length())) { - html += spanTags[2 * k + 1]; - i += tag.length(); - handled = true; - break; - } - } - if (!handled) { - ++i; - if (src.at(i) == charAt || - (src.at(i) == QLatin1Char('/') && src.at(i + 1) == charAt)) { - // drop 'our' unknown tags (the ones still containing '@') - while (i < n && src.at(i) != QLatin1Char('>')) - ++i; - ++i; - } - else { - // retain all others - html += charLangle; - } + else if (parseArg(src, funcTag, &i, srcSize, &arg, &par1)) { + par1 = QStringRef(); + const Node* n = marker->resolveTarget(arg.toString(), myTree, relative); + addLink(linkForNode(n,relative), arg, &html); + handled = true; } - } - else { - html += src.at(i); - ++i; - } - } - - return html; -} - -#else -void HtmlGenerator::generateSectionList(const Section& section, - const Node *relative, - CodeMarker *marker, - CodeMarker::SynopsisStyle style) -{ - if (!section.members.isEmpty()) { - bool twoColumn = false; - if (style == CodeMarker::SeparateList) { - twoColumn = (section.members.count() >= 16); - } - else if (section.members.first()->type() == Node::Property) { - twoColumn = (section.members.count() >= 5); - } - if (twoColumn) - out() << "<table class=\"generic\">\n"; - if (++numTableRows % 2 == 1) - out() << "<tr class=\"odd topAlign\">"; - else - out() << "<tr class=\"even topAlign\">"; - -// << "<tr><td class=\"topAlign\">"; - out() << "<ul>\n"; - int i = 0; - NodeList::ConstIterator m = section.members.begin(); - while (m != section.members.end()) { - if ((*m)->access() == Node::Private) { - ++m; - continue; - } - - if (twoColumn && i == (int) (section.members.count() + 1) / 2) - out() << "</ul></td><td class=\"topAlign\"><ul>\n"; - - out() << "<li class=\"fn\">"; - if (style == CodeMarker::Accessors) - out() << "<b>"; - generateSynopsis(*m, relative, marker, style); - if (style == CodeMarker::Accessors) - out() << "</b>"; - out() << "</li>\n"; - i++; - ++m; - } - out() << "</ul>\n"; - if (twoColumn) - out() << "</td></tr>\n</table>\n"; - } - - if (style == CodeMarker::Summary && !section.inherited.isEmpty()) { - out() << "<ul>\n"; - generateSectionInheritedList(section, relative, marker); - out() << "</ul>\n"; - } -} - -void HtmlGenerator::generateSectionInheritedList(const Section& section, - const Node *relative, - CodeMarker *marker) -{ - QList<QPair<ClassNode *, int> >::ConstIterator p = section.inherited.begin(); - while (p != section.inherited.end()) { - out() << "<li class=\"fn\">"; - out() << (*p).second << " "; - if ((*p).second == 1) { - out() << section.singularMember; - } else { - out() << section.pluralMember; - } - out() << " inherited from <a href=\"" << fileName((*p).first) - << "#" << HtmlGenerator::cleanRef(section.name.toLower()) << "\">" - << protectEnc(marker->plainFullName((*p).first, relative)) - << "</a></li>\n"; - ++p; - } -} - -void HtmlGenerator::generateSynopsis(const Node *node, - const Node *relative, - CodeMarker *marker, - CodeMarker::SynopsisStyle style) -{ - QString marked = marker->markedUpSynopsis(node, relative, style); - QRegExp templateTag("(<[^@>]*>)"); - if (marked.indexOf(templateTag) != -1) { - QString contents = protectEnc(marked.mid(templateTag.pos(1), - templateTag.cap(1).length())); - marked.replace(templateTag.pos(1), templateTag.cap(1).length(), - contents); - } - marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), "<i>\\1<sub>\\2</sub></i>"); - marked.replace("<@param>", "<i>"); - marked.replace("</@param>", "</i>"); - - if (style == CodeMarker::Summary) - marked.replace("@name>", "b>"); - - if (style == CodeMarker::SeparateList) { - QRegExp extraRegExp("<@extra>.*</@extra>"); - extraRegExp.setMinimal(true); - marked.replace(extraRegExp, ""); - } else { - marked.replace("<@extra>", "<tt>"); - marked.replace("</@extra>", "</tt>"); - } - - if (style != CodeMarker::Detailed) { - marked.replace("<@type>", ""); - marked.replace("</@type>", ""); - } - out() << highlightedCode(marked, marker, relative); -} - -QString HtmlGenerator::highlightedCode(const QString& markedCode, - CodeMarker *marker, - const Node *relative) -{ - QString src = markedCode; - QString html; - QStringRef arg; - QStringRef par1; - - const QChar charLangle = '<'; - const QChar charAt = '@'; - - // replace all <@link> tags: "(<@link node=\"([^\"]+)\">).*(</@link>)" - static const QString linkTag("link"); - for (int i = 0, n = src.size(); i < n;) { - if (src.at(i) == charLangle && src.at(i + 1) == charAt) { - i += 2; - if (parseArg(src, linkTag, &i, n, &arg, &par1)) { - const Node* node = CodeMarker::nodeForString(par1.toString()); - QString link = linkForNode(node, relative); - addLink(link, arg, &html); - } - else { - html += charLangle; - html += charAt; - } - } - else { - html += src.at(i++); - } - } - - if (slow) { - // is this block ever used at all? - // replace all <@func> tags: "(<@func target=\"([^\"]*)\">)(.*)(</@func>)" - src = html; - html = QString(); - static const QString funcTag("func"); - for (int i = 0, n = src.size(); i < n;) { - if (src.at(i) == charLangle && src.at(i + 1) == charAt) { - i += 2; - if (parseArg(src, funcTag, &i, n, &arg, &par1)) { - QString link = linkForNode( - marker->resolveTarget(par1.toString(), - myTree, - relative), - relative); - addLink(link, arg, &html); - par1 = QStringRef(); - } - else { - html += charLangle; - html += charAt; - } - } - else { - html += src.at(i++); - } - } - } - - // replace all "(<@(type|headerfile|func)(?: +[^>]*)?>)(.*)(</@\\2>)" tags - src = html; - html = QString(); - static const QString typeTags[] = { "type", "headerfile", "func" }; - for (int i = 0, n = src.size(); i < n;) { - if (src.at(i) == charLangle && src.at(i + 1) == charAt) { - i += 2; - bool handled = false; - for (int k = 0; k != 3; ++k) { - if (parseArg(src, typeTags[k], &i, n, &arg, &par1)) { - par1 = QStringRef(); - QString link = linkForNode( - marker->resolveTarget(arg.toString(), myTree, relative), - relative); - addLink(link, arg, &html); - handled = true; - break; - } - } if (!handled) { html += charLangle; html += charAt; @@ -3405,22 +3117,6 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, "</@preprocessor>","</span>", "</@string>", "</span>", "</@char>", "</span>" - // "<@char>", "<font color=blue>", - // "</@char>", "</font>", - // "<@func>", "<font color=green>", - // "</@func>", "</font>", - // "<@id>", "<i>", - // "</@id>", "</i>", - // "<@keyword>", "<b>", - // "</@keyword>", "</b>", - // "<@number>", "<font color=yellow>", - // "</@number>", "</font>", - // "<@op>", "<b>", - // "</@op>", "</b>", - // "<@param>", "<i>", - // "</@param>", "</i>", - // "<@string>", "<font color=green>", - // "</@string>", "</font>", }; for (int i = 0, n = src.size(); i < n;) { if (src.at(i) == charLangle) { @@ -3457,7 +3153,6 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, return html; } -#endif void HtmlGenerator::generateLink(const Atom* atom, const Node* /* relative */, @@ -3828,7 +3523,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node, out() << "<h3 class=\"fn\">"; out() << "<a name=\"" + refForNode(node) + "\"></a>"; generateSynopsis(node, relative, marker, CodeMarker::Detailed); - out() << "</h3>\n"; + out() << "</h3><div class=\"navTop\"><a href=\"#toc\"><img src=\"./images/bullet_up.png\"></a></div>\n"; } generateStatus(node, marker); @@ -4413,6 +4108,7 @@ void HtmlGenerator::generateQmlSummary(const Section& section, bool twoColumn = false; if (section.members.first()->type() == Node::QmlProperty) { twoColumn = (count >= 5); + twoColumn = false; } if (twoColumn) out() << "<table class=\"qmlsummary\">\n"; @@ -4462,14 +4158,13 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node, while (p != qpgn->childNodes().end()) { if ((*p)->type() == Node::QmlProperty) { qpn = static_cast<const QmlPropertyNode*>(*p); - - if (++numTableRows % 2 == 1) - out() << "<tr class=\"odd\">"; - else - out() << "<tr class=\"even\">"; + if (++numTableRows % 2 == 1) + out() << "<tr class=\"odd\">"; + else + out() << "<tr class=\"even\">"; - out() << "<td><p>"; - //out() << "<tr><td>"; // old + out() << "<td><p>"; + out() << "<a name=\"" + refForNode(qpn) + "\"></a>"; if (!qpn->isWritable()) out() << "<span class=\"qmlreadonly\">read-only</span>"; diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index e060257..80341de 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -46,8 +46,6 @@ #ifndef HTMLGENERATOR_H #define HTMLGENERATOR_H -#define QDOC_NAME_ALIGNMENT - #include <qmap.h> #include <qregexp.h> #include <QXmlStreamWriter> @@ -198,7 +196,7 @@ class HtmlGenerator : public PageGenerator void generateQmlInstantiates(const QmlClassNode* qcn, CodeMarker* marker); void generateInstantiatedBy(const ClassNode* cn, CodeMarker* marker); #endif -#ifdef QDOC_NAME_ALIGNMENT + void generateSection(const NodeList& nl, const Node *relative, CodeMarker *marker, @@ -207,28 +205,15 @@ class HtmlGenerator : public PageGenerator const Node *relative, CodeMarker *marker, CodeMarker::SynopsisStyle style, - bool nameAlignment = false); - void generateSectionInheritedList(const Section& section, - const Node *relative, - CodeMarker *marker, - bool nameAlignment = false); - QString highlightedCode(const QString& markedCode, - CodeMarker *marker, - const Node *relative, - CodeMarker::SynopsisStyle style = CodeMarker::Accessors, - bool nameAlignment = false); -#else - void generateSynopsis(const Node *node, - const Node *relative, - CodeMarker *marker, - CodeMarker::SynopsisStyle style); + bool alignNames = false); void generateSectionInheritedList(const Section& section, const Node *relative, CodeMarker *marker); QString highlightedCode(const QString& markedCode, CodeMarker *marker, - const Node *relative); -#endif + const Node *relative, + bool alignNames = false); + void generateFullName(const Node *apparentNode, const Node *relative, CodeMarker *marker, @@ -341,6 +326,8 @@ class HtmlGenerator : public PageGenerator NewClassMaps newClassMaps; NewClassMaps newQmlClassMaps; static int id; + public: + static bool debugging_on; }; #define HTMLGENERATOR_ADDRESS "address" diff --git a/tools/qdoc3/test/qdeclarative.qdocconf b/tools/qdoc3/test/qdeclarative.qdocconf index 74fd802..facec5c 100644 --- a/tools/qdoc3/test/qdeclarative.qdocconf +++ b/tools/qdoc3/test/qdeclarative.qdocconf @@ -6,7 +6,7 @@ include(qt-defines.qdocconf) project = Qml description = Qml Reference Documentation -url = http://qt.nokia.com/doc/4.6/ +url = http://qt.nokia.com/doc/4.7/ qmlonly = true edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \ @@ -21,7 +21,7 @@ edition.DesktopLight.groups = -graphicsview-api qhp.projects = Qml qhp.Qml.file = qml.qhp -qhp.Qml.namespace = com.trolltech.qml.460 +qhp.Qml.namespace = com.trolltech.qml.470 qhp.Qml.virtualFolder = qdoc qhp.Qml.indexTitle = Qml Reference @@ -55,9 +55,9 @@ qhp.Qml.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.Qml.filterAttributes = qt 4.6.0 qtrefdoc -qhp.Qml.customFilters.Qt.name = Qt 4.6.0 -qhp.Qml.customFilters.Qt.filterAttributes = qt 4.6.0 +qhp.Qml.filterAttributes = qt 4.7.0 qtrefdoc +qhp.Qml.customFilters.Qt.name = Qt 4.7.0 +qhp.Qml.customFilters.Qt.filterAttributes = qt 4.7.0 qhp.Qml.subprojects = classes qhp.Qml.subprojects.classes.title = Elements qhp.Qml.subprojects.classes.indexTitle = Qml Elements diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index 629c501..4c8d7e7 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -11,7 +11,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \ " <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \ " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearch\">\n" \ " <fieldset>\n" \ - " <input type=\"text\" value=\"\" id=\"pageType2\" name=\"searchstring\">\n" \ + " <input type=\"text\" value=\"\" id=\"pageType2\" name=\"searchstring\"/>\n" \ " </fieldset>\n" \ " </form></div>\n" \ " <div id=\"nav-topright\">\n" \ @@ -49,6 +49,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \ " <li><a href=\"declarativeui.html\">Device UI's & Qt Quick</a></li> \n" \ " <li><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li> \n" \ " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \ + " <li><a href=\"best-practices.html\">How-To's and Best Practices</a></li> \n" \ " </ul> \n" \ " </li> \n" \ " <li><a href=\"#\">Examples</a> \n" \ @@ -57,7 +58,6 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \ " <li><a href=\"tutorials.html\">Tutorials</a></li> \n" \ " <li><a href=\"demos.html\">Demos</a></li> \n" \ " <li><a href=\"qdeclarativeexamples.html\">QML Examples</a></li> \n" \ - " <li><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li> \n" \ " </ul> \n" \ " </li> \n" \ " </ul> \n" \ @@ -160,7 +160,7 @@ HTML.footer = " <!-- /div -->\n" \ " <div id=\"feedbackBox\">\n" \ " <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \ " <form id=\"feedform\" action=\"http://doc.qt.nokia.com/docFeedbck/feedback.php\" method=\"get\">\n" \ - " <p>Thank you for giving your feedback. <div class=\"note\">Make sure it is related the page. For more general bugs and \n" \ + " <p id=\"noteHead\">Thank you for giving your feedback. <div class=\"note\">Make sure it is related the page. For more general bugs and \n" \ " requests, please use the <a href=\"http://bugreports.qt.nokia.com/secure/Dashboard.jspa\">Qt Bug Tracker</a></div></p>\n" \ " <p><textarea id=\"feedbox\" name=\"feedText\" rows=\"5\" cols=\"40\"></textarea></p>\n" \ " <p><input id=\"feedsubmit\" class=\"feedclose\" type=\"submit\" name=\"feedback\" /></p>\n" \ diff --git a/tools/qdoc3/test/style/style.css b/tools/qdoc3/test/style/style.css index 9c290f5..dff0772 100644 --- a/tools/qdoc3/test/style/style.css +++ b/tools/qdoc3/test/style/style.css @@ -776,12 +776,14 @@ } .qmlreadonly { + padding-left: 3px; float: right; color: #254117; } .qmldefault { + padding-left: 3px; float: right; color: red; } diff --git a/tools/qdoc3/tree.cpp b/tools/qdoc3/tree.cpp index d31de4d..70b998f 100644 --- a/tools/qdoc3/tree.cpp +++ b/tools/qdoc3/tree.cpp @@ -134,15 +134,16 @@ Node *Tree::findNode(const QStringList &path, Node *relative, int findFlags) /*! */ -const Node *Tree::findNode(const QStringList &path, - const Node *relative, +const Node* Tree::findNode(const QStringList &path, + const Node* start, int findFlags) const { - if (!relative) - relative = root(); + const Node* current = start; + if (!current) + current = root(); do { - const Node *node = relative; + const Node *node = current; int i; for (i = 0; i < path.size(); ++i) { @@ -171,9 +172,10 @@ const Node *Tree::findNode(const QStringList &path, if (node && i == path.size() && (!(findFlags & NonFunction) || node->type() != Node::Function || ((FunctionNode *)node)->metaness() == FunctionNode::MacroWithoutParams)) - return node; - relative = relative->parent(); - } while (relative); + if ((node != start) && (node->subType() != Node::QmlPropertyGroup)) + return node; + current = current->parent(); + } while (current); return 0; } diff --git a/tools/qml/deviceorientation_maemo.cpp b/tools/qml/deviceorientation_maemo5.cpp index 443edc8..e942579 100644 --- a/tools/qml/deviceorientation_maemo.cpp +++ b/tools/qml/deviceorientation_maemo5.cpp @@ -124,4 +124,4 @@ DeviceOrientation* DeviceOrientation::instance() return o; } -#include "deviceorientation_maemo.moc" +#include "deviceorientation_maemo5.moc" diff --git a/tools/qml/deviceorientation_symbian.cpp b/tools/qml/deviceorientation_symbian.cpp new file mode 100644 index 0000000..c305f94 --- /dev/null +++ b/tools/qml/deviceorientation_symbian.cpp @@ -0,0 +1,162 @@ +/**************************************************************************** +** +** 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 tools applications 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 "deviceorientation.h" + +#include <e32base.h> +#include <sensrvchannelfinder.h> +#include <sensrvdatalistener.h> +#include <sensrvchannel.h> +#include <sensrvorientationsensor.h> + +class SymbianOrientation : public DeviceOrientation, public MSensrvDataListener +{ + Q_OBJECT +public: + SymbianOrientation() + : DeviceOrientation(), m_current(UnknownOrientation), m_sensorChannel(0) + { + TRAP_IGNORE(initL()); + if (!m_sensorChannel) + qWarning("No valid sensors found."); + } + + ~SymbianOrientation() + { + if (m_sensorChannel) { + m_sensorChannel->StopDataListening(); + m_sensorChannel->CloseChannel(); + delete m_sensorChannel; + } + } + + void initL() + { + CSensrvChannelFinder *channelFinder = CSensrvChannelFinder::NewLC(); + RSensrvChannelInfoList channelInfoList; + CleanupClosePushL(channelInfoList); + + TSensrvChannelInfo searchConditions; + searchConditions.iChannelType = KSensrvChannelTypeIdOrientationData; + channelFinder->FindChannelsL(channelInfoList, searchConditions); + + for (int i = 0; i < channelInfoList.Count(); ++i) { + TRAPD(error, m_sensorChannel = CSensrvChannel::NewL(channelInfoList[i])); + if (!error) + TRAP(error, m_sensorChannel->OpenChannelL()); + if (!error) { + TRAP(error, m_sensorChannel->StartDataListeningL(this, 1, 1, 0)); + break; + } + if (error) { + delete m_sensorChannel; + m_sensorChannel = 0; + } + } + + channelInfoList.Close(); + CleanupStack::Pop(&channelInfoList); + CleanupStack::PopAndDestroy(channelFinder); + } + + Orientation orientation() const + { + return m_current; + } + + void setOrientation(Orientation) { } + +private: + DeviceOrientation::Orientation m_current; + CSensrvChannel *m_sensorChannel; + + void DataReceived(CSensrvChannel &channel, TInt count, TInt dataLost) + { + if (channel.GetChannelInfo().iChannelType == KSensrvChannelTypeIdOrientationData) { + TSensrvOrientationData data; + for (int i = 0; i < count; ++i) { + TPckgBuf<TSensrvOrientationData> dataBuf; + channel.GetData(dataBuf); + data = dataBuf(); + Orientation o = UnknownOrientation; + switch (data.iDeviceOrientation) { + case TSensrvOrientationData::EOrientationDisplayUp: + o = Portrait; + break; + case TSensrvOrientationData::EOrientationDisplayRightUp: + o = Landscape; + break; + case TSensrvOrientationData::EOrientationDisplayLeftUp: + case TSensrvOrientationData::EOrientationDisplayDown: + case TSensrvOrientationData::EOrientationUndefined: + case TSensrvOrientationData::EOrientationDisplayUpwards: + case TSensrvOrientationData::EOrientationDisplayDownwards: + default: + break; + } + + if (m_current != o && o != UnknownOrientation) { + m_current = o; + emit orientationChanged(); + } + } + } + } + + void DataError(CSensrvChannel& /* channel */, TSensrvErrorSeverity /* error */) + { + } + + void GetDataListenerInterfaceL(TUid /* interfaceUid */, TAny*& /* interface */) + { + } +}; + + +DeviceOrientation* DeviceOrientation::instance() +{ + static SymbianOrientation *o = 0; + if (!o) + o = new SymbianOrientation; + return o; +} + +#include "deviceorientation_symbian.moc" diff --git a/tools/qml/loggerwidget.cpp b/tools/qml/loggerwidget.cpp index 3ae2b5e..8aa029f 100644 --- a/tools/qml/loggerwidget.cpp +++ b/tools/qml/loggerwidget.cpp @@ -39,29 +39,48 @@ ** ****************************************************************************/ -#include "loggerwidget.h" #include <qglobal.h> #include <QDebug> #include <QSettings> #include <QActionGroup> #include <QMenu> +#include <QPlainTextEdit> +#ifdef Q_WS_MAEMO_5 +# include <QScrollArea> +# include <QVBoxLayout> +# include "texteditautoresizer_maemo5.h" +#endif + +#include "loggerwidget.h" QT_BEGIN_NAMESPACE LoggerWidget::LoggerWidget(QWidget *parent) : - QPlainTextEdit(parent), + QMainWindow(parent), m_visibilityOrigin(SettingsOrigin) { setAttribute(Qt::WA_QuitOnClose, false); setWindowTitle(tr("Warnings")); + m_plainTextEdit = new QPlainTextEdit(); + +#ifdef Q_WS_MAEMO_5 + new TextEditAutoResizer(m_plainTextEdit); + setAttribute(Qt::WA_Maemo5StackedWindow); + QScrollArea *area = new QScrollArea(); + area->setWidget(m_plainTextEdit); + area->setWidgetResizable(true); + setCentralWidget(area); +#else + setCentralWidget(m_plainTextEdit); +#endif readSettings(); setupPreferencesMenu(); } void LoggerWidget::append(const QString &msg) { - appendPlainText(msg); + m_plainTextEdit->appendPlainText(msg); if (!isVisible() && (defaultVisibility() == AutoShowWarnings)) setVisible(true); diff --git a/tools/qml/loggerwidget.h b/tools/qml/loggerwidget.h index fd20c41..13c319f 100644 --- a/tools/qml/loggerwidget.h +++ b/tools/qml/loggerwidget.h @@ -42,12 +42,17 @@ #ifndef LOGGERWIDGET_H #define LOGGERWIDGET_H -#include <QPlainTextEdit> +#include <QMainWindow> +#include <QMetaType> QT_BEGIN_NAMESPACE -class LoggerWidget : public QPlainTextEdit { -Q_OBJECT +class QPlainTextEdit; +class QMenu; +class QAction; + +class LoggerWidget : public QMainWindow { + Q_OBJECT public: LoggerWidget(QWidget *parent=0); @@ -80,6 +85,7 @@ private: QMenu *m_preferencesMenu; QAction *m_showWidgetAction; + QPlainTextEdit *m_plainTextEdit; enum ConfigOrigin { CommandLineOrigin, SettingsOrigin }; ConfigOrigin m_visibilityOrigin; diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp index a75023b..4b1162e 100644 --- a/tools/qml/main.cpp +++ b/tools/qml/main.cpp @@ -49,12 +49,15 @@ #include <QTranslator> #include <QDebug> #include <QMessageBox> +#include <QAtomicInt> #include "qdeclarativetester.h" QT_USE_NAMESPACE QtMsgHandler systemMsgOutput = 0; + + #if defined (Q_OS_SYMBIAN) #include <unistd.h> #include <sys/types.h> @@ -89,19 +92,25 @@ void showWarnings() } } +static QAtomicInt recursiveLock(0); + void myMessageOutput(QtMsgType type, const char *msg) { - if (!logger.isNull()) { - QString strMsg = QString::fromAscii(msg); - QMetaObject::invokeMethod(logger.data(), "append", Q_ARG(QString, strMsg)); + QString strMsg = QString::fromLatin1(msg); + + if (!logger.isNull() && !QCoreApplication::closingDown()) { + if (recursiveLock.testAndSetOrdered(0, 1)) { + QMetaObject::invokeMethod(logger.data(), "append", Q_ARG(QString, strMsg)); + recursiveLock = 0; + } } else { - warnings += msg; + warnings += strMsg; warnings += QLatin1Char('\n'); } if (systemMsgOutput) { // Windows systemMsgOutput(type, msg); } else { // Unix - fprintf(stderr, "%s\n",msg); + fprintf(stderr, "%s\n", msg); fflush(stderr); } } @@ -119,7 +128,7 @@ void usage() qWarning(" -fullscreen............................... run fullscreen"); qWarning(" -stayontop................................ keep viewer window on top"); qWarning(" -sizeviewtorootobject .................... the view resizes to the changes in the content"); - qWarning(" -sizerootobjecttoview .................... the content resizes to the changes in the view"); + qWarning(" -sizerootobjecttoview .................... the content resizes to the changes in the view (default)"); qWarning(" -qmlbrowser .............................. use a QML-based file browser"); qWarning(" -warnings [show|hide]..................... show warnings in a separate log window"); qWarning(" -recordfile <output> ..................... set video recording file"); @@ -200,6 +209,8 @@ int main(int argc, char ** argv) app.setOrganizationName("Nokia"); app.setOrganizationDomain("nokia.com"); + + QDeclarativeViewer::registerTypes(); QDeclarativeTester::registerTypes(); diff --git a/tools/qml/proxysettings.cpp b/tools/qml/proxysettings.cpp index 3255e42..ffaa4c0 100644 --- a/tools/qml/proxysettings.cpp +++ b/tools/qml/proxysettings.cpp @@ -48,11 +48,14 @@ QT_BEGIN_NAMESPACE ProxySettings::ProxySettings (QWidget * parent) - : QDialog (parent), Ui::ProxySettings() + : QDialog (parent), Ui::ProxySettings() { setupUi (this); +#if !defined Q_WS_MAEMO_5 + // the onscreen keyboard can't cope with masks proxyServerEdit->setInputMask ("000.000.000.000;_"); +#endif QIntValidator *validator = new QIntValidator (0, 9999, this); proxyPortEdit->setValidator (validator); diff --git a/tools/qml/proxysettings.h b/tools/qml/proxysettings.h index 325929a..5d4d137 100644 --- a/tools/qml/proxysettings.h +++ b/tools/qml/proxysettings.h @@ -44,7 +44,11 @@ #include <QDialog> #include <QNetworkProxy> +#ifdef Q_WS_MAEMO_5 +#include "ui_proxysettings_maemo5.h" +#else #include "ui_proxysettings.h" +#endif QT_BEGIN_NAMESPACE /** diff --git a/tools/qml/proxysettings_maemo5.ui b/tools/qml/proxysettings_maemo5.ui new file mode 100644 index 0000000..83f0c2a --- /dev/null +++ b/tools/qml/proxysettings_maemo5.ui @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ProxySettings</class> + <widget class="QDialog" name="ProxySettings"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>449</width> + <height>164</height> + </rect> + </property> + <property name="windowTitle"> + <string>HTTP Proxy</string> + </property> + <layout class="QGridLayout" name="gridLayout_2"> + <property name="leftMargin"> + <number>16</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>16</number> + </property> + <property name="bottomMargin"> + <number>8</number> + </property> + <property name="horizontalSpacing"> + <number>16</number> + </property> + <property name="verticalSpacing"> + <number>0</number> + </property> + <item row="0" column="0"> + <widget class="QCheckBox" name="proxyCheckBox"> + <property name="text"> + <string>Use HTTP Proxy</string> + </property> + </widget> + </item> + <item row="0" column="1" rowspan="2"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0" rowspan="2"> + <widget class="QWidget" name="widget" native="true"> + <layout class="QGridLayout" name="gridLayout"> + <property name="horizontalSpacing"> + <number>16</number> + </property> + <property name="verticalSpacing"> + <number>0</number> + </property> + <property name="margin"> + <number>0</number> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="serverAddressLabel"> + <property name="text"> + <string>Server</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="proxyServerEdit"> + <property name="placeholderText"> + <string>Name or IP</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Port</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="proxyPortEdit"> + <property name="text"> + <string>8080</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="usernameLabel"> + <property name="text"> + <string>Username</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLineEdit" name="usernameEdit"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="passwordLabel"> + <property name="text"> + <string>Password</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="passwordEdit"> + <property name="echoMode"> + <enum>QLineEdit::Password</enum> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="1"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>proxyCheckBox</tabstop> + <tabstop>proxyServerEdit</tabstop> + <tabstop>proxyPortEdit</tabstop> + <tabstop>usernameEdit</tabstop> + <tabstop>passwordEdit</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>ProxySettings</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>318</x> + <y>100</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>116</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>ProxySettings</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>318</x> + <y>100</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>116</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/tools/qml/qdeclarativetester.h b/tools/qml/qdeclarativetester.h index d49c9b8..021869d 100644 --- a/tools/qml/qdeclarativetester.h +++ b/tools/qml/qdeclarativetester.h @@ -48,6 +48,9 @@ #include <QImage> #include <QUrl> #include <qmlruntime.h> +#include <qdeclarativelist.h> +#include <qdeclarative.h> +#include <QAbstractAnimation> QT_BEGIN_NAMESPACE diff --git a/tools/qml/qml.pri b/tools/qml/qml.pri index 58d8cc1..fcd0c33 100644 --- a/tools/qml/qml.pri +++ b/tools/qml/qml.pri @@ -19,10 +19,16 @@ SOURCES += $$PWD/qmlruntime.cpp \ RESOURCES = $$PWD/qmlruntime.qrc maemo5 { QT += dbus - SOURCES += $$PWD/deviceorientation_maemo.cpp + HEADERS += $$PWD/texteditautoresizer_maemo5.h + SOURCES += $$PWD/deviceorientation_maemo5.cpp + FORMS = $$PWD/recopts_maemo5.ui \ + $$PWD/proxysettings_maemo5.ui +} symbian:!contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) { + SOURCES += $$PWD/deviceorientation_symbian.cpp + FORMS = $$PWD/recopts.ui \ + $$PWD/proxysettings.ui } else { SOURCES += $$PWD/deviceorientation.cpp + FORMS = $$PWD/recopts.ui \ + $$PWD/proxysettings.ui } - -FORMS = $$PWD/recopts.ui \ - $$PWD/proxysettings.ui diff --git a/tools/qml/qml.pro b/tools/qml/qml.pro index 9cdec77..bb69e8a 100644 --- a/tools/qml/qml.pro +++ b/tools/qml/qml.pro @@ -29,11 +29,17 @@ wince* { QT += webkit } } +maemo5 { + QT += maemo5 +} symbian { TARGET.UID3 = 0x20021317 include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 TARGET.CAPABILITY = NetworkServices ReadUserData + !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) { + LIBS += -lsensrvclient -lsensrvutil + } } mac { QMAKE_INFO_PLIST=Info_mac.plist diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index 676881d..951b187 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -44,15 +44,23 @@ #ifdef hz #undef hz #endif -#include "ui_recopts.h" +#ifdef Q_WS_MAEMO_5 +# include <QMaemo5ValueButton> +# include <QMaemo5ListPickSelector> +# include <QWidgetAction> +# include <QStringListModel> +# include "ui_recopts_maemo5.h" +#else +# include "ui_recopts.h" +#endif #include "qmlruntime.h" #include <qdeclarativecontext.h> #include <qdeclarativeengine.h> #include <qdeclarativenetworkaccessmanagerfactory.h> #include "qdeclarative.h" -#include <private/qabstractanimation_p.h> #include <QAbstractAnimation> +#include <private/qabstractanimation_p.h> #include <QSettings> #include <QXmlStreamReader> @@ -136,24 +144,59 @@ private: }; -class SizedMenuBar : public QMenuBar -{ + +#if defined(Q_WS_MAEMO_5) + +class Maemo5PickerAction : public QWidgetAction { Q_OBJECT public: - SizedMenuBar(QWidget *parent, QWidget *referenceWidget) - : QMenuBar(parent), refWidget(referenceWidget) + Maemo5PickerAction(const QString &text, QActionGroup *actions, QObject *parent) + : QWidgetAction(parent), m_text(text), m_actions(actions) + { } + + QWidget *createWidget(QWidget *parent) { + QMaemo5ValueButton *button = new QMaemo5ValueButton(m_text, parent); + button->setValueLayout(QMaemo5ValueButton::ValueUnderTextCentered); + QMaemo5ListPickSelector *pick = new QMaemo5ListPickSelector(button); + button->setPickSelector(pick); + if (m_actions) { + QStringList sl; + int curIdx = -1, idx = 0; + foreach (QAction *a, m_actions->actions()) { + sl << a->text(); + if (a->isChecked()) + curIdx = idx; + idx++; + } + pick->setModel(new QStringListModel(sl)); + pick->setCurrentIndex(curIdx); + } else { + button->setEnabled(false); + } + connect(pick, SIGNAL(selected(QString)), this, SLOT(emitTriggered())); + return button; } - virtual QSize sizeHint() const +private slots: + void emitTriggered() { - return QSize(refWidget->sizeHint().width(), QMenuBar::sizeHint().height()); + QMaemo5ListPickSelector *pick = qobject_cast<QMaemo5ListPickSelector *>(sender()); + if (!pick) + return; + int idx = pick->currentIndex(); + + if (m_actions && idx >= 0 && idx < m_actions->actions().count()) + m_actions->actions().at(idx)->trigger(); } private: - QWidget *refWidget; + QString m_text; + QPointer<QActionGroup> m_actions; }; +#endif // Q_WS_MAEMO_5 + static struct { const char *name, *args; } ffmpegprofiles[] = { {"Maximum Quality", "-sameq"}, {"High Quality", "-qmax 2"}, @@ -170,7 +213,9 @@ public: RecordingDialog(QWidget *parent) : QDialog(parent) { setupUi(this); +#ifndef Q_WS_MAEMO_5 hz->setValidator(new QDoubleValidator(hz)); +#endif for (int i=0; ffmpegprofiles[i].name; ++i) { profile->addItem(ffmpegprofiles[i].name); } @@ -197,6 +242,132 @@ public: return ffmpegprofiles[i].args[0] ? QLatin1String(ffmpegprofiles[i].args) : customargs; } + void setOriginalSize(const QSize &s) + { + QString str = tr("Original (%1x%2)").arg(s.width()).arg(s.height()); + +#ifdef Q_WS_MAEMO_5 + sizeCombo->setItemText(0, str); +#else + sizeOriginal->setText(str); + if (sizeWidth->value()<=1) { + sizeWidth->setValue(s.width()); + sizeHeight->setValue(s.height()); + } +#endif + } + + void showffmpegOptions(bool b) + { +#ifdef Q_WS_MAEMO_5 + profileLabel->setVisible(b); + profile->setVisible(b); + ffmpegHelp->setVisible(b); + args->setVisible(b); +#else + ffmpegOptions->setVisible(b); +#endif + } + + void showRateOptions(bool b) + { +#ifdef Q_WS_MAEMO_5 + rateLabel->setVisible(b); + rateCombo->setVisible(b); +#else + rateOptions->setVisible(b); +#endif + } + + void setVideoRate(int rate) + { +#ifdef Q_WS_MAEMO_5 + int idx; + if (rate >= 60) + idx = 0; + else if (rate >= 50) + idx = 2; + else if (rate >= 25) + idx = 3; + else if (rate >= 24) + idx = 4; + else if (rate >= 20) + idx = 5; + else if (rate >= 15) + idx = 6; + else + idx = 7; + rateCombo->setCurrentIndex(idx); +#else + if (rate == 24) + hz24->setChecked(true); + else if (rate == 25) + hz25->setChecked(true); + else if (rate == 50) + hz50->setChecked(true); + else if (rate == 60) + hz60->setChecked(true); + else { + hzCustom->setChecked(true); + hz->setText(QString::number(rate)); + } +#endif + } + + int videoRate() const + { +#ifdef Q_WS_MAEMO_5 + switch (rateCombo->currentIndex()) { + case 0: return 60; + case 1: return 50; + case 2: return 25; + case 3: return 24; + case 4: return 20; + case 5: return 15; + case 7: return 10; + default: return 60; + } +#else + if (hz24->isChecked()) + return 24; + else if (hz25->isChecked()) + return 25; + else if (hz50->isChecked()) + return 50; + else if (hz60->isChecked()) + return 60; + else { + return hz->text().toInt(); + } +#endif + } + + QSize videoSize() const + { +#ifdef Q_WS_MAEMO_5 + switch (sizeCombo->currentIndex()) { + case 0: return QSize(); + case 1: return QSize(640,480); + case 2: return QSize(320,240); + case 3: return QSize(1280,720); + default: return QSize(); + } +#else + if (sizeOriginal->isChecked()) + return QSize(); + else if (size720p->isChecked()) + return QSize(1280,720); + else if (sizeVGA->isChecked()) + return QSize(640,480); + else if (sizeQVGA->isChecked()) + return QSize(320,240); + else + return QSize(sizeWidth->value(), sizeHeight->value()); +#endif + } + + + private slots: void pickProfile(int i) { @@ -260,65 +431,82 @@ private: mutable QMutex mutex; }; -class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory +class SystemProxyFactory : public QNetworkProxyFactory { public: - NetworkAccessManagerFactory() : cacheSize(0) {} - ~NetworkAccessManagerFactory() {} - - QNetworkAccessManager *create(QObject *parent); + SystemProxyFactory() : proxyDirty(true), httpProxyInUse(false) { + } - void setupProxy(QNetworkAccessManager *nam) + virtual QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query) { - class SystemProxyFactory : public QNetworkProxyFactory - { - public: - virtual QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query) - { - QString protocolTag = query.protocolTag(); - if (httpProxyInUse && (protocolTag == "http" || protocolTag == "https")) { - QList<QNetworkProxy> ret; - ret << httpProxy; - return ret; - } + if (proxyDirty) + setupProxy(); + QString protocolTag = query.protocolTag(); + if (httpProxyInUse && (protocolTag == "http" || protocolTag == "https")) { + QList<QNetworkProxy> ret; + ret << httpProxy; + return ret; + } #ifdef Q_OS_WIN - // systemProxyForQuery can take insanely long on Windows (QTBUG-10106) - return QNetworkProxyFactory::proxyForQuery(query); + // systemProxyForQuery can take insanely long on Windows (QTBUG-10106) + return QNetworkProxyFactory::proxyForQuery(query); #else - return QNetworkProxyFactory::systemProxyForQuery(query); + return QNetworkProxyFactory::systemProxyForQuery(query); #endif - } - void setHttpProxy (QNetworkProxy proxy) - { - httpProxy = proxy; - httpProxyInUse = true; - } - void unsetHttpProxy () - { - httpProxyInUse = false; - } - private: - bool httpProxyInUse; - QNetworkProxy httpProxy; - }; - - SystemProxyFactory *proxyFactory = new SystemProxyFactory; - if (ProxySettings::httpProxyInUse()) - proxyFactory->setHttpProxy(ProxySettings::httpProxy()); - else - proxyFactory->unsetHttpProxy(); - nam->setProxyFactory(proxyFactory); } + void setupProxy() { + // Don't bother locking because we know that the proxy only + // changes in response to the settings dialog and that + // the view will be reloaded. + proxyDirty = false; + httpProxyInUse = ProxySettings::httpProxyInUse(); + if (httpProxyInUse) + httpProxy = ProxySettings::httpProxy(); + } + + void proxyChanged() { + proxyDirty = true; + } + +private: + volatile bool proxyDirty; + bool httpProxyInUse; + QNetworkProxy httpProxy; +}; + +class NetworkAccessManagerFactory : public QObject, public QDeclarativeNetworkAccessManagerFactory +{ + Q_OBJECT +public: + NetworkAccessManagerFactory() : cacheSize(0) {} + ~NetworkAccessManagerFactory() {} + + QNetworkAccessManager *create(QObject *parent); + void setCacheSize(int size) { if (size != cacheSize) { cacheSize = size; } } + void proxyChanged() { + foreach (QNetworkAccessManager *nam, namList) { + static_cast<SystemProxyFactory*>(nam->proxyFactory())->proxyChanged(); + } + } + static PersistentCookieJar *cookieJar; + +private slots: + void managerDestroyed(QObject *obj) { + namList.removeOne(static_cast<QNetworkAccessManager*>(obj)); + } + +private: QMutex mutex; int cacheSize; + QList<QNetworkAccessManager*> namList; }; PersistentCookieJar *NetworkAccessManagerFactory::cookieJar = 0; @@ -339,7 +527,7 @@ QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent) } manager->setCookieJar(cookieJar); cookieJar->setParent(0); - setupProxy(manager); + manager->setProxyFactory(new SystemProxyFactory); if (cacheSize > 0) { QNetworkDiskCache *cache = new QNetworkDiskCache; cache->setCacheDirectory(QDir::tempPath()+QLatin1String("/qml-viewer-network-cache")); @@ -348,6 +536,8 @@ QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent) } else { manager->setCache(0); } + connect(manager, SIGNAL(destroyed(QObject*)), this, SLOT(managerDestroyed(QObject*))); + namList.append(manager); qDebug() << "created new network access manager for" << parent; return manager; } @@ -363,15 +553,10 @@ QString QDeclarativeViewer::getVideoFileName() return QFileDialog::getSaveFileName(this, title, "", types.join(";; ")); } - QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) -#if defined(Q_OS_SYMBIAN) : QMainWindow(parent, flags) -#else - : QWidget(parent, flags) -#endif - , loggerWindow(new LoggerWidget()) - , frame_stream(0), mb(0) + , loggerWindow(new LoggerWidget(this)) + , frame_stream(0) , orientation(0) , showWarningsWindow(0) , m_scriptOptions(0) @@ -381,6 +566,10 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) { QDeclarativeViewer::registerTypes(); setWindowTitle(tr("Qt QML Viewer")); +#ifdef Q_WS_MAEMO_5 + setAttribute(Qt::WA_Maemo5StackedWindow); +// setPalette(QApplication::palette("QLabel")); +#endif devicemode = false; canvas = 0; @@ -393,9 +582,9 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) senseFfmpeg(); senseImageMagick(); if (!ffmpegAvailable) - recdlg->ffmpegOptions->hide(); + recdlg->showffmpegOptions(false); if (!ffmpegAvailable && !convertAvailable) - recdlg->rateOptions->hide(); + recdlg->showRateOptions(false); QString warn; if (!ffmpegAvailable) { if (!convertAvailable) @@ -422,33 +611,27 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) QObject::connect(warningsWidget(), SIGNAL(closed()), this, SLOT(warningsWidgetClosed())); if (!(flags & Qt::FramelessWindowHint)) { - createMenu(menuBar(),0); + createMenu(); changeOrientation(orientation->actions().value(0)); + } else { + setMenuBar(0); } -#if !defined(Q_OS_SYMBIAN) - QVBoxLayout *layout = new QVBoxLayout; - layout->setMargin(0); - layout->setSpacing(0); - setLayout(layout); - if (mb) - layout->addWidget(mb); - layout->addWidget(canvas); -#else setCentralWidget(canvas); -#endif + namFactory = new NetworkAccessManagerFactory; canvas->engine()->setNetworkAccessManagerFactory(namFactory); - connect(&autoStartTimer, SIGNAL(triggered()), this, SLOT(autoStartRecording())); - connect(&autoStopTimer, SIGNAL(triggered()), this, SLOT(autoStopRecording())); - connect(&recordTimer, SIGNAL(triggered()), this, SLOT(recordFrame())); + connect(&autoStartTimer, SIGNAL(timeout()), this, SLOT(autoStartRecording())); + connect(&autoStopTimer, SIGNAL(timeout()), this, SLOT(autoStopRecording())); + connect(&recordTimer, SIGNAL(timeout()), this, SLOT(recordFrame())); connect(DeviceOrientation::instance(), SIGNAL(orientationChanged()), this, SLOT(orientationChanged()), Qt::QueuedConnection); - autoStartTimer.setRunning(false); - autoStopTimer.setRunning(false); - recordTimer.setRunning(false); - recordTimer.setRepeating(true); + autoStartTimer.setSingleShot(true); + autoStopTimer.setSingleShot(true); + recordTimer.setSingleShot(false); + + QObject::connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(appAboutToQuit())); } QDeclarativeViewer::~QDeclarativeViewer() @@ -468,26 +651,6 @@ void QDeclarativeViewer::enableExperimentalGestures() canvas->viewport()->setAttribute(Qt::WA_AcceptTouchEvents); } -int QDeclarativeViewer::menuBarHeight() const -{ - if (!(windowFlags() & Qt::FramelessWindowHint)) - return menuBar()->height(); - else - return 0; // don't create menu -} - -QMenuBar *QDeclarativeViewer::menuBar() const -{ -#if !defined(Q_OS_SYMBIAN) - if (!mb) - mb = new SizedMenuBar((QWidget*)this, canvas); -#else - mb = QMainWindow::menuBar(); -#endif - - return mb; -} - QDeclarativeView *QDeclarativeViewer::view() const { return canvas; @@ -498,120 +661,128 @@ LoggerWidget *QDeclarativeViewer::warningsWidget() const return loggerWindow; } -void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu) +void QDeclarativeViewer::createMenu() { - QObject *parent = flatmenu ? (QObject*)flatmenu : (QObject*)menu; - - QMenu *fileMenu = flatmenu ? flatmenu : menu->addMenu(tr("&File")); - - QAction *openAction = new QAction(tr("&Open..."), parent); + QAction *openAction = new QAction(tr("&Open..."), this); openAction->setShortcut(QKeySequence("Ctrl+O")); connect(openAction, SIGNAL(triggered()), this, SLOT(openFile())); - fileMenu->addAction(openAction); - QAction *reloadAction = new QAction(tr("&Reload"), parent); + QAction *reloadAction = new QAction(tr("&Reload"), this); reloadAction->setShortcut(QKeySequence("Ctrl+R")); connect(reloadAction, SIGNAL(triggered()), this, SLOT(reload())); - fileMenu->addAction(reloadAction); - -#if !defined(Q_OS_SYMBIAN) - if (flatmenu) flatmenu->addSeparator(); - - QMenu *recordMenu = flatmenu ? flatmenu : menu->addMenu(tr("&Recording")); - QAction *snapshotAction = new QAction(tr("&Take Snapshot\tF3"), parent); + QAction *snapshotAction = new QAction(tr("&Take Snapshot"), this); + snapshotAction->setShortcut(QKeySequence("F3")); connect(snapshotAction, SIGNAL(triggered()), this, SLOT(takeSnapShot())); - recordMenu->addAction(snapshotAction); - recordAction = new QAction(tr("Start Recording &Video\tF9"), parent); + recordAction = new QAction(tr("Start Recording &Video"), this); + recordAction->setShortcut(QKeySequence("F9")); connect(recordAction, SIGNAL(triggered()), this, SLOT(toggleRecordingWithSelection())); - recordMenu->addAction(recordAction); - QAction *recordOptions = new QAction(tr("Video &Options..."), parent); + QAction *recordOptions = new QAction(tr("Video &Options..."), this); connect(recordOptions, SIGNAL(triggered()), this, SLOT(chooseRecordingOptions())); - if (flatmenu) - flatmenu->addAction(recordOptions); - - if (flatmenu) flatmenu->addSeparator(); - - QMenu *debugMenu = flatmenu ? flatmenu->addMenu(tr("&Debugging")) : menu->addMenu(tr("&Debugging")); - - QAction *slowAction = new QAction(tr("&Slow Down Animations"), parent); + QAction *slowAction = new QAction(tr("&Slow Down Animations"), this); slowAction->setShortcut(QKeySequence("Ctrl+.")); slowAction->setCheckable(true); connect(slowAction, SIGNAL(triggered(bool)), this, SLOT(setSlowMode(bool))); - debugMenu->addAction(slowAction); - showWarningsWindow = new QAction(tr("Show Warnings"), parent); + showWarningsWindow = new QAction(tr("Show Warnings"), this); showWarningsWindow->setCheckable((true)); showWarningsWindow->setChecked(loggerWindow->isVisible()); connect(showWarningsWindow, SIGNAL(triggered(bool)), this, SLOT(showWarnings(bool))); -#if !defined(Q_OS_SYMBIAN) - debugMenu->addAction(showWarningsWindow); -#endif - - if (flatmenu) flatmenu->addSeparator(); - -#endif // Q_OS_SYMBIAN - - QMenu *settingsMenu = flatmenu ? flatmenu : menu->addMenu(tr("S&ettings")); - QAction *proxyAction = new QAction(tr("Http &proxy..."), parent); + QAction *proxyAction = new QAction(tr("HTTP &Proxy..."), this); connect(proxyAction, SIGNAL(triggered()), this, SLOT(showProxySettings())); - settingsMenu->addAction(proxyAction); -#if !defined(Q_OS_SYMBIAN) - if (!flatmenu) - settingsMenu->addAction(recordOptions); - settingsMenu->addMenu(loggerWindow->preferencesMenu()); -#else - QAction *fullscreenAction = new QAction(tr("Full Screen"), parent); + QAction *fullscreenAction = new QAction(tr("Full Screen"), this); fullscreenAction->setCheckable(true); connect(fullscreenAction, SIGNAL(triggered()), this, SLOT(toggleFullScreen())); - settingsMenu->addAction(fullscreenAction); -#endif - - if (flatmenu) flatmenu->addSeparator(); - - QMenu *propertiesMenu = settingsMenu->addMenu(tr("Properties")); - - orientation = new QActionGroup(parent); - QAction *rotateOrientation = new QAction(tr("Rotate orientation"), parent); + QAction *rotateOrientation = new QAction(tr("Rotate orientation"), this); rotateOrientation->setShortcut(QKeySequence("Ctrl+T")); - settingsMenu->addAction(rotateOrientation); connect(rotateOrientation, SIGNAL(triggered()), this, SLOT(rotateOrientation())); + orientation = new QActionGroup(this); orientation->setExclusive(true); connect(orientation, SIGNAL(triggered(QAction*)), this, SLOT(changeOrientation(QAction*))); - orientation->addAction(tr("orientation: Portrait")); - orientation->addAction(tr("orientation: Landscape")); - orientation->addAction(tr("orientation: Portrait (Inverted)")); - orientation->addAction(tr("orientation: Landscape (Inverted)")); - QList<QAction *> actions = orientation->actions(); - for (int i=0; i<actions.count(); i++) { - propertiesMenu->addAction(actions[i]); - actions[i]->setCheckable(true); - } - - if (flatmenu) flatmenu->addSeparator(); + QAction *portraitAction = new QAction(tr("Portrait"), this); + portraitAction->setCheckable(true); + QAction *landscapeAction = new QAction(tr("Landscape"), this); + landscapeAction->setCheckable(true); + QAction *portraitInvAction = new QAction(tr("Portrait (inverted)"), this); + portraitInvAction->setCheckable(true); + QAction *landscapeInvAction = new QAction(tr("Landscape (inverted)"), this); + landscapeInvAction->setCheckable(true); - QMenu *helpMenu = flatmenu ? flatmenu : menu->addMenu(tr("&Help")); - QAction *aboutAction = new QAction(tr("&About Qt..."), parent); + QAction *aboutAction = new QAction(tr("&About Qt..."), this); connect(aboutAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); - helpMenu->addAction(aboutAction); - QAction *quitAction = new QAction(tr("&Quit"), parent); + QAction *quitAction = new QAction(tr("&Quit"), this); quitAction->setShortcut(QKeySequence("Ctrl+Q")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); + + QMenuBar *menu = menuBar(); + if (!menu) + return; + +#if defined(Q_WS_MAEMO_5) + menu->addAction(openAction); + menu->addAction(reloadAction); + + menu->addAction(snapshotAction); + menu->addAction(recordAction); + + menu->addAction(recordOptions); + menu->addAction(proxyAction); + + menu->addAction(slowAction); + menu->addAction(showWarningsWindow); + + orientation->addAction(landscapeAction); + orientation->addAction(portraitAction); + menu->addAction(new Maemo5PickerAction(tr("Set orientation"), orientation, this)); + menu->addAction(fullscreenAction); + return; +#endif // Q_WS_MAEMO_5 + + QMenu *fileMenu = menu->addMenu(tr("&File")); + fileMenu->addAction(openAction); + fileMenu->addAction(reloadAction); fileMenu->addSeparator(); fileMenu->addAction(quitAction); - if (menu) { - menu->setFixedHeight(menu->sizeHint().height()); - menu->setMinimumWidth(10); - } + +#if !defined(Q_OS_SYMBIAN) + QMenu *recordMenu = menu->addMenu(tr("&Recording")); + recordMenu->addAction(snapshotAction); + recordMenu->addAction(recordAction); + + QMenu *debugMenu = menu->addMenu(tr("&Debugging")); + debugMenu->addAction(slowAction); + debugMenu->addAction(showWarningsWindow); +#endif // ! Q_OS_SYMBIAN + + QMenu *settingsMenu = menu->addMenu(tr("S&ettings")); + settingsMenu->addAction(proxyAction); +#if !defined(Q_OS_SYMBIAN) + settingsMenu->addAction(recordOptions); + settingsMenu->addMenu(loggerWindow->preferencesMenu()); +#else // ! Q_OS_SYMBIAN + settingsMenu->addAction(fullscreenAction); +#endif // Q_OS_SYMBIAN + settingsMenu->addAction(rotateOrientation); + + QMenu *propertiesMenu = settingsMenu->addMenu(tr("Properties")); + + orientation->addAction(portraitAction); + orientation->addAction(landscapeAction); + orientation->addAction(portraitInvAction); + orientation->addAction(landscapeInvAction); + propertiesMenu->addActions(orientation->actions()); + + QMenu *helpMenu = menu->addMenu(tr("&Help")); + helpMenu->addAction(aboutAction); } void QDeclarativeViewer::showProxySettings() @@ -625,6 +796,7 @@ void QDeclarativeViewer::showProxySettings() void QDeclarativeViewer::proxySettingsChanged() { + namFactory->proxyChanged(); reload (); } @@ -685,25 +857,11 @@ void QDeclarativeViewer::chooseRecordingOptions() recdlg->file->setText(record_file); // Size - recdlg->sizeOriginal->setText(tr("Original (%1x%2)").arg(canvas->width()).arg(canvas->height())); - if (recdlg->sizeWidth->value()<=1) { - recdlg->sizeWidth->setValue(canvas->width()); - recdlg->sizeHeight->setValue(canvas->height()); - } + recdlg->setOriginalSize(canvas->size()); // Rate - if (record_rate == 24) - recdlg->hz24->setChecked(true); - else if (record_rate == 25) - recdlg->hz25->setChecked(true); - else if (record_rate == 50) - recdlg->hz50->setChecked(true); - else if (record_rate == 60) - recdlg->hz60->setChecked(true); - else { - recdlg->hzCustom->setChecked(true); - recdlg->hz->setText(QString::number(record_rate)); - } + recdlg->setVideoRate(record_rate); + // Profile recdlg->setArguments(record_args.join(" ")); @@ -711,28 +869,9 @@ void QDeclarativeViewer::chooseRecordingOptions() // File record_file = recdlg->file->text(); // Size - if (recdlg->sizeOriginal->isChecked()) - record_outsize = QSize(); - else if (recdlg->size720p->isChecked()) - record_outsize = QSize(1280,720); - else if (recdlg->sizeVGA->isChecked()) - record_outsize = QSize(640,480); - else if (recdlg->sizeQVGA->isChecked()) - record_outsize = QSize(320,240); - else - record_outsize = QSize(recdlg->sizeWidth->value(),recdlg->sizeHeight->value()); + record_outsize = recdlg->videoSize(); // Rate - if (recdlg->hz24->isChecked()) - record_rate = 24; - else if (recdlg->hz25->isChecked()) - record_rate = 25; - else if (recdlg->hz50->isChecked()) - record_rate = 50; - else if (recdlg->hz60->isChecked()) - record_rate = 60; - else { - record_rate = recdlg->hz->text().toDouble(); - } + record_rate = recdlg->videoRate(); // Profile record_args = recdlg->arguments().split(" ",QString::SkipEmptyParts); } @@ -740,7 +879,7 @@ void QDeclarativeViewer::chooseRecordingOptions() void QDeclarativeViewer::toggleRecordingWithSelection() { - if (!recordTimer.isRunning()) { + if (!recordTimer.isActive()) { if (record_file.isEmpty()) { QString fileName = getVideoFileName(); if (fileName.isEmpty()) @@ -759,7 +898,7 @@ void QDeclarativeViewer::toggleRecording() toggleRecordingWithSelection(); return; } - bool recording = !recordTimer.isRunning(); + bool recording = !recordTimer.isActive(); recordAction->setText(recording ? tr("&Stop Recording Video\tF9") : tr("&Start Recording Video\tF9")); setRecording(recording); } @@ -805,12 +944,7 @@ void QDeclarativeViewer::statusChanged() if (canvas->status() == QDeclarativeView::Ready) { initialSize = canvas->initialSize(); - if (canvas->resizeMode() == QDeclarativeView::SizeRootObjectToView) { - if (!isFullScreen() && !isMaximized()) { - resize(QSize(initialSize.width(), initialSize.height()+menuBarHeight())); - updateSizeHints(); - } - } + updateSizeHints(true); } } @@ -917,7 +1051,7 @@ void QDeclarativeViewer::setAutoRecord(int from, int to) if (from==0) from=1; // ensure resized record_autotime = to-from; autoStartTimer.setInterval(from); - autoStartTimer.setRunning(true); + autoStartTimer.start(); } void QDeclarativeViewer::setRecordArgs(const QStringList& a) @@ -935,13 +1069,9 @@ void QDeclarativeViewer::setRecordRate(int fps) record_rate = fps; } -void QDeclarativeViewer::sceneResized(QSize size) +void QDeclarativeViewer::sceneResized(QSize) { - if (size.width() > 0 && size.height() > 0) { - if (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject) { - updateSizeHints(); - } - } + updateSizeHints(); } void QDeclarativeViewer::keyPressEvent(QKeyEvent *event) @@ -1019,7 +1149,7 @@ void QDeclarativeViewer::senseFfmpeg() void QDeclarativeViewer::setRecording(bool on) { - if (on == recordTimer.isRunning()) + if (on == recordTimer.isActive()) return; int period = int(1000/record_rate+0.5); @@ -1028,7 +1158,7 @@ void QDeclarativeViewer::setRecording(bool on) if (on) { canvas->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); recordTimer.setInterval(period); - recordTimer.setRunning(true); + recordTimer.start(); frame_fmt = record_file.right(4).toLower(); frame = QImage(canvas->width(),canvas->height(),QImage::Format_RGB32); if (frame_fmt != ".png" && (!convertAvailable || frame_fmt != ".gif")) { @@ -1059,7 +1189,7 @@ void QDeclarativeViewer::setRecording(bool on) } } else { canvas->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); - recordTimer.setRunning(false); + recordTimer.stop(); if (frame_stream) { qDebug() << "Saving video..."; frame_stream->close(); @@ -1139,7 +1269,7 @@ void QDeclarativeViewer::setRecording(bool on) frames.clear(); } } - qDebug() << "Recording: " << (recordTimer.isRunning()?"ON":"OFF"); + qDebug() << "Recording: " << (recordTimer.isActive()?"ON":"OFF"); } void QDeclarativeViewer::ffmpegFinished(int code) @@ -1147,11 +1277,21 @@ void QDeclarativeViewer::ffmpegFinished(int code) qDebug() << "ffmpeg returned" << code << frame_stream->readAllStandardError(); } +void QDeclarativeViewer::appAboutToQuit() +{ + // avoid QGLContext errors about invalid contexts on exit + canvas->setViewport(0); + + // avoid crashes if messages are received after app has closed + delete loggerWindow; + loggerWindow = 0; +} + void QDeclarativeViewer::autoStartRecording() { setRecording(true); autoStopTimer.setInterval(record_autotime); - autoStopTimer.setRunning(true); + autoStopTimer.start(); } void QDeclarativeViewer::autoStopRecording() @@ -1181,28 +1321,20 @@ void QDeclarativeViewer::changeOrientation(QAction *action) return; action->setChecked(true); - QString o = action->text().split(QLatin1Char(':')).value(1).trimmed(); + QString o = action->text(); if (o == QLatin1String("Portrait")) DeviceOrientation::instance()->setOrientation(DeviceOrientation::Portrait); else if (o == QLatin1String("Landscape")) DeviceOrientation::instance()->setOrientation(DeviceOrientation::Landscape); - else if (o == QLatin1String("Portrait (Inverted)")) + else if (o == QLatin1String("Portrait (inverted)")) DeviceOrientation::instance()->setOrientation(DeviceOrientation::PortraitInverted); - else if (o == QLatin1String("Landscape (Inverted)")) + else if (o == QLatin1String("Landscape (inverted)")) DeviceOrientation::instance()->setOrientation(DeviceOrientation::LandscapeInverted); } void QDeclarativeViewer::orientationChanged() { - if (canvas->resizeMode() == QDeclarativeView::SizeRootObjectToView) { - if (canvas->rootObject()) { - QSizeF rootObjectSize = canvas->rootObject()->boundingRect().size(); - QSize newSize(rootObjectSize.width(), rootObjectSize.height()+menuBarHeight()); - if (size() != newSize) { - resize(newSize); - } - } - } + updateSizeHints(); } void QDeclarativeViewer::setDeviceKeys(bool on) @@ -1232,6 +1364,8 @@ void QDeclarativeViewer::setUseGL(bool useGL) canvas->setViewport(glWidget); } +#else + Q_UNUSED(useGL) #endif } @@ -1249,21 +1383,32 @@ void QDeclarativeViewer::setSizeToView(bool sizeToView) } } -void QDeclarativeViewer::updateSizeHints() +void QDeclarativeViewer::updateSizeHints(bool initial) { - if (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject) { - QSize newWindowSize = canvas->sizeHint(); - newWindowSize.setHeight(newWindowSize.height()+menuBarHeight()); + static bool isRecursive = false; + + if (isRecursive) + return; + isRecursive = true; + + if (initial || (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject)) { + QSize newWindowSize = initial ? initialSize : canvas->sizeHint(); + //qWarning() << "USH:" << (initial ? "INIT:" : "V2R:") << "setting fixed size " << newWindowSize; if (!isFullScreen() && !isMaximized()) { - resize(newWindowSize); - setFixedSize(newWindowSize); + canvas->setFixedSize(newWindowSize); + resize(1, 1); + layout()->setSizeConstraint(QLayout::SetFixedSize); + layout()->activate(); } - } else { // QDeclarativeView::SizeRootObjectToView - canvas->setMinimumSize(QSize(0,0)); - canvas->setMaximumSize(QSize(16777215,16777215)); - setMinimumSize(QSize(0,0)); - setMaximumSize(QSize(16777215,16777215)); } + //qWarning() << "USH: R2V: setting free size "; + layout()->setSizeConstraint(QLayout::SetNoConstraint); + layout()->activate(); + setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); + canvas->setMinimumSize(QSize(0,0)); + canvas->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); + + isRecursive = false; } void QDeclarativeViewer::registerTypes() diff --git a/tools/qml/qmlruntime.h b/tools/qml/qmlruntime.h index 27bd217..68d3452 100644 --- a/tools/qml/qmlruntime.h +++ b/tools/qml/qmlruntime.h @@ -43,8 +43,7 @@ #define QDECLARATIVEVIEWER_H #include <QMainWindow> -#include <QMenuBar> -#include <private/qdeclarativetimer_p.h> +#include <QTimer> #include <QTime> #include <QList> @@ -62,17 +61,16 @@ class QNetworkReply; class QNetworkCookieJar; class NetworkAccessManagerFactory; class QTranslator; +class QActionGroup; +class QMenuBar; class QDeclarativeViewer -#if defined(Q_OS_SYMBIAN) : public QMainWindow -#else - : public QWidget -#endif { -Q_OBJECT + Q_OBJECT + public: - QDeclarativeViewer(QWidget *parent=0, Qt::WindowFlags flags=0); + QDeclarativeViewer(QWidget *parent = 0, Qt::WindowFlags flags = 0); ~QDeclarativeViewer(); static void registerTypes(); @@ -95,7 +93,7 @@ public: void setRecordFile(const QString&); void setRecordArgs(const QStringList&); void setRecording(bool on); - bool isRecording() const { return recordTimer.isRunning(); } + bool isRecording() const { return recordTimer.isActive(); } void setAutoRecord(int from, int to); void setDeviceKeys(bool); void setNetworkCacheSize(int size); @@ -103,11 +101,8 @@ public: void addPluginPath(const QString& plugin); void setUseGL(bool use); void setUseNativeFileBrowser(bool); - void updateSizeHints(); void setSizeToView(bool sizeToView); - QMenuBar *menuBar() const; - QDeclarativeView *view() const; LoggerWidget *warningsWidget() const; @@ -132,9 +127,11 @@ public slots: protected: virtual void keyPressEvent(QKeyEvent *); virtual bool event(QEvent *); - void createMenu(QMenuBar *menu, QMenu *flatmenu); + void createMenu(); private slots: + void appAboutToQuit(); + void autoStartRecording(); void autoStopRecording(); void recordFrame(); @@ -149,20 +146,21 @@ private slots: void warningsWidgetClosed(); private: + void updateSizeHints(bool initial = false); + QString getVideoFileName(); - int menuBarHeight() const; LoggerWidget *loggerWindow; QDeclarativeView *canvas; QSize initialSize; QString currentFileOrUrl; - QDeclarativeTimer recordTimer; + QTimer recordTimer; QString frame_fmt; QImage frame; QList<QImage*> frames; QProcess* frame_stream; - QDeclarativeTimer autoStartTimer; - QDeclarativeTimer autoStopTimer; + QTimer autoStartTimer; + QTimer autoStopTimer; QString record_dither; QString record_file; QSize record_outsize; @@ -173,7 +171,6 @@ private: QAction *recordAction; QString currentSkin; bool scaleSkin; - mutable QMenuBar *mb; RecordingDialog *recdlg; void senseImageMagick(); diff --git a/tools/qml/recopts_maemo5.ui b/tools/qml/recopts_maemo5.ui new file mode 100644 index 0000000..3bb5eca --- /dev/null +++ b/tools/qml/recopts_maemo5.ui @@ -0,0 +1,254 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>RecordingOptions</class> + <widget class="QDialog" name="RecordingOptions"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>469</width> + <height>142</height> + </rect> + </property> + <property name="windowTitle"> + <string>Video options</string> + </property> + <layout class="QGridLayout" name="gridLayout" columnstretch="0,2,0"> + <property name="sizeConstraint"> + <enum>QLayout::SetMinAndMaxSize</enum> + </property> + <property name="leftMargin"> + <number>16</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>16</number> + </property> + <property name="bottomMargin"> + <number>8</number> + </property> + <property name="horizontalSpacing"> + <number>16</number> + </property> + <property name="verticalSpacing"> + <number>0</number> + </property> + <item row="0" column="1"> + <widget class="QLineEdit" name="file"/> + </item> + <item row="0" column="2" rowspan="3"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>72</width> + <height>56</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Size</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="sizeCombo"> + <item> + <property name="text"> + <string/> + </property> + </item> + <item> + <property name="text"> + <string>VGA</string> + </property> + </item> + <item> + <property name="text"> + <string>QVGA</string> + </property> + </item> + <item> + <property name="text"> + <string>720p</string> + </property> + </item> + </widget> + </item> + <item row="2" column="0" rowspan="2"> + <widget class="QLabel" name="rateLabel"> + <property name="text"> + <string>Rate</string> + </property> + </widget> + </item> + <item row="2" column="1" rowspan="2"> + <widget class="QComboBox" name="rateCombo"> + <item> + <property name="text"> + <string>60 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>50 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>25 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>24 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>20 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>15 Hz</string> + </property> + </item> + <item> + <property name="text"> + <string>10 Hz</string> + </property> + </item> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLineEdit" name="args"/> + </item> + <item row="4" column="1"> + <widget class="QComboBox" name="profile"/> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="profileLabel"> + <property name="text"> + <string>Profile</string> + </property> + </widget> + </item> + <item row="6" column="0" colspan="2"> + <widget class="QLabel" name="warning"> + <property name="text"> + <string notr="true">warning</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="4" column="2" rowspan="3"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QPushButton" name="pickfile"> + <property name="text"> + <string>File</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QPushButton" name="ffmpegHelp"> + <property name="text"> + <string>Options</string> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>RecordingOptions</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>258</x> + <y>424</y> + </hint> + <hint type="destinationlabel"> + <x>60</x> + <y>219</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>RecordingOptions</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>258</x> + <y>424</y> + </hint> + <hint type="destinationlabel"> + <x>92</x> + <y>219</y> + </hint> + </hints> + </connection> + <connection> + <sender>profile</sender> + <signal>activated(int)</signal> + <receiver>RecordingOptions</receiver> + <slot>pickProfile(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>92</x> + <y>329</y> + </hint> + <hint type="destinationlabel"> + <x>48</x> + <y>194</y> + </hint> + </hints> + </connection> + <connection> + <sender>args</sender> + <signal>textEdited(QString)</signal> + <receiver>RecordingOptions</receiver> + <slot>storeCustomArgs(QString)</slot> + <hints> + <hint type="sourcelabel"> + <x>128</x> + <y>357</y> + </hint> + <hint type="destinationlabel"> + <x>102</x> + <y>189</y> + </hint> + </hints> + </connection> + </connections> + <slots> + <signal>filePicked(QString)</signal> + <signal>argumentsPicked(QString)</signal> + <slot>pickFile()</slot> + <slot>pickProfile(int)</slot> + <slot>storeCustomArgs(QString)</slot> + </slots> +</ui> diff --git a/tools/qml/texteditautoresizer_maemo5.h b/tools/qml/texteditautoresizer_maemo5.h new file mode 100644 index 0000000..bb5567a --- /dev/null +++ b/tools/qml/texteditautoresizer_maemo5.h @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** 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 examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtGui/qplaintextedit.h> +#include <QtGui/qtextedit.h> +#include <QtGui/qabstractkineticscroller.h> +#include <QtGui/qscrollarea.h> +#include <QtDebug> + +#ifndef TEXTEDITAUTORESIZER_H +#define TEXTEDITAUTORESIZER_H + +class TextEditAutoResizer : public QObject +{ + Q_OBJECT +public: + TextEditAutoResizer(QWidget *parent) + : QObject(parent), plainTextEdit(qobject_cast<QPlainTextEdit *>(parent)), + textEdit(qobject_cast<QTextEdit *>(parent)), edit(qobject_cast<QFrame *>(parent)) + { + // parent must either inherit QPlainTextEdit or QTextEdit! + Q_ASSERT(plainTextEdit || textEdit); + + connect(parent, SIGNAL(textChanged()), this, SLOT(textEditChanged())); + connect(parent, SIGNAL(cursorPositionChanged()), this, SLOT(textEditChanged())); + + textEditChanged(); + } + +private Q_SLOTS: + inline void textEditChanged(); + +private: + QPlainTextEdit *plainTextEdit; + QTextEdit *textEdit; + QFrame *edit; +}; + +void TextEditAutoResizer::textEditChanged() +{ + QTextDocument *doc = textEdit ? textEdit->document() : plainTextEdit->document(); + QRect cursor = textEdit ? textEdit->cursorRect() : plainTextEdit->cursorRect(); + + QSize s = doc->size().toSize(); + if (plainTextEdit) + s.setHeight((s.height() + 2) * edit->fontMetrics().lineSpacing()); + + const QRect fr = edit->frameRect(); + const QRect cr = edit->contentsRect(); + + edit->setMinimumHeight(qMax(70, s.height() + (fr.height() - cr.height() - 1))); + + // make sure the cursor is visible in case we have a QAbstractScrollArea parent + QPoint pos = edit->pos(); + QWidget *pw = edit->parentWidget(); + while (pw) { + if (qobject_cast<QScrollArea *>(pw)) + break; + pw = pw->parentWidget(); + } + + if (pw) { + QScrollArea *area = static_cast<QScrollArea *>(pw); + QPoint scrollto = area->widget()->mapFrom(edit, cursor.center()); + QPoint margin(10 + cursor.width(), 2 * cursor.height()); + + if (QAbstractKineticScroller *scroller = area->property("kineticScroller").value<QAbstractKineticScroller *>()) { + scroller->ensureVisible(scrollto, margin.x(), margin.y()); + } else { + area->ensureVisible(scrollto.x(), scrollto.y(), margin.x(), margin.y()); + } + } +} + +#endif diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp index 885d029..7767e4b 100644 --- a/tools/runonphone/main.cpp +++ b/tools/runonphone/main.cpp @@ -62,6 +62,8 @@ void printUsage(QTextStream& outstream, QString exeName) << "-v, --verbose show debugging output" << endl << "-q, --quiet hide progress messages" << endl << "-d, --download <remote file> <local file> copy file from phone to PC after running test" << endl + << "--nocrashlog Don't capture call stack if test crashes" << endl + << "--crashlogpath <dir> Path to save crash logs (default=working dir)" << endl << endl << "USB COM ports can usually be autodetected, use -p or -f to force a specific port." << endl << "If using System TRK, it is possible to copy the program directly to sys/bin on the phone." << endl @@ -85,6 +87,8 @@ int main(int argc, char *argv[]) QString downloadLocalFile; int loglevel=1; int timeout=0; + bool crashlog = true; + QString crashlogpath; QListIterator<QString> it(args); it.next(); //skip name of program while (it.hasNext()) { @@ -126,6 +130,12 @@ int main(int argc, char *argv[]) loglevel=2; else if (arg == "--quiet" || arg == "-q") loglevel=0; + else if (arg == "--nocrashlog") + crashlog = false; + else if (arg == "--crashlogpath") { + CHECK_PARAMETER_EXISTS + crashlogpath = it.next(); + } else errstream << "unknown command line option " << arg << endl; } else { @@ -145,7 +155,7 @@ int main(int argc, char *argv[]) if (serialPortName.isEmpty()) { if (loglevel > 0) outstream << "Detecting serial ports" << endl; - foreach (const SerialPortId &id, enumerateSerialPorts()) { + foreach (const SerialPortId &id, enumerateSerialPorts(loglevel)) { if (loglevel > 0) outstream << "Port Name: " << id.portName << ", " << "Friendly Name:" << id.friendlyName << endl; @@ -199,6 +209,8 @@ int main(int argc, char *argv[]) TrkSignalHandler handler; handler.setLogLevel(loglevel); + handler.setCrashLogging(crashlog); + handler.setCrashLogPath(crashlogpath); QObject::connect(launcher.data(), SIGNAL(copyingStarted()), &handler, SLOT(copyingStarted())); QObject::connect(launcher.data(), SIGNAL(canNotConnect(const QString &)), &handler, SLOT(canNotConnect(const QString &))); @@ -215,8 +227,12 @@ int main(int argc, char *argv[]) QObject::connect(launcher.data(), SIGNAL(copyProgress(int)), &handler, SLOT(copyProgress(int))); QObject::connect(launcher.data(), SIGNAL(stateChanged(int)), &handler, SLOT(stateChanged(int))); QObject::connect(launcher.data(), SIGNAL(processStopped(uint,uint,uint,QString)), &handler, SLOT(stopped(uint,uint,uint,QString))); + QObject::connect(launcher.data(), SIGNAL(libraryLoaded(trk::Library)), &handler, SLOT(libraryLoaded(trk::Library))); + QObject::connect(launcher.data(), SIGNAL(libraryUnloaded(trk::Library)), &handler, SLOT(libraryUnloaded(trk::Library))); + QObject::connect(launcher.data(), SIGNAL(registersAndCallStackReadComplete(const QList<uint> &,const QByteArray &)), &handler, SLOT(registersAndCallStackReadComplete(const QList<uint> &,const QByteArray &))); QObject::connect(&handler, SIGNAL(resume(uint,uint)), launcher.data(), SLOT(resumeProcess(uint,uint))); QObject::connect(&handler, SIGNAL(terminate()), launcher.data(), SLOT(terminate())); + QObject::connect(&handler, SIGNAL(getRegistersAndCallStack(uint,uint)), launcher.data(), SLOT(getRegistersAndCallStack(uint,uint))); QObject::connect(launcher.data(), SIGNAL(finished()), &handler, SLOT(finished())); QTimer timer; diff --git a/tools/runonphone/serenum.h b/tools/runonphone/serenum.h index b794b97..a65c8cb 100644 --- a/tools/runonphone/serenum.h +++ b/tools/runonphone/serenum.h @@ -51,6 +51,6 @@ struct SerialPortId QString friendlyName; }; -QList<SerialPortId> enumerateSerialPorts(); +QList<SerialPortId> enumerateSerialPorts(int loglevel); #endif // WIN32SERENUM_H diff --git a/tools/runonphone/serenum_unix.cpp b/tools/runonphone/serenum_unix.cpp index b6f0293..db6375e 100644 --- a/tools/runonphone/serenum_unix.cpp +++ b/tools/runonphone/serenum_unix.cpp @@ -48,9 +48,32 @@ #include <usb.h> -QList<SerialPortId> enumerateSerialPorts() +class InterfaceInfo { - QList<QString> eligableInterfaces; +public: + InterfaceInfo(const QString &mf, const QString &pr, int mfid, int prid); + QString manufacturer; + QString product; + int manufacturerid; + int productid; +}; + +InterfaceInfo::InterfaceInfo(const QString &mf, const QString &pr, int mfid, int prid) : + manufacturer(mf), + product(pr), + manufacturerid(mfid), + productid(prid) +{ + if(mf.isEmpty()) + manufacturer = QString("[%1]").arg(mfid, 4, 16, QChar('0')); + if(pr.isEmpty()) + product = QString("[%1]").arg(prid, 4, 16, QChar('0')); +} + +QList<SerialPortId> enumerateSerialPorts(int loglevel) +{ + QList<QString> eligibleInterfaces; + QList<InterfaceInfo> eligibleInterfacesInfo; QList<SerialPortId> list; usb_init(); @@ -85,6 +108,41 @@ QList<SerialPortId> enumerateSerialPorts() } } } + + if (usableInterfaces.isEmpty()) + continue; + + QString manufacturerString; + QString productString; + + usb_dev_handle *devh = usb_open(device); + if (devh) { + QByteArray buf; + buf.resize(256); + int err = usb_get_string_simple(devh, device->descriptor.iManufacturer, buf.data(), buf.size()); + if (err < 0) { + if (loglevel > 1) + qDebug() << " can't read manufacturer name, error:" << err; + } else { + manufacturerString = QString::fromAscii(buf); + if (loglevel > 1) + qDebug() << " manufacturer:" << manufacturerString; + } + + buf.resize(256); + err = usb_get_string_simple(devh, device->descriptor.iProduct, buf.data(), buf.size()); + if (err < 0) { + if (loglevel > 1) + qDebug() << " can't read product name, error:" << err; + } else { + productString = QString::fromAscii(buf); + if (loglevel > 1) + qDebug() << " product:" << productString; + } + usb_close(devh); + } else if (loglevel > 0) { + qDebug() << " can't open usb device"; + } // second loop to find the actual data interface. foreach (int i, usableInterfaces) { @@ -94,11 +152,22 @@ QList<SerialPortId> enumerateSerialPorts() if (descriptor.bInterfaceNumber != i) continue; if (descriptor.bInterfaceClass == 10) { // "CDC Data" - // qDebug() << " found the data port" - // << "bus:" << bus->dirname - // << "device" << device->filename - // << "interface" << descriptor.bInterfaceNumber; - eligableInterfaces << QString("if%1").arg(QString::number(i), 2, QChar('0')); // fix! + if (loglevel > 1) { + qDebug() << " found the data port" + << "bus:" << bus->dirname + << "device" << device->filename + << "interface" << descriptor.bInterfaceNumber; + } + // ### manufacturer and product strings are only readable as root :( + if (!manufacturerString.isEmpty() && !productString.isEmpty()) { + eligibleInterfaces << QString("usb-%1_%2-if%3") + .arg(manufacturerString.replace(QChar(' '), QChar('_'))) + .arg(productString.replace(QChar(' '), QChar('_'))) + .arg(i, 2, 16, QChar('0')); + } else { + eligibleInterfaces << QString("if%1").arg(i, 2, 16, QChar('0')); // fix! + } + eligibleInterfacesInfo << InterfaceInfo(manufacturerString, productString, device->descriptor.idVendor, device->descriptor.idProduct); } } } @@ -106,13 +175,18 @@ QList<SerialPortId> enumerateSerialPorts() } } } + + if (loglevel > 1) + qDebug() << " searching for interfaces:" << eligibleInterfaces; QDir dir("/dev/serial/by-id/"); foreach (const QFileInfo &info, dir.entryInfoList()) { if (!info.isDir()) { - bool usable = eligableInterfaces.isEmpty(); - foreach (const QString &iface, eligableInterfaces) { + bool usable = eligibleInterfaces.isEmpty(); + foreach (const QString &iface, eligibleInterfaces) { if (info.fileName().contains(iface)) { + if (loglevel > 1) + qDebug() << " found device file:" << info.fileName() << endl; usable = true; break; } @@ -126,6 +200,21 @@ QList<SerialPortId> enumerateSerialPorts() list << id; } } + + if (list.isEmpty() && !eligibleInterfacesInfo.isEmpty() && loglevel > 0) { + qDebug() << "Possible USB devices found, but without serial drivers:"; + foreach(const InterfaceInfo &iface, eligibleInterfacesInfo) { + qDebug() << " Manufacturer:" + << iface.manufacturer + << "Product:" + << iface.product + << endl + << " Load generic driver using:" + << QString("sudo modprobe usbserial vendor=0x%1 product=0x%2") + .arg(iface.manufacturerid, 4, 16, QChar('0')) + .arg(iface.productid, 4, 16, QChar('0')); + } + } return list; } diff --git a/tools/runonphone/serenum_win.cpp b/tools/runonphone/serenum_win.cpp index 572161c..070cac2 100644 --- a/tools/runonphone/serenum_win.cpp +++ b/tools/runonphone/serenum_win.cpp @@ -53,7 +53,7 @@ //{4d36e978-e325-11ce-bfc1-08002be10318} //DEFINE_GUID(GUID_DEVCLASS_PORTS, 0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18 ); -QList<SerialPortId> enumerateSerialPorts() +QList<SerialPortId> enumerateSerialPorts(int) { DWORD index=0; SP_DEVINFO_DATA info; diff --git a/tools/runonphone/symbianutils/json.cpp b/tools/runonphone/symbianutils/json.cpp new file mode 100644 index 0000000..2d58824 --- /dev/null +++ b/tools/runonphone/symbianutils/json.cpp @@ -0,0 +1,490 @@ +/**************************************************************************** +** +** 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 tools applications 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 "json.h" + +#ifdef TODO_USE_CREATOR +#include <utils/qtcassert.h> +#endif // TODO_USE_CREATOR + +#include <QtCore/QByteArray> +#include <QtCore/QTextStream> +#include <QtCore/QDebug> +#include <QtCore/QStringList> + +#include <ctype.h> + +//#define DEBUG_JASON +#ifdef DEBUG_JASON +#define JDEBUG(s) qDebug() << s +#else +#define JDEBUG(s) +#endif + +namespace tcftrk { + +static void skipSpaces(const char *&from, const char *to) +{ + while (from != to && isspace(*from)) + ++from; +} + +QTextStream &operator<<(QTextStream &os, const JsonValue &mi) +{ + return os << mi.toString(); +} + +void JsonValue::parsePair(const char *&from, const char *to) +{ + skipSpaces(from, to); + JDEBUG("parsePair: " << QByteArray(from, to - from)); + m_name = parseCString(from, to); + skipSpaces(from, to); + while (from < to && *from != ':') { + JDEBUG("not a colon" << *from); + ++from; + } + ++from; + parseValue(from, to); + skipSpaces(from, to); +} + +QByteArray JsonValue::parseNumber(const char *&from, const char *to) +{ + QByteArray result; + if (from < to && *from == '-') // Leading '-'. + result.append(*from++); + while (from < to && *from >= '0' && *from <= '9') + result.append(*from++); + return result; +} + +QByteArray JsonValue::parseCString(const char *&from, const char *to) +{ + QByteArray result; + JDEBUG("parseCString: " << QByteArray(from, to - from)); + if (*from != '"') { + qDebug() << "JSON Parse Error, double quote expected"; + ++from; // So we don't hang + return QByteArray(); + } + const char *ptr = from; + ++ptr; + while (ptr < to) { + if (*ptr == '"') { + ++ptr; + result = QByteArray(from + 1, ptr - from - 2); + break; + } + if (*ptr == '\\') { + ++ptr; + if (ptr == to) { + qDebug() << "JSON Parse Error, unterminated backslash escape"; + from = ptr; // So we don't hang + return QByteArray(); + } + } + ++ptr; + } + from = ptr; + + int idx = result.indexOf('\\'); + if (idx >= 0) { + char *dst = result.data() + idx; + const char *src = dst + 1, *end = result.data() + result.length(); + do { + char c = *src++; + switch (c) { + case 'a': *dst++ = '\a'; break; + case 'b': *dst++ = '\b'; break; + case 'f': *dst++ = '\f'; break; + case 'n': *dst++ = '\n'; break; + case 'r': *dst++ = '\r'; break; + case 't': *dst++ = '\t'; break; + case 'v': *dst++ = '\v'; break; + case '"': *dst++ = '"'; break; + case '\\': *dst++ = '\\'; break; + default: + { + int chars = 0; + uchar prod = 0; + forever { + if (c < '0' || c > '7') { + --src; + break; + } + prod = prod * 8 + c - '0'; + if (++chars == 3 || src == end) + break; + c = *src++; + } + if (!chars) { + qDebug() << "JSON Parse Error, unrecognized backslash escape"; + return QByteArray(); + } + *dst++ = prod; + } + } + while (src != end) { + char c = *src++; + if (c == '\\') + break; + *dst++ = c; + } + } while (src != end); + *dst = 0; + result.truncate(dst - result.data()); + } + + JDEBUG("parseCString, got " << result); + return result; +} + + + +void JsonValue::parseValue(const char *&from, const char *to) +{ + JDEBUG("parseValue: " << QByteArray(from, to - from)); + switch (*from) { + case '{': + parseObject(from, to); + break; + case 't': + if (to - from >= 4 && qstrncmp(from, "true", 4) == 0) { + m_data = QByteArray(from, 4); + from += m_data.size(); + m_type = Boolean; + } + break; + case 'f': + if (to - from >= 5 && qstrncmp(from, "false", 5) == 0) { + m_data = QByteArray(from, 5); + from += m_data.size(); + m_type = Boolean; + } + break; + case 'n': + if (to - from >= 4 && qstrncmp(from, "null", 4) == 0) { + m_data = QByteArray(from, 4); + from += m_data.size(); + m_type = NullObject; + } + break; + case '[': + parseArray(from, to); + break; + case '"': + m_type = String; + m_data = parseCString(from, to); + break; + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + case '-': + m_type = Number; + m_data = parseNumber(from, to); + default: + break; + } +} + +void JsonValue::parseObject(const char *&from, const char *to) +{ + JDEBUG("parseObject: " << QByteArray(from, to - from)); +#ifdef TODO_USE_CREATOR + QTC_ASSERT(*from == '{', /**/); +#endif + ++from; + m_type = Object; + while (from < to) { + if (*from == '}') { + ++from; + break; + } + JsonValue child; + child.parsePair(from, to); + if (!child.isValid()) + return; + m_children += child; + if (*from == ',') + ++from; + } +} + +void JsonValue::parseArray(const char *&from, const char *to) +{ + JDEBUG("parseArray: " << QByteArray(from, to - from)); +#ifdef TODO_USE_CREATOR + QTC_ASSERT(*from == '[', /**/); +#endif + ++from; + m_type = Array; + while (from < to) { + if (*from == ']') { + ++from; + break; + } + JsonValue child; + child.parseValue(from, to); + if (child.isValid()) + m_children += child; + if (*from == ',') + ++from; + } +} + +void JsonValue::setStreamOutput(const QByteArray &name, const QByteArray &content) +{ + if (content.isEmpty()) + return; + JsonValue child; + child.m_type = String; + child.m_name = name; + child.m_data = content; + m_children += child; + if (m_type == Invalid) + m_type = Object; +} + +static QByteArray ind(int indent) +{ + return QByteArray(2 * indent, ' '); +} + +void JsonValue::dumpChildren(QByteArray * str, bool multiline, int indent) const +{ + for (int i = 0; i < m_children.size(); ++i) { + if (i != 0) { + *str += ','; + if (multiline) + *str += '\n'; + } + if (multiline) + *str += ind(indent); + *str += m_children.at(i).toString(multiline, indent); + } +} + +class MyString : public QString { +public: + ushort at(int i) const { return constData()[i].unicode(); } +}; + +template<class ST, typename CT> +inline ST escapeCStringTpl(const ST &ba) +{ + ST ret; + ret.reserve(ba.length() * 2); + for (int i = 0; i < ba.length(); ++i) { + CT c = ba.at(i); + switch (c) { + case '\\': ret += "\\\\"; break; + case '\a': ret += "\\a"; break; + case '\b': ret += "\\b"; break; + case '\f': ret += "\\f"; break; + case '\n': ret += "\\n"; break; + case '\r': ret += "\\r"; break; + case '\t': ret += "\\t"; break; + case '\v': ret += "\\v"; break; + case '"': ret += "\\\""; break; + default: + if (c < 32 || c == 127) { + ret += '\\'; + ret += '0' + (c >> 6); + ret += '0' + ((c >> 3) & 7); + ret += '0' + (c & 7); + } else { + ret += c; + } + } + } + return ret; +} + +QString JsonValue::escapeCString(const QString &ba) +{ + return escapeCStringTpl<MyString, ushort>(static_cast<const MyString &>(ba)); +} + +QByteArray JsonValue::escapeCString(const QByteArray &ba) +{ + return escapeCStringTpl<QByteArray, uchar>(ba); +} + +QByteArray JsonValue::toString(bool multiline, int indent) const +{ + QByteArray result; + switch (m_type) { + case Invalid: + if (multiline) + result += ind(indent) + "Invalid\n"; + else + result += "Invalid"; + break; + case String: + if (!m_name.isEmpty()) + result += m_name + "="; + result += '"' + escapeCString(m_data) + '"'; + break; + case Number: + if (!m_name.isEmpty()) + result += '"' + m_name + "\":"; + result += m_data; + break; + case Boolean: + case NullObject: + if (!m_name.isEmpty()) + result += '"' + m_name + "\":"; + result += m_data; + break; + case Object: + if (!m_name.isEmpty()) + result += m_name + '='; + if (multiline) { + result += "{\n"; + dumpChildren(&result, multiline, indent + 1); + result += '\n' + ind(indent) + "}"; + } else { + result += "{"; + dumpChildren(&result, multiline, indent + 1); + result += "}"; + } + break; + case Array: + if (!m_name.isEmpty()) + result += m_name + "="; + if (multiline) { + result += "[\n"; + dumpChildren(&result, multiline, indent + 1); + result += '\n' + ind(indent) + "]"; + } else { + result += "["; + dumpChildren(&result, multiline, indent + 1); + result += "]"; + } + break; + } + return result; +} + +void JsonValue::fromString(const QByteArray &ba) +{ + const char *from = ba.constBegin(); + const char *to = ba.constEnd(); + parseValue(from, to); +} + +JsonValue JsonValue::findChild(const char *name) const +{ + for (int i = 0; i < m_children.size(); ++i) + if (m_children.at(i).m_name == name) + return m_children.at(i); + return JsonValue(); +} + +void JsonInputStream::appendCString(const char *s) +{ + m_target.append('"'); + for (const char *p = s; *p; p++) { + if (*p == '"' || *p == '\\') + m_target.append('\\'); + m_target.append(*p); + } + m_target.append('"'); +} + +void JsonInputStream::appendString(const QString &in) +{ + if (in.isEmpty()) { + m_target.append("\"\""); + return; + } + + const QChar doubleQuote('"'); + const QChar backSlash('\\'); + QString rc; + const int inSize = in.size(); + rc.reserve(in.size() + 5); + rc.append(doubleQuote); + for (int i = 0; i < inSize; i++) { + const QChar c = in.at(i); + if (c == doubleQuote || c == backSlash) + rc.append(backSlash); + rc.append(c); + } + rc.append(doubleQuote); + m_target.append(rc.toUtf8()); + return; +} + +JsonInputStream &JsonInputStream::operator<<(const QStringList &in) +{ + m_target.append('['); + const int count = in.size(); + for (int i = 0 ; i < count; i++) { + if (i) + m_target.append(','); + appendString(in.at(i)); + } + m_target.append(']'); + return *this; +} + +JsonInputStream &JsonInputStream::operator<<(const QVector<QByteArray> &ba) +{ + m_target.append('['); + const int count = ba.size(); + for (int i = 0 ; i < count; i++) { + if (i) + m_target.append(','); + appendCString(ba.at(i).constData()); + } + m_target.append(']'); + return *this; +} + +JsonInputStream &JsonInputStream::operator<<(bool b) +{ + m_target.append(b ? "true" : "false"); + return *this; +} + +} // namespace tcftrk + diff --git a/tools/runonphone/symbianutils/json.h b/tools/runonphone/symbianutils/json.h new file mode 100644 index 0000000..ffcb7ab --- /dev/null +++ b/tools/runonphone/symbianutils/json.h @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** 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 tools applications 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 SYMBIANUTILS_JSON_H +#define SYMBIANUTILS_JSON_H + +#include "symbianutils_global.h" + +#include <QtCore/QByteArray> +#include <QtCore/QStringList> +#include <QtCore/QVector> + +namespace tcftrk { + +class SYMBIANUTILS_EXPORT JsonValue +{ +public: + JsonValue() : m_type(Invalid) {} + explicit JsonValue(const QByteArray &str) { fromString(str); } + + QByteArray m_name; + QByteArray m_data; + QList<JsonValue> m_children; + + enum Type { + Invalid, + String, + Number, + Boolean, + Object, + NullObject, + Array, + }; + + Type m_type; + + inline Type type() const { return m_type; } + inline QByteArray name() const { return m_name; } + inline bool hasName(const char *name) const { return m_name == name; } + + inline bool isValid() const { return m_type != Invalid; } + inline bool isNumber() const { return m_type == Number; } + inline bool isString() const { return m_type == String; } + inline bool isObject() const { return m_type == Object; } + inline bool isArray() const { return m_type == Array; } + + + inline QByteArray data() const { return m_data; } + inline const QList<JsonValue> &children() const { return m_children; } + inline int childCount() const { return m_children.size(); } + + const JsonValue &childAt(int index) const { return m_children[index]; } + JsonValue &childAt(int index) { return m_children[index]; } + JsonValue findChild(const char *name) const; + + QByteArray toString(bool multiline = false, int indent = 0) const; + void fromString(const QByteArray &str); + void setStreamOutput(const QByteArray &name, const QByteArray &content); + +private: + static QByteArray parseCString(const char *&from, const char *to); + static QByteArray parseNumber(const char *&from, const char *to); + static QByteArray escapeCString(const QByteArray &ba); + static QString escapeCString(const QString &ba); + void parsePair(const char *&from, const char *to); + void parseValue(const char *&from, const char *to); + void parseObject(const char *&from, const char *to); + void parseArray(const char *&from, const char *to); + + void dumpChildren(QByteArray *str, bool multiline, int indent) const; +}; + +/* Thin wrapper around QByteArray for formatting JSON input. Use as in: + * JsonInputStream(byteArray) << '{' << "bla" << ':' << "blup" << '}'; + * Note that strings get double quotes and JSON-escaping, characters should be + * used for the array/hash delimiters. + * */ +class SYMBIANUTILS_EXPORT JsonInputStream { +public: + explicit JsonInputStream(QByteArray &a) : m_target(a) {} + + JsonInputStream &operator<<(char c) { m_target.append(c); return *this; } + JsonInputStream &operator<<(const char *c) { appendCString(c); return *this; } + JsonInputStream &operator<<(const QByteArray &a) { appendCString(a.constData()); return *this; } + JsonInputStream &operator<<(const QString &c) { appendString(c); return *this; } + + // Format as array + JsonInputStream &operator<<(const QStringList &c); + + // Format as array + JsonInputStream &operator<<(const QVector<QByteArray> &ba); + + JsonInputStream &operator<<(bool b); + + JsonInputStream &operator<<(int i) + { m_target.append(QByteArray::number(i)); return *this; } + JsonInputStream &operator<<(unsigned i) + { m_target.append(QByteArray::number(i)); return *this; } + JsonInputStream &operator<<(quint64 i) + { m_target.append(QByteArray::number(i)); return *this; } + +private: + void appendString(const QString &); + void appendCString(const char *c); + + QByteArray &m_target; +}; + +} // namespace tcftrk + +#endif // SYMBIANUTILS_JSON_H diff --git a/tools/runonphone/symbianutils/launcher.cpp b/tools/runonphone/symbianutils/launcher.cpp index ecb067e..ee87480 100644 --- a/tools/runonphone/symbianutils/launcher.cpp +++ b/tools/runonphone/symbianutils/launcher.cpp @@ -58,6 +58,33 @@ namespace trk { +struct CrashReportState { + CrashReportState(); + void clear(); + + typedef uint Thread; + typedef QList<Thread> Threads; + Threads threads; + + QList<uint> registers; + QByteArray stack; + uint sp; + uint fetchingStackPID; + uint fetchingStackTID; +}; + +CrashReportState::CrashReportState() +{ + clear(); +} + +void CrashReportState::clear() +{ + threads.clear(); + stack.clear(); + sp = fetchingStackPID = fetchingStackTID = 0; +} + struct LauncherPrivate { struct CopyState { QString sourceFileName; @@ -86,6 +113,7 @@ struct LauncherPrivate { int m_verbose; Launcher::Actions m_startupActions; bool m_closeDevice; + CrashReportState m_crashReportState; }; LauncherPrivate::LauncherPrivate(const TrkDevicePtr &d) : @@ -202,6 +230,7 @@ void Launcher::setCloseDevice(bool c) bool Launcher::startServer(QString *errorMessage) { errorMessage->clear(); + d->m_crashReportState.clear(); if (d->m_verbose) { QString msg; QTextStream str(&msg); @@ -375,7 +404,7 @@ void Launcher::handleResult(const TrkResult &result) logMessage("TEXT TRACE: " + msg); } } else { - logMessage("APPLICATION OUTPUT: " + result.data); + logMessage("APPLICATION OUTPUT: " + stringFromArray(result.data)); msg = result.data; } msg.replace("\r\n", "\n"); @@ -416,49 +445,54 @@ void Launcher::handleResult(const TrkResult &result) // target->host OS notification case TrkNotifyCreated: { // Notify Created - /* - const char *data = result.data.data(); - byte error = result.data.at(0); - byte type = result.data.at(1); // type: 1 byte; for dll item, this value is 2. - uint pid = extractInt(data + 2); // ProcessID: 4 bytes; - uint tid = extractInt(data + 6); //threadID: 4 bytes - uint codeseg = extractInt(data + 10); //code address: 4 bytes; code base address for the library - uint dataseg = extractInt(data + 14); //data address: 4 bytes; data base address for the library - uint len = extractShort(data + 18); //length: 2 bytes; length of the library name string to follow - QByteArray name = result.data.mid(20, len); // name: library name - - logMessage(prefix + "NOTE: LIBRARY LOAD: " + str); - logMessage(prefix + "TOKEN: " + result.token); - logMessage(prefix + "ERROR: " + int(error)); - logMessage(prefix + "TYPE: " + int(type)); - logMessage(prefix + "PID: " + pid); - logMessage(prefix + "TID: " + tid); - logMessage(prefix + "CODE: " + codeseg); - logMessage(prefix + "DATA: " + dataseg); - logMessage(prefix + "LEN: " + len); - logMessage(prefix + "NAME: " + name); - */ if (result.data.size() < 10) break; + const char *data = result.data.constData(); + const byte error = result.data.at(0); + Q_UNUSED(error) + const byte type = result.data.at(1); // type: 1 byte; for dll item, this value is 2. + const uint tid = extractInt(data + 6); //threadID: 4 bytes + Q_UNUSED(tid) + if (type == kDSOSDLLItem && result.data.size() >=20) { + const Library lib = Library(result); + d->m_session.libraries.push_back(lib); + emit libraryLoaded(lib); + } QByteArray ba; ba.append(result.data.mid(2, 8)); d->m_device->sendTrkMessage(TrkContinue, TrkCallback(), ba, "CONTINUE"); - //d->m_device->sendTrkAck(result.token) break; } case TrkNotifyDeleted: { // NotifyDeleted const ushort itemType = (unsigned char)result.data.at(1); - const ushort len = result.data.size() > 12 ? extractShort(result.data.data() + 10) : ushort(0); + const uint pid = result.data.size() >= 6 ? extractShort(result.data.constData() + 2) : 0; + const uint tid = result.data.size() >= 10 ? extractShort(result.data.constData() + 6) : 0; + Q_UNUSED(tid) + const ushort len = result.data.size() > 12 ? extractShort(result.data.constData() + 10) : ushort(0); const QString name = len ? QString::fromAscii(result.data.mid(12, len)) : QString(); logMessage(QString::fromLatin1("%1 %2 UNLOAD: %3"). arg(QString::fromAscii(prefix)).arg(itemType ? QLatin1String("LIB") : QLatin1String("PROCESS")). arg(name)); d->m_device->sendTrkAck(result.token); - if (itemType == 0 // process + if (itemType == kDSOSProcessItem // process && result.data.size() >= 10 && d->m_session.pid == extractInt(result.data.data() + 6)) { - copyFileFromRemote(); + if (d->m_startupActions & ActionDownload) + copyFileFromRemote(); + else + disconnectTrk(); + } + else if (itemType == kDSOSDLLItem && len) { + // Remove libraries of process. + for (QList<Library>::iterator it = d->m_session.libraries.begin(); it != d->m_session.libraries.end(); ) { + if ((*it).pid == pid && (*it).name == name) { + emit libraryUnloaded(*it); + it = d->m_session.libraries.erase(it); + } else { + ++it; + } + } } break; } @@ -705,6 +739,15 @@ void Launcher::handleCreateProcess(const TrkResult &result) logMessage(msg); } emit applicationRunning(d->m_session.pid); + //create a "library" entry for the executable which launched the process + Library lib; + lib.pid = d->m_session.pid; + lib.codeseg = d->m_session.codeseg; + lib.dataseg = d->m_session.dataseg; + lib.name = d->m_fileName.toUtf8(); + d->m_session.libraries << lib; + emit libraryLoaded(lib); + QByteArray ba; appendInt(&ba, d->m_session.pid); appendInt(&ba, d->m_session.tid); @@ -856,6 +899,30 @@ QByteArray Launcher::startProcessMessage(const QString &executable, return ba; } +QByteArray Launcher::readMemoryMessage(uint pid, uint tid, uint from, uint len) +{ + QByteArray ba; + ba.reserve(11); + ba.append(char(0x8)); // Options, FIXME: why? + appendShort(&ba, len); + appendInt(&ba, from); + appendInt(&ba, pid); + appendInt(&ba, tid); + return ba; +} + +QByteArray Launcher::readRegistersMessage(uint pid, uint tid) +{ + QByteArray ba; + ba.reserve(15); + ba.append(char(0)); // Register set, only 0 supported + appendShort(&ba, 0); //R0 + appendShort(&ba, 16); // last register CPSR + appendInt(&ba, pid); + appendInt(&ba, tid); + return ba; +} + void Launcher::startInferiorIfNeeded() { emit startingApplication(); @@ -907,4 +974,63 @@ void Launcher::releaseToDeviceManager(Launcher *launcher) sdm->releaseDevice(launcher->trkServerName()); } +void Launcher::getRegistersAndCallStack(uint pid, uint tid) +{ + d->m_device->sendTrkMessage(TrkReadRegisters, + TrkCallback(this, &Launcher::handleReadRegisters), + Launcher::readRegistersMessage(pid, tid)); + d->m_crashReportState.fetchingStackPID = pid; + d->m_crashReportState.fetchingStackTID = tid; +} + +void Launcher::handleReadRegisters(const TrkResult &result) +{ + if(result.errorCode() || result.data.size() < (17*4)) { + terminate(); + return; + } + const char* data = result.data.constData() + 1; + d->m_crashReportState.registers.clear(); + d->m_crashReportState.stack.clear(); + for (int i=0;i<17;i++) { + uint r = extractInt(data); + data += 4; + d->m_crashReportState.registers.append(r); + } + d->m_crashReportState.sp = d->m_crashReportState.registers.at(13); + + const ushort len = 1024 - (d->m_crashReportState.sp % 1024); //read to 1k boundary first + const QByteArray ba = Launcher::readMemoryMessage(d->m_crashReportState.fetchingStackPID, + d->m_crashReportState.fetchingStackTID, + d->m_crashReportState.sp, + len); + d->m_device->sendTrkMessage(TrkReadMemory, TrkCallback(this, &Launcher::handleReadStack), ba); + d->m_crashReportState.sp += len; +} + +void Launcher::handleReadStack(const TrkResult &result) +{ + if (result.errorCode()) { + //error implies memory fault when reaching end of stack + emit registersAndCallStackReadComplete(d->m_crashReportState.registers, d->m_crashReportState.stack); + return; + } + + const uint len = extractShort(result.data.constData() + 1); + d->m_crashReportState.stack.append(result.data.mid(3, len)); + + if (d->m_crashReportState.sp - d->m_crashReportState.registers.at(13) > 0x10000) { + //read enough stack, stop here + emit registersAndCallStackReadComplete(d->m_crashReportState.registers, d->m_crashReportState.stack); + return; + } + //read 1k more + const QByteArray ba = Launcher::readMemoryMessage(d->m_crashReportState.fetchingStackPID, + d->m_crashReportState.fetchingStackTID, + d->m_crashReportState.sp, + 1024); + d->m_device->sendTrkMessage(TrkReadMemory, TrkCallback(this, &Launcher::handleReadStack), ba); + d->m_crashReportState.sp += 1024; +} + } // namespace trk diff --git a/tools/runonphone/symbianutils/launcher.h b/tools/runonphone/symbianutils/launcher.h index 6db69d0..230a122 100644 --- a/tools/runonphone/symbianutils/launcher.h +++ b/tools/runonphone/symbianutils/launcher.h @@ -43,6 +43,7 @@ #define LAUNCHER_H #include "trkdevice.h" +#include "trkutils.h" #include <QtCore/QObject> #include <QtCore/QVariant> @@ -122,6 +123,9 @@ public: // Create Trk message to start a process. static QByteArray startProcessMessage(const QString &executable, const QStringList &arguments); + // Create Trk message to read memory + static QByteArray readMemoryMessage(uint pid, uint tid, uint from, uint len); + static QByteArray readRegistersMessage(uint pid, uint tid); // Parse a TrkNotifyStopped message static bool parseNotifyStopped(const QByteArray &a, uint *pid, uint *tid, uint *address, @@ -149,12 +153,18 @@ signals: void copyProgress(int percent); void stateChanged(int); void processStopped(uint pc, uint pid, uint tid, const QString& reason); + void processResumed(uint pid, uint tid); + void libraryLoaded(const trk::Library &lib); + void libraryUnloaded(const trk::Library &lib); + void registersAndCallStackReadComplete(const QList<uint>& registers, const QByteArray& stack); // Emitted by the destructor, for releasing devices of SymbianDeviceManager by name void destroyed(const QString &serverName); public slots: void terminate(); void resumeProcess(uint pid, uint tid); + //can be used to obtain traceback after a breakpoint / exception + void getRegistersAndCallStack(uint pid, uint tid); private slots: void handleResult(const trk::TrkResult &data); @@ -182,6 +192,8 @@ private: void handleStop(const TrkResult &result); void handleSupportMask(const TrkResult &result); void handleTrkVersion(const TrkResult &result); + void handleReadRegisters(const TrkResult &result); + void handleReadStack(const TrkResult &result); void copyFileToRemote(); void copyFileFromRemote(); diff --git a/tools/runonphone/symbianutils/symbianutils.pri b/tools/runonphone/symbianutils/symbianutils.pri index 6309517..f07e494 100644 --- a/tools/runonphone/symbianutils/symbianutils.pri +++ b/tools/runonphone/symbianutils/symbianutils.pri @@ -1,5 +1,7 @@ INCLUDEPATH *= $$PWD +QT += network + # Input HEADERS += $$PWD/symbianutils_global.h \ $$PWD/callback.h \ @@ -9,14 +11,20 @@ HEADERS += $$PWD/symbianutils_global.h \ $$PWD/launcher.h \ $$PWD/bluetoothlistener.h \ $$PWD/communicationstarter.h \ - $$PWD/symbiandevicemanager.h + $$PWD/symbiandevicemanager.h \ + $$PWD/tcftrkdevice.h \ + $$PWD/tcftrkmessage.h \ + $$PWD/json.h SOURCES += $$PWD/trkutils.cpp \ $$PWD/trkdevice.cpp \ $$PWD/launcher.cpp \ $$PWD/bluetoothlistener.cpp \ $$PWD/communicationstarter.cpp \ - $$PWD/symbiandevicemanager.cpp + $$PWD/symbiandevicemanager.cpp \ + $$PWD/tcftrkdevice.cpp \ + $$PWD/tcftrkmessage.cpp \ + $$PWD/json.cpp # Tests/trklauncher is a console application contains(QT, gui) { diff --git a/tools/runonphone/symbianutils/tcftrkdevice.cpp b/tools/runonphone/symbianutils/tcftrkdevice.cpp new file mode 100644 index 0000000..50e3937 --- /dev/null +++ b/tools/runonphone/symbianutils/tcftrkdevice.cpp @@ -0,0 +1,929 @@ +/**************************************************************************** +** +** 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 tools applications 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 "tcftrkdevice.h" +#include "json.h" + +#include <QtNetwork/QAbstractSocket> +#include <QtCore/QDebug> +#include <QtCore/QVector> +#include <QtCore/QQueue> +#include <QtCore/QTextStream> +#include <QtCore/QDateTime> +#include <QtCore/QFileInfo> + +enum { debug = 0 }; + +static const char messageTerminatorC[] = "\003\001"; + +namespace tcftrk { +// ------------- TcfTrkCommandError + +TcfTrkCommandError::TcfTrkCommandError() : timeMS(0), code(0), alternativeCode(0) +{ +} + +void TcfTrkCommandError::clear() +{ + timeMS = 0; + code = alternativeCode = 0; + format.clear(); + alternativeOrganization.clear(); +} + +void TcfTrkCommandError::write(QTextStream &str) const +{ + if (timeMS) { + const QDateTime time(QDate(1970, 1, 1)); + str << time.addMSecs(timeMS).toString(Qt::ISODate) << ": Error code: " << code + << " '" << format << '\''; + if (!alternativeOrganization.isEmpty()) + str << " ('" << alternativeOrganization << "', code: " << alternativeCode << ')'; + } else{ + str << "<No error>"; + } +} + +QString TcfTrkCommandError::toString() const +{ + QString rc; + QTextStream str(&rc); + write(str); + return rc; +} + +/* {"Time":1277459762255,"Code":1,"AltCode":-6,"AltOrg":"POSIX","Format":"Unknown error: -6"} */ +bool TcfTrkCommandError::parse(const QVector<JsonValue> &values) +{ + // Parse an arbitrary hash (that could as well be a command response) + // and check for error elements. + unsigned errorKeyCount = 0; + clear(); + do { + if (values.isEmpty() || values.front().type() != JsonValue::Object) + break; + foreach (const JsonValue &c, values.front().children()) { + if (c.name() == "Time") { + timeMS = c.data().toULongLong(); + errorKeyCount++; + } else if (c.name() == "Code") { + code = c.data().toInt(); + errorKeyCount++; + } else if (c.name() == "Format") { + format = c.data(); + errorKeyCount++; + } else if (c.name() == "AltCode") { + alternativeCode = c.data().toInt(); + errorKeyCount++; + } else if (c.name() == "AltOrg") { + alternativeOrganization = c.data(); + errorKeyCount++; + } + } + } while (false); + const bool errorFound = errorKeyCount >= 2u; // Should be at least 'Time', 'Code'. + if (!errorFound) + clear(); + if (debug) { + qDebug() << "TcfTrkCommandError::parse: Found error: " << errorFound; + if (!values.isEmpty()) + qDebug() << values.front().toString(); + } + return errorFound; +} + +// ------------ TcfTrkCommandResult + +TcfTrkCommandResult::TcfTrkCommandResult(Type t) : + type(t), service(LocatorService) +{ +} + +TcfTrkCommandResult::TcfTrkCommandResult(char typeChar, Services s, + const QByteArray &r, + const QVector<JsonValue> &v, + const QVariant &ck) : + type(FailReply), service(s), request(r), values(v), cookie(ck) +{ + switch (typeChar) { + case 'N': + type = FailReply; + break; + case 'P': + type = ProgressReply; + break; + case 'R': + type = commandError.parse(values) ? CommandErrorReply : SuccessReply; + break; + default: + qWarning("Unknown TCF reply type '%c'", typeChar); + } +} + +QString TcfTrkCommandResult::errorString() const +{ + QString rc; + QTextStream str(&rc); + + switch (type) { + case SuccessReply: + case ProgressReply: + str << "<No error>"; + return rc; + case FailReply: + str << "NAK"; + case CommandErrorReply: + commandError.write(str); + break; + } + // Append the failed command for reference + str << " (Command was: '"; + QByteArray printableRequest = request; + printableRequest.replace('\0', '|'); + str << printableRequest << "')"; + return rc; +} + +QString TcfTrkCommandResult::toString() const +{ + QString rc; + QTextStream str(&rc); + str << "Command answer "; + switch (type) { + case SuccessReply: + str << "[success]"; + break; + case CommandErrorReply: + str << "[command error]"; + break; + case FailReply: + str << "[fail (NAK)]"; + break; + case ProgressReply: + str << "[progress]"; + break; + } + str << ", " << values.size() << " values(s) to request: '"; + QByteArray printableRequest = request; + printableRequest.replace('\0', '|'); + str << printableRequest << "' "; + if (cookie.isValid()) + str << " cookie: " << cookie.toString(); + str << '\n'; + for (int i = 0, count = values.size(); i < count; i++) + str << '#' << i << ' ' << values.at(i).toString() << '\n'; + if (type == CommandErrorReply) + str << "Error: " << errorString(); + return rc; +} + +struct TcfTrkSendQueueEntry +{ + typedef TcfTrkDevice::MessageType MessageType; + + explicit TcfTrkSendQueueEntry(MessageType mt, + int tok, + Services s, + const QByteArray &d, + const TcfTrkCallback &cb= TcfTrkCallback(), + const QVariant &ck = QVariant()) : + messageType(mt), service(s), data(d), token(tok), cookie(ck), callback(cb) {} + + MessageType messageType; + Services service; + QByteArray data; + int token; + QVariant cookie; + TcfTrkCallback callback; +}; + +struct TcfTrkDevicePrivate { + typedef TcfTrkDevice::IODevicePtr IODevicePtr; + typedef QHash<int, TcfTrkSendQueueEntry> TokenWrittenMessageMap; + + TcfTrkDevicePrivate(); + + const QByteArray m_messageTerminator; + + IODevicePtr m_device; + unsigned m_verbose; + QByteArray m_readBuffer; + int m_token; + QQueue<TcfTrkSendQueueEntry> m_sendQueue; + TokenWrittenMessageMap m_writtenMessages; + QVector<QByteArray> m_registerNames; +}; + +TcfTrkDevicePrivate::TcfTrkDevicePrivate() : + m_messageTerminator(messageTerminatorC), + m_verbose(0), m_token(0) +{ +} + +TcfTrkDevice::TcfTrkDevice(QObject *parent) : + QObject(parent), d(new TcfTrkDevicePrivate) +{ +} + +TcfTrkDevice::~TcfTrkDevice() +{ + delete d; +} + +QVector<QByteArray> TcfTrkDevice::registerNames() const +{ + return d->m_registerNames; +} + +void TcfTrkDevice::setRegisterNames(const QVector<QByteArray>& n) +{ + d->m_registerNames = n; + if (d->m_verbose) { + QString msg; + QTextStream str(&msg); + const int count = n.size(); + str << "Registers (" << count << "): "; + for (int i = 0; i < count; i++) + str << '#' << i << '=' << n.at(i) << ' '; + emitLogMessage(msg); + } +} + +TcfTrkDevice::IODevicePtr TcfTrkDevice::device() const +{ + return d->m_device; +} + +TcfTrkDevice::IODevicePtr TcfTrkDevice::takeDevice() +{ + const IODevicePtr old = d->m_device; + if (!old.isNull()) { + old.data()->disconnect(this); + d->m_device = IODevicePtr(); + } + d->m_readBuffer.clear(); + d->m_token = 0; + d->m_sendQueue.clear(); + return old; +} + +void TcfTrkDevice::setDevice(const IODevicePtr &dp) +{ + if (dp.data() == d->m_device.data()) + return; + if (dp.isNull()) { + emitLogMessage(QLatin1String("Internal error: Attempt to set NULL device.")); + return; + } + takeDevice(); + d->m_device = dp; + connect(dp.data(), SIGNAL(readyRead()), this, SLOT(slotDeviceReadyRead())); + if (QAbstractSocket *s = qobject_cast<QAbstractSocket *>(dp.data())) { + connect(s, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(slotDeviceError())); + connect(s, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(slotDeviceSocketStateChanged())); + } +} + +void TcfTrkDevice::slotDeviceError() +{ + const QString message = d->m_device->errorString(); + emitLogMessage(message); + emit error(message); +} + +void TcfTrkDevice::slotDeviceSocketStateChanged() +{ + if (const QAbstractSocket *s = qobject_cast<const QAbstractSocket *>(d->m_device.data())) { + const QAbstractSocket::SocketState st = s->state(); + switch (st) { + case QAbstractSocket::UnconnectedState: + emitLogMessage(QLatin1String("Unconnected")); + break; + case QAbstractSocket::HostLookupState: + emitLogMessage(QLatin1String("HostLookupState")); + break; + case QAbstractSocket::ConnectingState: + emitLogMessage(QLatin1String("Connecting")); + break; + case QAbstractSocket::ConnectedState: + emitLogMessage(QLatin1String("Connected")); + break; + case QAbstractSocket::ClosingState: + emitLogMessage(QLatin1String("Closing")); + break; + default: + emitLogMessage(QString::fromLatin1("State %1").arg(st)); + break; + } + } +} + +static inline QString debugMessage(QByteArray message, const char *prefix = 0) +{ + message.replace('\0', '|'); + const QString messageS = QString::fromLatin1(message); + return prefix ? + (QLatin1String(prefix) + messageS) : messageS; +} + +void TcfTrkDevice::slotDeviceReadyRead() +{ + d->m_readBuffer += d->m_device->readAll(); + // Take complete message off front of readbuffer. + do { + const int messageEndPos = d->m_readBuffer.indexOf(d->m_messageTerminator); + if (messageEndPos == -1) + break; + const QByteArray message = d->m_readBuffer.left(messageEndPos); + if (debug) + qDebug("Read:\n%s", qPrintable(formatData(message))); + if (const int errorCode = parseMessage(message)) { + emitLogMessage(QString::fromLatin1("Parse error %1 for: %2").arg(errorCode).arg(debugMessage(message))); + } + d->m_readBuffer.remove(0, messageEndPos + d->m_messageTerminator.size()); + } while (!d->m_readBuffer.isEmpty()); + checkSendQueue(); // Send off further message +} + +// Split \0-terminated message into tokens, skipping the initial type character +static inline QVector<QByteArray> splitMessage(const QByteArray &message) +{ + QVector<QByteArray> tokens; + tokens.reserve(7); + const int messageSize = message.size(); + for (int pos = 2; pos < messageSize; ) { + const int nextPos = message.indexOf('\0', pos); + if (nextPos == -1) + break; + tokens.push_back(message.mid(pos, nextPos - pos)); + pos = nextPos + 1; + } + return tokens; +} + +int TcfTrkDevice::parseMessage(const QByteArray &message) +{ + if (d->m_verbose) + emitLogMessage(debugMessage(message, "TCF ->")); + // Special JSON parse error message or protocol format error. + // The port is usually closed after receiving it. + // "\3\2{"Time":1276096098255,"Code":3,"Format": "Protocol format error"}" + if (message.startsWith("\003\002")) { + QByteArray text = message.mid(2); + const QString errorMessage = QString::fromLatin1("Parse error received: %1").arg(QString::fromAscii(text)); + emit error(errorMessage); + return 0; + } + if (message.size() < 4 || message.at(1) != '\0') + return 1; + // Split into tokens + const char type = message.at(0); + const QVector<QByteArray> tokens = splitMessage(message); + switch (type) { + case 'E': + return parseTcfEvent(tokens); + case 'R': // Command replies + case 'N': + case 'P': + return parseTcfCommandReply(type, tokens); + default: + emitLogMessage(QString::fromLatin1("Unhandled message type: %1").arg(debugMessage(message))); + return 756; + } + return 0; +} + +int TcfTrkDevice::parseTcfCommandReply(char type, const QVector<QByteArray> &tokens) +{ + typedef TcfTrkDevicePrivate::TokenWrittenMessageMap::iterator TokenWrittenMessageMapIterator; + // Find the corresponding entry in the written messages hash. + const int tokenCount = tokens.size(); + if (tokenCount < 1) + return 234; + bool tokenOk; + const int token = tokens.at(0).toInt(&tokenOk); + if (!tokenOk) + return 235; + const TokenWrittenMessageMapIterator it = d->m_writtenMessages.find(token); + if (it == d->m_writtenMessages.end()) { + qWarning("TcfTrkDevice: Internal error: token %d not found for '%s'", + token, qPrintable(joinByteArrays(tokens))); + return 236; + } + // No callback: remove entry from map, happy + if (!it.value().callback) { + d->m_writtenMessages.erase(it); + return 0; + } + // Parse values into JSON + QVector<JsonValue> values; + values.reserve(tokenCount); + for (int i = 1; i < tokenCount; i++) { + if (!tokens.at(i).isEmpty()) { // Strange: Empty tokens occur. + const JsonValue value(tokens.at(i)); + if (value.isValid()) { + values.push_back(value); + } else { + qWarning("JSON parse error for reply to command token %d: #%d '%s'", + token, i, tokens.at(i).constData()); + d->m_writtenMessages.erase(it); + return -1; + } + } + } + + // Construct result and invoke callback, remove entry from map. + TcfTrkCallback callback = it.value().callback; + TcfTrkCommandResult result(type, it.value().service, it.value().data, + values, it.value().cookie); + d->m_writtenMessages.erase(it); + callback(result); + return 0; +} + +static const char locatorAnswerC[] = "E\0Locator\0Hello\0[\"Locator\"]"; + +int TcfTrkDevice::parseTcfEvent(const QVector<QByteArray> &tokens) +{ + // Event: Ignore the periodical heartbeat event, answer 'Hello', + // emit signal for the rest + if (tokens.size() < 3) + return 433; + const Services service = serviceFromName(tokens.at(0).constData()); + if (service == LocatorService && tokens.at(1) == "peerHeartBeat") + return 0; + QVector<JsonValue> values; + for (int i = 2; i < tokens.size(); i++) { + const JsonValue value(tokens.at(i)); + if (!value.isValid()) + return 434; + values.push_back(value); + } + // Parse known events, emit signals + QScopedPointer<TcfTrkEvent> knownEvent(TcfTrkEvent::parseEvent(service, tokens.at(1), values)); + if (!knownEvent.isNull()) { + // Answer hello event. + if (knownEvent->type() == TcfTrkEvent::LocatorHello) + writeMessage(QByteArray(locatorAnswerC, sizeof(locatorAnswerC))); + emit tcfEvent(*knownEvent); + } + emit genericTcfEvent(service, tokens.at(1), values); + + if (debug || d->m_verbose) { + QString msg; + QTextStream str(&msg); + if (knownEvent.isNull()) { + str << "Event: " << tokens.at(0) << ' ' << tokens.at(1) << '\n'; + foreach(const JsonValue &val, values) + str << " " << val.toString() << '\n'; + } else { + str << knownEvent->toString(); + } + emitLogMessage(msg); + } + + return 0; +} + +unsigned TcfTrkDevice::verbose() const +{ + return d->m_verbose; +} + +void TcfTrkDevice::setVerbose(unsigned v) +{ + d->m_verbose = v; +} + +void TcfTrkDevice::emitLogMessage(const QString &m) +{ + if (debug) + qWarning("%s", qPrintable(m)); + emit logMessage(m); +} + +bool TcfTrkDevice::checkOpen() +{ + if (d->m_device.isNull()) { + emitLogMessage(QLatin1String("Internal error: No device set on TcfTrkDevice.")); + return false; + } + if (!d->m_device->isOpen()) { + emitLogMessage(QLatin1String("Internal error: Device not open in TcfTrkDevice.")); + return false; + } + return true; +} + +void TcfTrkDevice::sendTcfTrkMessage(MessageType mt, Services service, const char *command, + const char *commandParameters, int commandParametersLength, + const TcfTrkCallback &callBack, + const QVariant &cookie) + +{ + if (!checkOpen()) + return; + // Format the message + const int token = d->m_token++; + QByteArray data; + data.reserve(30 + commandParametersLength); + data.append('C'); + data.append('\0'); + data.append(QByteArray::number(token)); + data.append('\0'); + data.append(serviceName(service)); + data.append('\0'); + data.append(command); + data.append('\0'); + if (commandParametersLength) + data.append(commandParameters, commandParametersLength); + const TcfTrkSendQueueEntry entry(mt, token, service, data, callBack, cookie); + d->m_sendQueue.enqueue(entry); + checkSendQueue(); +} + +void TcfTrkDevice::sendTcfTrkMessage(MessageType mt, Services service, const char *command, + const QByteArray &commandParameters, + const TcfTrkCallback &callBack, + const QVariant &cookie) +{ + sendTcfTrkMessage(mt, service, command, commandParameters.constData(), commandParameters.size(), + callBack, cookie); +} + +// Enclose in message frame and write. +void TcfTrkDevice::writeMessage(QByteArray data) +{ + if (!checkOpen()) + return; + + if (d->m_verbose) + emitLogMessage(debugMessage(data, "TCF <-")); + + // Ensure \0-termination which easily gets lost in QByteArray CT. + if (!data.endsWith('\0')) + data.append('\0'); + data += d->m_messageTerminator; + + if (debug > 1) + qDebug("Writing:\n%s", qPrintable(formatData(data))); + + d->m_device->write(data); + if (QAbstractSocket *as = qobject_cast<QAbstractSocket *>(d->m_device.data())) + as->flush(); +} + +void TcfTrkDevice::checkSendQueue() +{ + // Fire off messages or invoke noops until a message with reply is found + // and an entry to writtenMessages is made. + while (d->m_writtenMessages.empty()) { + if (d->m_sendQueue.isEmpty()) + break; + TcfTrkSendQueueEntry entry = d->m_sendQueue.dequeue(); + switch (entry.messageType) { + case MessageWithReply: + d->m_writtenMessages.insert(entry.token, entry); + writeMessage(entry.data); + break; + case MessageWithoutReply: + writeMessage(entry.data); + break; + case NoopMessage: // Invoke the noop-callback for synchronization + if (entry.callback) { + TcfTrkCommandResult noopResult(TcfTrkCommandResult::SuccessReply); + noopResult.cookie = entry.cookie; + entry.callback(noopResult); + } + break; + } + } +} + +// Fix slashes +static inline QString fixFileName(QString in) +{ + in.replace(QLatin1Char('/'), QLatin1Char('\\')); + return in; +} + +// Start a process (consisting of a non-reply setSettings and start). +void TcfTrkDevice::sendProcessStartCommand(const TcfTrkCallback &callBack, + const QString &binaryIn, + unsigned uid, + QStringList arguments, + QString workingDirectory, + bool debugControl, + const QStringList &additionalLibraries, + const QVariant &cookie) +{ + // Obtain the bin directory, expand by c:/sys/bin if missing + const QChar backSlash('\\'); + int slashPos = binaryIn.lastIndexOf(QLatin1Char('/')); + if (slashPos == -1) + slashPos = binaryIn.lastIndexOf(backSlash); + const QString sysBin = QLatin1String("c:/sys/bin"); + const QString binaryFileName = slashPos == -1 ? binaryIn : binaryIn.mid(slashPos + 1); + const QString binaryDirectory = slashPos == -1 ? sysBin : binaryIn.left(slashPos); + const QString binary = fixFileName(binaryDirectory + QLatin1Char('/') + binaryFileName); + + // Fixup: Does argv[0] convention exist on Symbian? + arguments.push_front(binary); + if (workingDirectory.isEmpty()) + workingDirectory = sysBin; + + // Format settings with empty dummy parameter + QByteArray setData; + JsonInputStream setStr(setData); + setStr << "" << '\0' + << '[' << "exeToLaunch" << ',' << "addExecutables" << ',' << "addLibraries" << ']' + << '\0' << '[' + << binary << ',' + << '{' << binaryFileName << ':' << QString::number(uid, 16) << '}' << ',' + << additionalLibraries + << ']'; + sendTcfTrkMessage(MessageWithoutReply, SettingsService, "set", setData); + + QByteArray startData; + JsonInputStream startStr(startData); + startStr << fixFileName(workingDirectory) + << '\0' << binary << '\0' << arguments << '\0' + << QStringList() << '\0' // Env is an array ["PATH=value"] (non-standard) + << debugControl; + sendTcfTrkMessage(MessageWithReply, ProcessesService, "start", startData, callBack, cookie); +} + +void TcfTrkDevice::sendProcessTerminateCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << id; + sendTcfTrkMessage(MessageWithReply, ProcessesService, "terminate", data, callBack, cookie); +} + +void TcfTrkDevice::sendRunControlTerminateCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << id; + sendTcfTrkMessage(MessageWithReply, RunControlService, "terminate", data, callBack, cookie); +} + +// Non-standard: Remove executable from settings +void TcfTrkDevice::sendSettingsRemoveExecutableCommand(const QString &binaryIn, + unsigned uid, + const QStringList &additionalLibraries, + const QVariant &cookie) +{ + QByteArray setData; + JsonInputStream setStr(setData); + setStr << "" << '\0' + << '[' << "removedExecutables" << ',' << "removedLibraries" << ']' + << '\0' << '[' + << '{' << QFileInfo(binaryIn).fileName() << ':' << QString::number(uid, 16) << '}' << ',' + << additionalLibraries + << ']'; + sendTcfTrkMessage(MessageWithoutReply, SettingsService, "set", setData, TcfTrkCallback(), cookie); +} + +void TcfTrkDevice::sendRunControlResumeCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + RunControlResumeMode mode, + unsigned count, + quint64 rangeStart, + quint64 rangeEnd, + const QVariant &cookie) +{ + QByteArray resumeData; + JsonInputStream str(resumeData); + str << id << '\0' << int(mode) << '\0' << count; + switch (mode) { + case RM_STEP_OVER_RANGE: + case RM_STEP_INTO_RANGE: + case RM_REVERSE_STEP_OVER_RANGE: + case RM_REVERSE_STEP_INTO_RANGE: + str << '\0' << '{' << "RANGE_START" << ':' << rangeStart + << ',' << "RANGE_END" << ':' << rangeEnd << '}'; + break; + default: + break; + } + sendTcfTrkMessage(MessageWithReply, RunControlService, "resume", resumeData, callBack, cookie); +} + +void TcfTrkDevice::sendRunControlSuspendCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << id; + sendTcfTrkMessage(MessageWithReply, RunControlService, "suspend", data, callBack, cookie); +} + +void TcfTrkDevice::sendRunControlResumeCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie) +{ + sendRunControlResumeCommand(callBack, id, RM_RESUME, 1, 0, 0, cookie); +} + +void TcfTrkDevice::sendBreakpointsAddCommand(const TcfTrkCallback &callBack, + const Breakpoint &bp, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << bp; + sendTcfTrkMessage(MessageWithReply, BreakpointsService, "add", data, callBack, cookie); +} + +void TcfTrkDevice::sendBreakpointsRemoveCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie) +{ + sendBreakpointsRemoveCommand(callBack, QVector<QByteArray>(1, id), cookie); +} + +void TcfTrkDevice::sendBreakpointsRemoveCommand(const TcfTrkCallback &callBack, + const QVector<QByteArray> &ids, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << ids; + sendTcfTrkMessage(MessageWithReply, BreakpointsService, "remove", data, callBack, cookie); +} + +void TcfTrkDevice::sendBreakpointsEnableCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + bool enable, + const QVariant &cookie) +{ + sendBreakpointsEnableCommand(callBack, QVector<QByteArray>(1, id), enable, cookie); +} + +void TcfTrkDevice::sendBreakpointsEnableCommand(const TcfTrkCallback &callBack, + const QVector<QByteArray> &ids, + bool enable, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + str << ids; + sendTcfTrkMessage(MessageWithReply, BreakpointsService, + enable ? "enable" : "disable", + data, callBack, cookie); +} + +void TcfTrkDevice::sendMemorySetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + quint64 start, const QByteArray& data, + const QVariant &cookie) +{ + QByteArray getData; + JsonInputStream str(getData); + // start/word size/mode. Mode should ideally be 1 (continue on error?) + str << contextId << '\0' << start << '\0' << 1 << '\0' << data.size() << '\0' << 1 + << '\0' << data.toBase64(); + sendTcfTrkMessage(MessageWithReply, MemoryService, "set", getData, callBack, cookie); +} + +void TcfTrkDevice::sendMemoryGetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + quint64 start, quint64 size, + const QVariant &cookie) +{ + QByteArray data; + JsonInputStream str(data); + // start/word size/mode. Mode should ideally be 1 (continue on error?) + str << contextId << '\0' << start << '\0' << 1 << '\0' << size << '\0' << 1; + sendTcfTrkMessage(MessageWithReply, MemoryService, "get", data, callBack, cookie); +} + +QByteArray TcfTrkDevice::parseMemoryGet(const TcfTrkCommandResult &r) +{ + if (r.type != TcfTrkCommandResult::SuccessReply || r.values.size() < 1) + return QByteArray(); + const JsonValue &memoryV = r.values.front(); + + if (memoryV.type() != JsonValue::String || memoryV.data().size() < 2 + || !memoryV.data().endsWith('=')) + return QByteArray(); + // Catch errors reported as hash: + // R.4."TlVMTA==".{"Time":1276786871255,"Code":1,"AltCode":-38,"AltOrg":"POSIX","Format":"BadDescriptor"} + // Not sure what to make of it. + if (r.values.size() >= 2 && r.values.at(1).type() == JsonValue::Object) + qWarning("Error retrieving memory: %s", r.values.at(1).toString(false).constData()); + // decode + const QByteArray memory = QByteArray::fromBase64(memoryV.data()); + if (memory.isEmpty()) + qWarning("Base64 decoding of %s failed.", memoryV.data().constData()); + if (debug) + qDebug("TcfTrkDevice::parseMemoryGet: received %d bytes", memory.size()); + return memory; +} + +void TcfTrkDevice::sendRegistersGetMCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + const QVector<QByteArray> &ids, + const QVariant &cookie) +{ + // TODO: use "Registers" (which uses base64-encoded values) + QByteArray data; + JsonInputStream str(data); + str << contextId << '\0' << ids; + sendTcfTrkMessage(MessageWithReply, SimpleRegistersService, "get", data, callBack, cookie); +} + +void TcfTrkDevice::sendRegistersGetMRangeCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + unsigned start, unsigned count) +{ + const unsigned end = start + count; + if (end > (unsigned)d->m_registerNames.size()) { + qWarning("TcfTrkDevice: No register name set for index %u (size: %d).", end, d->m_registerNames.size()); + return; + } + + QVector<QByteArray> ids; + ids.reserve(count); + for (unsigned i = start; i < end; i++) + ids.push_back(d->m_registerNames.at(i)); + sendRegistersGetMCommand(callBack, contextId, ids, QVariant(start)); +} + +// Set register +void TcfTrkDevice::sendRegistersSetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + const QByteArray &id, + unsigned value, + const QVariant &cookie) +{ + // TODO: use "Registers" (which uses base64-encoded values) + QByteArray data; + JsonInputStream str(data); + str << contextId << '\0' << QVector<QByteArray>(1, id) + << '\0' << QVector<QByteArray>(1, QByteArray::number(value, 16)); + sendTcfTrkMessage(MessageWithReply, SimpleRegistersService, "set", data, callBack, cookie); +} + +// Set register +void TcfTrkDevice::sendRegistersSetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + unsigned registerNumber, + unsigned value, + const QVariant &cookie) +{ + if (registerNumber >= (unsigned)d->m_registerNames.size()) { + qWarning("TcfTrkDevice: No register name set for index %u (size: %d).", registerNumber, d->m_registerNames.size()); + return; + } + sendRegistersSetCommand(callBack, contextId, + d->m_registerNames[registerNumber], + value, cookie); +} + +} // namespace tcftrk diff --git a/tools/runonphone/symbianutils/tcftrkdevice.h b/tools/runonphone/symbianutils/tcftrkdevice.h new file mode 100644 index 0000000..67955e5 --- /dev/null +++ b/tools/runonphone/symbianutils/tcftrkdevice.h @@ -0,0 +1,295 @@ +/**************************************************************************** +** +** 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 tools applications 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 TCFTRKENGINE_H +#define TCFTRKENGINE_H + +#include "symbianutils_global.h" +#include "tcftrkmessage.h" +#include "callback.h" +#include "json.h" + +#include <QtCore/QObject> +#include <QtCore/QSharedPointer> +#include <QtCore/QVector> +#include <QtCore/QVariant> +#include <QtCore/QStringList> + +QT_BEGIN_NAMESPACE +class QIODevice; +class QTextStream; +QT_END_NAMESPACE + +namespace tcftrk { + +struct TcfTrkDevicePrivate; +struct Breakpoint; + +/* Command error handling in TCF: + * 1) 'Severe' errors (JSON format, parameter format): Trk emits a + * nonstandard message (\3\2 error paramaters) and closes the connection. + * 2) Protocol errors: 'N' without error message is returned. + * 3) Errors in command execution: 'R' with a TCF error hash is returned + * (see TcfTrkCommandError). */ + +/* Error code return in 'R' reply to command + * (see top of 'Services' documentation). */ +struct SYMBIANUTILS_EXPORT TcfTrkCommandError { + TcfTrkCommandError(); + void clear(); + operator bool() const { return timeMS != 0; } + QString toString() const; + void write(QTextStream &str) const; + bool parse(const QVector<JsonValue> &values); + + quint64 timeMS; // Since 1.1.1970 + int code; + QByteArray format; // message + // 'Alternative' meaning, like altOrg="POSIX"/altCode=<some errno> + QByteArray alternativeOrganization; + int alternativeCode; +}; + +/* Answer to a Tcf command passed to the callback. */ +struct SYMBIANUTILS_EXPORT TcfTrkCommandResult { + enum Type { + SuccessReply, // 'R' and no error -> all happy. + CommandErrorReply, // 'R' with TcfTrkCommandError received + ProgressReply, // 'P', progress indicator + FailReply // 'N' Protocol NAK, severe error + }; + + explicit TcfTrkCommandResult(Type t = SuccessReply); + explicit TcfTrkCommandResult(char typeChar, Services service, + const QByteArray &request, + const QVector<JsonValue> &values, + const QVariant &cookie); + + QString toString() const; + QString errorString() const; + operator bool() const { return type == SuccessReply || type == ProgressReply; } + + Type type; + Services service; + QByteArray request; + TcfTrkCommandError commandError; + QVector<JsonValue> values; + QVariant cookie; +}; + +typedef trk::Callback<const TcfTrkCommandResult &> TcfTrkCallback; + +/* TcfTrkDevice: TCF communication helper using an asynchronous QIODevice + * implementing the TCF protocol according to: +http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/docs/TCF%20Specification.html +http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/docs/TCF%20Services.html + * Commands can be sent along with callbacks that are passed a + * TcfTrkCommandResult and an opaque QVariant cookie. In addition, events are emitted. +*/ + +class SYMBIANUTILS_EXPORT TcfTrkDevice : public QObject +{ + Q_PROPERTY(unsigned verbose READ verbose WRITE setVerbose) + Q_OBJECT +public: + enum MessageType { MessageWithReply, + MessageWithoutReply, /* Non-standard: "Settings:set" command does not reply */ + NoopMessage }; + + typedef QSharedPointer<QIODevice> IODevicePtr; + + explicit TcfTrkDevice(QObject *parent = 0); + virtual ~TcfTrkDevice(); + + unsigned verbose() const; + + // Mapping of register names for indices + QVector<QByteArray> registerNames() const; + void setRegisterNames(const QVector<QByteArray>& n); + + IODevicePtr device() const; + IODevicePtr takeDevice(); + void setDevice(const IODevicePtr &dp); + + void sendTcfTrkMessage(MessageType mt, Services service, + const char *command, + const char *commandParameters, int commandParametersLength, + const TcfTrkCallback &callBack = TcfTrkCallback(), + const QVariant &cookie = QVariant()); + + void sendTcfTrkMessage(MessageType mt, Services service, const char *command, + const QByteArray &commandParameters, + const TcfTrkCallback &callBack = TcfTrkCallback(), + const QVariant &cookie = QVariant()); + + // Convenience messages: Start a process + void sendProcessStartCommand(const TcfTrkCallback &callBack, + const QString &binary, + unsigned uid, + QStringList arguments = QStringList(), + QString workingDirectory = QString(), + bool debugControl = true, + const QStringList &additionalLibraries = QStringList(), + const QVariant &cookie = QVariant()); + + // Preferred over Processes:Terminate by TCF TRK. + void sendRunControlTerminateCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie = QVariant()); + + void sendProcessTerminateCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie = QVariant()); + + // Non-standard: Remove executable from settings. + // Probably needs to be called after stopping. This command has no response. + void sendSettingsRemoveExecutableCommand(const QString &binaryIn, + unsigned uid, + const QStringList &additionalLibraries = QStringList(), + const QVariant &cookie = QVariant()); + + void sendRunControlSuspendCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie = QVariant()); + + // Resume / Step (see RunControlResumeMode). + void sendRunControlResumeCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + RunControlResumeMode mode, + unsigned count /* = 1, currently ignored. */, + quint64 rangeStart, quint64 rangeEnd, + const QVariant &cookie = QVariant()); + + // Convenience to resume a suspended process + void sendRunControlResumeCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie = QVariant()); + + void sendBreakpointsAddCommand(const TcfTrkCallback &callBack, + const Breakpoint &b, + const QVariant &cookie = QVariant()); + + void sendBreakpointsRemoveCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + const QVariant &cookie = QVariant()); + + void sendBreakpointsRemoveCommand(const TcfTrkCallback &callBack, + const QVector<QByteArray> &id, + const QVariant &cookie = QVariant()); + + void sendBreakpointsEnableCommand(const TcfTrkCallback &callBack, + const QByteArray &id, + bool enable, + const QVariant &cookie = QVariant()); + + void sendBreakpointsEnableCommand(const TcfTrkCallback &callBack, + const QVector<QByteArray> &id, + bool enable, + const QVariant &cookie = QVariant()); + + + void sendMemoryGetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + quint64 start, quint64 size, + const QVariant &cookie = QVariant()); + + void sendMemorySetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + quint64 start, const QByteArray& data, + const QVariant &cookie = QVariant()); + + // Reply is an array of hexvalues + void sendRegistersGetMCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + const QVector<QByteArray> &ids, + const QVariant &cookie = QVariant()); + + // Convenience to get a range of register "R0" .. "R<n>". + // Cookie will be an int containing "start". + void sendRegistersGetMRangeCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + unsigned start, unsigned count); + + // Set register + void sendRegistersSetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + const QByteArray &ids, + unsigned value, + const QVariant &cookie = QVariant()); + // Set register + void sendRegistersSetCommand(const TcfTrkCallback &callBack, + const QByteArray &contextId, + unsigned registerNumber, + unsigned value, + const QVariant &cookie = QVariant()); + + static QByteArray parseMemoryGet(const TcfTrkCommandResult &r); + +signals: + void genericTcfEvent(int service, const QByteArray &name, const QVector<tcftrk::JsonValue> &value); + void tcfEvent(const tcftrk::TcfTrkEvent &knownEvent); + + void logMessage(const QString &); + void error(const QString &); + +public slots: + void setVerbose(unsigned v); + +private slots: + void slotDeviceError(); + void slotDeviceSocketStateChanged(); + void slotDeviceReadyRead(); + +private: + bool checkOpen(); + void checkSendQueue(); + void writeMessage(QByteArray data); + void emitLogMessage(const QString &); + int parseMessage(const QByteArray &); + int parseTcfCommandReply(char type, const QVector<QByteArray> &tokens); + int parseTcfEvent(const QVector<QByteArray> &tokens); + + TcfTrkDevicePrivate *d; +}; + +} // namespace tcftrk + +#endif // TCFTRKENGINE_H diff --git a/tools/runonphone/symbianutils/tcftrkmessage.cpp b/tools/runonphone/symbianutils/tcftrkmessage.cpp new file mode 100644 index 0000000..06035ab --- /dev/null +++ b/tools/runonphone/symbianutils/tcftrkmessage.cpp @@ -0,0 +1,562 @@ +/**************************************************************************** +** +** 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 tools applications 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 "tcftrkmessage.h" +#include "json.h" + +#include <QtCore/QString> +#include <QtCore/QTextStream> + +// Names matching the enum +static const char *serviceNamesC[] = +{ "Locator", "RunControl", "Processes", "Memory", "Settings", "Breakpoints", + "Registers", "SimpleRegisters", + "UnknownService"}; + +namespace tcftrk { + +SYMBIANUTILS_EXPORT QString joinByteArrays(const QVector<QByteArray> &a, char sep) +{ + QString rc; + const int count = a.size(); + for (int i = 0; i < count; i++) { + if (i) + rc += QLatin1Char(sep); + rc += QString::fromUtf8(a.at(i)); + } + return rc; +} + +static inline bool jsonToBool(const JsonValue& js) +{ + return js.type() == JsonValue::Boolean && js.data() == "true"; +} + +SYMBIANUTILS_EXPORT const char *serviceName(Services s) +{ + return serviceNamesC[s]; +} + +SYMBIANUTILS_EXPORT Services serviceFromName(const char *n) +{ + const int count = sizeof(serviceNamesC)/sizeof(char *); + for (int i = 0; i < count; i++) + if (!qstrcmp(serviceNamesC[i], n)) + return static_cast<Services>(i); + return UnknownService; +} + +SYMBIANUTILS_EXPORT QString formatData(const QByteArray &a) +{ + const int columns = 16; + QString rc; + QTextStream str(&rc); + str.setIntegerBase(16); + str.setPadChar(QLatin1Char('0')); + const unsigned char *start = reinterpret_cast<const unsigned char *>(a.constData()); + const unsigned char *end = start + a.size(); + for (const unsigned char *p = start; p < end ; ) { + str << "0x"; + str.setFieldWidth(4); + str << (p - start); + str.setFieldWidth(0); + str << ' '; + QString asc; + int c = 0; + for ( ; c < columns && p < end; c++, p++) { + const unsigned u = *p; + str.setFieldWidth(2); + str << u; + str.setFieldWidth(0); + str << ' '; + switch (u) { + case '\n': + asc += QLatin1String("\\n"); + break; + case '\r': + asc += QLatin1String("\\r"); + break; + case '\t': + asc += QLatin1String("\\t"); + break; + default: + if (u >= 32 && u < 128) { + asc += QLatin1Char(' '); + asc += QLatin1Char(u); + } else { + asc += QLatin1String(" ."); + } + break; + } + } + if (const int remainder = columns - c) + str << QString(3 * remainder, QLatin1Char(' ')); + str << ' ' << asc << '\n'; + } + return rc; +} + +// ----------- RunControlContext +RunControlContext::RunControlContext() : + flags(0), resumeFlags(0) +{ +} + +void RunControlContext::clear() +{ + flags =0; + resumeFlags = 0; + id.clear(); + osid.clear(); + parentId.clear(); +} + +RunControlContext::Type RunControlContext::typeFromTcfId(const QByteArray &id) +{ + // "p12" or "p12.t34"? + return id.contains(".t") ? Thread : Process; +} + +unsigned RunControlContext::processId() const +{ + return processIdFromTcdfId(id); +} + +unsigned RunControlContext::threadId() const +{ + return threadIdFromTcdfId(id); +} + +unsigned RunControlContext::processIdFromTcdfId(const QByteArray &id) +{ + // Cut out process id from "p12" or "p12.t34"? + if (!id.startsWith('p')) + return 0; + const int dotPos = id.indexOf('.'); + const int pLen = dotPos == -1 ? id.size() : dotPos; + return id.mid(1, pLen - 1).toUInt(); +} + +unsigned RunControlContext::threadIdFromTcdfId(const QByteArray &id) +{ + const int tPos = id.indexOf(".t"); + return tPos != -1 ? id.mid(tPos + 2).toUInt() : uint(0); +} + +QByteArray RunControlContext::tcfId(unsigned processId, unsigned threadId /* = 0 */) +{ + QByteArray rc("p"); + rc += QByteArray::number(processId); + if (threadId) { + rc += ".t"; + rc += QByteArray::number(threadId); + } + return rc; +} + +RunControlContext::Type RunControlContext::type() const +{ + return RunControlContext::typeFromTcfId(id); +} + +bool RunControlContext::parse(const JsonValue &val) +{ + clear(); + if (val.type() != JsonValue::Object) + return false; + foreach(const JsonValue &c, val.children()) { + if (c.name() == "ID") { + id = c.data(); + } else if (c.name() == "OSID") { + osid = c.data(); + } else if (c.name() == "ParentID") { + parentId = c.data(); + } else if (c.name() == "IsContainer") { + if (jsonToBool(c)) + flags |= Container; + } else if (c.name() == "CanTerminate") { + if (jsonToBool(c)) + flags |= CanTerminate; + } else if (c.name() == "CanResume") { + resumeFlags = c.data().toUInt(); + } else if (c.name() == "HasState") { + if (jsonToBool(c)) + flags |= HasState; + } else if (c.name() == "CanSuspend") { + if (jsonToBool(c)) + flags |= CanSuspend; + } + } + return true; +} + +QString RunControlContext::toString() const +{ + QString rc; + QTextStream str(&rc); + format(str); + return rc; +} + +void RunControlContext::format(QTextStream &str) const +{ + str << " id='" << id << "' osid='" << osid + << "' parentId='" << parentId <<"' "; + if (flags & Container) + str << "[container] "; + if (flags & HasState) + str << "[has state] "; + if (flags & CanSuspend) + str << "[can suspend] "; + if (flags & CanSuspend) + str << "[can terminate] "; + str.setIntegerBase(16); + str << " resume_flags: 0x" << resumeFlags; + str.setIntegerBase(10); +} + +// ------ ModuleLoadEventInfo +ModuleLoadEventInfo::ModuleLoadEventInfo() : + loaded(false), codeAddress(0), dataAddress(0), requireResume(false) +{ +} + +void ModuleLoadEventInfo::clear() +{ + loaded = requireResume = false; + codeAddress = dataAddress =0; +} + +bool ModuleLoadEventInfo::parse(const JsonValue &val) +{ + clear(); + if (val.type() != JsonValue::Object) + return false; + foreach(const JsonValue &c, val.children()) { + if (c.name() == "Name") { + name = c.data(); + } else if (c.name() == "File") { + file = c.data(); + } else if (c.name() == "CodeAddress") { + codeAddress = c.data().toULongLong(); + } else if (c.name() == "DataAddress") { + dataAddress = c.data().toULongLong(); + } else if (c.name() == "Loaded") { + loaded = jsonToBool(c); + } else if (c.name() == "RequireResume") { + requireResume =jsonToBool(c); + } + } + return true; +} +void ModuleLoadEventInfo::format(QTextStream &str) const +{ + str << "name='" << name << "' file='" << file << "' " << + (loaded ? "[loaded] " : "[not loaded] "); + if (requireResume) + str << "[requires resume] "; + str.setIntegerBase(16); + str << " code: 0x" << codeAddress << " data: 0x" << dataAddress; + str.setIntegerBase(10); +} + +// ---------------------- Breakpoint + +// Types matching enum +static const char *breakPointTypesC[] = {"Software", "Hardware", "Auto"}; + +Breakpoint::Breakpoint(quint64 loc) : + type(Auto), enabled(true), ignoreCount(0), location(loc), size(1), thumb(true) +{ + if (loc) + id = idFromLocation(location); +} + +void Breakpoint::setContextId(unsigned processId, unsigned threadId) +{ + contextIds = QVector<QByteArray>(1, RunControlContext::tcfId(processId, threadId)); +} + +QByteArray Breakpoint::idFromLocation(quint64 loc) +{ + return QByteArray("BP_0x") + QByteArray::number(loc, 16); +} + +QString Breakpoint::toString() const +{ + QString rc; + QTextStream str(&rc); + str.setIntegerBase(16); + str << "Breakpoint '" << id << "' " << breakPointTypesC[type] << " for contexts '" + << joinByteArrays(contextIds, ',') << "' at 0x" << location; + str.setIntegerBase(10); + str << " size " << size; + if (enabled) + str << " [enabled]"; + if (thumb) + str << " [thumb]"; + if (ignoreCount) + str << " IgnoreCount " << ignoreCount; + return rc; +} + +JsonInputStream &operator<<(JsonInputStream &str, const Breakpoint &b) +{ + if (b.contextIds.isEmpty()) + qWarning("tcftrk::Breakpoint: No context ids specified"); + + str << '{' << "ID" << ':' << QString::fromUtf8(b.id) << ',' + << "BreakpointType" << ':' << breakPointTypesC[b.type] << ',' + << "Enabled" << ':' << b.enabled << ',' + << "IgnoreCount" << ':' << b.ignoreCount << ',' + << "ContextIds" << ':' << b.contextIds << ',' + << "Location" << ':' << QString::number(b.location) << ',' + << "Size" << ':' << b.size << ',' + << "THUMB_BREAKPOINT" << ':' << b.thumb + << '}'; + return str; +} + +// --- Events +TcfTrkEvent::TcfTrkEvent(Type type) : m_type(type) +{ +} + +TcfTrkEvent::~TcfTrkEvent() +{ +} + +TcfTrkEvent::Type TcfTrkEvent::type() const +{ + return m_type; +} + +QString TcfTrkEvent::toString() const +{ + return QString(); +} + +static const char sharedLibrarySuspendReasonC[] = "Shared Library"; + +TcfTrkEvent *TcfTrkEvent::parseEvent(Services s, const QByteArray &nameBA, const QVector<JsonValue> &values) +{ + switch (s) { + case LocatorService: + if (nameBA == "Hello" && values.size() == 1 && values.front().type() == JsonValue::Array) { + QStringList services; + foreach (const JsonValue &jv, values.front().children()) + services.push_back(QString::fromUtf8(jv.data())); + return new TcfTrkLocatorHelloEvent(services); + } + break; + case RunControlService: + if (values.empty()) + return 0; + // "id/PC/Reason/Data" + if (nameBA == "contextSuspended" && values.size() == 4) { + const QByteArray idBA = values.at(0).data(); + const quint64 pc = values.at(1).data().toULongLong(); + const QByteArray reasonBA = values.at(2).data(); + // Module load: Special + if (reasonBA == sharedLibrarySuspendReasonC) { + ModuleLoadEventInfo info; + if (!info.parse(values.at(3))) + return 0; + return new TcfTrkRunControlModuleLoadContextSuspendedEvent(idBA, reasonBA, pc, info); + } + return new TcfTrkRunControlContextSuspendedEvent(idBA, reasonBA, pc); + } // "contextSuspended" + if (nameBA == "contextAdded") + return TcfTrkRunControlContextAddedEvent::parseEvent(values); + if (nameBA == "contextRemoved" && values.front().type() == JsonValue::Array) { + QVector<QByteArray> ids; + foreach(const JsonValue &c, values.front().children()) + ids.push_back(c.data()); + return new TcfTrkRunControlContextRemovedEvent(ids); + } + break; + default: + break; + } + return 0; +} + +// -------------- TcfTrkServiceHelloEvent +TcfTrkLocatorHelloEvent::TcfTrkLocatorHelloEvent(const QStringList &s) : + TcfTrkEvent(LocatorHello), + m_services(s) +{ +} + +QString TcfTrkLocatorHelloEvent::toString() const +{ + return QLatin1String("ServiceHello: ") + m_services.join(QLatin1String(", ")); +} + +// -------------- TcfTrkIdEvent +TcfTrkIdEvent::TcfTrkIdEvent(Type t, const QByteArray &id) : + TcfTrkEvent(t), m_id(id) +{ +} + +// ---------- TcfTrkIdsEvent +TcfTrkIdsEvent::TcfTrkIdsEvent(Type t, const QVector<QByteArray> &ids) : + TcfTrkEvent(t), m_ids(ids) +{ +} + +QString TcfTrkIdsEvent::joinedIdString(const char sep) const +{ + return joinByteArrays(m_ids, sep); +} + +// ---------------- TcfTrkRunControlContextAddedEvent +TcfTrkRunControlContextAddedEvent::TcfTrkRunControlContextAddedEvent(const RunControlContexts &c) : + TcfTrkEvent(RunControlContextAdded), m_contexts(c) +{ +} + +TcfTrkRunControlContextAddedEvent + *TcfTrkRunControlContextAddedEvent::parseEvent(const QVector<JsonValue> &values) +{ + // Parse array of contexts + if (values.size() < 1 || values.front().type() != JsonValue::Array) + return 0; + + RunControlContexts contexts; + foreach (const JsonValue &v, values.front().children()) { + RunControlContext context; + if (context.parse(v)) + contexts.push_back(context); + } + return new TcfTrkRunControlContextAddedEvent(contexts); +} + +QString TcfTrkRunControlContextAddedEvent::toString() const +{ + QString rc; + QTextStream str(&rc); + str << "RunControl: " << m_contexts.size() << " context(s) " + << (type() == RunControlContextAdded ? "added" : "removed") + << '\n'; + foreach (const RunControlContext &c, m_contexts) { + c.format(str); + str << '\n'; + } + return rc; +} + +// --------------- TcfTrkRunControlContextRemovedEvent +TcfTrkRunControlContextRemovedEvent::TcfTrkRunControlContextRemovedEvent(const QVector<QByteArray> &ids) : + TcfTrkIdsEvent(RunControlContextRemoved, ids) +{ +} + +QString TcfTrkRunControlContextRemovedEvent::toString() const +{ + return QLatin1String("RunControl: Removed contexts '") + joinedIdString() + ("'."); +} + +// --------------- TcfTrkRunControlContextSuspendedEvent +TcfTrkRunControlContextSuspendedEvent::TcfTrkRunControlContextSuspendedEvent(const QByteArray &id, + const QByteArray &reason, + quint64 pc) : + TcfTrkIdEvent(RunControlSuspended, id), m_pc(pc), m_reason(reason) +{ +} + +TcfTrkRunControlContextSuspendedEvent::TcfTrkRunControlContextSuspendedEvent(Type t, + const QByteArray &id, + const QByteArray &reason, + quint64 pc) : + TcfTrkIdEvent(t, id), m_pc(pc), m_reason(reason) +{ +} + +void TcfTrkRunControlContextSuspendedEvent::format(QTextStream &str) const +{ + str.setIntegerBase(16); + str << "RunControl: '" << idString() << "' suspended at 0x" + << m_pc << ": '" << m_reason << "'."; + str.setIntegerBase(10); +} + +QString TcfTrkRunControlContextSuspendedEvent::toString() const +{ + QString rc; + QTextStream str(&rc); + format(str); + return rc; +} + +TcfTrkRunControlContextSuspendedEvent::Reason TcfTrkRunControlContextSuspendedEvent::reason() const +{ + if (m_reason == sharedLibrarySuspendReasonC) + return ModuleLoad; + if (m_reason == "Breakpoint") + return BreakPoint; + // 'Data abort exception'/'Thread has panicked' ... unfortunately somewhat unspecific. + if (m_reason.contains("exception") || m_reason.contains("panick")) + return Crash; + return Other; +} + +TcfTrkRunControlModuleLoadContextSuspendedEvent::TcfTrkRunControlModuleLoadContextSuspendedEvent(const QByteArray &id, + const QByteArray &reason, + quint64 pc, + const ModuleLoadEventInfo &mi) : + TcfTrkRunControlContextSuspendedEvent(RunControlModuleLoadSuspended, id, reason, pc), + m_mi(mi) +{ +} + +QString TcfTrkRunControlModuleLoadContextSuspendedEvent::toString() const +{ + QString rc; + QTextStream str(&rc); + TcfTrkRunControlContextSuspendedEvent::format(str); + str << ' '; + m_mi.format(str); + return rc; +} + + +} // namespace tcftrk diff --git a/tools/runonphone/symbianutils/tcftrkmessage.h b/tools/runonphone/symbianutils/tcftrkmessage.h new file mode 100644 index 0000000..510b485 --- /dev/null +++ b/tools/runonphone/symbianutils/tcftrkmessage.h @@ -0,0 +1,296 @@ +/**************************************************************************** +** +** 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 tools applications 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 TRCFTRKMESSAGE_H +#define TRCFTRKMESSAGE_H + +#include "symbianutils_global.h" + +#include <QtCore/QStringList> +#include <QtCore/QVector> + +QT_BEGIN_NAMESPACE +class QTextStream; +QT_END_NAMESPACE + +namespace tcftrk { + +class JsonValue; +class JsonInputStream; + +enum Services { + LocatorService, + RunControlService, + ProcessesService, + MemoryService, + SettingsService, // non-standard, trk specific + BreakpointsService, + RegistersService, + SimpleRegistersService, // non-standard, trk specific + UnknownService +}; // Note: Check string array 'serviceNamesC' of same size when modifying this. + +// Modes of RunControl/'Resume' (see EDF documentation). +// As of 24.6.2010, RM_RESUME, RM_STEP_OVER, RM_STEP_INTO, +// RM_STEP_OVER_RANGE, RM_STEP_INTO_RANGE are supported with +// RANG_START/RANGE_END parameters. +enum RunControlResumeMode { + RM_RESUME = 0, + RM_STEP_OVER = 1, RM_STEP_INTO = 2, + RM_STEP_OVER_LINE = 3, RM_STEP_INTO_LINE = 4, + RM_STEP_OUT = 5, RM_REVERSE_RESUME = 6, + RM_REVERSE_STEP_OVER = 7, RM_REVERSE_STEP_INTO = 8, + RM_REVERSE_STEP_OVER_LINE = 9, RM_REVERSE_STEP_INTO_LINE = 10, + RM_REVERSE_STEP_OUT = 11, RM_STEP_OVER_RANGE = 12, + RM_STEP_INTO_RANGE = 13, RM_REVERSE_STEP_OVER_RANGE = 14, + RM_REVERSE_STEP_INTO_RANGE = 15 +}; + +SYMBIANUTILS_EXPORT const char *serviceName(Services s); +SYMBIANUTILS_EXPORT Services serviceFromName(const char *); + +// Debug helpers +SYMBIANUTILS_EXPORT QString formatData(const QByteArray &a); +SYMBIANUTILS_EXPORT QString joinByteArrays(const QVector<QByteArray> &a, char sep = ','); + +// Context used in 'RunControl contextAdded' events and in reply +// to 'Processes start'. Could be thread or process. +struct SYMBIANUTILS_EXPORT RunControlContext { + enum Flags { + Container = 0x1, HasState = 0x2, CanSuspend = 0x4, + CanTerminate = 0x8 + }; + enum Type { Process, Thread }; + + RunControlContext(); + Type type() const; + unsigned processId() const; + unsigned threadId() const; + + void clear(); + bool parse(const JsonValue &v); + void format(QTextStream &str) const; + QString toString() const; + + // Helper for converting the TCF ids ("p12" or "p12.t34") + static Type typeFromTcfId(const QByteArray &id); + static unsigned processIdFromTcdfId(const QByteArray &id); + static unsigned threadIdFromTcdfId(const QByteArray &id); + static QByteArray tcfId(unsigned processId, unsigned threadId = 0); + + unsigned flags; + unsigned resumeFlags; + QByteArray id; // "p434.t699" + QByteArray osid; // Non-standard: Process or thread id + QByteArray parentId; // Parent process id of a thread. +}; + +// Module load information occuring with 'RunControl contextSuspended' events +struct SYMBIANUTILS_EXPORT ModuleLoadEventInfo { + ModuleLoadEventInfo(); + void clear(); + bool parse(const JsonValue &v); + void format(QTextStream &str) const; + + QByteArray name; + QByteArray file; + bool loaded; + quint64 codeAddress; + quint64 dataAddress; + bool requireResume; +}; + +// Breakpoint as supported by TcfTrk source June 2010 +// TODO: Add watchpoints,etc once they are implemented +struct SYMBIANUTILS_EXPORT Breakpoint { + enum Type { Software, Hardware, Auto }; + + explicit Breakpoint(quint64 loc = 0); + void setContextId(unsigned processId, unsigned threadId = 0); + QString toString() const; + + static QByteArray idFromLocation(quint64 loc); // Automagically determine from location + + Type type; + bool enabled; + int ignoreCount; + QVector<QByteArray> contextIds; // Process or thread ids. + QByteArray id; // Id of the breakpoint; + quint64 location; + unsigned size; + bool thumb; +}; + +SYMBIANUTILS_EXPORT JsonInputStream &operator<<(JsonInputStream &str, const Breakpoint &b); + +// Event hierarchy +class SYMBIANUTILS_EXPORT TcfTrkEvent { + Q_DISABLE_COPY(TcfTrkEvent) +public: + enum Type { None, + LocatorHello, + RunControlContextAdded, + RunControlContextRemoved, + RunControlSuspended, + RunControlBreakpointSuspended, + RunControlModuleLoadSuspended, + RunControlResumed + }; + + virtual ~TcfTrkEvent(); + + Type type() const; + virtual QString toString() const; + + static TcfTrkEvent *parseEvent(Services s, const QByteArray &name, const QVector<JsonValue> &val); + +protected: + explicit TcfTrkEvent(Type type = None); + +private: + const Type m_type; +}; + +// ServiceHello +class SYMBIANUTILS_EXPORT TcfTrkLocatorHelloEvent : public TcfTrkEvent { +public: + explicit TcfTrkLocatorHelloEvent(const QStringList &); + + const QStringList &services() { return m_services; } + virtual QString toString() const; + +private: + QStringList m_services; +}; + +// Base for events that just have one id as parameter +// (simple suspend) +class SYMBIANUTILS_EXPORT TcfTrkIdEvent : public TcfTrkEvent { +protected: + explicit TcfTrkIdEvent(Type t, const QByteArray &id); +public: + QByteArray id() const { return m_id; } + QString idString() const { return QString::fromUtf8(m_id); } + +private: + const QByteArray m_id; +}; + +// Base for events that just have some ids as parameter +// (context removed) +class SYMBIANUTILS_EXPORT TcfTrkIdsEvent : public TcfTrkEvent { +protected: + explicit TcfTrkIdsEvent(Type t, const QVector<QByteArray> &ids); + +public: + QVector<QByteArray> ids() const { return m_ids; } + QString joinedIdString(const char sep = ',') const; + +private: + const QVector<QByteArray> m_ids; +}; + +// RunControlContextAdded +class SYMBIANUTILS_EXPORT TcfTrkRunControlContextAddedEvent : public TcfTrkEvent { +public: + typedef QVector<RunControlContext> RunControlContexts; + + explicit TcfTrkRunControlContextAddedEvent(const RunControlContexts &c); + + const RunControlContexts &contexts() const { return m_contexts; } + virtual QString toString() const; + + static TcfTrkRunControlContextAddedEvent *parseEvent(const QVector<JsonValue> &val); + +private: + const RunControlContexts m_contexts; +}; + +// RunControlContextRemoved +class SYMBIANUTILS_EXPORT TcfTrkRunControlContextRemovedEvent : public TcfTrkIdsEvent { +public: + explicit TcfTrkRunControlContextRemovedEvent(const QVector<QByteArray> &id); + virtual QString toString() const; +}; + +// Simple RunControlContextSuspended (process/thread) +class SYMBIANUTILS_EXPORT TcfTrkRunControlContextSuspendedEvent : public TcfTrkIdEvent { +public: + enum Reason { BreakPoint, ModuleLoad, Crash, Other } ; + + explicit TcfTrkRunControlContextSuspendedEvent(const QByteArray &id, + const QByteArray &reason, + quint64 pc = 0); + virtual QString toString() const; + + quint64 pc() const { return m_pc; } + QByteArray reasonID() const { return m_reason; } + Reason reason() const; + +protected: + explicit TcfTrkRunControlContextSuspendedEvent(Type t, + const QByteArray &id, + const QByteArray &reason, + quint64 pc = 0); + void format(QTextStream &str) const; + +private: + const quint64 m_pc; + const QByteArray m_reason; +}; + +// RunControlContextSuspended due to module load +class SYMBIANUTILS_EXPORT TcfTrkRunControlModuleLoadContextSuspendedEvent : public TcfTrkRunControlContextSuspendedEvent { +public: + explicit TcfTrkRunControlModuleLoadContextSuspendedEvent(const QByteArray &id, + const QByteArray &reason, + quint64 pc, + const ModuleLoadEventInfo &mi); + + virtual QString toString() const; + const ModuleLoadEventInfo &info() const { return m_mi; } + +private: + const ModuleLoadEventInfo m_mi; +}; + +} // namespace tcftrk +#endif // TRCFTRKMESSAGE_H diff --git a/tools/runonphone/symbianutils/trkdevice.cpp b/tools/runonphone/symbianutils/trkdevice.cpp index bd24300..9039184 100644 --- a/tools/runonphone/symbianutils/trkdevice.cpp +++ b/tools/runonphone/symbianutils/trkdevice.cpp @@ -636,10 +636,11 @@ private: void readMessages(); QByteArray m_trkReadBuffer; + bool linkEstablishmentMode; }; ReaderThreadBase::ReaderThreadBase(const QSharedPointer<DeviceContext> &context) : - m_context(context) + m_context(context), linkEstablishmentMode(true) { static const int trkResultMetaId = qRegisterMetaType<trk::TrkResult>(); Q_UNUSED(trkResultMetaId) @@ -662,7 +663,7 @@ void ReaderThreadBase::readMessages() { TrkResult r; QByteArray rawData; - while (extractResult(&m_trkReadBuffer, m_context->serialFrame, &r, &rawData)) { + while (extractResult(&m_trkReadBuffer, m_context->serialFrame, &r, linkEstablishmentMode, &rawData)) { emit messageReceived(r, rawData); } } diff --git a/tools/runonphone/symbianutils/trkutils.cpp b/tools/runonphone/symbianutils/trkutils.cpp index 60e391e..d89da20 100644 --- a/tools/runonphone/symbianutils/trkutils.cpp +++ b/tools/runonphone/symbianutils/trkutils.cpp @@ -52,6 +52,25 @@ namespace trk { +Library::Library() : codeseg(0), dataseg(0), pid(0) +{ +} + +Library::Library(const TrkResult &result) : codeseg(0), dataseg(0), pid(0) +{ + if (result.data.size() < 20) { + qWarning("Invalid trk creation notification received."); + return; + } + + const char *data = result.data.constData(); + pid = extractInt(data + 2); + codeseg = extractInt(data + 10); + dataseg = extractInt(data + 14); + const uint len = extractShort(data + 18); + name = result.data.mid(20, len); +} + TrkAppVersion::TrkAppVersion() { reset(); @@ -77,11 +96,11 @@ void Session::reset() extended1TypeSize = 0; extended2TypeSize = 0; pid = 0; + mainTid = 0; tid = 0; codeseg = 0; dataseg = 0; - currentThread = 0; libraries.clear(); trkAppVersion.reset(); } @@ -143,6 +162,90 @@ QString Session::deviceDescription(unsigned verbose) const return msg.arg(formatTrkVersion(trkAppVersion)); } +QByteArray Session::gdbLibraryList() const +{ + const int count = libraries.size(); + QByteArray response = "l<library-list>"; + for (int i = 0; i != count; ++i) { + const trk::Library &lib = libraries.at(i); + response += "<library name=\""; + response += lib.name; + response += "\">"; + response += "<section address=\"0x"; + response += trk::hexNumber(lib.codeseg); + response += "\"/>"; + response += "<section address=\"0x"; + response += trk::hexNumber(lib.dataseg); + response += "\"/>"; + response += "<section address=\"0x"; + response += trk::hexNumber(lib.dataseg); + response += "\"/>"; + response += "</library>"; + } + response += "</library-list>"; + return response; +} + +QByteArray Session::gdbQsDllInfo(int start, int count) const +{ + // Happens with gdb 6.4.50.20060226-cvs / CodeSourcery. + // Never made it into FSF gdb that got qXfer:libraries:read instead. + // http://sourceware.org/ml/gdb/2007-05/msg00038.html + // Name=hexname,TextSeg=textaddr[,DataSeg=dataaddr] + const int libraryCount = libraries.size(); + const int end = count < 0 ? libraryCount : qMin(libraryCount, start + count); + QByteArray response(1, end == libraryCount ? 'l' : 'm'); + for (int i = start; i < end; ++i) { + if (i != start) + response += ';'; + const Library &lib = libraries.at(i); + response += "Name="; + response += lib.name.toHex(); + response += ",TextSeg="; + response += hexNumber(lib.codeseg); + response += ",DataSeg="; + response += hexNumber(lib.dataseg); + } + return response; +} + +QString Session::toString() const +{ + QString rc; + QTextStream str(&rc); + str << "Session: " << deviceDescription(false) << '\n' + << "pid: " << pid << "main thread: " << mainTid + << " current thread: " << tid << ' '; + str.setIntegerBase(16); + str << " code: 0x" << codeseg << " data: 0x" << dataseg << '\n'; + if (const int libCount = libraries.size()) { + str << "Libraries:\n"; + for (int i = 0; i < libCount; i++) + str << " #" << i << ' ' << libraries.at(i).name + << " code: 0x" << libraries.at(i).codeseg + << " data: 0x" << libraries.at(i).dataseg << '\n'; + } + if (const int moduleCount = modules.size()) { + str << "Modules:\n"; + for (int i = 0; i < moduleCount; i++) + str << " #" << i << ' ' << modules.at(i) << '\n'; + } + str.setIntegerBase(10); + if (!addressToBP.isEmpty()) { + typedef QHash<uint, uint>::const_iterator BP_ConstIterator; + str << "Breakpoints:\n"; + const BP_ConstIterator cend = addressToBP.constEnd(); + for (BP_ConstIterator it = addressToBP.constBegin(); it != cend; ++it) { + str.setIntegerBase(16); + str << " 0x" << it.key(); + str.setIntegerBase(10); + str << ' ' << it.value() << '\n'; + } + } + + return rc; +} + // -------------- QByteArray decode7d(const QByteArray &ba) @@ -188,18 +291,15 @@ SYMBIANUTILS_EXPORT QString stringFromArray(const QByteArray &ba, int maxLen) QString ascii; const int size = maxLen == -1 ? ba.size() : qMin(ba.size(), maxLen); for (int i = 0; i < size; ++i) { - //if (i == 5 || i == ba.size() - 2) - // str += " "; - int c = byte(ba.at(i)); - str += QString("%1 ").arg(c, 2, 16, QChar('0')); - if (i >= 8 && i < ba.size() - 2) - ascii += QChar(c).isPrint() ? QChar(c) : QChar('.'); + const int c = byte(ba.at(i)); + str += QString::fromAscii("%1 ").arg(c, 2, 16, QChar('0')); + ascii += QChar(c).isPrint() ? QChar(c) : QChar('.'); } if (size != ba.size()) { - str += "..."; - ascii += "..."; + str += QLatin1String("..."); + ascii += QLatin1String("..."); } - return str + " " + ascii; + return str + QLatin1String(" ") + ascii; } SYMBIANUTILS_EXPORT QByteArray hexNumber(uint n, int digits) @@ -299,20 +399,30 @@ ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame, ushort& mux) return firstDelimiterPos != -1 ? firstDelimiterPos : buffer.size(); } -bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByteArray *rawData) +bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, bool &linkEstablishmentMode, QByteArray *rawData) { result->clear(); if(rawData) rawData->clear(); - const ushort len = isValidTrkResult(*buffer, serialFrame, result->multiplex); - if (!len) - return false; + ushort len = isValidTrkResult(*buffer, serialFrame, result->multiplex); // handle receiving application output, which is not a regular command const int delimiterPos = serialFrame ? 4 : 0; + if (linkEstablishmentMode) { + //when "hot connecting" a device, we can receive partial frames. + //this code resyncs by discarding data until a TRK frame is found + while (buffer->length() > delimiterPos + && result->multiplex != MuxTextTrace + && !(result->multiplex == MuxTrk && buffer->at(delimiterPos) == 0x7e)) { + buffer->remove(0,1); + len = isValidTrkResult(*buffer, serialFrame, result->multiplex); + } + } + if (!len) + return false; if (buffer->at(delimiterPos) != 0x7e) { result->isDebugOutput = true; result->data = buffer->mid(delimiterPos, len); - *buffer->remove(0, delimiterPos + len); + buffer->remove(0, delimiterPos + len); return true; } // FIXME: what happens if the length contains 0xfe? @@ -320,7 +430,7 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt const QByteArray data = decode7d(buffer->mid(delimiterPos + 1, len - 2)); if(rawData) *rawData = data; - *buffer->remove(0, delimiterPos + len); + buffer->remove(0, delimiterPos + len); byte sum = 0; for (int i = 0; i < data.size(); ++i) // 3 = 2 * 0xfe + sum @@ -335,6 +445,7 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt //logMessage(" CURR DATA: " << stringFromArray(data)); //QByteArray prefix = "READ BUF: "; //logMessage((prefix + "HEADER: " + stringFromArray(header).toLatin1()).data()); + linkEstablishmentMode = false; //have received a good TRK packet, therefore in sync return true; } diff --git a/tools/runonphone/symbianutils/trkutils.h b/tools/runonphone/symbianutils/trkutils.h index e571028..d365f0d 100644 --- a/tools/runonphone/symbianutils/trkutils.h +++ b/tools/runonphone/symbianutils/trkutils.h @@ -56,6 +56,7 @@ QT_END_NAMESPACE namespace trk { typedef unsigned char byte; +struct TrkResult; enum Command { //meta commands @@ -135,6 +136,20 @@ enum Command { TrkDSPositionFile = 0xd4 }; +enum DSOSItemTypes { + kDSOSProcessItem = 0x0000, + kDSOSThreadItem = 0x0001, + kDSOSDLLItem = 0x0002, + kDSOSAppItem = 0x0003, + kDSOSMemBlockItem = 0x0004, + kDSOSProcAttachItem = 0x0005, + kDSOSThreadAttachItem = 0x0006, + kDSOSProcAttach2Item = 0x0007, + kDSOSProcRunItem = 0x0008, + /* 0x0009 - 0x00ff reserved for general expansion */ + /* 0x0100 - 0xffff available for target-specific use */ +}; + enum SerialMultiplexor { MuxRaw = 0, MuxTextTrace = 0x0102, @@ -164,11 +179,14 @@ SYMBIANUTILS_EXPORT void appendString(QByteArray *ba, const QByteArray &str, End struct SYMBIANUTILS_EXPORT Library { - Library() {} + Library(); + explicit Library(const TrkResult &r); QByteArray name; uint codeseg; uint dataseg; + //library addresses are valid for a given process (depending on memory model, they might be loaded at the same address in all processes or not) + uint pid; }; struct SYMBIANUTILS_EXPORT TrkAppVersion @@ -187,6 +205,11 @@ struct SYMBIANUTILS_EXPORT Session Session(); void reset(); QString deviceDescription(unsigned verbose) const; + QString toString() const; + // Answer to qXfer::libraries + QByteArray gdbLibraryList() const; + // Answer to qsDllInfo, can be sent chunk-wise. + QByteArray gdbQsDllInfo(int start = 0, int count = -1) const; // Trk feedback byte cpuMajor; @@ -198,6 +221,7 @@ struct SYMBIANUTILS_EXPORT Session byte extended2TypeSize; TrkAppVersion trkAppVersion; uint pid; + uint mainTid; uint tid; uint codeseg; uint dataseg; @@ -206,12 +230,7 @@ struct SYMBIANUTILS_EXPORT Session typedef QList<Library> Libraries; Libraries libraries; - typedef uint Thread; - typedef QList<Thread> Threads; - Threads threads; - // Gdb request - uint currentThread; QStringList modules; }; diff --git a/tools/runonphone/symbianutils/trkutils_p.h b/tools/runonphone/symbianutils/trkutils_p.h index 12b0109..05df83a 100644 --- a/tools/runonphone/symbianutils/trkutils_p.h +++ b/tools/runonphone/symbianutils/trkutils_p.h @@ -55,7 +55,7 @@ void appendDateTime(QByteArray *ba, QDateTime dateTime, Endianness = TargetByteO // returns a QByteArray containing optionally // the serial frame [0x01 0x90 <len>] and 0x7e encoded7d(ba) 0x7e QByteArray frameMessage(byte command, byte token, const QByteArray &data, bool serialFrame); -bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *r, QByteArray *rawData = 0); +bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *r, bool& linkEstablishmentMode, QByteArray *rawData = 0); } // namespace trk diff --git a/tools/runonphone/trksignalhandler.cpp b/tools/runonphone/trksignalhandler.cpp index 2abf91f..898692a 100644 --- a/tools/runonphone/trksignalhandler.cpp +++ b/tools/runonphone/trksignalhandler.cpp @@ -42,7 +42,19 @@ #include <QDebug> #include <QCoreApplication> #include <QObject> +#include <QFile> +#include <QDir> #include "trksignalhandler.h" +#include "trkutils.h" + +class CrashState +{ +public: + uint pid; + uint tid; + QString crashReason; + uint crashPC; +}; class TrkSignalHandlerPrivate { @@ -55,6 +67,14 @@ private: QTextStream err; int loglevel; int lastpercent; + QList<trk::Library> libraries; + QFile crashlogtextfile; + QFile crashstackfile; + QList<CrashState> queuedCrashes; + QList<int> dyingThreads; + QString crashlogPath; + bool crashlog; + bool terminateNeeded; }; void TrkSignalHandler::copyingStarted() @@ -108,6 +128,7 @@ void TrkSignalHandler::startingApplication() void TrkSignalHandler::applicationRunning(uint pid) { + Q_UNUSED(pid) if (d->loglevel > 0) d->out << "Running..." << endl; } @@ -155,13 +176,163 @@ void TrkSignalHandler::setLogLevel(int level) d->loglevel = level; } +void TrkSignalHandler::setCrashLogging(bool enabled) +{ + d->crashlog = enabled; +} + +void TrkSignalHandler::setCrashLogPath(QString path) +{ + d->crashlogPath = path; +} + +bool lessThanCodeBase(const trk::Library& cs1, const trk::Library& cs2) +{ + return cs1.codeseg < cs2.codeseg; +} + void TrkSignalHandler::stopped(uint pc, uint pid, uint tid, const QString& reason) { d->err << "STOPPED: pc=" << hex << pc << " pid=" << pid << " tid=" << tid << dec << " - " << reason << endl; - // if it was a breakpoint, then we could continue with "emit resume(pid, tid);" - // since we have set no breakpoints, it will be a just in time debug of a panic / exception - emit terminate(); + + if (d->crashlog) { + CrashState cs; + cs.pid = pid; + cs.tid = tid; + cs.crashPC = pc; + cs.crashReason = reason; + + if (d->dyingThreads.contains(tid)) { + if(d->queuedCrashes.isEmpty()) + emit terminate(); + else + d->terminateNeeded = true; + } else { + d->queuedCrashes.append(cs); + d->dyingThreads.append(tid); + + if (d->queuedCrashes.count() == 1) { + d->err << "Fetching registers and stack..." << endl; + emit getRegistersAndCallStack(pid, tid); + } + } + } + else + emit terminate(); +} + +void TrkSignalHandler::registersAndCallStackReadComplete(const QList<uint>& registers, const QByteArray& stack) +{ + CrashState cs = d->queuedCrashes.first(); + QDir dir(d->crashlogPath); + d->crashlogtextfile.setFileName(dir.filePath(QString("d_exc_%1.txt").arg(cs.tid))); + d->crashstackfile.setFileName(dir.filePath(QString("d_exc_%1.stk").arg(cs.tid))); + d->crashlogtextfile.open(QIODevice::WriteOnly); + QTextStream crashlog(&d->crashlogtextfile); + + crashlog << "-----------------------------------------------------------------------------" << endl; + crashlog << "EKA2 USER CRASH LOG" << endl; + crashlog << "Thread Name: " << QString("ProcessID-%1::ThreadID-%2").arg(cs.pid).arg(cs.tid) << endl; + crashlog << "Thread ID: " << cs.tid << endl; + //this is wrong, but TRK doesn't make stack limit available so we lie + crashlog << QString("User Stack %1-%2").arg(registers.at(13), 8, 16, QChar('0')).arg(registers.at(13) + stack.size(), 8, 16, QChar('0')) << endl; + //this is also wrong, but TRK doesn't give all information for exceptions + crashlog << QString("Panic: PC=%1 ").arg(cs.crashPC, 8, 16, QChar('0')) << cs.crashReason << endl; + crashlog << endl; + crashlog << "USER REGISTERS:" << endl; + crashlog << QString("CPSR=%1").arg(registers.at(16), 8, 16, QChar('0')) << endl; + for (int i=0;i<16;i+=4) { + crashlog << QString("r%1=%2 %3 %4 %5") + .arg(i, 2, 10, QChar('0')) + .arg(registers.at(i), 8, 16, QChar('0')) + .arg(registers.at(i+1), 8, 16, QChar('0')) + .arg(registers.at(i+2), 8, 16, QChar('0')) + .arg(registers.at(i+3), 8, 16, QChar('0')) << endl; + } + crashlog << endl; + + //emit info for post mortem debug + qSort(d->libraries.begin(), d->libraries.end(), lessThanCodeBase); + d->err << "Code Segments:" << endl; + crashlog << "CODE SEGMENTS:" << endl; + for(int i=0; i<d->libraries.count(); i++) { + const trk::Library& seg = d->libraries.at(i); + if(seg.pid != cs.pid) + continue; + if (d->loglevel > 1) { + d->err << QString("Code: %1 Data: %2 Name: ") + .arg(seg.codeseg, 8, 16, QChar('0')) + .arg(seg.dataseg, 8, 16, QChar('0')) + << seg.name << endl; + } + + //produce fake code segment end addresses since we don't get the real ones from TRK + uint end; + if (i+1 < d->libraries.count()) + end = d->libraries.at(i+1).codeseg - 1; + else + end = 0xFFFFFFFF; + + crashlog << QString("%1-%2 ") + .arg(seg.codeseg, 8, 16, QChar('0')) + .arg(end, 8, 16, QChar('0')) + << seg.name << endl; + } + + d->crashlogtextfile.close(); + + if (d->loglevel > 1) { + d->err << "Registers:" << endl; + for (int i=0;i<16;i++) { + d->err << QString("R%1: %2 ").arg(i, 2, 10, QChar('0')).arg(registers.at(i), 8, 16, QChar('0')); + if (i % 4 == 3) + d->err << endl; + } + d->err << QString("CPSR: %1").arg(registers.at(16), 8, 16, QChar('0')) << endl; + + d->err << "Stack:" << endl; + uint sp = registers.at(13); + for(int i=0; i<stack.size(); i+=16, sp+=16) { + d->err << QString("%1: ").arg(sp, 8, 16, QChar('0')); + d->err << trk::stringFromArray(stack.mid(i,16)); + d->err << endl; + } + } + d->crashstackfile.open(QIODevice::WriteOnly); + d->crashstackfile.write(stack); + d->crashstackfile.close(); + + if (d->loglevel > 0) + d->err << "Crash logs saved to " << d->crashlogtextfile.fileName() << " & " << d->crashstackfile.fileName() << endl; + + // resume the thread to allow Symbian OS to handle the panic normally. + // terminate when a non main thread is suspended reboots the phone (TRK bug) + emit resume(cs.pid, cs.tid); + + //fetch next crashed thread + d->queuedCrashes.removeFirst(); + if (d->queuedCrashes.count()) { + cs = d->queuedCrashes.first(); + d->err << "Fetching registers and stack..." << endl; + emit getRegistersAndCallStack(cs.pid, cs.tid); + } + else if (d->terminateNeeded) + emit terminate(); + +} + +void TrkSignalHandler::libraryLoaded(const trk::Library &lib) +{ + d->libraries << lib; +} + +void TrkSignalHandler::libraryUnloaded(const trk::Library &lib) +{ + for (QList<trk::Library>::iterator i = d->libraries.begin(); i != d->libraries.end(); i++) { + if((*i).name == lib.name && (*i).pid == lib.pid) + i = d->libraries.erase(i); + } } void TrkSignalHandler::timeout() @@ -174,7 +345,8 @@ TrkSignalHandlerPrivate::TrkSignalHandlerPrivate() : out(stdout), err(stderr), loglevel(0), - lastpercent(0) + lastpercent(0), + terminateNeeded(false) { } diff --git a/tools/runonphone/trksignalhandler.h b/tools/runonphone/trksignalhandler.h index d31e46f..bfe2c3e 100644 --- a/tools/runonphone/trksignalhandler.h +++ b/tools/runonphone/trksignalhandler.h @@ -43,6 +43,7 @@ #define TRKSIGNALHANDLER_H #include <QObject> #include <QString> +#include "symbianutils/trkutils.h" class TrkSignalHandlerPrivate; class TrkSignalHandler : public QObject @@ -66,13 +67,20 @@ public slots: void stateChanged(int); void stopped(uint pc, uint pid, uint tid, const QString& reason); void timeout(); + void libraryLoaded(const trk::Library &lib); + void libraryUnloaded(const trk::Library &lib); + void registersAndCallStackReadComplete(const QList<uint>& registers, const QByteArray& stack); signals: void resume(uint pid, uint tid); + void stop(uint pid, uint tid); void terminate(); + void getRegistersAndCallStack(uint pid, uint tid); public: TrkSignalHandler(); ~TrkSignalHandler(); void setLogLevel(int); + void setCrashLogging(bool); + void setCrashLogPath(QString); private: TrkSignalHandlerPrivate *d; }; |