summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/src/deployment/deployment.qdoc7
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc11
-rw-r--r--mkspecs/features/moc.prf2
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.cpp2
-rw-r--r--src/3rdparty/s60/eiksoftkeyimage.h17
-rw-r--r--src/corelib/codecs/qsimplecodec.cpp2
-rw-r--r--src/corelib/codecs/qtextcodec.cpp46
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp3
-rw-r--r--src/gui/image/qicon.cpp17
-rw-r--r--src/gui/image/qimagereader.cpp28
-rw-r--r--src/gui/image/qpixmapfilter.cpp17
-rw-r--r--src/gui/itemviews/qlistview.cpp2
-rw-r--r--src/gui/kernel/qapplication_s60.cpp11
-rw-r--r--src/gui/kernel/qapplication_win.cpp28
-rw-r--r--src/gui/kernel/qwidget.cpp2
-rw-r--r--src/gui/kernel/qwidget_p.h5
-rw-r--r--src/gui/kernel/qwidget_s60.cpp2
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp3
-rw-r--r--src/gui/painting/qpainter.cpp23
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp11
-rw-r--r--src/gui/text/qfont.cpp5
-rw-r--r--src/gui/text/qfontengine_s60.cpp2
-rw-r--r--src/gui/widgets/qlinecontrol.cpp2
-rw-r--r--src/opengl/qgl.cpp9
-rw-r--r--src/opengl/qgl_mac.mm2
-rw-r--r--src/opengl/qgl_p.h4
-rw-r--r--src/opengl/qglpixelbuffer_x11.cpp6
-rw-r--r--src/opengl/qglpixmapfilter.cpp1
-rw-r--r--src/qt3support/dialogs/q3filedialog.cpp40
-rw-r--r--src/qt3support/itemviews/q3iconview.cpp13
-rw-r--r--src/qt3support/itemviews/q3listview.cpp3
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp37
-rw-r--r--src/sql/drivers/sqlite/qsql_sqlite.cpp47
-rw-r--r--src/sql/kernel/qsqldatabase.cpp1
-rw-r--r--tests/auto/qabstractitemview/tst_qabstractitemview.cpp11
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp2
-rw-r--r--tests/auto/qimagereader/tst_qimagereader.cpp29
-rw-r--r--tests/auto/qlineedit/tst_qlineedit.cpp28
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp86
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp20
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp46
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp11
-rw-r--r--tests/benchmarks/benchmarks.pro52
-rw-r--r--tests/benchmarks/corelib/corelib.pro6
-rw-r--r--tests/benchmarks/corelib/io/io.pro9
-rw-r--r--tests/benchmarks/corelib/io/qdir/qdir.pro (renamed from tests/benchmarks/qdir/qdir.pro)0
-rw-r--r--tests/benchmarks/corelib/io/qdir/tst_qdir.cpp (renamed from tests/benchmarks/qdir/tst_qdir.cpp)0
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/main.cpp (renamed from tests/benchmarks/qdiriterator/main.cpp)0
-rwxr-xr-xtests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro (renamed from tests/benchmarks/qdiriterator/qdiriterator.pro)0
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp (renamed from tests/benchmarks/qdiriterator/qfilesystemiterator.cpp)0
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h (renamed from tests/benchmarks/qdiriterator/qfilesystemiterator.h)0
-rw-r--r--tests/benchmarks/corelib/io/qfile/main.cpp (renamed from tests/benchmarks/qfile/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/io/qfile/qfile.pro (renamed from tests/benchmarks/qfile/qfile.pro)0
-rw-r--r--tests/benchmarks/corelib/io/qfileinfo/main.cpp (renamed from tests/benchmarks/qfileinfo/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro (renamed from tests/benchmarks/qfileinfo/qfileinfo.pro)0
-rw-r--r--tests/benchmarks/corelib/io/qiodevice/main.cpp (renamed from tests/benchmarks/qiodevice/main.cpp)0
-rwxr-xr-xtests/benchmarks/corelib/io/qiodevice/qiodevice.pro (renamed from tests/benchmarks/qiodevice/qiodevice.pro)0
-rw-r--r--tests/benchmarks/corelib/io/qtemporaryfile/main.cpp (renamed from tests/benchmarks/qtemporaryfile/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro (renamed from tests/benchmarks/qtemporaryfile/qtemporaryfile.pro)0
-rw-r--r--tests/benchmarks/corelib/kernel/events/events.pro (renamed from tests/benchmarks/events/events.pro)0
-rw-r--r--tests/benchmarks/corelib/kernel/events/main.cpp (renamed from tests/benchmarks/events/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/kernel/kernel.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/qmetaobject/main.cpp (renamed from tests/benchmarks/qmetaobject/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro (renamed from tests/benchmarks/qmetaobject/qmetaobject.pro)0
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/main.cpp (renamed from tests/benchmarks/qobject/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/object.cpp (renamed from tests/benchmarks/qobject/object.cpp)0
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/object.h (renamed from tests/benchmarks/qobject/object.h)0
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/qobject.pro (renamed from tests/benchmarks/qobject/qobject.pro)0
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/qvariant.pro (renamed from tests/benchmarks/qvariant/qvariant.pro)0
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp (renamed from tests/benchmarks/qvariant/tst_qvariant.cpp)0
-rw-r--r--tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro (renamed from tests/benchmarks/qthreadstorage/qthreadstorage.pro)0
-rw-r--r--tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp (renamed from tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp)0
-rw-r--r--tests/benchmarks/corelib/thread/thread.pro3
-rw-r--r--tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro (renamed from tests/benchmarks/containers-associative/containers-associative.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/containers-associative/main.cpp (renamed from tests/benchmarks/containers-associative/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro (renamed from tests/benchmarks/containers-sequential/containers-sequential.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/main.cpp (renamed from tests/benchmarks/containers-sequential/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qbytearray/main.cpp (renamed from tests/benchmarks/qbytearray/main.cpp)0
-rwxr-xr-xtests/benchmarks/corelib/tools/qbytearray/qbytearray.pro (renamed from tests/benchmarks/qbytearray/qbytearray.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/qrect/main.cpp (renamed from tests/benchmarks/qrect/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qrect/qrect.pro (renamed from tests/benchmarks/qrect/qrect.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/qregexp/main.cpp (renamed from tests/benchmarks/qregexp/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qregexp/qregexp.pro (renamed from tests/benchmarks/qregexp/qregexp.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/qstring/main.cpp (renamed from tests/benchmarks/qstring/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qstring/qstring.pro (renamed from tests/benchmarks/qstring/qstring.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/qstring/utf-8.txt (renamed from tests/benchmarks/qstring/utf-8.txt)0
-rw-r--r--tests/benchmarks/corelib/tools/qstringbuilder/main.cpp (renamed from tests/benchmarks/qstringbuilder/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro (renamed from tests/benchmarks/qstringbuilder/qstringbuilder.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/qstringlist/.gitignore (renamed from tests/benchmarks/qstringlist/.gitignore)0
-rw-r--r--tests/benchmarks/corelib/tools/qstringlist/main.cpp (renamed from tests/benchmarks/qstringlist/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro (renamed from tests/benchmarks/qstringlist/qstringlist.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/tools.pro10
-rw-r--r--tests/benchmarks/gui/animation/animation.pro2
-rw-r--r--tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp (renamed from tests/benchmarks/qanimation/dummyanimation.cpp)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/dummyanimation.h (renamed from tests/benchmarks/qanimation/dummyanimation.h)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/dummyobject.cpp (renamed from tests/benchmarks/qanimation/dummyobject.cpp)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/dummyobject.h (renamed from tests/benchmarks/qanimation/dummyobject.h)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/main.cpp (renamed from tests/benchmarks/qanimation/main.cpp)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/qanimation.pro (renamed from tests/benchmarks/qanimation/qanimation.pro)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/rectanimation.cpp (renamed from tests/benchmarks/qanimation/rectanimation.cpp)0
-rw-r--r--tests/benchmarks/gui/animation/qanimation/rectanimation.h (renamed from tests/benchmarks/qanimation/rectanimation.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/graphicsview.pro7
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro (renamed from tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp (renamed from tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro (renamed from tests/benchmarks/qgraphicsitem/qgraphicsitem.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp (renamed from tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro (renamed from tests/benchmarks/qgraphicsscene/qgraphicsscene.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp (renamed from tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug)bin863805 -> 863805 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h (renamed from tests/benchmarks/qgraphicsview/chiptester/chip.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png)bin1456 -> 1456 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png (renamed from tests/benchmarks/qgraphicsview/chiptester/qt4logo.png)bin48333 -> 48333 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png)bin1754 -> 1754 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png)bin1732 -> 1732 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png)bin1622 -> 1622 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png)bin1601 -> 1601 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp (renamed from tests/benchmarks/qgraphicsview/chiptester/chip.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.h)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.pri)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc (renamed from tests/benchmarks/qgraphicsview/chiptester/images.qrc)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png)bin48333 -> 48333 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png (renamed from tests/benchmarks/qgraphicsview/images/designer.png)bin4205 -> 4205 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg (renamed from tests/benchmarks/qgraphicsview/images/wine-big.jpeg)bin12249 -> 12249 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg (renamed from tests/benchmarks/qgraphicsview/images/wine.jpeg)bin2265 -> 2265 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro (renamed from tests/benchmarks/qgraphicsview/qgraphicsview.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc (renamed from tests/benchmarks/qgraphicsview/qgraphicsview.qrc)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/random.data (renamed from tests/benchmarks/qgraphicsview/random.data)bin800 -> 800 bytes
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp (renamed from tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro (renamed from tests/benchmarks/qgraphicswidget/qgraphicswidget.pro)0
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp (renamed from tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp)0
-rw-r--r--tests/benchmarks/gui/gui.pro11
-rw-r--r--tests/benchmarks/gui/image/blendbench/blendbench.pro (renamed from tests/benchmarks/blendbench/blendbench.pro)0
-rw-r--r--tests/benchmarks/gui/image/blendbench/main.cpp (renamed from tests/benchmarks/blendbench/main.cpp)0
-rw-r--r--tests/benchmarks/gui/image/image.pro6
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp (renamed from tests/benchmarks/qimagereader/images/16bpp.bmp)bin153654 -> 153654 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp (renamed from tests/benchmarks/qimagereader/images/4bpp-rle.bmp)bin23662 -> 23662 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg (renamed from tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg)bin3699 -> 3699 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png (renamed from tests/benchmarks/qimagereader/images/YCbCr_cmyk.png)bin230 -> 230 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg (renamed from tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg)bin2045 -> 2045 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/away.png (renamed from tests/benchmarks/qimagereader/images/away.png)bin753 -> 753 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/ball.mng (renamed from tests/benchmarks/qimagereader/images/ball.mng)bin34394 -> 34394 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/bat1.gif (renamed from tests/benchmarks/qimagereader/images/bat1.gif)bin953 -> 953 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/bat2.gif (renamed from tests/benchmarks/qimagereader/images/bat2.gif)bin980 -> 980 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/beavis.jpg (renamed from tests/benchmarks/qimagereader/images/beavis.jpg)bin20688 -> 20688 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/black.png (renamed from tests/benchmarks/qimagereader/images/black.png)bin697 -> 697 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/black.xpm (renamed from tests/benchmarks/qimagereader/images/black.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/colorful.bmp (renamed from tests/benchmarks/qimagereader/images/colorful.bmp)bin65002 -> 65002 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm (renamed from tests/benchmarks/qimagereader/images/corrupt-colors.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif (renamed from tests/benchmarks/qimagereader/images/corrupt-data.tif)bin8590 -> 8590 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm (renamed from tests/benchmarks/qimagereader/images/corrupt-pixels.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp (renamed from tests/benchmarks/qimagereader/images/corrupt.bmp)bin116 -> 116 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.gif (renamed from tests/benchmarks/qimagereader/images/corrupt.gif)bin2608 -> 2608 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg (renamed from tests/benchmarks/qimagereader/images/corrupt.jpg)bin18 -> 18 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.mng (renamed from tests/benchmarks/qimagereader/images/corrupt.mng)bin183 -> 183 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.png (renamed from tests/benchmarks/qimagereader/images/corrupt.png)bin95 -> 95 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm (renamed from tests/benchmarks/qimagereader/images/corrupt.xbm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp (renamed from tests/benchmarks/qimagereader/images/crash-signed-char.bmp)bin45748 -> 45748 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/earth.gif (renamed from tests/benchmarks/qimagereader/images/earth.gif)bin51712 -> 51712 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/fire.mng (renamed from tests/benchmarks/qimagereader/images/fire.mng)bin44430 -> 44430 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/font.bmp (renamed from tests/benchmarks/qimagereader/images/font.bmp)bin1026 -> 1026 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/gnus.xbm (renamed from tests/benchmarks/qimagereader/images/gnus.xbm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/image.pbm (renamed from tests/benchmarks/qimagereader/images/image.pbm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/image.pgm (renamed from tests/benchmarks/qimagereader/images/image.pgm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/image.png (renamed from tests/benchmarks/qimagereader/images/image.png)bin549 -> 549 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/image.ppm (renamed from tests/benchmarks/qimagereader/images/image.ppm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/kollada-noext (renamed from tests/benchmarks/qimagereader/images/kollada-noext)bin13907 -> 13907 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/kollada.png (renamed from tests/benchmarks/qimagereader/images/kollada.png)bin13907 -> 13907 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/marble.xpm (renamed from tests/benchmarks/qimagereader/images/marble.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm (renamed from tests/benchmarks/qimagereader/images/namedcolors.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp (renamed from tests/benchmarks/qimagereader/images/negativeheight.bmp)bin24630 -> 24630 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp (renamed from tests/benchmarks/qimagereader/images/noclearcode.bmp)bin326 -> 326 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif (renamed from tests/benchmarks/qimagereader/images/noclearcode.gif)bin130 -> 130 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm (renamed from tests/benchmarks/qimagereader/images/nontransparent.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png (renamed from tests/benchmarks/qimagereader/images/pngwithcompressedtext.png)bin757 -> 757 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png (renamed from tests/benchmarks/qimagereader/images/pngwithtext.png)bin796 -> 796 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif)bin4784 -> 4784 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif)bin26690 -> 26690 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif)bin160384 -> 160384 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif)bin160388 -> 160388 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif)bin161370 -> 161370 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif)bin14728 -> 14728 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/runners.ppm (renamed from tests/benchmarks/qimagereader/images/runners.ppm)bin960016 -> 960016 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/task210380.jpg (renamed from tests/benchmarks/qimagereader/images/task210380.jpg)bin975535 -> 975535 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/teapot.ppm (renamed from tests/benchmarks/qimagereader/images/teapot.ppm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/test.ppm (renamed from tests/benchmarks/qimagereader/images/test.ppm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/test.xpm (renamed from tests/benchmarks/qimagereader/images/test.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/transparent.xpm (renamed from tests/benchmarks/qimagereader/images/transparent.xpm)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/trolltech.gif (renamed from tests/benchmarks/qimagereader/images/trolltech.gif)bin42629 -> 42629 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/tst7.bmp (renamed from tests/benchmarks/qimagereader/images/tst7.bmp)bin582 -> 582 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/images/tst7.png (renamed from tests/benchmarks/qimagereader/images/tst7.png)bin167 -> 167 bytes
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro (renamed from tests/benchmarks/qimagereader/qimagereader.pro)0
-rw-r--r--tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp (renamed from tests/benchmarks/qimagereader/tst_qimagereader.cpp)0
-rw-r--r--tests/benchmarks/gui/image/qpixmap/qpixmap.pro (renamed from tests/benchmarks/qpixmap/qpixmap.pro)0
-rw-r--r--tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp (renamed from tests/benchmarks/qpixmap/tst_qpixmap.cpp)0
-rw-r--r--tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro (renamed from tests/benchmarks/qpixmapcache/qpixmapcache.pro)0
-rw-r--r--tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp (renamed from tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp)0
-rw-r--r--tests/benchmarks/gui/itemviews/itemviews.pro3
-rw-r--r--tests/benchmarks/gui/itemviews/qtableview/qtableview.pro (renamed from tests/benchmarks/qtableview/qtableview.pro)0
-rw-r--r--tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp (renamed from tests/benchmarks/qtableview/tst_qtableview.cpp)0
-rw-r--r--tests/benchmarks/gui/kernel/kernel.pro4
-rw-r--r--tests/benchmarks/gui/kernel/qapplication/main.cpp (renamed from tests/benchmarks/qapplication/main.cpp)0
-rw-r--r--tests/benchmarks/gui/kernel/qapplication/qapplication.pro (renamed from tests/benchmarks/qapplication/qapplication.pro)0
-rw-r--r--tests/benchmarks/gui/kernel/qwidget/qwidget.pro (renamed from tests/benchmarks/qwidget/qwidget.pro)0
-rw-r--r--tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp (renamed from tests/benchmarks/qwidget/tst_qwidget.cpp)0
-rw-r--r--tests/benchmarks/gui/math3d/math3d.pro4
-rw-r--r--tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro (renamed from tests/benchmarks/qmatrix4x4/qmatrix4x4.pro)0
-rw-r--r--tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp (renamed from tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp)0
-rw-r--r--tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro (renamed from tests/benchmarks/qquaternion/qquaternion.pro)0
-rw-r--r--tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp (renamed from tests/benchmarks/qquaternion/tst_qquaternion.cpp)0
-rw-r--r--tests/benchmarks/gui/painting/painting.pro5
-rw-r--r--tests/benchmarks/gui/painting/qpainter/qpainter.pro (renamed from tests/benchmarks/qpainter/qpainter.pro)0
-rw-r--r--tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp (renamed from tests/benchmarks/qpainter/tst_qpainter.cpp)0
-rw-r--r--tests/benchmarks/gui/painting/qregion/main.cpp (renamed from tests/benchmarks/qregion/main.cpp)0
-rw-r--r--tests/benchmarks/gui/painting/qregion/qregion.pro (renamed from tests/benchmarks/qregion/qregion.pro)0
-rw-r--r--tests/benchmarks/gui/painting/qtransform/qtransform.pro (renamed from tests/benchmarks/qtransform/qtransform.pro)0
-rw-r--r--tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp (renamed from tests/benchmarks/qtransform/tst_qtransform.cpp)0
-rw-r--r--tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp (renamed from tests/benchmarks/qstylesheetstyle/main.cpp)0
-rw-r--r--tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro (renamed from tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro)0
-rw-r--r--tests/benchmarks/gui/styles/styles.pro3
-rw-r--r--tests/benchmarks/gui/text/qfontmetrics/main.cpp (renamed from tests/benchmarks/qfontmetrics/main.cpp)0
-rw-r--r--tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro (renamed from tests/benchmarks/qfontmetrics/qfontmetrics.pro)0
-rw-r--r--tests/benchmarks/gui/text/qtext/bidi.txt (renamed from tests/benchmarks/qtext/bidi.txt)0
-rw-r--r--tests/benchmarks/gui/text/qtext/main.cpp (renamed from tests/benchmarks/qtext/main.cpp)0
-rw-r--r--tests/benchmarks/gui/text/qtext/qtext.pro (renamed from tests/benchmarks/qtext/qtext.pro)0
-rw-r--r--tests/benchmarks/gui/text/text.pro4
-rw-r--r--tests/benchmarks/network/access/access.pro4
-rw-r--r--tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp (renamed from tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp)2
-rw-r--r--tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro (renamed from tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro)0
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro (renamed from tests/benchmarks/qnetworkreply/qnetworkreply.pro)0
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp (renamed from tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp)2
-rw-r--r--tests/benchmarks/network/kernel/kernel.pro3
-rw-r--r--tests/benchmarks/network/kernel/qhostinfo/main.cpp (renamed from tests/benchmarks/qhostinfo/main.cpp)0
-rwxr-xr-xtests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro (renamed from tests/benchmarks/qhostinfo/qhostinfo.pro)0
-rw-r--r--tests/benchmarks/network/network.pro5
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro (renamed from tests/benchmarks/qtcpserver/qtcpserver.pro)0
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp (renamed from tests/benchmarks/qtcpserver/tst_qtcpserver.cpp)2
-rw-r--r--tests/benchmarks/network/socket/socket.pro3
-rw-r--r--tests/benchmarks/qtestlib-simple/main.cpp117
-rw-r--r--tests/benchmarks/qtestlib-simple/qtestlib-simple.pro8
-rw-r--r--tests/benchmarks/qtwidgets/advanced.ui319
-rw-r--r--tests/benchmarks/qtwidgets/icons/big.pngbin1323 -> 0 bytes
-rw-r--r--tests/benchmarks/qtwidgets/icons/folder.pngbin4069 -> 0 bytes
-rw-r--r--tests/benchmarks/qtwidgets/icons/icon.bmpbin246 -> 0 bytes
-rw-r--r--tests/benchmarks/qtwidgets/icons/icon.pngbin344 -> 0 bytes
-rw-r--r--tests/benchmarks/qtwidgets/mainwindow.cpp313
-rw-r--r--tests/benchmarks/qtwidgets/mainwindow.h80
-rw-r--r--tests/benchmarks/qtwidgets/qtstyles.qrc8
-rw-r--r--tests/benchmarks/qtwidgets/qtwidgets.pro9
-rw-r--r--tests/benchmarks/qtwidgets/standard.ui1207
-rw-r--r--tests/benchmarks/qtwidgets/system.ui658
-rw-r--r--tests/benchmarks/qtwidgets/tst_qtwidgets.cpp67
-rw-r--r--tests/benchmarks/script/qscriptclass/qscriptclass.pro (renamed from tests/benchmarks/qscriptclass/qscriptclass.pro)0
-rw-r--r--tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp (renamed from tests/benchmarks/qscriptclass/tst_qscriptclass.cpp)0
-rw-r--r--tests/benchmarks/script/qscriptengine/qscriptengine.pro (renamed from tests/benchmarks/qscriptengine/qscriptengine.pro)0
-rw-r--r--tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp (renamed from tests/benchmarks/qscriptengine/tst_qscriptengine.cpp)0
-rw-r--r--tests/benchmarks/script/qscriptvalue/qscriptvalue.pro (renamed from tests/benchmarks/qscriptvalue/qscriptvalue.pro)0
-rw-r--r--tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp (renamed from tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp)0
-rw-r--r--tests/benchmarks/script/script.pro5
-rw-r--r--tests/benchmarks/svg/qsvgrenderer/data/tiger.svg (renamed from tests/benchmarks/qsvgrenderer/data/tiger.svg)0
-rw-r--r--tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro (renamed from tests/benchmarks/qsvgrenderer/qsvgrenderer.pro)0
-rw-r--r--tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc (renamed from tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc)0
-rw-r--r--tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp (renamed from tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp)0
-rw-r--r--tests/benchmarks/svg/svg.pro3
-rw-r--r--tests/tests.pro3
-rw-r--r--tools/runonphone/main.cpp4
-rw-r--r--tools/runonphone/runonphone.pro4
-rw-r--r--tools/runonphone/symbianutils/bluetoothlistener.cpp (renamed from tools/runonphone/trk/bluetoothlistener.cpp)2
-rw-r--r--tools/runonphone/symbianutils/bluetoothlistener.h (renamed from tools/runonphone/trk/bluetoothlistener.h)4
-rw-r--r--tools/runonphone/symbianutils/bluetoothlistener_gui.cpp (renamed from tools/runonphone/trk/bluetoothlistener_gui.cpp)6
-rw-r--r--tools/runonphone/symbianutils/bluetoothlistener_gui.h (renamed from tools/runonphone/trk/bluetoothlistener_gui.h)8
-rw-r--r--tools/runonphone/symbianutils/callback.h (renamed from tools/runonphone/trk/callback.h)2
-rw-r--r--tools/runonphone/symbianutils/communicationstarter.cpp (renamed from tools/runonphone/trk/communicationstarter.cpp)21
-rw-r--r--tools/runonphone/symbianutils/communicationstarter.h (renamed from tools/runonphone/trk/communicationstarter.h)10
-rw-r--r--tools/runonphone/symbianutils/launcher.cpp (renamed from tools/runonphone/trk/launcher.cpp)34
-rw-r--r--tools/runonphone/symbianutils/launcher.h (renamed from tools/runonphone/trk/launcher.h)2
-rw-r--r--tools/runonphone/symbianutils/symbiandevicemanager.cpp331
-rw-r--r--tools/runonphone/symbianutils/symbiandevicemanager.h145
-rw-r--r--tools/runonphone/symbianutils/symbianutils.pri (renamed from tools/runonphone/trk/trk.pri)10
-rw-r--r--tools/runonphone/symbianutils/symbianutils_global.h55
-rw-r--r--tools/runonphone/symbianutils/trkdevice.cpp (renamed from tools/runonphone/trk/trkdevice.cpp)47
-rw-r--r--tools/runonphone/symbianutils/trkdevice.h (renamed from tools/runonphone/trk/trkdevice.h)9
-rw-r--r--tools/runonphone/symbianutils/trkutils.cpp (renamed from tools/runonphone/trk/trkutils.cpp)106
-rw-r--r--tools/runonphone/symbianutils/trkutils.h (renamed from tools/runonphone/trk/trkutils.h)45
-rw-r--r--tools/runonphone/symbianutils/trkutils_p.h62
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp16
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h1
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertymanager.cpp82
301 files changed, 1394 insertions, 3209 deletions
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index ecd6b11..bf0bc74 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -1557,7 +1557,12 @@
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 58
If everything compiled and linked without any errors, we are now ready to create
- an application installation package (\c wiggly_installer.sis):
+ an application installation package (\c wiggly_installer.sis).
+
+ If you haven't done so already, download the latest release of the Smart Installer
+ from \l{http://get.qt.nokia.com/nokiasmartinstaller/}, and install it on top of the Qt package
+
+ Then use this command to create the installer sis package:
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 59
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index 94075f5..5cebee3 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -127,7 +127,8 @@
\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 sis \o Create signed \c .sis file for project.
- \row \o \c installer_sis \o Create signed smart installer \c .sis file for project.
+ \row \o \c installer_sis \o Create signed \l{Smart Installer}{smart installer}
+ \c .sis file for project.
Smart installer will attempt to download
missing dependencies in addition to
just installing the application.
@@ -141,6 +142,14 @@
To work on your project in Carbide, simply import the \c .pro file
by right clicking on the project explorer and executing "Import...".
+ \section2 Smart Installer
+
+ The Smart Installer makes sure that deployed applications have all the Qt dependencies
+ they need to run on a device.
+
+ Download the latest release of the Smart Installer from \l{http://get.qt.nokia.com/nokiasmartinstaller/},
+ and install it on top of the Qt package.
+
\section1 Installing your own applications
To install your own applications on hardware, you need a signed \c .sis file.
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index 42ce1bc..e4b7dae 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -97,7 +97,7 @@ equals(MOC_DIR, .) {
}
#auto depend on moc
-unix:!no_mocdepend {
+unix:!symbian:!no_mocdepend {
moc_source.depends += $$first(QMAKE_MOC)
moc_header.depends += $$first(QMAKE_MOC)
!contains(TARGET, moc) { #auto build moc
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
index f3e3c3a..5fbff58 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
@@ -207,7 +207,7 @@ QString generate_uid(const QString& target)
return tmp;
}
- unsigned long hash = 5381;
+ quint32 hash = 5381;
int c;
for (int i = 0; i < target.size(); ++i) {
diff --git a/src/3rdparty/s60/eiksoftkeyimage.h b/src/3rdparty/s60/eiksoftkeyimage.h
index 84f6108a..a658421 100644
--- a/src/3rdparty/s60/eiksoftkeyimage.h
+++ b/src/3rdparty/s60/eiksoftkeyimage.h
@@ -39,23 +39,6 @@
**
****************************************************************************/
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Changes cba button's label to image.
-*
-*/
-
#ifndef EIKSOFTKEYIMAGE_H
#define EIKSOFTKEYIMAGE_H
diff --git a/src/corelib/codecs/qsimplecodec.cpp b/src/corelib/codecs/qsimplecodec.cpp
index 445565a..4cc7912 100644
--- a/src/corelib/codecs/qsimplecodec.cpp
+++ b/src/corelib/codecs/qsimplecodec.cpp
@@ -681,7 +681,7 @@ QByteArray QSimpleTextCodec::convertFromUnicode(const QChar *in, int length, Con
int u;
const QChar* ucp = in;
unsigned char* rp = (unsigned char *)r.data();
- const unsigned char* rmp = (const unsigned char *)reverseMap->data();
+ const unsigned char* rmp = (const unsigned char *)reverseMap->constData();
int rmsize = (int) reverseMap->size();
while(i--)
{
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index b63a82e..ff40af5 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -79,7 +79,7 @@
# endif
#endif // QT_NO_CODECS
#include "qlocale.h"
-#include "private/qmutexpool_p.h"
+#include "qmutex.h"
#include <stdlib.h>
#include <ctype.h>
@@ -659,13 +659,13 @@ static void setupLocaleMapper()
#endif
}
-
-static void setup()
-{
#ifndef QT_NO_THREAD
- QMutexLocker locker(QMutexPool::globalInstanceGet(&all));
+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, textCodecsMutex, (QMutex::Recursive));
#endif
+// textCodecsMutex need to be locked to enter this function
+static void setup()
+{
if (all)
return;
@@ -903,8 +903,6 @@ QTextCodec::ConverterState::~ConverterState()
*/
/*!
- \nonreentrant
-
Constructs a QTextCodec, and gives it the highest precedence. The
QTextCodec should always be constructed on the heap (i.e. with \c
new). Qt takes ownership and will delete it when the application
@@ -912,6 +910,9 @@ QTextCodec::ConverterState::~ConverterState()
*/
QTextCodec::QTextCodec()
{
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
all->prepend(this);
}
@@ -929,8 +930,12 @@ QTextCodec::~QTextCodec()
if (!destroying_is_ok)
qWarning("QTextCodec::~QTextCodec: Called by application");
#endif
- if (all)
+ if (all) {
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
all->removeAll(this);
+ }
}
/*!
@@ -951,6 +956,9 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
if (name.isEmpty())
return 0;
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
for (int i = 0; i < all->size(); ++i) {
@@ -973,6 +981,9 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
*/
QTextCodec* QTextCodec::codecForMib(int mib)
{
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
// Qt 3 used 1000 (mib for UCS2) as its identifier for the utf16 codec. Map
@@ -1001,6 +1012,9 @@ QTextCodec* QTextCodec::codecForMib(int mib)
*/
QList<QByteArray> QTextCodec::availableCodecs()
{
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
QList<QByteArray> codecs;
@@ -1008,6 +1022,11 @@ QList<QByteArray> QTextCodec::availableCodecs()
codecs += all->at(i)->name();
codecs += all->at(i)->aliases();
}
+
+#ifndef QT_NO_THREAD
+ locker.unlock();
+#endif
+
#ifndef QT_NO_TEXTCODECPLUGIN
QFactoryLoader *l = loader();
QStringList keys = l->keys();
@@ -1031,11 +1050,19 @@ QList<QByteArray> QTextCodec::availableCodecs()
*/
QList<int> QTextCodec::availableMibs()
{
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
QList<int> codecs;
for (int i = 0; i < all->size(); ++i)
codecs += all->at(i)->mibEnum();
+
+#ifndef QT_NO_THREAD
+ locker.unlock();
+#endif
+
#ifndef QT_NO_TEXTCODECPLUGIN
QFactoryLoader *l = loader();
QStringList keys = l->keys();
@@ -1082,6 +1109,9 @@ QTextCodec* QTextCodec::codecForLocale()
if (localeMapper)
return localeMapper;
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(textCodecsMutex());
+#endif
setup();
return localeMapper;
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index b4e19d1..39c41c4 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1392,7 +1392,8 @@ QGraphicsItem::~QGraphicsItem()
}
delete d_ptr->transformData;
- qt_dataStore()->data.remove(this);
+ if (QGraphicsItemCustomDataStore *dataStore = qt_dataStore())
+ dataStore->data.remove(this);
}
/*!
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index ac1d303..bf6eb8d 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -104,6 +104,15 @@ QT_BEGIN_NAMESPACE
static QBasicAtomicInt serialNumCounter = Q_BASIC_ATOMIC_INITIALIZER(1);
+static void qt_cleanup_icon_cache();
+typedef QCache<QString, QIcon> IconCache;
+Q_GLOBAL_STATIC_WITH_INITIALIZER(IconCache, qtIconCache, qAddPostRoutine(qt_cleanup_icon_cache))
+
+static void qt_cleanup_icon_cache()
+{
+ qtIconCache()->clear();
+}
+
QIconPrivate::QIconPrivate()
: engine(0), ref(1),
serialNum(serialNumCounter.fetchAndAddRelaxed(1)),
@@ -963,15 +972,13 @@ QString QIcon::themeName()
*/
QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback)
{
- static QCache <QString, QIcon> iconCache;
-
QIcon icon;
- if (iconCache.contains(name)) {
- icon = *iconCache.object(name);
+ if (qtIconCache()->contains(name)) {
+ icon = *qtIconCache()->object(name);
} else {
QIcon *cachedIcon = new QIcon(new QIconLoaderEngine(name));
- iconCache.insert(name, cachedIcon);
+ qtIconCache()->insert(name, cachedIcon);
icon = *cachedIcon;
}
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp
index c9e015c..9320cfc 100644
--- a/src/gui/image/qimagereader.cpp
+++ b/src/gui/image/qimagereader.cpp
@@ -263,25 +263,37 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device,
device->seek(pos);
}
- if (!handler && !testFormat.isEmpty() && autoDetectImageFormat && !ignoresFormatAndExtension) {
+ if (!handler && !testFormat.isEmpty() && !ignoresFormatAndExtension) {
// check if any plugin supports the format (they are not allowed to
// read from the device yet).
const qint64 pos = device ? device->pos() : 0;
- for (int i = 0; i < keys.size(); ++i) {
- if (i != suffixPluginIndex) {
- QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(keys.at(i)));
- if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
+
+ if (autoDetectImageFormat) {
+ for (int i = 0; i < keys.size(); ++i) {
+ if (i != suffixPluginIndex) {
+ QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(keys.at(i)));
+ if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
#ifdef QIMAGEREADER_DEBUG
- qDebug() << "QImageReader::createReadHandler: the" << keys.at(i) << "plugin can read this format";
+ qDebug() << "QImageReader::createReadHandler: the" << keys.at(i) << "plugin can read this format";
#endif
- handler = plugin->create(device, testFormat);
- break;
+ handler = plugin->create(device, testFormat);
+ break;
+ }
}
}
+ } else {
+ QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(QLatin1String(testFormat)));
+ if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
+#ifdef QIMAGEREADER_DEBUG
+ qDebug() << "QImageReader::createReadHandler: the" << testFormat << "plugin can read this format";
+#endif
+ handler = plugin->create(device, testFormat);
+ }
}
if (device && !device->isSequential())
device->seek(pos);
}
+
#endif // QT_NO_LIBRARY
// if we don't have a handler yet, check if we have built-in support for
diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp
index 37a6a18..2792e45 100644
--- a/src/gui/image/qpixmapfilter.cpp
+++ b/src/gui/image/qpixmapfilter.cpp
@@ -422,6 +422,9 @@ void QPixmapConvolutionFilter::draw(QPainter *painter, const QPointF &p, const Q
if(d->kernelWidth<=0 || d->kernelHeight <= 0)
return;
+ if (src.isNull())
+ return;
+
QPixmapFilter *filter = painter->paintEngine() && painter->paintEngine()->isExtended() ?
static_cast<QPaintEngineEx *>(painter->paintEngine())->pixmapFilter(type(), this) : 0;
QPixmapConvolutionFilter *convolutionFilter = static_cast<QPixmapConvolutionFilter*>(filter);
@@ -710,7 +713,8 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp
radius *= qreal(0.5);
Q_ASSERT(img.format() == QImage::Format_ARGB32_Premultiplied
- || img.format() == QImage::Format_RGB32);
+ || img.format() == QImage::Format_RGB32
+ || img.format() == QImage::Format_Indexed8);
// choose the alpha such that pixels at radius distance from a fully
// saturated pixel will have an alpha component of no greater than
@@ -902,6 +906,9 @@ void QPixmapBlurFilter::draw(QPainter *painter, const QPointF &p, const QPixmap
if (!painter->isActive())
return;
+ if (src.isNull())
+ return;
+
QRectF srcRect = rect;
if (srcRect.isNull())
srcRect = src.rect();
@@ -1082,6 +1089,10 @@ void QPixmapColorizeFilter::setStrength(qreal strength)
void QPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const
{
Q_D(const QPixmapColorizeFilter);
+
+ if (src.isNull())
+ return;
+
QPixmapFilter *filter = painter->paintEngine() && painter->paintEngine()->isExtended() ?
static_cast<QPaintEngineEx *>(painter->paintEngine())->pixmapFilter(type(), this) : 0;
QPixmapColorizeFilter *colorizeFilter = static_cast<QPixmapColorizeFilter*>(filter);
@@ -1312,6 +1323,10 @@ void QPixmapDropShadowFilter::draw(QPainter *p,
const QRectF &src) const
{
Q_D(const QPixmapDropShadowFilter);
+
+ if (px.isNull())
+ return;
+
QPixmapFilter *filter = p->paintEngine() && p->paintEngine()->isExtended() ?
static_cast<QPaintEngineEx *>(p->paintEngine())->pixmapFilter(type(), this) : 0;
QPixmapDropShadowFilter *dropShadowFilter = static_cast<QPixmapDropShadowFilter*>(filter);
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index 19b1e8c..b2def39 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -2160,7 +2160,7 @@ void QListModeViewBase::scrollContentsBy(int dx, int dy, bool scrollElasticBand)
} else {
if (flowPositions.isEmpty())
return;
- const int max = flowPositions.count() - 1;
+ const int max = scrollValueMap.count() - 1;
if (vertical && flow() == QListView::TopToBottom && dy != 0) {
int currentValue = qBound(0, verticalValue, max);
int previousValue = qBound(0, currentValue + dy, max);
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 4a137ee..bf3ad71 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -809,12 +809,15 @@ TCoeInputCapabilities QSymbianControl::InputCapabilities() const
void QSymbianControl::Draw(const TRect& controlRect) const
{
// Set flag to avoid calling DrawNow in window surface
- QWExtra *extra = qwidget->d_func()->extraData();
- if (extra && !extra->inExpose) {
- extra->inExpose = true;
+ QWidget *window = qwidget->window();
+ Q_ASSERT(window);
+ QTLWExtra *topExtra = window->d_func()->maybeTopData();
+ Q_ASSERT(topExtra);
+ if (!topExtra->inExpose) {
+ topExtra->inExpose = true;
QRect exposeRect = qt_TRect2QRect(controlRect);
qwidget->d_func()->syncBackingStore(exposeRect);
- extra->inExpose = false;
+ topExtra->inExpose = false;
}
QWindowSurface *surface = qwidget->windowSurface();
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 3355272..0a4869b 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -928,7 +928,11 @@ const QString qt_reg_winclass(QWidget *w) // register window class
uint style;
bool icon;
QString cname;
- if (flags & Qt::MSWindowsOwnDC) {
+ if (qt_widget_private(w)->isGLWidget) {
+ cname = QLatin1String("QGLWidget");
+ style = CS_DBLCLKS;
+ icon = true;
+ } else if (flags & Qt::MSWindowsOwnDC) {
cname = QLatin1String("QWidgetOwnDC");
style = CS_DBLCLKS;
#ifndef Q_WS_WINCE
@@ -1021,7 +1025,7 @@ const QString qt_reg_winclass(QWidget *w) // register window class
}
wc.hCursor = 0;
#ifndef Q_WS_WINCE
- wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
+ wc.hbrBackground = qt_widget_private(w)->isGLWidget ? 0 : (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
#else
wc.hbrBackground = 0;
#endif
@@ -3616,13 +3620,19 @@ bool QETWidget::translatePaintEvent(const MSG &msg)
return true;
setAttribute(Qt::WA_PendingUpdate, false);
- const QRegion dirtyInBackingStore(qt_dirtyRegion(this));
- // Make sure the invalidated region contains the region we're about to repaint.
- // BeginPaint will set the clip to the invalidated region and it is impossible
- // to enlarge it afterwards (only shrink it). Using GetDCEx is not suffient
- // as it may return an invalid context (especially on Windows Vista).
- if (!dirtyInBackingStore.isEmpty())
- InvalidateRgn(internalWinId(), dirtyInBackingStore.handle(), false);
+
+ if (d_func()->isGLWidget) {
+ if (d_func()->usesDoubleBufferedGLContext)
+ InvalidateRect(internalWinId(), 0, false);
+ } else {
+ const QRegion dirtyInBackingStore(qt_dirtyRegion(this));
+ // Make sure the invalidated region contains the region we're about to repaint.
+ // BeginPaint will set the clip to the invalidated region and it is impossible
+ // to enlarge it afterwards (only shrink it). Using GetDCEx is not suffient
+ // as it may return an invalid context (especially on Windows Vista).
+ if (!dirtyInBackingStore.isEmpty())
+ InvalidateRgn(internalWinId(), dirtyInBackingStore.handle(), false);
+ }
PAINTSTRUCT ps;
d_func()->hd = BeginPaint(internalWinId(), &ps);
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index c072d9d..2a19d23 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -192,6 +192,7 @@ QWidgetPrivate::QWidgetPrivate(int version)
, inDirtyList(0)
, isScrolled(0)
, isMoved(0)
+ , isGLWidget(0)
, usesDoubleBufferedGLContext(0)
#if defined(Q_WS_X11)
, picture(0)
@@ -200,7 +201,6 @@ QWidgetPrivate::QWidgetPrivate(int version)
, nativeGesturePanEnabled(0)
#elif defined(Q_WS_MAC)
, needWindowChange(0)
- , isGLWidget(0)
, window_event(0)
, qd_hd(0)
#endif
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index b1eb3c3..b421d30 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -173,6 +173,8 @@ struct QTLWExtra {
#ifndef QT_NO_QWS_MANAGER
QWSManager *qwsManager;
#endif
+#elif defined(Q_OS_SYMBIAN)
+ uint inExpose : 1; // Prevents drawing recursion
#endif
};
@@ -229,7 +231,6 @@ struct QWExtra {
#endif
#elif defined(Q_OS_SYMBIAN) // <----------------------------------------------------- Symbian
uint activated : 1; // RWindowBase::Activated has been called
- uint inExpose : 1; // Prevents drawing recursion
/**
* Defines the behaviour of QSymbianControl::Draw.
@@ -682,6 +683,7 @@ public:
uint inDirtyList : 1;
uint isScrolled : 1;
uint isMoved : 1;
+ uint isGLWidget : 1;
uint usesDoubleBufferedGLContext : 1;
// *************************** Platform specific ************************************
@@ -713,7 +715,6 @@ public:
#elif defined(Q_WS_MAC) // <--------------------------------------------------------- MAC
// This is new stuff
uint needWindowChange : 1;
- uint isGLWidget : 1;
// Each wiget keeps a list of all its child and grandchild OpenGL widgets.
// This list is used to update the gl context whenever a parent and a granparent
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index a844430..ebd289c 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -878,6 +878,7 @@ void QWidgetPrivate::registerDropSite(bool /* on */)
void QWidgetPrivate::createTLSysExtra()
{
extra->topextra->backingStore = 0;
+ extra->topextra->inExpose = 0;
}
void QWidgetPrivate::deleteTLSysExtra()
@@ -891,7 +892,6 @@ void QWidgetPrivate::createSysExtra()
extra->activated = 0;
extra->nativePaintMode = QWExtra::Default;
extra->receiveNativePaintEvents = 0;
- extra->inExpose = 0;
}
void QWidgetPrivate::deleteSysExtra()
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp
index 147491e..da48fcb 100644
--- a/src/gui/painting/qpaintengine_x11.cpp
+++ b/src/gui/painting/qpaintengine_x11.cpp
@@ -1989,6 +1989,9 @@ void QX11PaintEngine::drawPixmap(const QRectF &r, const QPixmap &px, const QRect
}
XFillRectangle(d->dpy, d->hd, d->gc, x, y, sw, sh);
restore_clip = true;
+ } else if (mono_dst && !mono_src) {
+ QBitmap bitmap(pixmap);
+ XCopyArea(d->dpy, bitmap.handle(), d->hd, d->gc, sx, sy, sw, sh, x, y);
} else {
XCopyArea(d->dpy, pixmap.handle(), d->hd, d->gc, sx, sy, sw, sh, x, y);
}
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index bf12c6b..3bcaf8c 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -1986,12 +1986,25 @@ QPaintEngine *QPainter::paintEngine() const
endNativePainting().
Note that only the states the underlying paint engine changes will be reset
- to their respective default states. If, for example, the OpenGL polygon
- mode is changed by the user inside a beginNativePaint()/endNativePainting()
- block, it will not be reset to the default state by endNativePainting().
+ to their respective default states. The states we reset may change from
+ release to release. The following states are currently reset in the OpenGL
+ 2 engine:
- Here is an example that shows intermixing of painter commands
- and raw OpenGL commands:
+ \list
+ \i blending is disabled
+ \i the depth, stencil and scissor tests are disabled
+ \i the active texture unit is reset to 0
+ \i the depth mask, depth function and the clear depth are reset to their
+ default values
+ \i the stencil mask, stencil operation and stencil function are reset to
+ their default values
+ \i the current color is reset to solid white
+ \endlist
+
+ If, for example, the OpenGL polygon mode is changed by the user inside a
+ beginNativePaint()/endNativePainting() block, it will not be reset to the
+ default state by endNativePainting(). Here is an example that shows
+ intermixing of painter commands and raw OpenGL commands:
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 21
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index b41dc2c..6cbf3d9 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -145,12 +145,15 @@ QImage* QS60WindowSurface::buffer(const QWidget *widget)
void QS60WindowSurface::flush(QWidget *widget, const QRegion &region, const QPoint &)
{
- QWExtra *extra = widget->d_func()->extraData();
- if (extra && !extra->inExpose) {
- extra->inExpose = true; // Prevent DrawNow() from calling syncBackingStore() again
+ QWidget *window = widget->window();
+ Q_ASSERT(window);
+ QTLWExtra *topExtra = window->d_func()->maybeTopData();
+ Q_ASSERT(topExtra);
+ if (!topExtra->inExpose) {
+ topExtra->inExpose = true; // Prevent DrawNow() from calling syncBackingStore() again
TRect tr = qt_QRect2TRect(region.boundingRect());
widget->winId()->DrawNow(tr);
- extra->inExpose = false;
+ topExtra->inExpose = false;
}
}
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index bbd35f1..dd9e69e 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -629,8 +629,9 @@ QFontEngineData::~QFontEngineData()
Returns the name of the font within the underlying window system.
- Only on X11 when Qt was built without FontConfig support the XLFD (X Logical Font Description)
- is returned; otherwise an empty string.
+ On X11, this function will return an empty string if Qt is built with
+ FontConfig support; otherwise the XLFD (X Logical Font Description) is
+ returned.
Using the return value of this function is usually \e not \e
portable.
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index 9dd4af7..3ea084b 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -44,7 +44,7 @@
#include "qglobal.h"
#include <private/qapplication_p.h>
#include "qimage.h"
-#include "qt_s60_p.h"
+#include <private/qt_s60_p.h>
#include <e32base.h>
#include <e32std.h>
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index b0a64ea..db099e8 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -1371,6 +1371,8 @@ bool QLineControl::processEvent(QEvent* ev)
processInputMethodEvent(static_cast<QInputMethodEvent*>(ev)); break;
#ifndef QT_NO_SHORTCUT
case QEvent::ShortcutOverride:{
+ if (isReadOnly())
+ return false;
QKeyEvent* ke = static_cast<QKeyEvent*>(ev);
if (ke == QKeySequence::Copy
|| ke == QKeySequence::Paste
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index fce9fdb..0a89412 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -104,6 +104,10 @@ QT_BEGIN_NAMESPACE
QGLExtensionFuncs QGLContextPrivate::qt_extensionFuncs;
#endif
+#ifdef Q_WS_X11
+extern const QX11Info *qt_x11Info(const QPaintDevice *pd);
+#endif
+
struct QGLThreadContext {
QGLContext *context;
};
@@ -2350,7 +2354,10 @@ QGLTexture *QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target,
#if defined(Q_WS_X11)
// Try to use texture_from_pixmap
- if (pd->classId() == QPixmapData::X11Class && pd->pixelType() == QPixmapData::PixmapType) {
+ const QX11Info *xinfo = qt_x11Info(paintDevice);
+ if (pd->classId() == QPixmapData::X11Class && pd->pixelType() == QPixmapData::PixmapType
+ && xinfo && xinfo->screen() == pixmap.x11Info().screen())
+ {
texture = bindTextureFromNativePixmap(pd, key, options);
if (texture) {
texture->options |= QGLContext::MemoryManagedBindOption;
diff --git a/src/opengl/qgl_mac.mm b/src/opengl/qgl_mac.mm
index c01575b..4d7532e 100644
--- a/src/opengl/qgl_mac.mm
+++ b/src/opengl/qgl_mac.mm
@@ -951,8 +951,6 @@ void QGLWidgetPrivate::init(QGLContext *context, const QGLWidget *shareWidget)
break;
current = current->parentWidget();
}
-
- isGLWidget = 1;
}
bool QGLWidgetPrivate::renderCxPm(QPixmap*)
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 713b067..da0887e 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -179,7 +179,9 @@ public:
#if defined(Q_WS_X11) && defined(QT_OPENGL_ES)
, eglSurfaceWindowId(0)
#endif
- {}
+ {
+ isGLWidget = 1;
+ }
~QGLWidgetPrivate() {}
diff --git a/src/opengl/qglpixelbuffer_x11.cpp b/src/opengl/qglpixelbuffer_x11.cpp
index 5b34cbb..32a42a2 100644
--- a/src/opengl/qglpixelbuffer_x11.cpp
+++ b/src/opengl/qglpixelbuffer_x11.cpp
@@ -181,7 +181,11 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
qt_format_to_attrib_list(f, attribs);
- GLXFBConfig *configs = glXChooseFBConfig(X11->display, X11->defaultScreen, attribs, &num_configs);
+ int screen = X11->defaultScreen;
+ if (shareWidget)
+ screen = shareWidget->x11Info().screen();
+
+ GLXFBConfig *configs = glXChooseFBConfig(X11->display, screen, attribs, &num_configs);
if (configs && num_configs) {
int res;
glXGetFBConfigAttrib(X11->display, configs[0], GLX_LEVEL, &res);
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index 37bb7c0..d5a11d9 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -394,6 +394,7 @@ void QGLBlurTextureCache::insertBlurTextureInfo(const QPixmap &pixmap, QGLBlurTe
static bool hookAdded = false;
if (!hookAdded) {
QImagePixmapCleanupHooks::instance()->addPixmapDataDestructionHook(pixmapDestroyed);
+ QImagePixmapCleanupHooks::instance()->addPixmapDataModificationHook(pixmapDestroyed);
hookAdded = true;
}
diff --git a/src/qt3support/dialogs/q3filedialog.cpp b/src/qt3support/dialogs/q3filedialog.cpp
index 9b8e4d3..35f7890 100644
--- a/src/qt3support/dialogs/q3filedialog.cpp
+++ b/src/qt3support/dialogs/q3filedialog.cpp
@@ -475,9 +475,17 @@ static int sortFilesBy = (int)QDir::Name;
static bool sortAscending = true;
static bool detailViewMode = false;
-static Q3CleanupHandler<QPixmap> qfd_cleanup_pixmap;
static Q3CleanupHandler<QString> qfd_cleanup_string;
+static void qt_cleanup_fd_pixmaps();
+typedef QList<QPixmap *> FDPixmaps;
+Q_GLOBAL_STATIC_WITH_INITIALIZER(FDPixmaps, qfd_pixmaps, qAddPostRoutine(qt_cleanup_fd_pixmaps))
+
+static void qt_cleanup_fd_pixmaps()
+{
+ qDeleteAll(*qfd_pixmaps());
+}
+
static QString toRootIfNotExists( const QString &path )
{
if ( !path.isEmpty() )
@@ -533,37 +541,37 @@ static void makeVariables() {
qfd_cleanup_string.add(&workingDirectory);
openFolderIcon = new QPixmap((const char **)open_xpm);
- qfd_cleanup_pixmap.add(&openFolderIcon);
+ qfd_pixmaps()->append(openFolderIcon);
symLinkDirIcon = new QPixmap((const char **)link_dir_xpm);
- qfd_cleanup_pixmap.add(&symLinkDirIcon);
+ qfd_pixmaps()->append(symLinkDirIcon);
symLinkFileIcon = new QPixmap((const char **)link_file_xpm);
- qfd_cleanup_pixmap.add(&symLinkFileIcon);
+ qfd_pixmaps()->append(symLinkFileIcon);
fileIcon = new QPixmap((const char **)file_xpm);
- qfd_cleanup_pixmap.add(&fileIcon);
+ qfd_pixmaps()->append(fileIcon);
closedFolderIcon = new QPixmap((const char **)closed_xpm);
- qfd_cleanup_pixmap.add(&closedFolderIcon);
+ qfd_pixmaps()->append(closedFolderIcon);
detailViewIcon = new QPixmap((const char **)detailedview_xpm);
- qfd_cleanup_pixmap.add(&detailViewIcon);
+ qfd_pixmaps()->append(detailViewIcon);
multiColumnListViewIcon = new QPixmap((const char **)mclistview_xpm);
- qfd_cleanup_pixmap.add(&multiColumnListViewIcon);
+ qfd_pixmaps()->append(multiColumnListViewIcon);
cdToParentIcon = new QPixmap((const char **)cdtoparent_xpm);
- qfd_cleanup_pixmap.add(&cdToParentIcon);
+ qfd_pixmaps()->append(cdToParentIcon);
newFolderIcon = new QPixmap((const char **)newfolder_xpm);
- qfd_cleanup_pixmap.add(&newFolderIcon);
+ qfd_pixmaps()->append(newFolderIcon);
previewInfoViewIcon
= new QPixmap((const char **)previewinfoview_xpm);
- qfd_cleanup_pixmap.add(&previewInfoViewIcon);
+ qfd_pixmaps()->append(previewInfoViewIcon);
previewContentsViewIcon
= new QPixmap((const char **)previewcontentsview_xpm);
- qfd_cleanup_pixmap.add(&previewContentsViewIcon);
+ qfd_pixmaps()->append(previewContentsViewIcon);
startCopyIcon = new QPixmap((const char **)start_xpm);
- qfd_cleanup_pixmap.add(&startCopyIcon);
+ qfd_pixmaps()->append(startCopyIcon);
endCopyIcon = new QPixmap((const char **)end_xpm);
- qfd_cleanup_pixmap.add(&endCopyIcon);
+ qfd_pixmaps()->append(endCopyIcon);
goBackIcon = new QPixmap((const char **)back_xpm);
- qfd_cleanup_pixmap.add(&goBackIcon);
+ qfd_pixmaps()->append(goBackIcon);
fifteenTransparentPixels = new QPixmap(closedFolderIcon->width(), 1);
- qfd_cleanup_pixmap.add(&fifteenTransparentPixels);
+ qfd_pixmaps()->append(fifteenTransparentPixels);
QBitmap m(fifteenTransparentPixels->width(), 1);
m.fill(Qt::color0);
fifteenTransparentPixels->setMask(m);
diff --git a/src/qt3support/itemviews/q3iconview.cpp b/src/qt3support/itemviews/q3iconview.cpp
index 67c956e..683e3d6 100644
--- a/src/qt3support/itemviews/q3iconview.cpp
+++ b/src/qt3support/itemviews/q3iconview.cpp
@@ -132,14 +132,21 @@ static QPixmap *qiv_selection = 0;
#endif
static bool optimize_layout = false;
-static Q3CleanupHandler<QPixmap> qiv_cleanup_pixmap;
+static void qt_cleanup_iv_pixmaps();
+typedef QList<QPixmap *> IVPixmaps;
+Q_GLOBAL_STATIC_WITH_INITIALIZER(IVPixmaps, qiv_pixmaps, qAddPostRoutine(qt_cleanup_iv_pixmaps))
+
+static void qt_cleanup_iv_pixmaps()
+{
+ qDeleteAll(*qiv_pixmaps());
+}
static QPixmap *get_qiv_buffer_pixmap(const QSize &s)
{
if (!qiv_buffer_pixmap) {
qiv_buffer_pixmap = new QPixmap(s);
- qiv_cleanup_pixmap.add(&qiv_buffer_pixmap);
+ qiv_pixmaps()->append(qiv_buffer_pixmap);
return qiv_buffer_pixmap;
}
@@ -2580,7 +2587,7 @@ Q3IconView::Q3IconView(QWidget *parent, const char *name, Qt::WindowFlags f)
{
if (!unknown_icon) {
unknown_icon = new QPixmap((const char **)unknown_xpm);
- qiv_cleanup_pixmap.add(&unknown_icon);
+ qiv_pixmaps()->append(unknown_icon);
}
d = new Q3IconViewPrivate;
diff --git a/src/qt3support/itemviews/q3listview.cpp b/src/qt3support/itemviews/q3listview.cpp
index 2c15ad0..12dad84 100644
--- a/src/qt3support/itemviews/q3listview.cpp
+++ b/src/qt3support/itemviews/q3listview.cpp
@@ -70,9 +70,6 @@ QT_BEGIN_NAMESPACE
const int Unsorted = 16383;
-static Q3CleanupHandler<QBitmap> qlv_cleanup_bitmap;
-
-
struct Q3ListViewPrivate
{
// classes that are here to avoid polluting the global name space
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 2049a76..4d3663e 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -144,6 +144,7 @@ public:
QSqlRecord rInf;
QVector<QVariant> fieldCache;
+ QVector<wchar_t *> paramCache;
int fieldCacheIdx;
int disconnectCount;
bool hasSQLFetchScroll;
@@ -202,7 +203,7 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
*nativeCode = nativeCode_;
QString tmpstore;
#ifdef UNICODE
- tmpstore = QString((const QChar*)description_.data(), msgLen);
+ tmpstore = QString::fromWCharArray((const wchar_t*)description_, msgLen);
#else
tmpstore = QString::fromLocal8Bit((const char*)description_.data(), msgLen);
#endif
@@ -332,7 +333,7 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
} else {
colSize++; // make sure there is room for more than the 0 termination
if (unicode) {
- colSize *= 2; // a tiny bit faster, since it saves a SQLGetData() call
+ colSize *= sizeof(wchar_t); // a tiny bit faster, since it saves a SQLGetData() call
}
}
QVarLengthArray<char> buf(colSize);
@@ -353,9 +354,9 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
// contain the number of bytes returned - it contains the
// total number of bytes that CAN be fetched
// colSize-1: remove 0 termination when there is more data to fetch
- int rSize = (r == SQL_SUCCESS_WITH_INFO) ? (unicode ? colSize-2 : colSize-1) : lengthIndicator;
+ int rSize = (r == SQL_SUCCESS_WITH_INFO) ? (unicode ? colSize-sizeof(wchar_t) : colSize-1) : lengthIndicator;
if (unicode) {
- fieldVal += QString((const QChar*) buf.constData(), rSize / 2);
+ fieldVal += QString::fromWCharArray((wchar_t*)buf.constData(), rSize / sizeof(wchar_t));
} else {
fieldVal += QString::fromAscii(buf.constData(), rSize);
}
@@ -551,7 +552,7 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
}
#ifdef UNICODE
- QString qColName((const QChar*)colName, colNameLen);
+ QString qColName = QString::fromWCharArray((const wchar_t*)colName, colNameLen);
#else
QString qColName = QString::fromLocal8Bit((const char*)colName);
#endif
@@ -1270,9 +1271,12 @@ bool QODBCResult::exec()
// bind parameters - only positional binding allowed
QVector<QVariant>& values = boundValues();
+ QVector<wchar_t *> wcharstorage;
+
int i;
SQLRETURN r;
for (i = 0; i < values.count(); ++i) {
+ wcharstorage.append(NULL);
if (bindValueType(i) & QSql::Out)
values[i].detach();
const QVariant &val = values.at(i);
@@ -1435,13 +1439,14 @@ bool QODBCResult::exec()
#ifndef Q_ODBC_VERSION_2
if (d->unicode) {
QString str = val.toString();
- str.utf16();
+ int strSize = str.length() * sizeof(wchar_t);
if (*ind != SQL_NULL_DATA)
- *ind = str.length() * sizeof(QChar);
- int strSize = str.length() * sizeof(QChar);
+ *ind = strSize;
if (bindValueType(i) & QSql::Out) {
- QByteArray ba((char*)str.constData(), str.capacity() * sizeof(QChar));
+ wchar_t *temp=new wchar_t[str.capacity()*sizeof(wchar_t)];
+ str.toWCharArray(temp);
+ QByteArray ba((char*)temp, str.capacity() * sizeof(wchar_t));
r = SQLBindParameter(d->hStmt,
i + 1,
qParamType[(QFlag)(bindValueType(i)) & QSql::InOut],
@@ -1453,9 +1458,13 @@ bool QODBCResult::exec()
ba.size(),
ind);
tmpStorage.append(ba);
+ wcharstorage.replace(i,temp);
break;
}
+ wchar_t *temp=new wchar_t[(1+str.length())*sizeof(wchar_t)];
+ str.toWCharArray(temp);
+ temp[str.length()]=0;
r = SQLBindParameter(d->hStmt,
i + 1,
qParamType[(QFlag)(bindValueType(i)) & QSql::InOut],
@@ -1463,9 +1472,10 @@ bool QODBCResult::exec()
strSize > 254 ? SQL_WLONGVARCHAR : SQL_WVARCHAR,
strSize,
0,
- (void *)str.constData(),
+ (void *)temp,
strSize,
ind);
+ wcharstorage.replace(i,temp);
break;
}
else
@@ -1515,6 +1525,13 @@ bool QODBCResult::exec()
}
}
r = SQLExecute(d->hStmt);
+
+ for(int i=0;i<wcharstorage.size();i++)
+ {
+ if(wcharstorage.at(i))
+ delete [](wcharstorage.at(i));
+ }
+
if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) {
qWarning() << "QODBCResult::exec: Unable to execute statement:" << qODBCWarn(d);
setLastError(qMakeError(QCoreApplication::translate("QODBCResult",
diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp
index 9fff552..d3be304 100644
--- a/src/sql/drivers/sqlite/qsql_sqlite.cpp
+++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp
@@ -500,32 +500,6 @@ bool QSQLiteDriver::hasFeature(DriverFeature f) const
return false;
}
-static int qGetSqliteTimeout(QString opts)
-{
- enum { DefaultTimeout = 5000 };
-
- opts.remove(QLatin1Char(' '));
- foreach(QString option, opts.split(QLatin1Char(';'))) {
- if (option.startsWith(QLatin1String("QSQLITE_BUSY_TIMEOUT="))) {
- bool ok;
- int nt = option.mid(21).toInt(&ok);
- if (ok)
- return nt;
- }
- }
- return DefaultTimeout;
-}
-
-static int qGetSqliteOpenMode(QString opts)
-{
- opts.remove(QLatin1Char(' '));
- foreach(QString option, opts.split(QLatin1Char(';'))) {
- if (option == QLatin1String("QSQLITE_OPEN_READONLY"))
- return SQLITE_OPEN_READONLY;
- }
- return SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
-}
-
/*
SQLite dbs have no user name, passwords, hosts or ports.
just file names.
@@ -537,9 +511,26 @@ bool QSQLiteDriver::open(const QString & db, const QString &, const QString &, c
if (db.isEmpty())
return false;
+ bool sharedCache = false;
+ int openMode = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, timeOut=5000;
+ QStringList opts=QString(conOpts).remove(QLatin1Char(' ')).split(QLatin1Char(';'));
+ foreach(const QString &option, opts) {
+ if (option.startsWith(QLatin1String("QSQLITE_BUSY_TIMEOUT="))) {
+ bool ok;
+ int nt = option.mid(21).toInt(&ok);
+ if (ok)
+ timeOut = nt;
+ }
+ if (option == QLatin1String("QSQLITE_OPEN_READONLY"))
+ openMode = SQLITE_OPEN_READONLY;
+ if (option == QLatin1String("QSQLITE_ENABLE_SHARED_CACHE"))
+ sharedCache = true;
+ }
+
+ sqlite3_enable_shared_cache(sharedCache);
- if (sqlite3_open_v2(db.toUtf8().constData(), &d->access, qGetSqliteOpenMode(conOpts), NULL) == SQLITE_OK) {
- sqlite3_busy_timeout(d->access, qGetSqliteTimeout(conOpts));
+ if (sqlite3_open_v2(db.toUtf8().constData(), &d->access, openMode, NULL) == SQLITE_OK) {
+ sqlite3_busy_timeout(d->access, timeOut);
setOpen(true);
setOpenError(false);
return true;
diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp
index 031261d..1416ee3 100644
--- a/src/sql/kernel/qsqldatabase.cpp
+++ b/src/sql/kernel/qsqldatabase.cpp
@@ -1267,6 +1267,7 @@ QSqlRecord QSqlDatabase::record(const QString& tablename) const
\list
\i QSQLITE_BUSY_TIMEOUT
\i QSQLITE_OPEN_READONLY
+ \i QSQLITE_ENABLE_SHARED_CACHE
\endlist
\i
diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
index 504ceac..ea86c16 100644
--- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
@@ -1213,14 +1213,14 @@ void tst_QAbstractItemView::task250754_fontChange()
tree.setModel(m);
w.show();
- w.resize(150,150);
+ w.resize(150,240);
QTest::qWait(30);
QFont font = tree.font();
- font.setPointSize(5);
+ font.setPixelSize(10);
tree.setFont(font);
QTRY_VERIFY(!tree.verticalScrollBar()->isVisible());
- font.setPointSize(45);
+ font.setPixelSize(60);
tree.setFont(font);
//now with the huge items, the scrollbar must be visible
QTRY_VERIFY(tree.verticalScrollBar()->isVisible());
@@ -1444,7 +1444,10 @@ void tst_QAbstractItemView::QTBUG6407_extendedSelection()
for(int i = 0; i < 50; ++i)
view.addItem(QString::number(i));
- view.resize(200,200);
+ QFont font = view.font();
+ font.setPixelSize(10);
+ view.setFont(font);
+ view.resize(200,240);
view.show();
QApplication::setActiveWindow(&view);
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 7b54a3b..7c1b97e 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -90,6 +90,8 @@ Q_DECLARE_METATYPE(QRectF)
#define COMPARE_REGIONS QTRY_COMPARE
#endif
+static QGraphicsRectItem staticItem; //QTBUG-7629, we should not crash at exit.
+
static void sendMousePress(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton)
{
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress);
diff --git a/tests/auto/qimagereader/tst_qimagereader.cpp b/tests/auto/qimagereader/tst_qimagereader.cpp
index 121a8fa..99244c2 100644
--- a/tests/auto/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/qimagereader/tst_qimagereader.cpp
@@ -1633,6 +1633,35 @@ void tst_QImageReader::autoDetectImageFormat()
QVERIFY(reader.canRead());
QVERIFY(!reader.read().isNull());
}
+
+#ifdef QTEST_HAVE_JPEG
+ {
+ QImageReader io(prefix + "YCbCr_rgb.jpg");
+ io.setAutoDetectImageFormat(false);
+ // This should fail since no format string is given
+ QImage image;
+ QVERIFY(!io.read(&image));
+ }
+ {
+ QImageReader io(prefix + "YCbCr_rgb.jpg", "jpg");
+ io.setAutoDetectImageFormat(false);
+ QImage image;
+ QVERIFY(io.read(&image));
+ }
+#endif
+ {
+ QImageReader io(prefix + "tst7.png");
+ io.setAutoDetectImageFormat(false);
+ // This should fail since no format string is given
+ QImage image;
+ QVERIFY(!io.read(&image));
+ }
+ {
+ QImageReader io(prefix + "tst7.png", "png");
+ io.setAutoDetectImageFormat(false);
+ QImage image;
+ QVERIFY(io.read(&image));
+ }
}
void tst_QImageReader::fileNameProbing()
diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp
index 7283916..ca84b38 100644
--- a/tests/auto/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/qlineedit/tst_qlineedit.cpp
@@ -271,6 +271,7 @@ private slots:
void taskQTBUG_4401_enterKeyClearsPassword();
void taskQTBUG_4679_moveToStartEndOfBlock();
void taskQTBUG_4679_selectToStartEndOfBlock();
+ void taskQTBUG_7395_readOnlyShortcut();
protected slots:
#ifdef QT3_SUPPORT
@@ -3454,10 +3455,8 @@ void tst_QLineEdit::task210502_caseInsensitiveInlineCompletion()
completer.setCompletionMode(QCompleter::InlineCompletion);
lineEdit.setCompleter(&completer);
lineEdit.show();
-#ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(&lineEdit);
-#endif
+ QTest::qWaitForWindowShown(&lineEdit);
+ QApplication::setActiveWindow(&lineEdit);
lineEdit.setFocus();
QTRY_VERIFY(lineEdit.hasFocus());
QTest::keyPress(&lineEdit, 'a');
@@ -3638,5 +3637,26 @@ void tst_QLineEdit::taskQTBUG_4679_selectToStartEndOfBlock()
#endif // Q_OS_MAC
}
+void tst_QLineEdit::taskQTBUG_7395_readOnlyShortcut()
+{
+ //ReadOnly QLineEdit should not intercept shortcut.
+ QLineEdit le;
+ le.setReadOnly(true);
+
+ QAction action(QString::fromLatin1("hello"), &le);
+ action.setShortcut(QString::fromLatin1("p"));
+ QSignalSpy spy(&action, SIGNAL(triggered()));
+ le.addAction(&action);
+
+ le.show();
+ QTest::qWaitForWindowShown(&le);
+ QApplication::setActiveWindow(&le);
+ le.setFocus();
+ QTRY_VERIFY(le.hasFocus());
+
+ QTest::keyClick(0, Qt::Key_P);
+ QCOMPARE(spy.count(), 1);
+}
+
QTEST_MAIN(tst_QLineEdit)
#include "tst_qlineedit.moc"
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 7109213..d2181f8 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -606,9 +606,8 @@ void tst_QListView::indexAt()
view2.setWrapping(true);
// We really want to make sure it is shown, because the layout won't be known until it is shown
view2.show();
- for (int i = 0; i < 5 && !view2.m_shown; ++i) {
- QTest::qWait(500);
- }
+ QTest::qWaitForWindowShown(&view2);
+ QTRY_VERIFY(view2.m_shown);
QVERIFY(view2.m_index.isValid());
QVERIFY(view2.m_index.row() != 0);
@@ -760,7 +759,8 @@ void tst_QListView::hideFirstRow()
view.setUniformItemSizes(true);
view.setRowHidden(0,true);
view.show();
- QTest::qWait(100);
+ QTest::qWaitForWindowShown(&view);
+ QTest::qWait(10);
}
void tst_QListView::batchedMode()
@@ -778,10 +778,10 @@ void tst_QListView::batchedMode()
view.setBatchSize(2);
view.resize(200,400);
view.show();
-
-#if !defined(Q_OS_WINCE)
+ QTest::qWaitForWindowShown(&view);
QTest::qWait(100);
-#else
+
+#if defined(Q_OS_WINCE)
QTest::qWait(2000);
#endif
QBitArray ba;
@@ -1203,9 +1203,9 @@ void tst_QListView::scrollTo()
//we click the item
QPoint p = lv.visualRect(index).center();
QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p);
- //let's wait 1 second because the scrolling is delayed
- QTest::qWait(1000);
- QCOMPARE(lv.visualRect(index).y(),0);
+ //let's wait because the scrolling is delayed
+ QTest::qWait(QApplication::doubleClickInterval() + 150);
+ QTRY_COMPARE(lv.visualRect(index).y(),0);
//we scroll down. As the item is to tall for the view, it will disappear
QTest::keyClick(lv.viewport(), Qt::Key_Down, Qt::NoModifier);
@@ -1222,9 +1222,9 @@ void tst_QListView::scrollTo()
//we click the item
p = lv.visualRect(index).center();
QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p);
- //let's wait 1 second because the scrolling is delayed
- QTest::qWait(1000);
- QCOMPARE(lv.visualRect(index).x(),0);
+ //let's wait because the scrolling is delayed
+ QTest::qWait(QApplication::doubleClickInterval() + 150);
+ QTRY_COMPARE(lv.visualRect(index).x(),0);
//we scroll right. As the item is too wide for the view, it will disappear
QTest::keyClick(lv.viewport(), Qt::Key_Right, Qt::NoModifier);
@@ -1243,9 +1243,9 @@ void tst_QListView::scrollTo()
//we click the item
p = lv.visualRect(index).center();
QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p);
- //let's wait 1 second because the scrolling is delayed
- QTest::qWait(1000);
- QCOMPARE(lv.visualRect(index).y(),0);
+ //let's wait because the scrolling is delayed
+ QTest::qWait(QApplication::doubleClickInterval() + 150);
+ QTRY_COMPARE(lv.visualRect(index).y(),0);
//we scroll down. As the item is too tall for the view, it will partially disappear
QTest::keyClick(lv.viewport(), Qt::Key_Down, Qt::NoModifier);
@@ -1277,7 +1277,7 @@ void tst_QListView::scrollBarRanges()
for (int h = 30; h <= 210; ++h) {
lv.resize(250, h);
- QTest::qWait(100); // wait for the layout to be done
+ QApplication::processEvents(); // wait for the layout to be done
int visibleRowCount = lv.viewport()->size().height() / rowHeight;
int invisibleRowCount = rowCount - visibleRowCount;
QCOMPARE(lv.verticalScrollBar()->maximum(), invisibleRowCount);
@@ -1366,7 +1366,7 @@ void tst_QListView::scrollBarAsNeeded()
model.setStringList(list);
QApplication::processEvents();
- QTest::qWait(100);
+ QTest::qWait(50);
QStringList replacement;
for (i = 0; i < itemCount; ++i) {
@@ -1375,10 +1375,9 @@ void tst_QListView::scrollBarAsNeeded()
model.setStringList(replacement);
QApplication::processEvents();
- QTest::qWait(100);
- QCOMPARE(lv.horizontalScrollBar()->isVisible(), horizontalScrollBarVisible);
- QCOMPARE(lv.verticalScrollBar()->isVisible(), verticalScrollBarVisible);
+ QTRY_COMPARE(lv.horizontalScrollBar()->isVisible(), horizontalScrollBarVisible);
+ QTRY_COMPARE(lv.verticalScrollBar()->isVisible(), verticalScrollBarVisible);
}
}
@@ -1433,10 +1432,9 @@ void tst_QListView::wordWrap()
lv.setFixedSize(150, 150);
lv.show();
QApplication::processEvents();
- QTest::qWait(100);
- QCOMPARE(lv.horizontalScrollBar()->isVisible(), false);
- QCOMPARE(lv.verticalScrollBar()->isVisible(), true);
+ QTRY_COMPARE(lv.horizontalScrollBar()->isVisible(), false);
+ QTRY_COMPARE(lv.verticalScrollBar()->isVisible(), true);
}
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
@@ -1557,7 +1555,8 @@ void tst_QListView::task248430_crashWith0SizedItem()
QStringListModel model(QStringList() << QLatin1String("item1") << QString());
view.setModel(&model);
view.show();
- QTest::qWait(100);
+ QTest::qWaitForWindowShown(&view);
+ QTest::qWait(20);
}
void tst_QListView::task250446_scrollChanged()
@@ -1569,21 +1568,21 @@ void tst_QListView::task250446_scrollChanged()
QVERIFY(index.isValid());
view.setCurrentIndex(index);
view.show();
- QTest::qWait(100);
+ QTest::qWaitForWindowShown(&view);
const int scrollValue = view.verticalScrollBar()->maximum();
view.verticalScrollBar()->setValue(scrollValue);
QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
QCOMPARE(view.currentIndex(), index);
view.showMinimized();
- QTest::qWait(100);
- QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
- QCOMPARE(view.currentIndex(), index);
+ QTest::qWait(50);
+ QTRY_COMPARE(view.verticalScrollBar()->value(), scrollValue);
+ QTRY_COMPARE(view.currentIndex(), index);
view.showNormal();
- QTest::qWait(100);
- QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
- QCOMPARE(view.currentIndex(), index);
+ QTest::qWait(50);
+ QTRY_COMPARE(view.verticalScrollBar()->value(), scrollValue);
+ QTRY_COMPARE(view.currentIndex(), index);
}
void tst_QListView::task196118_visualRegionForSelection()
@@ -1699,7 +1698,7 @@ void tst_QListView::shiftSelectionWithNonUniformItemSizes()
view.setViewMode(QListView::IconMode);
view.setModel(&model);
view.show();
- QTest::qWait(30);
+ QTest::qWaitForWindowShown(&view);
// Verfify that item sizes are non-uniform
QVERIFY(view.sizeHintForIndex(model.index(0, 0)).height() > view.sizeHintForIndex(model.index(1, 0)).height());
@@ -1729,7 +1728,7 @@ void tst_QListView::shiftSelectionWithNonUniformItemSizes()
view.setViewMode(QListView::IconMode);
view.setModel(&model);
view.show();
- QTest::qWait(30);
+ QTest::qWaitForWindowShown(&view);
// Verfify that item sizes are non-uniform
QVERIFY(view.sizeHintForIndex(model.index(0, 0)).width() > view.sizeHintForIndex(model.index(1, 0)).width());
@@ -1789,7 +1788,6 @@ void tst_QListView::task262152_setModelColumnNavigate()
view.show();
QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
- QTest::qWait(30);
QTRY_COMPARE(static_cast<QWidget *>(&view), QApplication::activeWindow());
QTest::keyClick(&view, Qt::Key_Down);
QTest::qWait(30);
@@ -1834,6 +1832,24 @@ void tst_QListView::taskQTBUG_2233_scrollHiddenItems()
QVERIFY(index.isValid());
QCOMPARE(index.row(), 2 * i + 1);
}
+
+ //QTBUG-7929 should not crash
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ QScrollBar *bar = view.flow() == QListView::TopToBottom
+ ? view.verticalScrollBar() : view.horizontalScrollBar();
+
+ int nbVisibleItem = rowCount / 2 - bar->maximum();
+
+ bar->setValue(bar->maximum());
+ QApplication::processEvents();
+ for (int i = rowCount; i > rowCount / 2; i--) {
+ view.setRowHidden(i, true);
+ }
+ QApplication::processEvents();
+ QTest::qWait(50);
+ QCOMPARE(bar->value(), bar->maximum());
+ QCOMPARE(bar->maximum(), rowCount/4 - nbVisibleItem);
}
void tst_QListView::taskQTBUG_633_changeModelData()
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index 5b61da2..fe084fa 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -202,6 +202,8 @@ private slots:
void sqlStatementUseIsNull_189093_data() { generic_data(); }
void sqlStatementUseIsNull_189093();
+ void sqlite_enable_cache_mode_data() { generic_data("QSQLITE"); }
+ void sqlite_enable_cache_mode();
private:
void createTestTables(QSqlDatabase db);
@@ -2485,5 +2487,23 @@ void tst_QSqlDatabase::oci_tables()
QVERIFY(db.tables(QSql::SystemTables).contains(systemTableName.toUpper()));
}
+void tst_QSqlDatabase::sqlite_enable_cache_mode()
+{
+ QFETCH(QString, dbName);
+ if(dbName.endsWith(":memory:"))
+ QSKIP( "cache mode is meaningless for :memory: databases", SkipSingle );
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+ db.close();
+ db.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
+ QVERIFY_SQL(db, open());
+ QSqlDatabase db2 = QSqlDatabase::cloneDatabase(db, dbName+":cachemodeconn2");
+ db2.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
+ QVERIFY_SQL(db2, open());
+ QSqlQuery q(db), q2(db2);
+ QVERIFY_SQL(q, exec("select * from "+qTableName("qtest")));
+ QVERIFY_SQL(q2, exec("select * from "+qTableName("qtest")));
+}
+
QTEST_MAIN(tst_QSqlDatabase)
#include "tst_qsqldatabase.moc"
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index eb348fb..65b0448 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -47,6 +47,8 @@
#include <qtextdocument.h>
#include <time.h>
#include <qprocess.h>
+#include <QtConcurrentMap>
+#include <QThreadPool>
#ifdef Q_OS_SYMBIAN
#define SRCDIR ""
@@ -58,6 +60,9 @@ class tst_QTextCodec : public QObject
Q_OBJECT
private slots:
+
+ void threadSafety();
+
void toUnicode_data();
void toUnicode();
void codecForName_data();
@@ -1904,5 +1909,46 @@ void tst_QTextCodec::toLocal8Bit()
}
#endif
+static QByteArray loadAndConvert(const QByteArray &codecName)
+{
+ QTextCodec *c = QTextCodec::codecForName(codecName);
+ if (!c) {
+ qDebug() << "WARNING " << codecName << " not found? ";
+ return QByteArray();
+ }
+ QString str = QString::fromLatin1(codecName);
+ QByteArray b = c->fromUnicode(str);
+ c->toUnicode(b);
+ return codecName;
+}
+
+static int loadAndConvertMIB(int mib)
+{
+ QTextCodec *c = QTextCodec::codecForMib(mib);
+ if (!c) {
+ qDebug() << "WARNING " << mib << " not found? ";
+ return 0;
+ }
+ QString str = QString::number(mib);
+ QByteArray b = c->fromUnicode(str);
+ c->toUnicode(b);
+ return mib;
+}
+
+
+void tst_QTextCodec::threadSafety()
+{
+ QThreadPool::globalInstance()->setMaxThreadCount(12);
+
+ QList<QByteArray> codecList = QTextCodec::availableCodecs();
+ QFuture<QByteArray> res = QtConcurrent::mapped(codecList, loadAndConvert);
+
+ QList<int> mibList = QTextCodec::availableMibs();
+ QFuture<int> res2 = QtConcurrent::mapped(mibList, loadAndConvertMIB);
+
+ QCOMPARE(res.results(), codecList);
+ QCOMPARE(res2.results(), mibList);
+}
+
QTEST_MAIN(tst_QTextCodec)
#include "tst_qtextcodec.moc"
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 03eddee..b59017b 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -250,6 +250,7 @@ private slots:
#else
void persistentWinId();
#endif
+ void showNativeChild();
void qobject_castInDestroyedSlot();
void showHideEvent_data();
@@ -4586,6 +4587,16 @@ void tst_QWidget::persistentWinId()
}
#endif // Q_OS_SYMBIAN
+void tst_QWidget::showNativeChild()
+{
+ QWidget topLevel;
+ topLevel.setGeometry(0, 0, 100, 100);
+ QWidget child(&topLevel);
+ child.winId();
+ topLevel.show();
+ QTest::qWaitForWindowShown(&topLevel);
+}
+
class ShowHideEventWidget : public QWidget
{
public:
diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro
index 7a27cc9..c406d54 100644
--- a/tests/benchmarks/benchmarks.pro
+++ b/tests/benchmarks/benchmarks.pro
@@ -1,48 +1,8 @@
TEMPLATE = subdirs
-SUBDIRS = containers-associative \
- containers-sequential \
- qanimation \
- qbytearray \
- qfileinfo \
- qfile_vs_qnetworkaccessmanager \
- qfontmetrics \
- qhostinfo \
- qpainter \
- qtestlib-simple events \
- qtext \
- qiodevice \
- qpixmap \
- blendbench \
- qstring \
- qstringlist \
- qmatrix4x4 \
- qnetworkreply \
- qobject \
- qrect \
- qregexp \
- qregion \
- qvariant \
- qwidget \
- qtwidgets \
- qapplication \
- qdir \
- qdiriterator \
- qgraphicsanchorlayout \
- qgraphicsitem \
- qgraphicswidget \
- qmetaobject \
- qpixmapcache \
- qquaternion \
- qscriptclass \
- qscriptengine \
- qscriptvalue \
- qstringbuilder \
- qstylesheetstyle \
- qsvgrenderer \
- qtcpserver \
- qtableview \
- qthreadstorage
-
-
-
+SUBDIRS = \
+ corelib \
+ gui \
+ network \
+ script \
+ svg
contains(QT_CONFIG, opengl): SUBDIRS += opengl
diff --git a/tests/benchmarks/corelib/corelib.pro b/tests/benchmarks/corelib/corelib.pro
new file mode 100644
index 0000000..72fca33
--- /dev/null
+++ b/tests/benchmarks/corelib/corelib.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ io \
+ kernel \
+ thread \
+ tools
diff --git a/tests/benchmarks/corelib/io/io.pro b/tests/benchmarks/corelib/io/io.pro
new file mode 100644
index 0000000..97445d7
--- /dev/null
+++ b/tests/benchmarks/corelib/io/io.pro
@@ -0,0 +1,9 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qdir \
+ qdiriterator \
+ qfile \
+ qfileinfo \
+ qiodevice \
+ qtemporaryfile
+
diff --git a/tests/benchmarks/qdir/qdir.pro b/tests/benchmarks/corelib/io/qdir/qdir.pro
index 2cdebfd..2cdebfd 100644
--- a/tests/benchmarks/qdir/qdir.pro
+++ b/tests/benchmarks/corelib/io/qdir/qdir.pro
diff --git a/tests/benchmarks/qdir/tst_qdir.cpp b/tests/benchmarks/corelib/io/qdir/tst_qdir.cpp
index aea9fd0..aea9fd0 100644
--- a/tests/benchmarks/qdir/tst_qdir.cpp
+++ b/tests/benchmarks/corelib/io/qdir/tst_qdir.cpp
diff --git a/tests/benchmarks/qdiriterator/main.cpp b/tests/benchmarks/corelib/io/qdiriterator/main.cpp
index afa6b7b..afa6b7b 100644
--- a/tests/benchmarks/qdiriterator/main.cpp
+++ b/tests/benchmarks/corelib/io/qdiriterator/main.cpp
diff --git a/tests/benchmarks/qdiriterator/qdiriterator.pro b/tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
index e06d746..e06d746 100755
--- a/tests/benchmarks/qdiriterator/qdiriterator.pro
+++ b/tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
diff --git a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp
index 267d53f..267d53f 100644
--- a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp
+++ b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp
diff --git a/tests/benchmarks/qdiriterator/qfilesystemiterator.h b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h
index 4aad3a1..4aad3a1 100644
--- a/tests/benchmarks/qdiriterator/qfilesystemiterator.h
+++ b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h
diff --git a/tests/benchmarks/qfile/main.cpp b/tests/benchmarks/corelib/io/qfile/main.cpp
index 103b77c..103b77c 100644
--- a/tests/benchmarks/qfile/main.cpp
+++ b/tests/benchmarks/corelib/io/qfile/main.cpp
diff --git a/tests/benchmarks/qfile/qfile.pro b/tests/benchmarks/corelib/io/qfile/qfile.pro
index 99505c3..99505c3 100644
--- a/tests/benchmarks/qfile/qfile.pro
+++ b/tests/benchmarks/corelib/io/qfile/qfile.pro
diff --git a/tests/benchmarks/qfileinfo/main.cpp b/tests/benchmarks/corelib/io/qfileinfo/main.cpp
index 025787f..025787f 100644
--- a/tests/benchmarks/qfileinfo/main.cpp
+++ b/tests/benchmarks/corelib/io/qfileinfo/main.cpp
diff --git a/tests/benchmarks/qfileinfo/qfileinfo.pro b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro
index 295cb50..295cb50 100644
--- a/tests/benchmarks/qfileinfo/qfileinfo.pro
+++ b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro
diff --git a/tests/benchmarks/qiodevice/main.cpp b/tests/benchmarks/corelib/io/qiodevice/main.cpp
index 4af697c..4af697c 100644
--- a/tests/benchmarks/qiodevice/main.cpp
+++ b/tests/benchmarks/corelib/io/qiodevice/main.cpp
diff --git a/tests/benchmarks/qiodevice/qiodevice.pro b/tests/benchmarks/corelib/io/qiodevice/qiodevice.pro
index 749a4d6..749a4d6 100755
--- a/tests/benchmarks/qiodevice/qiodevice.pro
+++ b/tests/benchmarks/corelib/io/qiodevice/qiodevice.pro
diff --git a/tests/benchmarks/qtemporaryfile/main.cpp b/tests/benchmarks/corelib/io/qtemporaryfile/main.cpp
index 8b71189..8b71189 100644
--- a/tests/benchmarks/qtemporaryfile/main.cpp
+++ b/tests/benchmarks/corelib/io/qtemporaryfile/main.cpp
diff --git a/tests/benchmarks/qtemporaryfile/qtemporaryfile.pro b/tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro
index c1b04f4..c1b04f4 100644
--- a/tests/benchmarks/qtemporaryfile/qtemporaryfile.pro
+++ b/tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro
diff --git a/tests/benchmarks/events/events.pro b/tests/benchmarks/corelib/kernel/events/events.pro
index adf2317..adf2317 100644
--- a/tests/benchmarks/events/events.pro
+++ b/tests/benchmarks/corelib/kernel/events/events.pro
diff --git a/tests/benchmarks/events/main.cpp b/tests/benchmarks/corelib/kernel/events/main.cpp
index 0dd2c18..0dd2c18 100644
--- a/tests/benchmarks/events/main.cpp
+++ b/tests/benchmarks/corelib/kernel/events/main.cpp
diff --git a/tests/benchmarks/corelib/kernel/kernel.pro b/tests/benchmarks/corelib/kernel/kernel.pro
new file mode 100644
index 0000000..91cf3c5
--- /dev/null
+++ b/tests/benchmarks/corelib/kernel/kernel.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ events \
+ qmetaobject \
+ qobject \
+ qvariant
diff --git a/tests/benchmarks/qmetaobject/main.cpp b/tests/benchmarks/corelib/kernel/qmetaobject/main.cpp
index c375a16..c375a16 100644
--- a/tests/benchmarks/qmetaobject/main.cpp
+++ b/tests/benchmarks/corelib/kernel/qmetaobject/main.cpp
diff --git a/tests/benchmarks/qmetaobject/qmetaobject.pro b/tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro
index 78300f6..78300f6 100644
--- a/tests/benchmarks/qmetaobject/qmetaobject.pro
+++ b/tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro
diff --git a/tests/benchmarks/qobject/main.cpp b/tests/benchmarks/corelib/kernel/qobject/main.cpp
index 7f24ebd..7f24ebd 100644
--- a/tests/benchmarks/qobject/main.cpp
+++ b/tests/benchmarks/corelib/kernel/qobject/main.cpp
diff --git a/tests/benchmarks/qobject/object.cpp b/tests/benchmarks/corelib/kernel/qobject/object.cpp
index d775a32..d775a32 100644
--- a/tests/benchmarks/qobject/object.cpp
+++ b/tests/benchmarks/corelib/kernel/qobject/object.cpp
diff --git a/tests/benchmarks/qobject/object.h b/tests/benchmarks/corelib/kernel/qobject/object.h
index 7e4933f..7e4933f 100644
--- a/tests/benchmarks/qobject/object.h
+++ b/tests/benchmarks/corelib/kernel/qobject/object.h
diff --git a/tests/benchmarks/qobject/qobject.pro b/tests/benchmarks/corelib/kernel/qobject/qobject.pro
index 2855de4..2855de4 100644
--- a/tests/benchmarks/qobject/qobject.pro
+++ b/tests/benchmarks/corelib/kernel/qobject/qobject.pro
diff --git a/tests/benchmarks/qvariant/qvariant.pro b/tests/benchmarks/corelib/kernel/qvariant/qvariant.pro
index 63b5442..63b5442 100644
--- a/tests/benchmarks/qvariant/qvariant.pro
+++ b/tests/benchmarks/corelib/kernel/qvariant/qvariant.pro
diff --git a/tests/benchmarks/qvariant/tst_qvariant.cpp b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp
index 82dc7dd..82dc7dd 100644
--- a/tests/benchmarks/qvariant/tst_qvariant.cpp
+++ b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp
diff --git a/tests/benchmarks/qthreadstorage/qthreadstorage.pro b/tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro
index f9c1978..f9c1978 100644
--- a/tests/benchmarks/qthreadstorage/qthreadstorage.pro
+++ b/tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro
diff --git a/tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp b/tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp
index faae4d7..faae4d7 100644
--- a/tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp
+++ b/tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp
diff --git a/tests/benchmarks/corelib/thread/thread.pro b/tests/benchmarks/corelib/thread/thread.pro
new file mode 100644
index 0000000..26570ba
--- /dev/null
+++ b/tests/benchmarks/corelib/thread/thread.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qthreadstorage
diff --git a/tests/benchmarks/containers-associative/containers-associative.pro b/tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro
index c6f3fa6..c6f3fa6 100644
--- a/tests/benchmarks/containers-associative/containers-associative.pro
+++ b/tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro
diff --git a/tests/benchmarks/containers-associative/main.cpp b/tests/benchmarks/corelib/tools/containers-associative/main.cpp
index 4c6dae4..4c6dae4 100644
--- a/tests/benchmarks/containers-associative/main.cpp
+++ b/tests/benchmarks/corelib/tools/containers-associative/main.cpp
diff --git a/tests/benchmarks/containers-sequential/containers-sequential.pro b/tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro
index bf6db44..bf6db44 100644
--- a/tests/benchmarks/containers-sequential/containers-sequential.pro
+++ b/tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro
diff --git a/tests/benchmarks/containers-sequential/main.cpp b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp
index a6e405c..a6e405c 100644
--- a/tests/benchmarks/containers-sequential/main.cpp
+++ b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp
diff --git a/tests/benchmarks/qbytearray/main.cpp b/tests/benchmarks/corelib/tools/qbytearray/main.cpp
index 22d4815..22d4815 100644
--- a/tests/benchmarks/qbytearray/main.cpp
+++ b/tests/benchmarks/corelib/tools/qbytearray/main.cpp
diff --git a/tests/benchmarks/qbytearray/qbytearray.pro b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro
index a0bf021..a0bf021 100755
--- a/tests/benchmarks/qbytearray/qbytearray.pro
+++ b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro
diff --git a/tests/benchmarks/qrect/main.cpp b/tests/benchmarks/corelib/tools/qrect/main.cpp
index e293bfa..e293bfa 100644
--- a/tests/benchmarks/qrect/main.cpp
+++ b/tests/benchmarks/corelib/tools/qrect/main.cpp
diff --git a/tests/benchmarks/qrect/qrect.pro b/tests/benchmarks/corelib/tools/qrect/qrect.pro
index 6e35119..6e35119 100644
--- a/tests/benchmarks/qrect/qrect.pro
+++ b/tests/benchmarks/corelib/tools/qrect/qrect.pro
diff --git a/tests/benchmarks/qregexp/main.cpp b/tests/benchmarks/corelib/tools/qregexp/main.cpp
index ab9ed71..ab9ed71 100644
--- a/tests/benchmarks/qregexp/main.cpp
+++ b/tests/benchmarks/corelib/tools/qregexp/main.cpp
diff --git a/tests/benchmarks/qregexp/qregexp.pro b/tests/benchmarks/corelib/tools/qregexp/qregexp.pro
index 83d723c..83d723c 100644
--- a/tests/benchmarks/qregexp/qregexp.pro
+++ b/tests/benchmarks/corelib/tools/qregexp/qregexp.pro
diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/corelib/tools/qstring/main.cpp
index 12826eb..12826eb 100644
--- a/tests/benchmarks/qstring/main.cpp
+++ b/tests/benchmarks/corelib/tools/qstring/main.cpp
diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/corelib/tools/qstring/qstring.pro
index 2e7c86a..2e7c86a 100644
--- a/tests/benchmarks/qstring/qstring.pro
+++ b/tests/benchmarks/corelib/tools/qstring/qstring.pro
diff --git a/tests/benchmarks/qstring/utf-8.txt b/tests/benchmarks/corelib/tools/qstring/utf-8.txt
index a8a58de..a8a58de 100644
--- a/tests/benchmarks/qstring/utf-8.txt
+++ b/tests/benchmarks/corelib/tools/qstring/utf-8.txt
diff --git a/tests/benchmarks/qstringbuilder/main.cpp b/tests/benchmarks/corelib/tools/qstringbuilder/main.cpp
index 9bd146f..9bd146f 100644
--- a/tests/benchmarks/qstringbuilder/main.cpp
+++ b/tests/benchmarks/corelib/tools/qstringbuilder/main.cpp
diff --git a/tests/benchmarks/qstringbuilder/qstringbuilder.pro b/tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro
index 79171b4..79171b4 100644
--- a/tests/benchmarks/qstringbuilder/qstringbuilder.pro
+++ b/tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro
diff --git a/tests/benchmarks/qstringlist/.gitignore b/tests/benchmarks/corelib/tools/qstringlist/.gitignore
index 3e0cdc9..3e0cdc9 100644
--- a/tests/benchmarks/qstringlist/.gitignore
+++ b/tests/benchmarks/corelib/tools/qstringlist/.gitignore
diff --git a/tests/benchmarks/qstringlist/main.cpp b/tests/benchmarks/corelib/tools/qstringlist/main.cpp
index 3fac598..3fac598 100644
--- a/tests/benchmarks/qstringlist/main.cpp
+++ b/tests/benchmarks/corelib/tools/qstringlist/main.cpp
diff --git a/tests/benchmarks/qstringlist/qstringlist.pro b/tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro
index 11cceb0..11cceb0 100644
--- a/tests/benchmarks/qstringlist/qstringlist.pro
+++ b/tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro
diff --git a/tests/benchmarks/corelib/tools/tools.pro b/tests/benchmarks/corelib/tools/tools.pro
new file mode 100644
index 0000000..12c23fc
--- /dev/null
+++ b/tests/benchmarks/corelib/tools/tools.pro
@@ -0,0 +1,10 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ containers-associative \
+ containers-sequential \
+ qbytearray \
+ qrect \
+ qregexp \
+ qstring \
+ qstringbuilder \
+ qstringlist
diff --git a/tests/benchmarks/gui/animation/animation.pro b/tests/benchmarks/gui/animation/animation.pro
new file mode 100644
index 0000000..a4ba273
--- /dev/null
+++ b/tests/benchmarks/gui/animation/animation.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = qanimation
diff --git a/tests/benchmarks/qanimation/dummyanimation.cpp b/tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp
index f79cc5b..f79cc5b 100644
--- a/tests/benchmarks/qanimation/dummyanimation.cpp
+++ b/tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp
diff --git a/tests/benchmarks/qanimation/dummyanimation.h b/tests/benchmarks/gui/animation/qanimation/dummyanimation.h
index 1df76be..1df76be 100644
--- a/tests/benchmarks/qanimation/dummyanimation.h
+++ b/tests/benchmarks/gui/animation/qanimation/dummyanimation.h
diff --git a/tests/benchmarks/qanimation/dummyobject.cpp b/tests/benchmarks/gui/animation/qanimation/dummyobject.cpp
index 2b66cda..2b66cda 100644
--- a/tests/benchmarks/qanimation/dummyobject.cpp
+++ b/tests/benchmarks/gui/animation/qanimation/dummyobject.cpp
diff --git a/tests/benchmarks/qanimation/dummyobject.h b/tests/benchmarks/gui/animation/qanimation/dummyobject.h
index 31614fd..31614fd 100644
--- a/tests/benchmarks/qanimation/dummyobject.h
+++ b/tests/benchmarks/gui/animation/qanimation/dummyobject.h
diff --git a/tests/benchmarks/qanimation/main.cpp b/tests/benchmarks/gui/animation/qanimation/main.cpp
index 8b9884e..8b9884e 100644
--- a/tests/benchmarks/qanimation/main.cpp
+++ b/tests/benchmarks/gui/animation/qanimation/main.cpp
diff --git a/tests/benchmarks/qanimation/qanimation.pro b/tests/benchmarks/gui/animation/qanimation/qanimation.pro
index 55cd75e..55cd75e 100644
--- a/tests/benchmarks/qanimation/qanimation.pro
+++ b/tests/benchmarks/gui/animation/qanimation/qanimation.pro
diff --git a/tests/benchmarks/qanimation/rectanimation.cpp b/tests/benchmarks/gui/animation/qanimation/rectanimation.cpp
index e6d7a7e..e6d7a7e 100644
--- a/tests/benchmarks/qanimation/rectanimation.cpp
+++ b/tests/benchmarks/gui/animation/qanimation/rectanimation.cpp
diff --git a/tests/benchmarks/qanimation/rectanimation.h b/tests/benchmarks/gui/animation/qanimation/rectanimation.h
index 42b9376..42b9376 100644
--- a/tests/benchmarks/qanimation/rectanimation.h
+++ b/tests/benchmarks/gui/animation/qanimation/rectanimation.h
diff --git a/tests/benchmarks/gui/graphicsview/graphicsview.pro b/tests/benchmarks/gui/graphicsview/graphicsview.pro
new file mode 100644
index 0000000..93c00d2
--- /dev/null
+++ b/tests/benchmarks/gui/graphicsview/graphicsview.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qgraphicsanchorlayout \
+ qgraphicsitem \
+ qgraphicsscene \
+ qgraphicsview \
+ qgraphicswidget
diff --git a/tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro
index 0d563b9..0d563b9 100644
--- a/tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro
diff --git a/tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
index faacec4..faacec4 100644
--- a/tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
diff --git a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro b/tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro
index 726bb96..726bb96 100644
--- a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro
diff --git a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index ac51072..ac51072 100644
--- a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
diff --git a/tests/benchmarks/qgraphicsscene/qgraphicsscene.pro b/tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro
index b460e2a..b460e2a 100644
--- a/tests/benchmarks/qgraphicsscene/qgraphicsscene.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro
diff --git a/tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
index 5bd07f9..5bd07f9 100644
--- a/tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp
index 77b86c1..77b86c1 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug
index 8fe1e5b..8fe1e5b 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h
index 9db23f9..9db23f9 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/chip.h
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro
index 53fa23b..53fa23b 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png
index ba7c02d..ba7c02d 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc
index c7cdf0c..c7cdf0c 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp
index ea2f94a..ea2f94a 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp
index 452b42c..452b42c 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h
index 558bbef..558bbef 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h
diff --git a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png
index 157e86e..157e86e 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png
index 8cfa931..8cfa931 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png
index ec5e866..ec5e866 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp
index 1028f42..1028f42 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h
index fc5c226..fc5c226 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png
index 8b0daee..8b0daee 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png
index 1575dd2..1575dd2 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp
index 527713f..527713f 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro
index 28dcadc..28dcadc 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro
diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp
index 7419206..7419206 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro
index 28dcadc..28dcadc 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp
index 4c1020a..4c1020a 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h
index 9db23f9..9db23f9 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp
index 8cada67..8cada67 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h
index 1a73bb7..1a73bb7 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri
index a9e0bf8..a9e0bf8 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri
diff --git a/tests/benchmarks/qgraphicsview/chiptester/images.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc
index 73e8620..73e8620 100644
--- a/tests/benchmarks/qgraphicsview/chiptester/images.qrc
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png
index 157e86e..157e86e 100644
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/designer.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png
index 0988fce..0988fce 100644
--- a/tests/benchmarks/qgraphicsview/images/designer.png
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg
index 9900a50..9900a50 100644
--- a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/wine.jpeg b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg
index 8fe1d3a..8fe1d3a 100644
--- a/tests/benchmarks/qgraphicsview/images/wine.jpeg
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro
index 927d731..927d731 100644
--- a/tests/benchmarks/qgraphicsview/qgraphicsview.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro
diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc
index 3681648..3681648 100644
--- a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc
diff --git a/tests/benchmarks/qgraphicsview/random.data b/tests/benchmarks/gui/graphicsview/qgraphicsview/random.data
index 190a36c..190a36c 100644
--- a/tests/benchmarks/qgraphicsview/random.data
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/random.data
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index 10e00a6..10e00a6 100644
--- a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
diff --git a/tests/benchmarks/qgraphicswidget/qgraphicswidget.pro b/tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro
index f1ec54e..f1ec54e 100644
--- a/tests/benchmarks/qgraphicswidget/qgraphicswidget.pro
+++ b/tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro
diff --git a/tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp
index 7db98ce..7db98ce 100644
--- a/tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp
diff --git a/tests/benchmarks/gui/gui.pro b/tests/benchmarks/gui/gui.pro
new file mode 100644
index 0000000..946f184
--- /dev/null
+++ b/tests/benchmarks/gui/gui.pro
@@ -0,0 +1,11 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ animation \
+ graphicsview \
+ image \
+ itemviews \
+ kernel \
+ math3d \
+ painting \
+ styles \
+ text
diff --git a/tests/benchmarks/blendbench/blendbench.pro b/tests/benchmarks/gui/image/blendbench/blendbench.pro
index a3228c5..a3228c5 100644
--- a/tests/benchmarks/blendbench/blendbench.pro
+++ b/tests/benchmarks/gui/image/blendbench/blendbench.pro
diff --git a/tests/benchmarks/blendbench/main.cpp b/tests/benchmarks/gui/image/blendbench/main.cpp
index 92d1633..92d1633 100644
--- a/tests/benchmarks/blendbench/main.cpp
+++ b/tests/benchmarks/gui/image/blendbench/main.cpp
diff --git a/tests/benchmarks/gui/image/image.pro b/tests/benchmarks/gui/image/image.pro
new file mode 100644
index 0000000..3094e72
--- /dev/null
+++ b/tests/benchmarks/gui/image/image.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ blendbench \
+ qimagereader \
+ qpixmap \
+ qpixmapcache
diff --git a/tests/benchmarks/qimagereader/images/16bpp.bmp b/tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp
index 74ce63e..74ce63e 100644
--- a/tests/benchmarks/qimagereader/images/16bpp.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/4bpp-rle.bmp b/tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp
index ae71e67..ae71e67 100644
--- a/tests/benchmarks/qimagereader/images/4bpp-rle.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg
index b8aa9ea..b8aa9ea 100644
--- a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg
+++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.png b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png
index a24db1b..a24db1b 100644
--- a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg
index 8771224..8771224 100644
--- a/tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg
+++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/away.png b/tests/benchmarks/gui/image/qimagereader/images/away.png
index 0e21a37..0e21a37 100644
--- a/tests/benchmarks/qimagereader/images/away.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/away.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/ball.mng b/tests/benchmarks/gui/image/qimagereader/images/ball.mng
index 8154478..8154478 100644
--- a/tests/benchmarks/qimagereader/images/ball.mng
+++ b/tests/benchmarks/gui/image/qimagereader/images/ball.mng
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/bat1.gif b/tests/benchmarks/gui/image/qimagereader/images/bat1.gif
index cb6f4f7..cb6f4f7 100644
--- a/tests/benchmarks/qimagereader/images/bat1.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/bat1.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/bat2.gif b/tests/benchmarks/gui/image/qimagereader/images/bat2.gif
index fbbda4e..fbbda4e 100644
--- a/tests/benchmarks/qimagereader/images/bat2.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/bat2.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/beavis.jpg b/tests/benchmarks/gui/image/qimagereader/images/beavis.jpg
index d555047..d555047 100644
--- a/tests/benchmarks/qimagereader/images/beavis.jpg
+++ b/tests/benchmarks/gui/image/qimagereader/images/beavis.jpg
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/black.png b/tests/benchmarks/gui/image/qimagereader/images/black.png
index 6c94085..6c94085 100644
--- a/tests/benchmarks/qimagereader/images/black.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/black.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/black.xpm b/tests/benchmarks/gui/image/qimagereader/images/black.xpm
index d7925bf..d7925bf 100644
--- a/tests/benchmarks/qimagereader/images/black.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/black.xpm
diff --git a/tests/benchmarks/qimagereader/images/colorful.bmp b/tests/benchmarks/gui/image/qimagereader/images/colorful.bmp
index 8ea6f4a..8ea6f4a 100644
--- a/tests/benchmarks/qimagereader/images/colorful.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/colorful.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt-colors.xpm b/tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm
index f8d80ed..f8d80ed 100644
--- a/tests/benchmarks/qimagereader/images/corrupt-colors.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm
diff --git a/tests/benchmarks/qimagereader/images/corrupt-data.tif b/tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif
index d63c688..d63c688 100644
--- a/tests/benchmarks/qimagereader/images/corrupt-data.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt-pixels.xpm b/tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm
index 21031ee..21031ee 100644
--- a/tests/benchmarks/qimagereader/images/corrupt-pixels.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm
diff --git a/tests/benchmarks/qimagereader/images/corrupt.bmp b/tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp
index 824190b..824190b 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt.gif b/tests/benchmarks/gui/image/qimagereader/images/corrupt.gif
index 0725945..0725945 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt.jpg b/tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg
index 1959662..1959662 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.jpg
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt.mng b/tests/benchmarks/gui/image/qimagereader/images/corrupt.mng
index 17fd43a..17fd43a 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.mng
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.mng
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt.png b/tests/benchmarks/gui/image/qimagereader/images/corrupt.png
index 9d8911c..9d8911c 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/corrupt.xbm b/tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm
index 8510634..8510634 100644
--- a/tests/benchmarks/qimagereader/images/corrupt.xbm
+++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm
diff --git a/tests/benchmarks/qimagereader/images/crash-signed-char.bmp b/tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp
index b35cda6..b35cda6 100644
--- a/tests/benchmarks/qimagereader/images/crash-signed-char.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/earth.gif b/tests/benchmarks/gui/image/qimagereader/images/earth.gif
index 2c229eb..2c229eb 100644
--- a/tests/benchmarks/qimagereader/images/earth.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/earth.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/fire.mng b/tests/benchmarks/gui/image/qimagereader/images/fire.mng
index c6695c8..c6695c8 100644
--- a/tests/benchmarks/qimagereader/images/fire.mng
+++ b/tests/benchmarks/gui/image/qimagereader/images/fire.mng
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/font.bmp b/tests/benchmarks/gui/image/qimagereader/images/font.bmp
index 28b8c66..28b8c66 100644
--- a/tests/benchmarks/qimagereader/images/font.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/font.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/gnus.xbm b/tests/benchmarks/gui/image/qimagereader/images/gnus.xbm
index 58d1ac8..58d1ac8 100644
--- a/tests/benchmarks/qimagereader/images/gnus.xbm
+++ b/tests/benchmarks/gui/image/qimagereader/images/gnus.xbm
diff --git a/tests/benchmarks/qimagereader/images/image.pbm b/tests/benchmarks/gui/image/qimagereader/images/image.pbm
index 67e5efa..67e5efa 100644
--- a/tests/benchmarks/qimagereader/images/image.pbm
+++ b/tests/benchmarks/gui/image/qimagereader/images/image.pbm
diff --git a/tests/benchmarks/qimagereader/images/image.pgm b/tests/benchmarks/gui/image/qimagereader/images/image.pgm
index 443bf40..443bf40 100644
--- a/tests/benchmarks/qimagereader/images/image.pgm
+++ b/tests/benchmarks/gui/image/qimagereader/images/image.pgm
diff --git a/tests/benchmarks/qimagereader/images/image.png b/tests/benchmarks/gui/image/qimagereader/images/image.png
index 7d4890a..7d4890a 100644
--- a/tests/benchmarks/qimagereader/images/image.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/image.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/image.ppm b/tests/benchmarks/gui/image/qimagereader/images/image.ppm
index 2a5640e..2a5640e 100644
--- a/tests/benchmarks/qimagereader/images/image.ppm
+++ b/tests/benchmarks/gui/image/qimagereader/images/image.ppm
diff --git a/tests/benchmarks/qimagereader/images/kollada-noext b/tests/benchmarks/gui/image/qimagereader/images/kollada-noext
index 2abd4bb..2abd4bb 100644
--- a/tests/benchmarks/qimagereader/images/kollada-noext
+++ b/tests/benchmarks/gui/image/qimagereader/images/kollada-noext
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/kollada.png b/tests/benchmarks/gui/image/qimagereader/images/kollada.png
index 2abd4bb..2abd4bb 100644
--- a/tests/benchmarks/qimagereader/images/kollada.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/kollada.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/marble.xpm b/tests/benchmarks/gui/image/qimagereader/images/marble.xpm
index 1c08049..1c08049 100644
--- a/tests/benchmarks/qimagereader/images/marble.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/marble.xpm
diff --git a/tests/benchmarks/qimagereader/images/namedcolors.xpm b/tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm
index f6485d5..f6485d5 100644
--- a/tests/benchmarks/qimagereader/images/namedcolors.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm
diff --git a/tests/benchmarks/qimagereader/images/negativeheight.bmp b/tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp
index 875887a..875887a 100644
--- a/tests/benchmarks/qimagereader/images/negativeheight.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/noclearcode.bmp b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp
index 1a5ca9c..1a5ca9c 100644
--- a/tests/benchmarks/qimagereader/images/noclearcode.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/noclearcode.gif b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif
index 27784d6..27784d6 100644
--- a/tests/benchmarks/qimagereader/images/noclearcode.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/nontransparent.xpm b/tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm
index 00c21ef..00c21ef 100644
--- a/tests/benchmarks/qimagereader/images/nontransparent.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm
diff --git a/tests/benchmarks/qimagereader/images/pngwithcompressedtext.png b/tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png
index 01b2270..01b2270 100644
--- a/tests/benchmarks/qimagereader/images/pngwithcompressedtext.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/pngwithtext.png b/tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png
index 5d93799..5d93799 100644
--- a/tests/benchmarks/qimagereader/images/pngwithtext.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif
index 78868b0..78868b0 100644
--- a/tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif
index 107eab7..107eab7 100644
--- a/tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif
index c314bae..c314bae 100644
--- a/tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif
index 4f820f6..4f820f6 100644
--- a/tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif
index ddeec38..ddeec38 100644
--- a/tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif
index 50a3024..50a3024 100644
--- a/tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif
+++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/runners.ppm b/tests/benchmarks/gui/image/qimagereader/images/runners.ppm
index fda1c97..fda1c97 100644
--- a/tests/benchmarks/qimagereader/images/runners.ppm
+++ b/tests/benchmarks/gui/image/qimagereader/images/runners.ppm
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/task210380.jpg b/tests/benchmarks/gui/image/qimagereader/images/task210380.jpg
index fd045ea..fd045ea 100644
--- a/tests/benchmarks/qimagereader/images/task210380.jpg
+++ b/tests/benchmarks/gui/image/qimagereader/images/task210380.jpg
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/teapot.ppm b/tests/benchmarks/gui/image/qimagereader/images/teapot.ppm
index b8ab85f..b8ab85f 100644
--- a/tests/benchmarks/qimagereader/images/teapot.ppm
+++ b/tests/benchmarks/gui/image/qimagereader/images/teapot.ppm
diff --git a/tests/benchmarks/qimagereader/images/test.ppm b/tests/benchmarks/gui/image/qimagereader/images/test.ppm
index 05d627c..05d627c 100644
--- a/tests/benchmarks/qimagereader/images/test.ppm
+++ b/tests/benchmarks/gui/image/qimagereader/images/test.ppm
diff --git a/tests/benchmarks/qimagereader/images/test.xpm b/tests/benchmarks/gui/image/qimagereader/images/test.xpm
index 5fcf075..5fcf075 100644
--- a/tests/benchmarks/qimagereader/images/test.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/test.xpm
diff --git a/tests/benchmarks/qimagereader/images/transparent.xpm b/tests/benchmarks/gui/image/qimagereader/images/transparent.xpm
index 5ddcf0b..5ddcf0b 100644
--- a/tests/benchmarks/qimagereader/images/transparent.xpm
+++ b/tests/benchmarks/gui/image/qimagereader/images/transparent.xpm
diff --git a/tests/benchmarks/qimagereader/images/trolltech.gif b/tests/benchmarks/gui/image/qimagereader/images/trolltech.gif
index f674369..f674369 100644
--- a/tests/benchmarks/qimagereader/images/trolltech.gif
+++ b/tests/benchmarks/gui/image/qimagereader/images/trolltech.gif
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/tst7.bmp b/tests/benchmarks/gui/image/qimagereader/images/tst7.bmp
index 6d3ac92..6d3ac92 100644
--- a/tests/benchmarks/qimagereader/images/tst7.bmp
+++ b/tests/benchmarks/gui/image/qimagereader/images/tst7.bmp
Binary files differ
diff --git a/tests/benchmarks/qimagereader/images/tst7.png b/tests/benchmarks/gui/image/qimagereader/images/tst7.png
index 96efae4..96efae4 100644
--- a/tests/benchmarks/qimagereader/images/tst7.png
+++ b/tests/benchmarks/gui/image/qimagereader/images/tst7.png
Binary files differ
diff --git a/tests/benchmarks/qimagereader/qimagereader.pro b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
index 276ac33..276ac33 100644
--- a/tests/benchmarks/qimagereader/qimagereader.pro
+++ b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
diff --git a/tests/benchmarks/qimagereader/tst_qimagereader.cpp b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp
index 3f38d19..3f38d19 100644
--- a/tests/benchmarks/qimagereader/tst_qimagereader.cpp
+++ b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp
diff --git a/tests/benchmarks/qpixmap/qpixmap.pro b/tests/benchmarks/gui/image/qpixmap/qpixmap.pro
index e8330bd..e8330bd 100644
--- a/tests/benchmarks/qpixmap/qpixmap.pro
+++ b/tests/benchmarks/gui/image/qpixmap/qpixmap.pro
diff --git a/tests/benchmarks/qpixmap/tst_qpixmap.cpp b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp
index 9ffbefb..9ffbefb 100644
--- a/tests/benchmarks/qpixmap/tst_qpixmap.cpp
+++ b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp
diff --git a/tests/benchmarks/qpixmapcache/qpixmapcache.pro b/tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro
index e0d7543..e0d7543 100644
--- a/tests/benchmarks/qpixmapcache/qpixmapcache.pro
+++ b/tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro
diff --git a/tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp b/tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp
index 1031ba7..1031ba7 100644
--- a/tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp
+++ b/tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp
diff --git a/tests/benchmarks/gui/itemviews/itemviews.pro b/tests/benchmarks/gui/itemviews/itemviews.pro
new file mode 100644
index 0000000..be0ee55
--- /dev/null
+++ b/tests/benchmarks/gui/itemviews/itemviews.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qtableview
diff --git a/tests/benchmarks/qtableview/qtableview.pro b/tests/benchmarks/gui/itemviews/qtableview/qtableview.pro
index 02bc530..02bc530 100644
--- a/tests/benchmarks/qtableview/qtableview.pro
+++ b/tests/benchmarks/gui/itemviews/qtableview/qtableview.pro
diff --git a/tests/benchmarks/qtableview/tst_qtableview.cpp b/tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp
index a84d8b5..a84d8b5 100644
--- a/tests/benchmarks/qtableview/tst_qtableview.cpp
+++ b/tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp
diff --git a/tests/benchmarks/gui/kernel/kernel.pro b/tests/benchmarks/gui/kernel/kernel.pro
new file mode 100644
index 0000000..a50aad2
--- /dev/null
+++ b/tests/benchmarks/gui/kernel/kernel.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qapplication \
+ qwidget
diff --git a/tests/benchmarks/qapplication/main.cpp b/tests/benchmarks/gui/kernel/qapplication/main.cpp
index c912497..c912497 100644
--- a/tests/benchmarks/qapplication/main.cpp
+++ b/tests/benchmarks/gui/kernel/qapplication/main.cpp
diff --git a/tests/benchmarks/qapplication/qapplication.pro b/tests/benchmarks/gui/kernel/qapplication/qapplication.pro
index f8601e4..f8601e4 100644
--- a/tests/benchmarks/qapplication/qapplication.pro
+++ b/tests/benchmarks/gui/kernel/qapplication/qapplication.pro
diff --git a/tests/benchmarks/qwidget/qwidget.pro b/tests/benchmarks/gui/kernel/qwidget/qwidget.pro
index ff47445..ff47445 100644
--- a/tests/benchmarks/qwidget/qwidget.pro
+++ b/tests/benchmarks/gui/kernel/qwidget/qwidget.pro
diff --git a/tests/benchmarks/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
index f21bd44..f21bd44 100644
--- a/tests/benchmarks/qwidget/tst_qwidget.cpp
+++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
diff --git a/tests/benchmarks/gui/math3d/math3d.pro b/tests/benchmarks/gui/math3d/math3d.pro
new file mode 100644
index 0000000..c511d9a
--- /dev/null
+++ b/tests/benchmarks/gui/math3d/math3d.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qmatrix4x4 \
+ qquaternion
diff --git a/tests/benchmarks/qmatrix4x4/qmatrix4x4.pro b/tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro
index e82d9de..e82d9de 100644
--- a/tests/benchmarks/qmatrix4x4/qmatrix4x4.pro
+++ b/tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro
diff --git a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp b/tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp
index e962198..e962198 100644
--- a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp
+++ b/tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp
diff --git a/tests/benchmarks/qquaternion/qquaternion.pro b/tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro
index cd68423..cd68423 100644
--- a/tests/benchmarks/qquaternion/qquaternion.pro
+++ b/tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro
diff --git a/tests/benchmarks/qquaternion/tst_qquaternion.cpp b/tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp
index 7930092..7930092 100644
--- a/tests/benchmarks/qquaternion/tst_qquaternion.cpp
+++ b/tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp
diff --git a/tests/benchmarks/gui/painting/painting.pro b/tests/benchmarks/gui/painting/painting.pro
new file mode 100644
index 0000000..878567d
--- /dev/null
+++ b/tests/benchmarks/gui/painting/painting.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qpainter \
+ qregion \
+ qtransform
diff --git a/tests/benchmarks/qpainter/qpainter.pro b/tests/benchmarks/gui/painting/qpainter/qpainter.pro
index 5ac8c64..5ac8c64 100644
--- a/tests/benchmarks/qpainter/qpainter.pro
+++ b/tests/benchmarks/gui/painting/qpainter/qpainter.pro
diff --git a/tests/benchmarks/qpainter/tst_qpainter.cpp b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp
index 39b2244..39b2244 100644
--- a/tests/benchmarks/qpainter/tst_qpainter.cpp
+++ b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp
diff --git a/tests/benchmarks/qregion/main.cpp b/tests/benchmarks/gui/painting/qregion/main.cpp
index 3d16e41..3d16e41 100644
--- a/tests/benchmarks/qregion/main.cpp
+++ b/tests/benchmarks/gui/painting/qregion/main.cpp
diff --git a/tests/benchmarks/qregion/qregion.pro b/tests/benchmarks/gui/painting/qregion/qregion.pro
index fc67177..fc67177 100644
--- a/tests/benchmarks/qregion/qregion.pro
+++ b/tests/benchmarks/gui/painting/qregion/qregion.pro
diff --git a/tests/benchmarks/qtransform/qtransform.pro b/tests/benchmarks/gui/painting/qtransform/qtransform.pro
index 8d87656..8d87656 100644
--- a/tests/benchmarks/qtransform/qtransform.pro
+++ b/tests/benchmarks/gui/painting/qtransform/qtransform.pro
diff --git a/tests/benchmarks/qtransform/tst_qtransform.cpp b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp
index b33cf58..b33cf58 100644
--- a/tests/benchmarks/qtransform/tst_qtransform.cpp
+++ b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp
diff --git a/tests/benchmarks/qstylesheetstyle/main.cpp b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp
index 226b661..226b661 100644
--- a/tests/benchmarks/qstylesheetstyle/main.cpp
+++ b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp
diff --git a/tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro b/tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro
index c097307..c097307 100644
--- a/tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro
+++ b/tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro
diff --git a/tests/benchmarks/gui/styles/styles.pro b/tests/benchmarks/gui/styles/styles.pro
new file mode 100644
index 0000000..7c1d069
--- /dev/null
+++ b/tests/benchmarks/gui/styles/styles.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qstylesheetstyle
diff --git a/tests/benchmarks/qfontmetrics/main.cpp b/tests/benchmarks/gui/text/qfontmetrics/main.cpp
index d3f85ef..d3f85ef 100644
--- a/tests/benchmarks/qfontmetrics/main.cpp
+++ b/tests/benchmarks/gui/text/qfontmetrics/main.cpp
diff --git a/tests/benchmarks/qfontmetrics/qfontmetrics.pro b/tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro
index b6c7b92..b6c7b92 100644
--- a/tests/benchmarks/qfontmetrics/qfontmetrics.pro
+++ b/tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro
diff --git a/tests/benchmarks/qtext/bidi.txt b/tests/benchmarks/gui/text/qtext/bidi.txt
index 7c74cb4..7c74cb4 100644
--- a/tests/benchmarks/qtext/bidi.txt
+++ b/tests/benchmarks/gui/text/qtext/bidi.txt
diff --git a/tests/benchmarks/qtext/main.cpp b/tests/benchmarks/gui/text/qtext/main.cpp
index d4f3165..d4f3165 100644
--- a/tests/benchmarks/qtext/main.cpp
+++ b/tests/benchmarks/gui/text/qtext/main.cpp
diff --git a/tests/benchmarks/qtext/qtext.pro b/tests/benchmarks/gui/text/qtext/qtext.pro
index 9e8860f..9e8860f 100644
--- a/tests/benchmarks/qtext/qtext.pro
+++ b/tests/benchmarks/gui/text/qtext/qtext.pro
diff --git a/tests/benchmarks/gui/text/text.pro b/tests/benchmarks/gui/text/text.pro
new file mode 100644
index 0000000..34e548b
--- /dev/null
+++ b/tests/benchmarks/gui/text/text.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qfontmetrics \
+ qtext
diff --git a/tests/benchmarks/network/access/access.pro b/tests/benchmarks/network/access/access.pro
new file mode 100644
index 0000000..43357e2
--- /dev/null
+++ b/tests/benchmarks/network/access/access.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qfile_vs_qnetworkaccessmanager \
+ qnetworkreply
diff --git a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp
index 23e07db..26308e9 100644
--- a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp
+++ b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp
@@ -46,7 +46,7 @@
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtCore/QTemporaryFile>
#include <QtCore/QFile>
-#include "../../auto/network-settings.h"
+#include "../../../../auto/network-settings.h"
class qfile_vs_qnetworkaccessmanager : public QObject
{
diff --git a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro
index 99d1935..99d1935 100644
--- a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro
+++ b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro
diff --git a/tests/benchmarks/qnetworkreply/qnetworkreply.pro b/tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro
index 1e67d81..1e67d81 100644
--- a/tests/benchmarks/qnetworkreply/qnetworkreply.pro
+++ b/tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro
diff --git a/tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp
index a92359f..f173ed1 100644
--- a/tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -48,7 +48,7 @@
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtNetwork/qtcpsocket.h>
#include <QtNetwork/qtcpserver.h>
-#include "../../auto/network-settings.h"
+#include "../../../../auto/network-settings.h"
class TimedSender: public QThread
diff --git a/tests/benchmarks/network/kernel/kernel.pro b/tests/benchmarks/network/kernel/kernel.pro
new file mode 100644
index 0000000..1ec3071
--- /dev/null
+++ b/tests/benchmarks/network/kernel/kernel.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qhostinfo
diff --git a/tests/benchmarks/qhostinfo/main.cpp b/tests/benchmarks/network/kernel/qhostinfo/main.cpp
index 0ae1b7f..0ae1b7f 100644
--- a/tests/benchmarks/qhostinfo/main.cpp
+++ b/tests/benchmarks/network/kernel/qhostinfo/main.cpp
diff --git a/tests/benchmarks/qhostinfo/qhostinfo.pro b/tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro
index f18d6d7..f18d6d7 100755
--- a/tests/benchmarks/qhostinfo/qhostinfo.pro
+++ b/tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro
diff --git a/tests/benchmarks/network/network.pro b/tests/benchmarks/network/network.pro
new file mode 100644
index 0000000..4e83db2
--- /dev/null
+++ b/tests/benchmarks/network/network.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ access \
+ kernel \
+ socket
diff --git a/tests/benchmarks/qtcpserver/qtcpserver.pro b/tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro
index e7bf13a..e7bf13a 100644
--- a/tests/benchmarks/qtcpserver/qtcpserver.pro
+++ b/tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro
diff --git a/tests/benchmarks/qtcpserver/tst_qtcpserver.cpp b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp
index b6b55c3..022bf3d 100644
--- a/tests/benchmarks/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp
@@ -58,7 +58,7 @@
Q_DECLARE_METATYPE(QNetworkProxy)
Q_DECLARE_METATYPE(QList<QNetworkProxy>)
-#include "../../auto/network-settings.h"
+#include "../../../../auto/network-settings.h"
//TESTED_CLASS=
//TESTED_FILES=
diff --git a/tests/benchmarks/network/socket/socket.pro b/tests/benchmarks/network/socket/socket.pro
new file mode 100644
index 0000000..2d676a2
--- /dev/null
+++ b/tests/benchmarks/network/socket/socket.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qtcpserver
diff --git a/tests/benchmarks/qtestlib-simple/main.cpp b/tests/benchmarks/qtestlib-simple/main.cpp
deleted file mode 100644
index a8dabe9..0000000
--- a/tests/benchmarks/qtestlib-simple/main.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the 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 <QtGui>
-#include <QString>
-
-#include <qtest.h>
-
-
-class tst_QHash : public QObject
-{
- Q_OBJECT
-private slots:
- void foo1_data();
- void foo1();
- void foo2_data();
- void foo2();
- void foo3();
-};
-
-void tst_QHash::foo1_data()
-{
- QTest::addColumn<int>("x");
- QTest::addColumn<int>("y");
- QTest::newRow("tag1.1") << 16 << 17;
- QTest::newRow("tag2.1") << 18 << 19;
-}
-
-void tst_QHash::foo1()
-{
- QFETCH(int, x);
- QFETCH(int, y);
- Q_UNUSED(x);
- Q_UNUSED(y);
-
- QHash<int, int> testHash;
-
- QBENCHMARK {
- testHash.insertMulti(1, 1);
- }
-}
-
-void tst_QHash::foo2_data()
-{
- QTest::addColumn<int>("x");
- QTest::addColumn<int>("y");
- QTest::newRow("tag1.1") << 16 << 17;
- QTest::newRow("tag2.1") << 18 << 19;
-}
-
-void tst_QHash::foo2()
-{
- QFETCH(int, x);
- QFETCH(int, y);
- Q_UNUSED(x);
- Q_UNUSED(y);
-
- QHash<int, int> testHash;
-
- QBENCHMARK {
- testHash.insertMulti(1, 1);
- }
-
- QBENCHMARK {
- testHash.insertMulti(1, 1);
- }
-}
-
-void tst_QHash::foo3()
-{
- QHash<int, int> testHash;
-
- QBENCHMARK {
- testHash.insertMulti(1, 1);
- }
-}
-
-
-QTEST_MAIN(tst_QHash)
-#include "main.moc"
diff --git a/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro b/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro
deleted file mode 100644
index 7c49883..0000000
--- a/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-load(qttest_p4)
-TEMPLATE = app
-TARGET = tst_qtestlib-simple
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
-SOURCES += main.cpp
diff --git a/tests/benchmarks/qtwidgets/advanced.ui b/tests/benchmarks/qtwidgets/advanced.ui
deleted file mode 100644
index ce27374..0000000
--- a/tests/benchmarks/qtwidgets/advanced.ui
+++ /dev/null
@@ -1,319 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
- <class>Advanced</class>
- <widget class="QWidget" name="Advanced" >
- <property name="objectName" >
- <string notr="true" >Advanced</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QPushButton" name="pushButton" >
- <property name="objectName" >
- <string notr="true" >pushButton</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>80</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text" >
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pushButton_2" >
- <property name="objectName" >
- <string notr="true" >pushButton_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>87</x>
- <y>1</y>
- <width>80</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text" >
- <string>Text</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="checkBox" >
- <property name="objectName" >
- <string notr="true" >checkBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>173</x>
- <y>6</y>
- <width>23</width>
- <height>13</height>
- </rect>
- </property>
- <property name="text" >
- <string/>
- </property>
- <property name="icon" >
- <iconset/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="radioButton" >
- <property name="objectName" >
- <string notr="true" >radioButton</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>202</x>
- <y>6</y>
- <width>22</width>
- <height>12</height>
- </rect>
- </property>
- <property name="text" >
- <string/>
- </property>
- <property name="icon" >
- <iconset/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="checkBox_2" >
- <property name="objectName" >
- <string notr="true" >checkBox_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>230</x>
- <y>3</y>
- <width>44</width>
- <height>18</height>
- </rect>
- </property>
- <property name="text" >
- <string>Text</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="radioButton_2" >
- <property name="objectName" >
- <string notr="true" >radioButton_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>280</x>
- <y>3</y>
- <width>43</width>
- <height>18</height>
- </rect>
- </property>
- <property name="text" >
- <string>Text</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QGridLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QListWidget" name="listWidget" >
- <property name="objectName" >
- <string notr="true" >listWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>186</width>
- <height>91</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QListWidget" name="listWidget_3" >
- <property name="objectName" >
- <string notr="true" >listWidget_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>193</x>
- <y>96</y>
- <width>188</width>
- <height>60</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QTreeWidget" name="treeWidget_2" >
- <property name="objectName" >
- <string notr="true" >treeWidget_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>96</y>
- <width>186</width>
- <height>60</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QListWidget" name="listWidget_2" >
- <property name="objectName" >
- <string notr="true" >listWidget_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>186</width>
- <height>43</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTreeWidget" name="treeWidget" >
- <property name="objectName" >
- <string notr="true" >treeWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>48</y>
- <width>186</width>
- <height>43</height>
- </rect>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTabWidget" name="tabWidget" >
- <property name="objectName" >
- <string notr="true" >tabWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>9</x>
- <y>201</y>
- <width>382</width>
- <height>90</height>
- </rect>
- </property>
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>90</height>
- </size>
- </property>
- <property name="tabPosition" >
- <enum>QTabWidget::North</enum>
- </property>
- <property name="tabShape" >
- <enum>QTabWidget::Rounded</enum>
- </property>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>380</width>
- <height>63</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 1</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>459</width>
- <height>66</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 2</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <pixmapfunction></pixmapfunction>
- <connections/>
-</ui>
diff --git a/tests/benchmarks/qtwidgets/icons/big.png b/tests/benchmarks/qtwidgets/icons/big.png
deleted file mode 100644
index 6032804..0000000
--- a/tests/benchmarks/qtwidgets/icons/big.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qtwidgets/icons/folder.png b/tests/benchmarks/qtwidgets/icons/folder.png
deleted file mode 100644
index 981a25d..0000000
--- a/tests/benchmarks/qtwidgets/icons/folder.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qtwidgets/icons/icon.bmp b/tests/benchmarks/qtwidgets/icons/icon.bmp
deleted file mode 100644
index 196de6a..0000000
--- a/tests/benchmarks/qtwidgets/icons/icon.bmp
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qtwidgets/icons/icon.png b/tests/benchmarks/qtwidgets/icons/icon.png
deleted file mode 100644
index 8f9c562..0000000
--- a/tests/benchmarks/qtwidgets/icons/icon.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qtwidgets/mainwindow.cpp b/tests/benchmarks/qtwidgets/mainwindow.cpp
deleted file mode 100644
index bb19567..0000000
--- a/tests/benchmarks/qtwidgets/mainwindow.cpp
+++ /dev/null
@@ -1,313 +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 "mainwindow.h"
-#include <QSplitter>
-#include <QHeaderView>
-
-StyleWidget::StyleWidget(QWidget *parent, Qt::WFlags f)
- : QWidget(parent, f)
-{
- QHBoxLayout *hbox = new QHBoxLayout(this);
- QSplitter *spl = new QSplitter(this);
-
- // standard widgets
- QWidget *leftWidget = new QWidget(this);
- m_staWidget.setupUi(leftWidget);
-
- // advanced/system widgets
- QGroupBox *rightWidget = new QGroupBox("Advanced", this);
- QVBoxLayout *vbox = new QVBoxLayout(rightWidget);
- QWidget *adv = new QWidget(rightWidget);
- m_advWidget.setupUi(adv);
- QWidget *sys = new QWidget(rightWidget);
- m_sysWidget.setupUi(sys);
- vbox->addWidget(adv);
- vbox->addWidget(sys);
-
- spl->addWidget(leftWidget);
- spl->addWidget(rightWidget);
-
- hbox->setMargin(4);
- hbox->addWidget(spl);
-
- m_small1 = QIcon(":/icons/icon.bmp");
- m_small2 = QIcon(":/icons/icon.png");
- m_big = QIcon(":/icons/big.png");
-
- addComboBoxItems();
- addTreeItems();
- addTreeListItems();
- addListItems();
- addTextEdit();
- setupOtherWidgets();
- setupButtons();
-
- foreach(QWidget *w, qFindChildren<QWidget *>(parentWidget()))
- w->setWhatsThis(w->metaObject()->className());
-}
-
-StyleWidget::~StyleWidget()
-{
-
-}
-
-void StyleWidget::addTextEdit()
-{
- m_staWidget.textEdit->setPlainText(
- "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text");
- m_staWidget.textEdit_2->setPlainText(
- "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text");
- m_staWidget.textEdit_3->setPlainText(
- "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text" \
- "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\n");
-}
-
-void StyleWidget::addComboBoxItems()
-{
- m_staWidget.comboBox->addItem("Item 1");
- m_staWidget.comboBox->addItem("Item 2");
- m_staWidget.comboBox->addItem("Item 3");
- m_staWidget.comboBox->addItem("Item 4");
- m_staWidget.comboBox->addItem("Item 5");
-}
-
-void StyleWidget::addListItems()
-{
- m_staWidget.listWidget->addItem("Item 1");
- m_staWidget.listWidget->addItem("Item 2");
- m_staWidget.listWidget->addItem("Item 3");
- m_staWidget.listWidget->addItem("Item 4");
- m_staWidget.listWidget->addItem("Item 5");
-
- QListWidgetItem *tmp = new QListWidgetItem("Item 1", m_staWidget.listWidget_2);
- tmp->setCheckState(Qt::Checked);
- tmp = new QListWidgetItem("Item 2", m_staWidget.listWidget_2);
- tmp->setCheckState(Qt::Checked);
- tmp = new QListWidgetItem("Item 3", m_staWidget.listWidget_2);
- tmp->setCheckState(Qt::Checked);
- tmp = new QListWidgetItem("Item 4", m_staWidget.listWidget_2);
- tmp->setCheckState(Qt::Checked);
- tmp = new QListWidgetItem("Item 5", m_staWidget.listWidget_2);
- tmp->setCheckState(Qt::Checked);
-
- tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_3);
- tmp->setCheckState(Qt::Checked);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_3);
- tmp->setCheckState(Qt::Checked);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_3);
- tmp->setCheckState(Qt::Checked);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_3);
- tmp->setCheckState(Qt::Checked);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_3);
- tmp->setCheckState(Qt::Checked);
- tmp->setIcon(m_small1);
-
- m_advWidget.listWidget->setViewMode(QListView::IconMode);
- QIcon folder(":/icons/folder.png");
- tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget);
- tmp->setIcon(folder);
- tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget);
- tmp->setIcon(folder);
- tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget);
- tmp->setIcon(folder);
- tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget);
- tmp->setIcon(folder);
- tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget);
- tmp->setIcon(folder);
-
- tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_2);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_2);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_2);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_2);
- tmp->setIcon(m_small1);
- tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_2);
- tmp->setIcon(m_small1);
-}
-
-void StyleWidget::setupOtherWidgets()
-{
- m_sysWidget.tableWidget->setRowCount(100);
- m_sysWidget.tableWidget->setColumnCount(100);
-}
-
-void StyleWidget::addTreeItems()
-{
- //standard tree
- m_staWidget.treeWidget_2->setColumnCount(1);
- m_staWidget.treeWidget_2->header()->hide();
-
- QTreeWidgetItem *tmp;
- QTreeWidgetItem *subtmp;
- QTreeWidgetItem *root1 = new QTreeWidgetItem(m_staWidget.treeWidget_2);
- root1->setText(0, "Root 1");
- QTreeWidgetItem *root2 = new QTreeWidgetItem(m_staWidget.treeWidget_2);
- root2->setText(0, "Root 2");
-
- for (int i=1; i<=10; ++i)
- {
- tmp = new QTreeWidgetItem(root1);
- tmp->setText(0, QString("Item %1").arg(i));
- for (int j=1; j<=5; ++j)
- {
- subtmp = new QTreeWidgetItem(tmp);
- subtmp->setText(0, QString("Sub Item %1").arg(j));
- }
- }
-
- // standard checked tree
- m_staWidget.treeWidget_4->setColumnCount(1);
- m_staWidget.treeWidget_4->header()->hide();
-
- root1 = new QTreeWidgetItem(m_staWidget.treeWidget_4);
- root1->setText(0, "Root 1");
- root1->setCheckState(0, Qt::Checked);
- root2 = new QTreeWidgetItem(m_staWidget.treeWidget_4);
- root2->setText(0, "Root 2");
- root2->setCheckState(0, Qt::Checked);
-
- for (int i=1; i<=10; ++i)
- {
- tmp = new QTreeWidgetItem(root1);
- tmp->setText(0, QString("Item %1").arg(i));
- tmp->setCheckState(0, Qt::Checked);
- for (int j=1; j<=5; ++j)
- {
- subtmp = new QTreeWidgetItem(tmp);
- subtmp->setText(0, QString("Sub Item %1").arg(j));
- subtmp->setCheckState(0, Qt::Checked);
- }
- }
-
- // advanced (images) tree
- m_advWidget.treeWidget_2->setColumnCount(1);
- m_advWidget.treeWidget_2->header()->hide();
-
- root1 = new QTreeWidgetItem(m_advWidget.treeWidget_2);
- root1->setText(0, "Root 1");
- root1->setIcon(0, m_small1);
- root2 = new QTreeWidgetItem(m_advWidget.treeWidget_2);
- root2->setText(0, "Root 2");
- root2->setIcon(0, m_small1);
-
- for (int i=1; i<=10; ++i)
- {
- tmp = new QTreeWidgetItem(root1);
- tmp->setText(0, QString("Item %1").arg(i));
- tmp->setIcon(0, m_small2);
- for (int j=1; j<=5; ++j)
- {
- subtmp = new QTreeWidgetItem(tmp);
- subtmp->setText(0, QString("Sub Item %1").arg(j));
- tmp->setIcon(0, m_small1);
- }
- }
-
-}
-
-void StyleWidget::addTreeListItems()
-{
- //standard list
- QTreeWidgetItem *tmp;
- m_staWidget.treeWidget->setColumnCount(3);
- m_staWidget.treeWidget->headerItem()->setText(0, "Col1");
- m_staWidget.treeWidget->headerItem()->setText(1, "Col2");
- m_staWidget.treeWidget->headerItem()->setText(2, "Col3");
-
- for (int i=1; i<10; ++i)
- {
- tmp = new QTreeWidgetItem(m_staWidget.treeWidget);
- tmp->setText(0, QString("Item%1").arg(i));
- tmp->setText(1, QString("Item%11").arg(i));
- tmp->setText(2, QString("Item%12").arg(i));
- }
-
- //standard checked list
- m_staWidget.treeWidget_3->setColumnCount(3);
- m_staWidget.treeWidget_3->headerItem()->setText(0, "Col1");
- m_staWidget.treeWidget_3->headerItem()->setText(1, "Col2");
- m_staWidget.treeWidget_3->headerItem()->setText(2, "Col3");
-
- for (int i=1; i<10; ++i)
- {
- tmp = new QTreeWidgetItem(m_staWidget.treeWidget_3);
- tmp->setText(0, QString("Item%1").arg(i));
- tmp->setCheckState(0, Qt::Checked);
- tmp->setText(1, QString("Item%11").arg(i));
- tmp->setText(2, QString("Item%12").arg(i));
- }
-
- //with images
- m_advWidget.treeWidget->setColumnCount(2);
- m_advWidget.treeWidget->headerItem()->setText(0, "Col1");
- m_advWidget.treeWidget->headerItem()->setIcon(0, m_small2);
- m_advWidget.treeWidget->headerItem()->setText(1, "Col2");
- m_advWidget.treeWidget->headerItem()->setIcon(1, m_small2);
-
- for (int i=1; i<10; ++i)
- {
- tmp = new QTreeWidgetItem(m_advWidget.treeWidget);
- tmp->setText(0, QString("Item%1").arg(i));
- tmp->setIcon(0, m_small1);
- tmp->setText(1, QString("Item%11").arg(i));
- }
-}
-
-void StyleWidget::setupButtons()
-{
- m_advWidget.pushButton->setIcon(m_small1);
- m_advWidget.pushButton_2->setIcon(m_small1);
- m_advWidget.checkBox->setIcon(m_small2);
- m_advWidget.checkBox_2->setIcon(m_small2);
- m_advWidget.radioButton->setIcon(m_small2);
- m_advWidget.radioButton_2->setIcon(m_small2);
-
- // tab page images
- m_advWidget.tabWidget->setTabIcon(0, m_small2);
- m_advWidget.tabWidget->setTabIcon(1, m_small2);
-}
diff --git a/tests/benchmarks/qtwidgets/mainwindow.h b/tests/benchmarks/qtwidgets/mainwindow.h
deleted file mode 100644
index 8a4521a..0000000
--- a/tests/benchmarks/qtwidgets/mainwindow.h
+++ /dev/null
@@ -1,80 +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$
-**
-****************************************************************************/
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QWidget>
-#include <QWhatsThis>
-#include "ui_standard.h"
-#include "ui_advanced.h"
-#include "ui_system.h"
-
-class StyleWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- StyleWidget(QWidget *parent = 0, Qt::WFlags f = 0);
- ~StyleWidget();
-
-public slots:
- void onWhatsThis() { QWhatsThis::enterWhatsThisMode(); }
-
-private:
- void addComboBoxItems();
- void addListItems();
- void addTextEdit();
- void setupOtherWidgets();
- void setupButtons();
- void addTreeItems();
- void addTreeListItems();
-
- Ui::Standard m_staWidget;
- Ui::Advanced m_advWidget;
- Ui::System m_sysWidget;
-
- QIcon m_small1;
- QIcon m_small2;
- QIcon m_big;
-};
-
-#endif //MAINWINDOW_H
-
diff --git a/tests/benchmarks/qtwidgets/qtstyles.qrc b/tests/benchmarks/qtwidgets/qtstyles.qrc
deleted file mode 100644
index 772891d..0000000
--- a/tests/benchmarks/qtwidgets/qtstyles.qrc
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/">
- <file name="icon.png">./icons/icon.png</file>
- <file name="icon.bmp">./icons/icon.bmp</file>
- <file name="big.png">./icons/big.png</file>
- <file name="folder.png">./icons/folder.png</file>
-</qresource>
-</RCC>
diff --git a/tests/benchmarks/qtwidgets/qtwidgets.pro b/tests/benchmarks/qtwidgets/qtwidgets.pro
deleted file mode 100644
index ad5e7ac..0000000
--- a/tests/benchmarks/qtwidgets/qtwidgets.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-load(qttest_p4)
-
-SOURCES += tst_qtwidgets.cpp mainwindow.cpp
-HEADERS += mainwindow.h
-QT += network
-RESOURCES = qtstyles.qrc
-FORMS += advanced.ui system.ui standard.ui
-
-
diff --git a/tests/benchmarks/qtwidgets/standard.ui b/tests/benchmarks/qtwidgets/standard.ui
deleted file mode 100644
index 9764a66..0000000
--- a/tests/benchmarks/qtwidgets/standard.ui
+++ /dev/null
@@ -1,1207 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
- <class>Standard</class>
- <widget class="QWidget" name="Standard" >
- <property name="objectName" >
- <string notr="true" >Standard</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>0</number>
- </property>
- <item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="objectName" >
- <string notr="true" >groupBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <property name="title" >
- <string>Standard</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QCheckBox" name="checkBox" >
- <property name="objectName" >
- <string notr="true" >checkBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>114</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Enabled &amp;CheckBox</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="checkBox_2" >
- <property name="objectName" >
- <string notr="true" >checkBox_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>121</x>
- <y>1</y>
- <width>116</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Disabled Check&amp;Box</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>243</x>
- <y>1</y>
- <width>80</width>
- <height>3</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QComboBox" name="comboBox" >
- <property name="objectName" >
- <string notr="true" >comboBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>41</width>
- <height>3</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="comboBox_2" >
- <property name="objectName" >
- <string notr="true" >comboBox_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>48</x>
- <y>1</y>
- <width>41</width>
- <height>3</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="comboBox_3" >
- <property name="objectName" >
- <string notr="true" >comboBox_3</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>95</x>
- <y>1</y>
- <width>41</width>
- <height>3</height>
- </rect>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QPushButton" name="pushButton" >
- <property name="objectName" >
- <string notr="true" >pushButton</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>80</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>&amp;Enabled</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pushButton_2" >
- <property name="objectName" >
- <string notr="true" >pushButton_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>87</x>
- <y>1</y>
- <width>80</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Di&amp;sabled</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>173</x>
- <y>1</y>
- <width>150</width>
- <height>3</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QLabel" name="label" >
- <property name="objectName" >
- <string notr="true" >label</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>99</width>
- <height>3</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Plain</enum>
- </property>
- <property name="text" >
- <string>Label with some text.</string>
- </property>
- <property name="textFormat" >
- <enum>Qt::AutoText</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_2" >
- <property name="objectName" >
- <string notr="true" >label_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>106</x>
- <y>1</y>
- <width>139</width>
- <height>3</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Plain</enum>
- </property>
- <property name="text" >
- <string>Disabled label with some text.</string>
- </property>
- <property name="textFormat" >
- <enum>Qt::AutoText</enum>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>251</x>
- <y>1</y>
- <width>72</width>
- <height>3</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QLineEdit" name="lineEdit" >
- <property name="objectName" >
- <string notr="true" >lineEdit</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>135</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Enabled</string>
- </property>
- <property name="echoMode" >
- <enum>QLineEdit::Normal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="lineEdit_2" >
- <property name="objectName" >
- <string notr="true" >lineEdit_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>142</x>
- <y>1</y>
- <width>134</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Disabled</string>
- </property>
- <property name="echoMode" >
- <enum>QLineEdit::Normal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="spinBox" >
- <property name="objectName" >
- <string notr="true" >spinBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>282</x>
- <y>1</y>
- <width>41</width>
- <height>3</height>
- </rect>
- </property>
- <property name="buttonSymbols" >
- <enum>QAbstractSpinBox::UpDownArrows</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QRadioButton" name="radioButton" >
- <property name="objectName" >
- <string notr="true" >radioButton</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>123</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Enabled RadioButton</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="radioButton_2" >
- <property name="objectName" >
- <string notr="true" >radioButton_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>130</x>
- <y>1</y>
- <width>125</width>
- <height>3</height>
- </rect>
- </property>
- <property name="text" >
- <string>Disabled RadioButton</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>261</x>
- <y>1</y>
- <width>62</width>
- <height>3</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QScrollBar" name="horizontalScrollBar" >
- <property name="objectName" >
- <string notr="true" >horizontalScrollBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>90</width>
- <height>3</height>
- </rect>
- </property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize" >
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QScrollBar" name="horizontalScrollBar_2" >
- <property name="objectName" >
- <string notr="true" >horizontalScrollBar_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>97</x>
- <y>1</y>
- <width>30</width>
- <height>3</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QScrollBar" name="verticalScrollBar" >
- <property name="objectName" >
- <string notr="true" >verticalScrollBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>333</x>
- <y>1</y>
- <width>17</width>
- <height>37</height>
- </rect>
- </property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="slider" >
- <property name="objectName" >
- <string notr="true" >slider</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>356</x>
- <y>1</y>
- <width>21</width>
- <height>37</height>
- </rect>
- </property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="tickPosition" >
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval" >
- <number>0</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QSlider" name="slider_2" >
- <property name="objectName" >
- <string notr="true" >slider_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>6</y>
- <width>90</width>
- <height>16</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition" >
- <enum>QSlider::NoTicks</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="slider_3" >
- <property name="objectName" >
- <string notr="true" >slider_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>97</x>
- <y>3</y>
- <width>89</width>
- <height>21</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition" >
- <enum>QSlider::TicksBelow</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="slider_4" >
- <property name="objectName" >
- <string notr="true" >slider_4</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>192</x>
- <y>3</y>
- <width>90</width>
- <height>21</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition" >
- <enum>QSlider::TicksAbove</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="slider_5" >
- <property name="objectName" >
- <string notr="true" >slider_5</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>288</x>
- <y>1</y>
- <width>89</width>
- <height>26</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition" >
- <enum>QSlider::TicksBothSides</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QTextEdit" name="textEdit" >
- <property name="objectName" >
- <string notr="true" >textEdit</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>89</width>
- <height>37</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="verticalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTextEdit" name="textEdit_2" >
- <property name="objectName" >
- <string notr="true" >textEdit_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>96</x>
- <y>1</y>
- <width>90</width>
- <height>37</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="verticalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="horizontalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTextEdit" name="textEdit_3" >
- <property name="objectName" >
- <string notr="true" >textEdit_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>192</x>
- <y>1</y>
- <width>89</width>
- <height>100</height>
- </rect>
- </property>
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>100</height>
- </size>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="verticalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy" >
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTextEdit" name="textEdit_4" >
- <property name="objectName" >
- <string notr="true" >textEdit_4</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>287</x>
- <y>1</y>
- <width>90</width>
- <height>37</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="verticalScrollBarPolicy" >
- <enum>Qt::ScrollBarAsNeeded</enum>
- </property>
- <property name="horizontalScrollBarPolicy" >
- <enum>Qt::ScrollBarAsNeeded</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_2" >
- <property name="objectName" >
- <string notr="true" >groupBox_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>11</x>
- <y>132</y>
- <width>378</width>
- <height>39</height>
- </rect>
- </property>
- <property name="title" >
- <string>GroupBox</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QProgressBar" name="progressBar" >
- <property name="objectName" >
- <string notr="true" >progressBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>11</x>
- <y>20</y>
- <width>356</width>
- <height>8</height>
- </rect>
- </property>
- <property name="value" >
- <number>50</number>
- </property>
- <property name="textVisible" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QListWidget" name="listWidget" >
- <property name="objectName" >
- <string notr="true" >listWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>107</width>
- <height>37</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QListWidget" name="listWidget_2" >
- <property name="objectName" >
- <string notr="true" >listWidget_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>114</x>
- <y>1</y>
- <width>107</width>
- <height>37</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTabWidget" name="tabWidget" >
- <property name="objectName" >
- <string notr="true" >tabWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>227</x>
- <y>1</y>
- <width>150</width>
- <height>37</height>
- </rect>
- </property>
- <property name="minimumSize" >
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="tabPosition" >
- <enum>QTabWidget::North</enum>
- </property>
- <property name="tabShape" >
- <enum>QTabWidget::Rounded</enum>
- </property>
- <widget class="QWidget" name="" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>148</width>
- <height>10</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 1</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>116</width>
- <height>56</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 2</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>116</width>
- <height>56</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 3</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>146</width>
- <height>36</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 4</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTabWidget" name="tabWidget_2" >
- <property name="objectName" >
- <string notr="true" >tabWidget_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>11</x>
- <y>214</y>
- <width>378</width>
- <height>90</height>
- </rect>
- </property>
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>90</height>
- </size>
- </property>
- <property name="tabPosition" >
- <enum>QTabWidget::North</enum>
- </property>
- <property name="tabShape" >
- <enum>QTabWidget::Rounded</enum>
- </property>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>376</width>
- <height>63</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 1</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>424</width>
- <height>66</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 2</string>
- </attribute>
- </widget>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="1" >
- <widget class="QTreeWidget" name="treeWidget_2" >
- <property name="objectName" >
- <string notr="true" >treeWidget_2</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>192</x>
- <y>1</y>
- <width>185</width>
- <height>18</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QTreeWidget" name="treeWidget_3" >
- <property name="objectName" >
- <string notr="true" >treeWidget_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>20</y>
- <width>185</width>
- <height>18</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QTreeWidget" name="treeWidget" >
- <property name="objectName" >
- <string notr="true" >treeWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>185</width>
- <height>18</height>
- </rect>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QTreeWidget" name="treeWidget_4" >
- <property name="objectName" >
- <string notr="true" >treeWidget_4</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>192</x>
- <y>20</y>
- <width>185</width>
- <height>18</height>
- </rect>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <pixmapfunction></pixmapfunction>
- <connections/>
-</ui>
diff --git a/tests/benchmarks/qtwidgets/system.ui b/tests/benchmarks/qtwidgets/system.ui
deleted file mode 100644
index a641e0e..0000000
--- a/tests/benchmarks/qtwidgets/system.ui
+++ /dev/null
@@ -1,658 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
- <class>System</class>
- <widget class="QWidget" name="System" >
- <property name="objectName" >
- <string notr="true" >System</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>604</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <layout class="QGridLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="1" column="1" >
- <widget class="QToolButton" name="toolButton" >
- <property name="objectName" >
- <string notr="true" >toolButton</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>340</x>
- <y>138</y>
- <width>15</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text" >
- <string>...</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QFrame" name="horizontalLine" >
- <property name="objectName" >
- <string notr="true" >horizontalLine</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>146</y>
- <width>333</width>
- <height>3</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::HLine</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QFrame" name="verticalLine" >
- <property name="objectName" >
- <string notr="true" >verticalLine</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>361</x>
- <y>1</y>
- <width>3</width>
- <height>131</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::VLine</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="2" >
- <layout class="QGridLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="1" column="0" >
- <widget class="QDateTimeEdit" name="dateTimeEdit_2" >
- <property name="objectName" >
- <string notr="true" >dateTimeEdit_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>108</y>
- <width>113</width>
- <height>20</height>
- </rect>
- </property>
- <property name="buttonSymbols" >
- <enum>QAbstractSpinBox::UpDownArrows</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QDateTimeEdit" name="dateTimeEdit" >
- <property name="objectName" >
- <string notr="true" >dateTimeEdit</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>41</y>
- <width>113</width>
- <height>20</height>
- </rect>
- </property>
- <property name="buttonSymbols" >
- <enum>QAbstractSpinBox::UpDownArrows</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QDial" name="dial" >
- <property name="objectName" >
- <string notr="true" >dial</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>120</x>
- <y>1</y>
- <width>114</width>
- <height>100</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLCDNumber" name="lcdNumber" >
- <property name="objectName" >
- <string notr="true" >lcdNumber</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>120</x>
- <y>107</y>
- <width>114</width>
- <height>23</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::Box</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Raised</enum>
- </property>
- <property name="mode" >
- <enum>QLCDNumber::Dec</enum>
- </property>
- <property name="segmentStyle" >
- <enum>QLCDNumber::Outline</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QLCDNumber" name="lcdNumber_2" >
- <property name="objectName" >
- <string notr="true" >lcdNumber_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>240</x>
- <y>107</y>
- <width>113</width>
- <height>23</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::Box</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Raised</enum>
- </property>
- <property name="mode" >
- <enum>QLCDNumber::Dec</enum>
- </property>
- <property name="segmentStyle" >
- <enum>QLCDNumber::Outline</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QDial" name="dial_2" >
- <property name="objectName" >
- <string notr="true" >dial_2</string>
- </property>
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="geometry" >
- <rect>
- <x>240</x>
- <y>1</y>
- <width>113</width>
- <height>100</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QTableWidget" name="tableWidget" >
- <property name="objectName" >
- <string notr="true" >tableWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>256</width>
- <height>193</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolBox" name="toolBox" >
- <property name="objectName" >
- <string notr="true" >toolBox</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>263</x>
- <y>1</y>
- <width>118</width>
- <height>193</height>
- </rect>
- </property>
- <property name="frameShape" >
- <enum>QFrame::Box</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Plain</enum>
- </property>
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>98</width>
- <height>119</height>
- </rect>
- </property>
- <attribute name="label" >
- <string>Tool Page 1</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>115</width>
- <height>56</height>
- </rect>
- </property>
- <attribute name="label" >
- <string>Tool Page 2</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTabWidget" name="tabWidget" >
- <property name="objectName" >
- <string notr="true" >tabWidget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>9</x>
- <y>375</y>
- <width>382</width>
- <height>220</height>
- </rect>
- </property>
- <property name="tabShape" >
- <enum>QTabWidget::Rounded</enum>
- </property>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>378</width>
- <height>196</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 1</string>
- </attribute>
- <layout class="QGridLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <layout class="QVBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QComboBox" name="comboBox_3" >
- <property name="objectName" >
- <string notr="true" >comboBox_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>332</width>
- <height>20</height>
- </rect>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QPushButton" name="pushButton_5" >
- <property name="objectName" >
- <string notr="true" >pushButton_5</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>1</y>
- <width>80</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text" >
- <string>&amp;Enabled</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pushButton_6" >
- <property name="objectName" >
- <string notr="true" >pushButton_6</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>87</x>
- <y>1</y>
- <width>80</width>
- <height>23</height>
- </rect>
- </property>
- <property name="text" >
- <string>Di&amp;sabled</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>173</x>
- <y>1</y>
- <width>158</width>
- <height>23</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="margin" >
- <number>1</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QRadioButton" name="radioButton_3" >
- <property name="objectName" >
- <string notr="true" >radioButton_3</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>2</y>
- <width>123</width>
- <height>18</height>
- </rect>
- </property>
- <property name="text" >
- <string>Enabled RadioButton</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="radioButton_4" >
- <property name="objectName" >
- <string notr="true" >radioButton_4</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>130</x>
- <y>2</y>
- <width>125</width>
- <height>18</height>
- </rect>
- </property>
- <property name="text" >
- <string>Disabled RadioButton</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>261</x>
- <y>1</y>
- <width>70</width>
- <height>20</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QProgressBar" name="progressBar" >
- <property name="objectName" >
- <string notr="true" >progressBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>86</y>
- <width>332</width>
- <height>22</height>
- </rect>
- </property>
- <property name="value" >
- <number>24</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QScrollBar" name="horizontalScrollBar" >
- <property name="objectName" >
- <string notr="true" >horizontalScrollBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>1</x>
- <y>114</y>
- <width>332</width>
- <height>17</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="0" column="1" >
- <widget class="QScrollBar" name="verticalScrollBar" >
- <property name="objectName" >
- <string notr="true" >verticalScrollBar</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>349</x>
- <y>9</y>
- <width>17</width>
- <height>132</height>
- </rect>
- </property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <spacer>
- <property name="objectName" >
- <string notr="true" />
- </property>
- <property name="geometry" >
- <rect>
- <x>9</x>
- <y>147</y>
- <width>334</width>
- <height>40</height>
- </rect>
- </property>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="widget" >
- <property name="objectName" >
- <string notr="true" >widget</string>
- </property>
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>377</width>
- <height>187</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Tab Page 2</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <pixmapfunction></pixmapfunction>
- <connections/>
-</ui>
diff --git a/tests/benchmarks/qtwidgets/tst_qtwidgets.cpp b/tests/benchmarks/qtwidgets/tst_qtwidgets.cpp
deleted file mode 100644
index 8d2a31b..0000000
--- a/tests/benchmarks/qtwidgets/tst_qtwidgets.cpp
+++ /dev/null
@@ -1,67 +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 <QtGui>
-#include <QtNetwork>
-
-#include "mainwindow.h"
-
-class tst_QtWidgets: public QObject
-{
- Q_OBJECT
-
-private slots:
- void snapshot();
-};
-
-void tst_QtWidgets::snapshot()
-{
- QBENCHMARK {
- StyleWidget widget(0, Qt::X11BypassWindowManagerHint);
- widget.show();
- QApplication::processEvents();
- }
-}
-
-QTEST_MAIN(tst_QtWidgets)
-
-#include "tst_qtwidgets.moc"
diff --git a/tests/benchmarks/qscriptclass/qscriptclass.pro b/tests/benchmarks/script/qscriptclass/qscriptclass.pro
index f0ffeb7..f0ffeb7 100644
--- a/tests/benchmarks/qscriptclass/qscriptclass.pro
+++ b/tests/benchmarks/script/qscriptclass/qscriptclass.pro
diff --git a/tests/benchmarks/qscriptclass/tst_qscriptclass.cpp b/tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp
index 6ab78b1..6ab78b1 100644
--- a/tests/benchmarks/qscriptclass/tst_qscriptclass.cpp
+++ b/tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp
diff --git a/tests/benchmarks/qscriptengine/qscriptengine.pro b/tests/benchmarks/script/qscriptengine/qscriptengine.pro
index df6dbb3..df6dbb3 100644
--- a/tests/benchmarks/qscriptengine/qscriptengine.pro
+++ b/tests/benchmarks/script/qscriptengine/qscriptengine.pro
diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp
index 6c6f0b1..6c6f0b1 100644
--- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp
diff --git a/tests/benchmarks/qscriptvalue/qscriptvalue.pro b/tests/benchmarks/script/qscriptvalue/qscriptvalue.pro
index 04ea324..04ea324 100644
--- a/tests/benchmarks/qscriptvalue/qscriptvalue.pro
+++ b/tests/benchmarks/script/qscriptvalue/qscriptvalue.pro
diff --git a/tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp
index 3bfc21c..3bfc21c 100644
--- a/tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp
+++ b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp
diff --git a/tests/benchmarks/script/script.pro b/tests/benchmarks/script/script.pro
new file mode 100644
index 0000000..8d689b6
--- /dev/null
+++ b/tests/benchmarks/script/script.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qscriptclass \
+ qscriptengine \
+ qscriptvalue
diff --git a/tests/benchmarks/qsvgrenderer/data/tiger.svg b/tests/benchmarks/svg/qsvgrenderer/data/tiger.svg
index 983e570..983e570 100644
--- a/tests/benchmarks/qsvgrenderer/data/tiger.svg
+++ b/tests/benchmarks/svg/qsvgrenderer/data/tiger.svg
diff --git a/tests/benchmarks/qsvgrenderer/qsvgrenderer.pro b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro
index 8222a09..8222a09 100644
--- a/tests/benchmarks/qsvgrenderer/qsvgrenderer.pro
+++ b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro
diff --git a/tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc
index bdf4a31..bdf4a31 100644
--- a/tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc
+++ b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc
diff --git a/tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp
index 895ffe0..895ffe0 100644
--- a/tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp
+++ b/tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp
diff --git a/tests/benchmarks/svg/svg.pro b/tests/benchmarks/svg/svg.pro
new file mode 100644
index 0000000..cdc2ca5
--- /dev/null
+++ b/tests/benchmarks/svg/svg.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ qsvgrenderer
diff --git a/tests/tests.pro b/tests/tests.pro
index 7fbc8a9..75ca120 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -1,2 +1,3 @@
TEMPLATE = subdirs
-SUBDIRS = auto
+SUBDIRS = auto \
+ benchmarks
diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp
index a77e713..1a5cdee 100644
--- a/tools/runonphone/main.cpp
+++ b/tools/runonphone/main.cpp
@@ -174,11 +174,7 @@ int main(int argc, char *argv[])
}
if(loglevel > 0)
outstream << "Connecting to target via " << serialPortName << endl;
-#ifdef Q_OS_WIN
- launcher->setTrkServerName(QString("\\\\.\\") + serialPortName);
-#else
launcher->setTrkServerName(serialPortName);
-#endif
launcher->setFileName(QString("c:\\sys\\bin\\") + exeFile);
launcher->setCommandLineArgs(cmdLine);
diff --git a/tools/runonphone/runonphone.pro b/tools/runonphone/runonphone.pro
index 2c1be98..7bed3e5 100644
--- a/tools/runonphone/runonphone.pro
+++ b/tools/runonphone/runonphone.pro
@@ -4,7 +4,7 @@ QT -= gui
CONFIG += console
CONFIG -= app_bundle
-include(trk/trk.pri)
+include(symbianutils/symbianutils.pri)
SOURCES += main.cpp \
trksignalhandler.cpp
@@ -12,6 +12,8 @@ SOURCES += main.cpp \
HEADERS += trksignalhandler.h \
serenum.h
+DEFINES += SYMBIANUTILS_INCLUDE_PRI
+
windows {
SOURCES += serenum_win.cpp
LIBS += -lsetupapi \
diff --git a/tools/runonphone/trk/bluetoothlistener.cpp b/tools/runonphone/symbianutils/bluetoothlistener.cpp
index 8d45fb5..df04288 100644
--- a/tools/runonphone/trk/bluetoothlistener.cpp
+++ b/tools/runonphone/symbianutils/bluetoothlistener.cpp
@@ -184,7 +184,7 @@ bool BluetoothListener::start(const QString &device, QString *errorMessage)
return true;
}
-void BluetoothListener::slotStdOutput()
+void BluetoothListener::slotStdOutput()
{
emitMessage(QString::fromLocal8Bit(d->process.readAllStandardOutput()));
}
diff --git a/tools/runonphone/trk/bluetoothlistener.h b/tools/runonphone/symbianutils/bluetoothlistener.h
index 027f286..36894e7 100644
--- a/tools/runonphone/trk/bluetoothlistener.h
+++ b/tools/runonphone/symbianutils/bluetoothlistener.h
@@ -42,6 +42,8 @@
#ifndef BLUETOOTHLISTENER_H
#define BLUETOOTHLISTENER_H
+#include "symbianutils_global.h"
+
#include <QtCore/QObject>
#include <QtCore/QProcess>
@@ -53,7 +55,7 @@ struct BluetoothListenerPrivate;
* The rfcomm command is used. It process can be started in the background
* while connection attempts (TrkDevice::open()) are made in the foreground. */
-class BluetoothListener : public QObject
+class SYMBIANUTILS_EXPORT BluetoothListener : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(BluetoothListener)
diff --git a/tools/runonphone/trk/bluetoothlistener_gui.cpp b/tools/runonphone/symbianutils/bluetoothlistener_gui.cpp
index 6ffdaef..5994eb5 100644
--- a/tools/runonphone/trk/bluetoothlistener_gui.cpp
+++ b/tools/runonphone/symbianutils/bluetoothlistener_gui.cpp
@@ -50,7 +50,7 @@
namespace trk {
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartCommunication(BaseCommunicationStarter &starter,
const QString &msgBoxTitle,
const QString &msgBoxText,
@@ -88,7 +88,7 @@ PromptStartCommunicationResult
return PromptStartCommunicationConnected;
}
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartSerial(BaseCommunicationStarter &starter,
QWidget *msgBoxParent,
QString *errorMessage)
@@ -98,7 +98,7 @@ PromptStartCommunicationResult
return promptStartCommunication(starter, title, message, msgBoxParent, errorMessage);
}
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartBluetooth(BaseCommunicationStarter &starter,
QWidget *msgBoxParent,
QString *errorMessage)
diff --git a/tools/runonphone/trk/bluetoothlistener_gui.h b/tools/runonphone/symbianutils/bluetoothlistener_gui.h
index d673ffe..10e7145 100644
--- a/tools/runonphone/trk/bluetoothlistener_gui.h
+++ b/tools/runonphone/symbianutils/bluetoothlistener_gui.h
@@ -42,6 +42,8 @@
#ifndef BLUETOOTHLISTENER_GUI_H
#define BLUETOOTHLISTENER_GUI_H
+#include "symbianutils_global.h"
+
#include <QtCore/QtGlobal>
QT_BEGIN_NAMESPACE
@@ -62,7 +64,7 @@ enum PromptStartCommunicationResult {
PromptStartCommunicationError
};
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartCommunication(BaseCommunicationStarter &starter,
const QString &msgBoxTitle,
const QString &msgBoxText,
@@ -71,14 +73,14 @@ PromptStartCommunicationResult
// Convenience to start a serial connection (messages prompting
// to launch Trk).
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartSerial(BaseCommunicationStarter &starter,
QWidget *msgBoxParent,
QString *errorMessage);
// Convenience to start blue tooth connection (messages
// prompting to connect).
-PromptStartCommunicationResult
+SYMBIANUTILS_EXPORT PromptStartCommunicationResult
promptStartBluetooth(BaseCommunicationStarter &starter,
QWidget *msgBoxParent,
QString *errorMessage);
diff --git a/tools/runonphone/trk/callback.h b/tools/runonphone/symbianutils/callback.h
index edc2c74..3996d73 100644
--- a/tools/runonphone/trk/callback.h
+++ b/tools/runonphone/symbianutils/callback.h
@@ -42,7 +42,7 @@
#ifndef DEBUGGER_CALLBACK_H
#define DEBUGGER_CALLBACK_H
-#include <QtCore/QtGlobal>
+#include "symbianutils_global.h"
namespace trk {
namespace Internal {
diff --git a/tools/runonphone/trk/communicationstarter.cpp b/tools/runonphone/symbianutils/communicationstarter.cpp
index e5e556e..cdee49f 100644
--- a/tools/runonphone/trk/communicationstarter.cpp
+++ b/tools/runonphone/symbianutils/communicationstarter.cpp
@@ -58,7 +58,6 @@ struct BaseCommunicationStarterPrivate {
int intervalMS;
int attempts;
int n;
- QString device;
QString errorString;
BaseCommunicationStarter::State state;
};
@@ -70,7 +69,6 @@ BaseCommunicationStarterPrivate::BaseCommunicationStarterPrivate(const BaseCommu
intervalMS(1000),
attempts(-1),
n(0),
- device(QLatin1String("/dev/rfcomm0")),
state(BaseCommunicationStarter::TimedOut)
{
}
@@ -108,7 +106,7 @@ BaseCommunicationStarter::StartResult BaseCommunicationStarter::start()
// Before we instantiate timers, and such, try to open the device,
// which should succeed if another listener is already running in
// 'Watch' mode
- if (d->trkDevice->open(d->device , &(d->errorString)))
+ if (d->trkDevice->open(&(d->errorString)))
return ConnectionSucceeded;
// Pull up resources for next attempt
d->n = 0;
@@ -155,12 +153,7 @@ void BaseCommunicationStarter::setAttempts(int a)
QString BaseCommunicationStarter::device() const
{
- return d->device;
-}
-
-void BaseCommunicationStarter::setDevice(const QString &dv)
-{
- d->device = dv;
+ return d->trkDevice->port();
}
QString BaseCommunicationStarter::errorString() const
@@ -175,20 +168,20 @@ void BaseCommunicationStarter::slotTimer()
if (d->attempts >= 0 && d->n >= d->attempts) {
stopTimer();
d->errorString = tr("%1: timed out after %n attempts using an interval of %2ms.", 0, d->n)
- .arg(d->device).arg(d->intervalMS);
+ .arg(d->trkDevice->port()).arg(d->intervalMS);
d->state = TimedOut;
emit timeout();
} else {
// Attempt n to connect?
- if (d->trkDevice->open(d->device , &(d->errorString))) {
+ if (d->trkDevice->open(&(d->errorString))) {
stopTimer();
- const QString msg = tr("%1: Connection attempt %2 succeeded.").arg(d->device).arg(d->n);
+ const QString msg = tr("%1: Connection attempt %2 succeeded.").arg(d->trkDevice->port()).arg(d->n);
emit message(msg);
d->state = Connected;
emit connected();
} else {
const QString msg = tr("%1: Connection attempt %2 failed: %3 (retrying)...")
- .arg(d->device).arg(d->n).arg(d->errorString);
+ .arg(d->trkDevice->port()).arg(d->n).arg(d->errorString);
emit message(msg);
}
}
@@ -228,13 +221,11 @@ BluetoothListener *ConsoleBluetoothStarter::createListener()
bool ConsoleBluetoothStarter::startBluetooth(const TrkDevicePtr &trkDevice,
QObject *listenerParent,
- const QString &device,
int attempts,
QString *errorMessage)
{
// Set up a console starter to print to stdout.
ConsoleBluetoothStarter starter(trkDevice, listenerParent);
- starter.setDevice(device);
starter.setAttempts(attempts);
switch (starter.start()) {
case Started:
diff --git a/tools/runonphone/trk/communicationstarter.h b/tools/runonphone/symbianutils/communicationstarter.h
index 34cf398..0a060ee 100644
--- a/tools/runonphone/trk/communicationstarter.h
+++ b/tools/runonphone/symbianutils/communicationstarter.h
@@ -42,6 +42,8 @@
#ifndef COMMUNICATIONSTARTER_H
#define COMMUNICATIONSTARTER_H
+#include "symbianutils_global.h"
+
#include <QtCore/QSharedPointer>
#include <QtCore/QObject>
@@ -60,7 +62,7 @@ struct BaseCommunicationStarterPrivate;
* The base class can be used as is to prompt the user to launch App TRK for a
* serial communication as this requires no further resource setup. */
-class BaseCommunicationStarter : public QObject {
+class SYMBIANUTILS_EXPORT BaseCommunicationStarter : public QObject {
Q_OBJECT
Q_DISABLE_COPY(BaseCommunicationStarter)
public:
@@ -78,7 +80,6 @@ public:
void setAttempts(int a);
QString device() const;
- void setDevice(const QString &);
State state() const;
QString errorString() const;
@@ -117,7 +118,7 @@ private:
* implement as a factory function that creates and sets up the
* listener (mode, message connection, etc). */
-class AbstractBluetoothStarter : public BaseCommunicationStarter {
+class SYMBIANUTILS_EXPORT AbstractBluetoothStarter : public BaseCommunicationStarter {
Q_OBJECT
Q_DISABLE_COPY(AbstractBluetoothStarter)
public:
@@ -134,13 +135,12 @@ protected:
/* ConsoleBluetoothStarter: Convenience class for console processes. Creates a
* listener in "Listen" mode with the messages redirected to standard output. */
-class ConsoleBluetoothStarter : public AbstractBluetoothStarter {
+class SYMBIANUTILS_EXPORT ConsoleBluetoothStarter : public AbstractBluetoothStarter {
Q_OBJECT
Q_DISABLE_COPY(ConsoleBluetoothStarter)
public:
static bool startBluetooth(const TrkDevicePtr& trkDevice,
QObject *listenerParent,
- const QString &device,
int attempts,
QString *errorMessage);
diff --git a/tools/runonphone/trk/launcher.cpp b/tools/runonphone/symbianutils/launcher.cpp
index 1796fc5..408829b 100644
--- a/tools/runonphone/trk/launcher.cpp
+++ b/tools/runonphone/symbianutils/launcher.cpp
@@ -41,6 +41,7 @@
#include "launcher.h"
#include "trkutils.h"
+#include "trkutils_p.h"
#include "trkdevice.h"
#include "bluetoothlistener.h"
@@ -66,7 +67,6 @@ struct LauncherPrivate {
explicit LauncherPrivate(const TrkDevicePtr &d);
TrkDevicePtr m_device;
- QString m_trkServerName;
QByteArray m_trkReadBuffer;
Launcher::State m_state;
@@ -130,12 +130,12 @@ void Launcher::addStartupActions(trk::Launcher::Actions startupActions)
void Launcher::setTrkServerName(const QString &name)
{
- d->m_trkServerName = name;
+ d->m_device->setPort(name);
}
QString Launcher::trkServerName() const
{
- return d->m_trkServerName;
+ return d->m_device->port();
}
TrkDevicePtr Launcher::trkDevice() const
@@ -190,7 +190,7 @@ bool Launcher::startServer(QString *errorMessage)
errorMessage->clear();
if (d->m_verbose) {
const QString msg = QString::fromLatin1("Port=%1 Executable=%2 Arguments=%3 Package=%4 Remote Package=%5 Install file=%6")
- .arg(d->m_trkServerName, d->m_fileName,
+ .arg(trkServerName(), d->m_fileName,
d->m_commandLineArgs.join(QString(QLatin1Char(' '))),
d->m_copyState.sourceFileName, d->m_copyState.destinationFileName, d->m_installFileName);
logMessage(msg);
@@ -212,7 +212,7 @@ bool Launcher::startServer(QString *errorMessage)
qWarning("No remote executable given for running.");
return false;
}
- if (!d->m_device->isOpen() && !d->m_device->open(d->m_trkServerName, errorMessage))
+ if (!d->m_device->isOpen() && !d->m_device->open(errorMessage))
return false;
if (d->m_closeDevice) {
connect(this, SIGNAL(finished()), d->m_device.data(), SLOT(close()));
@@ -595,17 +595,19 @@ void Launcher::handleSupportMask(const TrkResult &result)
return;
const char *data = result.data.data() + 1;
- QByteArray str;
+ QString str = QLatin1String("SUPPORTED: ");
for (int i = 0; i < 32; ++i) {
//str.append(" [" + formatByte(data[i]) + "]: ");
- for (int j = 0; j < 8; ++j)
- if (data[i] & (1 << j))
- str.append(QByteArray::number(i * 8 + j, 16) + " ");
+ for (int j = 0; j < 8; ++j) {
+ if (data[i] & (1 << j)) {
+ str.append(QString::number(i * 8 + j, 16));
+ str.append(QLatin1Char(' '));
+ }
+ }
}
- logMessage("SUPPORTED: " + str);
+ logMessage(str);
}
-
void Launcher::cleanUp()
{
//
@@ -614,9 +616,7 @@ void Launcher::cleanUp()
// Sub Cmd: Delete Process
//ProcessID: 0x0000071F (1823)
// [41 24 00 00 00 00 07 1F]
- QByteArray ba;
- appendByte(&ba, 0x00);
- appendByte(&ba, 0x00);
+ QByteArray ba(2, char(0));
appendInt(&ba, d->m_session.pid);
d->m_device->sendTrkMessage(TrkDeleteItem, TrkCallback(), ba, "Delete process");
@@ -669,7 +669,7 @@ void Launcher::copyFileToRemote()
{
emit copyingStarted();
QByteArray ba;
- appendByte(&ba, 0x10);
+ ba.append(char(10));
appendString(&ba, d->m_copyState.destinationFileName.toLocal8Bit(), TargetByteOrder, false);
d->m_device->sendTrkMessage(TrkOpenFile, TrkCallback(this, &Launcher::handleFileCreation), ba);
}
@@ -678,7 +678,7 @@ void Launcher::installRemotePackageSilently()
{
emit installingStarted();
QByteArray ba;
- appendByte(&ba, 'C');
+ ba.append('C');
appendString(&ba, d->m_installFileName.toLocal8Bit(), TargetByteOrder, false);
d->m_device->sendTrkMessage(TrkInstallFile, TrkCallback(this, &Launcher::handleInstallPackageFinished), ba);
}
@@ -705,7 +705,7 @@ QByteArray Launcher::startProcessMessage(const QString &executable,
// It's not started yet
QByteArray ba;
appendShort(&ba, 0, TargetByteOrder); // create new process
- appendByte(&ba, 0); // options - currently unused
+ ba.append(char(0)); // options - currently unused
if(arguments.isEmpty()) {
appendString(&ba, executable.toLocal8Bit(), TargetByteOrder);
return ba;
diff --git a/tools/runonphone/trk/launcher.h b/tools/runonphone/symbianutils/launcher.h
index 8dc6ebe..2b23fd8 100644
--- a/tools/runonphone/trk/launcher.h
+++ b/tools/runonphone/symbianutils/launcher.h
@@ -56,7 +56,7 @@ struct LauncherPrivate;
typedef QSharedPointer<TrkDevice> TrkDevicePtr;
-class Launcher : public QObject
+class SYMBIANUTILS_EXPORT Launcher : public QObject
{
Q_OBJECT
Q_DISABLE_COPY(Launcher)
diff --git a/tools/runonphone/symbianutils/symbiandevicemanager.cpp b/tools/runonphone/symbianutils/symbiandevicemanager.cpp
new file mode 100644
index 0000000..f663816
--- /dev/null
+++ b/tools/runonphone/symbianutils/symbiandevicemanager.cpp
@@ -0,0 +1,331 @@
+/****************************************************************************
+**
+** 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 "symbiandevicemanager.h"
+
+#include <QtCore/QSettings>
+#include <QtCore/QStringList>
+#include <QtCore/QFileInfo>
+#include <QtCore/QtDebug>
+#include <QtCore/QTextStream>
+#include <QtCore/QSharedData>
+#include <QtCore/QScopedPointer>
+
+namespace SymbianUtils {
+
+enum { debug = 0 };
+
+static const char REGKEY_CURRENT_CONTROL_SET[] = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet";
+static const char USBSER[] = "Services/usbser/Enum";
+
+const char *SymbianDeviceManager::linuxBlueToothDeviceRootC = "/dev/rfcomm";
+
+// ------------- SymbianDevice
+class SymbianDeviceData : public QSharedData {
+public:
+ SymbianDeviceData() : type(SerialPortCommunication) {}
+
+ QString portName;
+ QString friendlyName;
+ QString deviceDesc;
+ QString manufacturer;
+ DeviceCommunicationType type;
+};
+
+SymbianDevice::SymbianDevice(SymbianDeviceData *data) :
+ m_data(data)
+{
+
+}
+
+SymbianDevice::SymbianDevice() :
+ m_data(new SymbianDeviceData)
+{
+}
+SymbianDevice::SymbianDevice(const SymbianDevice &rhs) :
+ m_data(rhs.m_data)
+{
+}
+
+SymbianDevice &SymbianDevice::operator=(const SymbianDevice &rhs)
+{
+ if (this != &rhs)
+ m_data = rhs.m_data;
+ return *this;
+}
+
+SymbianDevice::~SymbianDevice()
+{
+}
+
+QString SymbianDevice::portName() const
+{
+ return m_data->portName;
+}
+
+QString SymbianDevice::friendlyName() const
+{
+ return m_data->friendlyName;
+}
+
+QString SymbianDevice::deviceDesc() const
+{
+ return m_data->deviceDesc;
+}
+
+QString SymbianDevice::manufacturer() const
+{
+ return m_data->manufacturer;
+}
+
+DeviceCommunicationType SymbianDevice::type() const
+{
+ return m_data->type;
+}
+
+bool SymbianDevice::isNull() const
+{
+ return !m_data->portName.isEmpty();
+}
+
+QString SymbianDevice::toString() const
+{
+ QString rc;
+ QTextStream str(&rc);
+ format(str);
+ return rc;
+}
+
+void SymbianDevice::format(QTextStream &str) const
+{
+ str << (m_data->type == BlueToothCommunication ? "Bluetooth: " : "Serial: ")
+ << m_data->portName;
+ if (!m_data->friendlyName.isEmpty()) {
+ str << " (" << m_data->friendlyName;
+ if (!m_data->deviceDesc.isEmpty())
+ str << " / " << m_data->deviceDesc;
+ str << ')';
+ }
+ if (!m_data->manufacturer.isEmpty())
+ str << " [" << m_data->manufacturer << ']';
+}
+
+// Compare by port and friendly name
+int SymbianDevice::compare(const SymbianDevice &rhs) const
+{
+ if (const int prc = m_data->portName.compare(rhs.m_data->portName))
+ return prc;
+ if (const int frc = m_data->friendlyName.compare(rhs.m_data->friendlyName))
+ return frc;
+ return 0;
+}
+
+QDebug operator<<(QDebug d, const SymbianDevice &cd)
+{
+ d.nospace() << cd.toString();
+ return d;
+}
+
+// ------------- SymbianDeviceManagerPrivate
+struct SymbianDeviceManagerPrivate {
+ SymbianDeviceManagerPrivate() : m_initialized(false) {}
+
+ bool m_initialized;
+ SymbianDeviceManager::SymbianDeviceList m_devices;
+};
+
+SymbianDeviceManager::SymbianDeviceManager(QObject *parent) :
+ QObject(parent),
+ d(new SymbianDeviceManagerPrivate)
+{
+}
+
+SymbianDeviceManager::~SymbianDeviceManager()
+{
+ delete d;
+}
+
+SymbianDeviceManager::SymbianDeviceList SymbianDeviceManager::devices() const
+{
+ if (!d->m_initialized)
+ const_cast<SymbianDeviceManager*>(this)->update(false);
+ return d->m_devices;
+}
+
+QString SymbianDeviceManager::toString() const
+{
+ QString rc;
+ QTextStream str(&rc);
+ const int count = d->m_devices.size();
+ for (int i = 0; i < count; i++) {
+ str << '#' << i << ' ';
+ d->m_devices.at(i).format(str);
+ str << '\n';
+ }
+ return rc;
+}
+
+QString SymbianDeviceManager::friendlyNameForPort(const QString &port) const
+{
+ foreach (const SymbianDevice &device, d->m_devices) {
+ if (device.portName() == port)
+ return device.friendlyName();
+ }
+ return QString();
+}
+
+void SymbianDeviceManager::update()
+{
+ update(true);
+}
+
+void SymbianDeviceManager::update(bool emitSignals)
+{
+ typedef SymbianDeviceList::iterator SymbianDeviceListIterator;
+
+ if (debug)
+ qDebug(">SerialDeviceLister::update(%d)\n%s", int(emitSignals),
+ qPrintable(toString()));
+
+ d->m_initialized = true;
+ // Get ordered new list
+ SymbianDeviceList newDevices = serialPorts() + blueToothDevices();
+ if (newDevices.size() > 1)
+ qStableSort(newDevices.begin(), newDevices.end());
+ if (d->m_devices == newDevices) // Happy, nothing changed.
+ return;
+ // Merge the lists and emit the respective added/removed signals, assuming
+ // no one can plug a different device on the same port at the speed of lightning
+ if (!d->m_devices.isEmpty()) {
+ // Find deleted devices
+ for (SymbianDeviceListIterator oldIt = d->m_devices.begin(); oldIt != d->m_devices.end(); ) {
+ if (newDevices.contains(*oldIt)) {
+ ++oldIt;
+ } else {
+ const SymbianDevice toBeDeleted = *oldIt;
+ oldIt = d->m_devices.erase(oldIt);
+ if (emitSignals)
+ emit deviceRemoved(toBeDeleted);
+ }
+ }
+ }
+ if (!newDevices.isEmpty()) {
+ // Find new devices and insert in order
+ foreach(const SymbianDevice &newDevice, newDevices) {
+ if (!d->m_devices.contains(newDevice)) {
+ d->m_devices.append(newDevice);
+ if (emitSignals)
+ emit deviceAdded(newDevice);
+ }
+ }
+ if (d->m_devices.size() > 1)
+ qStableSort(d->m_devices.begin(), d->m_devices.end());
+ }
+ if (emitSignals)
+ emit updated();
+
+ if (debug)
+ qDebug("<SerialDeviceLister::update\n%s\n", qPrintable(toString()));
+}
+
+SymbianDeviceManager::SymbianDeviceList SymbianDeviceManager::serialPorts() const
+{
+ SymbianDeviceList rc;
+#ifdef Q_OS_WIN
+ const QSettings registry(REGKEY_CURRENT_CONTROL_SET, QSettings::NativeFormat);
+ const QString usbSerialRootKey = QLatin1String(USBSER) + QLatin1Char('/');
+ const int count = registry.value(usbSerialRootKey + QLatin1String("Count")).toInt();
+ for (int i = 0; i < count; ++i) {
+ QString driver = registry.value(usbSerialRootKey + QString::number(i)).toString();
+ if (driver.contains(QLatin1String("JAVACOMM"))) {
+ driver.replace(QLatin1Char('\\'), QLatin1Char('/'));
+ const QString driverRootKey = QLatin1String("Enum/") + driver + QLatin1Char('/');
+ if (debug > 1)
+ qDebug() << "SerialDeviceLister::serialPorts(): Checking " << i << count
+ << REGKEY_CURRENT_CONTROL_SET << usbSerialRootKey << driverRootKey;
+ QScopedPointer<SymbianDeviceData> device(new SymbianDeviceData);
+ device->type = SerialPortCommunication;
+ device->friendlyName = registry.value(driverRootKey + QLatin1String("FriendlyName")).toString();
+ device->portName = registry.value(driverRootKey + QLatin1String("Device Parameters/PortName")).toString();
+ device->deviceDesc = registry.value(driverRootKey + QLatin1String("DeviceDesc")).toString();
+ device->manufacturer = registry.value(driverRootKey + QLatin1String("Mfg")).toString();
+ rc.append(SymbianDevice(device.take()));
+ }
+ }
+#endif
+ return rc;
+}
+
+SymbianDeviceManager::SymbianDeviceList SymbianDeviceManager::blueToothDevices() const
+{
+ SymbianDeviceList rc;
+#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
+ // Bluetooth devices are created on connection. List the existing ones
+ // or at least the first one.
+ const QString prefix = QLatin1String(linuxBlueToothDeviceRootC);
+ const QString friendlyFormat = QLatin1String("Bluetooth device (%1)");
+ for (int d = 0; d < 4; d++) {
+ QScopedPointer<SymbianDeviceData> device(new SymbianDeviceData);
+ device->type = BlueToothCommunication;
+ device->portName = prefix + QString::number(d);
+ if (d == 0 || QFileInfo(device->portName).exists()) {
+ device->friendlyName = friendlyFormat.arg(device->portName);
+ rc.push_back(SymbianDevice(device.take()));
+ }
+ }
+#endif
+ return rc;
+}
+
+Q_GLOBAL_STATIC(SymbianDeviceManager, symbianDeviceManager)
+
+SymbianDeviceManager *SymbianDeviceManager::instance()
+{
+ return symbianDeviceManager();
+}
+
+QDebug operator<<(QDebug d, const SymbianDeviceManager &sdm)
+{
+ d.nospace() << sdm.toString();
+ return d;
+}
+
+} // namespace SymbianUtilsInternal
diff --git a/tools/runonphone/symbianutils/symbiandevicemanager.h b/tools/runonphone/symbianutils/symbiandevicemanager.h
new file mode 100644
index 0000000..dcf131a
--- /dev/null
+++ b/tools/runonphone/symbianutils/symbiandevicemanager.h
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** 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 SYMBIANDEVICEMANAGER_H
+#define SYMBIANDEVICEMANAGER_H
+
+#include "symbianutils_global.h"
+
+#include <QtCore/QObject>
+#include <QtCore/QExplicitlySharedDataPointer>
+
+QT_BEGIN_NAMESPACE
+class QDebug;
+class QTextStream;
+QT_END_NAMESPACE
+
+namespace SymbianUtils {
+
+struct SymbianDeviceManagerPrivate;
+class SymbianDeviceData;
+
+enum DeviceCommunicationType {
+ SerialPortCommunication = 0,
+ BlueToothCommunication = 1
+};
+
+// SymbianDevice, explicitly shared.
+class SYMBIANUTILS_EXPORT SymbianDevice {
+ explicit SymbianDevice(SymbianDeviceData *data);
+ friend class SymbianDeviceManager;
+public:
+ SymbianDevice();
+ SymbianDevice(const SymbianDevice &rhs);
+ SymbianDevice &operator=(const SymbianDevice &rhs);
+ ~SymbianDevice();
+ int compare(const SymbianDevice &rhs) const;
+
+ DeviceCommunicationType type() const;
+ bool isNull() const;
+ QString portName() const;
+ QString friendlyName() const;
+
+ // Windows only.
+ QString deviceDesc() const;
+ QString manufacturer() const;
+
+ void format(QTextStream &str) const;
+ QString toString() const;
+
+private:
+ QExplicitlySharedDataPointer<SymbianDeviceData> m_data;
+};
+
+QDebug operator<<(QDebug d, const SymbianDevice &);
+
+inline bool operator==(const SymbianDevice &d1, const SymbianDevice &d2)
+ { return d1.compare(d2) == 0; }
+inline bool operator!=(const SymbianDevice &d1, const SymbianDevice &d2)
+ { return d1.compare(d2) != 0; }
+inline bool operator<(const SymbianDevice &d1, const SymbianDevice &d2)
+ { return d1.compare(d2) < 0; }
+
+/* SymbianDeviceManager: Singleton that maintains a list of Symbian devices.
+ * and emits change signals.
+ * On Windows, the update slot must be connected to a signal
+ * emitted from an event handler listening for WM_DEVICECHANGE. */
+class SYMBIANUTILS_EXPORT SymbianDeviceManager : public QObject
+{
+ Q_OBJECT
+public:
+ typedef QList<SymbianDevice> SymbianDeviceList;
+
+ static const char *linuxBlueToothDeviceRootC;
+
+ // Do not use this constructor, it is just public for Q_GLOBAL_STATIC
+ explicit SymbianDeviceManager(QObject *parent = 0);
+ virtual ~SymbianDeviceManager();
+
+ // Singleton access.
+ static SymbianDeviceManager *instance();
+
+ SymbianDeviceList devices() const;
+ QString toString() const;
+
+ QString friendlyNameForPort(const QString &port) const;
+
+public slots:
+ void update();
+
+signals:
+ void deviceRemoved(const SymbianDevice &d);
+ void deviceAdded(const SymbianDevice &d);
+ void updated();
+
+private:
+ void update(bool emitSignals);
+ SymbianDeviceList serialPorts() const;
+ SymbianDeviceList blueToothDevices() const;
+
+ SymbianDeviceManagerPrivate *d;
+};
+
+QDebug operator<<(QDebug d, const SymbianDeviceManager &);
+
+} // namespace SymbianUtils
+
+#endif // SYMBIANDEVICEMANAGER_H
diff --git a/tools/runonphone/trk/trk.pri b/tools/runonphone/symbianutils/symbianutils.pri
index 2ce17c0..6309517 100644
--- a/tools/runonphone/trk/trk.pri
+++ b/tools/runonphone/symbianutils/symbianutils.pri
@@ -1,18 +1,22 @@
INCLUDEPATH *= $$PWD
# Input
-HEADERS += $$PWD/callback.h \
+HEADERS += $$PWD/symbianutils_global.h \
+ $$PWD/callback.h \
$$PWD/trkutils.h \
+ $$PWD/trkutils_p.h \
$$PWD/trkdevice.h \
$$PWD/launcher.h \
$$PWD/bluetoothlistener.h \
- $$PWD/communicationstarter.h
+ $$PWD/communicationstarter.h \
+ $$PWD/symbiandevicemanager.h
SOURCES += $$PWD/trkutils.cpp \
$$PWD/trkdevice.cpp \
$$PWD/launcher.cpp \
$$PWD/bluetoothlistener.cpp \
- $$PWD/communicationstarter.cpp
+ $$PWD/communicationstarter.cpp \
+ $$PWD/symbiandevicemanager.cpp
# Tests/trklauncher is a console application
contains(QT, gui) {
diff --git a/tools/runonphone/symbianutils/symbianutils_global.h b/tools/runonphone/symbianutils/symbianutils_global.h
new file mode 100644
index 0000000..a6ffbe7
--- /dev/null
+++ b/tools/runonphone/symbianutils/symbianutils_global.h
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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_GLOBAL_H
+#define SYMBIANUTILS_GLOBAL_H
+
+#include <QtCore/qglobal.h>
+
+#if defined(SYMBIANUTILS_BUILD_LIB)
+# define SYMBIANUTILS_EXPORT Q_DECL_EXPORT
+#elif defined(SYMBIANUTILS_BUILD_STATIC_LIB) || defined(SYMBIANUTILS_INCLUDE_PRI)
+# define SYMBIANUTILS_EXPORT
+#else
+# define SYMBIANUTILS_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // SYMBIANUTILS_GLOBAL_H
diff --git a/tools/runonphone/trk/trkdevice.cpp b/tools/runonphone/symbianutils/trkdevice.cpp
index fe3261b..b327ab3 100644
--- a/tools/runonphone/trk/trkdevice.cpp
+++ b/tools/runonphone/symbianutils/trkdevice.cpp
@@ -41,6 +41,7 @@
#include "trkdevice.h"
#include "trkutils.h"
+#include "trkutils_p.h"
#include <QtCore/QString>
#include <QtCore/QDebug>
@@ -516,7 +517,7 @@ static inline bool overlappedSyncWrite(HANDLE file,
bool WriterThread::write(const QByteArray &data, QString *errorMessage)
{
if (verboseTrk)
- qDebug() << "Write raw data: " << data.toHex();
+ qDebug() << "Write raw data: " << stringFromArray(data).toLatin1();
QMutexLocker locker(&m_context->mutex);
#ifdef Q_OS_WIN
DWORD charsWritten;
@@ -856,8 +857,8 @@ void UnixReaderThread::terminate()
{
// Trigger select() by writing to the pipe
char c = 0;
- int written = write(m_terminatePipeFileDescriptors[1], &c, 1);
- // FIXME: Use result.
+ const int written = write(m_terminatePipeFileDescriptors[1], &c, 1);
+ Q_UNUSED(written)
wait();
}
@@ -882,6 +883,7 @@ struct TrkDevicePrivate
QByteArray trkReadBuffer;
int verbose;
QString errorString;
+ QString port;
};
///////////////////////////////////////////////////////////////////////
@@ -913,13 +915,19 @@ TrkDevice::~TrkDevice()
delete d;
}
-bool TrkDevice::open(const QString &port, QString *errorMessage)
+bool TrkDevice::open(QString *errorMessage)
{
if (d->verbose)
- qDebug() << "Opening" << port << "is open: " << isOpen() << " serialFrame=" << serialFrame();
+ qDebug() << "Opening" << port() << "is open: " << isOpen() << " serialFrame=" << serialFrame();
+ if (d->port.isEmpty()) {
+ *errorMessage = QLatin1String("Internal error: No port set on TrkDevice");
+ return false;
+ }
+
close();
#ifdef Q_OS_WIN
- d->deviceContext->device = CreateFile(port.toStdWString().c_str(),
+ const QString fullPort = QLatin1String("\\\\.\\") + d->port;
+ d->deviceContext->device = CreateFile(reinterpret_cast<const WCHAR*>(fullPort.utf16()),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
@@ -928,7 +936,7 @@ bool TrkDevice::open(const QString &port, QString *errorMessage)
NULL);
if (INVALID_HANDLE_VALUE == d->deviceContext->device) {
- *errorMessage = QString::fromLatin1("Could not open device '%1': %2").arg(port, winErrorMessage(GetLastError()));
+ *errorMessage = QString::fromLatin1("Could not open device '%1': %2").arg(port(), winErrorMessage(GetLastError()));
return false;
}
memset(&d->deviceContext->readOverlapped, 0, sizeof(OVERLAPPED));
@@ -940,9 +948,9 @@ bool TrkDevice::open(const QString &port, QString *errorMessage)
return false;
}
#else
- d->deviceContext->file.setFileName(port);
+ d->deviceContext->file.setFileName(d->port);
if (!d->deviceContext->file.open(QIODevice::ReadWrite|QIODevice::Unbuffered)) {
- *errorMessage = QString::fromLatin1("Cannot open %1: %2").arg(port, d->deviceContext->file.errorString());
+ *errorMessage = QString::fromLatin1("Cannot open %1: %2").arg(d->port, d->deviceContext->file.errorString());
return false;
}
@@ -981,7 +989,7 @@ bool TrkDevice::open(const QString &port, QString *errorMessage)
d->writerThread->start();
if (d->verbose)
- qDebug() << "Opened" << port;
+ qDebug() << "Opened" << d->port;
return true;
}
@@ -1015,6 +1023,16 @@ bool TrkDevice::isOpen() const
#endif
}
+QString TrkDevice::port() const
+{
+ return d->port;
+}
+
+void TrkDevice::setPort(const QString &p)
+{
+ d->port = p;
+}
+
QString TrkDevice::errorString() const
{
return d->errorString;
@@ -1061,8 +1079,13 @@ void TrkDevice::sendTrkMessage(byte code, TrkCallback callback,
const QByteArray &data, const QVariant &cookie)
{
if (!d->writerThread.isNull()) {
- if (d->verbose > 1)
- qDebug() << "Sending " << code << data.toHex();
+ if (d->verbose > 1) {
+ QByteArray msg = "Sending: ";
+ msg += QByteArray::number(code, 16);
+ msg += ": ";
+ msg += stringFromArray(data).toLatin1();
+ qDebug("%s", msg.data());
+ }
d->writerThread->queueTrkMessage(code, callback, data, cookie);
}
}
diff --git a/tools/runonphone/trk/trkdevice.h b/tools/runonphone/symbianutils/trkdevice.h
index e04f791..78012fd 100644
--- a/tools/runonphone/trk/trkdevice.h
+++ b/tools/runonphone/symbianutils/trkdevice.h
@@ -42,6 +42,7 @@
#ifndef TRKDEVICE_H
#define TRKDEVICE_H
+#include "symbianutils_global.h"
#include "callback.h"
#include <QtCore/QObject>
@@ -74,18 +75,22 @@ enum { TRK_WRITE_QUEUE_NOOP_CODE = 0x7f };
typedef trk::Callback<const TrkResult &> TrkCallback;
-class TrkDevice : public QObject
+class SYMBIANUTILS_EXPORT TrkDevice : public QObject
{
Q_OBJECT
Q_PROPERTY(bool serialFrame READ serialFrame WRITE setSerialFrame)
Q_PROPERTY(bool verbose READ verbose WRITE setVerbose)
+ Q_PROPERTY(QString port READ port WRITE setPort)
public:
explicit TrkDevice(QObject *parent = 0);
virtual ~TrkDevice();
- bool open(const QString &port, QString *errorMessage);
+ bool open(QString *errorMessage);
bool isOpen() const;
+ QString port() const;
+ void setPort(const QString &p);
+
QString errorString() const;
bool serialFrame() const;
diff --git a/tools/runonphone/trk/trkutils.cpp b/tools/runonphone/symbianutils/trkutils.cpp
index 3a96053..9b43c96 100644
--- a/tools/runonphone/trk/trkutils.cpp
+++ b/tools/runonphone/symbianutils/trkutils.cpp
@@ -86,7 +86,7 @@ void Session::reset()
trkAppVersion.reset();
}
-QString formatCpu(int major, int minor)
+static QString formatCpu(int major, int minor)
{
//: CPU description of an S60 device
//: %1 major verison, %2 minor version
@@ -143,14 +143,46 @@ QString Session::deviceDescription(unsigned verbose) const
return msg.arg(formatTrkVersion(trkAppVersion));
}
+// --------------
+
+QByteArray decode7d(const QByteArray &ba)
+{
+ QByteArray res;
+ res.reserve(ba.size());
+ for (int i = 0; i < ba.size(); ++i) {
+ byte c = byte(ba.at(i));
+ if (c == 0x7d) {
+ ++i;
+ c = 0x20 ^ byte(ba.at(i));
+ }
+ res.append(c);
+ }
+ return res;
+}
+
+QByteArray encode7d(const QByteArray &ba)
+{
+ QByteArray res;
+ res.reserve(ba.size() + 2);
+ for (int i = 0; i < ba.size(); ++i) {
+ byte c = byte(ba.at(i));
+ if (c == 0x7e || c == 0x7d) {
+ res.append(0x7d);
+ res.append(0x20 ^ c);
+ } else {
+ res.append(c);
+ }
+ }
+ return res;
+}
// FIXME: Use the QByteArray based version below?
-QString stringFromByte(byte c)
+static inline QString stringFromByte(byte c)
{
- return QString("%1 ").arg(c, 2, 16, QChar('0'));
+ return QString::fromLatin1("%1").arg(c, 2, 16, QChar('0'));
}
-QString stringFromArray(const QByteArray &ba, int maxLen)
+SYMBIANUTILS_EXPORT QString stringFromArray(const QByteArray &ba, int maxLen)
{
QString str;
QString ascii;
@@ -170,7 +202,7 @@ QString stringFromArray(const QByteArray &ba, int maxLen)
return str + " " + ascii;
}
-QByteArray hexNumber(uint n, int digits)
+SYMBIANUTILS_EXPORT QByteArray hexNumber(uint n, int digits)
{
QByteArray ba = QByteArray::number(n, 16);
if (digits == 0 || ba.size() == digits)
@@ -178,7 +210,7 @@ QByteArray hexNumber(uint n, int digits)
return QByteArray(digits - ba.size(), '0') + ba;
}
-QByteArray hexxNumber(uint n, int digits)
+SYMBIANUTILS_EXPORT QByteArray hexxNumber(uint n, int digits)
{
return "0x" + hexNumber(n, digits);
}
@@ -200,9 +232,13 @@ void TrkResult::clear()
QString TrkResult::toString() const
{
- QString res = stringFromByte(code) + "[" + stringFromByte(token);
- res.chop(1);
- return res + "] " + stringFromArray(data);
+ QString res = stringFromByte(code);
+ res += QLatin1String(" [");
+ res += stringFromByte(token);
+ res += QLatin1Char(']');
+ res += QLatin1Char(' ');
+ res += stringFromArray(data);
+ return res;
}
QByteArray frameMessage(byte command, byte token, const QByteArray &data, bool serialFrame)
@@ -303,12 +339,12 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt
return true;
}
-ushort extractShort(const char *data)
+SYMBIANUTILS_EXPORT ushort extractShort(const char *data)
{
return byte(data[0]) * 256 + byte(data[1]);
}
-uint extractInt(const char *data)
+SYMBIANUTILS_EXPORT uint extractInt(const char *data)
{
uint res = byte(data[0]);
res *= 256; res += byte(data[1]);
@@ -317,7 +353,7 @@ uint extractInt(const char *data)
return res;
}
-QString quoteUnprintableLatin1(const QByteArray &ba)
+SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba)
{
QString res;
char buf[10];
@@ -333,49 +369,7 @@ QString quoteUnprintableLatin1(const QByteArray &ba)
return res;
}
-QByteArray decode7d(const QByteArray &ba)
-{
- QByteArray res;
- res.reserve(ba.size());
- for (int i = 0; i < ba.size(); ++i) {
- byte c = byte(ba.at(i));
- if (c == 0x7d) {
- ++i;
- c = 0x20 ^ byte(ba.at(i));
- }
- res.append(c);
- }
- //if (res != ba)
- // logMessage("DECODED: " << stringFromArray(ba)
- // << " -> " << stringFromArray(res));
- return res;
-}
-
-QByteArray encode7d(const QByteArray &ba)
-{
- QByteArray res;
- res.reserve(ba.size() + 2);
- for (int i = 0; i < ba.size(); ++i) {
- byte c = byte(ba.at(i));
- if (c == 0x7e || c == 0x7d) {
- res.append(0x7d);
- res.append(0x20 ^ c);
- } else {
- res.append(c);
- }
- }
- //if (res != ba)
- // logMessage("ENCODED: " << stringFromArray(ba)
- // << " -> " << stringFromArray(res));
- return res;
-}
-
-void appendByte(QByteArray *ba, byte b)
-{
- ba->append(b);
-}
-
-void appendShort(QByteArray *ba, ushort s, Endianness endian)
+SYMBIANUTILS_EXPORT void appendShort(QByteArray *ba, ushort s, Endianness endian)
{
if (endian == BigEndian) {
ba->append(s / 256);
@@ -386,7 +380,7 @@ void appendShort(QByteArray *ba, ushort s, Endianness endian)
}
}
-void appendInt(QByteArray *ba, uint i, Endianness endian)
+SYMBIANUTILS_EXPORT void appendInt(QByteArray *ba, uint i, Endianness endian)
{
const uchar b3 = i % 256; i /= 256;
const uchar b2 = i % 256; i /= 256;
diff --git a/tools/runonphone/trk/trkutils.h b/tools/runonphone/symbianutils/trkutils.h
index 328dd2b..3a485c7 100644
--- a/tools/runonphone/trk/trkutils.h
+++ b/tools/runonphone/symbianutils/trkutils.h
@@ -42,19 +42,20 @@
#ifndef DEBUGGER_TRK_UTILS
#define DEBUGGER_TRK_UTILS
+#include "symbianutils_global.h"
#include <QtCore/QByteArray>
#include <QtCore/QHash>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
-typedef unsigned char byte;
-
QT_BEGIN_NAMESPACE
class QDateTime;
QT_END_NAMESPACE
namespace trk {
+typedef unsigned char byte;
+
enum Command {
TrkPing = 0x00,
TrkConnect = 0x01,
@@ -85,17 +86,14 @@ enum Command {
TrkNotifyProcessorReset = 0xa7
};
-QByteArray decode7d(const QByteArray &ba);
-QByteArray encode7d(const QByteArray &ba);
-
inline byte extractByte(const char *data) { return *data; }
-ushort extractShort(const char *data);
-uint extractInt(const char *data);
+SYMBIANUTILS_EXPORT ushort extractShort(const char *data);
+SYMBIANUTILS_EXPORT uint extractInt(const char *data);
-QString quoteUnprintableLatin1(const QByteArray &ba);
+SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba);
// produces "xx xx xx "
-QString stringFromArray(const QByteArray &ba, int maxLen = - 1);
+SYMBIANUTILS_EXPORT QString stringFromArray(const QByteArray &ba, int maxLen = - 1);
enum Endianness
{
@@ -104,13 +102,11 @@ enum Endianness
TargetByteOrder = BigEndian,
};
-void appendByte(QByteArray *ba, byte b);
-void appendShort(QByteArray *ba, ushort s, Endianness = TargetByteOrder);
-void appendInt(QByteArray *ba, uint i, Endianness = TargetByteOrder);
-void appendString(QByteArray *ba, const QByteArray &str, Endianness = TargetByteOrder, bool appendNullTerminator = true);
-void appendDateTime(QByteArray *ba, QDateTime dateTime, Endianness = TargetByteOrder);
+SYMBIANUTILS_EXPORT void appendShort(QByteArray *ba, ushort s, Endianness = TargetByteOrder);
+SYMBIANUTILS_EXPORT void appendInt(QByteArray *ba, uint i, Endianness = TargetByteOrder);
+SYMBIANUTILS_EXPORT void appendString(QByteArray *ba, const QByteArray &str, Endianness = TargetByteOrder, bool appendNullTerminator = true);
-struct Library
+struct SYMBIANUTILS_EXPORT Library
{
Library() {}
@@ -119,7 +115,7 @@ struct Library
uint dataseg;
};
-struct TrkAppVersion
+struct SYMBIANUTILS_EXPORT TrkAppVersion
{
TrkAppVersion();
void reset();
@@ -130,7 +126,7 @@ struct TrkAppVersion
int protocolMinor;
};
-struct Session
+struct SYMBIANUTILS_EXPORT Session
{
Session();
void reset();
@@ -163,7 +159,7 @@ struct Session
QStringList modules;
};
-struct TrkResult
+struct SYMBIANUTILS_EXPORT TrkResult
{
TrkResult();
void clear();
@@ -179,15 +175,10 @@ struct TrkResult
bool isDebugOutput;
};
-// 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);
-ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame);
-bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *r, QByteArray *rawData = 0);
-QByteArray errorMessage(byte code);
-QByteArray hexNumber(uint n, int digits = 0);
-QByteArray hexxNumber(uint n, int digits = 0); // prepends '0x', too
-uint swapEndian(uint in);
+SYMBIANUTILS_EXPORT QByteArray errorMessage(byte code);
+SYMBIANUTILS_EXPORT QByteArray hexNumber(uint n, int digits = 0);
+SYMBIANUTILS_EXPORT QByteArray hexxNumber(uint n, int digits = 0); // prepends '0x', too
+SYMBIANUTILS_EXPORT uint swapEndian(uint in);
} // namespace trk
diff --git a/tools/runonphone/symbianutils/trkutils_p.h b/tools/runonphone/symbianutils/trkutils_p.h
new file mode 100644
index 0000000..12b0109
--- /dev/null
+++ b/tools/runonphone/symbianutils/trkutils_p.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** 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 DEBUGGER_TRK_PRIVATE_UTILS
+#define DEBUGGER_TRK_PRIVATE_UTILS
+
+#include "trkutils.h"
+#include "symbianutils_global.h"
+
+QT_BEGIN_NAMESPACE
+class QDateTime;
+QT_END_NAMESPACE
+
+namespace trk {
+
+void appendDateTime(QByteArray *ba, QDateTime dateTime, Endianness = TargetByteOrder);
+// 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);
+
+} // namespace trk
+
+#endif // DEBUGGER_TRK_PRIVATE_UTILS
diff --git a/tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp b/tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp
index b84de11..0b14292 100644
--- a/tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp
+++ b/tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp
@@ -93,15 +93,23 @@ QtCursorDatabase::QtCursorDatabase()
QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-busy.png")));
}
+void QtCursorDatabase::clear()
+{
+ m_cursorNames.clear();
+ m_cursorIcons.clear();
+ m_valueToCursorShape.clear();
+ m_cursorShapeToValue.clear();
+}
+
void QtCursorDatabase::appendCursor(Qt::CursorShape shape, const QString &name, const QIcon &icon)
{
if (m_cursorShapeToValue.contains(shape))
return;
- int value = m_cursorNames.count();
+ const int value = m_cursorNames.count();
m_cursorNames.append(name);
- m_cursorIcons[value] = icon;
- m_valueToCursorShape[value] = shape;
- m_cursorShapeToValue[shape] = value;
+ m_cursorIcons.insert(value, icon);
+ m_valueToCursorShape.insert(value, shape);
+ m_cursorShapeToValue.insert(shape, value);
}
QStringList QtCursorDatabase::cursorShapeNames() const
diff --git a/tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h b/tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h
index b60fb94..baa7a4a 100644
--- a/tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h
+++ b/tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h
@@ -68,6 +68,7 @@ class QtCursorDatabase
{
public:
QtCursorDatabase();
+ void clear();
QStringList cursorShapeNames() const;
QMap<int, QIcon> cursorShapeIcons() const;
diff --git a/tools/shared/qtpropertybrowser/qtpropertymanager.cpp b/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
index 67ab2fb..d9ff10a 100644
--- a/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
+++ b/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
@@ -1391,16 +1391,54 @@ void QtStringPropertyManager::uninitializeProperty(QtProperty *property)
}
// QtBoolPropertyManager
+// Return an icon containing a check box indicator
+static QIcon drawCheckBox(bool value)
+{
+ QStyleOptionButton opt;
+ opt.state |= value ? QStyle::State_On : QStyle::State_Off;
+ opt.state |= QStyle::State_Enabled;
+ const QStyle *style = QApplication::style();
+ // Figure out size of an indicator and make sure it is not scaled down in a list view item
+ // by making the pixmap as big as a list view icon and centering the indicator in it.
+ // (if it is smaller, it can't be helped)
+ const int indicatorWidth = style->pixelMetric(QStyle::PM_IndicatorWidth, &opt);
+ const int indicatorHeight = style->pixelMetric(QStyle::PM_IndicatorHeight, &opt);
+ const int listViewIconSize = indicatorWidth;
+ const int pixmapWidth = indicatorWidth;
+ const int pixmapHeight = qMax(indicatorHeight, listViewIconSize);
+
+ opt.rect = QRect(0, 0, indicatorWidth, indicatorHeight);
+ QPixmap pixmap = QPixmap(pixmapWidth, pixmapHeight);
+ pixmap.fill(Qt::transparent);
+ {
+ // Center?
+ const int xoff = (pixmapWidth > indicatorWidth) ? (pixmapWidth - indicatorWidth) / 2 : 0;
+ const int yoff = (pixmapHeight > indicatorHeight) ? (pixmapHeight - indicatorHeight) / 2 : 0;
+ QPainter painter(&pixmap);
+ painter.translate(xoff, yoff);
+ style->drawPrimitive(QStyle::PE_IndicatorCheckBox, &opt, &painter);
+ }
+ return QIcon(pixmap);
+}
class QtBoolPropertyManagerPrivate
{
QtBoolPropertyManager *q_ptr;
Q_DECLARE_PUBLIC(QtBoolPropertyManager)
public:
+ QtBoolPropertyManagerPrivate();
QMap<const QtProperty *, bool> m_values;
+ const QIcon m_checkedIcon;
+ const QIcon m_uncheckedIcon;
};
+QtBoolPropertyManagerPrivate::QtBoolPropertyManagerPrivate() :
+ m_checkedIcon(drawCheckBox(true)),
+ m_uncheckedIcon(drawCheckBox(false))
+{
+}
+
/*!
\class QtBoolPropertyManager
\internal
@@ -1471,36 +1509,6 @@ QString QtBoolPropertyManager::valueText(const QtProperty *property) const
return it.value() ? trueText : falseText;
}
-// Return an icon containing a check box indicator
-static QIcon drawCheckBox(bool value)
-{
- QStyleOptionButton opt;
- opt.state |= value ? QStyle::State_On : QStyle::State_Off;
- opt.state |= QStyle::State_Enabled;
- const QStyle *style = QApplication::style();
- // Figure out size of an indicator and make sure it is not scaled down in a list view item
- // by making the pixmap as big as a list view icon and centering the indicator in it.
- // (if it is smaller, it can't be helped)
- const int indicatorWidth = style->pixelMetric(QStyle::PM_IndicatorWidth, &opt);
- const int indicatorHeight = style->pixelMetric(QStyle::PM_IndicatorHeight, &opt);
- const int listViewIconSize = indicatorWidth;
- const int pixmapWidth = indicatorWidth;
- const int pixmapHeight = qMax(indicatorHeight, listViewIconSize);
-
- opt.rect = QRect(0, 0, indicatorWidth, indicatorHeight);
- QPixmap pixmap = QPixmap(pixmapWidth, pixmapHeight);
- pixmap.fill(Qt::transparent);
- {
- // Center?
- const int xoff = (pixmapWidth > indicatorWidth) ? (pixmapWidth - indicatorWidth) / 2 : 0;
- const int yoff = (pixmapHeight > indicatorHeight) ? (pixmapHeight - indicatorHeight) / 2 : 0;
- QPainter painter(&pixmap);
- painter.translate(xoff, yoff);
- style->drawPrimitive(QStyle::PE_IndicatorCheckBox, &opt, &painter);
- }
- return QIcon(pixmap);
-}
-
/*!
\reimp
*/
@@ -1510,9 +1518,7 @@ QIcon QtBoolPropertyManager::valueIcon(const QtProperty *property) const
if (it == d_ptr->m_values.constEnd())
return QIcon();
- static const QIcon checkedIcon = drawCheckBox(true);
- static const QIcon uncheckedIcon = drawCheckBox(false);
- return it.value() ? checkedIcon : uncheckedIcon;
+ return it.value() ? d_ptr->m_checkedIcon : d_ptr->m_uncheckedIcon;
}
/*!
@@ -6287,7 +6293,15 @@ void QtColorPropertyManager::uninitializeProperty(QtProperty *property)
// QtCursorPropertyManager
-Q_GLOBAL_STATIC(QtCursorDatabase, cursorDatabase)
+// Make sure icons are removed as soon as QApplication is destroyed, otherwise,
+// handles are leaked on X11.
+static void clearCursorDatabase();
+Q_GLOBAL_STATIC_WITH_INITIALIZER(QtCursorDatabase, cursorDatabase, qAddPostRoutine(clearCursorDatabase))
+
+static void clearCursorDatabase()
+{
+ cursorDatabase()->clear();
+}
class QtCursorPropertyManagerPrivate
{