summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure33
-rw-r--r--demos/README39
-rw-r--r--demos/demos.pro99
-rw-r--r--demos/embedded/digiflip/digiflip.pro12
-rw-r--r--dist/changes-4.8.016
-rw-r--r--examples/animation/animation.pro1
-rw-r--r--examples/animation/sub-attaq/animationmanager.cpp (renamed from demos/sub-attaq/animationmanager.cpp)0
-rw-r--r--examples/animation/sub-attaq/animationmanager.h (renamed from demos/sub-attaq/animationmanager.h)0
-rw-r--r--examples/animation/sub-attaq/boat.cpp (renamed from demos/sub-attaq/boat.cpp)0
-rw-r--r--examples/animation/sub-attaq/boat.h (renamed from demos/sub-attaq/boat.h)0
-rw-r--r--examples/animation/sub-attaq/boat_p.h (renamed from demos/sub-attaq/boat_p.h)0
-rw-r--r--examples/animation/sub-attaq/bomb.cpp (renamed from demos/sub-attaq/bomb.cpp)0
-rw-r--r--examples/animation/sub-attaq/bomb.h (renamed from demos/sub-attaq/bomb.h)0
-rw-r--r--examples/animation/sub-attaq/data.xml (renamed from demos/sub-attaq/data.xml)0
-rw-r--r--examples/animation/sub-attaq/graphicsscene.cpp (renamed from demos/sub-attaq/graphicsscene.cpp)0
-rw-r--r--examples/animation/sub-attaq/graphicsscene.h (renamed from demos/sub-attaq/graphicsscene.h)0
-rw-r--r--examples/animation/sub-attaq/main.cpp (renamed from demos/sub-attaq/main.cpp)0
-rw-r--r--examples/animation/sub-attaq/mainwindow.cpp (renamed from demos/sub-attaq/mainwindow.cpp)0
-rw-r--r--examples/animation/sub-attaq/mainwindow.h (renamed from demos/sub-attaq/mainwindow.h)0
-rw-r--r--examples/animation/sub-attaq/pics/big/background.png (renamed from demos/sub-attaq/pics/big/background.png)bin48858 -> 48858 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/boat.png (renamed from demos/sub-attaq/pics/big/boat.png)bin5198 -> 5198 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/bomb.png (renamed from demos/sub-attaq/pics/big/bomb.png)bin760 -> 760 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/boat/step1.png (renamed from demos/sub-attaq/pics/big/explosion/boat/step1.png)bin5760 -> 5760 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/boat/step2.png (renamed from demos/sub-attaq/pics/big/explosion/boat/step2.png)bin9976 -> 9976 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/boat/step3.png (renamed from demos/sub-attaq/pics/big/explosion/boat/step3.png)bin12411 -> 12411 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/boat/step4.png (renamed from demos/sub-attaq/pics/big/explosion/boat/step4.png)bin15438 -> 15438 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png (renamed from demos/sub-attaq/pics/big/explosion/submarine/step1.png)bin3354 -> 3354 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png (renamed from demos/sub-attaq/pics/big/explosion/submarine/step2.png)bin6205 -> 6205 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png (renamed from demos/sub-attaq/pics/big/explosion/submarine/step3.png)bin6678 -> 6678 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png (renamed from demos/sub-attaq/pics/big/explosion/submarine/step4.png)bin6666 -> 6666 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/submarine.png (renamed from demos/sub-attaq/pics/big/submarine.png)bin3202 -> 3202 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/surface.png (renamed from demos/sub-attaq/pics/big/surface.png)bin575 -> 575 bytes
-rw-r--r--examples/animation/sub-attaq/pics/big/torpedo.png (renamed from demos/sub-attaq/pics/big/torpedo.png)bin951 -> 951 bytes
-rw-r--r--examples/animation/sub-attaq/pics/scalable/background-n810.svg (renamed from demos/sub-attaq/pics/scalable/background-n810.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/background.svg (renamed from demos/sub-attaq/pics/scalable/background.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/boat.svg (renamed from demos/sub-attaq/pics/scalable/boat.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/bomb.svg (renamed from demos/sub-attaq/pics/scalable/bomb.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/sand.svg (renamed from demos/sub-attaq/pics/scalable/sand.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/see.svg (renamed from demos/sub-attaq/pics/scalable/see.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/sky.svg (renamed from demos/sub-attaq/pics/scalable/sky.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/sub-attaq.svg (renamed from demos/sub-attaq/pics/scalable/sub-attaq.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/submarine.svg (renamed from demos/sub-attaq/pics/scalable/submarine.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/surface.svg (renamed from demos/sub-attaq/pics/scalable/surface.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/scalable/torpedo.svg (renamed from demos/sub-attaq/pics/scalable/torpedo.svg)0
-rw-r--r--examples/animation/sub-attaq/pics/small/background.png (renamed from demos/sub-attaq/pics/small/background.png)bin34634 -> 34634 bytes
-rw-r--r--examples/animation/sub-attaq/pics/small/boat.png (renamed from demos/sub-attaq/pics/small/boat.png)bin2394 -> 2394 bytes
-rw-r--r--examples/animation/sub-attaq/pics/small/bomb.png (renamed from demos/sub-attaq/pics/small/bomb.png)bin760 -> 760 bytes
-rw-r--r--examples/animation/sub-attaq/pics/small/submarine.png (renamed from demos/sub-attaq/pics/small/submarine.png)bin1338 -> 1338 bytes
-rw-r--r--examples/animation/sub-attaq/pics/small/surface.png (renamed from demos/sub-attaq/pics/small/surface.png)bin502 -> 502 bytes
-rw-r--r--examples/animation/sub-attaq/pics/small/torpedo.png (renamed from demos/sub-attaq/pics/small/torpedo.png)bin951 -> 951 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-a.png (renamed from demos/sub-attaq/pics/welcome/logo-a.png)bin5972 -> 5972 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-a2.png (renamed from demos/sub-attaq/pics/welcome/logo-a2.png)bin5969 -> 5969 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-b.png (renamed from demos/sub-attaq/pics/welcome/logo-b.png)bin6869 -> 6869 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-dash.png (renamed from demos/sub-attaq/pics/welcome/logo-dash.png)bin2255 -> 2255 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-excl.png (renamed from demos/sub-attaq/pics/welcome/logo-excl.png)bin2740 -> 2740 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-q.png (renamed from demos/sub-attaq/pics/welcome/logo-q.png)bin7016 -> 7016 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-s.png (renamed from demos/sub-attaq/pics/welcome/logo-s.png)bin5817 -> 5817 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-t.png (renamed from demos/sub-attaq/pics/welcome/logo-t.png)bin3717 -> 3717 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-t2.png (renamed from demos/sub-attaq/pics/welcome/logo-t2.png)bin3688 -> 3688 bytes
-rw-r--r--examples/animation/sub-attaq/pics/welcome/logo-u.png (renamed from demos/sub-attaq/pics/welcome/logo-u.png)bin5374 -> 5374 bytes
-rw-r--r--examples/animation/sub-attaq/pixmapitem.cpp (renamed from demos/sub-attaq/pixmapitem.cpp)0
-rw-r--r--examples/animation/sub-attaq/pixmapitem.h (renamed from demos/sub-attaq/pixmapitem.h)0
-rw-r--r--examples/animation/sub-attaq/progressitem.cpp (renamed from demos/sub-attaq/progressitem.cpp)0
-rw-r--r--examples/animation/sub-attaq/progressitem.h (renamed from demos/sub-attaq/progressitem.h)0
-rw-r--r--examples/animation/sub-attaq/qanimationstate.cpp (renamed from demos/sub-attaq/qanimationstate.cpp)0
-rw-r--r--examples/animation/sub-attaq/qanimationstate.h (renamed from demos/sub-attaq/qanimationstate.h)0
-rw-r--r--examples/animation/sub-attaq/states.cpp (renamed from demos/sub-attaq/states.cpp)0
-rw-r--r--examples/animation/sub-attaq/states.h (renamed from demos/sub-attaq/states.h)0
-rw-r--r--examples/animation/sub-attaq/sub-attaq.pro (renamed from demos/sub-attaq/sub-attaq.pro)4
-rw-r--r--examples/animation/sub-attaq/subattaq.qrc (renamed from demos/sub-attaq/subattaq.qrc)0
-rw-r--r--examples/animation/sub-attaq/submarine.cpp (renamed from demos/sub-attaq/submarine.cpp)0
-rw-r--r--examples/animation/sub-attaq/submarine.h (renamed from demos/sub-attaq/submarine.h)0
-rw-r--r--examples/animation/sub-attaq/submarine_p.h (renamed from demos/sub-attaq/submarine_p.h)0
-rw-r--r--examples/animation/sub-attaq/textinformationitem.cpp (renamed from demos/sub-attaq/textinformationitem.cpp)0
-rw-r--r--examples/animation/sub-attaq/textinformationitem.h (renamed from demos/sub-attaq/textinformationitem.h)0
-rw-r--r--examples/animation/sub-attaq/torpedo.cpp (renamed from demos/sub-attaq/torpedo.cpp)0
-rw-r--r--examples/animation/sub-attaq/torpedo.h (renamed from demos/sub-attaq/torpedo.h)0
-rw-r--r--examples/embedded/digiflip/digiflip.cpp (renamed from demos/embedded/digiflip/digiflip.cpp)0
-rw-r--r--examples/embedded/digiflip/digiflip.pro11
-rw-r--r--examples/embedded/embedded.pro (renamed from demos/embedded/embedded.pro)2
-rw-r--r--examples/embedded/flickable/flickable.cpp (renamed from demos/embedded/flickable/flickable.cpp)0
-rw-r--r--examples/embedded/flickable/flickable.h (renamed from demos/embedded/flickable/flickable.h)0
-rw-r--r--examples/embedded/flickable/flickable.pro (renamed from demos/embedded/flickable/flickable.pro)6
-rw-r--r--examples/embedded/flickable/main.cpp (renamed from demos/embedded/flickable/main.cpp)0
-rw-r--r--examples/embedded/flightinfo/aircraft.png (renamed from demos/embedded/flightinfo/aircraft.png)bin20200 -> 20200 bytes
-rw-r--r--examples/embedded/flightinfo/flightinfo.cpp (renamed from demos/embedded/flightinfo/flightinfo.cpp)0
-rw-r--r--examples/embedded/flightinfo/flightinfo.pro (renamed from demos/embedded/flightinfo/flightinfo.pro)6
-rw-r--r--examples/embedded/flightinfo/flightinfo.qrc (renamed from demos/embedded/flightinfo/flightinfo.qrc)0
-rw-r--r--examples/embedded/flightinfo/form.ui (renamed from demos/embedded/flightinfo/form.ui)0
-rw-r--r--examples/embedded/lightmaps/lightmaps.cpp (renamed from demos/embedded/lightmaps/lightmaps.cpp)0
-rw-r--r--examples/embedded/lightmaps/lightmaps.h (renamed from demos/embedded/lightmaps/lightmaps.h)0
-rw-r--r--examples/embedded/lightmaps/lightmaps.pro (renamed from demos/embedded/lightmaps/lightmaps.pro)6
-rw-r--r--examples/embedded/lightmaps/main.cpp (renamed from demos/embedded/lightmaps/main.cpp)0
-rw-r--r--examples/embedded/lightmaps/mapzoom.cpp (renamed from demos/embedded/lightmaps/mapzoom.cpp)0
-rw-r--r--examples/embedded/lightmaps/mapzoom.h (renamed from demos/embedded/lightmaps/mapzoom.h)0
-rw-r--r--examples/embedded/lightmaps/slippymap.cpp (renamed from demos/embedded/lightmaps/slippymap.cpp)0
-rw-r--r--examples/embedded/lightmaps/slippymap.h (renamed from demos/embedded/lightmaps/slippymap.h)0
-rw-r--r--examples/embedded/raycasting/raycasting.cpp (renamed from demos/embedded/raycasting/raycasting.cpp)0
-rw-r--r--examples/embedded/raycasting/raycasting.pro (renamed from demos/embedded/raycasting/raycasting.pro)6
-rw-r--r--examples/embedded/raycasting/raycasting.qrc (renamed from demos/embedded/raycasting/raycasting.qrc)0
-rw-r--r--examples/embedded/raycasting/textures.png (renamed from demos/embedded/raycasting/textures.png)bin17669 -> 17669 bytes
-rwxr-xr-xexamples/embedded/styledemo/files/add.png (renamed from demos/embedded/styledemo/files/add.png)bin1474 -> 1474 bytes
-rw-r--r--examples/embedded/styledemo/files/application.qss (renamed from demos/embedded/styledemo/files/application.qss)0
-rw-r--r--examples/embedded/styledemo/files/blue.qss (renamed from demos/embedded/styledemo/files/blue.qss)0
-rw-r--r--examples/embedded/styledemo/files/khaki.qss (renamed from demos/embedded/styledemo/files/khaki.qss)0
-rw-r--r--examples/embedded/styledemo/files/nature_1.jpg (renamed from demos/embedded/styledemo/files/nature_1.jpg)bin167443 -> 167443 bytes
-rw-r--r--examples/embedded/styledemo/files/nostyle.qss (renamed from demos/embedded/styledemo/files/nostyle.qss)0
-rwxr-xr-xexamples/embedded/styledemo/files/remove.png (renamed from demos/embedded/styledemo/files/remove.png)bin865 -> 865 bytes
-rw-r--r--examples/embedded/styledemo/files/transparent.qss (renamed from demos/embedded/styledemo/files/transparent.qss)0
-rw-r--r--examples/embedded/styledemo/main.cpp (renamed from demos/embedded/styledemo/main.cpp)0
-rw-r--r--examples/embedded/styledemo/styledemo.pro (renamed from demos/embedded/styledemo/styledemo.pro)0
-rw-r--r--examples/embedded/styledemo/styledemo.qrc (renamed from demos/embedded/styledemo/styledemo.qrc)0
-rw-r--r--examples/embedded/styledemo/stylewidget.cpp (renamed from demos/embedded/styledemo/stylewidget.cpp)0
-rw-r--r--examples/embedded/styledemo/stylewidget.h (renamed from demos/embedded/styledemo/stylewidget.h)0
-rw-r--r--examples/embedded/styledemo/stylewidget.ui (renamed from demos/embedded/styledemo/stylewidget.ui)0
-rw-r--r--examples/examples.pro6
-rw-r--r--examples/graphicsview/boxes/3rdparty/fbm.c (renamed from demos/boxes/3rdparty/fbm.c)0
-rw-r--r--examples/graphicsview/boxes/3rdparty/fbm.h (renamed from demos/boxes/3rdparty/fbm.h)0
-rw-r--r--examples/graphicsview/boxes/basic.fsh (renamed from demos/boxes/basic.fsh)0
-rw-r--r--examples/graphicsview/boxes/basic.vsh (renamed from demos/boxes/basic.vsh)0
-rw-r--r--examples/graphicsview/boxes/boxes.pro (renamed from demos/boxes/boxes.pro)4
-rw-r--r--examples/graphicsview/boxes/boxes.qrc (renamed from demos/boxes/boxes.qrc)0
-rw-r--r--examples/graphicsview/boxes/cubemap_negx.jpg (renamed from demos/boxes/cubemap_negx.jpg)bin41060 -> 41060 bytes
-rw-r--r--examples/graphicsview/boxes/cubemap_negy.jpg (renamed from demos/boxes/cubemap_negy.jpg)bin15520 -> 15520 bytes
-rw-r--r--examples/graphicsview/boxes/cubemap_negz.jpg (renamed from demos/boxes/cubemap_negz.jpg)bin68911 -> 68911 bytes
-rw-r--r--examples/graphicsview/boxes/cubemap_posx.jpg (renamed from demos/boxes/cubemap_posx.jpg)bin74915 -> 74915 bytes
-rw-r--r--examples/graphicsview/boxes/cubemap_posy.jpg (renamed from demos/boxes/cubemap_posy.jpg)bin24193 -> 24193 bytes
-rw-r--r--examples/graphicsview/boxes/cubemap_posz.jpg (renamed from demos/boxes/cubemap_posz.jpg)bin57881 -> 57881 bytes
-rw-r--r--examples/graphicsview/boxes/dotted.fsh (renamed from demos/boxes/dotted.fsh)0
-rw-r--r--examples/graphicsview/boxes/fresnel.fsh (renamed from demos/boxes/fresnel.fsh)0
-rw-r--r--examples/graphicsview/boxes/glass.fsh (renamed from demos/boxes/glass.fsh)0
-rw-r--r--examples/graphicsview/boxes/glbuffers.cpp (renamed from demos/boxes/glbuffers.cpp)0
-rw-r--r--examples/graphicsview/boxes/glbuffers.h (renamed from demos/boxes/glbuffers.h)0
-rw-r--r--examples/graphicsview/boxes/glextensions.cpp (renamed from demos/boxes/glextensions.cpp)0
-rw-r--r--examples/graphicsview/boxes/glextensions.h (renamed from demos/boxes/glextensions.h)0
-rw-r--r--examples/graphicsview/boxes/gltrianglemesh.h (renamed from demos/boxes/gltrianglemesh.h)0
-rw-r--r--examples/graphicsview/boxes/granite.fsh (renamed from demos/boxes/granite.fsh)0
-rw-r--r--examples/graphicsview/boxes/main.cpp (renamed from demos/boxes/main.cpp)0
-rw-r--r--examples/graphicsview/boxes/marble.fsh (renamed from demos/boxes/marble.fsh)0
-rw-r--r--examples/graphicsview/boxes/parameters.par (renamed from demos/boxes/parameters.par)0
-rw-r--r--examples/graphicsview/boxes/qt-logo.jpg (renamed from demos/boxes/qt-logo.jpg)bin40886 -> 40886 bytes
-rw-r--r--examples/graphicsview/boxes/qt-logo.png (renamed from demos/boxes/qt-logo.png)bin13923 -> 13923 bytes
-rw-r--r--examples/graphicsview/boxes/qtbox.cpp (renamed from demos/boxes/qtbox.cpp)0
-rw-r--r--examples/graphicsview/boxes/qtbox.h (renamed from demos/boxes/qtbox.h)0
-rw-r--r--examples/graphicsview/boxes/reflection.fsh (renamed from demos/boxes/reflection.fsh)0
-rw-r--r--examples/graphicsview/boxes/refraction.fsh (renamed from demos/boxes/refraction.fsh)0
-rw-r--r--examples/graphicsview/boxes/roundedbox.cpp (renamed from demos/boxes/roundedbox.cpp)0
-rw-r--r--examples/graphicsview/boxes/roundedbox.h (renamed from demos/boxes/roundedbox.h)0
-rw-r--r--examples/graphicsview/boxes/scene.cpp (renamed from demos/boxes/scene.cpp)0
-rw-r--r--examples/graphicsview/boxes/scene.h (renamed from demos/boxes/scene.h)0
-rw-r--r--examples/graphicsview/boxes/smiley.png (renamed from demos/boxes/smiley.png)bin14508 -> 14508 bytes
-rw-r--r--examples/graphicsview/boxes/square.jpg (renamed from demos/boxes/square.jpg)bin14542 -> 14542 bytes
-rw-r--r--examples/graphicsview/boxes/trackball.cpp (renamed from demos/boxes/trackball.cpp)0
-rw-r--r--examples/graphicsview/boxes/trackball.h (renamed from demos/boxes/trackball.h)0
-rw-r--r--examples/graphicsview/boxes/wood.fsh (renamed from demos/boxes/wood.fsh)0
-rw-r--r--examples/graphicsview/chip/chip.cpp (renamed from demos/chip/chip.cpp)0
-rw-r--r--examples/graphicsview/chip/chip.h (renamed from demos/chip/chip.h)0
-rw-r--r--examples/graphicsview/chip/chip.pro (renamed from demos/chip/chip.pro)6
-rw-r--r--examples/graphicsview/chip/fileprint.png (renamed from demos/chip/fileprint.png)bin1456 -> 1456 bytes
-rw-r--r--examples/graphicsview/chip/images.qrc (renamed from demos/chip/images.qrc)0
-rw-r--r--examples/graphicsview/chip/main.cpp (renamed from demos/chip/main.cpp)0
-rw-r--r--examples/graphicsview/chip/mainwindow.cpp (renamed from demos/chip/mainwindow.cpp)0
-rw-r--r--examples/graphicsview/chip/mainwindow.h (renamed from demos/chip/mainwindow.h)0
-rw-r--r--examples/graphicsview/chip/qt4logo.png (renamed from demos/chip/qt4logo.png)bin48333 -> 48333 bytes
-rw-r--r--examples/graphicsview/chip/rotateleft.png (renamed from demos/chip/rotateleft.png)bin1754 -> 1754 bytes
-rw-r--r--examples/graphicsview/chip/rotateright.png (renamed from demos/chip/rotateright.png)bin1732 -> 1732 bytes
-rw-r--r--examples/graphicsview/chip/view.cpp (renamed from demos/chip/view.cpp)0
-rw-r--r--examples/graphicsview/chip/view.h (renamed from demos/chip/view.h)0
-rw-r--r--examples/graphicsview/chip/zoomin.png (renamed from demos/chip/zoomin.png)bin1622 -> 1622 bytes
-rw-r--r--examples/graphicsview/chip/zoomout.png (renamed from demos/chip/zoomout.png)bin1601 -> 1601 bytes
-rw-r--r--examples/graphicsview/embeddeddialogs/No-Ones-Laughing-3.jpg (renamed from demos/embeddeddialogs/No-Ones-Laughing-3.jpg)bin30730 -> 30730 bytes
-rw-r--r--examples/graphicsview/embeddeddialogs/customproxy.cpp (renamed from demos/embeddeddialogs/customproxy.cpp)0
-rw-r--r--examples/graphicsview/embeddeddialogs/customproxy.h (renamed from demos/embeddeddialogs/customproxy.h)0
-rw-r--r--examples/graphicsview/embeddeddialogs/embeddeddialog.cpp (renamed from demos/embeddeddialogs/embeddeddialog.cpp)0
-rw-r--r--examples/graphicsview/embeddeddialogs/embeddeddialog.h (renamed from demos/embeddeddialogs/embeddeddialog.h)0
-rw-r--r--examples/graphicsview/embeddeddialogs/embeddeddialog.ui (renamed from demos/embeddeddialogs/embeddeddialog.ui)0
-rw-r--r--examples/graphicsview/embeddeddialogs/embeddeddialogs.pro (renamed from demos/embeddeddialogs/embeddeddialogs.pro)8
-rw-r--r--examples/graphicsview/embeddeddialogs/embeddeddialogs.qrc (renamed from demos/embeddeddialogs/embeddeddialogs.qrc)0
-rw-r--r--examples/graphicsview/embeddeddialogs/main.cpp (renamed from demos/embeddeddialogs/main.cpp)0
-rw-r--r--examples/graphicsview/graphicsview.pro6
-rw-r--r--examples/itemviews/interview/README (renamed from demos/interview/README)0
-rw-r--r--examples/itemviews/interview/images/folder.png (renamed from demos/interview/images/folder.png)bin3910 -> 3910 bytes
-rw-r--r--examples/itemviews/interview/images/interview.png (renamed from demos/interview/images/interview.png)bin174 -> 174 bytes
-rw-r--r--examples/itemviews/interview/images/services.png (renamed from demos/interview/images/services.png)bin3749 -> 3749 bytes
-rw-r--r--examples/itemviews/interview/interview.pro (renamed from demos/interview/interview.pro)0
-rw-r--r--examples/itemviews/interview/interview.qrc (renamed from demos/interview/interview.qrc)0
-rw-r--r--examples/itemviews/interview/main.cpp (renamed from demos/interview/main.cpp)0
-rw-r--r--examples/itemviews/interview/model.cpp (renamed from demos/interview/model.cpp)0
-rw-r--r--examples/itemviews/interview/model.h (renamed from demos/interview/model.h)0
-rw-r--r--examples/itemviews/spreadsheet/images/interview.png (renamed from demos/spreadsheet/images/interview.png)bin174 -> 174 bytes
-rw-r--r--examples/itemviews/spreadsheet/main.cpp (renamed from demos/spreadsheet/main.cpp)0
-rw-r--r--examples/itemviews/spreadsheet/printview.cpp (renamed from demos/spreadsheet/printview.cpp)0
-rw-r--r--examples/itemviews/spreadsheet/printview.h (renamed from demos/spreadsheet/printview.h)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheet.cpp (renamed from demos/spreadsheet/spreadsheet.cpp)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheet.h (renamed from demos/spreadsheet/spreadsheet.h)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheet.pro (renamed from demos/spreadsheet/spreadsheet.pro)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheet.qrc (renamed from demos/spreadsheet/spreadsheet.qrc)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheetdelegate.cpp (renamed from demos/spreadsheet/spreadsheetdelegate.cpp)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheetdelegate.h (renamed from demos/spreadsheet/spreadsheetdelegate.h)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheetitem.cpp (renamed from demos/spreadsheet/spreadsheetitem.cpp)0
-rw-r--r--examples/itemviews/spreadsheet/spreadsheetitem.h (renamed from demos/spreadsheet/spreadsheetitem.h)0
-rw-r--r--examples/mainwindows/macmainwindow/macmainwindow.h (renamed from demos/macmainwindow/macmainwindow.h)0
-rw-r--r--examples/mainwindows/macmainwindow/macmainwindow.mm (renamed from demos/macmainwindow/macmainwindow.mm)0
-rw-r--r--examples/mainwindows/macmainwindow/macmainwindow.pro (renamed from demos/macmainwindow/macmainwindow.pro)0
-rw-r--r--examples/mainwindows/macmainwindow/main.cpp (renamed from demos/macmainwindow/main.cpp)0
-rw-r--r--examples/mainwindows/mainwindow/colorswatch.cpp (renamed from demos/mainwindow/colorswatch.cpp)0
-rw-r--r--examples/mainwindows/mainwindow/colorswatch.h (renamed from demos/mainwindow/colorswatch.h)0
-rw-r--r--examples/mainwindows/mainwindow/main.cpp (renamed from demos/mainwindow/main.cpp)0
-rw-r--r--examples/mainwindows/mainwindow/mainwindow.cpp (renamed from demos/mainwindow/mainwindow.cpp)0
-rw-r--r--examples/mainwindows/mainwindow/mainwindow.h (renamed from demos/mainwindow/mainwindow.h)0
-rw-r--r--examples/mainwindows/mainwindow/mainwindow.pro (renamed from demos/mainwindow/mainwindow.pro)0
-rw-r--r--examples/mainwindows/mainwindow/mainwindow.qrc (renamed from demos/mainwindow/mainwindow.qrc)0
-rw-r--r--examples/mainwindows/mainwindow/qt.png (renamed from demos/mainwindow/qt.png)bin2037 -> 2037 bytes
-rw-r--r--examples/mainwindows/mainwindow/titlebarCenter.png (renamed from demos/mainwindow/titlebarCenter.png)bin146 -> 146 bytes
-rw-r--r--examples/mainwindows/mainwindow/titlebarLeft.png (renamed from demos/mainwindow/titlebarLeft.png)bin5148 -> 5148 bytes
-rw-r--r--examples/mainwindows/mainwindow/titlebarRight.png (renamed from demos/mainwindow/titlebarRight.png)bin2704 -> 2704 bytes
-rw-r--r--examples/mainwindows/mainwindow/toolbar.cpp (renamed from demos/mainwindow/toolbar.cpp)0
-rw-r--r--examples/mainwindows/mainwindow/toolbar.h (renamed from demos/mainwindow/toolbar.h)0
-rw-r--r--examples/painting/affine/affine.pro (renamed from demos/affine/affine.pro)0
-rw-r--r--examples/painting/affine/affine.qrc (renamed from demos/affine/affine.qrc)0
-rw-r--r--examples/painting/affine/bg1.jpg (renamed from demos/affine/bg1.jpg)bin23771 -> 23771 bytes
-rw-r--r--examples/painting/affine/main.cpp (renamed from demos/affine/main.cpp)0
-rw-r--r--examples/painting/affine/xform.cpp (renamed from demos/affine/xform.cpp)0
-rw-r--r--examples/painting/affine/xform.h (renamed from demos/affine/xform.h)0
-rw-r--r--examples/painting/affine/xform.html (renamed from demos/affine/xform.html)0
-rw-r--r--examples/painting/composition/composition.cpp (renamed from demos/composition/composition.cpp)0
-rw-r--r--examples/painting/composition/composition.h (renamed from demos/composition/composition.h)0
-rw-r--r--examples/painting/composition/composition.html (renamed from demos/composition/composition.html)0
-rw-r--r--examples/painting/composition/composition.pro (renamed from demos/composition/composition.pro)0
-rw-r--r--examples/painting/composition/composition.qrc (renamed from demos/composition/composition.qrc)0
-rw-r--r--examples/painting/composition/flower.jpg (renamed from demos/composition/flower.jpg)bin49616 -> 49616 bytes
-rw-r--r--examples/painting/composition/flower_alpha.jpg (renamed from demos/composition/flower_alpha.jpg)bin67326 -> 67326 bytes
-rw-r--r--examples/painting/composition/main.cpp (renamed from demos/composition/main.cpp)0
-rw-r--r--examples/painting/deform/deform.pro (renamed from demos/deform/deform.pro)0
-rw-r--r--examples/painting/deform/deform.qrc (renamed from demos/deform/deform.qrc)0
-rw-r--r--examples/painting/deform/main.cpp (renamed from demos/deform/main.cpp)0
-rw-r--r--examples/painting/deform/pathdeform.cpp (renamed from demos/deform/pathdeform.cpp)0
-rw-r--r--examples/painting/deform/pathdeform.h (renamed from demos/deform/pathdeform.h)0
-rw-r--r--examples/painting/deform/pathdeform.html (renamed from demos/deform/pathdeform.html)0
-rw-r--r--examples/painting/gradients/gradients.cpp (renamed from demos/gradients/gradients.cpp)0
-rw-r--r--examples/painting/gradients/gradients.h (renamed from demos/gradients/gradients.h)0
-rw-r--r--examples/painting/gradients/gradients.html (renamed from demos/gradients/gradients.html)0
-rw-r--r--examples/painting/gradients/gradients.pro (renamed from demos/gradients/gradients.pro)0
-rw-r--r--examples/painting/gradients/gradients.qrc (renamed from demos/gradients/gradients.qrc)0
-rw-r--r--examples/painting/gradients/main.cpp (renamed from demos/gradients/main.cpp)0
-rw-r--r--examples/painting/pathstroke/main.cpp (renamed from demos/pathstroke/main.cpp)0
-rw-r--r--examples/painting/pathstroke/pathstroke.cpp (renamed from demos/pathstroke/pathstroke.cpp)0
-rw-r--r--examples/painting/pathstroke/pathstroke.h (renamed from demos/pathstroke/pathstroke.h)0
-rw-r--r--examples/painting/pathstroke/pathstroke.html (renamed from demos/pathstroke/pathstroke.html)0
-rw-r--r--examples/painting/pathstroke/pathstroke.pro (renamed from demos/pathstroke/pathstroke.pro)0
-rw-r--r--examples/painting/pathstroke/pathstroke.qrc (renamed from demos/pathstroke/pathstroke.qrc)0
-rw-r--r--examples/painting/shared/arthurstyle.cpp (renamed from demos/shared/arthurstyle.cpp)0
-rw-r--r--examples/painting/shared/arthurstyle.h (renamed from demos/shared/arthurstyle.h)0
-rw-r--r--examples/painting/shared/arthurwidgets.cpp (renamed from demos/shared/arthurwidgets.cpp)0
-rw-r--r--examples/painting/shared/arthurwidgets.h (renamed from demos/shared/arthurwidgets.h)0
-rw-r--r--examples/painting/shared/hoverpoints.cpp (renamed from demos/shared/hoverpoints.cpp)0
-rw-r--r--examples/painting/shared/hoverpoints.h (renamed from demos/shared/hoverpoints.h)0
-rw-r--r--examples/painting/shared/images/bg_pattern.png (renamed from demos/shared/images/bg_pattern.png)bin104 -> 104 bytes
-rw-r--r--examples/painting/shared/images/button_normal_cap_left.png (renamed from demos/shared/images/button_normal_cap_left.png)bin654 -> 654 bytes
-rw-r--r--examples/painting/shared/images/button_normal_cap_right.png (renamed from demos/shared/images/button_normal_cap_right.png)bin674 -> 674 bytes
-rw-r--r--examples/painting/shared/images/button_normal_stretch.png (renamed from demos/shared/images/button_normal_stretch.png)bin185 -> 185 bytes
-rw-r--r--examples/painting/shared/images/button_pressed_cap_left.png (renamed from demos/shared/images/button_pressed_cap_left.png)bin710 -> 710 bytes
-rw-r--r--examples/painting/shared/images/button_pressed_cap_right.png (renamed from demos/shared/images/button_pressed_cap_right.png)bin785 -> 785 bytes
-rw-r--r--examples/painting/shared/images/button_pressed_stretch.png (renamed from demos/shared/images/button_pressed_stretch.png)bin217 -> 217 bytes
-rw-r--r--examples/painting/shared/images/curve_thing_edit-6.png (renamed from demos/shared/images/curve_thing_edit-6.png)bin58097 -> 58097 bytes
-rw-r--r--examples/painting/shared/images/frame_bottom.png (renamed from demos/shared/images/frame_bottom.png)bin166 -> 166 bytes
-rw-r--r--examples/painting/shared/images/frame_bottomleft.png (renamed from demos/shared/images/frame_bottomleft.png)bin602 -> 602 bytes
-rw-r--r--examples/painting/shared/images/frame_bottomright.png (renamed from demos/shared/images/frame_bottomright.png)bin553 -> 553 bytes
-rw-r--r--examples/painting/shared/images/frame_left.png (renamed from demos/shared/images/frame_left.png)bin182 -> 182 bytes
-rw-r--r--examples/painting/shared/images/frame_right.png (renamed from demos/shared/images/frame_right.png)bin175 -> 175 bytes
-rw-r--r--examples/painting/shared/images/frame_top.png (renamed from demos/shared/images/frame_top.png)bin188 -> 188 bytes
-rw-r--r--examples/painting/shared/images/frame_topleft.png (renamed from demos/shared/images/frame_topleft.png)bin801 -> 801 bytes
-rw-r--r--examples/painting/shared/images/frame_topright.png (renamed from demos/shared/images/frame_topright.png)bin851 -> 851 bytes
-rw-r--r--examples/painting/shared/images/groupframe_bottom_left.png (renamed from demos/shared/images/groupframe_bottom_left.png)bin397 -> 397 bytes
-rw-r--r--examples/painting/shared/images/groupframe_bottom_right.png (renamed from demos/shared/images/groupframe_bottom_right.png)bin383 -> 383 bytes
-rw-r--r--examples/painting/shared/images/groupframe_bottom_stretch.png (renamed from demos/shared/images/groupframe_bottom_stretch.png)bin141 -> 141 bytes
-rw-r--r--examples/painting/shared/images/groupframe_left_stretch.png (renamed from demos/shared/images/groupframe_left_stretch.png)bin132 -> 132 bytes
-rw-r--r--examples/painting/shared/images/groupframe_right_stretch.png (renamed from demos/shared/images/groupframe_right_stretch.png)bin113 -> 113 bytes
-rw-r--r--examples/painting/shared/images/groupframe_top_stretch.png (renamed from demos/shared/images/groupframe_top_stretch.png)bin115 -> 115 bytes
-rw-r--r--examples/painting/shared/images/groupframe_topleft.png (renamed from demos/shared/images/groupframe_topleft.png)bin412 -> 412 bytes
-rw-r--r--examples/painting/shared/images/groupframe_topright.png (renamed from demos/shared/images/groupframe_topright.png)bin449 -> 449 bytes
-rw-r--r--examples/painting/shared/images/line_dash_dot.png (renamed from demos/shared/images/line_dash_dot.png)bin151 -> 151 bytes
-rw-r--r--examples/painting/shared/images/line_dash_dot_dot.png (renamed from demos/shared/images/line_dash_dot_dot.png)bin155 -> 155 bytes
-rw-r--r--examples/painting/shared/images/line_dashed.png (renamed from demos/shared/images/line_dashed.png)bin121 -> 121 bytes
-rw-r--r--examples/painting/shared/images/line_dotted.png (renamed from demos/shared/images/line_dotted.png)bin116 -> 116 bytes
-rw-r--r--examples/painting/shared/images/line_solid.png (renamed from demos/shared/images/line_solid.png)bin110 -> 110 bytes
-rw-r--r--examples/painting/shared/images/radiobutton-off.png (renamed from demos/shared/images/radiobutton-off.png)bin442 -> 442 bytes
-rw-r--r--examples/painting/shared/images/radiobutton-on.png (renamed from demos/shared/images/radiobutton-on.png)bin474 -> 474 bytes
-rw-r--r--examples/painting/shared/images/radiobutton_off.png (renamed from demos/shared/images/radiobutton_off.png)bin442 -> 442 bytes
-rw-r--r--examples/painting/shared/images/radiobutton_on.png (renamed from demos/shared/images/radiobutton_on.png)bin499 -> 499 bytes
-rw-r--r--examples/painting/shared/images/slider_bar.png (renamed from demos/shared/images/slider_bar.png)bin748 -> 748 bytes
-rw-r--r--examples/painting/shared/images/slider_thumb_off.png (renamed from demos/shared/images/slider_thumb_off.png)bin823 -> 823 bytes
-rw-r--r--examples/painting/shared/images/slider_thumb_on.png (renamed from demos/shared/images/slider_thumb_on.png)bin798 -> 798 bytes
-rw-r--r--examples/painting/shared/images/title_cap_left.png (renamed from demos/shared/images/title_cap_left.png)bin179 -> 179 bytes
-rw-r--r--examples/painting/shared/images/title_cap_right.png (renamed from demos/shared/images/title_cap_right.png)bin184 -> 184 bytes
-rw-r--r--examples/painting/shared/images/title_stretch.png (renamed from demos/shared/images/title_stretch.png)bin106 -> 106 bytes
-rw-r--r--examples/painting/shared/shared.pri (renamed from demos/shared/shared.pri)0
-rw-r--r--examples/painting/shared/shared.pro (renamed from demos/shared/shared.pro)0
-rw-r--r--examples/painting/shared/shared.qrc (renamed from demos/shared/shared.qrc)0
-rw-r--r--examples/richtext/textedit/example.html (renamed from demos/textedit/example.html)0
-rw-r--r--examples/richtext/textedit/images/logo32.png (renamed from demos/textedit/images/logo32.png)bin1410 -> 1410 bytes
-rw-r--r--examples/richtext/textedit/images/mac/editcopy.png (renamed from demos/textedit/images/mac/editcopy.png)bin1468 -> 1468 bytes
-rw-r--r--examples/richtext/textedit/images/mac/editcut.png (renamed from demos/textedit/images/mac/editcut.png)bin1512 -> 1512 bytes
-rw-r--r--examples/richtext/textedit/images/mac/editpaste.png (renamed from demos/textedit/images/mac/editpaste.png)bin1906 -> 1906 bytes
-rw-r--r--examples/richtext/textedit/images/mac/editredo.png (renamed from demos/textedit/images/mac/editredo.png)bin1752 -> 1752 bytes
-rw-r--r--examples/richtext/textedit/images/mac/editundo.png (renamed from demos/textedit/images/mac/editundo.png)bin1746 -> 1746 bytes
-rw-r--r--examples/richtext/textedit/images/mac/exportpdf.png (renamed from demos/textedit/images/mac/exportpdf.png)bin1215 -> 1215 bytes
-rw-r--r--examples/richtext/textedit/images/mac/filenew.png (renamed from demos/textedit/images/mac/filenew.png)bin1172 -> 1172 bytes
-rw-r--r--examples/richtext/textedit/images/mac/fileopen.png (renamed from demos/textedit/images/mac/fileopen.png)bin2168 -> 2168 bytes
-rw-r--r--examples/richtext/textedit/images/mac/fileprint.png (renamed from demos/textedit/images/mac/fileprint.png)bin2087 -> 2087 bytes
-rw-r--r--examples/richtext/textedit/images/mac/filesave.png (renamed from demos/textedit/images/mac/filesave.png)bin1206 -> 1206 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textbold.png (renamed from demos/textedit/images/mac/textbold.png)bin1611 -> 1611 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textcenter.png (renamed from demos/textedit/images/mac/textcenter.png)bin1404 -> 1404 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textitalic.png (renamed from demos/textedit/images/mac/textitalic.png)bin1164 -> 1164 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textjustify.png (renamed from demos/textedit/images/mac/textjustify.png)bin1257 -> 1257 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textleft.png (renamed from demos/textedit/images/mac/textleft.png)bin1235 -> 1235 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textright.png (renamed from demos/textedit/images/mac/textright.png)bin1406 -> 1406 bytes
-rw-r--r--examples/richtext/textedit/images/mac/textunder.png (renamed from demos/textedit/images/mac/textunder.png)bin1183 -> 1183 bytes
-rw-r--r--examples/richtext/textedit/images/mac/zoomin.png (renamed from demos/textedit/images/mac/zoomin.png)bin1696 -> 1696 bytes
-rw-r--r--examples/richtext/textedit/images/mac/zoomout.png (renamed from demos/textedit/images/mac/zoomout.png)bin1662 -> 1662 bytes
-rw-r--r--examples/richtext/textedit/images/win/editcopy.png (renamed from demos/textedit/images/win/editcopy.png)bin1325 -> 1325 bytes
-rw-r--r--examples/richtext/textedit/images/win/editcut.png (renamed from demos/textedit/images/win/editcut.png)bin1896 -> 1896 bytes
-rw-r--r--examples/richtext/textedit/images/win/editpaste.png (renamed from demos/textedit/images/win/editpaste.png)bin1482 -> 1482 bytes
-rw-r--r--examples/richtext/textedit/images/win/editredo.png (renamed from demos/textedit/images/win/editredo.png)bin1787 -> 1787 bytes
-rw-r--r--examples/richtext/textedit/images/win/editundo.png (renamed from demos/textedit/images/win/editundo.png)bin1768 -> 1768 bytes
-rw-r--r--examples/richtext/textedit/images/win/exportpdf.png (renamed from demos/textedit/images/win/exportpdf.png)bin1059 -> 1059 bytes
-rw-r--r--examples/richtext/textedit/images/win/filenew.png (renamed from demos/textedit/images/win/filenew.png)bin768 -> 768 bytes
-rw-r--r--examples/richtext/textedit/images/win/fileopen.png (renamed from demos/textedit/images/win/fileopen.png)bin1662 -> 1662 bytes
-rw-r--r--examples/richtext/textedit/images/win/fileprint.png (renamed from demos/textedit/images/win/fileprint.png)bin1456 -> 1456 bytes
-rw-r--r--examples/richtext/textedit/images/win/filesave.png (renamed from demos/textedit/images/win/filesave.png)bin1205 -> 1205 bytes
-rw-r--r--examples/richtext/textedit/images/win/textbold.png (renamed from demos/textedit/images/win/textbold.png)bin1134 -> 1134 bytes
-rw-r--r--examples/richtext/textedit/images/win/textcenter.png (renamed from demos/textedit/images/win/textcenter.png)bin627 -> 627 bytes
-rw-r--r--examples/richtext/textedit/images/win/textitalic.png (renamed from demos/textedit/images/win/textitalic.png)bin829 -> 829 bytes
-rw-r--r--examples/richtext/textedit/images/win/textjustify.png (renamed from demos/textedit/images/win/textjustify.png)bin695 -> 695 bytes
-rw-r--r--examples/richtext/textedit/images/win/textleft.png (renamed from demos/textedit/images/win/textleft.png)bin673 -> 673 bytes
-rw-r--r--examples/richtext/textedit/images/win/textright.png (renamed from demos/textedit/images/win/textright.png)bin677 -> 677 bytes
-rw-r--r--examples/richtext/textedit/images/win/textunder.png (renamed from demos/textedit/images/win/textunder.png)bin971 -> 971 bytes
-rw-r--r--examples/richtext/textedit/images/win/zoomin.png (renamed from demos/textedit/images/win/zoomin.png)bin1208 -> 1208 bytes
-rw-r--r--examples/richtext/textedit/images/win/zoomout.png (renamed from demos/textedit/images/win/zoomout.png)bin1226 -> 1226 bytes
-rw-r--r--examples/richtext/textedit/main.cpp (renamed from demos/textedit/main.cpp)0
-rw-r--r--examples/richtext/textedit/textedit.cpp (renamed from demos/textedit/textedit.cpp)0
-rw-r--r--examples/richtext/textedit/textedit.h (renamed from demos/textedit/textedit.h)0
-rw-r--r--examples/richtext/textedit/textedit.pro (renamed from demos/textedit/textedit.pro)0
-rw-r--r--examples/richtext/textedit/textedit.qdoc (renamed from demos/textedit/textedit.qdoc)0
-rw-r--r--examples/richtext/textedit/textedit.qrc (renamed from demos/textedit/textedit.qrc)0
-rw-r--r--examples/sql/books/bookdelegate.cpp (renamed from demos/books/bookdelegate.cpp)0
-rw-r--r--examples/sql/books/bookdelegate.h (renamed from demos/books/bookdelegate.h)0
-rw-r--r--examples/sql/books/books.pro (renamed from demos/books/books.pro)6
-rw-r--r--examples/sql/books/books.qrc (renamed from demos/books/books.qrc)0
-rw-r--r--examples/sql/books/bookwindow.cpp (renamed from demos/books/bookwindow.cpp)0
-rw-r--r--examples/sql/books/bookwindow.h (renamed from demos/books/bookwindow.h)0
-rw-r--r--examples/sql/books/bookwindow.ui (renamed from demos/books/bookwindow.ui)0
-rw-r--r--examples/sql/books/images/star.png (renamed from demos/books/images/star.png)bin782 -> 782 bytes
-rw-r--r--examples/sql/books/initdb.h (renamed from demos/books/initdb.h)0
-rw-r--r--examples/sql/books/main.cpp (renamed from demos/books/main.cpp)0
-rw-r--r--examples/sql/sql.pro8
-rw-r--r--examples/sql/sqlbrowser/browser.cpp (renamed from demos/sqlbrowser/browser.cpp)0
-rw-r--r--examples/sql/sqlbrowser/browser.h (renamed from demos/sqlbrowser/browser.h)0
-rw-r--r--examples/sql/sqlbrowser/browserwidget.ui (renamed from demos/sqlbrowser/browserwidget.ui)0
-rw-r--r--examples/sql/sqlbrowser/connectionwidget.cpp (renamed from demos/sqlbrowser/connectionwidget.cpp)0
-rw-r--r--examples/sql/sqlbrowser/connectionwidget.h (renamed from demos/sqlbrowser/connectionwidget.h)0
-rw-r--r--examples/sql/sqlbrowser/main.cpp (renamed from demos/sqlbrowser/main.cpp)0
-rw-r--r--examples/sql/sqlbrowser/qsqlconnectiondialog.cpp (renamed from demos/sqlbrowser/qsqlconnectiondialog.cpp)0
-rw-r--r--examples/sql/sqlbrowser/qsqlconnectiondialog.h (renamed from demos/sqlbrowser/qsqlconnectiondialog.h)0
-rw-r--r--examples/sql/sqlbrowser/qsqlconnectiondialog.ui (renamed from demos/sqlbrowser/qsqlconnectiondialog.ui)0
-rw-r--r--examples/sql/sqlbrowser/sqlbrowser.pro (renamed from demos/sqlbrowser/sqlbrowser.pro)6
-rw-r--r--examples/tools/undo/commands.cpp (renamed from demos/undo/commands.cpp)0
-rw-r--r--examples/tools/undo/commands.h (renamed from demos/undo/commands.h)0
-rw-r--r--examples/tools/undo/document.cpp (renamed from demos/undo/document.cpp)0
-rw-r--r--examples/tools/undo/document.h (renamed from demos/undo/document.h)0
-rw-r--r--examples/tools/undo/icons/background.png (renamed from demos/undo/icons/background.png)bin93 -> 93 bytes
-rw-r--r--examples/tools/undo/icons/blue.png (renamed from demos/undo/icons/blue.png)bin1659 -> 1659 bytes
-rw-r--r--examples/tools/undo/icons/circle.png (renamed from demos/undo/icons/circle.png)bin1359 -> 1359 bytes
-rw-r--r--examples/tools/undo/icons/exit.png (renamed from demos/undo/icons/exit.png)bin1731 -> 1731 bytes
-rw-r--r--examples/tools/undo/icons/fileclose.png (renamed from demos/undo/icons/fileclose.png)bin1121 -> 1121 bytes
-rw-r--r--examples/tools/undo/icons/filenew.png (renamed from demos/undo/icons/filenew.png)bin1266 -> 1266 bytes
-rw-r--r--examples/tools/undo/icons/fileopen.png (renamed from demos/undo/icons/fileopen.png)bin1771 -> 1771 bytes
-rw-r--r--examples/tools/undo/icons/filesave.png (renamed from demos/undo/icons/filesave.png)bin1022 -> 1022 bytes
-rw-r--r--examples/tools/undo/icons/green.png (renamed from demos/undo/icons/green.png)bin1766 -> 1766 bytes
-rw-r--r--examples/tools/undo/icons/ok.png (renamed from demos/undo/icons/ok.png)bin979 -> 979 bytes
-rw-r--r--examples/tools/undo/icons/rectangle.png (renamed from demos/undo/icons/rectangle.png)bin690 -> 690 bytes
-rw-r--r--examples/tools/undo/icons/red.png (renamed from demos/undo/icons/red.png)bin1653 -> 1653 bytes
-rw-r--r--examples/tools/undo/icons/redo.png (renamed from demos/undo/icons/redo.png)bin985 -> 985 bytes
-rw-r--r--examples/tools/undo/icons/remove.png (renamed from demos/undo/icons/remove.png)bin1833 -> 1833 bytes
-rw-r--r--examples/tools/undo/icons/triangle.png (renamed from demos/undo/icons/triangle.png)bin850 -> 850 bytes
-rw-r--r--examples/tools/undo/icons/undo.png (renamed from demos/undo/icons/undo.png)bin962 -> 962 bytes
-rw-r--r--examples/tools/undo/main.cpp (renamed from demos/undo/main.cpp)0
-rw-r--r--examples/tools/undo/mainwindow.cpp (renamed from demos/undo/mainwindow.cpp)0
-rw-r--r--examples/tools/undo/mainwindow.h (renamed from demos/undo/mainwindow.h)0
-rw-r--r--examples/tools/undo/mainwindow.ui (renamed from demos/undo/mainwindow.ui)0
-rw-r--r--examples/tools/undo/undo.pro (renamed from demos/undo/undo.pro)0
-rw-r--r--examples/tools/undo/undo.qrc (renamed from demos/undo/undo.qrc)0
-rw-r--r--mkspecs/features/default_pre.prf18
-rw-r--r--qtbase.pro4
-rw-r--r--src/corelib/io/qbuffer.cpp17
-rw-r--r--src/corelib/io/qprocess.cpp11
-rw-r--r--src/corelib/tools/qpoint.h6
-rw-r--r--src/dbus/qdbus_symbols_p.h2
-rw-r--r--src/dbus/qdbusconnection.cpp21
-rw-r--r--src/dbus/qdbusconnection.h2
-rw-r--r--src/gui/painting/qcosmeticstroker.cpp45
-rw-r--r--src/gui/painting/qcosmeticstroker_p.h41
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp7
-rw-r--r--src/gui/painting/qpaintengineex.cpp9
-rw-r--r--src/gui/text/qfont.cpp1
-rw-r--r--src/gui/text/qfont_p.h3
-rw-r--r--src/gui/text/qfontdatabase.cpp2
-rw-r--r--src/gui/text/qharfbuzz_copy_p.h8
-rw-r--r--src/gui/text/qtextdocument.cpp2
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp9
-rw-r--r--src/gui/text/qtextdocumentfragment_p.h2
-rw-r--r--src/gui/text/qtextlayout.cpp4
-rw-r--r--src/network/bearer/qnetworkconfigmanager.h16
-rw-r--r--src/network/bearer/qnetworkconfiguration.h22
-rw-r--r--src/network/bearer/qnetworksession.h13
-rw-r--r--src/network/kernel/qauthenticator.cpp2
-rw-r--r--src/network/kernel/qhostaddress.cpp62
-rw-r--r--src/network/kernel/qhostaddress.h3
-rw-r--r--src/network/socket/qabstractsocket.h1
-rw-r--r--src/network/socket/qnativesocketengine_p.h9
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp14
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp39
-rw-r--r--src/network/socket/qsocks5socketengine.cpp10
-rw-r--r--src/network/ssl/qsslcertificate.cpp37
-rw-r--r--src/network/ssl/qsslcertificate.h1
-rw-r--r--src/network/ssl/qsslcertificate_p.h1
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp3
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols_p.h1
-rw-r--r--src/plugins/platforms/wayland/qwaylandclipboard.cpp10
-rw-r--r--src/plugins/platforms/wayland/qwaylandclipboard.h5
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.cpp13
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.cpp5
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.h1
-rw-r--r--src/testlib/qbenchmarkmeasurement_p.h2
-rw-r--r--src/tools/moc/main.cpp29
-rw-r--r--src/widgets/platforms/mac/qfontengine_coretext_p.h8
-rw-r--r--src/widgets/platforms/mac/qwidget_mac.mm2
-rw-r--r--src/widgets/platforms/x11/qfontdatabase_x11.cpp55
-rw-r--r--src/widgets/platforms/x11/qfontengine_x11.cpp28
-rw-r--r--src/widgets/styles/qcommonstyle.cpp2
-rw-r--r--src/widgets/util/qscroller_mac.mm4
-rw-r--r--tests/auto/other.pro2
-rw-r--r--tests/auto/qbuffer/tst_qbuffer.cpp50
-rw-r--r--tests/auto/qfontdialog/qfontdialog.pro2
-rw-r--r--tests/auto/qhostaddress/tst_qhostaddress.cpp60
-rw-r--r--tests/auto/qlayout/tst_qlayout.cpp4
-rw-r--r--tests/auto/qmacstyle/tst_qmacstyle.cpp2
-rw-r--r--tests/auto/qprocess/tst_qprocess.cpp28
-rw-r--r--tests/auto/qsettings/qsettings.pro2
-rw-r--r--tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.842
-rw-r--r--tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.042
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp21
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp40
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp2
-rw-r--r--tests/auto/qtextdocument/tst_qtextdocument.cpp26
-rw-r--r--tests/auto/qudpsocket/tst_qudpsocket.cpp81
-rw-r--r--tests/auto/qwidget/qwidget.pro2
-rw-r--r--tests/tests.pro6
-rw-r--r--tools/configure/configureapp.cpp18
459 files changed, 826 insertions, 507 deletions
diff --git a/configure b/configure
index 5539df0e3f..8a3700ccf4 100755
--- a/configure
+++ b/configure
@@ -699,7 +699,7 @@ CFG_FONTCONFIG=auto
CFG_QWS_FREETYPE=auto
CFG_LIBFREETYPE=auto
CFG_SQL_AVAILABLE=
-QT_DEFAULT_BUILD_PARTS="libs examples demos tests"
+QT_DEFAULT_BUILD_PARTS="libs examples tests"
CFG_BUILD_PARTS=""
CFG_NOBUILD_PARTS=""
CFG_RELEASE_QMAKE=no
@@ -849,7 +849,6 @@ QT_INSTALL_DATA=
QT_INSTALL_TRANSLATIONS=
QT_INSTALL_SETTINGS=
QT_INSTALL_EXAMPLES=
-QT_INSTALL_DEMOS=
QT_HOST_PREFIX=
#flags for SQL drivers
@@ -1060,7 +1059,7 @@ while [ "$#" -gt 0 ]; do
shift
VAL=$1
;;
- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1314,9 +1313,6 @@ while [ "$#" -gt 0 ]; do
examplesdir)
QT_INSTALL_EXAMPLES="$VAL"
;;
- demosdir)
- QT_INSTALL_DEMOS="$VAL"
- ;;
qconfig)
CFG_QCONFIG="$VAL"
;;
@@ -3545,7 +3541,6 @@ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
[ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS="\\\\resource\\\\qt$QT_LIBINFIX\\\\translations"
[ -z "$QT_INSTALL_SETTINGS" ] && QT_INSTALL_SETTINGS=
[ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES=
- [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS=
else
#docs
if [ -z "$QT_INSTALL_DOCS" ]; then #default
@@ -3652,17 +3647,6 @@ else
[ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
fi
QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
-
- #demos
- if [ -z "$QT_INSTALL_DEMOS" ]; then #default
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos"
- fi
- fi
- [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos"
- fi
- QT_INSTALL_DEMOS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
fi
#-------------------------------------------------------------------------------
@@ -3731,8 +3715,8 @@ if [ "$OPT_HELP" = "yes" ]; then
Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
[-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
- [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
- [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
+ [-buildkey <key>] [-release] [-debug] [-debug-and-release]
+ [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
[-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
@@ -3808,8 +3792,6 @@ cat <<EOF
(default PREFIX/etc/settings)
-examplesdir <dir> .... Examples will be installed to <dir>
(default PREFIX/examples)
- -demosdir <dir> ....... Demos will be installed to <dir>
- (default PREFIX/demos)
You may use these options to turn on strict plugin loading.
@@ -4657,7 +4639,6 @@ DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTA
TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
-DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
TODAY=`date +%Y-%m-%d`
cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
@@ -4682,7 +4663,6 @@ if [ ! -z "$QT_HOST_PREFIX" ]; then
HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
- HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
@@ -4699,7 +4679,6 @@ static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PAT
static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
-static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
#else // QT_BOOTSTRAPPED
EOF
fi
@@ -4717,7 +4696,6 @@ static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_ST
static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
-static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
EOF
if [ ! -z "$QT_HOST_PREFIX" ]; then
@@ -4742,7 +4720,6 @@ cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
-#define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
EOF
# avoid unecessary rebuilds by copying only if qconfig.cpp has changed
@@ -9057,7 +9034,7 @@ for part in $CFG_BUILD_PARTS; do
tools) PART_ROOTS="$PART_ROOTS tools" ;;
libs) PART_ROOTS="$PART_ROOTS src tools/linguist/lrelease" ;;
translations) PART_ROOTS="$PART_ROOTS translations" ;;
- examples) PART_ROOTS="$PART_ROOTS examples demos" ;;
+ examples) PART_ROOTS="$PART_ROOTS examples" ;;
*) ;;
esac
done
diff --git a/demos/README b/demos/README
deleted file mode 100644
index b1619908e2..0000000000
--- a/demos/README
+++ /dev/null
@@ -1,39 +0,0 @@
-These demonstrations are intended to highlight Qt's capabilities in different
-application areas, and provide examples that are more advanced than those in
-the examples directory.
-
-Beginners to Qt may wish to try out the Qt tutorial and some of the examples
-before examining the demonstrations in detail.
-
-
-The example launcher can be used to explore the different categories
-available. It provides an overview of each example, lets you view the
-documentation in Qt Assistant, and is able to launch examples.
-
-
-Finding the Qt Examples and Demos launcher
-==========================================
-
-On Windows:
-
-The launcher can be accessed via the Windows Start menu. Select the menu
-entry entitled "Qt Examples and Demos" entry in the submenu containing
-the Qt tools.
-
-On Mac OS X:
-
-For the binary distribution, the qtdemo executable is installed in the
-/Developer/Applications/Qt directory. For the source distribution, it is
-installed alongside the other Qt tools on the path specified when Qt is
-configured.
-
-On Unix/Linux:
-
-The qtdemo executable is installed alongside the other Qt tools on the path
-specified when Qt is configured.
-
-On all platforms:
-
-The source code for the launcher can be found in the demos/qtdemo directory
-in the Qt package. This example is built at the same time as the Qt libraries,
-tools, examples, and demonstrations.
diff --git a/demos/demos.pro b/demos/demos.pro
deleted file mode 100644
index 69ecca80f4..0000000000
--- a/demos/demos.pro
+++ /dev/null
@@ -1,99 +0,0 @@
-TEMPLATE = subdirs
-
-!contains(QT_CONFIG, no-gui) {
-SUBDIRS = \
- demos_shared \
- demos_deform \
- demos_gradients \
- demos_pathstroke \
- demos_affine \
- demos_composition \
- demos_books \
- demos_interview \
- demos_mainwindow \
- demos_spreadsheet \
- demos_textedit \
- demos_chip \
- demos_embeddeddialogs \
- demos_undo \
- demos_sub-attaq
-
-symbian: SUBDIRS = \
- demos_shared \
- demos_deform \
- demos_pathstroke
-
-
-wince*: SUBDIRS = \
- demos_shared \
- demos_deform \
- demos_gradients \
- demos_pathstroke \
- demos_affine \
- demos_composition \
- demos_books \
- demos_interview \
- demos_mainwindow \
- demos_spreadsheet \
- demos_textedit \
- # demos_chip \
- demos_embeddeddialogs \
- demos_undo \
- demos_sub-attaq
-
-contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles2):{
-SUBDIRS += demos_boxes
-}
-
-mac* && !qpa: SUBDIRS += demos_macmainwindow
-wince*|symbian|embedded|x11: SUBDIRS += demos_embedded
-
-!cross_compile:{
-contains(QT_BUILD_PARTS, tools):{
-SUBDIRS += demos_sqlbrowser
-}
-}
-
-# install
-sources.files = README *.pro
-sources.path = $$[QT_INSTALL_DEMOS]
-INSTALLS += sources
-
-symbian: CONFIG += qt_demo
-
-demos_chip.subdir = chip
-demos_embeddeddialogs.subdir = embeddeddialogs
-demos_embedded.subdir = embedded
-# Because of fluidlauncher
-demos_embedded.depends = demos_deform demos_pathstroke
-demos_shared.subdir = shared
-demos_deform.subdir = deform
-demos_gradients.subdir = gradients
-demos_pathstroke.subdir = pathstroke
-demos_affine.subdir = affine
-demos_composition.subdir = composition
-demos_books.subdir = books
-demos_interview.subdir = interview
-demos_macmainwindow.subdir = macmainwindow
-demos_mainwindow.subdir = mainwindow
-demos_spreadsheet.subdir = spreadsheet
-demos_textedit.subdir = textedit
-demos_arthurplugin.subdir = arthurplugin
-demos_sqlbrowser.subdir = sqlbrowser
-demos_undo.subdir = undo
-demos_qtdemo.subdir = qtdemo
-
-demos_boxes.subdir = boxes
-demos_sub-attaq.subdir = sub-attaq
-
-#CONFIG += ordered
-!ordered {
- demos_affine.depends = demos_shared
- demos_deform.depends = demos_shared
- demos_gradients.depends = demos_shared
- demos_composition.depends = demos_shared
- demos_arthurplugin.depends = demos_shared
- demos_pathstroke.depends = demos_shared
-}
-}
-QT += widgets widgets
diff --git a/demos/embedded/digiflip/digiflip.pro b/demos/embedded/digiflip/digiflip.pro
deleted file mode 100644
index acc1d56ce3..0000000000
--- a/demos/embedded/digiflip/digiflip.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-SOURCES = digiflip.cpp
-
-symbian {
- TARGET.UID3 = 0xA000CF72
- CONFIG += qt_demo
-}
-
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/digiflip
-sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/digiflip
-INSTALLS += target sources
-QT += widgets widgets
diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0
index 170363352d..0fa44514d1 100644
--- a/dist/changes-4.8.0
+++ b/dist/changes-4.8.0
@@ -53,6 +53,7 @@ QtCore
- QStringBuilder: added support for QByteArray
- qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms
- QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue
+ - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205)
QtGui
-----
@@ -63,6 +64,21 @@ QtGui
- QListView diverses optimisations [QTBUG-11438]
- QTreeWidget/QListWidget: use localeAwareCompare for string comparisons [QTBUG-10839]
+QtNetwork
+---------
+
+ - SSL: Switch default version to TLS 1.0
+ - SSL: enable Server Name Indication (SNI) by default
+ - QSslCertificate: report fraudulent certificates as invalid ("Comodogate") [QTBUG-18338]
+ - QSslCertificate: display non-ASCII names from subject and issuerInfo (MR-922)
+ - QSslCertificate: loat root certificates on demand on Unix (excluding Mac) [QTBUG-14016]
+ - QNetworkCookie: retain quotes in value attribute [QTBUG-17746]
+ - QNetworkCookie: allow spaces in unquoted values [QTBUG-18876]
+ - HTTP API: add support for HTTP multipart messages [QTBUG-6222]
+ - HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983]
+ - HTTP cache: change file organization (MR-2505)
+
+
QtOpenGL
--------
- Removed dependency of OpenGL Utility Library (GLU)
diff --git a/examples/animation/animation.pro b/examples/animation/animation.pro
index 27baed1a25..b17aa0e0fe 100644
--- a/examples/animation/animation.pro
+++ b/examples/animation/animation.pro
@@ -7,6 +7,7 @@ SUBDIRS += \
moveblocks \
states \
stickman \
+ sub-attaq \
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/animation
diff --git a/demos/sub-attaq/animationmanager.cpp b/examples/animation/sub-attaq/animationmanager.cpp
index c7e230e3d2..c7e230e3d2 100644
--- a/demos/sub-attaq/animationmanager.cpp
+++ b/examples/animation/sub-attaq/animationmanager.cpp
diff --git a/demos/sub-attaq/animationmanager.h b/examples/animation/sub-attaq/animationmanager.h
index 429d656485..429d656485 100644
--- a/demos/sub-attaq/animationmanager.h
+++ b/examples/animation/sub-attaq/animationmanager.h
diff --git a/demos/sub-attaq/boat.cpp b/examples/animation/sub-attaq/boat.cpp
index 4ddf59e6a0..4ddf59e6a0 100644
--- a/demos/sub-attaq/boat.cpp
+++ b/examples/animation/sub-attaq/boat.cpp
diff --git a/demos/sub-attaq/boat.h b/examples/animation/sub-attaq/boat.h
index 71e3512fc3..71e3512fc3 100644
--- a/demos/sub-attaq/boat.h
+++ b/examples/animation/sub-attaq/boat.h
diff --git a/demos/sub-attaq/boat_p.h b/examples/animation/sub-attaq/boat_p.h
index 4141671eb0..4141671eb0 100644
--- a/demos/sub-attaq/boat_p.h
+++ b/examples/animation/sub-attaq/boat_p.h
diff --git a/demos/sub-attaq/bomb.cpp b/examples/animation/sub-attaq/bomb.cpp
index 6811a27e88..6811a27e88 100644
--- a/demos/sub-attaq/bomb.cpp
+++ b/examples/animation/sub-attaq/bomb.cpp
diff --git a/demos/sub-attaq/bomb.h b/examples/animation/sub-attaq/bomb.h
index 222c3d029f..222c3d029f 100644
--- a/demos/sub-attaq/bomb.h
+++ b/examples/animation/sub-attaq/bomb.h
diff --git a/demos/sub-attaq/data.xml b/examples/animation/sub-attaq/data.xml
index 0f30515ddf..0f30515ddf 100644
--- a/demos/sub-attaq/data.xml
+++ b/examples/animation/sub-attaq/data.xml
diff --git a/demos/sub-attaq/graphicsscene.cpp b/examples/animation/sub-attaq/graphicsscene.cpp
index d274ca3bde..d274ca3bde 100644
--- a/demos/sub-attaq/graphicsscene.cpp
+++ b/examples/animation/sub-attaq/graphicsscene.cpp
diff --git a/demos/sub-attaq/graphicsscene.h b/examples/animation/sub-attaq/graphicsscene.h
index 198b27101f..198b27101f 100644
--- a/demos/sub-attaq/graphicsscene.h
+++ b/examples/animation/sub-attaq/graphicsscene.h
diff --git a/demos/sub-attaq/main.cpp b/examples/animation/sub-attaq/main.cpp
index 6fdc47ca20..6fdc47ca20 100644
--- a/demos/sub-attaq/main.cpp
+++ b/examples/animation/sub-attaq/main.cpp
diff --git a/demos/sub-attaq/mainwindow.cpp b/examples/animation/sub-attaq/mainwindow.cpp
index 81632a50a0..81632a50a0 100644
--- a/demos/sub-attaq/mainwindow.cpp
+++ b/examples/animation/sub-attaq/mainwindow.cpp
diff --git a/demos/sub-attaq/mainwindow.h b/examples/animation/sub-attaq/mainwindow.h
index 0514776b75..0514776b75 100644
--- a/demos/sub-attaq/mainwindow.h
+++ b/examples/animation/sub-attaq/mainwindow.h
diff --git a/demos/sub-attaq/pics/big/background.png b/examples/animation/sub-attaq/pics/big/background.png
index 9f581571fa..9f581571fa 100644
--- a/demos/sub-attaq/pics/big/background.png
+++ b/examples/animation/sub-attaq/pics/big/background.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/boat.png b/examples/animation/sub-attaq/pics/big/boat.png
index be82dff62a..be82dff62a 100644
--- a/demos/sub-attaq/pics/big/boat.png
+++ b/examples/animation/sub-attaq/pics/big/boat.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/bomb.png b/examples/animation/sub-attaq/pics/big/bomb.png
index 3af5f2f29c..3af5f2f29c 100644
--- a/demos/sub-attaq/pics/big/bomb.png
+++ b/examples/animation/sub-attaq/pics/big/bomb.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/boat/step1.png b/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png
index c9fd8b0984..c9fd8b0984 100644
--- a/demos/sub-attaq/pics/big/explosion/boat/step1.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/boat/step2.png b/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png
index 7528f2d2da..7528f2d2da 100644
--- a/demos/sub-attaq/pics/big/explosion/boat/step2.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/boat/step3.png b/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png
index aae9c9c184..aae9c9c184 100644
--- a/demos/sub-attaq/pics/big/explosion/boat/step3.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/boat/step4.png b/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png
index d697c1bae8..d697c1bae8 100644
--- a/demos/sub-attaq/pics/big/explosion/boat/step4.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/submarine/step1.png b/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png
index 88ca5144b7..88ca5144b7 100644
--- a/demos/sub-attaq/pics/big/explosion/submarine/step1.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/submarine/step2.png b/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png
index 524f5890ee..524f5890ee 100644
--- a/demos/sub-attaq/pics/big/explosion/submarine/step2.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/submarine/step3.png b/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png
index 2cca1e80fe..2cca1e80fe 100644
--- a/demos/sub-attaq/pics/big/explosion/submarine/step3.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/explosion/submarine/step4.png b/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png
index 82100a8260..82100a8260 100644
--- a/demos/sub-attaq/pics/big/explosion/submarine/step4.png
+++ b/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/submarine.png b/examples/animation/sub-attaq/pics/big/submarine.png
index df435dc47d..df435dc47d 100644
--- a/demos/sub-attaq/pics/big/submarine.png
+++ b/examples/animation/sub-attaq/pics/big/submarine.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/surface.png b/examples/animation/sub-attaq/pics/big/surface.png
index 4eba29e9cd..4eba29e9cd 100644
--- a/demos/sub-attaq/pics/big/surface.png
+++ b/examples/animation/sub-attaq/pics/big/surface.png
Binary files differ
diff --git a/demos/sub-attaq/pics/big/torpedo.png b/examples/animation/sub-attaq/pics/big/torpedo.png
index f9c26873f1..f9c26873f1 100644
--- a/demos/sub-attaq/pics/big/torpedo.png
+++ b/examples/animation/sub-attaq/pics/big/torpedo.png
Binary files differ
diff --git a/demos/sub-attaq/pics/scalable/background-n810.svg b/examples/animation/sub-attaq/pics/scalable/background-n810.svg
index ece9f7aaf1..ece9f7aaf1 100644
--- a/demos/sub-attaq/pics/scalable/background-n810.svg
+++ b/examples/animation/sub-attaq/pics/scalable/background-n810.svg
diff --git a/demos/sub-attaq/pics/scalable/background.svg b/examples/animation/sub-attaq/pics/scalable/background.svg
index 0be268010e..0be268010e 100644
--- a/demos/sub-attaq/pics/scalable/background.svg
+++ b/examples/animation/sub-attaq/pics/scalable/background.svg
diff --git a/demos/sub-attaq/pics/scalable/boat.svg b/examples/animation/sub-attaq/pics/scalable/boat.svg
index 5298821ba8..5298821ba8 100644
--- a/demos/sub-attaq/pics/scalable/boat.svg
+++ b/examples/animation/sub-attaq/pics/scalable/boat.svg
diff --git a/demos/sub-attaq/pics/scalable/bomb.svg b/examples/animation/sub-attaq/pics/scalable/bomb.svg
index 294771a6dd..294771a6dd 100644
--- a/demos/sub-attaq/pics/scalable/bomb.svg
+++ b/examples/animation/sub-attaq/pics/scalable/bomb.svg
diff --git a/demos/sub-attaq/pics/scalable/sand.svg b/examples/animation/sub-attaq/pics/scalable/sand.svg
index 8af11b7a66..8af11b7a66 100644
--- a/demos/sub-attaq/pics/scalable/sand.svg
+++ b/examples/animation/sub-attaq/pics/scalable/sand.svg
diff --git a/demos/sub-attaq/pics/scalable/see.svg b/examples/animation/sub-attaq/pics/scalable/see.svg
index 0666691215..0666691215 100644
--- a/demos/sub-attaq/pics/scalable/see.svg
+++ b/examples/animation/sub-attaq/pics/scalable/see.svg
diff --git a/demos/sub-attaq/pics/scalable/sky.svg b/examples/animation/sub-attaq/pics/scalable/sky.svg
index 1546c087a7..1546c087a7 100644
--- a/demos/sub-attaq/pics/scalable/sky.svg
+++ b/examples/animation/sub-attaq/pics/scalable/sky.svg
diff --git a/demos/sub-attaq/pics/scalable/sub-attaq.svg b/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg
index b075179b46..b075179b46 100644
--- a/demos/sub-attaq/pics/scalable/sub-attaq.svg
+++ b/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg
diff --git a/demos/sub-attaq/pics/scalable/submarine.svg b/examples/animation/sub-attaq/pics/scalable/submarine.svg
index 8a0ffddbca..8a0ffddbca 100644
--- a/demos/sub-attaq/pics/scalable/submarine.svg
+++ b/examples/animation/sub-attaq/pics/scalable/submarine.svg
diff --git a/demos/sub-attaq/pics/scalable/surface.svg b/examples/animation/sub-attaq/pics/scalable/surface.svg
index 40ed239638..40ed239638 100644
--- a/demos/sub-attaq/pics/scalable/surface.svg
+++ b/examples/animation/sub-attaq/pics/scalable/surface.svg
diff --git a/demos/sub-attaq/pics/scalable/torpedo.svg b/examples/animation/sub-attaq/pics/scalable/torpedo.svg
index 48e429d2bf..48e429d2bf 100644
--- a/demos/sub-attaq/pics/scalable/torpedo.svg
+++ b/examples/animation/sub-attaq/pics/scalable/torpedo.svg
diff --git a/demos/sub-attaq/pics/small/background.png b/examples/animation/sub-attaq/pics/small/background.png
index 5ad3db660a..5ad3db660a 100644
--- a/demos/sub-attaq/pics/small/background.png
+++ b/examples/animation/sub-attaq/pics/small/background.png
Binary files differ
diff --git a/demos/sub-attaq/pics/small/boat.png b/examples/animation/sub-attaq/pics/small/boat.png
index 114ccc310e..114ccc310e 100644
--- a/demos/sub-attaq/pics/small/boat.png
+++ b/examples/animation/sub-attaq/pics/small/boat.png
Binary files differ
diff --git a/demos/sub-attaq/pics/small/bomb.png b/examples/animation/sub-attaq/pics/small/bomb.png
index 3af5f2f29c..3af5f2f29c 100644
--- a/demos/sub-attaq/pics/small/bomb.png
+++ b/examples/animation/sub-attaq/pics/small/bomb.png
Binary files differ
diff --git a/demos/sub-attaq/pics/small/submarine.png b/examples/animation/sub-attaq/pics/small/submarine.png
index 0c0c350600..0c0c350600 100644
--- a/demos/sub-attaq/pics/small/submarine.png
+++ b/examples/animation/sub-attaq/pics/small/submarine.png
Binary files differ
diff --git a/demos/sub-attaq/pics/small/surface.png b/examples/animation/sub-attaq/pics/small/surface.png
index 06d0e47a5c..06d0e47a5c 100644
--- a/demos/sub-attaq/pics/small/surface.png
+++ b/examples/animation/sub-attaq/pics/small/surface.png
Binary files differ
diff --git a/demos/sub-attaq/pics/small/torpedo.png b/examples/animation/sub-attaq/pics/small/torpedo.png
index f9c26873f1..f9c26873f1 100644
--- a/demos/sub-attaq/pics/small/torpedo.png
+++ b/examples/animation/sub-attaq/pics/small/torpedo.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-a.png b/examples/animation/sub-attaq/pics/welcome/logo-a.png
index 67dd76dac0..67dd76dac0 100644
--- a/demos/sub-attaq/pics/welcome/logo-a.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-a.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-a2.png b/examples/animation/sub-attaq/pics/welcome/logo-a2.png
index 17668b07de..17668b07de 100644
--- a/demos/sub-attaq/pics/welcome/logo-a2.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-a2.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-b.png b/examples/animation/sub-attaq/pics/welcome/logo-b.png
index cf6c04560b..cf6c04560b 100644
--- a/demos/sub-attaq/pics/welcome/logo-b.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-b.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-dash.png b/examples/animation/sub-attaq/pics/welcome/logo-dash.png
index 219233ce6b..219233ce6b 100644
--- a/demos/sub-attaq/pics/welcome/logo-dash.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-dash.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-excl.png b/examples/animation/sub-attaq/pics/welcome/logo-excl.png
index 8dd0a2eb86..8dd0a2eb86 100644
--- a/demos/sub-attaq/pics/welcome/logo-excl.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-excl.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-q.png b/examples/animation/sub-attaq/pics/welcome/logo-q.png
index 86e588d4d8..86e588d4d8 100644
--- a/demos/sub-attaq/pics/welcome/logo-q.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-q.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-s.png b/examples/animation/sub-attaq/pics/welcome/logo-s.png
index 7b6a36e93a..7b6a36e93a 100644
--- a/demos/sub-attaq/pics/welcome/logo-s.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-s.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-t.png b/examples/animation/sub-attaq/pics/welcome/logo-t.png
index b2e3526bea..b2e3526bea 100644
--- a/demos/sub-attaq/pics/welcome/logo-t.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-t.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-t2.png b/examples/animation/sub-attaq/pics/welcome/logo-t2.png
index b11a77886e..b11a77886e 100644
--- a/demos/sub-attaq/pics/welcome/logo-t2.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-t2.png
Binary files differ
diff --git a/demos/sub-attaq/pics/welcome/logo-u.png b/examples/animation/sub-attaq/pics/welcome/logo-u.png
index 24eede887a..24eede887a 100644
--- a/demos/sub-attaq/pics/welcome/logo-u.png
+++ b/examples/animation/sub-attaq/pics/welcome/logo-u.png
Binary files differ
diff --git a/demos/sub-attaq/pixmapitem.cpp b/examples/animation/sub-attaq/pixmapitem.cpp
index be75bd1995..be75bd1995 100644
--- a/demos/sub-attaq/pixmapitem.cpp
+++ b/examples/animation/sub-attaq/pixmapitem.cpp
diff --git a/demos/sub-attaq/pixmapitem.h b/examples/animation/sub-attaq/pixmapitem.h
index f6fced9e97..f6fced9e97 100644
--- a/demos/sub-attaq/pixmapitem.h
+++ b/examples/animation/sub-attaq/pixmapitem.h
diff --git a/demos/sub-attaq/progressitem.cpp b/examples/animation/sub-attaq/progressitem.cpp
index 426dedfbd4..426dedfbd4 100644
--- a/demos/sub-attaq/progressitem.cpp
+++ b/examples/animation/sub-attaq/progressitem.cpp
diff --git a/demos/sub-attaq/progressitem.h b/examples/animation/sub-attaq/progressitem.h
index 9a8a575111..9a8a575111 100644
--- a/demos/sub-attaq/progressitem.h
+++ b/examples/animation/sub-attaq/progressitem.h
diff --git a/demos/sub-attaq/qanimationstate.cpp b/examples/animation/sub-attaq/qanimationstate.cpp
index 593c8dfe8d..593c8dfe8d 100644
--- a/demos/sub-attaq/qanimationstate.cpp
+++ b/examples/animation/sub-attaq/qanimationstate.cpp
diff --git a/demos/sub-attaq/qanimationstate.h b/examples/animation/sub-attaq/qanimationstate.h
index aace3b502b..aace3b502b 100644
--- a/demos/sub-attaq/qanimationstate.h
+++ b/examples/animation/sub-attaq/qanimationstate.h
diff --git a/demos/sub-attaq/states.cpp b/examples/animation/sub-attaq/states.cpp
index db50938016..db50938016 100644
--- a/demos/sub-attaq/states.cpp
+++ b/examples/animation/sub-attaq/states.cpp
diff --git a/demos/sub-attaq/states.h b/examples/animation/sub-attaq/states.h
index 4f322cbd57..4f322cbd57 100644
--- a/demos/sub-attaq/states.h
+++ b/examples/animation/sub-attaq/states.h
diff --git a/demos/sub-attaq/sub-attaq.pro b/examples/animation/sub-attaq/sub-attaq.pro
index 7b57baf19b..e994694b54 100644
--- a/demos/sub-attaq/sub-attaq.pro
+++ b/examples/animation/sub-attaq/sub-attaq.pro
@@ -29,13 +29,13 @@ SOURCES += boat.cpp \
RESOURCES += subattaq.qrc
# install
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/sub-attaq
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/animation/sub-attaq
sources.files = $$SOURCES \
$$HEADERS \
$$RESOURCES \
$$FORMS \
sub-attaq.pro \
pics
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/sub-attaq
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/animation/sub-attaq
INSTALLS += target \
sources
diff --git a/demos/sub-attaq/subattaq.qrc b/examples/animation/sub-attaq/subattaq.qrc
index 80a3af11cc..80a3af11cc 100644
--- a/demos/sub-attaq/subattaq.qrc
+++ b/examples/animation/sub-attaq/subattaq.qrc
diff --git a/demos/sub-attaq/submarine.cpp b/examples/animation/sub-attaq/submarine.cpp
index 2c8a5a2884..2c8a5a2884 100644
--- a/demos/sub-attaq/submarine.cpp
+++ b/examples/animation/sub-attaq/submarine.cpp
diff --git a/demos/sub-attaq/submarine.h b/examples/animation/sub-attaq/submarine.h
index 852b63de36..852b63de36 100644
--- a/demos/sub-attaq/submarine.h
+++ b/examples/animation/sub-attaq/submarine.h
diff --git a/demos/sub-attaq/submarine_p.h b/examples/animation/sub-attaq/submarine_p.h
index eb81c6604b..eb81c6604b 100644
--- a/demos/sub-attaq/submarine_p.h
+++ b/examples/animation/sub-attaq/submarine_p.h
diff --git a/demos/sub-attaq/textinformationitem.cpp b/examples/animation/sub-attaq/textinformationitem.cpp
index e2653361a1..e2653361a1 100644
--- a/demos/sub-attaq/textinformationitem.cpp
+++ b/examples/animation/sub-attaq/textinformationitem.cpp
diff --git a/demos/sub-attaq/textinformationitem.h b/examples/animation/sub-attaq/textinformationitem.h
index 1c62c8597e..1c62c8597e 100644
--- a/demos/sub-attaq/textinformationitem.h
+++ b/examples/animation/sub-attaq/textinformationitem.h
diff --git a/demos/sub-attaq/torpedo.cpp b/examples/animation/sub-attaq/torpedo.cpp
index 8c9bacfa38..8c9bacfa38 100644
--- a/demos/sub-attaq/torpedo.cpp
+++ b/examples/animation/sub-attaq/torpedo.cpp
diff --git a/demos/sub-attaq/torpedo.h b/examples/animation/sub-attaq/torpedo.h
index a5ec24dabf..a5ec24dabf 100644
--- a/demos/sub-attaq/torpedo.h
+++ b/examples/animation/sub-attaq/torpedo.h
diff --git a/demos/embedded/digiflip/digiflip.cpp b/examples/embedded/digiflip/digiflip.cpp
index 38501d3ecc..38501d3ecc 100644
--- a/demos/embedded/digiflip/digiflip.cpp
+++ b/examples/embedded/digiflip/digiflip.cpp
diff --git a/examples/embedded/digiflip/digiflip.pro b/examples/embedded/digiflip/digiflip.pro
new file mode 100644
index 0000000000..cd64f7cba6
--- /dev/null
+++ b/examples/embedded/digiflip/digiflip.pro
@@ -0,0 +1,11 @@
+SOURCES = digiflip.cpp
+
+symbian {
+ TARGET.UID3 = 0xA000CF72
+ CONFIG += qt_example
+}
+
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/digiflip
+sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/digiflip
+INSTALLS += target sources
diff --git a/demos/embedded/embedded.pro b/examples/embedded/embedded.pro
index becdfe245f..b9ff53fb12 100644
--- a/demos/embedded/embedded.pro
+++ b/examples/embedded/embedded.pro
@@ -6,7 +6,7 @@ SUBDIRS += flightinfo
# install
sources.files = README *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded
INSTALLS += sources
symbian: CONFIG += qt_demo
diff --git a/demos/embedded/flickable/flickable.cpp b/examples/embedded/flickable/flickable.cpp
index 0c707a172b..0c707a172b 100644
--- a/demos/embedded/flickable/flickable.cpp
+++ b/examples/embedded/flickable/flickable.cpp
diff --git a/demos/embedded/flickable/flickable.h b/examples/embedded/flickable/flickable.h
index 3195d3297c..3195d3297c 100644
--- a/demos/embedded/flickable/flickable.h
+++ b/examples/embedded/flickable/flickable.h
diff --git a/demos/embedded/flickable/flickable.pro b/examples/embedded/flickable/flickable.pro
index 32b8213e11..d31e7eba14 100644
--- a/demos/embedded/flickable/flickable.pro
+++ b/examples/embedded/flickable/flickable.pro
@@ -3,11 +3,11 @@ HEADERS = flickable.h
symbian {
TARGET.UID3 = 0xA000CF73
- CONFIG += qt_demo
+ CONFIG += qt_example
}
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/flickable
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/flickable
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/flickable
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/flickable
INSTALLS += target sources
QT += widgets widgets
diff --git a/demos/embedded/flickable/main.cpp b/examples/embedded/flickable/main.cpp
index 5ecc0c10df..5ecc0c10df 100644
--- a/demos/embedded/flickable/main.cpp
+++ b/examples/embedded/flickable/main.cpp
diff --git a/demos/embedded/flightinfo/aircraft.png b/examples/embedded/flightinfo/aircraft.png
index 2312bcc9f0..2312bcc9f0 100644
--- a/demos/embedded/flightinfo/aircraft.png
+++ b/examples/embedded/flightinfo/aircraft.png
Binary files differ
diff --git a/demos/embedded/flightinfo/flightinfo.cpp b/examples/embedded/flightinfo/flightinfo.cpp
index 592357cab4..592357cab4 100644
--- a/demos/embedded/flightinfo/flightinfo.cpp
+++ b/examples/embedded/flightinfo/flightinfo.cpp
diff --git a/demos/embedded/flightinfo/flightinfo.pro b/examples/embedded/flightinfo/flightinfo.pro
index dfa4ae355f..89a7265d41 100644
--- a/demos/embedded/flightinfo/flightinfo.pro
+++ b/examples/embedded/flightinfo/flightinfo.pro
@@ -7,11 +7,11 @@ QT += network widgets
symbian {
TARGET.UID3 = 0xA000CF74
- CONFIG += qt_demo
+ CONFIG += qt_example
TARGET.CAPABILITY = NetworkServices
}
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/flightinfo
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/flightinfo
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/flightinfo
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/flightinfo
INSTALLS += target sources
diff --git a/demos/embedded/flightinfo/flightinfo.qrc b/examples/embedded/flightinfo/flightinfo.qrc
index babea7e0cb..babea7e0cb 100644
--- a/demos/embedded/flightinfo/flightinfo.qrc
+++ b/examples/embedded/flightinfo/flightinfo.qrc
diff --git a/demos/embedded/flightinfo/form.ui b/examples/embedded/flightinfo/form.ui
index 3a24c758a6..3a24c758a6 100644
--- a/demos/embedded/flightinfo/form.ui
+++ b/examples/embedded/flightinfo/form.ui
diff --git a/demos/embedded/lightmaps/lightmaps.cpp b/examples/embedded/lightmaps/lightmaps.cpp
index 2489ddc840..2489ddc840 100644
--- a/demos/embedded/lightmaps/lightmaps.cpp
+++ b/examples/embedded/lightmaps/lightmaps.cpp
diff --git a/demos/embedded/lightmaps/lightmaps.h b/examples/embedded/lightmaps/lightmaps.h
index 45b5c188a2..45b5c188a2 100644
--- a/demos/embedded/lightmaps/lightmaps.h
+++ b/examples/embedded/lightmaps/lightmaps.h
diff --git a/demos/embedded/lightmaps/lightmaps.pro b/examples/embedded/lightmaps/lightmaps.pro
index b7fa2d660f..1f638b5398 100644
--- a/demos/embedded/lightmaps/lightmaps.pro
+++ b/examples/embedded/lightmaps/lightmaps.pro
@@ -10,12 +10,12 @@ QT += network widgets
symbian {
TARGET.UID3 = 0xA000CF75
- CONFIG += qt_demo
+ CONFIG += qt_example
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/lightmaps
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/lightmaps
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/lightmaps
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/lightmaps
INSTALLS += target sources
diff --git a/demos/embedded/lightmaps/main.cpp b/examples/embedded/lightmaps/main.cpp
index 85f74e638e..85f74e638e 100644
--- a/demos/embedded/lightmaps/main.cpp
+++ b/examples/embedded/lightmaps/main.cpp
diff --git a/demos/embedded/lightmaps/mapzoom.cpp b/examples/embedded/lightmaps/mapzoom.cpp
index 225c54c2a6..225c54c2a6 100644
--- a/demos/embedded/lightmaps/mapzoom.cpp
+++ b/examples/embedded/lightmaps/mapzoom.cpp
diff --git a/demos/embedded/lightmaps/mapzoom.h b/examples/embedded/lightmaps/mapzoom.h
index ac70a23316..ac70a23316 100644
--- a/demos/embedded/lightmaps/mapzoom.h
+++ b/examples/embedded/lightmaps/mapzoom.h
diff --git a/demos/embedded/lightmaps/slippymap.cpp b/examples/embedded/lightmaps/slippymap.cpp
index e2a2eaa0bc..e2a2eaa0bc 100644
--- a/demos/embedded/lightmaps/slippymap.cpp
+++ b/examples/embedded/lightmaps/slippymap.cpp
diff --git a/demos/embedded/lightmaps/slippymap.h b/examples/embedded/lightmaps/slippymap.h
index 64ba5c3e59..64ba5c3e59 100644
--- a/demos/embedded/lightmaps/slippymap.h
+++ b/examples/embedded/lightmaps/slippymap.h
diff --git a/demos/embedded/raycasting/raycasting.cpp b/examples/embedded/raycasting/raycasting.cpp
index 0a50fb0419..0a50fb0419 100644
--- a/demos/embedded/raycasting/raycasting.cpp
+++ b/examples/embedded/raycasting/raycasting.cpp
diff --git a/demos/embedded/raycasting/raycasting.pro b/examples/embedded/raycasting/raycasting.pro
index 552ebecf4c..181eadf74c 100644
--- a/demos/embedded/raycasting/raycasting.pro
+++ b/examples/embedded/raycasting/raycasting.pro
@@ -4,11 +4,11 @@ RESOURCES += raycasting.qrc
symbian {
TARGET.UID3 = 0xA000CF76
- CONFIG += qt_demo
+ CONFIG += qt_example
}
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/raycasting
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/raycasting
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embedded/raycasting
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/embedded/raycasting
INSTALLS += target sources
QT += widgets widgets
diff --git a/demos/embedded/raycasting/raycasting.qrc b/examples/embedded/raycasting/raycasting.qrc
index 974a06093c..974a06093c 100644
--- a/demos/embedded/raycasting/raycasting.qrc
+++ b/examples/embedded/raycasting/raycasting.qrc
diff --git a/demos/embedded/raycasting/textures.png b/examples/embedded/raycasting/textures.png
index 2eb1ba7ff6..2eb1ba7ff6 100644
--- a/demos/embedded/raycasting/textures.png
+++ b/examples/embedded/raycasting/textures.png
Binary files differ
diff --git a/demos/embedded/styledemo/files/add.png b/examples/embedded/styledemo/files/add.png
index fc5c16d4c8..fc5c16d4c8 100755
--- a/demos/embedded/styledemo/files/add.png
+++ b/examples/embedded/styledemo/files/add.png
Binary files differ
diff --git a/demos/embedded/styledemo/files/application.qss b/examples/embedded/styledemo/files/application.qss
index 432fe6bc76..432fe6bc76 100644
--- a/demos/embedded/styledemo/files/application.qss
+++ b/examples/embedded/styledemo/files/application.qss
diff --git a/demos/embedded/styledemo/files/blue.qss b/examples/embedded/styledemo/files/blue.qss
index ac8671b5e4..ac8671b5e4 100644
--- a/demos/embedded/styledemo/files/blue.qss
+++ b/examples/embedded/styledemo/files/blue.qss
diff --git a/demos/embedded/styledemo/files/khaki.qss b/examples/embedded/styledemo/files/khaki.qss
index b0d4a0fa6f..b0d4a0fa6f 100644
--- a/demos/embedded/styledemo/files/khaki.qss
+++ b/examples/embedded/styledemo/files/khaki.qss
diff --git a/demos/embedded/styledemo/files/nature_1.jpg b/examples/embedded/styledemo/files/nature_1.jpg
index 3a04edb96a..3a04edb96a 100644
--- a/demos/embedded/styledemo/files/nature_1.jpg
+++ b/examples/embedded/styledemo/files/nature_1.jpg
Binary files differ
diff --git a/demos/embedded/styledemo/files/nostyle.qss b/examples/embedded/styledemo/files/nostyle.qss
index e69de29bb2..e69de29bb2 100644
--- a/demos/embedded/styledemo/files/nostyle.qss
+++ b/examples/embedded/styledemo/files/nostyle.qss
diff --git a/demos/embedded/styledemo/files/remove.png b/examples/embedded/styledemo/files/remove.png
index a0ab1fa21a..a0ab1fa21a 100755
--- a/demos/embedded/styledemo/files/remove.png
+++ b/examples/embedded/styledemo/files/remove.png
Binary files differ
diff --git a/demos/embedded/styledemo/files/transparent.qss b/examples/embedded/styledemo/files/transparent.qss
index b38eb366f4..b38eb366f4 100644
--- a/demos/embedded/styledemo/files/transparent.qss
+++ b/examples/embedded/styledemo/files/transparent.qss
diff --git a/demos/embedded/styledemo/main.cpp b/examples/embedded/styledemo/main.cpp
index 7a484b0365..7a484b0365 100644
--- a/demos/embedded/styledemo/main.cpp
+++ b/examples/embedded/styledemo/main.cpp
diff --git a/demos/embedded/styledemo/styledemo.pro b/examples/embedded/styledemo/styledemo.pro
index e8a428106c..e8a428106c 100644
--- a/demos/embedded/styledemo/styledemo.pro
+++ b/examples/embedded/styledemo/styledemo.pro
diff --git a/demos/embedded/styledemo/styledemo.qrc b/examples/embedded/styledemo/styledemo.qrc
index 96237d4203..96237d4203 100644
--- a/demos/embedded/styledemo/styledemo.qrc
+++ b/examples/embedded/styledemo/styledemo.qrc
diff --git a/demos/embedded/styledemo/stylewidget.cpp b/examples/embedded/styledemo/stylewidget.cpp
index 7bac8a84d7..7bac8a84d7 100644
--- a/demos/embedded/styledemo/stylewidget.cpp
+++ b/examples/embedded/styledemo/stylewidget.cpp
diff --git a/demos/embedded/styledemo/stylewidget.h b/examples/embedded/styledemo/stylewidget.h
index 11fa5348de..11fa5348de 100644
--- a/demos/embedded/styledemo/stylewidget.h
+++ b/examples/embedded/styledemo/stylewidget.h
diff --git a/demos/embedded/styledemo/stylewidget.ui b/examples/embedded/styledemo/stylewidget.ui
index 767f44aead..767f44aead 100644
--- a/demos/embedded/styledemo/stylewidget.ui
+++ b/examples/embedded/styledemo/stylewidget.ui
diff --git a/examples/examples.pro b/examples/examples.pro
index c1e8ef5aba..f985e7a2c0 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -47,6 +47,12 @@ symbian: SUBDIRS = \
xml
qpa:SUBDIRS += qpa
+!contains(QT_CONFIG, no-gui):contains(QT_CONFIG, multimedia) {
+ SUBDIRS += multimedia
+}
+
+wince*|symbian|embedded|x11:!contains(QT_CONFIG, no-gui): SUBDIRS += embedded
+
embedded:SUBDIRS += qws
contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib
contains(QT_CONFIG, opengl): SUBDIRS += opengl
diff --git a/demos/boxes/3rdparty/fbm.c b/examples/graphicsview/boxes/3rdparty/fbm.c
index 98eb87a33b..98eb87a33b 100644
--- a/demos/boxes/3rdparty/fbm.c
+++ b/examples/graphicsview/boxes/3rdparty/fbm.c
diff --git a/demos/boxes/3rdparty/fbm.h b/examples/graphicsview/boxes/3rdparty/fbm.h
index b8a4a99ae4..b8a4a99ae4 100644
--- a/demos/boxes/3rdparty/fbm.h
+++ b/examples/graphicsview/boxes/3rdparty/fbm.h
diff --git a/demos/boxes/basic.fsh b/examples/graphicsview/boxes/basic.fsh
index faf3601606..faf3601606 100644
--- a/demos/boxes/basic.fsh
+++ b/examples/graphicsview/boxes/basic.fsh
diff --git a/demos/boxes/basic.vsh b/examples/graphicsview/boxes/basic.vsh
index 31acc4224a..31acc4224a 100644
--- a/demos/boxes/basic.vsh
+++ b/examples/graphicsview/boxes/basic.vsh
diff --git a/demos/boxes/boxes.pro b/examples/graphicsview/boxes/boxes.pro
index 930e5aa51d..176bc3a1cf 100644
--- a/demos/boxes/boxes.pro
+++ b/examples/graphicsview/boxes/boxes.pro
@@ -30,11 +30,11 @@ RESOURCES += boxes.qrc
QT += opengl widgets
# install
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/boxes
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/boxes
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html *.jpg *.png *.fsh *.vsh *.par
sources.files -= 3rdparty/fbm.h 3rdparty/fbm.c
sources.files += 3rdparty
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/boxes
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/boxes
INSTALLS += target sources
wince*: {
diff --git a/demos/boxes/boxes.qrc b/examples/graphicsview/boxes/boxes.qrc
index d27506dc5a..d27506dc5a 100644
--- a/demos/boxes/boxes.qrc
+++ b/examples/graphicsview/boxes/boxes.qrc
diff --git a/demos/boxes/cubemap_negx.jpg b/examples/graphicsview/boxes/cubemap_negx.jpg
index 07c282eab9..07c282eab9 100644
--- a/demos/boxes/cubemap_negx.jpg
+++ b/examples/graphicsview/boxes/cubemap_negx.jpg
Binary files differ
diff --git a/demos/boxes/cubemap_negy.jpg b/examples/graphicsview/boxes/cubemap_negy.jpg
index 46cd2f9cf3..46cd2f9cf3 100644
--- a/demos/boxes/cubemap_negy.jpg
+++ b/examples/graphicsview/boxes/cubemap_negy.jpg
Binary files differ
diff --git a/demos/boxes/cubemap_negz.jpg b/examples/graphicsview/boxes/cubemap_negz.jpg
index 40c01ddff3..40c01ddff3 100644
--- a/demos/boxes/cubemap_negz.jpg
+++ b/examples/graphicsview/boxes/cubemap_negz.jpg
Binary files differ
diff --git a/demos/boxes/cubemap_posx.jpg b/examples/graphicsview/boxes/cubemap_posx.jpg
index 0b42e8a1b1..0b42e8a1b1 100644
--- a/demos/boxes/cubemap_posx.jpg
+++ b/examples/graphicsview/boxes/cubemap_posx.jpg
Binary files differ
diff --git a/demos/boxes/cubemap_posy.jpg b/examples/graphicsview/boxes/cubemap_posy.jpg
index 2aca9b1e98..2aca9b1e98 100644
--- a/demos/boxes/cubemap_posy.jpg
+++ b/examples/graphicsview/boxes/cubemap_posy.jpg
Binary files differ
diff --git a/demos/boxes/cubemap_posz.jpg b/examples/graphicsview/boxes/cubemap_posz.jpg
index 2e49173848..2e49173848 100644
--- a/demos/boxes/cubemap_posz.jpg
+++ b/examples/graphicsview/boxes/cubemap_posz.jpg
Binary files differ
diff --git a/demos/boxes/dotted.fsh b/examples/graphicsview/boxes/dotted.fsh
index a9f1bcbefb..a9f1bcbefb 100644
--- a/demos/boxes/dotted.fsh
+++ b/examples/graphicsview/boxes/dotted.fsh
diff --git a/demos/boxes/fresnel.fsh b/examples/graphicsview/boxes/fresnel.fsh
index 462f9674f4..462f9674f4 100644
--- a/demos/boxes/fresnel.fsh
+++ b/examples/graphicsview/boxes/fresnel.fsh
diff --git a/demos/boxes/glass.fsh b/examples/graphicsview/boxes/glass.fsh
index aeac2c2fed..aeac2c2fed 100644
--- a/demos/boxes/glass.fsh
+++ b/examples/graphicsview/boxes/glass.fsh
diff --git a/demos/boxes/glbuffers.cpp b/examples/graphicsview/boxes/glbuffers.cpp
index e12132b4cd..e12132b4cd 100644
--- a/demos/boxes/glbuffers.cpp
+++ b/examples/graphicsview/boxes/glbuffers.cpp
diff --git a/demos/boxes/glbuffers.h b/examples/graphicsview/boxes/glbuffers.h
index 1a53fa2c1a..1a53fa2c1a 100644
--- a/demos/boxes/glbuffers.h
+++ b/examples/graphicsview/boxes/glbuffers.h
diff --git a/demos/boxes/glextensions.cpp b/examples/graphicsview/boxes/glextensions.cpp
index b712efe38b..b712efe38b 100644
--- a/demos/boxes/glextensions.cpp
+++ b/examples/graphicsview/boxes/glextensions.cpp
diff --git a/demos/boxes/glextensions.h b/examples/graphicsview/boxes/glextensions.h
index 54de548cd7..54de548cd7 100644
--- a/demos/boxes/glextensions.h
+++ b/examples/graphicsview/boxes/glextensions.h
diff --git a/demos/boxes/gltrianglemesh.h b/examples/graphicsview/boxes/gltrianglemesh.h
index f023938b7b..f023938b7b 100644
--- a/demos/boxes/gltrianglemesh.h
+++ b/examples/graphicsview/boxes/gltrianglemesh.h
diff --git a/demos/boxes/granite.fsh b/examples/graphicsview/boxes/granite.fsh
index abaeeb97bc..abaeeb97bc 100644
--- a/demos/boxes/granite.fsh
+++ b/examples/graphicsview/boxes/granite.fsh
diff --git a/demos/boxes/main.cpp b/examples/graphicsview/boxes/main.cpp
index e7dced71d2..e7dced71d2 100644
--- a/demos/boxes/main.cpp
+++ b/examples/graphicsview/boxes/main.cpp
diff --git a/demos/boxes/marble.fsh b/examples/graphicsview/boxes/marble.fsh
index 170ec3abef..170ec3abef 100644
--- a/demos/boxes/marble.fsh
+++ b/examples/graphicsview/boxes/marble.fsh
diff --git a/demos/boxes/parameters.par b/examples/graphicsview/boxes/parameters.par
index 50e20739b9..50e20739b9 100644
--- a/demos/boxes/parameters.par
+++ b/examples/graphicsview/boxes/parameters.par
diff --git a/demos/boxes/qt-logo.jpg b/examples/graphicsview/boxes/qt-logo.jpg
index 4014b4659c..4014b4659c 100644
--- a/demos/boxes/qt-logo.jpg
+++ b/examples/graphicsview/boxes/qt-logo.jpg
Binary files differ
diff --git a/demos/boxes/qt-logo.png b/examples/graphicsview/boxes/qt-logo.png
index 7d3e97eb36..7d3e97eb36 100644
--- a/demos/boxes/qt-logo.png
+++ b/examples/graphicsview/boxes/qt-logo.png
Binary files differ
diff --git a/demos/boxes/qtbox.cpp b/examples/graphicsview/boxes/qtbox.cpp
index d24116578c..d24116578c 100644
--- a/demos/boxes/qtbox.cpp
+++ b/examples/graphicsview/boxes/qtbox.cpp
diff --git a/demos/boxes/qtbox.h b/examples/graphicsview/boxes/qtbox.h
index 81ef8ae7d5..81ef8ae7d5 100644
--- a/demos/boxes/qtbox.h
+++ b/examples/graphicsview/boxes/qtbox.h
diff --git a/demos/boxes/reflection.fsh b/examples/graphicsview/boxes/reflection.fsh
index 576c522bbb..576c522bbb 100644
--- a/demos/boxes/reflection.fsh
+++ b/examples/graphicsview/boxes/reflection.fsh
diff --git a/demos/boxes/refraction.fsh b/examples/graphicsview/boxes/refraction.fsh
index 10ab38a54c..10ab38a54c 100644
--- a/demos/boxes/refraction.fsh
+++ b/examples/graphicsview/boxes/refraction.fsh
diff --git a/demos/boxes/roundedbox.cpp b/examples/graphicsview/boxes/roundedbox.cpp
index 5058043707..5058043707 100644
--- a/demos/boxes/roundedbox.cpp
+++ b/examples/graphicsview/boxes/roundedbox.cpp
diff --git a/demos/boxes/roundedbox.h b/examples/graphicsview/boxes/roundedbox.h
index e4e7c589d3..e4e7c589d3 100644
--- a/demos/boxes/roundedbox.h
+++ b/examples/graphicsview/boxes/roundedbox.h
diff --git a/demos/boxes/scene.cpp b/examples/graphicsview/boxes/scene.cpp
index 39cd0fcafd..39cd0fcafd 100644
--- a/demos/boxes/scene.cpp
+++ b/examples/graphicsview/boxes/scene.cpp
diff --git a/demos/boxes/scene.h b/examples/graphicsview/boxes/scene.h
index 357f955bb6..357f955bb6 100644
--- a/demos/boxes/scene.h
+++ b/examples/graphicsview/boxes/scene.h
diff --git a/demos/boxes/smiley.png b/examples/graphicsview/boxes/smiley.png
index 41cfda6b23..41cfda6b23 100644
--- a/demos/boxes/smiley.png
+++ b/examples/graphicsview/boxes/smiley.png
Binary files differ
diff --git a/demos/boxes/square.jpg b/examples/graphicsview/boxes/square.jpg
index 03f53bd530..03f53bd530 100644
--- a/demos/boxes/square.jpg
+++ b/examples/graphicsview/boxes/square.jpg
Binary files differ
diff --git a/demos/boxes/trackball.cpp b/examples/graphicsview/boxes/trackball.cpp
index 1bb864ce90..1bb864ce90 100644
--- a/demos/boxes/trackball.cpp
+++ b/examples/graphicsview/boxes/trackball.cpp
diff --git a/demos/boxes/trackball.h b/examples/graphicsview/boxes/trackball.h
index cc3d5ade34..cc3d5ade34 100644
--- a/demos/boxes/trackball.h
+++ b/examples/graphicsview/boxes/trackball.h
diff --git a/demos/boxes/wood.fsh b/examples/graphicsview/boxes/wood.fsh
index 19950b252c..19950b252c 100644
--- a/demos/boxes/wood.fsh
+++ b/examples/graphicsview/boxes/wood.fsh
diff --git a/demos/chip/chip.cpp b/examples/graphicsview/chip/chip.cpp
index b47069b20c..b47069b20c 100644
--- a/demos/chip/chip.cpp
+++ b/examples/graphicsview/chip/chip.cpp
diff --git a/demos/chip/chip.h b/examples/graphicsview/chip/chip.h
index 460969451b..460969451b 100644
--- a/demos/chip/chip.h
+++ b/examples/graphicsview/chip/chip.h
diff --git a/demos/chip/chip.pro b/examples/graphicsview/chip/chip.pro
index 9b186b74a8..227768deb9 100644
--- a/demos/chip/chip.pro
+++ b/examples/graphicsview/chip/chip.pro
@@ -12,9 +12,9 @@ build_all:!build_pass {
}
# install
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/chip
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/chip
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.png *.pro *.html *.doc images
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/chip
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/chip
INSTALLS += target sources
-symbian: CONFIG += qt_demo
+symbian: CONFIG += qt_example
diff --git a/demos/chip/fileprint.png b/examples/graphicsview/chip/fileprint.png
index ba7c02dc18..ba7c02dc18 100644
--- a/demos/chip/fileprint.png
+++ b/examples/graphicsview/chip/fileprint.png
Binary files differ
diff --git a/demos/chip/images.qrc b/examples/graphicsview/chip/images.qrc
index c7cdf0c4c0..c7cdf0c4c0 100644
--- a/demos/chip/images.qrc
+++ b/examples/graphicsview/chip/images.qrc
diff --git a/demos/chip/main.cpp b/examples/graphicsview/chip/main.cpp
index e983e4cca6..e983e4cca6 100644
--- a/demos/chip/main.cpp
+++ b/examples/graphicsview/chip/main.cpp
diff --git a/demos/chip/mainwindow.cpp b/examples/graphicsview/chip/mainwindow.cpp
index dd33f0fc56..dd33f0fc56 100644
--- a/demos/chip/mainwindow.cpp
+++ b/examples/graphicsview/chip/mainwindow.cpp
diff --git a/demos/chip/mainwindow.h b/examples/graphicsview/chip/mainwindow.h
index a5ea9402d7..a5ea9402d7 100644
--- a/demos/chip/mainwindow.h
+++ b/examples/graphicsview/chip/mainwindow.h
diff --git a/demos/chip/qt4logo.png b/examples/graphicsview/chip/qt4logo.png
index 157e86ed64..157e86ed64 100644
--- a/demos/chip/qt4logo.png
+++ b/examples/graphicsview/chip/qt4logo.png
Binary files differ
diff --git a/demos/chip/rotateleft.png b/examples/graphicsview/chip/rotateleft.png
index 8cfa931986..8cfa931986 100644
--- a/demos/chip/rotateleft.png
+++ b/examples/graphicsview/chip/rotateleft.png
Binary files differ
diff --git a/demos/chip/rotateright.png b/examples/graphicsview/chip/rotateright.png
index ec5e8664a1..ec5e8664a1 100644
--- a/demos/chip/rotateright.png
+++ b/examples/graphicsview/chip/rotateright.png
Binary files differ
diff --git a/demos/chip/view.cpp b/examples/graphicsview/chip/view.cpp
index 872a10e4be..872a10e4be 100644
--- a/demos/chip/view.cpp
+++ b/examples/graphicsview/chip/view.cpp
diff --git a/demos/chip/view.h b/examples/graphicsview/chip/view.h
index 7c587d4147..7c587d4147 100644
--- a/demos/chip/view.h
+++ b/examples/graphicsview/chip/view.h
diff --git a/demos/chip/zoomin.png b/examples/graphicsview/chip/zoomin.png
index 8b0daeea48..8b0daeea48 100644
--- a/demos/chip/zoomin.png
+++ b/examples/graphicsview/chip/zoomin.png
Binary files differ
diff --git a/demos/chip/zoomout.png b/examples/graphicsview/chip/zoomout.png
index 1575dd24f6..1575dd24f6 100644
--- a/demos/chip/zoomout.png
+++ b/examples/graphicsview/chip/zoomout.png
Binary files differ
diff --git a/demos/embeddeddialogs/No-Ones-Laughing-3.jpg b/examples/graphicsview/embeddeddialogs/No-Ones-Laughing-3.jpg
index 445567fbda..445567fbda 100644
--- a/demos/embeddeddialogs/No-Ones-Laughing-3.jpg
+++ b/examples/graphicsview/embeddeddialogs/No-Ones-Laughing-3.jpg
Binary files differ
diff --git a/demos/embeddeddialogs/customproxy.cpp b/examples/graphicsview/embeddeddialogs/customproxy.cpp
index 13f5f654c2..13f5f654c2 100644
--- a/demos/embeddeddialogs/customproxy.cpp
+++ b/examples/graphicsview/embeddeddialogs/customproxy.cpp
diff --git a/demos/embeddeddialogs/customproxy.h b/examples/graphicsview/embeddeddialogs/customproxy.h
index 0ac7c7afe4..0ac7c7afe4 100644
--- a/demos/embeddeddialogs/customproxy.h
+++ b/examples/graphicsview/embeddeddialogs/customproxy.h
diff --git a/demos/embeddeddialogs/embeddeddialog.cpp b/examples/graphicsview/embeddeddialogs/embeddeddialog.cpp
index f608fc5558..f608fc5558 100644
--- a/demos/embeddeddialogs/embeddeddialog.cpp
+++ b/examples/graphicsview/embeddeddialogs/embeddeddialog.cpp
diff --git a/demos/embeddeddialogs/embeddeddialog.h b/examples/graphicsview/embeddeddialogs/embeddeddialog.h
index 1c7051fac9..1c7051fac9 100644
--- a/demos/embeddeddialogs/embeddeddialog.h
+++ b/examples/graphicsview/embeddeddialogs/embeddeddialog.h
diff --git a/demos/embeddeddialogs/embeddeddialog.ui b/examples/graphicsview/embeddeddialogs/embeddeddialog.ui
index f967b10085..f967b10085 100644
--- a/demos/embeddeddialogs/embeddeddialog.ui
+++ b/examples/graphicsview/embeddeddialogs/embeddeddialog.ui
diff --git a/demos/embeddeddialogs/embeddeddialogs.pro b/examples/graphicsview/embeddeddialogs/embeddeddialogs.pro
index 30cde78751..1f4ef91946 100644
--- a/demos/embeddeddialogs/embeddeddialogs.pro
+++ b/examples/graphicsview/embeddeddialogs/embeddeddialogs.pro
@@ -11,10 +11,10 @@ build_all:!build_pass {
}
# install
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/embeddeddialogs
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/embeddeddialogs
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.png *.jpg *.plist *.icns *.ico *.rc *.pro *.html *.doc images
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/embeddeddialogs
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/embeddeddialogs
INSTALLS += target sources
-symbian: CONFIG += qt_demo
-QT += widgets widgets
+QT += widgets
+symbian: CONFIG += qt_example
diff --git a/demos/embeddeddialogs/embeddeddialogs.qrc b/examples/graphicsview/embeddeddialogs/embeddeddialogs.qrc
index 33be5038da..33be5038da 100644
--- a/demos/embeddeddialogs/embeddeddialogs.qrc
+++ b/examples/graphicsview/embeddeddialogs/embeddeddialogs.qrc
diff --git a/demos/embeddeddialogs/main.cpp b/examples/graphicsview/embeddeddialogs/main.cpp
index 76d77538d8..76d77538d8 100644
--- a/demos/embeddeddialogs/main.cpp
+++ b/examples/graphicsview/embeddeddialogs/main.cpp
diff --git a/examples/graphicsview/graphicsview.pro b/examples/graphicsview/graphicsview.pro
index 83dfe728c2..a9aeb0d17f 100644
--- a/examples/graphicsview/graphicsview.pro
+++ b/examples/graphicsview/graphicsview.pro
@@ -1,6 +1,8 @@
TEMPLATE = subdirs
SUBDIRS = \
+ chip \
elasticnodes \
+ embeddeddialogs \
collidingmice \
padnavigator \
basicgraphicslayouts
@@ -15,6 +17,10 @@ SUBDIRS = \
contains(DEFINES, QT_NO_CURSOR)|contains(DEFINES, QT_NO_DRAGANDDROP): SUBDIRS -= dragdroprobot
+contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles2):{
+ SUBDIRS += boxes
+}
+
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS graphicsview.pro README
diff --git a/demos/interview/README b/examples/itemviews/interview/README
index 50894428f6..50894428f6 100644
--- a/demos/interview/README
+++ b/examples/itemviews/interview/README
diff --git a/demos/interview/images/folder.png b/examples/itemviews/interview/images/folder.png
index 589fd2df59..589fd2df59 100644
--- a/demos/interview/images/folder.png
+++ b/examples/itemviews/interview/images/folder.png
Binary files differ
diff --git a/demos/interview/images/interview.png b/examples/itemviews/interview/images/interview.png
index 0c3d690258..0c3d690258 100644
--- a/demos/interview/images/interview.png
+++ b/examples/itemviews/interview/images/interview.png
Binary files differ
diff --git a/demos/interview/images/services.png b/examples/itemviews/interview/images/services.png
index 6b2ad969d4..6b2ad969d4 100644
--- a/demos/interview/images/services.png
+++ b/examples/itemviews/interview/images/services.png
Binary files differ
diff --git a/demos/interview/interview.pro b/examples/itemviews/interview/interview.pro
index bf39328e99..bf39328e99 100644
--- a/demos/interview/interview.pro
+++ b/examples/itemviews/interview/interview.pro
diff --git a/demos/interview/interview.qrc b/examples/itemviews/interview/interview.qrc
index b28ea34d8a..b28ea34d8a 100644
--- a/demos/interview/interview.qrc
+++ b/examples/itemviews/interview/interview.qrc
diff --git a/demos/interview/main.cpp b/examples/itemviews/interview/main.cpp
index b9656c6185..b9656c6185 100644
--- a/demos/interview/main.cpp
+++ b/examples/itemviews/interview/main.cpp
diff --git a/demos/interview/model.cpp b/examples/itemviews/interview/model.cpp
index 6031615711..6031615711 100644
--- a/demos/interview/model.cpp
+++ b/examples/itemviews/interview/model.cpp
diff --git a/demos/interview/model.h b/examples/itemviews/interview/model.h
index f0ae556ce3..f0ae556ce3 100644
--- a/demos/interview/model.h
+++ b/examples/itemviews/interview/model.h
diff --git a/demos/spreadsheet/images/interview.png b/examples/itemviews/spreadsheet/images/interview.png
index 0c3d690258..0c3d690258 100644
--- a/demos/spreadsheet/images/interview.png
+++ b/examples/itemviews/spreadsheet/images/interview.png
Binary files differ
diff --git a/demos/spreadsheet/main.cpp b/examples/itemviews/spreadsheet/main.cpp
index 19bb379124..19bb379124 100644
--- a/demos/spreadsheet/main.cpp
+++ b/examples/itemviews/spreadsheet/main.cpp
diff --git a/demos/spreadsheet/printview.cpp b/examples/itemviews/spreadsheet/printview.cpp
index 0962e28844..0962e28844 100644
--- a/demos/spreadsheet/printview.cpp
+++ b/examples/itemviews/spreadsheet/printview.cpp
diff --git a/demos/spreadsheet/printview.h b/examples/itemviews/spreadsheet/printview.h
index 7c74844483..7c74844483 100644
--- a/demos/spreadsheet/printview.h
+++ b/examples/itemviews/spreadsheet/printview.h
diff --git a/demos/spreadsheet/spreadsheet.cpp b/examples/itemviews/spreadsheet/spreadsheet.cpp
index 04ddfc7b66..04ddfc7b66 100644
--- a/demos/spreadsheet/spreadsheet.cpp
+++ b/examples/itemviews/spreadsheet/spreadsheet.cpp
diff --git a/demos/spreadsheet/spreadsheet.h b/examples/itemviews/spreadsheet/spreadsheet.h
index 386a469c99..386a469c99 100644
--- a/demos/spreadsheet/spreadsheet.h
+++ b/examples/itemviews/spreadsheet/spreadsheet.h
diff --git a/demos/spreadsheet/spreadsheet.pro b/examples/itemviews/spreadsheet/spreadsheet.pro
index dc079866a3..dc079866a3 100644
--- a/demos/spreadsheet/spreadsheet.pro
+++ b/examples/itemviews/spreadsheet/spreadsheet.pro
diff --git a/demos/spreadsheet/spreadsheet.qrc b/examples/itemviews/spreadsheet/spreadsheet.qrc
index 13f496d8e3..13f496d8e3 100644
--- a/demos/spreadsheet/spreadsheet.qrc
+++ b/examples/itemviews/spreadsheet/spreadsheet.qrc
diff --git a/demos/spreadsheet/spreadsheetdelegate.cpp b/examples/itemviews/spreadsheet/spreadsheetdelegate.cpp
index 59f340ae3d..59f340ae3d 100644
--- a/demos/spreadsheet/spreadsheetdelegate.cpp
+++ b/examples/itemviews/spreadsheet/spreadsheetdelegate.cpp
diff --git a/demos/spreadsheet/spreadsheetdelegate.h b/examples/itemviews/spreadsheet/spreadsheetdelegate.h
index 7987f35499..7987f35499 100644
--- a/demos/spreadsheet/spreadsheetdelegate.h
+++ b/examples/itemviews/spreadsheet/spreadsheetdelegate.h
diff --git a/demos/spreadsheet/spreadsheetitem.cpp b/examples/itemviews/spreadsheet/spreadsheetitem.cpp
index 74a1967a8a..74a1967a8a 100644
--- a/demos/spreadsheet/spreadsheetitem.cpp
+++ b/examples/itemviews/spreadsheet/spreadsheetitem.cpp
diff --git a/demos/spreadsheet/spreadsheetitem.h b/examples/itemviews/spreadsheet/spreadsheetitem.h
index c7764ea1de..c7764ea1de 100644
--- a/demos/spreadsheet/spreadsheetitem.h
+++ b/examples/itemviews/spreadsheet/spreadsheetitem.h
diff --git a/demos/macmainwindow/macmainwindow.h b/examples/mainwindows/macmainwindow/macmainwindow.h
index d6f8b4cbdd..d6f8b4cbdd 100644
--- a/demos/macmainwindow/macmainwindow.h
+++ b/examples/mainwindows/macmainwindow/macmainwindow.h
diff --git a/demos/macmainwindow/macmainwindow.mm b/examples/mainwindows/macmainwindow/macmainwindow.mm
index 3b0ba6f02a..3b0ba6f02a 100644
--- a/demos/macmainwindow/macmainwindow.mm
+++ b/examples/mainwindows/macmainwindow/macmainwindow.mm
diff --git a/demos/macmainwindow/macmainwindow.pro b/examples/mainwindows/macmainwindow/macmainwindow.pro
index 6773a669d0..6773a669d0 100644
--- a/demos/macmainwindow/macmainwindow.pro
+++ b/examples/mainwindows/macmainwindow/macmainwindow.pro
diff --git a/demos/macmainwindow/main.cpp b/examples/mainwindows/macmainwindow/main.cpp
index c984d80397..c984d80397 100644
--- a/demos/macmainwindow/main.cpp
+++ b/examples/mainwindows/macmainwindow/main.cpp
diff --git a/demos/mainwindow/colorswatch.cpp b/examples/mainwindows/mainwindow/colorswatch.cpp
index dd16fddbe7..dd16fddbe7 100644
--- a/demos/mainwindow/colorswatch.cpp
+++ b/examples/mainwindows/mainwindow/colorswatch.cpp
diff --git a/demos/mainwindow/colorswatch.h b/examples/mainwindows/mainwindow/colorswatch.h
index 555f1c6cd4..555f1c6cd4 100644
--- a/demos/mainwindow/colorswatch.h
+++ b/examples/mainwindows/mainwindow/colorswatch.h
diff --git a/demos/mainwindow/main.cpp b/examples/mainwindows/mainwindow/main.cpp
index 71cff13cb8..71cff13cb8 100644
--- a/demos/mainwindow/main.cpp
+++ b/examples/mainwindows/mainwindow/main.cpp
diff --git a/demos/mainwindow/mainwindow.cpp b/examples/mainwindows/mainwindow/mainwindow.cpp
index a58a713c0b..a58a713c0b 100644
--- a/demos/mainwindow/mainwindow.cpp
+++ b/examples/mainwindows/mainwindow/mainwindow.cpp
diff --git a/demos/mainwindow/mainwindow.h b/examples/mainwindows/mainwindow/mainwindow.h
index aa01ffa131..aa01ffa131 100644
--- a/demos/mainwindow/mainwindow.h
+++ b/examples/mainwindows/mainwindow/mainwindow.h
diff --git a/demos/mainwindow/mainwindow.pro b/examples/mainwindows/mainwindow/mainwindow.pro
index bbb7c80a21..bbb7c80a21 100644
--- a/demos/mainwindow/mainwindow.pro
+++ b/examples/mainwindows/mainwindow/mainwindow.pro
diff --git a/demos/mainwindow/mainwindow.qrc b/examples/mainwindows/mainwindow/mainwindow.qrc
index 47ff22a3e4..47ff22a3e4 100644
--- a/demos/mainwindow/mainwindow.qrc
+++ b/examples/mainwindows/mainwindow/mainwindow.qrc
diff --git a/demos/mainwindow/qt.png b/examples/mainwindows/mainwindow/qt.png
index 48fa9fc2ef..48fa9fc2ef 100644
--- a/demos/mainwindow/qt.png
+++ b/examples/mainwindows/mainwindow/qt.png
Binary files differ
diff --git a/demos/mainwindow/titlebarCenter.png b/examples/mainwindows/mainwindow/titlebarCenter.png
index 5cc141355c..5cc141355c 100644
--- a/demos/mainwindow/titlebarCenter.png
+++ b/examples/mainwindows/mainwindow/titlebarCenter.png
Binary files differ
diff --git a/demos/mainwindow/titlebarLeft.png b/examples/mainwindows/mainwindow/titlebarLeft.png
index 315166202b..315166202b 100644
--- a/demos/mainwindow/titlebarLeft.png
+++ b/examples/mainwindows/mainwindow/titlebarLeft.png
Binary files differ
diff --git a/demos/mainwindow/titlebarRight.png b/examples/mainwindows/mainwindow/titlebarRight.png
index a4505268ec..a4505268ec 100644
--- a/demos/mainwindow/titlebarRight.png
+++ b/examples/mainwindows/mainwindow/titlebarRight.png
Binary files differ
diff --git a/demos/mainwindow/toolbar.cpp b/examples/mainwindows/mainwindow/toolbar.cpp
index 1176ee5480..1176ee5480 100644
--- a/demos/mainwindow/toolbar.cpp
+++ b/examples/mainwindows/mainwindow/toolbar.cpp
diff --git a/demos/mainwindow/toolbar.h b/examples/mainwindows/mainwindow/toolbar.h
index 5b982ee73b..5b982ee73b 100644
--- a/demos/mainwindow/toolbar.h
+++ b/examples/mainwindows/mainwindow/toolbar.h
diff --git a/demos/affine/affine.pro b/examples/painting/affine/affine.pro
index 4e4eee8882..4e4eee8882 100644
--- a/demos/affine/affine.pro
+++ b/examples/painting/affine/affine.pro
diff --git a/demos/affine/affine.qrc b/examples/painting/affine/affine.qrc
index d8a7ae40cb..d8a7ae40cb 100644
--- a/demos/affine/affine.qrc
+++ b/examples/painting/affine/affine.qrc
diff --git a/demos/affine/bg1.jpg b/examples/painting/affine/bg1.jpg
index dfc7cee6ad..dfc7cee6ad 100644
--- a/demos/affine/bg1.jpg
+++ b/examples/painting/affine/bg1.jpg
Binary files differ
diff --git a/demos/affine/main.cpp b/examples/painting/affine/main.cpp
index 19758938f8..19758938f8 100644
--- a/demos/affine/main.cpp
+++ b/examples/painting/affine/main.cpp
diff --git a/demos/affine/xform.cpp b/examples/painting/affine/xform.cpp
index ea1916acc8..ea1916acc8 100644
--- a/demos/affine/xform.cpp
+++ b/examples/painting/affine/xform.cpp
diff --git a/demos/affine/xform.h b/examples/painting/affine/xform.h
index 0cf837cbdd..0cf837cbdd 100644
--- a/demos/affine/xform.h
+++ b/examples/painting/affine/xform.h
diff --git a/demos/affine/xform.html b/examples/painting/affine/xform.html
index 17325ac2a0..17325ac2a0 100644
--- a/demos/affine/xform.html
+++ b/examples/painting/affine/xform.html
diff --git a/demos/composition/composition.cpp b/examples/painting/composition/composition.cpp
index b3f810b26c..b3f810b26c 100644
--- a/demos/composition/composition.cpp
+++ b/examples/painting/composition/composition.cpp
diff --git a/demos/composition/composition.h b/examples/painting/composition/composition.h
index 86e8f5c0df..86e8f5c0df 100644
--- a/demos/composition/composition.h
+++ b/examples/painting/composition/composition.h
diff --git a/demos/composition/composition.html b/examples/painting/composition/composition.html
index 1848ad8bd1..1848ad8bd1 100644
--- a/demos/composition/composition.html
+++ b/examples/painting/composition/composition.html
diff --git a/demos/composition/composition.pro b/examples/painting/composition/composition.pro
index 00c500ea3b..00c500ea3b 100644
--- a/demos/composition/composition.pro
+++ b/examples/painting/composition/composition.pro
diff --git a/demos/composition/composition.qrc b/examples/painting/composition/composition.qrc
index d02c397ee8..d02c397ee8 100644
--- a/demos/composition/composition.qrc
+++ b/examples/painting/composition/composition.qrc
diff --git a/demos/composition/flower.jpg b/examples/painting/composition/flower.jpg
index f8e022c98c..f8e022c98c 100644
--- a/demos/composition/flower.jpg
+++ b/examples/painting/composition/flower.jpg
Binary files differ
diff --git a/demos/composition/flower_alpha.jpg b/examples/painting/composition/flower_alpha.jpg
index 6a3c2a02ef..6a3c2a02ef 100644
--- a/demos/composition/flower_alpha.jpg
+++ b/examples/painting/composition/flower_alpha.jpg
Binary files differ
diff --git a/demos/composition/main.cpp b/examples/painting/composition/main.cpp
index d6bc170a97..d6bc170a97 100644
--- a/demos/composition/main.cpp
+++ b/examples/painting/composition/main.cpp
diff --git a/demos/deform/deform.pro b/examples/painting/deform/deform.pro
index d1c8938ad0..d1c8938ad0 100644
--- a/demos/deform/deform.pro
+++ b/examples/painting/deform/deform.pro
diff --git a/demos/deform/deform.qrc b/examples/painting/deform/deform.qrc
index 2e59ebcfc5..2e59ebcfc5 100644
--- a/demos/deform/deform.qrc
+++ b/examples/painting/deform/deform.qrc
diff --git a/demos/deform/main.cpp b/examples/painting/deform/main.cpp
index c49117a2f2..c49117a2f2 100644
--- a/demos/deform/main.cpp
+++ b/examples/painting/deform/main.cpp
diff --git a/demos/deform/pathdeform.cpp b/examples/painting/deform/pathdeform.cpp
index f80ef2b8be..f80ef2b8be 100644
--- a/demos/deform/pathdeform.cpp
+++ b/examples/painting/deform/pathdeform.cpp
diff --git a/demos/deform/pathdeform.h b/examples/painting/deform/pathdeform.h
index 73a1955082..73a1955082 100644
--- a/demos/deform/pathdeform.h
+++ b/examples/painting/deform/pathdeform.h
diff --git a/demos/deform/pathdeform.html b/examples/painting/deform/pathdeform.html
index b3f63a8e0a..b3f63a8e0a 100644
--- a/demos/deform/pathdeform.html
+++ b/examples/painting/deform/pathdeform.html
diff --git a/demos/gradients/gradients.cpp b/examples/painting/gradients/gradients.cpp
index d8b739b3b0..d8b739b3b0 100644
--- a/demos/gradients/gradients.cpp
+++ b/examples/painting/gradients/gradients.cpp
diff --git a/demos/gradients/gradients.h b/examples/painting/gradients/gradients.h
index 3277c4b21d..3277c4b21d 100644
--- a/demos/gradients/gradients.h
+++ b/examples/painting/gradients/gradients.h
diff --git a/demos/gradients/gradients.html b/examples/painting/gradients/gradients.html
index 1ea2c0ed6c..1ea2c0ed6c 100644
--- a/demos/gradients/gradients.html
+++ b/examples/painting/gradients/gradients.html
diff --git a/demos/gradients/gradients.pro b/examples/painting/gradients/gradients.pro
index ff292efba1..ff292efba1 100644
--- a/demos/gradients/gradients.pro
+++ b/examples/painting/gradients/gradients.pro
diff --git a/demos/gradients/gradients.qrc b/examples/painting/gradients/gradients.qrc
index fb971eb17b..fb971eb17b 100644
--- a/demos/gradients/gradients.qrc
+++ b/examples/painting/gradients/gradients.qrc
diff --git a/demos/gradients/main.cpp b/examples/painting/gradients/main.cpp
index 1d2f0d5775..1d2f0d5775 100644
--- a/demos/gradients/main.cpp
+++ b/examples/painting/gradients/main.cpp
diff --git a/demos/pathstroke/main.cpp b/examples/painting/pathstroke/main.cpp
index b357f99336..b357f99336 100644
--- a/demos/pathstroke/main.cpp
+++ b/examples/painting/pathstroke/main.cpp
diff --git a/demos/pathstroke/pathstroke.cpp b/examples/painting/pathstroke/pathstroke.cpp
index 02c35f7721..02c35f7721 100644
--- a/demos/pathstroke/pathstroke.cpp
+++ b/examples/painting/pathstroke/pathstroke.cpp
diff --git a/demos/pathstroke/pathstroke.h b/examples/painting/pathstroke/pathstroke.h
index 72b897a994..72b897a994 100644
--- a/demos/pathstroke/pathstroke.h
+++ b/examples/painting/pathstroke/pathstroke.h
diff --git a/demos/pathstroke/pathstroke.html b/examples/painting/pathstroke/pathstroke.html
index 9e7e50de76..9e7e50de76 100644
--- a/demos/pathstroke/pathstroke.html
+++ b/examples/painting/pathstroke/pathstroke.html
diff --git a/demos/pathstroke/pathstroke.pro b/examples/painting/pathstroke/pathstroke.pro
index af6482fb48..af6482fb48 100644
--- a/demos/pathstroke/pathstroke.pro
+++ b/examples/painting/pathstroke/pathstroke.pro
diff --git a/demos/pathstroke/pathstroke.qrc b/examples/painting/pathstroke/pathstroke.qrc
index a9a723409e..a9a723409e 100644
--- a/demos/pathstroke/pathstroke.qrc
+++ b/examples/painting/pathstroke/pathstroke.qrc
diff --git a/demos/shared/arthurstyle.cpp b/examples/painting/shared/arthurstyle.cpp
index 432b8b34e5..432b8b34e5 100644
--- a/demos/shared/arthurstyle.cpp
+++ b/examples/painting/shared/arthurstyle.cpp
diff --git a/demos/shared/arthurstyle.h b/examples/painting/shared/arthurstyle.h
index 32c7fad970..32c7fad970 100644
--- a/demos/shared/arthurstyle.h
+++ b/examples/painting/shared/arthurstyle.h
diff --git a/demos/shared/arthurwidgets.cpp b/examples/painting/shared/arthurwidgets.cpp
index b3c75f0fc4..b3c75f0fc4 100644
--- a/demos/shared/arthurwidgets.cpp
+++ b/examples/painting/shared/arthurwidgets.cpp
diff --git a/demos/shared/arthurwidgets.h b/examples/painting/shared/arthurwidgets.h
index dc8f92505d..dc8f92505d 100644
--- a/demos/shared/arthurwidgets.h
+++ b/examples/painting/shared/arthurwidgets.h
diff --git a/demos/shared/hoverpoints.cpp b/examples/painting/shared/hoverpoints.cpp
index 36c24186d3..36c24186d3 100644
--- a/demos/shared/hoverpoints.cpp
+++ b/examples/painting/shared/hoverpoints.cpp
diff --git a/demos/shared/hoverpoints.h b/examples/painting/shared/hoverpoints.h
index af755a2a50..af755a2a50 100644
--- a/demos/shared/hoverpoints.h
+++ b/examples/painting/shared/hoverpoints.h
diff --git a/demos/shared/images/bg_pattern.png b/examples/painting/shared/images/bg_pattern.png
index ee670266f0..ee670266f0 100644
--- a/demos/shared/images/bg_pattern.png
+++ b/examples/painting/shared/images/bg_pattern.png
Binary files differ
diff --git a/demos/shared/images/button_normal_cap_left.png b/examples/painting/shared/images/button_normal_cap_left.png
index db31dd971d..db31dd971d 100644
--- a/demos/shared/images/button_normal_cap_left.png
+++ b/examples/painting/shared/images/button_normal_cap_left.png
Binary files differ
diff --git a/demos/shared/images/button_normal_cap_right.png b/examples/painting/shared/images/button_normal_cap_right.png
index 38ead1c719..38ead1c719 100644
--- a/demos/shared/images/button_normal_cap_right.png
+++ b/examples/painting/shared/images/button_normal_cap_right.png
Binary files differ
diff --git a/demos/shared/images/button_normal_stretch.png b/examples/painting/shared/images/button_normal_stretch.png
index 87abe67ac9..87abe67ac9 100644
--- a/demos/shared/images/button_normal_stretch.png
+++ b/examples/painting/shared/images/button_normal_stretch.png
Binary files differ
diff --git a/demos/shared/images/button_pressed_cap_left.png b/examples/painting/shared/images/button_pressed_cap_left.png
index 66bfc13cb4..66bfc13cb4 100644
--- a/demos/shared/images/button_pressed_cap_left.png
+++ b/examples/painting/shared/images/button_pressed_cap_left.png
Binary files differ
diff --git a/demos/shared/images/button_pressed_cap_right.png b/examples/painting/shared/images/button_pressed_cap_right.png
index 3d4cfe25b1..3d4cfe25b1 100644
--- a/demos/shared/images/button_pressed_cap_right.png
+++ b/examples/painting/shared/images/button_pressed_cap_right.png
Binary files differ
diff --git a/demos/shared/images/button_pressed_stretch.png b/examples/painting/shared/images/button_pressed_stretch.png
index 4dd4ad11e6..4dd4ad11e6 100644
--- a/demos/shared/images/button_pressed_stretch.png
+++ b/examples/painting/shared/images/button_pressed_stretch.png
Binary files differ
diff --git a/demos/shared/images/curve_thing_edit-6.png b/examples/painting/shared/images/curve_thing_edit-6.png
index 034b474d02..034b474d02 100644
--- a/demos/shared/images/curve_thing_edit-6.png
+++ b/examples/painting/shared/images/curve_thing_edit-6.png
Binary files differ
diff --git a/demos/shared/images/frame_bottom.png b/examples/painting/shared/images/frame_bottom.png
index 889b40d304..889b40d304 100644
--- a/demos/shared/images/frame_bottom.png
+++ b/examples/painting/shared/images/frame_bottom.png
Binary files differ
diff --git a/demos/shared/images/frame_bottomleft.png b/examples/painting/shared/images/frame_bottomleft.png
index 0b3023f397..0b3023f397 100644
--- a/demos/shared/images/frame_bottomleft.png
+++ b/examples/painting/shared/images/frame_bottomleft.png
Binary files differ
diff --git a/demos/shared/images/frame_bottomright.png b/examples/painting/shared/images/frame_bottomright.png
index 0021e35864..0021e35864 100644
--- a/demos/shared/images/frame_bottomright.png
+++ b/examples/painting/shared/images/frame_bottomright.png
Binary files differ
diff --git a/demos/shared/images/frame_left.png b/examples/painting/shared/images/frame_left.png
index 40f331c293..40f331c293 100644
--- a/demos/shared/images/frame_left.png
+++ b/examples/painting/shared/images/frame_left.png
Binary files differ
diff --git a/demos/shared/images/frame_right.png b/examples/painting/shared/images/frame_right.png
index 023af8c700..023af8c700 100644
--- a/demos/shared/images/frame_right.png
+++ b/examples/painting/shared/images/frame_right.png
Binary files differ
diff --git a/demos/shared/images/frame_top.png b/examples/painting/shared/images/frame_top.png
index 001f3a7144..001f3a7144 100644
--- a/demos/shared/images/frame_top.png
+++ b/examples/painting/shared/images/frame_top.png
Binary files differ
diff --git a/demos/shared/images/frame_topleft.png b/examples/painting/shared/images/frame_topleft.png
index 58c68d407a..58c68d407a 100644
--- a/demos/shared/images/frame_topleft.png
+++ b/examples/painting/shared/images/frame_topleft.png
Binary files differ
diff --git a/demos/shared/images/frame_topright.png b/examples/painting/shared/images/frame_topright.png
index 6a7e8d3eb3..6a7e8d3eb3 100644
--- a/demos/shared/images/frame_topright.png
+++ b/examples/painting/shared/images/frame_topright.png
Binary files differ
diff --git a/demos/shared/images/groupframe_bottom_left.png b/examples/painting/shared/images/groupframe_bottom_left.png
index af2fe061e3..af2fe061e3 100644
--- a/demos/shared/images/groupframe_bottom_left.png
+++ b/examples/painting/shared/images/groupframe_bottom_left.png
Binary files differ
diff --git a/demos/shared/images/groupframe_bottom_right.png b/examples/painting/shared/images/groupframe_bottom_right.png
index fdf2e97b13..fdf2e97b13 100644
--- a/demos/shared/images/groupframe_bottom_right.png
+++ b/examples/painting/shared/images/groupframe_bottom_right.png
Binary files differ
diff --git a/demos/shared/images/groupframe_bottom_stretch.png b/examples/painting/shared/images/groupframe_bottom_stretch.png
index f47b67d7c0..f47b67d7c0 100644
--- a/demos/shared/images/groupframe_bottom_stretch.png
+++ b/examples/painting/shared/images/groupframe_bottom_stretch.png
Binary files differ
diff --git a/demos/shared/images/groupframe_left_stretch.png b/examples/painting/shared/images/groupframe_left_stretch.png
index c122f462ed..c122f462ed 100644
--- a/demos/shared/images/groupframe_left_stretch.png
+++ b/examples/painting/shared/images/groupframe_left_stretch.png
Binary files differ
diff --git a/demos/shared/images/groupframe_right_stretch.png b/examples/painting/shared/images/groupframe_right_stretch.png
index 1056b7812a..1056b7812a 100644
--- a/demos/shared/images/groupframe_right_stretch.png
+++ b/examples/painting/shared/images/groupframe_right_stretch.png
Binary files differ
diff --git a/demos/shared/images/groupframe_top_stretch.png b/examples/painting/shared/images/groupframe_top_stretch.png
index 5746ef96fc..5746ef96fc 100644
--- a/demos/shared/images/groupframe_top_stretch.png
+++ b/examples/painting/shared/images/groupframe_top_stretch.png
Binary files differ
diff --git a/demos/shared/images/groupframe_topleft.png b/examples/painting/shared/images/groupframe_topleft.png
index 98d9cd96b4..98d9cd96b4 100644
--- a/demos/shared/images/groupframe_topleft.png
+++ b/examples/painting/shared/images/groupframe_topleft.png
Binary files differ
diff --git a/demos/shared/images/groupframe_topright.png b/examples/painting/shared/images/groupframe_topright.png
index 1a0a328c20..1a0a328c20 100644
--- a/demos/shared/images/groupframe_topright.png
+++ b/examples/painting/shared/images/groupframe_topright.png
Binary files differ
diff --git a/demos/shared/images/line_dash_dot.png b/examples/painting/shared/images/line_dash_dot.png
index 1c61442d9f..1c61442d9f 100644
--- a/demos/shared/images/line_dash_dot.png
+++ b/examples/painting/shared/images/line_dash_dot.png
Binary files differ
diff --git a/demos/shared/images/line_dash_dot_dot.png b/examples/painting/shared/images/line_dash_dot_dot.png
index 0d9bb972f9..0d9bb972f9 100644
--- a/demos/shared/images/line_dash_dot_dot.png
+++ b/examples/painting/shared/images/line_dash_dot_dot.png
Binary files differ
diff --git a/demos/shared/images/line_dashed.png b/examples/painting/shared/images/line_dashed.png
index d5bc7ea5fe..d5bc7ea5fe 100644
--- a/demos/shared/images/line_dashed.png
+++ b/examples/painting/shared/images/line_dashed.png
Binary files differ
diff --git a/demos/shared/images/line_dotted.png b/examples/painting/shared/images/line_dotted.png
index a2f9a35925..a2f9a35925 100644
--- a/demos/shared/images/line_dotted.png
+++ b/examples/painting/shared/images/line_dotted.png
Binary files differ
diff --git a/demos/shared/images/line_solid.png b/examples/painting/shared/images/line_solid.png
index 60ef3f9485..60ef3f9485 100644
--- a/demos/shared/images/line_solid.png
+++ b/examples/painting/shared/images/line_solid.png
Binary files differ
diff --git a/demos/shared/images/radiobutton-off.png b/examples/painting/shared/images/radiobutton-off.png
index af1753a3e7..af1753a3e7 100644
--- a/demos/shared/images/radiobutton-off.png
+++ b/examples/painting/shared/images/radiobutton-off.png
Binary files differ
diff --git a/demos/shared/images/radiobutton-on.png b/examples/painting/shared/images/radiobutton-on.png
index f875838bb5..f875838bb5 100644
--- a/demos/shared/images/radiobutton-on.png
+++ b/examples/painting/shared/images/radiobutton-on.png
Binary files differ
diff --git a/demos/shared/images/radiobutton_off.png b/examples/painting/shared/images/radiobutton_off.png
index 400906ebfa..400906ebfa 100644
--- a/demos/shared/images/radiobutton_off.png
+++ b/examples/painting/shared/images/radiobutton_off.png
Binary files differ
diff --git a/demos/shared/images/radiobutton_on.png b/examples/painting/shared/images/radiobutton_on.png
index 50a049ec56..50a049ec56 100644
--- a/demos/shared/images/radiobutton_on.png
+++ b/examples/painting/shared/images/radiobutton_on.png
Binary files differ
diff --git a/demos/shared/images/slider_bar.png b/examples/painting/shared/images/slider_bar.png
index 1b3d62c007..1b3d62c007 100644
--- a/demos/shared/images/slider_bar.png
+++ b/examples/painting/shared/images/slider_bar.png
Binary files differ
diff --git a/demos/shared/images/slider_thumb_off.png b/examples/painting/shared/images/slider_thumb_off.png
index d7f141daef..d7f141daef 100644
--- a/demos/shared/images/slider_thumb_off.png
+++ b/examples/painting/shared/images/slider_thumb_off.png
Binary files differ
diff --git a/demos/shared/images/slider_thumb_on.png b/examples/painting/shared/images/slider_thumb_on.png
index 8e1f510813..8e1f510813 100644
--- a/demos/shared/images/slider_thumb_on.png
+++ b/examples/painting/shared/images/slider_thumb_on.png
Binary files differ
diff --git a/demos/shared/images/title_cap_left.png b/examples/painting/shared/images/title_cap_left.png
index 2d475070c8..2d475070c8 100644
--- a/demos/shared/images/title_cap_left.png
+++ b/examples/painting/shared/images/title_cap_left.png
Binary files differ
diff --git a/demos/shared/images/title_cap_right.png b/examples/painting/shared/images/title_cap_right.png
index dc3ff8536c..dc3ff8536c 100644
--- a/demos/shared/images/title_cap_right.png
+++ b/examples/painting/shared/images/title_cap_right.png
Binary files differ
diff --git a/demos/shared/images/title_stretch.png b/examples/painting/shared/images/title_stretch.png
index 11043345d0..11043345d0 100644
--- a/demos/shared/images/title_stretch.png
+++ b/examples/painting/shared/images/title_stretch.png
Binary files differ
diff --git a/demos/shared/shared.pri b/examples/painting/shared/shared.pri
index fb7b04c0be..fb7b04c0be 100644
--- a/demos/shared/shared.pri
+++ b/examples/painting/shared/shared.pri
diff --git a/demos/shared/shared.pro b/examples/painting/shared/shared.pro
index 78aaaefe48..78aaaefe48 100644
--- a/demos/shared/shared.pro
+++ b/examples/painting/shared/shared.pro
diff --git a/demos/shared/shared.qrc b/examples/painting/shared/shared.qrc
index 17336ecf80..17336ecf80 100644
--- a/demos/shared/shared.qrc
+++ b/examples/painting/shared/shared.qrc
diff --git a/demos/textedit/example.html b/examples/richtext/textedit/example.html
index 6327b5f8fc..6327b5f8fc 100644
--- a/demos/textedit/example.html
+++ b/examples/richtext/textedit/example.html
diff --git a/demos/textedit/images/logo32.png b/examples/richtext/textedit/images/logo32.png
index 5f91e9873b..5f91e9873b 100644
--- a/demos/textedit/images/logo32.png
+++ b/examples/richtext/textedit/images/logo32.png
Binary files differ
diff --git a/demos/textedit/images/mac/editcopy.png b/examples/richtext/textedit/images/mac/editcopy.png
index f551364464..f551364464 100644
--- a/demos/textedit/images/mac/editcopy.png
+++ b/examples/richtext/textedit/images/mac/editcopy.png
Binary files differ
diff --git a/demos/textedit/images/mac/editcut.png b/examples/richtext/textedit/images/mac/editcut.png
index a784fd5709..a784fd5709 100644
--- a/demos/textedit/images/mac/editcut.png
+++ b/examples/richtext/textedit/images/mac/editcut.png
Binary files differ
diff --git a/demos/textedit/images/mac/editpaste.png b/examples/richtext/textedit/images/mac/editpaste.png
index 64c0b2d6ab..64c0b2d6ab 100644
--- a/demos/textedit/images/mac/editpaste.png
+++ b/examples/richtext/textedit/images/mac/editpaste.png
Binary files differ
diff --git a/demos/textedit/images/mac/editredo.png b/examples/richtext/textedit/images/mac/editredo.png
index 8875bf246c..8875bf246c 100644
--- a/demos/textedit/images/mac/editredo.png
+++ b/examples/richtext/textedit/images/mac/editredo.png
Binary files differ
diff --git a/demos/textedit/images/mac/editundo.png b/examples/richtext/textedit/images/mac/editundo.png
index a3bd5e0bf2..a3bd5e0bf2 100644
--- a/demos/textedit/images/mac/editundo.png
+++ b/examples/richtext/textedit/images/mac/editundo.png
Binary files differ
diff --git a/demos/textedit/images/mac/exportpdf.png b/examples/richtext/textedit/images/mac/exportpdf.png
index ebb44e6b88..ebb44e6b88 100644
--- a/demos/textedit/images/mac/exportpdf.png
+++ b/examples/richtext/textedit/images/mac/exportpdf.png
Binary files differ
diff --git a/demos/textedit/images/mac/filenew.png b/examples/richtext/textedit/images/mac/filenew.png
index d3882c7b3f..d3882c7b3f 100644
--- a/demos/textedit/images/mac/filenew.png
+++ b/examples/richtext/textedit/images/mac/filenew.png
Binary files differ
diff --git a/demos/textedit/images/mac/fileopen.png b/examples/richtext/textedit/images/mac/fileopen.png
index fc06c5ec63..fc06c5ec63 100644
--- a/demos/textedit/images/mac/fileopen.png
+++ b/examples/richtext/textedit/images/mac/fileopen.png
Binary files differ
diff --git a/demos/textedit/images/mac/fileprint.png b/examples/richtext/textedit/images/mac/fileprint.png
index 10ca56c82a..10ca56c82a 100644
--- a/demos/textedit/images/mac/fileprint.png
+++ b/examples/richtext/textedit/images/mac/fileprint.png
Binary files differ
diff --git a/demos/textedit/images/mac/filesave.png b/examples/richtext/textedit/images/mac/filesave.png
index b41ecf5319..b41ecf5319 100644
--- a/demos/textedit/images/mac/filesave.png
+++ b/examples/richtext/textedit/images/mac/filesave.png
Binary files differ
diff --git a/demos/textedit/images/mac/textbold.png b/examples/richtext/textedit/images/mac/textbold.png
index 38400bd1f6..38400bd1f6 100644
--- a/demos/textedit/images/mac/textbold.png
+++ b/examples/richtext/textedit/images/mac/textbold.png
Binary files differ
diff --git a/demos/textedit/images/mac/textcenter.png b/examples/richtext/textedit/images/mac/textcenter.png
index 2ef5b2ee6f..2ef5b2ee6f 100644
--- a/demos/textedit/images/mac/textcenter.png
+++ b/examples/richtext/textedit/images/mac/textcenter.png
Binary files differ
diff --git a/demos/textedit/images/mac/textitalic.png b/examples/richtext/textedit/images/mac/textitalic.png
index 0170ee26a6..0170ee26a6 100644
--- a/demos/textedit/images/mac/textitalic.png
+++ b/examples/richtext/textedit/images/mac/textitalic.png
Binary files differ
diff --git a/demos/textedit/images/mac/textjustify.png b/examples/richtext/textedit/images/mac/textjustify.png
index 39cd6c1a9d..39cd6c1a9d 100644
--- a/demos/textedit/images/mac/textjustify.png
+++ b/examples/richtext/textedit/images/mac/textjustify.png
Binary files differ
diff --git a/demos/textedit/images/mac/textleft.png b/examples/richtext/textedit/images/mac/textleft.png
index 83a66d5535..83a66d5535 100644
--- a/demos/textedit/images/mac/textleft.png
+++ b/examples/richtext/textedit/images/mac/textleft.png
Binary files differ
diff --git a/demos/textedit/images/mac/textright.png b/examples/richtext/textedit/images/mac/textright.png
index e7c04645cf..e7c04645cf 100644
--- a/demos/textedit/images/mac/textright.png
+++ b/examples/richtext/textedit/images/mac/textright.png
Binary files differ
diff --git a/demos/textedit/images/mac/textunder.png b/examples/richtext/textedit/images/mac/textunder.png
index 968bac5e90..968bac5e90 100644
--- a/demos/textedit/images/mac/textunder.png
+++ b/examples/richtext/textedit/images/mac/textunder.png
Binary files differ
diff --git a/demos/textedit/images/mac/zoomin.png b/examples/richtext/textedit/images/mac/zoomin.png
index d46f5aff0d..d46f5aff0d 100644
--- a/demos/textedit/images/mac/zoomin.png
+++ b/examples/richtext/textedit/images/mac/zoomin.png
Binary files differ
diff --git a/demos/textedit/images/mac/zoomout.png b/examples/richtext/textedit/images/mac/zoomout.png
index 46326566d1..46326566d1 100644
--- a/demos/textedit/images/mac/zoomout.png
+++ b/examples/richtext/textedit/images/mac/zoomout.png
Binary files differ
diff --git a/demos/textedit/images/win/editcopy.png b/examples/richtext/textedit/images/win/editcopy.png
index 1121b47d8b..1121b47d8b 100644
--- a/demos/textedit/images/win/editcopy.png
+++ b/examples/richtext/textedit/images/win/editcopy.png
Binary files differ
diff --git a/demos/textedit/images/win/editcut.png b/examples/richtext/textedit/images/win/editcut.png
index 38e55f7420..38e55f7420 100644
--- a/demos/textedit/images/win/editcut.png
+++ b/examples/richtext/textedit/images/win/editcut.png
Binary files differ
diff --git a/demos/textedit/images/win/editpaste.png b/examples/richtext/textedit/images/win/editpaste.png
index ffab15aaf8..ffab15aaf8 100644
--- a/demos/textedit/images/win/editpaste.png
+++ b/examples/richtext/textedit/images/win/editpaste.png
Binary files differ
diff --git a/demos/textedit/images/win/editredo.png b/examples/richtext/textedit/images/win/editredo.png
index 9d679fe6fc..9d679fe6fc 100644
--- a/demos/textedit/images/win/editredo.png
+++ b/examples/richtext/textedit/images/win/editredo.png
Binary files differ
diff --git a/demos/textedit/images/win/editundo.png b/examples/richtext/textedit/images/win/editundo.png
index eee23d24a3..eee23d24a3 100644
--- a/demos/textedit/images/win/editundo.png
+++ b/examples/richtext/textedit/images/win/editundo.png
Binary files differ
diff --git a/demos/textedit/images/win/exportpdf.png b/examples/richtext/textedit/images/win/exportpdf.png
index eef5132928..eef5132928 100644
--- a/demos/textedit/images/win/exportpdf.png
+++ b/examples/richtext/textedit/images/win/exportpdf.png
Binary files differ
diff --git a/demos/textedit/images/win/filenew.png b/examples/richtext/textedit/images/win/filenew.png
index af5d122141..af5d122141 100644
--- a/demos/textedit/images/win/filenew.png
+++ b/examples/richtext/textedit/images/win/filenew.png
Binary files differ
diff --git a/demos/textedit/images/win/fileopen.png b/examples/richtext/textedit/images/win/fileopen.png
index fc6f17e977..fc6f17e977 100644
--- a/demos/textedit/images/win/fileopen.png
+++ b/examples/richtext/textedit/images/win/fileopen.png
Binary files differ
diff --git a/demos/textedit/images/win/fileprint.png b/examples/richtext/textedit/images/win/fileprint.png
index ba7c02dc18..ba7c02dc18 100644
--- a/demos/textedit/images/win/fileprint.png
+++ b/examples/richtext/textedit/images/win/fileprint.png
Binary files differ
diff --git a/demos/textedit/images/win/filesave.png b/examples/richtext/textedit/images/win/filesave.png
index 8feec99bee..8feec99bee 100644
--- a/demos/textedit/images/win/filesave.png
+++ b/examples/richtext/textedit/images/win/filesave.png
Binary files differ
diff --git a/demos/textedit/images/win/textbold.png b/examples/richtext/textedit/images/win/textbold.png
index 9cbc7138b9..9cbc7138b9 100644
--- a/demos/textedit/images/win/textbold.png
+++ b/examples/richtext/textedit/images/win/textbold.png
Binary files differ
diff --git a/demos/textedit/images/win/textcenter.png b/examples/richtext/textedit/images/win/textcenter.png
index 11efb4b852..11efb4b852 100644
--- a/demos/textedit/images/win/textcenter.png
+++ b/examples/richtext/textedit/images/win/textcenter.png
Binary files differ
diff --git a/demos/textedit/images/win/textitalic.png b/examples/richtext/textedit/images/win/textitalic.png
index b30ce14c14..b30ce14c14 100644
--- a/demos/textedit/images/win/textitalic.png
+++ b/examples/richtext/textedit/images/win/textitalic.png
Binary files differ
diff --git a/demos/textedit/images/win/textjustify.png b/examples/richtext/textedit/images/win/textjustify.png
index 9de0c88085..9de0c88085 100644
--- a/demos/textedit/images/win/textjustify.png
+++ b/examples/richtext/textedit/images/win/textjustify.png
Binary files differ
diff --git a/demos/textedit/images/win/textleft.png b/examples/richtext/textedit/images/win/textleft.png
index 16f80bc325..16f80bc325 100644
--- a/demos/textedit/images/win/textleft.png
+++ b/examples/richtext/textedit/images/win/textleft.png
Binary files differ
diff --git a/demos/textedit/images/win/textright.png b/examples/richtext/textedit/images/win/textright.png
index 16872df62a..16872df62a 100644
--- a/demos/textedit/images/win/textright.png
+++ b/examples/richtext/textedit/images/win/textright.png
Binary files differ
diff --git a/demos/textedit/images/win/textunder.png b/examples/richtext/textedit/images/win/textunder.png
index c72eff53fb..c72eff53fb 100644
--- a/demos/textedit/images/win/textunder.png
+++ b/examples/richtext/textedit/images/win/textunder.png
Binary files differ
diff --git a/demos/textedit/images/win/zoomin.png b/examples/richtext/textedit/images/win/zoomin.png
index 2e586fc7bf..2e586fc7bf 100644
--- a/demos/textedit/images/win/zoomin.png
+++ b/examples/richtext/textedit/images/win/zoomin.png
Binary files differ
diff --git a/demos/textedit/images/win/zoomout.png b/examples/richtext/textedit/images/win/zoomout.png
index a736d39343..a736d39343 100644
--- a/demos/textedit/images/win/zoomout.png
+++ b/examples/richtext/textedit/images/win/zoomout.png
Binary files differ
diff --git a/demos/textedit/main.cpp b/examples/richtext/textedit/main.cpp
index 036fa80ba7..036fa80ba7 100644
--- a/demos/textedit/main.cpp
+++ b/examples/richtext/textedit/main.cpp
diff --git a/demos/textedit/textedit.cpp b/examples/richtext/textedit/textedit.cpp
index c8373262c9..c8373262c9 100644
--- a/demos/textedit/textedit.cpp
+++ b/examples/richtext/textedit/textedit.cpp
diff --git a/demos/textedit/textedit.h b/examples/richtext/textedit/textedit.h
index 6436178ab5..6436178ab5 100644
--- a/demos/textedit/textedit.h
+++ b/examples/richtext/textedit/textedit.h
diff --git a/demos/textedit/textedit.pro b/examples/richtext/textedit/textedit.pro
index 02561f82ba..02561f82ba 100644
--- a/demos/textedit/textedit.pro
+++ b/examples/richtext/textedit/textedit.pro
diff --git a/demos/textedit/textedit.qdoc b/examples/richtext/textedit/textedit.qdoc
index 8fc9609407..8fc9609407 100644
--- a/demos/textedit/textedit.qdoc
+++ b/examples/richtext/textedit/textedit.qdoc
diff --git a/demos/textedit/textedit.qrc b/examples/richtext/textedit/textedit.qrc
index 7d6efd7d67..7d6efd7d67 100644
--- a/demos/textedit/textedit.qrc
+++ b/examples/richtext/textedit/textedit.qrc
diff --git a/demos/books/bookdelegate.cpp b/examples/sql/books/bookdelegate.cpp
index a4cf5d3a26..a4cf5d3a26 100644
--- a/demos/books/bookdelegate.cpp
+++ b/examples/sql/books/bookdelegate.cpp
diff --git a/demos/books/bookdelegate.h b/examples/sql/books/bookdelegate.h
index 5dc39c0223..5dc39c0223 100644
--- a/demos/books/bookdelegate.h
+++ b/examples/sql/books/bookdelegate.h
diff --git a/demos/books/books.pro b/examples/sql/books/books.pro
index 39c5e1e257..316e2d9372 100644
--- a/demos/books/books.pro
+++ b/examples/sql/books/books.pro
@@ -8,12 +8,12 @@ FORMS = bookwindow.ui
QT += sql widgets widgets
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/books
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/sql/books
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro images
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/books
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/sql/books
INSTALLS += target sources
-symbian: CONFIG += qt_demo
+symbian: CONFIG += qt_example
wince*: {
CONFIG(debug, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/*d4.dll
diff --git a/demos/books/books.qrc b/examples/sql/books/books.qrc
index 342638ecb0..342638ecb0 100644
--- a/demos/books/books.qrc
+++ b/examples/sql/books/books.qrc
diff --git a/demos/books/bookwindow.cpp b/examples/sql/books/bookwindow.cpp
index 40d23d1761..40d23d1761 100644
--- a/demos/books/bookwindow.cpp
+++ b/examples/sql/books/bookwindow.cpp
diff --git a/demos/books/bookwindow.h b/examples/sql/books/bookwindow.h
index 781a2f8bb3..781a2f8bb3 100644
--- a/demos/books/bookwindow.h
+++ b/examples/sql/books/bookwindow.h
diff --git a/demos/books/bookwindow.ui b/examples/sql/books/bookwindow.ui
index 659d324564..659d324564 100644
--- a/demos/books/bookwindow.ui
+++ b/examples/sql/books/bookwindow.ui
diff --git a/demos/books/images/star.png b/examples/sql/books/images/star.png
index 87f4464bd5..87f4464bd5 100644
--- a/demos/books/images/star.png
+++ b/examples/sql/books/images/star.png
Binary files differ
diff --git a/demos/books/initdb.h b/examples/sql/books/initdb.h
index 9c9bebcba1..9c9bebcba1 100644
--- a/demos/books/initdb.h
+++ b/examples/sql/books/initdb.h
diff --git a/demos/books/main.cpp b/examples/sql/books/main.cpp
index e08fb156c3..e08fb156c3 100644
--- a/demos/books/main.cpp
+++ b/examples/sql/books/main.cpp
diff --git a/examples/sql/sql.pro b/examples/sql/sql.pro
index 9c2829d776..68b54e42ca 100644
--- a/examples/sql/sql.pro
+++ b/examples/sql/sql.pro
@@ -1,6 +1,7 @@
TEMPLATE = subdirs
-SUBDIRS = drilldown
+SUBDIRS = books \
+ drilldown
!symbian: SUBDIRS += cachedtable \
relationaltablemodel \
sqlwidgetmapper
@@ -11,6 +12,11 @@ SUBDIRS = drilldown
querymodel \
tablemodel
+!cross_compile:{
+ contains(QT_BUILD_PARTS, tools):{
+ SUBDIRS += sqlbrowser
+ }
+}
# install
sources.files = connection.h sql.pro README
diff --git a/demos/sqlbrowser/browser.cpp b/examples/sql/sqlbrowser/browser.cpp
index 67ceefd20b..67ceefd20b 100644
--- a/demos/sqlbrowser/browser.cpp
+++ b/examples/sql/sqlbrowser/browser.cpp
diff --git a/demos/sqlbrowser/browser.h b/examples/sql/sqlbrowser/browser.h
index 11f9e36211..11f9e36211 100644
--- a/demos/sqlbrowser/browser.h
+++ b/examples/sql/sqlbrowser/browser.h
diff --git a/demos/sqlbrowser/browserwidget.ui b/examples/sql/sqlbrowser/browserwidget.ui
index 20946f0ede..20946f0ede 100644
--- a/demos/sqlbrowser/browserwidget.ui
+++ b/examples/sql/sqlbrowser/browserwidget.ui
diff --git a/demos/sqlbrowser/connectionwidget.cpp b/examples/sql/sqlbrowser/connectionwidget.cpp
index b68a20b309..b68a20b309 100644
--- a/demos/sqlbrowser/connectionwidget.cpp
+++ b/examples/sql/sqlbrowser/connectionwidget.cpp
diff --git a/demos/sqlbrowser/connectionwidget.h b/examples/sql/sqlbrowser/connectionwidget.h
index aa04fc25bf..aa04fc25bf 100644
--- a/demos/sqlbrowser/connectionwidget.h
+++ b/examples/sql/sqlbrowser/connectionwidget.h
diff --git a/demos/sqlbrowser/main.cpp b/examples/sql/sqlbrowser/main.cpp
index 6e0b129445..6e0b129445 100644
--- a/demos/sqlbrowser/main.cpp
+++ b/examples/sql/sqlbrowser/main.cpp
diff --git a/demos/sqlbrowser/qsqlconnectiondialog.cpp b/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
index 56b6c031db..56b6c031db 100644
--- a/demos/sqlbrowser/qsqlconnectiondialog.cpp
+++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
diff --git a/demos/sqlbrowser/qsqlconnectiondialog.h b/examples/sql/sqlbrowser/qsqlconnectiondialog.h
index 8c4519a195..8c4519a195 100644
--- a/demos/sqlbrowser/qsqlconnectiondialog.h
+++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.h
diff --git a/demos/sqlbrowser/qsqlconnectiondialog.ui b/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
index 91a8700579..91a8700579 100644
--- a/demos/sqlbrowser/qsqlconnectiondialog.ui
+++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
diff --git a/demos/sqlbrowser/sqlbrowser.pro b/examples/sql/sqlbrowser/sqlbrowser.pro
index b2530b07fc..73a17b28e7 100644
--- a/demos/sqlbrowser/sqlbrowser.pro
+++ b/examples/sql/sqlbrowser/sqlbrowser.pro
@@ -13,12 +13,12 @@ build_all:!build_pass {
}
# install
-target.path = $$[QT_INSTALL_DEMOS]/qtbase/sqlbrowser
+target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/sql/sqlbrowser
sources.files = $$SOURCES $$HEADERS $$FORMS *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/qtbase/sqlbrowser
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/sql/sqlbrowser
INSTALLS += target sources
-symbian: CONFIG += qt_demo
+symbian: CONFIG += qt_example
wince*: {
DEPLOYMENT_PLUGIN += qsqlite
diff --git a/demos/undo/commands.cpp b/examples/tools/undo/commands.cpp
index e688cad602..e688cad602 100644
--- a/demos/undo/commands.cpp
+++ b/examples/tools/undo/commands.cpp
diff --git a/demos/undo/commands.h b/examples/tools/undo/commands.h
index ca7bd2b307..ca7bd2b307 100644
--- a/demos/undo/commands.h
+++ b/examples/tools/undo/commands.h
diff --git a/demos/undo/document.cpp b/examples/tools/undo/document.cpp
index e143f98061..e143f98061 100644
--- a/demos/undo/document.cpp
+++ b/examples/tools/undo/document.cpp
diff --git a/demos/undo/document.h b/examples/tools/undo/document.h
index b0eda92d41..b0eda92d41 100644
--- a/demos/undo/document.h
+++ b/examples/tools/undo/document.h
diff --git a/demos/undo/icons/background.png b/examples/tools/undo/icons/background.png
index 3bc5ed8cf0..3bc5ed8cf0 100644
--- a/demos/undo/icons/background.png
+++ b/examples/tools/undo/icons/background.png
Binary files differ
diff --git a/demos/undo/icons/blue.png b/examples/tools/undo/icons/blue.png
index 4e181bb61a..4e181bb61a 100644
--- a/demos/undo/icons/blue.png
+++ b/examples/tools/undo/icons/blue.png
Binary files differ
diff --git a/demos/undo/icons/circle.png b/examples/tools/undo/icons/circle.png
index ed16c6e144..ed16c6e144 100644
--- a/demos/undo/icons/circle.png
+++ b/examples/tools/undo/icons/circle.png
Binary files differ
diff --git a/demos/undo/icons/exit.png b/examples/tools/undo/icons/exit.png
index 539cb2ead9..539cb2ead9 100644
--- a/demos/undo/icons/exit.png
+++ b/examples/tools/undo/icons/exit.png
Binary files differ
diff --git a/demos/undo/icons/fileclose.png b/examples/tools/undo/icons/fileclose.png
index c5483d14ab..c5483d14ab 100644
--- a/demos/undo/icons/fileclose.png
+++ b/examples/tools/undo/icons/fileclose.png
Binary files differ
diff --git a/demos/undo/icons/filenew.png b/examples/tools/undo/icons/filenew.png
index 57e57e343b..57e57e343b 100644
--- a/demos/undo/icons/filenew.png
+++ b/examples/tools/undo/icons/filenew.png
Binary files differ
diff --git a/demos/undo/icons/fileopen.png b/examples/tools/undo/icons/fileopen.png
index 33e0d6394c..33e0d6394c 100644
--- a/demos/undo/icons/fileopen.png
+++ b/examples/tools/undo/icons/fileopen.png
Binary files differ
diff --git a/demos/undo/icons/filesave.png b/examples/tools/undo/icons/filesave.png
index 57fd5e2f34..57fd5e2f34 100644
--- a/demos/undo/icons/filesave.png
+++ b/examples/tools/undo/icons/filesave.png
Binary files differ
diff --git a/demos/undo/icons/green.png b/examples/tools/undo/icons/green.png
index e2e7cc9e50..e2e7cc9e50 100644
--- a/demos/undo/icons/green.png
+++ b/examples/tools/undo/icons/green.png
Binary files differ
diff --git a/demos/undo/icons/ok.png b/examples/tools/undo/icons/ok.png
index e355ea91bc..e355ea91bc 100644
--- a/demos/undo/icons/ok.png
+++ b/examples/tools/undo/icons/ok.png
Binary files differ
diff --git a/demos/undo/icons/rectangle.png b/examples/tools/undo/icons/rectangle.png
index 3a7d9795fd..3a7d9795fd 100644
--- a/demos/undo/icons/rectangle.png
+++ b/examples/tools/undo/icons/rectangle.png
Binary files differ
diff --git a/demos/undo/icons/red.png b/examples/tools/undo/icons/red.png
index 58c3e7253b..58c3e7253b 100644
--- a/demos/undo/icons/red.png
+++ b/examples/tools/undo/icons/red.png
Binary files differ
diff --git a/demos/undo/icons/redo.png b/examples/tools/undo/icons/redo.png
index 5591517e1c..5591517e1c 100644
--- a/demos/undo/icons/redo.png
+++ b/examples/tools/undo/icons/redo.png
Binary files differ
diff --git a/demos/undo/icons/remove.png b/examples/tools/undo/icons/remove.png
index 7a7b048c0a..7a7b048c0a 100644
--- a/demos/undo/icons/remove.png
+++ b/examples/tools/undo/icons/remove.png
Binary files differ
diff --git a/demos/undo/icons/triangle.png b/examples/tools/undo/icons/triangle.png
index 2969131c31..2969131c31 100644
--- a/demos/undo/icons/triangle.png
+++ b/examples/tools/undo/icons/triangle.png
Binary files differ
diff --git a/demos/undo/icons/undo.png b/examples/tools/undo/icons/undo.png
index 8cf63a8ec9..8cf63a8ec9 100644
--- a/demos/undo/icons/undo.png
+++ b/examples/tools/undo/icons/undo.png
Binary files differ
diff --git a/demos/undo/main.cpp b/examples/tools/undo/main.cpp
index a1bb49533a..a1bb49533a 100644
--- a/demos/undo/main.cpp
+++ b/examples/tools/undo/main.cpp
diff --git a/demos/undo/mainwindow.cpp b/examples/tools/undo/mainwindow.cpp
index fb16606686..fb16606686 100644
--- a/demos/undo/mainwindow.cpp
+++ b/examples/tools/undo/mainwindow.cpp
diff --git a/demos/undo/mainwindow.h b/examples/tools/undo/mainwindow.h
index 4500c6d68d..4500c6d68d 100644
--- a/demos/undo/mainwindow.h
+++ b/examples/tools/undo/mainwindow.h
diff --git a/demos/undo/mainwindow.ui b/examples/tools/undo/mainwindow.ui
index 91a0b437e5..91a0b437e5 100644
--- a/demos/undo/mainwindow.ui
+++ b/examples/tools/undo/mainwindow.ui
diff --git a/demos/undo/undo.pro b/examples/tools/undo/undo.pro
index 89f06bdfc7..89f06bdfc7 100644
--- a/demos/undo/undo.pro
+++ b/examples/tools/undo/undo.pro
diff --git a/demos/undo/undo.qrc b/examples/tools/undo/undo.qrc
index 65619b8f1a..65619b8f1a 100644
--- a/demos/undo/undo.qrc
+++ b/examples/tools/undo/undo.qrc
diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf
index c91d543d6c..ebb94e272e 100644
--- a/mkspecs/features/default_pre.prf
+++ b/mkspecs/features/default_pre.prf
@@ -12,13 +12,21 @@ exists($$_PRO_FILE_PWD_/sync.profile) {
isEmpty(QTDIR) {
QTDIR = $$(QTDIR)
isEmpty(QTDIR):QTDIR = $$QT_BUILD_TREE
+ isEmpty(QTDIR) { # figure out QTDIR based on qmake binary
+ QMAKE_BASED_QTDIR = $$dirname(QMAKE_QMAKE)
+ QTDIR = $$dirname(QMAKE_BASED_QTDIR)
+ unset(QMAKE_BASED_QTDIR)
+ }
}
- QTFWD =
- isEmpty(QTDIR) {
- QTFWD += -module-fwd $$OUT_PWD/module-paths/modules -cache-module-fwd
- } else {
- QTFWD += -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build
+ QTFWD = -module-fwd $$OUT_PWD/module-paths/modules -cache-module-fwd
+ !isEmpty(QTDIR) {
+ # Only if QTDIR points to an actual build directory
+ # and this build directory is the install directory
+ # can we tell syncqt to do a -developer-build
+ exists($$QTDIR/.qmake.cache):contains(QTDIR, $$[QT_INSTALL_PREFIX]) {
+ QTFWD = -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build
+ }
}
qtPrepareTool(QMAKE_SYNCQT, syncqt)
diff --git a/qtbase.pro b/qtbase.pro
index 95f497fef4..ecbb183471 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -27,10 +27,6 @@ contains(PROJECTS, examples) {
PROJECTS -= examples
SUBDIRS += examples
}
-contains(PROJECTS, demos) {
- PROJECTS -= demos
- SUBDIRS += demos
-}
contains(PROJECTS, tests) {
PROJECTS -= tests
SUBDIRS += module_qtbase_tests
diff --git a/src/corelib/io/qbuffer.cpp b/src/corelib/io/qbuffer.cpp
index 38e406b1a4..35e7b6809c 100644
--- a/src/corelib/io/qbuffer.cpp
+++ b/src/corelib/io/qbuffer.cpp
@@ -333,23 +333,18 @@ bool QBuffer::open(OpenMode flags)
{
Q_D(QBuffer);
- if ((flags & Append) == Append)
+ if ((flags & (Append | Truncate)) != 0)
flags |= WriteOnly;
- setOpenMode(flags);
- if (!(isReadable() || isWritable())) {
- qWarning("QFile::open: File access not specified");
+ if ((flags & (ReadOnly | WriteOnly)) == 0) {
+ qWarning("QBuffer::open: Buffer access not specified");
return false;
}
- if ((flags & QIODevice::Truncate) == QIODevice::Truncate) {
+ if ((flags & Truncate) == Truncate)
d->buf->resize(0);
- }
- if ((flags & QIODevice::Append) == QIODevice::Append) // append to end of buffer
- seek(d->buf->size());
- else
- seek(0);
+ d->ioIndex = (flags & Append) == Append ? d->buf->size() : 0;
- return true;
+ return QIODevice::open(flags);
}
/*!
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index a14c4fdc7d..ddbbbd5286 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -1673,13 +1673,10 @@ QProcessEnvironment QProcess::processEnvironment() const
bool QProcess::waitForStarted(int msecs)
{
Q_D(QProcess);
- if (d->processState == QProcess::Starting) {
- if (!d->waitForStarted(msecs))
- return false;
- setProcessState(QProcess::Running);
- emit started();
- }
- return d->processState == QProcess::Running;
+ if (d->processState == QProcess::Running)
+ return true;
+
+ return d->waitForStarted(msecs);
}
/*! \reimp
diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h
index c0cf2192c1..b394ece1a6 100644
--- a/src/corelib/tools/qpoint.h
+++ b/src/corelib/tools/qpoint.h
@@ -92,14 +92,8 @@ public:
private:
friend class QTransform;
- // ### Qt 5; remove the ifdef and just have the same order on all platforms.
-#if defined(Q_OS_MAC)
- int yp;
- int xp;
-#else
int xp;
int yp;
-#endif
};
Q_DECLARE_TYPEINFO(QPoint, Q_MOVABLE_TYPE);
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
index 8b46e6ac89..a59c08a8ab 100644
--- a/src/dbus/qdbus_symbols_p.h
+++ b/src/dbus/qdbus_symbols_p.h
@@ -301,6 +301,8 @@ DEFINEFUNC(void , dbus_get_version , (int *major_version_p,
int *minor_version_p,
int *micro_version_p),
(major_version_p, minor_version_p, micro_version_p), )
+DEFINEFUNC(char* , dbus_get_local_machine_id , (void), (), return)
+
/* dbus-pending-call.h */
DEFINEFUNC(dbus_bool_t , dbus_pending_call_set_notify, (DBusPendingCall *pending,
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index 58c1caa5dc..0b4133c8dd 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -1124,6 +1124,27 @@ void QDBusConnectionPrivate::setBusService(const QDBusConnection &connection)
}
/*!
+ \since 4.8
+ Returns the local machine ID as known to the D-Bus system. Each
+ node or host that runs D-Bus has a unique identifier that can be
+ used to distinguish it from other hosts if they are sharing
+ resources like the filesystem.
+
+ Note that the local machine ID is not guaranteed to be persistent
+ across boots of the system, so this identifier should not be
+ stored in persistent storage (like the filesystem). It is
+ guaranteed to remain constant only during the lifetime of this
+ boot session.
+*/
+QByteArray QDBusConnection::localMachineId()
+{
+ char *dbus_machine_id = q_dbus_get_local_machine_id();
+ QByteArray result = dbus_machine_id;
+ q_dbus_free(dbus_machine_id);
+ return result;
+}
+
+/*!
\namespace QDBus
\inmodule QtDBus
diff --git a/src/dbus/qdbusconnection.h b/src/dbus/qdbusconnection.h
index 19418d61a6..4bdd055f52 100644
--- a/src/dbus/qdbusconnection.h
+++ b/src/dbus/qdbusconnection.h
@@ -176,6 +176,8 @@ public:
static void disconnectFromBus(const QString &name);
static void disconnectFromPeer(const QString &name);
+ static QByteArray localMachineId();
+
static QDBusConnection sessionBus();
static QDBusConnection systemBus();
diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp
index 3ee262fcf1..d694b4b9a8 100644
--- a/src/gui/painting/qcosmeticstroker.cpp
+++ b/src/gui/painting/qcosmeticstroker.cpp
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
#include "qcosmeticstroker_p.h"
#include "private/qpainterpath_p.h"
#include <qdebug.h>
@@ -99,6 +140,10 @@ static void drawLineAA(QCosmeticStroker *stroker, qreal x1, qreal y1, qreal x2,
inline void drawPixel(QCosmeticStroker *stroker, int x, int y, int coverage)
{
+ const QRect &cl = stroker->clip;
+ if (x < cl.x() || x > cl.right() || y < cl.y() || y > cl.bottom())
+ return;
+
int lastx = stroker->spans[stroker->current_span-1].x + stroker->spans[stroker->current_span-1].len ;
int lasty = stroker->spans[stroker->current_span-1].y;
diff --git a/src/gui/painting/qcosmeticstroker_p.h b/src/gui/painting/qcosmeticstroker_p.h
index 1355a5ad13..0aa71fc9cd 100644
--- a/src/gui/painting/qcosmeticstroker_p.h
+++ b/src/gui/painting/qcosmeticstroker_p.h
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
#ifndef QCOSMETICSTROKER_P_H
#define QCOSMETICSTROKER_P_H
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 62004c965b..e9a3b7a16c 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -2002,15 +2002,8 @@ void QRasterPaintEngine::drawPolygon(const QPoint *points, int pointCount, Polyg
if (s->penData.blend) {
int count = pointCount * 2;
QVarLengthArray<qreal> fpoints(count);
- #ifdef Q_WS_MAC
- for (int i=0; i<count; i+=2) {
- fpoints[i] = ((int *) points)[i+1];
- fpoints[i+1] = ((int *) points)[i];
- }
- #else
for (int i=0; i<count; ++i)
fpoints[i] = ((int *) points)[i];
- #endif
QVectorPath vp((qreal *) fpoints.data(), pointCount, 0, QVectorPath::polygonFlags(mode));
if (s->flags.fast_pen) {
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 8510416fcb..9427dd5105 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -789,15 +789,8 @@ void QPaintEngineEx::drawLines(const QLine *lines, int lineCount)
qreal pts[64];
int count2 = count<<1;
-#ifdef Q_WS_MAC
- for (int i=0; i<count2; i+=2) {
- pts[i] = ((int *) lines)[i+1];
- pts[i+1] = ((int *) lines)[i];
- }
-#else
for (int i=0; i<count2; ++i)
pts[i] = ((int *) lines)[i];
-#endif
QVectorPath path(pts, count, qpaintengineex_line_types_16, QVectorPath::LinesHint);
stroke(path, state()->pen);
@@ -1084,7 +1077,7 @@ void QPaintEngineEx::drawStaticTextItem(QStaticTextItem *staticTextItem)
changedHints = true;
}
- fill(qtVectorPathForPath(path), staticTextItem->color);
+ fill(qtVectorPathForPath(path), s->pen.color());
if (changedHints) {
s->renderHints = oldHints;
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 8b78b52c08..846d5a3814 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -140,6 +140,7 @@ bool QFontDef::exactMatch(const QFontDef &other) const
&& weight == other.weight
&& style == other.style
&& this_family == other_family
+ && styleName == other.styleName
&& (this_foundry.isEmpty()
|| other_foundry.isEmpty()
|| this_foundry == other_foundry)
diff --git a/src/gui/text/qfont_p.h b/src/gui/text/qfont_p.h
index 8eeae6ffc1..4ae31c38d6 100644
--- a/src/gui/text/qfont_p.h
+++ b/src/gui/text/qfont_p.h
@@ -113,6 +113,7 @@ struct QFontDef
&& styleStrategy == other.styleStrategy
&& ignorePitch == other.ignorePitch && fixedPitch == other.fixedPitch
&& family == other.family
+ && styleName == other.styleName
&& hintingPreference == other.hintingPreference
#ifdef Q_WS_X11
&& addStyle == other.addStyle
@@ -128,6 +129,8 @@ struct QFontDef
if (styleHint != other.styleHint) return styleHint < other.styleHint;
if (styleStrategy != other.styleStrategy) return styleStrategy < other.styleStrategy;
if (family != other.family) return family < other.family;
+ if (!styleName.isEmpty() && !other.styleName.isEmpty() && styleName != other.styleName)
+ return styleName < other.styleName;
if (hintingPreference != other.hintingPreference) return hintingPreference < other.hintingPreference;
#ifdef Q_WS_X11
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index ad8c6c9ab5..5369ac52f3 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -1123,13 +1123,13 @@ QT_BEGIN_INCLUDE_NAMESPACE
#elif defined(Q_OS_SYMBIAN)
# include "qfontdatabase_s60.cpp"
#endif
+QT_END_INCLUDE_NAMESPACE
#if !defined(Q_WS_X11)
QString QFontDatabase::resolveFontFamilyAlias(const QString &family)
{
return family;
}
#endif
-QT_END_INCLUDE_NAMESPACE
static QtFontStyle *bestStyle(QtFontFoundry *foundry, const QtFontStyle::Key &styleKey)
{
diff --git a/src/gui/text/qharfbuzz_copy_p.h b/src/gui/text/qharfbuzz_copy_p.h
index 74b824ab35..835d8fb1a6 100644
--- a/src/gui/text/qharfbuzz_copy_p.h
+++ b/src/gui/text/qharfbuzz_copy_p.h
@@ -43,7 +43,7 @@ extern "C" {
#ifdef __xlC__
typedef unsigned hb_bitfield;
#else
-typedef quint8 hb_bitfield;
+typedef QT_PREPEND_NAMESPACE(quint8) hb_bitfield;
#endif
typedef enum {
@@ -66,12 +66,12 @@ typedef enum {
HB_Err_Out_Of_Memory = 0xDEAD
} HB_Error;
-typedef quint32 HB_Glyph;
+typedef QT_PREPEND_NAMESPACE(quint32) HB_Glyph;
typedef void * HB_Font;
typedef void * HB_Face;
typedef void * HB_FontRec;
-typedef quint32 hb_uint32;
-typedef qint32 HB_Fixed;
+typedef QT_PREPEND_NAMESPACE(quint32) hb_uint32;
+typedef QT_PREPEND_NAMESPACE(qint32) HB_Fixed;
typedef struct {
HB_Fixed x;
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 3ca72bf14e..a488c13156 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -2710,6 +2710,8 @@ void QTextHtmlExporter::emitBlock(const QTextBlock &block)
emitBlockAttributes(block);
html += QLatin1Char('>');
+ if (block.begin().atEnd())
+ html += "<br />";
QTextBlock::Iterator it = block.begin();
if (fragmentMarkers && !it.atEnd() && block == doc->begin())
diff --git a/src/gui/text/qtextdocumentfragment.cpp b/src/gui/text/qtextdocumentfragment.cpp
index 042b1d01c2..0c8860e98e 100644
--- a/src/gui/text/qtextdocumentfragment.cpp
+++ b/src/gui/text/qtextdocumentfragment.cpp
@@ -545,8 +545,13 @@ void QTextHtmlImporter::import()
}
if (currentNode->isBlock()) {
- if (processBlockNode() == ContinueWithNextNode)
+ QTextHtmlImporter::ProcessNodeResult result = processBlockNode();
+ if (result == ContinueWithNextNode) {
continue;
+ } else if (result == ContinueWithNextSibling) {
+ currentNodeIdx += currentNode->children.size();
+ continue;
+ }
}
if (currentNode->charFormat.isAnchor() && !currentNode->charFormat.anchorName().isEmpty()) {
@@ -1157,7 +1162,7 @@ QTextHtmlImporter::ProcessNodeResult QTextHtmlImporter::processBlockNode()
if (currentNode->isEmptyParagraph) {
hasBlock = false;
- return ContinueWithNextNode;
+ return ContinueWithNextSibling;
}
hasBlock = true;
diff --git a/src/gui/text/qtextdocumentfragment_p.h b/src/gui/text/qtextdocumentfragment_p.h
index bfbec3075c..227123ed80 100644
--- a/src/gui/text/qtextdocumentfragment_p.h
+++ b/src/gui/text/qtextdocumentfragment_p.h
@@ -135,7 +135,7 @@ private:
Table scanTable(int tableNodeIdx);
- enum ProcessNodeResult { ContinueWithNextNode, ContinueWithCurrentNode };
+ enum ProcessNodeResult { ContinueWithNextNode, ContinueWithCurrentNode, ContinueWithNextSibling };
void appendBlock(const QTextBlockFormat &format, QTextCharFormat charFmt = QTextCharFormat());
bool appendNodeText();
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index e386b5eb1f..03e00ed0df 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -2149,7 +2149,7 @@ QList<QGlyphRun> QTextLine::glyphRuns(int from, int length) const
}
int relativeFrom = qMax(iterator.itemStart, from) - si.position;
- int relativeTo = qMin(iterator.itemEnd, from + length - 1) - si.position;
+ int relativeTo = qMin(iterator.itemEnd - 1, from + length - 1) - si.position;
unsigned short *logClusters = eng->logClusters(&si);
int glyphsStart = logClusters[relativeFrom];
@@ -2168,7 +2168,7 @@ QList<QGlyphRun> QTextLine::glyphRuns(int from, int length) const
pos += QPointF((glyphLayout.advances_x[i] + justification).toReal(),
glyphLayout.advances_y[i].toReal());
}
- } else if (relativeTo != (iterator.itemEnd - si.position) && rtl) {
+ } else if (relativeTo != (iterator.itemEnd - si.position - 1) && rtl) {
for (int i=glyphLayout.numGlyphs - 1; i>glyphsEnd; --i) {
QFixed justification = QFixed::fromFixed(glyphLayout.justifications[i].space_18d6);
pos += QPointF((glyphLayout.advances_x[i] + justification).toReal(),
diff --git a/src/network/bearer/qnetworkconfigmanager.h b/src/network/bearer/qnetworkconfigmanager.h
index 0323892923..e317cdfb44 100644
--- a/src/network/bearer/qnetworkconfigmanager.h
+++ b/src/network/bearer/qnetworkconfigmanager.h
@@ -42,10 +42,6 @@
#ifndef QNETWORKCONFIGURATIONMANAGER_H
#define QNETWORKCONFIGURATIONMANAGER_H
-#ifdef QT_MOBILITY_BEARER
-# include "qmobilityglobal.h"
-#endif
-
#include <QtCore/qobject.h>
#include <QtNetwork/qnetworkconfiguration.h>
@@ -53,17 +49,11 @@
QT_BEGIN_HEADER
-#ifndef QT_MOBILITY_BEARER
QT_BEGIN_NAMESPACE
-#define QNetworkConfigurationManagerExport Q_NETWORK_EXPORT
QT_MODULE(Network)
-#else
-QTM_BEGIN_NAMESPACE
-#define QNetworkConfigurationManagerExport Q_BEARER_EXPORT
-#endif
class QNetworkConfigurationManagerPrivate;
-class QNetworkConfigurationManagerExport QNetworkConfigurationManager : public QObject
+class Q_NETWORK_EXPORT QNetworkConfigurationManager : public QObject
{
Q_OBJECT
@@ -104,11 +94,7 @@ Q_SIGNALS:
Q_DECLARE_OPERATORS_FOR_FLAGS(QNetworkConfigurationManager::Capabilities)
-#ifndef QT_MOBILITY_BEARER
QT_END_NAMESPACE
-#else
-QTM_END_NAMESPACE
-#endif
QT_END_HEADER
diff --git a/src/network/bearer/qnetworkconfiguration.h b/src/network/bearer/qnetworkconfiguration.h
index 86de72b2df..4839b7b809 100644
--- a/src/network/bearer/qnetworkconfiguration.h
+++ b/src/network/bearer/qnetworkconfiguration.h
@@ -42,11 +42,7 @@
#ifndef QNETWORKCONFIGURATION_H
#define QNETWORKCONFIGURATION_H
-#ifndef QT_MOBILITY_BEARER
# include <QtCore/qglobal.h>
-#else
-# include "qmobilityglobal.h"
-#endif
#include <QtCore/qshareddata.h>
#include <QtCore/qstring.h>
@@ -58,17 +54,11 @@
QT_BEGIN_HEADER
-#ifndef QT_MOBILITY_BEARER
QT_BEGIN_NAMESPACE
QT_MODULE(Network)
-#define QNetworkConfigurationExport Q_NETWORK_EXPORT
-#else
-QTM_BEGIN_NAMESPACE
-#define QNetworkConfigurationExport Q_BEARER_EXPORT
-#endif
class QNetworkConfigurationPrivate;
-class QNetworkConfigurationExport QNetworkConfiguration
+class Q_NETWORK_EXPORT QNetworkConfiguration
{
public:
QNetworkConfiguration();
@@ -102,7 +92,6 @@ public:
};
Q_DECLARE_FLAGS(StateFlags, StateFlag)
-#ifndef QT_MOBILITY_BEARER
enum BearerType {
BearerUnknown,
BearerEthernet,
@@ -114,22 +103,17 @@ public:
BearerBluetooth,
BearerWiMAX
};
-#endif
StateFlags state() const;
Type type() const;
Purpose purpose() const;
-#ifndef QT_MOBILITY_BEARER
#ifdef QT_DEPRECATED
// Required to maintain source compatibility with Qt Mobility.
QT_DEPRECATED inline QString bearerName() const { return bearerTypeName(); }
#endif
BearerType bearerType() const;
QString bearerTypeName() const;
-#else
- QString bearerName() const;
-#endif
QString identifier() const;
bool isRoamingAvailable() const;
@@ -146,11 +130,7 @@ private:
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> d;
};
-#ifndef QT_MOBILITY_BEARER
QT_END_NAMESPACE
-#else
-QTM_END_NAMESPACE
-#endif
QT_END_HEADER
diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h
index 4bc06eef2b..1eeea02ae1 100644
--- a/src/network/bearer/qnetworksession.h
+++ b/src/network/bearer/qnetworksession.h
@@ -56,19 +56,12 @@
QT_BEGIN_HEADER
-#ifndef QT_MOBILITY_BEARER
#include <QtCore/qshareddata.h>
QT_BEGIN_NAMESPACE
QT_MODULE(Network)
-#define QNetworkSessionExport Q_NETWORK_EXPORT
-#else
-#include "qmobilityglobal.h"
-QTM_BEGIN_NAMESPACE
-#define QNetworkSessionExport Q_BEARER_EXPORT
-#endif
class QNetworkSessionPrivate;
-class QNetworkSessionExport QNetworkSession : public QObject
+class Q_NETWORK_EXPORT QNetworkSession : public QObject
{
Q_OBJECT
@@ -140,13 +133,9 @@ private:
QNetworkSessionPrivate *d;
};
-#ifndef QT_MOBILITY_BEARER
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QNetworkSession::State)
Q_DECLARE_METATYPE(QNetworkSession::SessionError)
-#else
-QTM_END_NAMESPACE
-#endif
QT_END_HEADER
diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp
index 818aab73a5..4f7f4ed80d 100644
--- a/src/network/kernel/qauthenticator.cpp
+++ b/src/network/kernel/qauthenticator.cpp
@@ -223,7 +223,7 @@ void QAuthenticator::setUser(const QString &user)
} else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) {
//domain name is present
d->realm.clear();
- d->userDomain = user.left(separatorPosn);
+ d->userDomain = user.mid(separatorPosn + 1);
d->extractedUser = user.left(separatorPosn);
d->user = user;
} else {
diff --git a/src/network/kernel/qhostaddress.cpp b/src/network/kernel/qhostaddress.cpp
index 7eeb4e5a51..bff351c34f 100644
--- a/src/network/kernel/qhostaddress.cpp
+++ b/src/network/kernel/qhostaddress.cpp
@@ -134,15 +134,40 @@ QHostAddressPrivate::QHostAddressPrivate()
void QHostAddressPrivate::setAddress(quint32 a_)
{
a = a_;
+ //create mapped address
+ memset(&a6, 0, sizeof(a6));
+ int i;
+ for (i=15; a_ != 0; i--) {
+ a6[i] = a_ & 0xFF;
+ a_ >>=8;
+ }
+ Q_ASSERT(i >= 11);
+ a6[11] = 0xFF;
+ a6[10] = 0xFF;
protocol = QAbstractSocket::IPv4Protocol;
isParsed = true;
}
+static bool parseMappedAddress(quint32& a, const Q_IPV6ADDR &a6)
+{
+ int i;
+ for (i=0;i<10;i++)
+ if (a6[i]) return false;
+ for (;i<12;i++)
+ if (a6[i] != 0xFF) return false;
+ a=(a6[12] << 24) | (a6[13] << 16) | (a6[14] << 8) | a6[15];
+ return true;
+}
+
void QHostAddressPrivate::setAddress(const quint8 *a_)
{
for (int i = 0; i < 16; i++)
a6[i] = a_[i];
- protocol = QAbstractSocket::IPv6Protocol;
+ a = 0;
+ if (parseMappedAddress(a, a6))
+ protocol = QAbstractSocket::IPv4Protocol;
+ else
+ protocol = QAbstractSocket::IPv6Protocol;
isParsed = true;
}
@@ -150,7 +175,10 @@ void QHostAddressPrivate::setAddress(const Q_IPV6ADDR &a_)
{
a6 = a_;
a = 0;
- protocol = QAbstractSocket::IPv6Protocol;
+ if (parseMappedAddress(a, a6))
+ protocol = QAbstractSocket::IPv4Protocol;
+ else
+ protocol = QAbstractSocket::IPv6Protocol;
isParsed = true;
}
@@ -447,8 +475,9 @@ void QNetmaskAddress::setPrefixLength(QAbstractSocket::NetworkLayerProtocol prot
\value LocalHost The IPv4 localhost address. Equivalent to QHostAddress("127.0.0.1").
\value LocalHostIPv6 The IPv6 localhost address. Equivalent to QHostAddress("::1").
\value Broadcast The IPv4 broadcast address. Equivalent to QHostAddress("255.255.255.255").
- \value Any The IPv4 any-address. Equivalent to QHostAddress("0.0.0.0").
- \value AnyIPv6 The IPv6 any-address. Equivalent to QHostAddress("::").
+ \value AnyIPv4 The IPv4 any-address. Equivalent to QHostAddress("0.0.0.0"). A socket bound with this address will listen only on IPv4 interaces.
+ \value AnyIPv6 The IPv6 any-address. Equivalent to QHostAddress("::"). A socket bound with this address will listen only on IPv6 interaces.
+ \value Any The dual stack any-address. A socket bound with this address will listen on both IPv4 and IPv6 interfaces.
*/
/*! Constructs a host address object with the IP address 0.0.0.0.
@@ -548,12 +577,16 @@ QHostAddress::QHostAddress(SpecialAddress address)
case LocalHostIPv6:
setAddress(QLatin1String("::1"));
break;
- case Any:
+ case AnyIPv4:
setAddress(QLatin1String("0.0.0.0"));
break;
case AnyIPv6:
setAddress(QLatin1String("::"));
break;
+ case Any:
+ d->clear();
+ d->protocol = QAbstractSocket::AnyIPProtocol;
+ break;
}
}
@@ -679,8 +712,11 @@ void QHostAddress::setAddress(const struct sockaddr *sockaddr)
For example, if the address is 127.0.0.1, the returned value is
2130706433 (i.e. 0x7f000001).
- This value is only valid if the Protocol() is
- \l{QAbstractSocket::}{IPv4Protocol}.
+ This value is valid if the protocol() is
+ \l{QAbstractSocket::}{IPv4Protocol},
+ or if the protocol is
+ \l{QAbstractSocket::}{IPv6Protocol},
+ and the IPv6 address is an IPv4 mapped address. (RFC4291)
\sa toString()
*/
@@ -705,8 +741,11 @@ QAbstractSocket::NetworkLayerProtocol QHostAddress::protocol() const
\snippet doc/src/snippets/code/src_network_kernel_qhostaddress.cpp 0
- This value is only valid if the protocol() is
+ This value is valid if the protocol() is
\l{QAbstractSocket::}{IPv6Protocol}.
+ If the protocol is
+ \l{QAbstractSocket::}{IPv4Protocol},
+ then the address is returned an an IPv4 mapped IPv6 address. (RFC4291)
\sa toString()
*/
@@ -722,13 +761,15 @@ Q_IPV6ADDR QHostAddress::toIPv6Address() const
For example, if the address is the IPv4 address 127.0.0.1, the
returned string is "127.0.0.1". For IPv6 the string format will
follow the RFC5952 recommendation.
+ For QHostAddress::Any, its IPv4 address will be returned ("0.0.0.0")
\sa toIPv4Address()
*/
QString QHostAddress::toString() const
{
QT_ENSURE_PARSED(this);
- if (d->protocol == QAbstractSocket::IPv4Protocol) {
+ if (d->protocol == QAbstractSocket::IPv4Protocol
+ || d->protocol == QAbstractSocket::AnyIPProtocol) {
quint32 i = toIPv4Address();
QString s;
s.sprintf("%d.%d.%d.%d", (i>>24) & 0xff, (i>>16) & 0xff,
@@ -1183,6 +1224,9 @@ QDataStream &operator>>(QDataStream &in, QHostAddress &address)
address.setScopeId(scope);
}
break;
+ case QAbstractSocket::AnyIPProtocol:
+ address = QHostAddress::Any;
+ break;
default:
address.clear();
in.setStatus(QDataStream::ReadCorruptData);
diff --git a/src/network/kernel/qhostaddress.h b/src/network/kernel/qhostaddress.h
index 486f2322ae..efb3198fc0 100644
--- a/src/network/kernel/qhostaddress.h
+++ b/src/network/kernel/qhostaddress.h
@@ -76,7 +76,8 @@ public:
LocalHost,
LocalHostIPv6,
Any,
- AnyIPv6
+ AnyIPv6,
+ AnyIPv4
};
QHostAddress();
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h
index 1959fabdfc..2717ceb58a 100644
--- a/src/network/socket/qabstractsocket.h
+++ b/src/network/socket/qabstractsocket.h
@@ -74,6 +74,7 @@ public:
enum NetworkLayerProtocol {
IPv4Protocol,
IPv6Protocol,
+ AnyIPProtocol,
UnknownNetworkLayerProtocol = -1
};
enum SocketError {
diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h
index c5c4b325d0..a024cd42d1 100644
--- a/src/network/socket/qnativesocketengine_p.h
+++ b/src/network/socket/qnativesocketengine_p.h
@@ -74,6 +74,11 @@ struct qt_sockaddr_storage {
char __ss_pad2[QT_SS_PAD2SIZE];
};
+#ifdef Q_OS_WIN
+#define QT_SOCKLEN_T int
+#define QT_SOCKOPTLEN_T int
+#endif
+
// sockaddr_in6 size changed between old and new SDK
// Only the new version is the correct one, so always
// use this structure.
@@ -265,6 +270,10 @@ public:
int nativeSelect(int timeout, bool selectForRead) const;
int nativeSelect(int timeout, bool checkRead, bool checkWrite,
bool *selectForRead, bool *selectForWrite) const;
+#ifdef Q_OS_WIN
+ void setPortAndAddress(sockaddr_in * sockAddrIPv4, qt_sockaddr_in6 * sockAddrIPv6,
+ quint16 port, const QHostAddress & address, sockaddr ** sockAddrPtr, QT_SOCKLEN_T *sockAddrSize);
+#endif
void nativeClose();
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index 39570c8c04..26053981ce 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -163,7 +163,7 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
QAbstractSocket::NetworkLayerProtocol socketProtocol)
{
#ifndef QT_NO_IPV6
- int protocol = (socketProtocol == QAbstractSocket::IPv6Protocol) ? AF_INET6 : AF_INET;
+ int protocol = (socketProtocol == QAbstractSocket::IPv6Protocol || socketProtocol == QAbstractSocket::AnyIPProtocol) ? AF_INET6 : AF_INET;
#else
Q_UNUSED(socketProtocol);
int protocol = AF_INET;
@@ -495,7 +495,14 @@ bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &address, quint16
#if !defined(QT_NO_IPV6)
struct sockaddr_in6 sockAddrIPv6;
- if (address.protocol() == QAbstractSocket::IPv6Protocol) {
+ if (address.protocol() == QAbstractSocket::IPv6Protocol || address.protocol() == QAbstractSocket::AnyIPProtocol) {
+#ifdef IPV6_V6ONLY
+ int ipv6only = 0;
+ if (address.protocol() == QAbstractSocket::IPv6Protocol)
+ ipv6only = 1;
+ //default value of this socket option varies depending on unix variant (or system configuration on BSD), so always set it explicitly
+ ::setsockopt(socketDescriptor, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&ipv6only, sizeof(ipv6only) );
+#endif
memset(&sockAddrIPv6, 0, sizeof(sockAddrIPv6));
sockAddrIPv6.sin6_family = AF_INET6;
sockAddrIPv6.sin6_port = htons(port);
@@ -866,7 +873,8 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
#if !defined(QT_NO_IPV6)
struct sockaddr_in6 sockAddrIPv6;
- if (host.protocol() == QAbstractSocket::IPv6Protocol) {
+ if (host.protocol() == QAbstractSocket::IPv6Protocol
+ || socketProtocol == QAbstractSocket::IPv6Protocol) {
memset(&sockAddrIPv6, 0, sizeof(sockAddrIPv6));
sockAddrIPv6.sin6_family = AF_INET6;
sockAddrIPv6.sin6_port = htons(port);
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 88b87b98fe..ba62bd6da2 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -159,11 +159,6 @@ static QByteArray qt_prettyDebug(const char *data, int len, int maxLength)
#define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */
#endif
-//###
-#define QT_SOCKLEN_T int
-#define QT_SOCKOPTLEN_T int
-
-
/*
Extracts the port and address from a sockaddr, and stores them in
\a port and \a addr if they are non-null.
@@ -202,11 +197,13 @@ static inline void qt_socket_getPortAndAddress(SOCKET socketDescriptor, const qt
Sets the port and address to a sockaddr. Requires that sa point to the IPv6 struct if the address is IPv6.
*/
-static inline void qt_socket_setPortAndAddress(SOCKET socketDescriptor, sockaddr_in * sockAddrIPv4, qt_sockaddr_in6 * sockAddrIPv6,
+void QNativeSocketEnginePrivate::setPortAndAddress(sockaddr_in * sockAddrIPv4, qt_sockaddr_in6 * sockAddrIPv6,
quint16 port, const QHostAddress & address, sockaddr ** sockAddrPtr, QT_SOCKLEN_T *sockAddrSize)
{
#if !defined(QT_NO_IPV6)
- if (address.protocol() == QAbstractSocket::IPv6Protocol) {
+ if (address.protocol() == QAbstractSocket::IPv6Protocol
+ || address.protocol() == QAbstractSocket::AnyIPProtocol
+ || socketProtocol == QAbstractSocket::IPv6Protocol) {
memset(sockAddrIPv6, 0, sizeof(qt_sockaddr_in6));
sockAddrIPv6->sin6_family = AF_INET6;
sockAddrIPv6->sin6_scope_id = address.scopeId().toInt();
@@ -306,7 +303,9 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
}
*/
- int protocol = (socketProtocol == QAbstractSocket::IPv6Protocol) ? AF_INET6 : AF_INET;
+ //Windows XP and 2003 support IPv6 but not dual stack sockets
+ int protocol = (socketProtocol == QAbstractSocket::IPv6Protocol
+ || (socketProtocol == QAbstractSocket::AnyIPProtocol && QSysInfo::windowsVersion() >= QSysInfo::WV_6_0)) ? AF_INET6 : AF_INET;
int type = (socketType == QAbstractSocket::UdpSocket) ? SOCK_DGRAM : SOCK_STREAM;
// MSDN KB179942 states that on winnt 4 WSA_FLAG_OVERLAPPED is needed if socket is to be non blocking
// and recomends alwasy doing it for cross windows version comapablity.
@@ -602,7 +601,7 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &address, quin
struct sockaddr *sockAddrPtr = 0;
QT_SOCKLEN_T sockAddrSize = 0;
- qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
+ setPortAndAddress(&sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
forever {
int connectResult = ::WSAConnect(socketDescriptor, sockAddrPtr, sockAddrSize, 0,0,0,0);
@@ -708,19 +707,35 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &address, quin
bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &a, quint16 port)
{
QHostAddress address = a;
+ DWORD ipv6only = 0;
switch (address.protocol()) {
case QAbstractSocket::IPv6Protocol:
if (address.toIPv6Address()[0] == 0xff) {
// binding to a multicast address
address = QHostAddress(QHostAddress::AnyIPv6);
}
+#if !defined (QT_NO_IPV6) && defined (IPV6_V6ONLY)
+ //This is default in current windows versions, it may change in future so set it explicitly
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_6_0) {
+ ipv6only = 1;
+ ipv6only = ::setsockopt(socketDescriptor, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&ipv6only, sizeof(ipv6only) );
+ }
+#endif
break;
case QAbstractSocket::IPv4Protocol:
if ((address.toIPv4Address() & 0xffff0000) == 0xefff0000) {
// binding to a multicast address
- address = QHostAddress(QHostAddress::Any);
+ address = QHostAddress(QHostAddress::AnyIPv4);
}
break;
+ case QAbstractSocket::AnyIPProtocol:
+#if !defined (QT_NO_IPV6) && defined (IPV6_V6ONLY)
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_6_0)
+ ipv6only = ::setsockopt(socketDescriptor, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&ipv6only, sizeof(ipv6only) );
+ else
+#endif
+ address = QHostAddress(QHostAddress::AnyIPv4); //xp/WS2003 and earlier don't support dual stack, so bind to IPv4
+ break;
default:
break;
}
@@ -730,7 +745,7 @@ bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &a, quint16 port)
struct sockaddr *sockAddrPtr = 0;
QT_SOCKLEN_T sockAddrSize = 0;
- qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
+ setPortAndAddress(&sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
int bindResult = ::bind(socketDescriptor, sockAddrPtr, sockAddrSize);
@@ -1182,7 +1197,7 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
struct sockaddr *sockAddrPtr = 0;
QT_SOCKLEN_T sockAddrSize = 0;
- qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
+ setPortAndAddress(&sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
WSABUF buf;
#if !defined(Q_OS_WINCE)
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp
index ab757987f6..514a7a0f6f 100644
--- a/src/network/socket/qsocks5socketengine.cpp
+++ b/src/network/socket/qsocks5socketengine.cpp
@@ -827,7 +827,7 @@ void QSocks5SocketEnginePrivate::sendRequestMethod()
//### set error code ....
return;
} else if (!peerName.isEmpty() && !qt_socks5_set_host_name_and_port(peerName, port, &buf)) {
- QSOCKS5_DEBUG << "error setting address" << address << " : " << port;
+ QSOCKS5_DEBUG << "error setting peer name" << peerName << " : " << port;
//### set error code ....
return;
}
@@ -1325,12 +1325,18 @@ void QSocks5SocketEnginePrivate::_q_udpSocketReadNotification()
}
#endif // QT_NO_UDPSOCKET
-bool QSocks5SocketEngine::bind(const QHostAddress &address, quint16 port)
+bool QSocks5SocketEngine::bind(const QHostAddress &addr, quint16 port)
{
Q_D(QSocks5SocketEngine);
// when bind wee will block until the bind is finished as the info from the proxy server is needed
+ QHostAddress address;
+ if (addr.protocol() == QAbstractSocket::AnyIPProtocol)
+ address = QHostAddress::AnyIPv4; //SOCKS5 doesnt support dual stack, and there isn't any implementation of udp on ipv6 yet
+ else
+ address = addr;
+
if (!d->data) {
if (socketType() == QAbstractSocket::TcpSocket) {
d->initialize(QSocks5SocketEnginePrivate::BindMode);
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index 76b7d41e46..6100c68a2d 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -123,6 +123,7 @@
#include <QtCore/qmap.h>
#include <QtCore/qstring.h>
#include <QtCore/qstringlist.h>
+#include <QtCore/qvarlengtharray.h>
QT_BEGIN_NAMESPACE
@@ -522,6 +523,17 @@ QByteArray QSslCertificate::toDer() const
}
/*!
+ Returns this certificate converted to a human-readable text
+ representation.
+*/
+QByteArray QSslCertificate::toText() const
+{
+ if (!d->x509)
+ return QByteArray();
+ return d->text_from_X509(d->x509);
+}
+
+/*!
Searches all files in the \a path for certificates encoded in the
specified \a format and returns them in a list. \e must be a file or a
pattern matching one or more files, as specified by \a syntax.
@@ -666,6 +678,31 @@ QByteArray QSslCertificatePrivate::QByteArray_from_X509(X509 *x509, QSsl::Encodi
return BEGINCERTSTRING "\n" + tmp + ENDCERTSTRING "\n";
}
+QByteArray QSslCertificatePrivate::text_from_X509(X509 *x509)
+{
+ if (!x509) {
+ qWarning("QSslSocketBackendPrivate::text_from_X509: null X509");
+ return QByteArray();
+ }
+
+ QByteArray result;
+ BIO *bio = q_BIO_new(q_BIO_s_mem());
+ if (!bio)
+ return result;
+
+ q_X509_print(bio, x509);
+
+ QVarLengthArray<char, 16384> data;
+ int count = q_BIO_read(bio, data.data(), 16384);
+ if ( count > 0 ) {
+ result = QByteArray( data.data(), count );
+ }
+
+ q_BIO_free(bio);
+
+ return result;
+}
+
static QMap<QString, QString> _q_mapFromX509Name(X509_NAME *name)
{
QMap<QString, QString> info;
diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h
index e52f9c15c1..b942bd8a25 100644
--- a/src/network/ssl/qsslcertificate.h
+++ b/src/network/ssl/qsslcertificate.h
@@ -107,6 +107,7 @@ public:
QByteArray toPem() const;
QByteArray toDer() const;
+ QByteArray toText() const;
static QList<QSslCertificate> fromPath(
const QString &path, QSsl::EncodingFormat format = QSsl::Pem,
diff --git a/src/network/ssl/qsslcertificate_p.h b/src/network/ssl/qsslcertificate_p.h
index 448ca8dc58..eb192968c5 100644
--- a/src/network/ssl/qsslcertificate_p.h
+++ b/src/network/ssl/qsslcertificate_p.h
@@ -93,6 +93,7 @@ public:
void init(const QByteArray &data, QSsl::EncodingFormat format);
static QByteArray QByteArray_from_X509(X509 *x509, QSsl::EncodingFormat format);
+ static QByteArray text_from_X509(X509 *x509);
static QSslCertificate QSslCertificate_from_X509(X509 *x509);
static QList<QSslCertificate> certificatesFromPem(const QByteArray &pem, int count = -1);
static QList<QSslCertificate> certificatesFromDer(const QByteArray &der, int count = -1);
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index a4cc3c493d..6d29b294a1 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -241,6 +241,7 @@ DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
#ifndef SSLEAY_MACROS
DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return)
#endif
+DEFINEFUNC2(void, X509_print, BIO *a, a, X509 *b, b, return, DUMMYARG);
DEFINEFUNC(ASN1_OBJECT *, X509_EXTENSION_get_object, X509_EXTENSION *a, a, return 0, return)
DEFINEFUNC(void, X509_free, X509 *a, a, return, DUMMYARG)
DEFINEFUNC2(X509_EXTENSION *, X509_get_ext, X509 *a, a, int b, b, return 0, return)
@@ -629,6 +630,7 @@ bool q_resolveOpenSslSymbols()
#ifndef SSLEAY_MACROS
RESOLVEFUNC(X509_dup, 1997, libs.second )
#endif
+ RESOLVEFUNC(X509_print, 2046, libs.second )
RESOLVEFUNC(X509_EXTENSION_get_object, 1785, libs.second )
RESOLVEFUNC(X509_free, 2001, libs.second )
RESOLVEFUNC(X509_get_ext, 2012, libs.second )
@@ -761,6 +763,7 @@ bool q_resolveOpenSslSymbols()
#ifndef SSLEAY_MACROS
RESOLVEFUNC(X509_dup)
#endif
+ RESOLVEFUNC(X509_print)
RESOLVEFUNC(X509_EXTENSION_get_object)
RESOLVEFUNC(X509_free)
RESOLVEFUNC(X509_get_ext)
diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
index c0a3b4da6a..00f56d65af 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
@@ -353,6 +353,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);
#else
X509 *q_X509_dup(X509 *a);
#endif
+void q_X509_print(BIO *a, X509*b);
ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a);
void q_X509_free(X509 *a);
X509_EXTENSION *q_X509_get_ext(X509 *a, int b);
diff --git a/src/plugins/platforms/wayland/qwaylandclipboard.cpp b/src/plugins/platforms/wayland/qwaylandclipboard.cpp
index feaa660bc6..da5da4285a 100644
--- a/src/plugins/platforms/wayland/qwaylandclipboard.cpp
+++ b/src/plugins/platforms/wayland/qwaylandclipboard.cpp
@@ -50,7 +50,7 @@
#include <QtCore/QtDebug>
#include <QtGui/private/qdnd_p.h>
-static QWaylandClipboard *clipboard;
+static QWaylandClipboard *clipboard = 0;
class QWaylandMimeData : public QInternalMimeData
{
@@ -162,10 +162,16 @@ void QWaylandSelection::cancelled(void *data, struct wl_selection *selection)
delete static_cast<QWaylandSelection *>(data);
}
+QWaylandClipboard *QWaylandClipboard::instance(QWaylandDisplay *display)
+{
+ if (!clipboard)
+ clipboard = new QWaylandClipboard(display);
+ return clipboard;
+}
+
QWaylandClipboard::QWaylandClipboard(QWaylandDisplay *display)
: mDisplay(display), mMimeDataIn(0), mOffer(0)
{
- clipboard = this;
}
QWaylandClipboard::~QWaylandClipboard()
diff --git a/src/plugins/platforms/wayland/qwaylandclipboard.h b/src/plugins/platforms/wayland/qwaylandclipboard.h
index f45fb8da4c..87294342d7 100644
--- a/src/plugins/platforms/wayland/qwaylandclipboard.h
+++ b/src/plugins/platforms/wayland/qwaylandclipboard.h
@@ -61,7 +61,8 @@ public slots:
class QWaylandClipboard : public QPlatformClipboard
{
public:
- QWaylandClipboard(QWaylandDisplay *display);
+ static QWaylandClipboard *instance(QWaylandDisplay *display);
+
~QWaylandClipboard();
QMimeData *mimeData(QClipboard::Mode mode = QClipboard::Clipboard);
@@ -75,6 +76,8 @@ public:
QVariant retrieveData(const QString &mimeType, QVariant::Type type) const;
private:
+ QWaylandClipboard(QWaylandDisplay *display);
+
static void offer(void *data,
struct wl_selection_offer *selection_offer,
const char *type);
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
index 9e8cfe3df6..f3e2e9fb94 100644
--- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp
+++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
@@ -125,9 +125,14 @@ const struct wl_shell_listener QWaylandDisplay::shellListener = {
QWaylandDisplay::shellHandleConfigure,
};
+static QWaylandDisplay *display = 0;
+
QWaylandDisplay::QWaylandDisplay(void)
: argb_visual(0), premultiplied_argb_visual(0), rgb_visual(0)
{
+ display = this;
+ qRegisterMetaType<uint32_t>("uint32_t");
+
mDisplay = wl_display_connect(NULL);
if (mDisplay == NULL) {
qErrnoWarning(errno, "Failed to create display");
@@ -146,8 +151,6 @@ QWaylandDisplay::QWaylandDisplay(void)
blockingReadEvents();
- qRegisterMetaType<uint32_t>("uint32_t");
-
#ifdef QT_WAYLAND_GL_SUPPORT
mEglIntegration->initialize();
#endif
@@ -311,11 +314,7 @@ void QWaylandDisplay::displayHandleGlobal(uint32_t id,
new QWaylandInputDevice(mDisplay, id);
mInputDevices.append(inputDevice);
} else if (interface == "wl_selection_offer") {
- QPlatformIntegration *plat = QGuiApplicationPrivate::platformIntegration();
- if (!plat)
- return;
- QWaylandClipboard *clipboard = static_cast<QWaylandClipboard *>(plat->clipboard());
- clipboard->createSelectionOffer(id);
+ QWaylandClipboard::instance(display)->createSelectionOffer(id);
}
}
diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp
index 1f1ecda0e6..9a581c265f 100644
--- a/src/plugins/platforms/wayland/qwaylandintegration.cpp
+++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp
@@ -64,7 +64,6 @@ QWaylandIntegration::QWaylandIntegration()
: mFontDb(new QGenericUnixFontDatabase())
, mDisplay(new QWaylandDisplay())
, mNativeInterface(new QWaylandNativeInterface)
- , mClipboard(0)
{
}
@@ -137,7 +136,5 @@ QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const
QPlatformClipboard *QWaylandIntegration::clipboard() const
{
- if (!mClipboard)
- mClipboard = new QWaylandClipboard(mDisplay);
- return mClipboard;
+ return QWaylandClipboard::instance(mDisplay);
}
diff --git a/src/plugins/platforms/wayland/qwaylandintegration.h b/src/plugins/platforms/wayland/qwaylandintegration.h
index 6a5e4d3b28..c08c040261 100644
--- a/src/plugins/platforms/wayland/qwaylandintegration.h
+++ b/src/plugins/platforms/wayland/qwaylandintegration.h
@@ -74,7 +74,6 @@ private:
QPlatformFontDatabase *mFontDb;
QWaylandDisplay *mDisplay;
QPlatformNativeInterface *mNativeInterface;
- mutable QPlatformClipboard *mClipboard;
};
QT_END_NAMESPACE
diff --git a/src/testlib/qbenchmarkmeasurement_p.h b/src/testlib/qbenchmarkmeasurement_p.h
index a4b676fd72..8242365f20 100644
--- a/src/testlib/qbenchmarkmeasurement_p.h
+++ b/src/testlib/qbenchmarkmeasurement_p.h
@@ -54,7 +54,9 @@
//
#include <QtCore/qelapsedtimer.h>
+#ifdef HAVE_TICK_COUNTER
#include "3rdparty/cycle_p.h"
+#endif
#include "qbenchmark.h"
QT_BEGIN_NAMESPACE
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
index 41a3a4fc93..eaafd0a9fd 100644
--- a/src/tools/moc/main.cpp
+++ b/src/tools/moc/main.cpp
@@ -67,34 +67,7 @@ static QByteArray combinePath(const char *infile, const char *outfile)
{
QFileInfo inFileInfo(QDir::current(), QFile::decodeName(infile));
QFileInfo outFileInfo(QDir::current(), QFile::decodeName(outfile));
- int numCommonComponents = 0;
-
- QStringList inSplitted = inFileInfo.dir().canonicalPath().split(QLatin1Char('/'));
- QStringList outSplitted = outFileInfo.dir().canonicalPath().split(QLatin1Char('/'));
-
- while (!inSplitted.isEmpty() && !outSplitted.isEmpty() &&
- inSplitted.first() == outSplitted.first()) {
- inSplitted.removeFirst();
- outSplitted.removeFirst();
- numCommonComponents++;
- }
-
- if (numCommonComponents < 2)
- /*
- The paths don't have the same drive, or they don't have the
- same root directory. Use an absolute path.
- */
- return QFile::encodeName(inFileInfo.absoluteFilePath());
- /*
- The paths have something in common. Use a path relative to
- the output file.
- */
- while (!outSplitted.isEmpty()) {
- outSplitted.removeFirst();
- inSplitted.prepend(QLatin1String(".."));
- }
- inSplitted.append(inFileInfo.fileName());
- return QFile::encodeName(inSplitted.join(QLatin1String("/")));
+ return QFile::encodeName(outFileInfo.dir().relativeFilePath(inFileInfo.filePath()));
}
diff --git a/src/widgets/platforms/mac/qfontengine_coretext_p.h b/src/widgets/platforms/mac/qfontengine_coretext_p.h
index 3ca8a0ad60..b531856a27 100644
--- a/src/widgets/platforms/mac/qfontengine_coretext_p.h
+++ b/src/widgets/platforms/mac/qfontengine_coretext_p.h
@@ -46,6 +46,10 @@
#if !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
class QRawFontPrivate;
class QCoreTextFontEngineMulti;
class QCoreTextFontEngine : public QFontEngine
@@ -143,6 +147,10 @@ private:
CGAffineTransform qt_transform_from_fontdef(const QFontDef &fontDef);
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
#endif// !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
#endif // QFONTENGINE_CORETEXT_P_H
diff --git a/src/widgets/platforms/mac/qwidget_mac.mm b/src/widgets/platforms/mac/qwidget_mac.mm
index 3a025e9237..4adaa6b288 100644
--- a/src/widgets/platforms/mac/qwidget_mac.mm
+++ b/src/widgets/platforms/mac/qwidget_mac.mm
@@ -5018,7 +5018,7 @@ void QWidgetPrivate::registerTouchWindow(bool enable)
if (enable == touchEventsEnabled)
return;
- QCocoaView *view = static_cast<QCocoaView *>(qt_mac_effectiveview_for(q));
+ QT_MANGLE_NAMESPACE(QCocoaView) *view = static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(qt_mac_effectiveview_for(q));
if (!view)
return;
diff --git a/src/widgets/platforms/x11/qfontdatabase_x11.cpp b/src/widgets/platforms/x11/qfontdatabase_x11.cpp
index 754334c0c4..958daa2506 100644
--- a/src/widgets/platforms/x11/qfontdatabase_x11.cpp
+++ b/src/widgets/platforms/x11/qfontdatabase_x11.cpp
@@ -1566,9 +1566,8 @@ static FcPattern *getFcPattern(const QFontPrivate *fp, int script, const QFontDe
qt_addPatternProps(pattern, fp->screen, script, request);
- FcDefaultSubstitute(pattern);
FcConfigSubstitute(0, pattern, FcMatchPattern);
- FcConfigSubstitute(0, pattern, FcMatchFont);
+ FcDefaultSubstitute(pattern);
// these should only get added to the pattern _after_ substitution
// append the default fallback font for the specified script
@@ -1606,35 +1605,20 @@ static void FcFontSetRemove(FcFontSet *fs, int at)
memmove(fs->fonts + at, fs->fonts + at + 1, len);
}
-static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
- const QFontDef &request, int script, FcPattern **matchedPattern = 0)
+static QFontEngine *tryPatternLoad(FcPattern *match, int screen,
+ const QFontDef &request, int script)
{
#ifdef FONT_MATCH_DEBUG
FcChar8 *fam;
- FcPatternGetString(p, FC_FAMILY, 0, &fam);
+ FcPatternGetString(match, FC_FAMILY, 0, &fam);
FM_DEBUG("==== trying %s\n", fam);
#endif
FM_DEBUG("passes charset test\n");
- FcPattern *pattern = FcPatternDuplicate(p);
- // add properties back in as the font selected from the
- // list doesn't contain them.
- qt_addPatternProps(pattern, screen, script, request);
-
- FcConfigSubstitute(0, pattern, FcMatchPattern);
- FcDefaultSubstitute(pattern);
- FcResult res;
- FcPattern *match = FcFontMatch(0, pattern, &res);
-
- if (matchedPattern)
- *matchedPattern = 0;
QFontEngineX11FT *engine = 0;
if (!match) // probably no fonts available.
goto done;
- if (matchedPattern)
- *matchedPattern = FcPatternDuplicate(match);
-
if (script != QUnicodeTables::Common) {
// skip font if it doesn't support the language we want
if (specialChars[script]) {
@@ -1673,11 +1657,6 @@ static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
}
}
done:
- FcPatternDestroy(pattern);
- if (!engine && matchedPattern && *matchedPattern) {
- FcPatternDestroy(*matchedPattern);
- *matchedPattern = 0;
- }
return engine;
}
@@ -1726,14 +1705,26 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
#endif
QFontEngine *fe = 0;
- FcPattern *matchedPattern = 0;
- fe = tryPatternLoad(pattern, fp->screen, request, script, &matchedPattern);
+ FcResult res;
+ FcPattern *match = FcFontMatch(0, pattern, &res);
+ fe = tryPatternLoad(match, fp->screen, request, script);
if (!fe) {
FcFontSet *fs = qt_fontSetForPattern(pattern, request);
+ if (match) {
+ FcPatternDestroy(match);
+ match = 0;
+ }
+
if (fs) {
- for (int i = 0; !fe && i < fs->nfont; ++i)
- fe = tryPatternLoad(fs->fonts[i], fp->screen, request, script, &matchedPattern);
+ for (int i = 0; !fe && i < fs->nfont; ++i) {
+ match = FcFontRenderPrepare(NULL, pattern, fs->fonts[i]);
+ fe = tryPatternLoad(match, fp->screen, request, script);
+ if (fe)
+ break;
+ FcPatternDestroy(match);
+ match = 0;
+ }
FcFontSetDestroy(fs);
}
FM_DEBUG("engine for script %d is %s\n", script, fe ? fe->fontDef.family.toLatin1().data(): "(null)");
@@ -1741,11 +1732,11 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
if (fe
&& script == QUnicodeTables::Common
&& !(request.styleStrategy & QFont::NoFontMerging) && !fe->symbol) {
- fe = new QFontEngineMultiFT(fe, matchedPattern, pattern, fp->screen, request);
+ fe = new QFontEngineMultiFT(fe, match, pattern, fp->screen, request);
} else {
FcPatternDestroy(pattern);
- if (matchedPattern)
- FcPatternDestroy(matchedPattern);
+ if (match)
+ FcPatternDestroy(match);
}
return fe;
}
diff --git a/src/widgets/platforms/x11/qfontengine_x11.cpp b/src/widgets/platforms/x11/qfontengine_x11.cpp
index 9918f82bf7..c23fb0c174 100644
--- a/src/widgets/platforms/x11/qfontengine_x11.cpp
+++ b/src/widgets/platforms/x11/qfontengine_x11.cpp
@@ -863,11 +863,8 @@ glyph_t QFontEngineXLFD::glyphIndexToFreetypeGlyphIndex(glyph_t g) const
// Multi FT engine
// ------------------------------------------------------------------
-static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request,
- int screen)
+static QFontEngine *engineForPattern(FcPattern *match, const QFontDef &request, int screen)
{
- FcResult res;
- FcPattern *match = FcFontMatch(0, pattern, &res);
QFontEngineX11FT *engine = new QFontEngineX11FT(match, request, screen);
if (!engine->invalid())
return engine;
@@ -879,9 +876,9 @@ static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request
}
QFontEngineMultiFT::QFontEngineMultiFT(QFontEngine *fe, FcPattern *matchedPattern, FcPattern *p, int s, const QFontDef &req)
- : QFontEngineMulti(2), request(req), pattern(p), firstEnginePattern(matchedPattern), fontSet(0), screen(s)
+ : QFontEngineMulti(2), request(req), pattern(p), fontSet(0), screen(s)
{
-
+ firstEnginePattern = FcPatternDuplicate(matchedPattern);
engines[0] = fe;
engines.at(0)->ref.ref();
fontDef = engines[0]->fontDef;
@@ -907,8 +904,6 @@ void QFontEngineMultiFT::loadEngine(int at)
extern QMutex *qt_fontdatabase_mutex();
QMutexLocker locker(qt_fontdatabase_mutex());
- extern void qt_addPatternProps(FcPattern *pattern, int screen, int script,
- const QFontDef &request);
extern QFontDef qt_FcPatternToQFontDef(FcPattern *pattern, const QFontDef &);
extern FcFontSet *qt_fontSetForPattern(FcPattern *pattern, const QFontDef &request);
@@ -940,22 +935,18 @@ void QFontEngineMultiFT::loadEngine(int at)
Q_ASSERT(at < engines.size());
Q_ASSERT(engines.at(at) == 0);
- FcPattern *pattern = FcPatternDuplicate(fontSet->fonts[at + firstFontIndex - 1]);
- qt_addPatternProps(pattern, screen, QUnicodeTables::Common, request);
-
- QFontDef fontDef = qt_FcPatternToQFontDef(pattern, this->request);
+ FcPattern *match = FcFontRenderPrepare(NULL, pattern, fontSet->fonts[at + firstFontIndex - 1]);
+ QFontDef fontDef = qt_FcPatternToQFontDef(match, this->request);
// note: we use -1 for the script to make sure that we keep real
// FT engines separate from Multi engines in the font cache
QFontCache::Key key(fontDef, -1, screen);
QFontEngine *fontEngine = QFontCache::instance()->findEngine(key);
if (!fontEngine) {
- FcConfigSubstitute(0, pattern, FcMatchPattern);
- FcDefaultSubstitute(pattern);
- fontEngine = engineForPattern(pattern, request, screen);
+ fontEngine = engineForPattern(match, request, screen);
QFontCache::instance()->insertEngine(key, fontEngine);
}
- FcPatternDestroy(pattern);
+ FcPatternDestroy(match);
fontEngine->ref.ref();
engines[at] = fontEngine;
}
@@ -1123,17 +1114,14 @@ QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int s
}
#endif
- if (!init(face_id, antialias, defaultFormat)) {
- FcPatternDestroy(pattern);
+ if (!init(face_id, antialias, defaultFormat))
return;
- }
if (!freetype->charset) {
FcCharSet *cs;
FcPatternGetCharSet (pattern, FC_CHARSET, 0, &cs);
freetype->charset = FcCharSetCopy(cs);
}
- FcPatternDestroy(pattern);
}
QFontEngineX11FT::~QFontEngineX11FT()
diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp
index e5171d854a..ad0e151051 100644
--- a/src/widgets/styles/qcommonstyle.cpp
+++ b/src/widgets/styles/qcommonstyle.cpp
@@ -5292,7 +5292,7 @@ QPixmap QCommonStyle::standardPixmap(StandardPixmap sp, const QStyleOption *opti
pixmap = QIcon::fromTheme(QLatin1String("media-seek-backward")).pixmap(16);
break;
case SP_MediaSkipForward:
- pixmap = QIcon::fromTheme(QLatin1String("media-skip-backward")).pixmap(16);
+ pixmap = QIcon::fromTheme(QLatin1String("media-skip-forward")).pixmap(16);
break;
case SP_MediaSkipBackward:
pixmap = QIcon::fromTheme(QLatin1String("media-skip-backward")).pixmap(16);
diff --git a/src/widgets/util/qscroller_mac.mm b/src/widgets/util/qscroller_mac.mm
index c0ef4a1665..81d18aaf6b 100644
--- a/src/widgets/util/qscroller_mac.mm
+++ b/src/widgets/util/qscroller_mac.mm
@@ -47,6 +47,8 @@
#include "qscroller_p.h"
+QT_BEGIN_NAMESPACE
+
QPointF QScrollerPrivate::realDpi(int screen)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
@@ -68,4 +70,6 @@ QPointF QScrollerPrivate::realDpi(int screen)
[pool release];
}
+QT_END_NAMESPACE
+
#endif
diff --git a/tests/auto/other.pro b/tests/auto/other.pro
index b50e1697b3..c4ddc83cdf 100644
--- a/tests/auto/other.pro
+++ b/tests/auto/other.pro
@@ -38,7 +38,7 @@ SUBDIRS=\
contains(QT_CONFIG, accessibility):SUBDIRS += qaccessibility
contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter
-mac: {
+mac:!qpa {
SUBDIRS += macgui \
macnativeevents \
macplist \
diff --git a/tests/auto/qbuffer/tst_qbuffer.cpp b/tests/auto/qbuffer/tst_qbuffer.cpp
index 776935d6e0..bf4842ff94 100644
--- a/tests/auto/qbuffer/tst_qbuffer.cpp
+++ b/tests/auto/qbuffer/tst_qbuffer.cpp
@@ -56,6 +56,7 @@ public:
tst_QBuffer();
private slots:
+ void open();
void getSetCheck();
void readBlock();
void readBlockPastEnd();
@@ -104,6 +105,55 @@ tst_QBuffer::tst_QBuffer()
{
}
+void tst_QBuffer::open()
+{
+ QByteArray data(10, 'f');
+
+ QBuffer b;
+
+ QTest::ignoreMessage(QtWarningMsg, "QBuffer::open: Buffer access not specified");
+ QVERIFY(!b.open(QIODevice::NotOpen));
+ QVERIFY(!b.isOpen());
+ b.close();
+
+ QTest::ignoreMessage(QtWarningMsg, "QBuffer::open: Buffer access not specified");
+ QVERIFY(!b.open(QIODevice::Text));
+ QVERIFY(!b.isOpen());
+ b.close();
+
+ QTest::ignoreMessage(QtWarningMsg, "QBuffer::open: Buffer access not specified");
+ QVERIFY(!b.open(QIODevice::Unbuffered));
+ QVERIFY(!b.isOpen());
+ b.close();
+
+ QVERIFY(b.open(QIODevice::ReadOnly));
+ QVERIFY(b.isReadable());
+ b.close();
+
+ QVERIFY(b.open(QIODevice::WriteOnly));
+ QVERIFY(b.isWritable());
+ b.close();
+
+ b.setData(data);
+ QVERIFY(b.open(QIODevice::Append));
+ QVERIFY(b.isWritable());
+ QCOMPARE(b.size(), qint64(10));
+ QCOMPARE(b.pos(), b.size());
+ b.close();
+
+ b.setData(data);
+ QVERIFY(b.open(QIODevice::Truncate));
+ QVERIFY(b.isWritable());
+ QCOMPARE(b.size(), qint64(0));
+ QCOMPARE(b.pos(), qint64(0));
+ b.close();
+
+ QVERIFY(b.open(QIODevice::ReadWrite));
+ QVERIFY(b.isReadable());
+ QVERIFY(b.isWritable());
+ b.close();
+}
+
// some status() tests, too
void tst_QBuffer::readBlock()
{
diff --git a/tests/auto/qfontdialog/qfontdialog.pro b/tests/auto/qfontdialog/qfontdialog.pro
index 80444ed494..60320476e2 100644
--- a/tests/auto/qfontdialog/qfontdialog.pro
+++ b/tests/auto/qfontdialog/qfontdialog.pro
@@ -5,7 +5,7 @@ QT += core-private gui-private
SOURCES += tst_qfontdialog.cpp
-mac {
+mac:!qpa {
OBJECTIVE_SOURCES += tst_qfontdialog_mac_helpers.mm
LIBS += -framework Cocoa
}
diff --git a/tests/auto/qhostaddress/tst_qhostaddress.cpp b/tests/auto/qhostaddress/tst_qhostaddress.cpp
index 08eb63cff8..b20e07be03 100644
--- a/tests/auto/qhostaddress/tst_qhostaddress.cpp
+++ b/tests/auto/qhostaddress/tst_qhostaddress.cpp
@@ -269,7 +269,10 @@ void tst_QHostAddress::specialAddresses_data()
QTest::newRow("broadcast_2") << QString("255.255.255.255") << (int)QHostAddress::Broadcast << true;
QTest::newRow("any_ipv6") << QString("::") << (int)QHostAddress::AnyIPv6 << true;
- QTest::newRow("any_ipv4") << QString("0.0.0.0") << (int)QHostAddress::Any << true;
+ QTest::newRow("any_ipv4") << QString("0.0.0.0") << (int)QHostAddress::AnyIPv4 << true;
+
+ QTest::newRow("dual_not_ipv6") << QString("::") << (int)QHostAddress::Any << false;
+ QTest::newRow("dual_not_ipv4") << QString("0.0.0.0") << (int)QHostAddress::Any << false;
}
@@ -366,8 +369,9 @@ void tst_QHostAddress::streaming_data()
QTest::newRow("8") << QHostAddress(QHostAddress::LocalHostIPv6);
QTest::newRow("9") << QHostAddress(QHostAddress::Broadcast);
QTest::newRow("10") << QHostAddress(QHostAddress::Any);
- QTest::newRow("11") << QHostAddress(QHostAddress::AnyIPv6);
- QTest::newRow("12") << QHostAddress("foo.bar.com");
+ QTest::newRow("11") << QHostAddress(QHostAddress::AnyIPv4);
+ QTest::newRow("12") << QHostAddress(QHostAddress::AnyIPv6);
+ QTest::newRow("13") << QHostAddress("foo.bar.com");
}
void tst_QHostAddress::streaming()
@@ -409,26 +413,26 @@ void tst_QHostAddress::parseSubnet_data()
QTest::newRow("invalid_23") << "ffff::/ff00::" << QHostAddress() << -1;
// correct IPv4 with netmask
- QTest::newRow("netmask_0") << "0.0.0.0/0.0.0.0" << QHostAddress(QHostAddress::Any) << 0;
- QTest::newRow("netmask_1") << "0.0.0.0/255.128.0.0" << QHostAddress(QHostAddress::Any) << 9;
- QTest::newRow("netmask_2") << "0.0.0.0/255.192.0.0" << QHostAddress(QHostAddress::Any) << 10;
- QTest::newRow("netmask_3") << "0.0.0.0/255.224.0.0" << QHostAddress(QHostAddress::Any) << 11;
- QTest::newRow("netmask_4") << "0.0.0.0/255.240.0.0" << QHostAddress(QHostAddress::Any) << 12;
- QTest::newRow("netmask_5") << "0.0.0.0/255.248.0.0" << QHostAddress(QHostAddress::Any) << 13;
- QTest::newRow("netmask_6") << "0.0.0.0/255.252.0.0" << QHostAddress(QHostAddress::Any) << 14;
- QTest::newRow("netmask_7") << "0.0.0.0/255.254.0.0" << QHostAddress(QHostAddress::Any) << 15;
- QTest::newRow("netmask_8") << "0.0.0.0/255.255.0.0" << QHostAddress(QHostAddress::Any) << 16;
- QTest::newRow("netmask_16") << "0.0.0.0/255.255.0.0" << QHostAddress(QHostAddress::Any) << 16;
- QTest::newRow("netmask_24") << "0.0.0.0/255.255.255.0" << QHostAddress(QHostAddress::Any) << 24;
- QTest::newRow("netmask_31") << "0.0.0.0/255.255.255.254" << QHostAddress(QHostAddress::Any) << 31;
- QTest::newRow("netmask_32") << "0.0.0.0/255.255.255.255" << QHostAddress(QHostAddress::Any) << 32;
+ QTest::newRow("netmask_0") << "0.0.0.0/0.0.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 0;
+ QTest::newRow("netmask_1") << "0.0.0.0/255.128.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 9;
+ QTest::newRow("netmask_2") << "0.0.0.0/255.192.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 10;
+ QTest::newRow("netmask_3") << "0.0.0.0/255.224.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 11;
+ QTest::newRow("netmask_4") << "0.0.0.0/255.240.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 12;
+ QTest::newRow("netmask_5") << "0.0.0.0/255.248.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 13;
+ QTest::newRow("netmask_6") << "0.0.0.0/255.252.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 14;
+ QTest::newRow("netmask_7") << "0.0.0.0/255.254.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 15;
+ QTest::newRow("netmask_8") << "0.0.0.0/255.255.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 16;
+ QTest::newRow("netmask_16") << "0.0.0.0/255.255.0.0" << QHostAddress(QHostAddress::AnyIPv4) << 16;
+ QTest::newRow("netmask_24") << "0.0.0.0/255.255.255.0" << QHostAddress(QHostAddress::AnyIPv4) << 24;
+ QTest::newRow("netmask_31") << "0.0.0.0/255.255.255.254" << QHostAddress(QHostAddress::AnyIPv4) << 31;
+ QTest::newRow("netmask_32") << "0.0.0.0/255.255.255.255" << QHostAddress(QHostAddress::AnyIPv4) << 32;
// correct IPv4 with prefix
- QTest::newRow("prefix_0") << "0.0.0.0/0" << QHostAddress(QHostAddress::Any) << 0;
- QTest::newRow("prefix_1") << "0.0.0.0/1" << QHostAddress(QHostAddress::Any) << 1;
- QTest::newRow("prefix_9") << "0.0.0.0/9" << QHostAddress(QHostAddress::Any) << 9;
- QTest::newRow("prefix_31") << "0.0.0.0/31" << QHostAddress(QHostAddress::Any) << 31;
- QTest::newRow("prefix_32") << "0.0.0.0/32" << QHostAddress(QHostAddress::Any) << 32;
+ QTest::newRow("prefix_0") << "0.0.0.0/0" << QHostAddress(QHostAddress::AnyIPv4) << 0;
+ QTest::newRow("prefix_1") << "0.0.0.0/1" << QHostAddress(QHostAddress::AnyIPv4) << 1;
+ QTest::newRow("prefix_9") << "0.0.0.0/9" << QHostAddress(QHostAddress::AnyIPv4) << 9;
+ QTest::newRow("prefix_31") << "0.0.0.0/31" << QHostAddress(QHostAddress::AnyIPv4) << 31;
+ QTest::newRow("prefix_32") << "0.0.0.0/32" << QHostAddress(QHostAddress::AnyIPv4) << 32;
// correct IPv4 without prefix or netmask
QTest::newRow("classA") << "10" << QHostAddress("10.0.0.0") << 8;
@@ -533,22 +537,22 @@ void tst_QHostAddress::isInSubnet_data()
// invalid QHostAddresses are never in any subnets
QTest::newRow("invalid_01") << QHostAddress() << QHostAddress() << 32 << false;
- QTest::newRow("invalid_02") << QHostAddress() << QHostAddress(QHostAddress::Any) << 32 << false;
- QTest::newRow("invalid_03") << QHostAddress() << QHostAddress(QHostAddress::Any) << 8 << false;
- QTest::newRow("invalid_04") << QHostAddress() << QHostAddress(QHostAddress::Any) << 0 << false;
+ QTest::newRow("invalid_02") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv4) << 32 << false;
+ QTest::newRow("invalid_03") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv4) << 8 << false;
+ QTest::newRow("invalid_04") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv4) << 0 << false;
QTest::newRow("invalid_05") << QHostAddress() << QHostAddress("255.255.255.0") << 24 << false;
QTest::newRow("invalid_06") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv6) << 0 << false;
QTest::newRow("invalid_07") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv6) << 32 << false;
QTest::newRow("invalid_08") << QHostAddress() << QHostAddress(QHostAddress::AnyIPv6) << 128<< false;
// and no host address can be in a subnet whose prefix is invalid
- QTest::newRow("invalid_20") << QHostAddress(QHostAddress::Any) << QHostAddress() << 16 << false;
+ QTest::newRow("invalid_20") << QHostAddress(QHostAddress::AnyIPv4) << QHostAddress() << 16 << false;
QTest::newRow("invalid_21") << QHostAddress(QHostAddress::AnyIPv6) << QHostAddress() << 16 << false;
QTest::newRow("invalid_22") << QHostAddress(QHostAddress::LocalHost) << QHostAddress() << 16 << false;
QTest::newRow("invalid_23") << QHostAddress(QHostAddress::LocalHostIPv6) << QHostAddress() << 16 << false;
// negative netmasks don't make sense:
- QTest::newRow("invalid_30") << QHostAddress(QHostAddress::Any) << QHostAddress(QHostAddress::Any) << -1 << false;
+ QTest::newRow("invalid_30") << QHostAddress(QHostAddress::AnyIPv4) << QHostAddress(QHostAddress::Any) << -1 << false;
QTest::newRow("invalid_31") << QHostAddress(QHostAddress::AnyIPv6) << QHostAddress(QHostAddress::AnyIPv6) << -1 << false;
// we don't support IPv4 belonging in an IPv6 netmask and vice-versa
@@ -558,10 +562,10 @@ void tst_QHostAddress::isInSubnet_data()
QTest::newRow("v4-in-v6mapped2") << QHostAddress(QHostAddress::LocalHost) << QHostAddress("::ffff:255.0.0.0") << 113 << false;
// IPv4 correct ones
- QTest::newRow("netmask_0") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::Any) << 0 << true;
+ QTest::newRow("netmask_0") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::AnyIPv4) << 0 << true;
QTest::newRow("netmask_0bis") << QHostAddress(QHostAddress::LocalHost) << QHostAddress("255.255.0.0") << 0 << true;
QTest::newRow("netmask_0ter") << QHostAddress(QHostAddress::LocalHost) << QHostAddress("1.2.3.4") << 0 << true;
- QTest::newRow("netmask_1") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::Any) << 1 << true;
+ QTest::newRow("netmask_1") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::AnyIPv4) << 1 << true;
QTest::newRow("~netmask_1") << QHostAddress(QHostAddress::LocalHost) << QHostAddress("128.0.0.0") << 1 << false;
QTest::newRow("netmask_1bis") << QHostAddress("224.0.0.1") << QHostAddress("128.0.0.0") << 1 << true;
QTest::newRow("~netmask_1bis") << QHostAddress("224.0.0.1") << QHostAddress("0.0.0.0") << 1 << false;
diff --git a/tests/auto/qlayout/tst_qlayout.cpp b/tests/auto/qlayout/tst_qlayout.cpp
index cfb895ba32..ea25700568 100644
--- a/tests/auto/qlayout/tst_qlayout.cpp
+++ b/tests/auto/qlayout/tst_qlayout.cpp
@@ -56,7 +56,7 @@
#include <QRadioButton>
#include <private/qlayoutengine_p.h>
-#ifdef Q_OS_MAC
+#ifdef Q_WS_MAC
# include <QtGui/QMacStyle>
#endif
@@ -280,7 +280,7 @@ public:
void tst_QLayout::layoutItemRect()
{
-#ifdef Q_OS_MAC
+#ifdef Q_WS_MAC
if (qobject_cast<QMacStyle*>(QApplication::style())) {
QWidget *window = new QWidget;
QRadioButton *radio = new QRadioButton(window);
diff --git a/tests/auto/qmacstyle/tst_qmacstyle.cpp b/tests/auto/qmacstyle/tst_qmacstyle.cpp
index 6e40bdf362..3c2f71184d 100644
--- a/tests/auto/qmacstyle/tst_qmacstyle.cpp
+++ b/tests/auto/qmacstyle/tst_qmacstyle.cpp
@@ -45,7 +45,7 @@
#include <qmacstyle_mac.h>
-#ifdef Q_OS_MAC
+#ifdef Q_WS_MAC
const int N = 1;
diff --git a/tests/auto/qprocess/tst_qprocess.cpp b/tests/auto/qprocess/tst_qprocess.cpp
index 91e0abe677..f54dfa3f68 100644
--- a/tests/auto/qprocess/tst_qprocess.cpp
+++ b/tests/auto/qprocess/tst_qprocess.cpp
@@ -73,7 +73,7 @@ Q_DECLARE_METATYPE(QProcess::ProcessState);
{ \
const bool ret = Process.Fn; \
if (ret == false) \
- qWarning("QProcess error: %d: %s", Process.error(), qPrintable(Process.errorString())); \
+ qWarning("QProcess error: %d: %s", Process.error(), qPrintable(Process.errorString())); \
QVERIFY(ret); \
}
@@ -157,6 +157,7 @@ private slots:
void startFinishStartFinish();
void invalidProgramString_data();
void invalidProgramString();
+ void onlyOneStartedSignal();
// keep these at the end, since they use lots of processes and sometimes
// caused obscure failures to occur in tests that followed them (esp. on the Mac)
@@ -2089,7 +2090,7 @@ void tst_QProcess::setStandardInputFile()
#endif
QPROCESS_VERIFY(process, waitForFinished());
- QByteArray all = process.readAll();
+ QByteArray all = process.readAll();
QCOMPARE(all.size(), int(sizeof data) - 1); // testProcessEcho drops the ending \0
QVERIFY(all == data);
}
@@ -2442,6 +2443,29 @@ void tst_QProcess::invalidProgramString()
QVERIFY(!QProcess::startDetached(programString));
}
+//-----------------------------------------------------------------------------
+void tst_QProcess::onlyOneStartedSignal()
+{
+ QProcess process;
+
+ QSignalSpy spyStarted(&process, SIGNAL(started()));
+ QSignalSpy spyFinished(&process, SIGNAL(finished(int, QProcess::ExitStatus)));
+
+ process.start("testProcessNormal/testProcessNormal");
+ QVERIFY(process.waitForStarted(5000));
+ QVERIFY(process.waitForFinished(5000));
+ QCOMPARE(spyStarted.count(), 1);
+ QCOMPARE(spyFinished.count(), 1);
+
+ spyStarted.clear();
+ spyFinished.clear();
+
+ process.start("testProcessNormal/testProcessNormal");
+ QVERIFY(process.waitForFinished(5000));
+ QCOMPARE(spyStarted.count(), 1);
+ QCOMPARE(spyFinished.count(), 1);
+}
+
QTEST_MAIN(tst_QProcess)
#include "tst_qprocess.moc"
#endif
diff --git a/tests/auto/qsettings/qsettings.pro b/tests/auto/qsettings/qsettings.pro
index 35bb56cc98..f15e40b267 100644
--- a/tests/auto/qsettings/qsettings.pro
+++ b/tests/auto/qsettings/qsettings.pro
@@ -5,8 +5,6 @@ QT += core-private
SOURCES += tst_qsettings.cpp
RESOURCES += qsettings.qrc
-CONFIG -= debug
-CONFIG += release
win32-msvc*:LIBS += advapi32.lib
CONFIG += parallel_test
diff --git a/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8 b/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8
new file mode 100644
index 0000000000..20500b221f
--- /dev/null
+++ b/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8
@@ -0,0 +1,42 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ ce:db:31:28:45:c4:05:40
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
+ Validity
+ Not Before: Aug 4 09:53:41 2010 GMT
+ Not After : Aug 29 09:53:41 2051 GMT
+ Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:cd:aa:db:6f:d6:34:c9:a7:f1:c0:be:e4:41:18:
+ 19:e2:02:c9:22:e6:a7:d5:ba:03:2e:9e:28:7a:f4:
+ 5f:1a:77:5f:77:a9:11:3b:8f:7e:f0:2e:c6:9e:eb:
+ 3a:d9:12:d7:c1:0c:51:e8:24:52:3f:23:c3:42:0c:
+ 11:c6:f2:1c:a1:42:fe:b4:c2:69:83:ad:f7:70:b1:
+ 18:15:cc:20:28:62:30:f0:2c:15:e6:33:19:af:c3:
+ eb:1c:c0:91:f7:11:68:94:50:f8:49:37:08:32:d7:
+ 3e:75:df:a3:bc:69:00:15:de:cd:87:0f:5c:02:6b:
+ 82:c8:01:7d:6a:f0:1d:dc:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
+ X509v3 Authority Key Identifier:
+ keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
+
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
+ 8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
+ f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
+ 71:9e:b7:c4:99:98:6f:1d:38:32:f8:a3:75:38:c4:e5:e7:37:
+ 37:21:ec:7b:50:8b:15:b0:97:1e:17:9c:50:17:3c:c1:df:94:
+ 55:fb:60:2e:50:40:d1:ea:23:c6:3c:21:6f:97:8c:06:16:a5:
+ 82:72:c1:63:14:64:86:eb:d7:ff:72:f6:09:f5:6d:e6:04:13:
+ 7a:6a
diff --git a/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0 b/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0
new file mode 100644
index 0000000000..b2ccb2751e
--- /dev/null
+++ b/tests/auto/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0
@@ -0,0 +1,42 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ ce:db:31:28:45:c4:05:40
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
+ Validity
+ Not Before: Aug 4 09:53:41 2010 GMT
+ Not After : Aug 29 09:53:41 2051 GMT
+ Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:cd:aa:db:6f:d6:34:c9:a7:f1:c0:be:e4:41:18:
+ 19:e2:02:c9:22:e6:a7:d5:ba:03:2e:9e:28:7a:f4:
+ 5f:1a:77:5f:77:a9:11:3b:8f:7e:f0:2e:c6:9e:eb:
+ 3a:d9:12:d7:c1:0c:51:e8:24:52:3f:23:c3:42:0c:
+ 11:c6:f2:1c:a1:42:fe:b4:c2:69:83:ad:f7:70:b1:
+ 18:15:cc:20:28:62:30:f0:2c:15:e6:33:19:af:c3:
+ eb:1c:c0:91:f7:11:68:94:50:f8:49:37:08:32:d7:
+ 3e:75:df:a3:bc:69:00:15:de:cd:87:0f:5c:02:6b:
+ 82:c8:01:7d:6a:f0:1d:dc:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
+ X509v3 Authority Key Identifier:
+ keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
+
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Signature Algorithm: sha1WithRSAEncryption
+ a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
+ 8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
+ f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
+ 71:9e:b7:c4:99:98:6f:1d:38:32:f8:a3:75:38:c4:e5:e7:37:
+ 37:21:ec:7b:50:8b:15:b0:97:1e:17:9c:50:17:3c:c1:df:94:
+ 55:fb:60:2e:50:40:d1:ea:23:c6:3c:21:6f:97:8c:06:16:a5:
+ 82:72:c1:63:14:64:86:eb:d7:ff:72:f6:09:f5:6d:e6:04:13:
+ 7a:6a
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
index 9276685928..6e29072d8f 100644
--- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
@@ -113,6 +113,7 @@ private slots:
void largeSerialNumber();
void largeExpirationDate();
void blacklistedCertificates();
+ void toText();
// ### add tests for certificate bundles (multiple certificates concatenated into a single
// structure); both PEM and DER formatted
@@ -850,6 +851,26 @@ void tst_QSslCertificate::blacklistedCertificates()
}
}
+void tst_QSslCertificate::toText()
+{
+ QList<QSslCertificate> certList =
+ QSslCertificate::fromPath(SRCDIR "more-certificates/cert-large-expiration-date.pem");
+
+ QCOMPARE(certList.size(), 1);
+ const QSslCertificate &cert = certList.at(0);
+
+ // Openssl's cert dump method changed slightly between 0.9.8 and 1.0.0 versions, so we want it to match any output
+
+ QFile fOld(SRCDIR "more-certificates/cert-large-expiration-date.txt.0.9.8");
+ QVERIFY(fOld.open(QIODevice::ReadOnly));
+ QByteArray txtOld = fOld.readAll();
+
+ QFile fNew(SRCDIR "more-certificates/cert-large-expiration-date.txt.1.0.0");
+ QVERIFY(fNew.open(QIODevice::ReadOnly));
+ QByteArray txtNew = fNew.readAll();
+ QVERIFY(txtOld == cert.toText() || txtNew == cert.toText());
+}
+
#endif // QT_NO_OPENSSL
QTEST_MAIN(tst_QSslCertificate)
diff --git a/tests/auto/qtcpserver/tst_qtcpserver.cpp b/tests/auto/qtcpserver/tst_qtcpserver.cpp
index 3416a7cb23..beeb6c7655 100644
--- a/tests/auto/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/qtcpserver/tst_qtcpserver.cpp
@@ -97,6 +97,8 @@ private slots:
void constructing();
void clientServerLoop();
void ipv6Server();
+ void dualStack_data();
+ void dualStack();
void ipv6ServerMapped();
void crashTests();
void maxPendingConnections();
@@ -265,6 +267,44 @@ void tst_QTcpServer::ipv6Server()
delete serverSocket;
}
+Q_DECLARE_METATYPE(QHostAddress);
+
+void tst_QTcpServer::dualStack_data()
+{
+ QTest::addColumn<QHostAddress>("bindAddress");
+ QTest::addColumn<bool>("v4ok");
+ QTest::addColumn<bool>("v6ok");
+ QTest::newRow("any") << QHostAddress(QHostAddress::Any) << true << true;
+ QTest::newRow("anyIPv4") << QHostAddress(QHostAddress::AnyIPv4) << true << false;
+ QTest::newRow("anyIPv6") << QHostAddress(QHostAddress::AnyIPv6) << false << true;
+}
+
+void tst_QTcpServer::dualStack()
+{
+#ifdef QT_NO_IPV6
+ QSKIP("test requires IPv6 support", SkipAll);
+#else
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ QSKIP("test server proxy doesn't support ipv6", SkipSingle);
+ QFETCH(QHostAddress, bindAddress);
+ QFETCH(bool, v4ok);
+ QFETCH(bool, v6ok);
+
+ QTcpServer server;
+ QVERIFY(server.listen(bindAddress));
+
+ QTcpSocket v4client;
+ v4client.connectToHost(QHostAddress::LocalHost, server.serverPort());
+
+ QTcpSocket v6client;
+ v6client.connectToHost(QHostAddress::LocalHostIPv6, server.serverPort());
+
+ QCOMPARE(v4client.waitForConnected(5000), v4ok);
+ QCOMPARE(v6client.waitForConnected(5000), v6ok);
+#endif
+}
+
//----------------------------------------------------------------------------------
void tst_QTcpServer::ipv6ServerMapped()
{
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index a2f8bac517..39a64ab0dc 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -1506,7 +1506,7 @@ void tst_QTcpSocket::dontCloseOnTimeout()
QVERIFY(server.listen());
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(server.serverAddress() == QHostAddress::Any) && !(server.serverAddress() == QHostAddress::AnyIPv6))
+ if (!(server.serverAddress() == QHostAddress::AnyIPv4) && !(server.serverAddress() == QHostAddress::AnyIPv6))
serverAddress = server.serverAddress();
QTcpSocket *socket = newSocket();
diff --git a/tests/auto/qtextdocument/tst_qtextdocument.cpp b/tests/auto/qtextdocument/tst_qtextdocument.cpp
index 1129219b1f..c98a703acc 100644
--- a/tests/auto/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/qtextdocument/tst_qtextdocument.cpp
@@ -182,6 +182,8 @@ private slots:
void copiedFontSize();
+ void htmlExportImportBlockCount();
+
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
@@ -1582,7 +1584,7 @@ void tst_QTextDocument::toHtml()
expectedOutput.replace("OPENDEFAULTBLOCKSTYLE", "style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;");
expectedOutput.replace("DEFAULTBLOCKSTYLE", "style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"");
- expectedOutput.replace("EMPTYBLOCK", "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p>\n");
+ expectedOutput.replace("EMPTYBLOCK", "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n");
if (expectedOutput.endsWith(QLatin1Char('\n')))
expectedOutput.chop(1);
expectedOutput.append(htmlTail);
@@ -2760,5 +2762,27 @@ void tst_QTextDocument::copiedFontSize()
QCOMPARE(cursorOutput.charFormat().font().pixelSize(), 24);
}
+void tst_QTextDocument::htmlExportImportBlockCount()
+{
+ QTextDocument document;
+ {
+ QTextCursor cursor(&document);
+ cursor.insertText("Foo");
+ cursor.insertBlock();
+ cursor.insertBlock();
+ cursor.insertBlock();
+ cursor.insertBlock();
+ cursor.insertText("Bar");
+ }
+
+ QCOMPARE(document.blockCount(), 5);
+ QString html = document.toHtml();
+
+ document.clear();
+ document.setHtml(html);
+
+ QCOMPARE(document.blockCount(), 5);
+}
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"
diff --git a/tests/auto/qudpsocket/tst_qudpsocket.cpp b/tests/auto/qudpsocket/tst_qudpsocket.cpp
index 9ca049bccf..03e224682f 100644
--- a/tests/auto/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/qudpsocket/tst_qudpsocket.cpp
@@ -90,6 +90,7 @@ private slots:
void loop();
void ipv6Loop_data();
void ipv6Loop();
+ void dualStack();
void readLine();
void pendingDatagramSize();
void writeDatagram();
@@ -212,7 +213,7 @@ void tst_QUdpSocket::unconnectedServerAndClientTest()
const char *message[] = {"Yo mista", "Yo", "Wassap"};
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(serverSocket.localAddress() == QHostAddress::Any || serverSocket.localAddress() == QHostAddress::AnyIPv6))
+ if (!(serverSocket.localAddress() == QHostAddress::AnyIPv4 || serverSocket.localAddress() == QHostAddress::AnyIPv6))
serverAddress = serverSocket.localAddress();
for (int i = 0; i < 3; ++i) {
@@ -343,10 +344,10 @@ void tst_QUdpSocket::loop()
QVERIFY2(paul.bind(), paul.errorString().toLatin1().constData());
QHostAddress peterAddress = QHostAddress::LocalHost;
- if (!(peter.localAddress() == QHostAddress::Any || peter.localAddress() == QHostAddress::AnyIPv6))
+ if (!(peter.localAddress() == QHostAddress::AnyIPv4 || peter.localAddress() == QHostAddress::AnyIPv6))
peterAddress = peter.localAddress();
QHostAddress pualAddress = QHostAddress::LocalHost;
- if (!(paul.localAddress() == QHostAddress::Any || paul.localAddress() == QHostAddress::AnyIPv6))
+ if (!(paul.localAddress() == QHostAddress::AnyIPv4 || paul.localAddress() == QHostAddress::AnyIPv6))
pualAddress = paul.localAddress();
QCOMPARE(peter.writeDatagram(peterMessage.data(), peterMessage.length(),
@@ -428,6 +429,64 @@ void tst_QUdpSocket::ipv6Loop()
}
}
+void tst_QUdpSocket::dualStack()
+{
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ QSKIP("test server SOCKS proxy doesn't support IPv6", SkipSingle);
+ QUdpSocket dualSock;
+ QByteArray dualData("dual");
+ QVERIFY(dualSock.bind(QHostAddress(QHostAddress::Any), 0));
+
+ QUdpSocket v4Sock;
+ QByteArray v4Data("v4");
+ QVERIFY(v4Sock.bind(QHostAddress(QHostAddress::AnyIPv4), 0));
+
+ QUdpSocket v6Sock;
+ QByteArray v6Data("v6");
+ QVERIFY(v6Sock.bind(QHostAddress(QHostAddress::AnyIPv6), 0));
+
+ QHostAddress from;
+ quint16 port;
+ QByteArray buffer;
+ //test v4 -> dual
+ QCOMPARE((int)v4Sock.writeDatagram(v4Data.constData(), v4Data.length(), QHostAddress(QHostAddress::LocalHost), dualSock.localPort()), v4Data.length());
+ QVERIFY(dualSock.waitForReadyRead(5000));
+ buffer.reserve(100);
+ qint64 size = dualSock.readDatagram(buffer.data(), 100, &from, &port);
+ QCOMPARE((int)size, v4Data.length());
+ buffer.resize(size);
+ QCOMPARE(buffer, v4Data);
+
+ //test v6 -> dual
+ QCOMPARE((int)v6Sock.writeDatagram(v6Data.constData(), v6Data.length(), QHostAddress(QHostAddress::LocalHostIPv6), dualSock.localPort()), v6Data.length());
+ QVERIFY(dualSock.waitForReadyRead(5000));
+ buffer.reserve(100);
+ size = dualSock.readDatagram(buffer.data(), 100, &from, &port);
+ QCOMPARE((int)size, v6Data.length());
+ buffer.resize(size);
+ QCOMPARE(buffer, v6Data);
+
+ //test dual -> v4
+ QCOMPARE((int)dualSock.writeDatagram(dualData.constData(), dualData.length(), QHostAddress(QHostAddress::LocalHost), v4Sock.localPort()), dualData.length());
+ QVERIFY(v4Sock.waitForReadyRead(5000));
+ buffer.reserve(100);
+ size = v4Sock.readDatagram(buffer.data(), 100, &from, &port);
+ QCOMPARE((int)size, dualData.length());
+ buffer.resize(size);
+ QCOMPARE(buffer, dualData);
+
+ //test dual -> v6
+ QCOMPARE((int)dualSock.writeDatagram(dualData.constData(), dualData.length(), QHostAddress(QHostAddress::LocalHostIPv6), v6Sock.localPort()), dualData.length());
+ QVERIFY(v6Sock.waitForReadyRead(5000));
+ buffer.reserve(100);
+ size = v6Sock.readDatagram(buffer.data(), 100, &from, &port);
+ QCOMPARE((int)size, dualData.length());
+ buffer.resize(size);
+ QCOMPARE(buffer, dualData);
+
+}
+
void tst_QUdpSocket::empty_readyReadSlot()
{
QTestEventLoop::instance().exitLoop();
@@ -465,7 +524,7 @@ void tst_QUdpSocket::pendingDatagramSize()
QVERIFY2(server.bind(), server.errorString().toLatin1().constData());
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(server.localAddress() == QHostAddress::Any || server.localAddress() == QHostAddress::AnyIPv6))
+ if (!(server.localAddress() == QHostAddress::AnyIPv4 || server.localAddress() == QHostAddress::AnyIPv6))
serverAddress = server.localAddress();
QUdpSocket client;
@@ -519,7 +578,7 @@ void tst_QUdpSocket::writeDatagram()
QVERIFY2(server.bind(), server.errorString().toLatin1().constData());
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(server.localAddress() == QHostAddress::Any || server.localAddress() == QHostAddress::AnyIPv6))
+ if (!(server.localAddress() == QHostAddress::AnyIPv4 || server.localAddress() == QHostAddress::AnyIPv6))
serverAddress = server.localAddress();
QUdpSocket client;
@@ -592,7 +651,7 @@ void tst_QUdpSocket::performance()
QVERIFY2(server.bind(), server.errorString().toLatin1().constData());
QHostAddress serverAddress = QHostAddress::LocalHost;
- if (!(server.localAddress() == QHostAddress::Any || server.localAddress() == QHostAddress::AnyIPv6))
+ if (!(server.localAddress() == QHostAddress::AnyIPv4 || server.localAddress() == QHostAddress::AnyIPv6))
serverAddress = server.localAddress();
QUdpSocket client;
@@ -1147,7 +1206,7 @@ void tst_QUdpSocket::setMulticastInterface()
void tst_QUdpSocket::multicast_data()
{
- QHostAddress anyAddress = QHostAddress(QHostAddress::Any);
+ QHostAddress anyAddress = QHostAddress(QHostAddress::AnyIPv4);
QHostAddress groupAddress = QHostAddress("239.255.118.62");
QHostAddress any6Address = QHostAddress(QHostAddress::AnyIPv6);
QHostAddress group6Address = QHostAddress("FF01::114");
@@ -1173,8 +1232,12 @@ void tst_QUdpSocket::multicast()
QFETCH(bool, joinResult);
if (setProxy) {
// UDP multicast does not work with proxies
- if ((bindAddress.protocol() == QAbstractSocket::IPv4Protocol && (bindAddress.toIPv4Address() & 0xffff0000) == 0xefff0000)
- || bindAddress.protocol() == QAbstractSocket::IPv6Protocol) {
+ if (
+#ifndef Q_OS_WIN
+ //windows native socket engine binds 0.0.0.0 instead of the requested multicast address
+ (bindAddress.protocol() == QAbstractSocket::IPv4Protocol && (bindAddress.toIPv4Address() & 0xffff0000) == 0xefff0000) ||
+#endif
+ bindAddress.protocol() == QAbstractSocket::IPv6Protocol) {
// proxy cannot bind to IPv6 or multicast addresses
bindResult = false;
}
diff --git a/tests/auto/qwidget/qwidget.pro b/tests/auto/qwidget/qwidget.pro
index dfc35a0157..0024782fff 100644
--- a/tests/auto/qwidget/qwidget.pro
+++ b/tests/auto/qwidget/qwidget.pro
@@ -9,7 +9,7 @@ aix-g++*:QMAKE_CXXFLAGS+=-fpermissive
CONFIG += x11inc
-mac {
+mac:!qpa {
LIBS += -framework Security -framework AppKit -framework Carbon
OBJECTIVE_SOURCES += tst_qwidget_mac_helpers.mm
}
diff --git a/tests/tests.pro b/tests/tests.pro
index 75ca12094f..7a4af15fe2 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -1,3 +1,5 @@
TEMPLATE = subdirs
-SUBDIRS = auto \
- benchmarks
+SUBDIRS = auto
+
+# benchmarks in debug mode is rarely sensible
+contains(QT_CONFIG,release):SUBDIRS += benchmarks
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 098554d0ff..f241160e26 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1176,13 +1176,6 @@ void Configure::parseCmdLine()
dictionary[ "QT_INSTALL_EXAMPLES" ] = configCmdLine.at(i);
}
- else if (configCmdLine.at(i) == "-demosdir") {
- ++i;
- if (i == argCount)
- break;
- dictionary[ "QT_INSTALL_DEMOS" ] = configCmdLine.at(i);
- }
-
else if (configCmdLine.at(i) == "-hostprefix") {
++i;
if (i == argCount)
@@ -1664,7 +1657,7 @@ bool Configure::displayHelp()
// desc("Usage: configure [-prefix dir] [-bindir <dir>] [-libdir <dir>]\n"
// "[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir>]\n"
// "[-importdir <dir>] [-datadir <dir>] [-translationdir <dir>]\n"
-// "[-examplesdir <dir>] [-demosdir <dir>][-buildkey <key>]\n"
+// "[-examplesdir <dir>] [-buildkey <key>]\n"
"[-release] [-debug] [-debug-and-release] [-shared] [-static]\n"
"[-no-fast] [-fast] [-no-exceptions] [-exceptions]\n"
"[-no-accessibility] [-accessibility] [-no-rtti] [-rtti]\n"
@@ -1709,7 +1702,6 @@ bool Configure::displayHelp()
desc( "-datadir <dir>", "Data used by Qt programs will be installed to dir\n(default PREFIX)");
desc( "-translationdir <dir>","Translations of Qt programs will be installed to dir\n(default PREFIX/translations)\n");
desc( "-examplesdir <dir>", "Examples will be installed to dir\n(default PREFIX/examples)");
- desc( "-demosdir <dir>", "Demos will be installed to dir\n(default PREFIX/demos)");
*/
desc(" You may use these options to turn on strict plugin loading:\n\n", 0, 1);
@@ -2828,8 +2820,6 @@ void Configure::generateOutputVars()
dictionary[ "QT_INSTALL_TRANSLATIONS" ] = qipempty ? "" : fixSeparators(dictionary[ "QT_INSTALL_PREFIX" ] + "/translations");
if (!dictionary[ "QT_INSTALL_EXAMPLES" ].size())
dictionary[ "QT_INSTALL_EXAMPLES" ] = qipempty ? "" : fixSeparators(dictionary[ "QT_INSTALL_PREFIX" ] + "/examples");
- if (!dictionary[ "QT_INSTALL_DEMOS" ].size())
- dictionary[ "QT_INSTALL_DEMOS" ] = qipempty ? "" : fixSeparators(dictionary[ "QT_INSTALL_PREFIX" ] + "/demos");
if (dictionary.contains("XQMAKESPEC") && dictionary[ "XQMAKESPEC" ].startsWith("linux"))
dictionary[ "QMAKE_RPATHDIR" ] = dictionary[ "QT_INSTALL_LIBS" ];
@@ -2930,7 +2920,7 @@ void Configure::generateCachefile()
moduleStream << "QT_BUILD_TREE = " << fixSeparators(dictionary[ "QT_BUILD_TREE" ], true) << endl;
moduleStream << "QT_SOURCE_TREE = " << fixSeparators(dictionary[ "QT_SOURCE_TREE" ], true) << endl;
QStringList buildParts;
- buildParts << "libs" << "examples" << "demos";
+ buildParts << "libs" << "examples";
foreach (const QString &item, disabledBuildParts) {
buildParts.removeAll(item);
}
@@ -3356,7 +3346,6 @@ void Configure::generateConfigfiles()
<< "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << escapeSeparators(dictionary["QT_INSTALL_DATA"]) << "\";" << endl
<< "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << escapeSeparators(dictionary["QT_INSTALL_TRANSLATIONS"]) << "\";" << endl
<< "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << escapeSeparators(dictionary["QT_INSTALL_EXAMPLES"]) << "\";" << endl
- << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << escapeSeparators(dictionary["QT_INSTALL_DEMOS"]) << "\";" << endl
//<< "static const char qt_configure_settings_path_str [256] = \"qt_stngpath=" << escapeSeparators(dictionary["QT_INSTALL_SETTINGS"]) << "\";" << endl
;
if (!dictionary[ "QT_HOST_PREFIX" ].isNull()) {
@@ -3371,7 +3360,6 @@ void Configure::generateConfigfiles()
<< "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ], true) <<"\";" << endl
<< "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/translations", true) <<"\";" << endl
<< "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/example", true) <<"\";" << endl
- << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/demos", true) <<"\";" << endl
<< "#endif //QT_BOOTSTRAPPED" << endl;
}
tmpStream << "/* strlen( \"qt_lcnsxxxx\") == 12 */" << endl
@@ -3387,7 +3375,6 @@ void Configure::generateConfigfiles()
<< "#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;" << endl
<< "#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;" << endl
<< "#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;" << endl
- << "#define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;" << endl
//<< "#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;" << endl
<< endl;
@@ -3547,7 +3534,6 @@ void Configure::displayConfig()
cout << "Data installed to..........." << dictionary[ "QT_INSTALL_DATA" ] << endl;
cout << "Translations installed to..." << dictionary[ "QT_INSTALL_TRANSLATIONS" ] << endl;
cout << "Examples installed to......." << dictionary[ "QT_INSTALL_EXAMPLES" ] << endl;
- cout << "Demos installed to.........." << dictionary[ "QT_INSTALL_DEMOS" ] << endl << endl;
if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith(QLatin1String("wince"))) {
cout << "Using c runtime detection..." << dictionary[ "CE_CRT" ] << endl;