summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/global/qt-cpp-ignore.qdocconf54
-rw-r--r--doc/global/style/offline.css622
-rw-r--r--doc/src/corelib/containers.qdoc803
-rw-r--r--doc/src/corelib/implicit-sharing.qdoc138
-rw-r--r--doc/src/corelib/json.qdoc118
-rw-r--r--doc/src/corelib/objectmodel/metaobjects.qdoc137
-rw-r--r--doc/src/corelib/objectmodel/object.qdoc124
-rw-r--r--doc/src/corelib/objectmodel/objecttrees.qdoc102
-rw-r--r--doc/src/corelib/objectmodel/properties.qdoc273
-rw-r--r--doc/src/corelib/objectmodel/signalsandslots.qdoc468
-rw-r--r--doc/src/corelib/qtcore.qdoc42
-rw-r--r--doc/src/corelib/threads-basics.qdoc572
-rw-r--r--doc/src/corelib/threads.qdoc705
-rw-r--r--doc/src/images/abstract-connections.pngbin19849 -> 0 bytes
-rw-r--r--doc/src/images/brush-styles.pngbin13980 -> 0 bytes
-rw-r--r--doc/src/images/cursor-arrow.pngbin171 -> 0 bytes
-rw-r--r--doc/src/images/cursor-busy.pngbin201 -> 0 bytes
-rw-r--r--doc/src/images/cursor-closedhand.pngbin147 -> 0 bytes
-rw-r--r--doc/src/images/cursor-cross.pngbin130 -> 0 bytes
-rw-r--r--doc/src/images/cursor-forbidden.pngbin199 -> 0 bytes
-rw-r--r--doc/src/images/cursor-hand.pngbin159 -> 0 bytes
-rw-r--r--doc/src/images/cursor-hsplit.pngbin155 -> 0 bytes
-rw-r--r--doc/src/images/cursor-ibeam.pngbin124 -> 0 bytes
-rw-r--r--doc/src/images/cursor-openhand.pngbin160 -> 0 bytes
-rw-r--r--doc/src/images/cursor-sizeall.pngbin174 -> 0 bytes
-rw-r--r--doc/src/images/cursor-sizeb.pngbin161 -> 0 bytes
-rw-r--r--doc/src/images/cursor-sizef.pngbin161 -> 0 bytes
-rw-r--r--doc/src/images/cursor-sizeh.pngbin145 -> 0 bytes
-rw-r--r--doc/src/images/cursor-sizev.pngbin141 -> 0 bytes
-rw-r--r--doc/src/images/cursor-uparrow.pngbin132 -> 0 bytes
-rw-r--r--doc/src/images/cursor-vsplit.pngbin161 -> 0 bytes
-rw-r--r--doc/src/images/cursor-wait.pngbin172 -> 0 bytes
-rw-r--r--doc/src/images/cursor-whatsthis.pngbin191 -> 0 bytes
-rw-r--r--doc/src/images/javaiterators1.pngbin1062 -> 0 bytes
-rw-r--r--doc/src/images/javaiterators2.pngbin2011 -> 0 bytes
-rw-r--r--doc/src/images/modelindex-no-parent.pngbin7407 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-append-columns.pngbin12798 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-append-rows.pngbin8967 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-insert-columns.pngbin14476 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-insert-rows.pngbin12565 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-remove-columns.pngbin14518 -> 0 bytes
-rw-r--r--doc/src/images/modelview-begin-remove-rows.pngbin10896 -> 0 bytes
-rw-r--r--doc/src/images/modelview-move-rows-1.pngbin19709 -> 0 bytes
-rw-r--r--doc/src/images/modelview-move-rows-2.pngbin19385 -> 0 bytes
-rw-r--r--doc/src/images/modelview-move-rows-3.pngbin9281 -> 0 bytes
-rw-r--r--doc/src/images/modelview-move-rows-4.pngbin9381 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inback.pngbin2808 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inbounce.pngbin3154 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-incirc.pngbin2605 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-incubic.pngbin2722 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inelastic.pngbin3304 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inexpo.pngbin2675 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutback.pngbin3241 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutbounce.pngbin3386 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutcirc.pngbin2843 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutcubic.pngbin2931 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutelastic.pngbin3461 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutexpo.pngbin3004 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquad.pngbin2893 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquart.pngbin2925 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquint.pngbin2823 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutsine.pngbin2891 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquad.pngbin2733 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquart.pngbin2727 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquint.pngbin2630 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-insine.pngbin2567 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-linear.pngbin2318 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outback.pngbin2852 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outbounce.pngbin3360 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outcirc.pngbin2796 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outcubic.pngbin2792 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outelastic.pngbin3423 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outexpo.pngbin2803 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinback.pngbin3026 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinbounce.pngbin3629 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outincirc.pngbin2822 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outincubic.pngbin2872 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinelastic.pngbin3941 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinexpo.pngbin2923 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquad.pngbin2858 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquart.pngbin2830 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquint.pngbin2724 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinsine.pngbin2817 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquad.pngbin2760 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquart.pngbin2764 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquint.pngbin2687 -> 0 bytes
-rw-r--r--doc/src/images/qeasingcurve-outsine.pngbin2773 -> 0 bytes
-rw-r--r--doc/src/images/qimage-scaling.pngbin34785 -> 0 bytes
-rw-r--r--doc/src/images/qline-coordinates.pngbin9459 -> 0 bytes
-rw-r--r--doc/src/images/qline-point.pngbin8484 -> 0 bytes
-rw-r--r--doc/src/images/qlinef-angle-identicaldirection.pngbin6004 -> 0 bytes
-rw-r--r--doc/src/images/qlinef-angle-oppositedirection.pngbin5834 -> 0 bytes
-rw-r--r--doc/src/images/qlinef-bounded.pngbin4183 -> 0 bytes
-rw-r--r--doc/src/images/qlinef-normalvector.pngbin9432 -> 0 bytes
-rw-r--r--doc/src/images/qlinef-unbounded.pngbin3992 -> 0 bytes
-rw-r--r--doc/src/images/qpen-bevel.pngbin11527 -> 0 bytes
-rw-r--r--doc/src/images/qpen-custom.pngbin6254 -> 0 bytes
-rw-r--r--doc/src/images/qpen-dash.pngbin8221 -> 0 bytes
-rw-r--r--doc/src/images/qpen-dashdot.pngbin5961 -> 0 bytes
-rw-r--r--doc/src/images/qpen-dashdotdot.pngbin5999 -> 0 bytes
-rw-r--r--doc/src/images/qpen-dot.pngbin5386 -> 0 bytes
-rw-r--r--doc/src/images/qpen-flat.pngbin1885 -> 0 bytes
-rw-r--r--doc/src/images/qpen-miter.pngbin11734 -> 0 bytes
-rw-r--r--doc/src/images/qpen-roundcap.pngbin1920 -> 0 bytes
-rw-r--r--doc/src/images/qpen-roundjoin.pngbin11878 -> 0 bytes
-rw-r--r--doc/src/images/qpen-solid.pngbin7416 -> 0 bytes
-rw-r--r--doc/src/images/qpen-square.pngbin2651 -> 0 bytes
-rw-r--r--doc/src/images/qrect-coordinates.pngbin22218 -> 0 bytes
-rw-r--r--doc/src/images/qrect-diagram-one.pngbin9616 -> 0 bytes
-rw-r--r--doc/src/images/qrect-diagram-three.pngbin9458 -> 0 bytes
-rw-r--r--doc/src/images/qrect-diagram-two.pngbin9378 -> 0 bytes
-rw-r--r--doc/src/images/qrect-diagram-zero.pngbin5198 -> 0 bytes
-rw-r--r--doc/src/images/qrect-intersect.pngbin8742 -> 0 bytes
-rw-r--r--doc/src/images/qrect-unite.pngbin4626 -> 0 bytes
-rw-r--r--doc/src/images/qrectf-coordinates.pngbin21749 -> 0 bytes
-rw-r--r--doc/src/images/qrectf-diagram-one.pngbin9594 -> 0 bytes
-rw-r--r--doc/src/images/qrectf-diagram-three.pngbin9392 -> 0 bytes
-rw-r--r--doc/src/images/qrectf-diagram-two.pngbin9387 -> 0 bytes
-rw-r--r--doc/src/images/qsortfilterproxymodel-sorting.pngbin11005 -> 0 bytes
-rw-r--r--doc/src/images/qurl-authority.pngbin5099 -> 0 bytes
-rw-r--r--doc/src/images/qurl-authority2.pngbin2350 -> 0 bytes
-rw-r--r--doc/src/images/qurl-authority3.pngbin3552 -> 0 bytes
-rw-r--r--doc/src/images/qurl-fragment.pngbin2333 -> 0 bytes
-rw-r--r--doc/src/images/qurl-ftppath.pngbin1974 -> 0 bytes
-rw-r--r--doc/src/images/qurl-mailtopath.pngbin1679 -> 0 bytes
-rw-r--r--doc/src/images/qurl-querystring.pngbin2955 -> 0 bytes
-rw-r--r--doc/src/images/stliterators1.pngbin1671 -> 0 bytes
-rw-r--r--doc/src/images/thread_clock.pngbin5964 -> 0 bytes
-rw-r--r--doc/src/images/threadsandobjects.pngbin66096 -> 0 bytes
-rw-r--r--doc/src/images/threadvisual-example.pngbin16823 -> 0 bytes
-rw-r--r--doc/src/network/files-and-resources/datastreamformat.qdoc373
-rw-r--r--doc/src/snippets/buffer/buffer.cpp124
-rw-r--r--doc/src/snippets/code/doc_src_containers.cpp275
-rw-r--r--doc/src/snippets/code/doc_src_groups.cpp66
-rw-r--r--doc/src/snippets/code/doc_src_objecttrees.cpp60
-rw-r--r--doc/src/snippets/code/doc_src_properties.cpp132
-rw-r--r--doc/src/snippets/code/doc_src_qalgorithms.cpp354
-rw-r--r--doc/src/snippets/code/doc_src_qcache.cpp57
-rw-r--r--doc/src/snippets/code/doc_src_qiterator.cpp420
-rw-r--r--doc/src/snippets/code/doc_src_qnamespace.cpp59
-rw-r--r--doc/src/snippets/code/doc_src_qnamespace.qdoc43
-rw-r--r--doc/src/snippets/code/doc_src_qpair.cpp55
-rw-r--r--doc/src/snippets/code/doc_src_qplugin.cpp64
-rw-r--r--doc/src/snippets/code/doc_src_qplugin.pro44
-rw-r--r--doc/src/snippets/code/doc_src_qset.cpp166
-rw-r--r--doc/src/snippets/code/doc_src_qtcore.cpp43
-rw-r--r--doc/src/snippets/code/doc_src_qvarlengtharray.cpp78
-rw-r--r--doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp75
-rw-r--r--doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp53
-rw-r--r--doc/src/snippets/code/src_corelib_global_qglobal.cpp585
-rw-r--r--doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp120
-rw-r--r--doc/src/snippets/code/src_corelib_io_qdatastream.cpp121
-rw-r--r--doc/src/snippets/code/src_corelib_io_qdir.cpp175
-rw-r--r--doc/src/snippets/code/src_corelib_io_qdiriterator.cpp52
-rw-r--r--doc/src/snippets/code/src_corelib_io_qfile.cpp75
-rw-r--r--doc/src/snippets/code/src_corelib_io_qfileinfo.cpp146
-rw-r--r--doc/src/snippets/code/src_corelib_io_qiodevice.cpp99
-rw-r--r--doc/src/snippets/code/src_corelib_io_qprocess.cpp134
-rw-r--r--doc/src/snippets/code/src_corelib_io_qsettings.cpp316
-rw-r--r--doc/src/snippets/code/src_corelib_io_qtemporarydir.cpp53
-rw-r--r--doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp53
-rw-r--r--doc/src/snippets/code/src_corelib_io_qtextstream.cpp129
-rw-r--r--doc/src/snippets/code/src_corelib_io_qurl.cpp87
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp43
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp99
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp126
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp136
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp114
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp108
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qobject.cpp493
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp61
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qtimer.cpp52
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qvariant.cpp136
-rw-r--r--doc/src/snippets/code/src_corelib_mimetype_qmimedatabase.cpp47
-rw-r--r--doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp84
-rw-r--r--doc/src/snippets/code/src_corelib_plugin_quuid.cpp44
-rw-r--r--doc/src/snippets/code/src_corelib_statemachine_qstatemachine.cpp55
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qatomic.cpp98
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qmutex.cpp193
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp61
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp109
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp73
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qthread.cpp56
-rw-r--r--doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp89
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qbitarray.cpp176
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qbytearray.cpp421
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qdatetime.cpp146
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp44
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qhash.cpp299
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp204
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qlistdata.cpp267
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qlocale.cpp95
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qmap.cpp313
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qpoint.cpp149
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qrect.cpp50
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qregexp.cpp224
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp289
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp138
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qsize.cpp136
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qstring.cpp94
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qtimeline.cpp55
-rw-r--r--doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp67
-rw-r--r--doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp148
-rw-r--r--doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp64
-rw-r--r--doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp50
-rw-r--r--doc/src/snippets/file/file.cpp123
-rw-r--r--doc/src/snippets/fileinfo/main.cpp92
-rw-r--r--doc/src/snippets/ntfsp.cpp50
-rw-r--r--doc/src/snippets/process/process.cpp76
-rw-r--r--doc/src/snippets/qdebug/qdebugsnippet.cpp73
-rw-r--r--doc/src/snippets/qdir-listfiles/main.cpp62
-rw-r--r--doc/src/snippets/qdir-namefilters/main.cpp65
-rw-r--r--doc/src/snippets/qelapsedtimer/main.cpp111
-rw-r--r--doc/src/snippets/qlogging/qloggingsnippet.cpp54
-rw-r--r--doc/src/snippets/qmetaobject-invokable/main.cpp52
-rw-r--r--doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro3
-rw-r--r--doc/src/snippets/qmetaobject-invokable/window.cpp57
-rw-r--r--doc/src/snippets/qmetaobject-invokable/window.h58
-rw-r--r--doc/src/snippets/qprocess-environment/main.cpp73
-rw-r--r--doc/src/snippets/qprocess/qprocess-simpleexecution.cpp66
-rw-r--r--doc/src/snippets/qsignalmapper/buttonwidget.cpp66
-rw-r--r--doc/src/snippets/qsignalmapper/buttonwidget.h67
-rw-r--r--doc/src/snippets/qsortfilterproxymodel-details/main.cpp99
-rw-r--r--doc/src/snippets/qstack/main.cpp55
-rw-r--r--doc/src/snippets/qstring/main.cpp997
-rw-r--r--doc/src/snippets/qstring/stringbuilder.cpp62
-rw-r--r--doc/src/snippets/qstringlist/main.cpp170
-rw-r--r--doc/src/snippets/qstringlistmodel/main.cpp66
-rw-r--r--doc/src/snippets/qtcast/qtcast.cpp79
-rw-r--r--doc/src/snippets/qxmlstreamwriter/main.cpp76
-rw-r--r--doc/src/snippets/settings/settings.cpp184
-rw-r--r--doc/src/snippets/sharedemployee/employee.h94
-rw-r--r--doc/src/snippets/sharedemployee/main.cpp50
-rw-r--r--doc/src/snippets/signalmapper/filereader.cpp107
-rw-r--r--doc/src/snippets/signalsandslots/lcdnumber.h88
-rw-r--r--doc/src/snippets/signalsandslots/signalsandslots.cpp84
-rw-r--r--doc/src/snippets/signalsandslots/signalsandslots.h89
-rw-r--r--doc/src/snippets/streaming/main.cpp108
-rw-r--r--doc/src/snippets/streaming/streaming.pro2
-rw-r--r--doc/src/snippets/threads/threads.cpp117
-rw-r--r--doc/src/snippets/threads/threads.h51
-rw-r--r--doc/src/snippets/timers/timers.cpp78
242 files changed, 676 insertions, 17678 deletions
diff --git a/doc/global/qt-cpp-ignore.qdocconf b/doc/global/qt-cpp-ignore.qdocconf
new file mode 100644
index 0000000000..9dbb7d980e
--- /dev/null
+++ b/doc/global/qt-cpp-ignore.qdocconf
@@ -0,0 +1,54 @@
+Cpp.ignoretokens = QT_ASCII_CAST_WARN \
+ QT_ASCII_CAST_WARN_CONSTRUCTOR \
+ QT_BEGIN_HEADER \
+ QT_BOOTSTRAPPED \
+ QT_DESIGNER_STATIC \
+ QT_END_HEADER \
+ QT_FASTCALL \
+ Q_COMPAT_EXPORT \
+ Q_CORE_EXPORT \
+ Q_CORE_EXPORT_INLINE \
+ Q_EXPORT \
+ Q_EXPORT_PLUGIN \
+ Q_EXPORT_PLUGIN2 \
+ Q_AUTOTEST_EXPORT \
+ Q_GUI_EXPORT \
+ Q_GUI_EXPORT_INLINE \
+ Q_INLINE_TEMPLATE \
+ Q_NETWORK_EXPORT \
+ Q_OPENGL_EXPORT \
+ Q_OPENVG_EXPORT \
+ Q_OUTOFLINE_TEMPLATE \
+ Q_SQL_EXPORT \
+ Q_SVG_EXPORT \
+ Q_SCRIPT_EXPORT \
+ Q_SCRIPTTOOLS_EXPORT \
+ Q_XML_EXPORT \
+ Q_XMLPATTERNS_EXPORT \
+ QDBUS_EXPORT \
+ Q_DBUS_EXPORT \
+ QT_BEGIN_NAMESPACE \
+ QT_BEGIN_INCLUDE_NAMESPACE \
+ QT_END_NAMESPACE \
+ QT_END_INCLUDE_NAMESPACE \
+ Q_GADGET \
+ Q_INVOKABLE \
+ Q_DECL_CONSTEXPR
+Cpp.ignoredirectives = Q_DECLARE_INTERFACE \
+ Q_DECLARE_METATYPE \
+ Q_DECLARE_OPERATORS_FOR_FLAGS \
+ Q_DECLARE_PRIVATE \
+ Q_DECLARE_PUBLIC \
+ Q_DECLARE_SHARED \
+ Q_DECLARE_TR_FUNCTIONS \
+ Q_DECLARE_TYPEINFO \
+ Q_DISABLE_COPY \
+ QT_FORWARD_DECLARE_CLASS \
+ Q_DUMMY_COMPARISON_OPERATOR \
+ Q_ENUMS \
+ Q_FLAGS \
+ Q_INTERFACES \
+ __attribute__ \
+ Q_PRIVATE_PROPERTY \
+ Q_DECLARE_PRIVATE_D \
+ Q_CLASSINFO
diff --git a/doc/global/style/offline.css b/doc/global/style/offline.css
new file mode 100644
index 0000000000..1b430ab904
--- /dev/null
+++ b/doc/global/style/offline.css
@@ -0,0 +1,622 @@
+body{
+font: normal 400 14px/1.2 Arial;
+margin-top:85px;
+font-family: Arial, Helvetica;
+color:#313131;
+text-align:justify;
+margin-left:5px;
+margin-right:5px;
+}
+
+img{
+-moz-box-shadow: 3px 3px 3px #ccc;
+-webkit-box-shadow: 3px 3px 3px #ccc;
+box-shadow: 3px 3px 3px #ccc;
+border:#8E8D8D 2px solid;
+margin-left:0px;
+max-width: 800px;
+height: auto
+}
+
+b{
+font-weight:600;
+}
+
+.content{}
+
+.descr{
+margin-top:35px;
+/*max-width: 75%;*/
+margin-left:5px;
+text-align:justify;
+min-height:700px;
+vertical-align:top;
+}
+
+.name{
+max-width: 75%;
+font-weight:100;
+}
+
+tt{
+text-align:left;}
+
+/*
+-----------
+links
+-----------
+*/
+
+a:link{
+color: #2C418D;
+text-decoration: none;
+text-align:left;
+}
+
+a:hover{
+color: #869CD1;
+text-decoration:underline;
+text-align:left;
+}
+
+a:visited{
+color: #869CD1;
+text-decoration: none;
+text-align:left;
+}
+
+a:visited:hover{
+text-decoration:underline;
+text-align:left;
+}
+
+a[href*="http://"], a[href*="ftp://"],a[href*="https://"]
+{
+text-decoration: none;
+background-image:url(../images/ico_out.png);
+background-repeat:no-repeat;
+background-position:left;
+padding-left:20px;
+text-align:left;
+}
+
+.flags{
+text-decoration:none;
+text-height:24px;
+}
+
+/*
+-------------------------------
+NOTE styles
+-------------------------------
+*/
+.notetitle, .tiptitle, .fastpathtitle{
+font-weight:bold;
+}
+
+.attentiontitle,.cautiontitle,.dangertitle,.importanttitle,.remembertitle,.restrictiontitle{
+font-weight:bold;
+}
+
+.note,.tip,.fastpath{
+background: #F2F2F2 url(../images/ico_note.png);
+background-repeat: no-repeat;
+background-position: top left;
+padding:5px;
+padding-left:40px;
+padding-bottom:10px;
+border:#999 1px dotted;
+color:#666666;
+margin:5px;
+}
+
+.attention,.caution,.danger,.important,.remember,.restriction{
+background: #F2F2F2 url(../images/ico_note_attention.png);
+background-repeat:no-repeat;
+background-position:top left;
+padding:5px;
+padding-left:40px;
+padding-bottom:10px;
+border:#999 1px dotted;
+color:#666666;
+margin:5px;
+}
+
+/*
+-------------------------------
+Top navigation
+-------------------------------
+*/
+
+.header{
+
+height:1px;
+padding:0px;
+margin:0px;
+}
+
+.qtref{
+display: block;
+position: relative;
+top: -76px;
+height:15px;
+z-index: 1;
+font-size:11px;
+padding-right:10px;
+float:right;
+}
+
+.naviNextPrevious{
+display: block;
+position: relative;
+text-align: right;
+top: -53px;
+float:right;
+height:20px;
+z-index:1;
+padding-right:10px;
+padding-top:2px;
+vertical-align:top;
+margin:0px;
+}
+
+
+.naviNextPrevious > a:first-child{
+background-image:url(../images/btn_prev.png);
+background-repeat:no-repeat;
+background-position:left;
+padding-left:20px;
+height:20px;
+padding-left:20px;
+}
+
+.naviNextPrevious > a:last-child{
+background-image:url(../images/btn_next.png);
+background-repeat:no-repeat;
+background-position:right;
+padding-right:20px;
+height:20px;
+margin-left:30px;
+}
+
+.breadcrumb{
+display: block;
+position: relative;
+top:-20px;
+/*border-top:2px solid #ffffff;*/
+border-bottom: 1px solid #cecece;
+background-color:#F2F2F2;
+z-index:1;
+height:20px;
+padding:0px;
+margin:0px;
+padding-left:10px;
+padding-top:2px;
+margin-left:-5px;
+margin-right:-5px;
+}
+
+.breadcrumb ul{
+ margin:0px;
+ padding:0px;
+}
+
+.breadcrumb ul li{
+background-color:#F2F2F2;
+list-style-type:none;
+padding:0;
+margin:0;
+height:20px;
+}
+
+.breadcrumb li{
+float:left;
+}
+
+.breadcrumb .first {
+background:url(../images/home.png);
+background-position:left;
+background-repeat:no-repeat;
+padding-left:20px;
+}
+
+
+.breadcrumb li a{
+color:#2C418D;
+display:block;
+text-decoration:none;
+background:url(../images/arrow.png);
+background-repeat:no-repeat;
+background-position:right;
+padding-right:25px;
+padding-left:10px;
+}
+
+.breadcrumb li a:hover{
+color:#909090;
+display:block;
+text-decoration:none;
+background:url(../images/arrow.png);
+background-repeat:no-repeat;
+background-position:right;
+padding-right:20px;
+padding-left:10px;
+}
+
+
+/* table of content
+no display
+*/
+
+/*
+-----------
+headers
+-----------
+*/
+
+
+@media screen{
+.title{
+color:#313131;
+font-size: 18px;
+font-weight: normal;
+left: 0;
+padding-bottom: 20px;
+padding-left: 10px;
+padding-top: 20px;
+position: absolute;
+right: 0;
+top: 0;
+background-color:#E6E6E6;
+border-bottom: 1px #CCC solid;
+border-top: 2px #CCC solid;
+font-weight:bold;
+margin-left:0px;
+margin-right:0px;
+}
+}
+
+h1 {
+margin: 0;
+}
+
+h2, p.h2 {
+font: 500 16px/1.2 Arial;
+font-weight:100;
+background-color:#F2F3F4;
+padding:4px;
+margin-bottom:30px;
+margin-top:30px;
+border-top:#E0E0DE 1px solid;
+border-bottom: #E0E0DE 1px solid;
+max-width: 99%;
+}
+
+h3{
+
+font: 500 14px/1.2 Arial;
+font-weight:100;
+text-decoration:underline;
+margin-bottom:30px;
+margin-top:30px;
+}
+
+h3.fn,span.fn{
+border-width: 1px;
+border-style: solid;
+border-color: #E6E6E6;
+-moz-border-radius: 7px 7px 7px 7px;
+-webkit-border-radius: 7px 7px 7px 7px;
+border-radius: 7px 7px 7px 7px;
+background-color: #F6F6F6;
+word-spacing: 3px;
+padding: 5px 5px;
+text-decoration:none;
+font-weight:bold;
+max-width:75%;
+font-size:14px;
+margin:0px;
+margin-top:30px;
+
+}
+
+.name{
+color:#1A1A1A;
+}
+.type{
+color:#808080;
+}
+
+
+
+@media print {
+.title {
+color:#0066CB;
+font-family:Arial, Helvetica;
+font-size: 32px;
+font-weight: normal;
+left: 0;
+position: absolute;
+right: 0;
+top: 0;
+}
+}
+
+
+/*
+-----------------
+table styles
+-----------------
+*/
+.table img {
+border:none;
+margin-left:0px;
+-moz-box-shadow:0px 0px 0px #fff;
+-webkit-box-shadow: 0px 0px 0px #fff;
+box-shadow: 0px 0px 0px #fff;
+}
+
+/* table with border alternative colours*/
+
+ table,pre{
+-moz-border-radius: 7px 7px 7px 7px;
+-webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+background-color: #F6F6F6;
+border: 1px solid #E6E6E6;
+border-collapse: separate;
+font-size: 12px;
+line-height: 1.2;
+margin-bottom: 25px;
+margin-left: 15px;
+font-size: 12px;
+line-height: 1.2;
+margin-bottom: 25px;
+margin-left: 15px;
+}
+
+
+table th{
+text-align:left;
+padding-left:20px;
+}
+
+table td {
+padding: 3px 15px 3px 20px;
+border-bottom:#CCC dotted 1px;
+}
+table p { margin:0px;}
+
+table tr.even {
+background-color: white;
+color: #66666E;
+}
+
+table tr.odd {
+background-color: #F6F6F6;
+color: #66666E;
+}
+
+
+table thead {
+text-align:left;
+padding-left:20px;
+background-color:#e1e0e0;
+border-left:none;
+border-right:none;
+}
+
+table thead th {
+padding-top:5px;
+padding-left:10px;
+padding-bottom:5px;
+border-bottom: 2px solid #D1D1D1;
+padding-right:10px;
+}
+
+
+/* table bodless & white*/
+
+.borderless {
+border-radius: 0px 0px 0px 0px;
+background-color: #fff;
+border: 1px solid #fff;
+}
+
+.borderless tr {
+background-color: #FFF;
+color: #66666E;
+}
+
+.borderless td {
+border:none;
+border-bottom:#fff dotted 1px;
+}
+
+/*
+-----------
+List
+-----------
+*/
+
+ul{
+padding-bottom:2px;
+}
+
+li {
+margin-bottom: 10px;
+padding-left: 8px;
+list-style:outside;
+list-style-type:square;
+text-align:left;
+}
+
+
+ol{
+margin:10px;
+padding:0;
+}
+
+ol > li{
+margin-left: 30px;
+padding-left:8px;
+list-style:decimal;
+}
+
+.centerAlign{
+text-align: left;
+}
+
+.cpp{
+display: block;
+margin: 10;
+overflow: hidden;
+overflow-x: hidden;
+overflow-y: hidden;
+padding: 20px 0 20px 0;
+}
+
+.footer{
+margin-top: 50px;
+padding-left:5px;
+margin-bottom: 10px;
+font-size:10px;
+border-top: 1px solid #999;
+padding-top:11px;
+}
+
+.footerNavi{
+width:auto;
+text-align:right;
+margin-top:50px;
+z-index:1;
+}
+
+.memItemLeft{
+padding-right: 3px;
+}
+
+.memItemRight{
+padding: 3px 15px 3px 0;
+}
+
+.qml{
+display: block;
+margin: 10;
+overflow: hidden;
+overflow-x: hidden;
+overflow-y: hidden;
+padding: 20px 0 20px 0;
+}
+
+.qmldefault{
+padding-left: 5px;
+float: right;
+color: red;
+}
+
+.qmlreadonly{
+padding-left: 5px;
+float: right;
+color: #254117;
+}
+
+.rightAlign{
+padding: 3px 5px 3px 10px;
+text-align: right;
+}
+
+/*
+-----------
+Content table
+-----------
+*/
+
+@media print{
+.toc {
+float: right;
+padding-bottom: 10px;
+padding-top: 50px;
+width: 100%;
+background-image:url(../images/bgrContent.png);
+background-position:top;
+background-repeat:no-repeat;
+}
+}
+
+@media screen{
+.toc{
+clear:both;
+float:right;
+vertical-align:top;
+-moz-border-radius: 7px 7px 7px 7px;
+-webkit-border-radius: 7px 7px 7px 7px;
+border-radius: 7px 7px 7px 7px;
+ background:#FFF url(../images/bgrContent.png);
+background-position:top;
+background-repeat:repeat-x;
+border: 1px solid #E6E6E6;
+padding-left:5px;
+padding-bottom:10px;
+height: auto;
+width: 200px;
+text-align:left;
+z-index:2;
+margin-left:20px;
+margin-right:20px;
+margin-top:0px;
+padding-top:0px;
+}
+}
+
+.toc h3{
+text-decoration:none;
+}
+
+.toc h3{font: 500 14px/1.2 Arial;
+font-weight:100;
+padding:0px;
+margin:0px;
+padding-top:5px;
+padding-left:5px;
+}
+
+
+.toc ul{
+width:160px;
+padding-left:10px;
+padding-right:5px;
+padding-bottom:10px;
+padding-top:10px;
+}
+
+.toc ul li{
+margin-left:20px;
+list-style-image:url(../images/blu_dot.png);
+list-style:outside;
+
+}
+
+
+.toc ul li a:link{
+color: #2C418D;
+text-decoration: none;
+}
+
+.toc ul li a:hover{
+color: #869CD1;
+text-decoration:underline;
+
+}
+
+.toc ul li a:visited{
+color: #869CD1;
+font-weight: bold;
+}
+
+.level1{
+border:none;}
+
+.clearfix{
+clear:both;}
+
diff --git a/doc/src/corelib/containers.qdoc b/doc/src/corelib/containers.qdoc
deleted file mode 100644
index b63cc9df28..0000000000
--- a/doc/src/corelib/containers.qdoc
+++ /dev/null
@@ -1,803 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \group tools
- \title Non-GUI Classes
- \ingroup groups
-
- \brief Collection classes such as list, queue, stack and string, along
- with other classes that can be used without needing QApplication.
-
- The non-GUI classes are general-purpose collection and string classes
- that may be used independently of the GUI classes.
-
- In particular, these classes do not depend on QApplication at all,
- and so can be used in non-GUI programs.
-
-*/
-
-/*!
- \page containers.html
- \title Container Classes
- \ingroup technology-apis
- \ingroup groups
- \ingroup qt-basic-concepts
- \keyword container class
- \keyword container classes
-
- \brief Qt's template-based container classes.
-
- \tableofcontents
-
- \section1 Introduction
-
- The Qt library provides a set of general purpose template-based
- container classes. These classes can be used to store items of a
- specified type. For example, if you need a resizable array of
- \l{QString}s, use QVector<QString>.
-
- These container classes are designed to be lighter, safer, and
- easier to use than the STL containers. If you are unfamiliar with
- the STL, or prefer to do things the "Qt way", you can use these
- classes instead of the STL classes.
-
- The container classes are \l{implicitly shared}, they are
- \l{reentrant}, and they are optimized for speed, low memory
- consumption, and minimal inline code expansion, resulting in
- smaller executables. In addition, they are \l{thread-safe}
- in situations where they are used as read-only containers
- by all threads used to access them.
-
- For traversing the items stored in a container, you can use one
- of two types of iterators: \l{Java-style iterators} and
- \l{STL-style iterators}. The Java-style iterators are easier to
- use and provide high-level functionality, whereas the STL-style
- iterators are slightly more efficient and can be used together
- with Qt's and STL's \l{generic algorithms}.
-
- Qt also offers a \l{foreach} keyword that make it very
- easy to iterate over all the items stored in a container.
-
- \section1 The Container Classes
-
- Qt provides the following sequential containers: QList,
- QLinkedList, QVector, QStack, and QQueue. For most
- applications, QList is the best type to use. Although it is
- implemented as an array-list, it provides very fast prepends and
- appends. If you really need a linked-list, use QLinkedList; if you
- want your items to occupy consecutive memory locations, use QVector.
- QStack and QQueue are convenience classes that provide LIFO and
- FIFO semantics.
-
- Qt also provides these associative containers: QMap,
- QMultiMap, QHash, QMultiHash, and QSet. The "Multi" containers
- conveniently support multiple values associated with a single
- key. The "Hash" containers provide faster lookup by using a hash
- function instead of a binary search on a sorted set.
-
- As special cases, the QCache and QContiguousCache classes provide
- efficient hash-lookup of objects in a limited cache storage.
-
- \table
- \header \li Class \li Summary
-
- \row \li \l{QList}<T>
- \li This is by far the most commonly used container class. It
- stores a list of values of a given type (T) that can be accessed
- by index. Internally, the QList is implemented using an array,
- ensuring that index-based access is very fast.
-
- Items can be added at either end of the list using
- QList::append() and QList::prepend(), or they can be inserted in
- the middle using QList::insert(). More than any other container
- class, QList is highly optimized to expand to as little code as
- possible in the executable. QStringList inherits from
- QList<QString>.
-
- \row \li \l{QLinkedList}<T>
- \li This is similar to QList, except that it uses
- iterators rather than integer indexes to access items. It also
- provides better performance than QList when inserting in the
- middle of a huge list, and it has nicer iterator semantics.
- (Iterators pointing to an item in a QLinkedList remain valid as
- long as the item exists, whereas iterators to a QList can become
- invalid after any insertion or removal.)
-
- \row \li \l{QVector}<T>
- \li This stores an array of values of a given type at adjacent
- positions in memory. Inserting at the front or in the middle of
- a vector can be quite slow, because it can lead to large numbers
- of items having to be moved by one position in memory.
-
- \row \li \l{QStack}<T>
- \li This is a convenience subclass of QVector that provides
- "last in, first out" (LIFO) semantics. It adds the following
- functions to those already present in QVector:
- \l{QStack::push()}{push()}, \l{QStack::pop()}{pop()},
- and \l{QStack::top()}{top()}.
-
- \row \li \l{QQueue}<T>
- \li This is a convenience subclass of QList that provides
- "first in, first out" (FIFO) semantics. It adds the following
- functions to those already present in QList:
- \l{QQueue::enqueue()}{enqueue()},
- \l{QQueue::dequeue()}{dequeue()}, and \l{QQueue::head()}{head()}.
-
- \row \li \l{QSet}<T>
- \li This provides a single-valued mathematical set with fast
- lookups.
-
- \row \li \l{QMap}<Key, T>
- \li This provides a dictionary (associative array) that maps keys
- of type Key to values of type T. Normally each key is associated
- with a single value. QMap stores its data in Key order; if order
- doesn't matter QHash is a faster alternative.
-
- \row \li \l{QMultiMap}<Key, T>
- \li This is a convenience subclass of QMap that provides a nice
- interface for multi-valued maps, i.e. maps where one key can be
- associated with multiple values.
-
- \row \li \l{QHash}<Key, T>
- \li This has almost the same API as QMap, but provides
- significantly faster lookups. QHash stores its data in an
- arbitrary order.
-
- \row \li \l{QMultiHash}<Key, T>
- \li This is a convenience subclass of QHash that
- provides a nice interface for multi-valued hashes.
-
- \endtable
-
- Containers can be nested. For example, it is perfectly possible
- to use a QMap<QString, QList<int> >, where the key type is
- QString and the value type QList<int>. The only pitfall is that
- you must insert a space between the closing angle brackets (>);
- otherwise the C++ compiler will misinterpret the two >'s as a
- right-shift operator (>>) and report a syntax error.
-
- The containers are defined in individual header files with the
- same name as the container (e.g., \c <QLinkedList>). For
- convenience, the containers are forward declared in \c
- <QtContainerFwd>.
-
- \keyword assignable data type
- \keyword assignable data types
-
- The values stored in the various containers can be of any
- \e{assignable data type}. To qualify, a type must provide a
- default constructor, a copy constructor, and an assignment
- operator. This covers most data types you are likely to want to
- store in a container, including basic types such as \c int and \c
- double, pointer types, and Qt data types such as QString, QDate,
- and QTime, but it doesn't cover QObject or any QObject subclass
- (QWidget, QDialog, QTimer, etc.). If you attempt to instantiate a
- QList<QWidget>, the compiler will complain that QWidget's copy
- constructor and assignment operators are disabled. If you want to
- store these kinds of objects in a container, store them as
- pointers, for example as QList<QWidget *>.
-
- Here's an example custom data type that meets the requirement of
- an assignable data type:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 0
-
- If we don't provide a copy constructor or an assignment operator,
- C++ provides a default implementation that performs a
- member-by-member copy. In the example above, that would have been
- sufficient. Also, if you don't provide any constructors, C++
- provides a default constructor that initializes its member using
- default constructors. Although it doesn't provide any
- explicit constructors or assignment operator, the following data
- type can be stored in a container:
-
- \snippet doc/src/snippets/streaming/main.cpp 0
-
- Some containers have additional requirements for the data types
- they can store. For example, the Key type of a QMap<Key, T> must
- provide \c operator<(). Such special requirements are documented
- in a class's detailed description. In some cases, specific
- functions have special requirements; these are described on a
- per-function basis. The compiler will always emit an error if a
- requirement isn't met.
-
- Qt's containers provide operator<<() and operator>>() so that they
- can easily be read and written using a QDataStream. This means
- that the data types stored in the container must also support
- operator<<() and operator>>(). Providing such support is
- straightforward; here's how we could do it for the Movie struct
- above:
-
- \snippet doc/src/snippets/streaming/main.cpp 1
- \codeline
- \snippet doc/src/snippets/streaming/main.cpp 2
-
- \keyword default-constructed values
-
- The documentation of certain container class functions refer to
- \e{default-constructed values}; for example, QVector
- automatically initializes its items with default-constructed
- values, and QMap::value() returns a default-constructed value if
- the specified key isn't in the map. For most value types, this
- simply means that a value is created using the default
- constructor (e.g. an empty string for QString). But for primitive
- types like \c{int} and \c{double}, as well as for pointer types,
- the C++ language doesn't specify any initialization; in those
- cases, Qt's containers automatically initialize the value to 0.
-
- \section1 The Iterator Classes
-
- Iterators provide a uniform means to access items in a container.
- Qt's container classes provide two types of iterators: Java-style
- iterators and STL-style iterators. Iterators of both types are
- invalidated when the data in the container is modified or detached
- from \l{Implicit Sharing}{implicitly shared copies} due to a call
- to a non-const member function.
-
- \section2 Java-Style Iterators
-
- The Java-style iterators are new in Qt 4 and are the standard
- ones used in Qt applications. They are more convenient to use than
- the STL-style iterators, at the price of being slightly less
- efficient. Their API is modelled on Java's iterator classes.
-
- For each container class, there are two Java-style iterator data
- types: one that provides read-only access and one that provides
- read-write access.
-
- \table
- \header \li Containers \li Read-only iterator
- \li Read-write iterator
- \row \li QList<T>, QQueue<T> \li QListIterator<T>
- \li QMutableListIterator<T>
- \row \li QLinkedList<T> \li QLinkedListIterator<T>
- \li QMutableLinkedListIterator<T>
- \row \li QVector<T>, QStack<T> \li QVectorIterator<T>
- \li QMutableVectorIterator<T>
- \row \li QSet<T> \li QSetIterator<T>
- \li QMutableSetIterator<T>
- \row \li QMap<Key, T>, QMultiMap<Key, T> \li QMapIterator<Key, T>
- \li QMutableMapIterator<Key, T>
- \row \li QHash<Key, T>, QMultiHash<Key, T> \li QHashIterator<Key, T>
- \li QMutableHashIterator<Key, T>
- \endtable
-
- In this discussion, we will concentrate on QList and QMap. The
- iterator types for QLinkedList, QVector, and QSet have exactly
- the same interface as QList's iterators; similarly, the iterator
- types for QHash have the same interface as QMap's iterators.
-
- Unlike STL-style iterators (covered \l{STL-style
- iterators}{below}), Java-style iterators point \e between items
- rather than directly \e at items. For this reason, they are
- either pointing to the very beginning of the container (before
- the first item), at the very end of the container (after the last
- item), or between two items. The diagram below shows the valid
- iterator positions as red arrows for a list containing four
- items:
-
- \img javaiterators1.png
-
- Here's a typical loop for iterating through all the elements of a
- QList<QString> in order and printing them to the console:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 1
-
- It works as follows: The QList to iterate over is passed to the
- QListIterator constructor. At that point, the iterator is located
- just in front of the first item in the list (before item "A").
- Then we call \l{QListIterator::hasNext()}{hasNext()} to
- check whether there is an item after the iterator. If there is, we
- call \l{QListIterator::next()}{next()} to jump over that
- item. The next() function returns the item that it jumps over. For
- a QList<QString>, that item is of type QString.
-
- Here's how to iterate backward in a QList:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 2
-
- The code is symmetric with iterating forward, except that we
- start by calling \l{QListIterator::toBack()}{toBack()}
- to move the iterator after the last item in the list.
-
- The diagram below illustrates the effect of calling
- \l{QListIterator::next()}{next()} and
- \l{QListIterator::previous()}{previous()} on an iterator:
-
- \img javaiterators2.png
-
- The following table summarizes the QListIterator API:
-
- \table
- \header \li Function \li Behavior
- \row \li \l{QListIterator::toFront()}{toFront()}
- \li Moves the iterator to the front of the list (before the first item)
- \row \li \l{QListIterator::toBack()}{toBack()}
- \li Moves the iterator to the back of the list (after the last item)
- \row \li \l{QListIterator::hasNext()}{hasNext()}
- \li Returns true if the iterator isn't at the back of the list
- \row \li \l{QListIterator::next()}{next()}
- \li Returns the next item and advances the iterator by one position
- \row \li \l{QListIterator::peekNext()}{peekNext()}
- \li Returns the next item without moving the iterator
- \row \li \l{QListIterator::hasPrevious()}{hasPrevious()}
- \li Returns true if the iterator isn't at the front of the list
- \row \li \l{QListIterator::previous()}{previous()}
- \li Returns the previous item and moves the iterator back by one position
- \row \li \l{QListIterator::peekPrevious()}{peekPrevious()}
- \li Returns the previous item without moving the iterator
- \endtable
-
- QListIterator provides no functions to insert or remove items
- from the list as we iterate. To accomplish this, you must use
- QMutableListIterator. Here's an example where we remove all
- odd numbers from a QList<int> using QMutableListIterator:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 3
-
- The next() call in the loop is made every time. It jumps over the
- next item in the list. The
- \l{QMutableListIterator::remove()}{remove()} function removes the
- last item that we jumped over from the list. The call to
- \l{QMutableListIterator::remove()}{remove()} does not invalidate
- the iterator, so it is safe to continue using it. This works just
- as well when iterating backward:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 4
-
- If we just want to modify the value of an existing item, we can
- use \l{QMutableListIterator::setValue()}{setValue()}. In the code
- below, we replace any value larger than 128 with 128:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 5
-
- Just like \l{QMutableListIterator::remove()}{remove()},
- \l{QMutableListIterator::setValue()}{setValue()} operates on the
- last item that we jumped over. If we iterate forward, this is the
- item just before the iterator; if we iterate backward, this is
- the item just after the iterator.
-
- The \l{QMutableListIterator::next()}{next()} function returns a
- non-const reference to the item in the list. For simple
- operations, we don't even need
- \l{QMutableListIterator::setValue()}{setValue()}:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 6
-
- As mentioned above, QLinkedList's, QVector's, and QSet's iterator
- classes have exactly the same API as QList's. We will now turn to
- QMapIterator, which is somewhat different because it iterates on
- (key, value) pairs.
-
- Like QListIterator, QMapIterator provides
- \l{QMapIterator::toFront()}{toFront()},
- \l{QMapIterator::toBack()}{toBack()},
- \l{QMapIterator::hasNext()}{hasNext()},
- \l{QMapIterator::next()}{next()},
- \l{QMapIterator::peekNext()}{peekNext()},
- \l{QMapIterator::hasPrevious()}{hasPrevious()},
- \l{QMapIterator::previous()}{previous()}, and
- \l{QMapIterator::peekPrevious()}{peekPrevious()}. The key and
- value components are extracted by calling key() and value() on
- the object returned by next(), peekNext(), previous(), or
- peekPrevious().
-
- The following example removes all (capital, country) pairs where
- the capital's name ends with "City":
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 7
-
- QMapIterator also provides a key() and a value() function that
- operate directly on the iterator and that return the key and
- value of the last item that the iterator jumped above. For
- example, the following code copies the contents of a QMap into a
- QHash:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 8
-
- If we want to iterate through all the items with the same
- value, we can use \l{QMapIterator::findNext()}{findNext()}
- or \l{QMapIterator::findPrevious()}{findPrevious()}.
- Here's an example where we remove all the items with a particular
- value:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 9
-
- \section2 STL-Style Iterators
-
- STL-style iterators have been available since the release of Qt
- 2.0. They are compatible with Qt's and STL's \l{generic
- algorithms} and are optimized for speed.
-
- For each container class, there are two STL-style iterator types:
- one that provides read-only access and one that provides
- read-write access. Read-only iterators should be used wherever
- possible because they are faster than read-write iterators.
-
- \table
- \header \li Containers \li Read-only iterator
- \li Read-write iterator
- \row \li QList<T>, QQueue<T> \li QList<T>::const_iterator
- \li QList<T>::iterator
- \row \li QLinkedList<T> \li QLinkedList<T>::const_iterator
- \li QLinkedList<T>::iterator
- \row \li QVector<T>, QStack<T> \li QVector<T>::const_iterator
- \li QVector<T>::iterator
- \row \li QSet<T> \li QSet<T>::const_iterator
- \li QSet<T>::iterator
- \row \li QMap<Key, T>, QMultiMap<Key, T> \li QMap<Key, T>::const_iterator
- \li QMap<Key, T>::iterator
- \row \li QHash<Key, T>, QMultiHash<Key, T> \li QHash<Key, T>::const_iterator
- \li QHash<Key, T>::iterator
- \endtable
-
- The API of the STL iterators is modelled on pointers in an array.
- For example, the \c ++ operator advances the iterator to the next
- item, and the \c * operator returns the item that the iterator
- points to. In fact, for QVector and QStack, which store their
- items at adjacent memory positions, the
- \l{QVector::iterator}{iterator} type is just a typedef for \c{T *},
- and the \l{QVector::iterator}{const_iterator} type is
- just a typedef for \c{const T *}.
-
- In this discussion, we will concentrate on QList and QMap. The
- iterator types for QLinkedList, QVector, and QSet have exactly
- the same interface as QList's iterators; similarly, the iterator
- types for QHash have the same interface as QMap's iterators.
-
- Here's a typical loop for iterating through all the elements of a
- QList<QString> in order and converting them to lowercase:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 10
-
- Unlike \l{Java-style iterators}, STL-style iterators point
- directly at items. The begin() function of a container returns an
- iterator that points to the first item in the container. The
- end() function of a container returns an iterator to the
- imaginary item one position past the last item in the container.
- end() marks an invalid position; it must never be dereferenced.
- It is typically used in a loop's break condition. If the list is
- empty, begin() equals end(), so we never execute the loop.
-
- The diagram below shows the valid iterator positions as red
- arrows for a vector containing four items:
-
- \img stliterators1.png
-
- Iterating backward with an STL-style iterator requires us to
- decrement the iterator \e before we access the item. This
- requires a \c while loop:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 11
-
- In the code snippets so far, we used the unary \c * operator to
- retrieve the item (of type QString) stored at a certain iterator
- position, and we then called QString::toLower() on it. Most C++
- compilers also allow us to write \c{i->toLower()}, but some
- don't.
-
- For read-only access, you can use const_iterator, constBegin(),
- and constEnd(). For example:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 12
-
- The following table summarizes the STL-style iterators' API:
-
- \table
- \header \li Expression \li Behavior
- \row \li \c{*i} \li Returns the current item
- \row \li \c{++i} \li Advances the iterator to the next item
- \row \li \c{i += n} \li Advances the iterator by \c n items
- \row \li \c{--i} \li Moves the iterator back by one item
- \row \li \c{i -= n} \li Moves the iterator back by \c n items
- \row \li \c{i - j} \li Returns the number of items between iterators \c i and \c j
- \endtable
-
- The \c{++} and \c{--} operators are available both as prefix
- (\c{++i}, \c{--i}) and postfix (\c{i++}, \c{i--}) operators. The
- prefix versions modify the iterators and return a reference to
- the modified iterator; the postfix versions take a copy of the
- iterator before they modify it, and return that copy. In
- expressions where the return value is ignored, we recommend that
- you use the prefix operators (\c{++i}, \c{--i}), as these are
- slightly faster.
-
- For non-const iterator types, the return value of the unary \c{*}
- operator can be used on the left side of the assignment operator.
-
- For QMap and QHash, the \c{*} operator returns the value
- component of an item. If you want to retrieve the key, call key()
- on the iterator. For symmetry, the iterator types also provide a
- value() function to retrieve the value. For example, here's how
- we would print all items in a QMap to the console:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 13
-
- Thanks to \l{implicit sharing}, it is very inexpensive for a
- function to return a container per value. The Qt API contains
- dozens of functions that return a QList or QStringList per value
- (e.g., QSplitter::sizes()). If you want to iterate over these
- using an STL iterator, you should always take a copy of the
- container and iterate over the copy. For example:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 14
-
- This problem doesn't occur with functions that return a const or
- non-const reference to a container.
-
- \l{Implicit sharing} has another consequence on STL-style
- iterators: You must not take a copy of a container while
- non-const iterators are active on that container. Java-style
- iterators don't suffer from that limitation.
-
- \keyword foreach
- \section1 The foreach Keyword
-
- If you just want to iterate over all the items in a container
- in order, you can use Qt's \c foreach keyword. The keyword is a
- Qt-specific addition to the C++ language, and is implemented
- using the preprocessor.
-
- Its syntax is: \c foreach (\e variable, \e container) \e
- statement. For example, here's how to use \c foreach to iterate
- over a QLinkedList<QString>:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 15
-
- The \c foreach code is significantly shorter than the equivalent
- code that uses iterators:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 16
-
- Unless the data type contains a comma (e.g., \c{QPair<int,
- int>}), the variable used for iteration can be defined within the
- \c foreach statement:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 17
-
- And like any other C++ loop construct, you can use braces around
- the body of a \c foreach loop, and you can use \c break to leave
- the loop:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 18
-
- With QMap and QHash, \c foreach accesses the value component of
- the (key, value) pairs. If you want to iterate over both the keys
- and the values, you can use iterators (which are fastest), or you
- can write code like this:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 19
-
- For a multi-valued map:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 20
-
- Qt automatically takes a copy of the container when it enters a
- \c foreach loop. If you modify the container as you are
- iterating, that won't affect the loop. (If you do not modify the
- container, the copy still takes place, but thanks to \l{implicit
- sharing} copying a container is very fast.)
-
- Since foreach creates a copy of the container, using a non-const
- reference for the variable does not allow you to modify the original
- container. It only affects the copy, which is probably not what you
- want.
-
- In addition to \c foreach, Qt also provides a \c forever
- pseudo-keyword for infinite loops:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 21
-
- If you're worried about namespace pollution, you can disable
- these macros by adding the following line to your \c .pro file:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 22
-
- \section1 Other Container-Like Classes
-
- Qt includes three template classes that resemble containers in
- some respects. These classes don't provide iterators and cannot
- be used with the \c foreach keyword.
-
- \list
- \li QVarLengthArray<T, Prealloc> provides a low-level
- variable-length array. It can be used instead of QVector in
- places where speed is particularly important.
-
- \li QCache<Key, T> provides a cache to store objects of a certain
- type T associated with keys of type Key.
-
- \li QContiguousCache<T> provides an efficient way of caching data
- that is typically accessed in a contiguous way.
-
- \li QPair<T1, T2> stores a pair of elements.
- \endlist
-
- Additional non-template types that compete with Qt's template
- containers are QBitArray, QByteArray, QString, and QStringList.
-
- \section1 Algorithmic Complexity
-
- Algorithmic complexity is concerned about how fast (or slow) each
- function is as the number of items in the container grow. For
- example, inserting an item in the middle of a QLinkedList is an
- extremely fast operation, irrespective of the number of items
- stored in the QLinkedList. On the other hand, inserting an item
- in the middle of a QVector is potentially very expensive if the
- QVector contains many items, since half of the items must be
- moved one position in memory.
-
- To describe algorithmic complexity, we use the following
- terminology, based on the "big Oh" notation:
-
- \keyword constant time
- \keyword logarithmic time
- \keyword linear time
- \keyword linear-logarithmic time
- \keyword quadratic time
-
- \list
- \li \b{Constant time:} O(1). A function is said to run in constant
- time if it requires the same amount of time no matter how many
- items are present in the container. One example is
- QLinkedList::insert().
-
- \li \b{Logarithmic time:} O(log \e n). A function that runs in
- logarithmic time is a function whose running time is
- proportional to the logarithm of the number of items in the
- container. One example is qBinaryFind().
-
- \li \b{Linear time:} O(\e n). A function that runs in linear time
- will execute in a time directly proportional to the number of
- items stored in the container. One example is
- QVector::insert().
-
- \li \b{Linear-logarithmic time:} O(\e{n} log \e n). A function
- that runs in linear-logarithmic time is asymptotically slower
- than a linear-time function, but faster than a quadratic-time
- function.
-
- \li \b{Quadratic time:} O(\e{n}\unicode{178}). A quadratic-time function
- executes in a time that is proportional to the square of the
- number of items stored in the container.
- \endlist
-
- The following table summarizes the algorithmic complexity of Qt's
- sequential container classes:
-
- \table
- \header \li \li Index lookup \li Insertion \li Prepending \li Appending
- \row \li QLinkedList<T> \li O(\e n) \li O(1) \li O(1) \li O(1)
- \row \li QList<T> \li O(1) \li O(n) \li Amort. O(1) \li Amort. O(1)
- \row \li QVector<T> \li O(1) \li O(n) \li O(n) \li Amort. O(1)
- \endtable
-
- In the table, "Amort." stands for "amortized behavior". For
- example, "Amort. O(1)" means that if you call the function
- only once, you might get O(\e n) behavior, but if you call it
- multiple times (e.g., \e n times), the average behavior will be
- O(1).
-
- The following table summarizes the algorithmic complexity of Qt's
- associative containers and sets:
-
- \table
- \header \li{1,2} \li{2,1} Key lookup \li{2,1} Insertion
- \header \li Average \li Worst case \li Average \li Worst case
- \row \li QMap<Key, T> \li O(log \e n) \li O(log \e n) \li O(log \e n) \li O(log \e n)
- \row \li QMultiMap<Key, T> \li O(log \e n) \li O(log \e n) \li O(log \e n) \li O(log \e n)
- \row \li QHash<Key, T> \li Amort. O(1) \li O(\e n) \li Amort. O(1) \li O(\e n)
- \row \li QSet<Key> \li Amort. O(1) \li O(\e n) \li Amort. O(1) \li O(\e n)
- \endtable
-
- With QVector, QHash, and QSet, the performance of appending items
- is amortized O(log \e n). It can be brought down to O(1) by
- calling QVector::reserve(), QHash::reserve(), or QSet::reserve()
- with the expected number of items before you insert the items.
- The next section discusses this topic in more depth.
-
- \section1 Growth Strategies
-
- QVector<T>, QString, and QByteArray store their items
- contiguously in memory; QList<T> maintains an array of pointers
- to the items it stores to provide fast index-based access (unless
- T is a pointer type or a basic type of the size of a pointer, in
- which case the value itself is stored in the array); QHash<Key,
- T> keeps a hash table whose size is proportional to the number
- of items in the hash. To avoid reallocating the data every single
- time an item is added at the end of the container, these classes
- typically allocate more memory than necessary.
-
- Consider the following code, which builds a QString from another
- QString:
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 23
-
- We build the string \c out dynamically by appending one character
- to it at a time. Let's assume that we append 15000 characters to
- the QString string. Then the following 18 reallocations (out of a
- possible 15000) occur when QString runs out of space: 4, 8, 12,
- 16, 20, 52, 116, 244, 500, 1012, 2036, 4084, 6132, 8180, 10228,
- 12276, 14324, 16372. At the end, the QString has 16372 Unicode
- characters allocated, 15000 of which are occupied.
-
- The values above may seem a bit strange, but here are the guiding
- principles:
- \list
- \li QString allocates 4 characters at a time until it reaches size 20.
- \li From 20 to 4084, it advances by doubling the size each time.
- More precisely, it advances to the next power of two, minus
- 12. (Some memory allocators perform worst when requested exact
- powers of two, because they use a few bytes per block for
- book-keeping.)
- \li From 4084 on, it advances by blocks of 2048 characters (4096
- bytes). This makes sense because modern operating systems
- don't copy the entire data when reallocating a buffer; the
- physical memory pages are simply reordered, and only the data
- on the first and last pages actually needs to be copied.
- \endlist
-
- QByteArray and QList<T> use more or less the same algorithm as
- QString.
-
- QVector<T> also uses that algorithm for data types that can be
- moved around in memory using memcpy() (including the basic C++
- types, the pointer types, and Qt's \l{shared classes}) but uses a
- different algorithm for data types that can only be moved by
- calling the copy constructor and a destructor. Since the cost of
- reallocating is higher in that case, QVector<T> reduces the
- number of reallocations by always doubling the memory when
- running out of space.
-
- QHash<Key, T> is a totally different case. QHash's internal hash
- table grows by powers of two, and each time it grows, the items
- are relocated in a new bucket, computed as qHash(\e key) %
- QHash::capacity() (the number of buckets). This remark applies to
- QSet<T> and QCache<Key, T> as well.
-
- For most applications, the default growing algorithm provided by
- Qt does the trick. If you need more control, QVector<T>,
- QHash<Key, T>, QSet<T>, QString, and QByteArray provide a trio of
- functions that allow you to check and specify how much memory to
- use to store the items:
-
- \list
- \li \l{QString::capacity()}{capacity()} returns the
- number of items for which memory is allocated (for QHash and
- QSet, the number of buckets in the hash table).
- \li \l{QString::reserve()}{reserve}(\e size) explicitly
- preallocates memory for \e size items.
- \li \l{QString::squeeze()}{squeeze()} frees any memory
- not required to store the items.
- \endlist
-
- If you know approximately how many items you will store in a
- container, you can start by calling reserve(), and when you are
- done populating the container, you can call squeeze() to release
- the extra preallocated memory.
-*/
diff --git a/doc/src/corelib/implicit-sharing.qdoc b/doc/src/corelib/implicit-sharing.qdoc
deleted file mode 100644
index e652e21253..0000000000
--- a/doc/src/corelib/implicit-sharing.qdoc
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/* TODO: Move some of the documentation from QSharedDataPointer into this
- document. */
-
-/*!
- \group shared
- \title Implicitly Shared Classes
-*/
-
-/*!
- \page implicit-sharing.html
- \title Implicit Sharing
- \ingroup qt-basic-concepts
-
- \brief Reference counting for fast copying.
-
- \keyword implicit data sharing
- \keyword implicit sharing
- \keyword implicitly shared
- \keyword reference counting
- \keyword shared implicitly
- \keyword shared classes
-
- Many C++ classes in Qt use implicit data sharing to maximize
- resource usage and minimize copying. Implicitly shared classes are
- both safe and efficient when passed as arguments, because only a
- pointer to the data is passed around, and the data is copied only
- if and when a function writes to it, i.e., \e {copy-on-write}.
-
- \tableofcontents
-
- \section1 Overview
-
- A shared class consists of a pointer to a shared data block that
- contains a reference count and the data.
-
- When a shared object is created, it sets the reference count to 1. The
- reference count is incremented whenever a new object references the
- shared data, and decremented when the object dereferences the shared
- data. The shared data is deleted when the reference count becomes
- zero.
-
- \keyword deep copy
- \keyword shallow copy
-
- When dealing with shared objects, there are two ways of copying an
- object. We usually speak about \e deep and \e shallow copies. A deep
- copy implies duplicating an object. A shallow copy is a reference
- copy, i.e. just a pointer to a shared data block. Making a deep copy
- can be expensive in terms of memory and CPU. Making a shallow copy is
- very fast, because it only involves setting a pointer and incrementing
- the reference count.
-
- Object assignment (with operator=()) for implicitly shared objects is
- implemented using shallow copies.
-
- The benefit of sharing is that a program does not need to duplicate
- data unnecessarily, which results in lower memory use and less copying
- of data. Objects can easily be assigned, sent as function arguments,
- and returned from functions.
-
- Implicit sharing takes place behind the scenes; the programmer
- does not need to worry about it. Even in multithreaded
- applications, implicit sharing takes place, as explained in
- \l{Thread-Support in Qt Modules#Threads and Implicitly Shared Classes}
- {Threads and Implicitly Shared Classes}.
-
- When implementing your own implicitly shared classes, use the
- QSharedData and QSharedDataPointer classes.
-
- \section1 Implicit Sharing in Detail
-
- Implicit sharing automatically detaches the object from a shared
- block if the object is about to change and the reference count is
- greater than one. (This is often called \e {copy-on-write} or
- \e {value semantics}.)
-
- An implicitly shared class has total control of its internal data. In
- any member functions that modify its data, it automatically detaches
- before modifying the data.
-
- The QPen class, which uses implicit sharing, detaches from the shared
- data in all member functions that change the internal data.
-
- Code fragment:
- \snippet doc/src/snippets/code/doc_src_groups.cpp 0
-
-
- \section1 List of Classes
-
- The classes listed below automatically detach from common data if
- an object is about to be changed. The programmer will not even
- notice that the objects are shared. Thus you should treat
- separate instances of them as separate objects. They will always
- behave as separate objects but with the added benefit of sharing
- data whenever possible. For this reason, you can pass instances
- of these classes as arguments to functions by value without
- concern for the copying overhead.
-
- Example:
- \snippet doc/src/snippets/code/doc_src_groups.cpp 1
-
- In this example, \c p1 and \c p2 share data until QPainter::begin()
- is called for \c p2, because painting a pixmap will modify it.
-
- \warning Do not copy an implicitly shared container (QMap,
- QVector, etc.) while you are iterating over it using an non-const
- \l{STL-style iterator}.
-
- \keyword implicitly shared classes
- \annotatedlist shared
-*/
diff --git a/doc/src/corelib/json.qdoc b/doc/src/corelib/json.qdoc
deleted file mode 100644
index 88b5377074..0000000000
--- a/doc/src/corelib/json.qdoc
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \group json
- \title JSON Classes
-*/
-
-/*!
- \page json.html
- \title JSON Support in Qt
- \ingroup qt-basic-concepts
- \brief An overview over the JSON support in Qt.
-
- \ingroup frameworks-technologies
-
- \keyword JSON
-
- Qt provides support for dealing with JSON data. JSON is a
- format to encode object data derived from Javascript, but
- now widely used as a data exchange format on the internet.
-
- The JSON support in Qt provides an easy to use C++ API to parse,
- modify and save JSON data. It also contains support for saving this
- data in a binary format that is directly mmap'able and very fast to
- access.
-
- More details about the JSON data format can be found at \link json.org
- and in \l{http://tools.ietf.org/html/rfc4627}{RFC-4627}.
-
- \tableofcontents
-
- \section1 Overview
-
- JSON is a format to store structured data. It has 6 basic data types:
-
- \list
- \li bool
- \li double
- \li string
- \li array
- \li object
- \li null
- \endlist
-
- Any value can be any of the above type. A boolean value is represented by the
- strings true or false in JSON. JSON doesn't explicitly specify the valid range
- for numbers, but the support in Qt is limited to the valid range and precision of
- doubles. A string can be any valid unicode string. An array is a list of values, and an
- object is a dictionary of key/value pairs. All keys in an object are strings, and
- an object cannot contain any duplicated keys.
-
- The text representation, of JSON encloses arrays in square brackets ([ ... ]) and
- objects in curly brackets ({ ... }). The different entries in arrays and objects
- are separated by commas. The separator between keys and values in an object is a
- colon (:).
-
- A simple JSON document encoding a person, its age, address and phone numbers could
- look like:
-
- \code
- {
- "FirstName": "John",
- "LastName": "Doe",
- "Age": 43,
- "Address": {
- "Street": "Downing Street 10",
- "City": "London",
- "Country": "Great Britain"
- },
- "Phone numbers": [
- "+44 1234567",
- "+44 2345678"
- ]
- }
- \endcode
-
- The above example consists of an object with 5 key/value pairs. Two of the values are strings,
- one is a number, one is another object and the last one an array.
-
- A valid JSON document is either an array or an object, so a document always starts
- with a square or curly bracket.
-
- The JSON support in Qt consists of a set of 4 classes.
-
-
- \section1 The JSON Classes
-
- The JSON support in Qt consists of these classes:
-
- \annotatedlist json
-
- All JSON classes are value based, implicitly shared classes.
-*/
diff --git a/doc/src/corelib/objectmodel/metaobjects.qdoc b/doc/src/corelib/objectmodel/metaobjects.qdoc
deleted file mode 100644
index c92f6f2f09..0000000000
--- a/doc/src/corelib/objectmodel/metaobjects.qdoc
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page metaobjects.html
- \title The Meta-Object System
- \brief An overview of Qt's meta-object system and introspection capabilities.
-
- \ingroup qt-basic-concepts
- \keyword meta-object
- \target Meta-Object System
-
- Qt's meta-object system provides the signals and slots mechanism for
- inter-object communication, run-time type information, and the dynamic
- property system.
-
- The meta-object system is based on three things:
-
- \list 1
- \li The \l QObject class provides a base class for objects that can
- take advantage of the meta-object system.
- \li The Q_OBJECT macro inside the private section of the class
- declaration is used to enable meta-object features, such as
- dynamic properties, signals, and slots.
- \li The \l{moc}{Meta-Object Compiler} (\c moc) supplies each
- QObject subclass with the necessary code to implement
- meta-object features.
- \endlist
-
- The \c moc tool reads a C++ source file. If it finds one or more
- class declarations that contain the Q_OBJECT macro, it
- produces another C++ source file which contains the meta-object
- code for each of those classes. This generated source file is
- either \c{#include}'d into the class's source file or, more
- usually, compiled and linked with the class's implementation.
-
- In addition to providing the \l{signals and slots} mechanism for
- communication between objects (the main reason for introducing
- the system), the meta-object code provides the following
- additional features:
-
- \list
- \li QObject::metaObject() returns the associated
- \l{QMetaObject}{meta-object} for the class.
- \li QMetaObject::className() returns the class name as a
- string at run-time, without requiring native run-time type information
- (RTTI) support through the C++ compiler.
- \li QObject::inherits() function returns whether an object is an
- instance of a class that inherits a specified class within the
- QObject inheritance tree.
- \li QObject::tr() and QObject::trUtf8() translate strings for
- \l{Internationalization with Qt}{internationalization}.
- \li QObject::setProperty() and QObject::property()
- dynamically set and get properties by name.
- \li QMetaObject::newInstance() constructs a new instance of the class.
- \endlist
-
- \target qobjectcast
- It is also possible to perform dynamic casts using qobject_cast()
- on QObject classes. The qobject_cast() function behaves similarly
- to the standard C++ \c dynamic_cast(), with the advantages
- that it doesn't require RTTI support and it works across dynamic
- library boundaries. It attempts to cast its argument to the pointer
- type specified in angle-brackets, returning a non-zero pointer if the
- object is of the correct type (determined at run-time), or 0
- if the object's type is incompatible.
-
- For example, let's assume \c MyWidget inherits from QWidget and
- is declared with the Q_OBJECT macro:
-
- \snippet doc/src/snippets/qtcast/qtcast.cpp 0
-
- The \c obj variable, of type \c{QObject *}, actually refers to a
- \c MyWidget object, so we can cast it appropriately:
-
- \snippet doc/src/snippets/qtcast/qtcast.cpp 1
-
- The cast from QObject to QWidget is successful, because the
- object is actually a \c MyWidget, which is a subclass of QWidget.
- Since we know that \c obj is a \c MyWidget, we can also cast it to
- \c{MyWidget *}:
-
- \snippet doc/src/snippets/qtcast/qtcast.cpp 2
-
- The cast to \c MyWidget is successful because qobject_cast()
- makes no distinction between built-in Qt types and custom types.
-
- \snippet doc/src/snippets/qtcast/qtcast.cpp 3
- \snippet doc/src/snippets/qtcast/qtcast.cpp 4
-
- The cast to QLabel, on the other hand, fails. The pointer is then
- set to 0. This makes it possible to handle objects of different
- types differently at run-time, based on the type:
-
- \snippet doc/src/snippets/qtcast/qtcast.cpp 5
- \snippet doc/src/snippets/qtcast/qtcast.cpp 6
-
- While it is possible to use QObject as a base class without the
- Q_OBJECT macro and without meta-object code, neither signals
- and slots nor the other features described here will be available
- if the Q_OBJECT macro is not used. From the meta-object
- system's point of view, a QObject subclass without meta code is
- equivalent to its closest ancestor with meta-object code. This
- means for example, that QMetaObject::className() will not return
- the actual name of your class, but the class name of this
- ancestor.
-
- Therefore, we strongly recommend that all subclasses of QObject
- use the Q_OBJECT macro regardless of whether or not they
- actually use signals, slots, and properties.
-
- \sa QMetaObject, {Qt's Property System}, {Signals and Slots}
-*/
diff --git a/doc/src/corelib/objectmodel/object.qdoc b/doc/src/corelib/objectmodel/object.qdoc
deleted file mode 100644
index 4e212b37dd..0000000000
--- a/doc/src/corelib/objectmodel/object.qdoc
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page object.html
- \title Object Model
- \ingroup qt-basic-concepts
- \brief A description of the powerful features made possible by Qt's dynamic object model.
-
- The standard C++ object model provides very efficient runtime
- support for the object paradigm. But its static nature is
- inflexibile in certain problem domains. Graphical user interface
- programming is a domain that requires both runtime efficiency and
- a high level of flexibility. Qt provides this, by combining the
- speed of C++ with the flexibility of the Qt Object Model.
-
- Qt adds these features to C++:
-
- \list
- \li a very powerful mechanism for seamless object
- communication called \l{signals and slots}
- \li queryable and designable \l{Qt's Property System}{object
- properties}
- \li powerful \l{The Event System}{events and event filters}
- \li contextual \l{i18n}{string translation for internationalization}
- \li sophisticated interval driven \l timers that make it possible
- to elegantly integrate many tasks in an event-driven GUI
- \li hierarchical and queryable \l{Object Trees & Ownership}{object
- trees} that organize object ownership in a natural way
- \li guarded pointers (QPointer) that are automatically
- set to 0 when the referenced object is destroyed, unlike normal C++
- pointers which become dangling pointers when their objects are destroyed
- \li a \l{metaobjects.html#qobjectcast}{dynamic cast} that works across
- library boundaries.
- \endlist
-
- Many of these Qt features are implemented with standard C++
- techniques, based on inheritance from QObject. Others, like the
- object communication mechanism and the dynamic property system,
- require the \l{Meta-Object System} provided
- by Qt's own \l{moc}{Meta-Object Compiler (moc)}.
-
- The meta-object system is a C++ extension that makes the language
- better suited to true component GUI programming. Although
- templates can be used to extend C++, the meta-object system
- provides benefits using standard C++ that cannot be achieved with
- templates; see \l{Why Doesn't Qt Use Templates for Signals and
- Slots?}
-
- \section1 Important Classes
-
- These classes form the basis of the Qt Object Model.
-
- \annotatedlist objectmodel
-
- \target Identity vs Value
- \section1 Qt Objects: Identity vs Value
-
- Some of the added features listed above for the Qt Object Model,
- require that we think of Qt Objects as identities, not values.
- Values are copied or assigned; identities are cloned. Cloning
- means to create a new identity, not an exact copy of the old
- one. For example, twins have different identities. They may look
- identical, but they have different names, different locations, and
- may have completely different social networks.
-
- Then cloning an identity is a more complex operation than copying
- or assigning a value. We can see what this means in the Qt Object
- Model.
-
- \b{A Qt Object...}
-
- \list
-
- \li might have a unique \l{QObject::objectName()}. If we copy a Qt
- Object, what name should we give the copy?
-
- \li has a location in an \l{Object Trees & Ownership}
- {object hierarchy}. If we copy a Qt Object, where should the copy
- be located?
-
- \li can be connected to other Qt Objects to emit signals to them or
- to receive signals emitted by them. If we copy a Qt Object, how
- should we transfer these connections to the copy?
-
- \li can have \l{Qt's Property System} {new properties} added to it
- at runtime that are not declared in the C++ class. If we copy a Qt
- Object, should the copy include the properties that were added to
- the original?
-
- \endlist
-
- For these reasons, Qt Objects should be treated as identities, not
- as values. Identities are cloned, not copied or assigned, and
- cloning an identity is a more complex operation than copying or
- assigning a value. Therefore, QObject and all subclasses of
- QObject (direct or indirect) have their \l{No copy constructor}
- {copy constructor and assignment operator} disabled.
-
- */
diff --git a/doc/src/corelib/objectmodel/objecttrees.qdoc b/doc/src/corelib/objectmodel/objecttrees.qdoc
deleted file mode 100644
index 3e51eeba83..0000000000
--- a/doc/src/corelib/objectmodel/objecttrees.qdoc
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page objecttrees.html
- \title Object Trees & Ownership
- \ingroup qt-basic-concepts
- \brief Information about the parent-child pattern used to describe
- object ownership in Qt.
-
- \section1 Overview
-
- \link QObject QObjects\endlink organize themselves in object trees.
- When you create a QObject with another object as parent, it's added to
- the parent's \link QObject::children() children() \endlink list, and
- is deleted when the parent is. It turns out that this approach fits
- the needs of GUI objects very well. For example, a \l QShortcut
- (keyboard shortcut) is a child of the relevant window, so when the
- user closes that window, the shorcut is deleted too.
-
- \l QWidget, the base class of everything that appears on the screen,
- extends the parent-child relationship. A child normally also becomes a
- child widget, i.e. it is displayed in its parent's coordinate system
- and is graphically clipped by its parent's boundaries. For example,
- when the application deletes a message box after it has been
- closed, the message box's buttons and label are also deleted, just as
- we'd want, because the buttons and label are children of the message
- box.
-
- You can also delete child objects yourself, and they will remove
- themselves from their parents. For example, when the user removes a
- toolbar it may lead to the application deleting one of its \l QToolBar
- objects, in which case the tool bar's \l QMainWindow parent would
- detect the change and reconfigure its screen space accordingly.
-
- The debugging functions \l QObject::dumpObjectTree() and \l
- QObject::dumpObjectInfo() are often useful when an application looks or
- acts strangely.
-
- \target note on the order of construction/destruction of QObjects
- \section1 Construction/Destruction Order of QObjects
-
- When \l {QObject} {QObjects} are created on the heap (i.e., created
- with \e new), a tree can be constructed from them in any order, and
- later, the objects in the tree can be destroyed in any order. When any
- QObject in the tree is deleted, if the object has a parent, the
- destructor automatically removes the object from its parent. If the
- object has children, the destructor automatically deletes each
- child. No QObject is deleted twice, regardless of the order of
- destruction.
-
- When \l {QObject} {QObjects} are created on the stack, the same
- behavior applies. Normally, the order of destruction still doesn't
- present a problem. Consider the following snippet:
-
- \snippet doc/src/snippets/code/doc_src_objecttrees.cpp 0
-
- The parent, \c window, and the child, \c quit, are both \l {QObject}
- {QObjects} because QPushButton inherits QWidget, and QWidget inherits
- QObject. This code is correct: the destructor of \c quit is \e not
- called twice because the C++ language standard \e {(ISO/IEC 14882:2003)}
- specifies that destructors of local objects are called in the reverse
- order of their constructors. Therefore, the destructor of
- the child, \c quit, is called first, and it removes itself from its
- parent, \c window, before the destructor of \c window is called.
-
- But now consider what happens if we swap the order of construction, as
- shown in this second snippet:
-
- \snippet doc/src/snippets/code/doc_src_objecttrees.cpp 1
-
- In this case, the order of destruction causes a problem. The parent's
- destructor is called first because it was created last. It then calls
- the destructor of its child, \c quit, which is incorrect because \c
- quit is a local variable. When \c quit subsequently goes out of scope,
- its destructor is called again, this time correctly, but the damage has
- already been done.
-*/
diff --git a/doc/src/corelib/objectmodel/properties.qdoc b/doc/src/corelib/objectmodel/properties.qdoc
deleted file mode 100644
index 4d090af8fc..0000000000
--- a/doc/src/corelib/objectmodel/properties.qdoc
+++ /dev/null
@@ -1,273 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page properties.html
- \title The Property System
- \brief An overview of Qt's property system.
-
- \ingroup qt-basic-concepts
- \target Qt's Property System
-
- Qt provides a sophisticated property system similar to the ones
- supplied by some compiler vendors. However, as a compiler- and
- platform-independent library, Qt does not rely on non-standard
- compiler features like \c __property or \c [property]. The Qt
- solution works with \e any standard C++ compiler on every platform
- Qt supports. It is based on the \l {Meta-Object System} that also
- provides inter-object communication via \l{signals and slots}.
-
- \section1 Requirements for Declaring Properties
-
- To declare a property, use the \l {Q_PROPERTY()} {Q_PROPERTY()}
- macro in a class that inherits QObject.
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 0
-
- Here are some typical examples of property declarations taken from
- class QWidget.
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 1
-
- A property behaves like a class data member, but it has additional
- features accessible through the \l {Meta-Object System}.
-
- \list
-
- \li A \c READ accessor function is required. It is for reading the
- property value. Ideally, a const function is used for this purpose,
- and it must return either the property's type or a pointer or
- reference to that type. e.g., QWidget::focus is a read-only property
- with \c READ function, QWidget::hasFocus().
-
- \li A \c WRITE accessor function is optional. It is for setting the
- property value. It must return void and must take exactly one
- argument, either of the property's type or a pointer or reference
- to that type. e.g., QWidget::enabled has the \c WRITE function
- QWidget::setEnabled(). Read-only properties do not need \c WRITE
- functions. e.g., QWidget::focus has no \c WRITE function.
-
- \li A \c RESET function is optional. It is for setting the property
- back to its context specific default value. e.g., QWidget::cursor
- has the typical \c READ and \c WRITE functions, QWidget::cursor()
- and QWidget::setCursor(), and it also has a \c RESET function,
- QWidget::unsetCursor(), since no call to QWidget::setCursor() can
- mean \e {reset to the context specific cursor}. The \c RESET
- function must return void and take no parameters.
-
- \li A \c NOTIFY signal is optional. If defined, it should specify one
- existing signal in that class that is emitted whenever the value
- of the property changes.
-
- \li A \c REVISION number is optional. If included, it defines the
- the property and its notifier signal to be used in a particular
- revision of the API that is exposed to QML.
-
- \li The \c DESIGNABLE attribute indicates whether the property
- should be visible in the property editor of GUI design tool (e.g.,
- \l {Qt Designer}). Most properties are \c DESIGNABLE (default
- true). Instead of true or false, you can specify a boolean
- member function.
-
- \li The \c SCRIPTABLE attribute indicates whether this property
- should be accessible by a scripting engine (default true).
- Instead of true or false, you can specify a boolean member
- function.
-
- \li The \c STORED attribute indicates whether the property should
- be thought of as existing on its own or as depending on other
- values. It also indicates whether the property value must be saved
- when storing the object's state. Most properties are \c STORED
- (default true), but e.g., QWidget::minimumWidth() has \c STORED
- false, because its value is just taken from the width component
- of property QWidget::minimumSize(), which is a QSize.
-
- \li The \c USER attribute indicates whether the property is
- designated as the user-facing or user-editable property for the
- class. Normally, there is only one \c USER property per class
- (default false). e.g., QAbstractButton::checked is the user
- editable property for (checkable) buttons. Note that QItemDelegate
- gets and sets a widget's \c USER property.
-
- \li The presence of the \c CONSTANT attibute indicates that the property
- value is constant. For a given object instance, the READ method of a
- constant property must return the same value every time it is called. This
- constant value may be different for different instances of the object. A
- constant property cannot have a WRITE method or a NOTIFY signal.
-
- \li The presence of the \c FINAL attribute indicates that the property
- will not be overridden by a derived class. This can be used for performance
- optimizations in some cases, but is not enforced by moc. Care must be taken
- never to override a \c FINAL property.
-
- \endlist
-
- The \c READ, \c WRITE, and \c RESET functions can be inherited.
- They can also be virtual. When they are inherited in classes where
- multiple inheritance is used, they must come from the first
- inherited class.
-
- The property type can be any type supported by QVariant, or it can
- be a user-defined type. In this example, class QDate is considered
- to be a user-defined type.
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 2
-
- Because QDate is user-defined, you must include the \c{<QDate>}
- header file with the property declaration.
-
- For QMap, QList, and QValueList properties, the property value is
- a QVariant whose value is the entire list or map. Note that the
- Q_PROPERTY string cannot contain commas, because commas separate
- macro arguments. Therefore, you must use \c QMap as the property
- type instead of \c QMap<QString,QVariant>. For consistency, also
- use \c QList and \c QValueList instead of \c QList<QVariant> and
- \c QValueList<QVariant>.
-
- \section1 Reading and Writing Properties with the Meta-Object System
-
- A property can be read and written using the generic functions
- QObject::property() and QObject::setProperty(), without knowing
- anything about the owning class except the property's name. In
- the code snippet below, the call to QAbstractButton::setDown() and
- the call to QObject::setProperty() both set property "down".
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 3
-
- Accessing a property through its \c WRITE accessor is the better
- of the two, because it is faster and gives better diagnostics at
- compile time, but setting the property this way requires that you
- know about the class at compile time. Accessing properties by name
- lets you access classes you don't know about at compile time. You
- can \e discover a class's properties at run time by querying its
- QObject, QMetaObject, and \l {QMetaProperty} {QMetaProperties}.
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 4
-
- In the above snippet, QMetaObject::property() is used to get \l
- {QMetaProperty} {metadata} about each property defined in some
- unknown class. The property name is fetched from the metadata and
- passed to QObject::property() to get the \l {QVariant} {value} of
- the property in the current \l {QObject}{object}.
-
- \section1 A Simple Example
-
- Suppose we have a class MyClass, which is derived from QObject and
- which uses the Q_OBJECT macro in its private section. We want to
- declare a property in MyClass to keep track of a priorty
- value. The name of the property will be \e priority, and its type
- will be an enumeration type named \e Priority, which is defined in
- MyClass.
-
- We declare the property with the Q_PROPERTY() macro in the private
- section of the class. The required \c READ function is named \c
- priority, and we include a \c WRITE function named \c setPriority.
- The enumeration type must be registered with the \l {Meta-Object
- System} using the Q_ENUMS() macro. Registering an enumeration type
- makes the enumerator names available for use in calls to
- QObject::setProperty(). We must also provide our own declarations
- for the \c READ and \c WRITE functions. The declaration of MyClass
- then might look like this:
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 5
-
- The \c READ function is const and returns the property type. The
- \c WRITE function returns void and has exactly one parameter of
- the property type. The meta-object compiler enforces these
- requirements.
-
- Given a pointer to an instance of MyClass or a pointer to a
- QObject that is an instance of MyClass, we have two ways to set
- its priority property:
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 6
-
- In the example, the enumeration type that is the property type is
- declared in MyClass and registered with the \l{Meta-Object System}
- using the Q_ENUMS() macro. This makes the enumeration values
- available as strings for use as in the call to setProperty(). Had
- the enumeration type been declared in another class, its fully
- qualified name (i.e., OtherClass::Priority) would be required, and
- that other class would also have to inherit QObject and register
- the enumeration type there using the Q_ENUMS() macro.
-
- A similar macro, Q_FLAGS(), is also available. Like Q_ENUMS(), it
- registers an enumeration type, but it marks the type as being a
- set of \e flags, i.e. values that can be OR'd together. An I/O
- class might have enumeration values \c Read and \c Write and then
- QObject::setProperty() could accept \c{Read | Write}. Q_FLAGS()
- should be used to register this enumeration type.
-
- \section1 Dynamic Properties
-
- QObject::setProperty() can also be used to add \e new properties
- to an instance of a class at runtime. When it is called with a
- name and a value, if a property with the given name exists in the
- QObject, and if the given value is compatible with the property's
- type, the value is stored in the property, and true is returned.
- If the value is \e not compatible with the property's type, the
- property is \e not changed, and false is returned. But if the
- property with the given name doesn't exist in the QObject (i.e.,
- if it wasn't declared with Q_PROPERTY(), a new property with the
- given name and value is automatically added to the QObject, but
- false is still returned. This means that a return of false can't
- be used to determine whether a particular property was actually
- set, unless you know in advance that the property already exists
- in the QObject.
-
- Note that \e dynamic properties are added on a per instance basis,
- i.e., they are added to QObject, not QMetaObject. A property can
- be removed from an instance by passing the property name and an
- invalid QVariant value to QObject::setProperty(). The default
- constructor for QVariant constructs an invalid QVariant.
-
- Dynamic properties can be queried with QObject::property(), just
- like properties declared at compile time with Q_PROPERTY().
-
- \sa {Meta-Object System}, {Signals and Slots}
-
- \section1 Properties and Custom Types
-
- Custom types used by properties need to be registered using the
- Q_DECLARE_METATYPE() macro so that their values can be stored in
- QVariant objects. This makes them suitable for use with both
- static properties declared using the Q_PROPERTY() macro in class
- definitions and dynamic properties created at run-time.
-
- \sa Q_DECLARE_METATYPE(), QMetaType, QVariant
-
- \section1 Adding Additional Information to a Class
-
- Connected to the property system is an additional macro,
- Q_CLASSINFO(), that can be used to attach additional
- \e{name}--\e{value} pairs to a class's meta-object, for example:
-
- \snippet doc/src/snippets/code/doc_src_properties.cpp 7
-
- Like other meta-data, class information is accessible at run-time
- through the meta-object; see QMetaObject::classInfo() for details.
-*/
diff --git a/doc/src/corelib/objectmodel/signalsandslots.qdoc b/doc/src/corelib/objectmodel/signalsandslots.qdoc
deleted file mode 100644
index 9100980121..0000000000
--- a/doc/src/corelib/objectmodel/signalsandslots.qdoc
+++ /dev/null
@@ -1,468 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page signalsandslots.html
- \title Signals & Slots
- \ingroup qt-basic-concepts
- \brief An overview of Qt's signals and slots inter-object
- communication mechanism.
-
- Signals and slots are used for communication between objects. The
- signals and slots mechanism is a central feature of Qt and
- probably the part that differs most from the features provided by
- other frameworks.
-
- \tableofcontents
-
- \section1 Introduction
-
- In GUI programming, when we change one widget, we often want
- another widget to be notified. More generally, we want objects of
- any kind to be able to communicate with one another. For example,
- if a user clicks a \gui{Close} button, we probably want the
- window's \l{QWidget::close()}{close()} function to be called.
-
- Older toolkits achieve this kind of communication using
- callbacks. A callback is a pointer to a function, so if you want
- a processing function to notify you about some event you pass a
- pointer to another function (the callback) to the processing
- function. The processing function then calls the callback when
- appropriate. Callbacks have two fundamental flaws: Firstly, they
- are not type-safe. We can never be certain that the processing
- function will call the callback with the correct arguments.
- Secondly, the callback is strongly coupled to the processing
- function since the processing function must know which callback
- to call.
-
- \section1 Signals and Slots
-
- In Qt, we have an alternative to the callback technique: We use
- signals and slots. A signal is emitted when a particular event
- occurs. Qt's widgets have many predefined signals, but we can
- always subclass widgets to add our own signals to them. A slot
- is a function that is called in response to a particular signal.
- Qt's widgets have many pre-defined slots, but it is common
- practice to subclass widgets and add your own slots so that you
- can handle the signals that you are interested in.
-
- \img abstract-connections.png
- \omit
- \caption An abstract view of some signals and slots connections
- \endomit
-
- The signals and slots mechanism is type safe: The signature of a
- signal must match the signature of the receiving slot. (In fact a
- slot may have a shorter signature than the signal it receives
- because it can ignore extra arguments.) Since the signatures are
- compatible, the compiler can help us detect type mismatches.
- Signals and slots are loosely coupled: A class which emits a
- signal neither knows nor cares which slots receive the signal.
- Qt's signals and slots mechanism ensures that if you connect a
- signal to a slot, the slot will be called with the signal's
- parameters at the right time. Signals and slots can take any
- number of arguments of any type. They are completely type safe.
-
- All classes that inherit from QObject or one of its subclasses
- (e.g., QWidget) can contain signals and slots. Signals are emitted by
- objects when they change their state in a way that may be interesting
- to other objects. This is all the object does to communicate. It
- does not know or care whether anything is receiving the signals it
- emits. This is true information encapsulation, and ensures that the
- object can be used as a software component.
-
- Slots can be used for receiving signals, but they are also normal
- member functions. Just as an object does not know if anything receives
- its signals, a slot does not know if it has any signals connected to
- it. This ensures that truly independent components can be created with
- Qt.
-
- You can connect as many signals as you want to a single slot, and a
- signal can be connected to as many slots as you need. It is even
- possible to connect a signal directly to another signal. (This will
- emit the second signal immediately whenever the first is emitted.)
-
- Together, signals and slots make up a powerful component programming
- mechanism.
-
- \section1 A Small Example
-
- A minimal C++ class declaration might read:
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.h 0
-
- A small QObject-based class might read:
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.h 1
- \codeline
- \snippet doc/src/snippets/signalsandslots/signalsandslots.h 2
- \snippet doc/src/snippets/signalsandslots/signalsandslots.h 3
-
- The QObject-based version has the same internal state, and provides
- public methods to access the state, but in addition it has support
- for component programming using signals and slots. This class can
- tell the outside world that its state has changed by emitting a
- signal, \c{valueChanged()}, and it has a slot which other objects
- can send signals to.
-
- All classes that contain signals or slots must mention
- Q_OBJECT at the top of their declaration. They must also derive
- (directly or indirectly) from QObject.
-
- Slots are implemented by the application programmer.
- Here is a possible implementation of the \c{Counter::setValue()}
- slot:
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 0
-
- The \c{emit} line emits the signal \c valueChanged() from the
- object, with the new value as argument.
-
- In the following code snippet, we create two \c Counter objects
- and connect the first object's \c valueChanged() signal to the
- second object's \c setValue() slot using QObject::connect():
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 1
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 2
- \codeline
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 3
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 4
-
- Calling \c{a.setValue(12)} makes \c{a} emit a
- \c{valueChanged(12)} signal, which \c{b} will receive in its
- \c{setValue()} slot, i.e. \c{b.setValue(12)} is called. Then
- \c{b} emits the same \c{valueChanged()} signal, but since no slot
- has been connected to \c{b}'s \c{valueChanged()} signal, the
- signal is ignored.
-
- Note that the \c{setValue()} function sets the value and emits
- the signal only if \c{value != m_value}. This prevents infinite
- looping in the case of cyclic connections (e.g., if
- \c{b.valueChanged()} were connected to \c{a.setValue()}).
-
- By default, for every connection you make, a signal is emitted;
- two signals are emitted for duplicate connections. You can break
- all of these connections with a single disconnect() call.
- If you pass the Qt::UniqueConnection \a type, the connection will only
- be made if it is not a duplicate. If there is already a duplicate
- (exact same signal to the exact same slot on the same objects),
- the connection will fail and connect will return false
-
- This example illustrates that objects can work together without needing to
- know any information about each other. To enable this, the objects only
- need to be connected together, and this can be achieved with some simple
- QObject::connect() function calls, or with \c{uic}'s
- \l{Using a Designer UI File in Your Application#Automatic Connections}
- {automatic connections} feature.
-
- \section1 Building the Example
-
- The C++ preprocessor changes or removes the \c{signals},
- \c{slots}, and \c{emit} keywords so that the compiler is
- presented with standard C++.
-
- By running the \l moc on class definitions that contain signals
- or slots, a C++ source file is produced which should be compiled
- and linked with the other object files for the application. If
- you use \l qmake, the makefile rules to automatically invoke \c
- moc will be added to your project's makefile.
-
- \section1 Signals
-
- Signals are emitted by an object when its internal state has changed
- in some way that might be interesting to the object's client or owner.
- Signals are public access functions and can be emitted from anywhere,
- but we recommend to only emit them from the class that defines the
- signal and its subclasses.
-
- When a signal is emitted, the slots connected to it are usually
- executed immediately, just like a normal function call. When this
- happens, the signals and slots mechanism is totally independent of
- any GUI event loop. Execution of the code following the \c emit
- statement will occur once all slots have returned. The situation is
- slightly different when using \l{Qt::ConnectionType}{queued
- connections}; in such a case, the code following the \c emit keyword
- will continue immediately, and the slots will be executed later.
-
- If several slots are connected to one signal, the slots will be
- executed one after the other, in the order they have been connected,
- when the signal is emitted.
-
- Signals are automatically generated by the \l moc and must not be
- implemented in the \c .cpp file. They can never have return types
- (i.e. use \c void).
-
- A note about arguments: Our experience shows that signals and slots
- are more reusable if they do not use special types. If
- QScrollBar::valueChanged() were to use a special type such as the
- hypothetical QScrollBar::Range, it could only be connected to
- slots designed specifically for QScrollBar. Connecting different
- input widgets together would be impossible.
-
- \section1 Slots
-
- A slot is called when a signal connected to it is emitted. Slots are
- normal C++ functions and can be called normally; their only special
- feature is that signals can be connected to them.
-
- Since slots are normal member functions, they follow the normal C++
- rules when called directly. However, as slots, they can be invoked
- by any component, regardless of its access level, via a signal-slot
- connection. This means that a signal emitted from an instance of an
- arbitrary class can cause a private slot to be invoked in an instance
- of an unrelated class.
-
- You can also define slots to be virtual, which we have found quite
- useful in practice.
-
- Compared to callbacks, signals and slots are slightly slower
- because of the increased flexibility they provide, although the
- difference for real applications is insignificant. In general,
- emitting a signal that is connected to some slots, is
- approximately ten times slower than calling the receivers
- directly, with non-virtual function calls. This is the overhead
- required to locate the connection object, to safely iterate over
- all connections (i.e. checking that subsequent receivers have not
- been destroyed during the emission), and to marshall any
- parameters in a generic fashion. While ten non-virtual function
- calls may sound like a lot, it's much less overhead than any \c
- new or \c delete operation, for example. As soon as you perform a
- string, vector or list operation that behind the scene requires
- \c new or \c delete, the signals and slots overhead is only
- responsible for a very small proportion of the complete function
- call costs. The same is true whenever you do a system call in a slot;
- or indirectly call more than ten functions.
- The simplicity and flexibility of the signals and slots mechanism is
- well worth the overhead, which your users won't even notice.
-
- Note that other libraries that define variables called \c signals
- or \c slots may cause compiler warnings and errors when compiled
- alongside a Qt-based application. To solve this problem, \c
- #undef the offending preprocessor symbol.
-
- \section1 Meta-Object Information
-
- The meta-object compiler (\l moc) parses the class declaration in
- a C++ file and generates C++ code that initializes the
- meta-object. The meta-object contains the names of all the signal
- and slot members, as well as pointers to these functions.
-
- The meta-object contains additional information such as the
- object's \link QObject::className() class name\endlink. You can
- also check if an object \link QObject::inherits()
- inherits\endlink a specific class, for example:
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 5
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 6
-
- The meta-object information is also used by qobject_cast<T>(), which
- is similar to QObject::inherits() but is less error-prone:
-
- \snippet doc/src/snippets/signalsandslots/signalsandslots.cpp 7
-
- See \l{Meta-Object System} for more information.
-
- \section1 A Real Example
-
- Here is a simple commented example of a widget.
-
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 0
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 1
- \codeline
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 2
- \codeline
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 3
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 4
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 5
-
- \c LcdNumber inherits QObject, which has most of the signal-slot
- knowledge, via QFrame and QWidget. It is somewhat similar to the
- built-in QLCDNumber widget.
-
- The Q_OBJECT macro is expanded by the preprocessor to declare
- several member functions that are implemented by the \c{moc}; if
- you get compiler errors along the lines of "undefined reference
- to vtable for \c{LcdNumber}", you have probably forgotten to
- \l{moc}{run the moc} or to include the moc output in the link
- command.
-
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 6
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 7
-
- It's not obviously relevant to the moc, but if you inherit
- QWidget you almost certainly want to have the \c parent argument
- in your constructor and pass it to the base class's constructor.
-
- Some destructors and member functions are omitted here; the \c
- moc ignores member functions.
-
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 8
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 9
-
- \c LcdNumber emits a signal when it is asked to show an impossible
- value.
-
- If you don't care about overflow, or you know that overflow
- cannot occur, you can ignore the \c overflow() signal, i.e. don't
- connect it to any slot.
-
- If on the other hand you want to call two different error
- functions when the number overflows, simply connect the signal to
- two different slots. Qt will call both (in the order they were connected).
-
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 10
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 11
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 12
- \codeline
- \snippet doc/src/snippets/signalsandslots/lcdnumber.h 13
-
- A slot is a receiving function used to get information about
- state changes in other widgets. \c LcdNumber uses it, as the code
- above indicates, to set the displayed number. Since \c{display()}
- is part of the class's interface with the rest of the program,
- the slot is public.
-
- Several of the example programs connect the
- \l{QScrollBar::valueChanged()}{valueChanged()} signal of a
- QScrollBar to the \c display() slot, so the LCD number
- continuously shows the value of the scroll bar.
-
- Note that \c display() is overloaded; Qt will select the
- appropriate version when you connect a signal to the slot. With
- callbacks, you'd have to find five different names and keep track
- of the types yourself.
-
- Some irrelevant member functions have been omitted from this
- example.
-
- \section1 Signals And Slots With Default Arguments
-
- The signatures of signals and slots may contain arguments, and the
- arguments can have default values. Consider QObject::destroyed():
-
- \code
- void destroyed(QObject* = 0);
- \endcode
-
- When a QObject is deleted, it emits this QObject::destroyed()
- signal. We want to catch this signal, wherever we might have a
- dangling reference to the deleted QObject, so we can clean it up.
- A suitable slot signature might be:
-
- \code
- void objectDestroyed(QObject* obj = 0);
- \endcode
-
- To connect the signal to the slot, we use QObject::connect().
- There are several ways to connect signal and slots. The first is to use
- function pointers:
- \code
- connect(sender, &QObject::destroyed, this, &MyObject::objectDestroyed);
- \endcode
-
- There are several advantages to using connect() with function pointers.
- First, it allows the compiler to check that the signal's arguments are
- compatible with the slot's arguments. Arguments can also be implicitly
- converted by the compiler, if needed.
-
- You can also connect to functors or C++11 lamdas:
-
- \code
- connect(sender, &QObject::destroyed, [=](){ this->m_objects.remove(sender); });
- \endcode
-
- Note that if your compiler does not support C++11 variadic templates,
- this syntax only works if the signal and slot have 6 arguments or less.
-
- The other way to connect a signal to a slot is to use QObject::connect()
- and the \c{SIGNAL} and \c{SLOT} macros.
- The rule about whether to
- include arguments or not in the \c{SIGNAL()} and \c{SLOT()}
- macros, if the arguments have default values, is that the
- signature passed to the \c{SIGNAL()} macro must \e not have fewer
- arguments than the signature passed to the \c{SLOT()} macro.
-
- All of these would work:
- \code
- connect(sender, SIGNAL(destroyed(QObject*)), this, SLOT(objectDestroyed(Qbject*)));
- connect(sender, SIGNAL(destroyed(QObject*)), this, SLOT(objectDestroyed()));
- connect(sender, SIGNAL(destroyed()), this, SLOT(objectDestroyed()));
- \endcode
- But this one won't work:
- \code
- connect(sender, SIGNAL(destroyed()), this, SLOT(objectDestroyed(QObject*)));
- \endcode
-
- ...because the slot will be expecting a QObject that the signal
- will not send. This connection will report a runtime error.
-
- Note that signal and slot arguments are not checked by the compiler when
- using this QObject::connect() overload.
-
- \section1 Advanced Signals and Slots Usage
-
- For cases where you may require information on the sender of the
- signal, Qt provides the QObject::sender() function, which returns
- a pointer to the object that sent the signal.
-
- The QSignalMapper class is provided for situations where many
- signals are connected to the same slot and the slot needs to
- handle each signal differently.
-
- Suppose you have three push buttons that determine which file you
- will open: "Tax File", "Accounts File", or "Report File".
-
- In order to open the correct file, you use QSignalMapper::setMapping() to
- map all the clicked() signals to a QSignalMapper object. Then you connect
- the file's QPushButton::clicked() signal to the QSignalMapper::map() slot.
-
- \snippet doc/src/snippets/signalmapper/filereader.cpp 0
-
- Then, you connect the \l{QSignalMapper::}{mapped()} signal to
- \c{readFile()} where a different file will be opened, depending on
- which push button is pressed.
-
- \snippet doc/src/snippets/signalmapper/filereader.cpp 1
-
- \sa {Meta-Object System}, {Qt's Property System}
-
- \target 3rd Party Signals and Slots
- \section2 Using Qt with 3rd Party Signals and Slots
-
- It is possible to use Qt with a 3rd party signal/slot mechanism.
- You can even use both mechanisms in the same project. Just add the
- following line to your qmake project (.pro) file.
-
- \snippet doc/src/snippets/code/doc_src_containers.cpp 22
-
- It tells Qt not to define the moc keywords \c{signals}, \c{slots},
- and \c{emit}, because these names will be used by a 3rd party
- library, e.g. Boost. Then to continue using Qt signals and slots
- with the \c{no_keywords} flag, simply replace all uses of the Qt
- moc keywords in your sources with the corresponding Qt macros
- Q_SIGNALS (or Q_SIGNAL), Q_SLOTS (or Q_SLOT), and Q_EMIT.
-*/
diff --git a/doc/src/corelib/qtcore.qdoc b/doc/src/corelib/qtcore.qdoc
deleted file mode 100644
index 36d128e3df..0000000000
--- a/doc/src/corelib/qtcore.qdoc
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \module QtCore
- \title QtCore Module
- \ingroup modules
-
- \keyword QtCore
-
- \brief The QtCore module contains core non-GUI functionality.
-
- All other Qt modules rely on this module. To include the
- definitions of the module's classes, use the following directive:
-
- \snippet doc/src/snippets/code/doc_src_qtcore.cpp 0
-*/
-
diff --git a/doc/src/corelib/threads-basics.qdoc b/doc/src/corelib/threads-basics.qdoc
deleted file mode 100644
index e54f8a7ccb..0000000000
--- a/doc/src/corelib/threads-basics.qdoc
+++ /dev/null
@@ -1,572 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page thread-basics.html
- \ingroup tutorials
- \startpage {index.html}{Qt Reference Documentation}
-
- \title Threading Basics
- \brief An introduction to threads
-
- \section1 What Are Threads?
-
- Threads are about doing things in parallel, just like processes. So how do
- threads differ from processes? While you are making calculations on a
- spreadsheet, there may also be a media player running on the same desktop
- playing your favorite song. Here is an example of two processes working in
- parallel: one running the spreadsheet program; one running a media player.
- Multitasking is a well known term for this. A closer look at the media
- player reveals that there are again things going on in parallel within one
- single process. While the media player is sending music to the audio driver,
- the user interface with all its bells and whistles is being constantly
- updated. This is what threads are for \mdash concurrency within one single
- process.
-
- So how is concurrency implemented? Parallel work on single core CPUs is an
- illusion which is somewhat similar to the illusion of moving images in
- cinema.
- For processes, the illusion is produced by interrupting the processor's
- work on one process after a very short time. Then the processor moves on to
- the next process. In order to switch between processes, the current program
- counter is saved and the next processor's program counter is loaded. This
- is not sufficient because the same needs to be done with registers and
- certain architecture and OS specific data.
-
- Just as one CPU can power two or more processes, it is also possible to let
- the CPU run on two different code segments of one single process. When a
- process starts, it always executes one code segment and therefore the
- process is said to have one thread. However, the program may decide to
- start a second thread. Then, two different code sequences are processed
- simultaneously inside one process. Concurrency is achieved on single core
- CPUs by repeatedly saving program counters and registers then loading the
- next thread's program counters and registers. No cooperation from the
- program is required to cycle between the active threads. A thread may be in
- any state when the switch to the next thread occurs.
-
- The current trend in CPU design is to have several cores. A typical
- single-threaded application can make use of only one core. However, a
- program with multiple threads can be assigned to multiple cores, making
- things happen in a truly concurrent way. As a result, distributing work
- to more than one thread can make a program run much faster on multicore
- CPUs because additional cores can be used.
-
- \section2 GUI Thread and Worker Thread
-
- As mentioned, each program has one thread when it is started. This thread
- is called the "main thread" (also known as the "GUI thread" in Qt
- applications). The Qt GUI must run in this thread. All widgets and several
- related classes, for example QPixmap, don't work in secondary threads.
- A secondary thread is commonly referred to as a "worker thread" because it
- is used to offload processing work from the main thread.
-
- \section2 Simultaneous Access to Data
-
- Each thread has its own stack, which means each thread has its own call
- history and local variables. Unlike processes, threads share the same
- address space. The following diagram shows how the building blocks of
- threads are located in memory. Program counter and registers of inactive
- threads are typically kept in kernel space. There is a shared copy of the
- code and a separate stack for each thread.
-
- \image threadvisual-example.png "Thread visualization"
-
- If two threads have a pointer to the same object, it is possible that both
- threads will access that object at the same time and this can potentially
- destroy the object's integrity. It's easy to imagine the many things that
- can go wrong when two methods of the same object are executed
- simultaneously.
-
- Sometimes it is necessary to access one object from different threads;
- for example, when objects living in different threads need to communicate.
- Since threads use the same address space, it is easier and faster for
- threads to exchange data than it is for processes. Data does not have to be
- serialized and copied. Passing pointers is possible, but there must be a
- strict coordination of what thread touches which object. Simultaneous
- execution of operations on one object must be prevented. There are several
- ways of achieving this and some of them are described below.
-
- So what can be done safely? All objects created in a thread can be used
- safely within that thread provided that other threads don't have references
- to them and objects don't have implicit coupling with other threads. Such
- implicit coupling may happen when data is shared between instances as with
- static members, singletons or global data. Familiarize yourself with the
- concept of \l{Reentrancy and Thread-Safety}{thread safe and reentrant}
- classes and functions.
-
- \section1 Using Threads
-
- There are basically two use cases for threads:
-
- \list
- \li Make processing faster by making use of multicore processors.
- \li Keep the GUI thread or other time critical threads responsive by
- offloading long lasting processing or blocking calls to other threads.
- \endlist
-
- \section2 When to Use Alternatives to Threads
-
- Developers need to be very careful with threads. It is easy to start other
- threads, but very hard to ensure that all shared data remains consistent.
- Problems are often hard to find because they may only show up once in a
- while or only on specific hardware configurations. Before creating threads
- to solve certain problems, possible alternatives should be considered.
-
- \table
- \header
- \li Alternative
- \li Comment
- \row
- \li QEventLoop::processEvents()
- \li Calling QEventLoop::processEvents() repeatedly during a
- time-consuming calculation prevents GUI blocking. However, this
- solution doesn't scale well because the call to processEvents() may
- occur too often, or not often enough, depending on hardware.
- \row
- \li QTimer
- \li Background processing can sometimes be done conveniently using a
- timer to schedule execution of a slot at some point in the future.
- A timer with an interval of 0 will time out as soon as there are no
- more events to process.
- \row
- \li QSocketNotifier QNetworkAccessManager QIODevice::readyRead()
- \li This is an alternative to having one or multiple threads, each with
- a blocking read on a slow network connection. As long as the
- calculation in response to a chunk of network data can be executed
- quickly, this reactive design is better than synchronous waiting in
- threads. Reactive design is less error prone and energy efficient
- than threading. In many cases there are also performance benefits.
- \endtable
-
- In general, it is recommended to only use safe and tested paths and to
- avoid introducing ad-hoc threading concepts. QtConcurrent provides an easy
- interface for distributing work to all of the processor's cores. The
- threading code is completely hidden in the QtConcurrent framework, so you
- don't have to take care of the details. However, QtConcurrent can't be used
- when communication with the running thread is needed, and it shouldn't be
- used to handle blocking operations.
-
- \section2 Which Qt Thread Technology Should You Use?
-
- Sometimes you want to do more than just running a method in the context of
- another thread. You may want to have an object which lives in another
- thread that provides a service to the GUI thread. Maybe you want another
- thread to stay alive forever to poll hardware ports and send a signal to
- the GUI thread when something noteworthy has happened. Qt provides
- different solutions for developing threaded applications. The right
- solution depends on the purpose of the new thread as well as on the
- thread's lifetime.
-
- \table
- \header
- \li Lifetime of thread
- \li Development task
- \li Solution
- \row
- \li One call
- \li Run one method within another thread and quit the thread when the
- method is finished.
- \li Qt provides different solutions:
- \list
- \li Write a function and run it with QtConcurrent::run()
- \li Derive a class from QRunnable and run it in the global thread
- pool with QThreadPool::globalInstance()->start()
- \li Derive a class from QThread, reimplement the QThread::run()
- method and use QThread::start() to run it.
- \endlist
-
- \row
- \li One call
- \li Operations are to be performed on all items of a container.
- Processing should be performed using all available cores. A common
- example is to produce thumbnails from a list of images.
- \li QtConcurrent provides the \l{QtConcurrent::}{map()} function for
- applying operations on every container element,
- \l{QtConcurrent::}{filter()} for selecting container elements, and
- the option of specifying a reduce function for combining the
- remaining elements.
- \row
- \li One call
- \li A long running operation has to be put in another thread. During the
- course of processing, status information should be sent to the GUI
- thread.
- \li Use QThread, reimplement run and emit signals as needed. Connect the
- signals to the GUI thread's slots using queued signal/slot
- connections.
-
- \row
- \li Permanent
- \li Have an object living in another thread and let it perform different
- tasks upon request.
- This means communication to and from the worker thread is required.
- \li Derive a class from QObject and implement the necessary slots and
- signals, move the object to a thread with a running event loop and
- communicate with the object over queued signal/slot connections.
- \row
- \li Permanent
- \li Have an object living in another thread, let the object perform
- repeated tasks such as polling a port and enable communication with
- the GUI thread.
- \li Same as above but also use a timer in the worker thread to implement
- polling. However, the best solution for polling is to avoid it
- completely. Sometimes using QSocketNotifier is an alternative.
- \endtable
-
-
- \section1 Qt Thread Basics
-
- QThread is a very convenient cross platform abstraction of native platform
- threads. Starting a thread is very simple. Let us look at a short piece of
- code that generates another thread which says hello in that thread and then
- exits.
-
- \snippet examples/tutorials/threads/hellothread/hellothread.h 1
-
- We derive a class from QThread and reimplement the \l{QThread::}{run()}
- method.
-
- \snippet examples/tutorials/threads/hellothread/hellothread.cpp 1
-
- The run method contains the code that will be run in a separate thread. In
- this example, a message containing the thread ID will be printed.
- QThread::start() will call the method in another thread.
-
- \snippet examples/tutorials/threads/hellothread/main.cpp 1
-
- To start the thread, our thread object needs to be instantiated. The
- \l{QThread::}{start()} method creates a new thread and calls the
- reimplemented \l{QThread::}{run()} method in this new thread. Right after
- \l{QThread::}{start()} is called, two program counters walk through the
- program code. The main function starts with only the GUI thread running and
- it should terminate with only the GUI thread running. Exiting the program
- when another thread is still busy is a programming error, and therefore,
- wait is called which blocks the calling thread until the
- \l{QThread::}{run()} method has completed.
-
- This is the result of running the code:
-
- \badcode
- hello from GUI thread 3079423696
- hello from worker thread 3076111216
- \endcode
-
-
- \section2 QObject and Threads
-
- A QObject is said to have a \e{thread affinity} or, in other words, that it
- lives in a certain thread. This means that, at creation time, QObject saves
- a pointer to the current thread. This information becomes relevant when an
- event is posted with \l{QCoreApplication::}{postEvent()}. The event will be
- put in the corresponding thread's event loop. If the thread where the
- QObject lives doesn't have an event loop, the event will never be delivered.
-
- To start an event loop, \l{QThread::}{exec()} must be called inside
- \l{QThread::}{run()}. Thread affinity can be changed using
- \l{QObject::}{moveToThread()}.
-
- As mentioned above, developers must always be careful when calling objects'
- methods from other threads. Thread affinity does not change this situation.
- Qt documentation marks several methods as thread-safe.
- \l{QCoreApplication::}{postEvent()} is a noteworthy example. A thread-safe
- method may be called from different threads simultaneously.
-
- In cases where there is usually no concurrent access to methods, calling
- non-thread-safe methods of objects in other threads may work thousands
- of times before a concurrent access occurs, causing unexpected behavior.
- Writing test code does not entirely ensure thread correctness, but it is
- still important.
- On Linux, Valgrind and Helgrind can help detect threading errors.
-
- The anatomy of QThread is quite interesting:
-
- \list
- \li QThread does not live in the new thread where \l{QThread::}{run()} is
- executed. It lives in the old thread.
- \li Most QThread methods are the thread's control interface and are meant to
- be called from the old thread. Do not move this interface to the newly
- created thread using \l{QObject::}{moveToThread()}; i.e., calling
- \l{QObject::moveToThread()}{moveToThread(this)} is regarded as bad
- practice.
- \li \l{QThread::}{exec()} and the static methods
- \l{QThread::}{usleep()}, \l{QThread::}{msleep()},
- \l{QThread::}{sleep()} are meant to be called from the newly created
- thread.
- \li Additional members defined in the QThread subclass are
- accessible by both threads. The developer is responsible for
- coordinating access. A typical strategy is to set the members before
- \l{QThread::}{start()} is called. Once the worker thread is running,
- the main thread should not touch the additional members anymore. After
- the worker has terminated, the main thread can access the additional
- members again. This is a convenient strategy for passing parameters to a
- thread before it is started as well as for collecting the result once it
- has terminated.
- \endlist
-
- A QObject's parent must always be in the same thread. This has a surprising
- consequence for objects generated within the \l{QThread::}{run()} method:
-
- \code
- void HelloThread::run()
- {
- QObject *object1 = new QObject(this); //error, parent must be in the same thread
- QObject object2; // OK
- QSharedPointer <QObject> object3(new QObject); // OK
- }
- \endcode
-
- \section2 Using a Mutex to Protect the Integrity of Data
-
- A mutex is an object that has \l{QMutex::}{lock()} and \l{QMutex::}{unlock()}
- methods and remembers if it is already locked. A mutex is designed to be
- called from multiple threads. \l{QMutex::}{lock()} returns immediately if
- the mutex is not locked. The next call from another thread will find the
- mutex in a locked state and then \l{QMutex::}{lock()} will block the thread
- until the other thread calls \l{QMutex::}{unlock()}. This functionality can
- make sure that a code section will be executed by only one thread at a time.
-
- The following line sketches how a mutex can be used to make a method
- thread-safe:
-
- \code
- void Worker::work()
- {
- this->mutex.lock(); // first thread can pass, other threads will be blocked here
- doWork();
- this->mutex.unlock();
- }
- \endcode
-
- What happens if one thread does not unlock a mutex? The result can be a
- frozen application. In the example above, an exception might be thrown and
- \c{mutex.unlock()} will never be reached. To prevent problems like this,
- QMutexLocker should be used.
-
- \code
- void Worker::work()
- {
- QMutexLocker locker(&mutex); // Locks the mutex and unlocks when locker exits the scope
- doWork();
- }
- \endcode
-
- This looks easy, but mutexes introduce a new class of problems: deadlocks.
- A deadlock happens when a thread waits for a mutex to become unlocked, but
- the mutex remains locked because the owning thread is waiting for the first
- thread to unlock it. The result is a frozen application. Mutexes can be
- used to make a method thread safe. Most Qt methods aren't thread safe
- because there is always a performance penalty when using mutexes.
-
- It isn't always possible to lock and unlock a mutex in a method. Sometimes
- the need to lock spans several calls. For example, modifying a container
- with an iterator requires a sequence of several calls which should not be
- interrupted by other threads. In such a scenario, locking can be achieved
- with a mutex that is kept outside of the object to be manipulated. With an
- external mutex, the duration of locking can be adjusted to the needs of the
- operation. One disadvantage is that external mutexes aid locking, but do
- not enforce it because users of the object may forget to use it.
-
- \section2 Using the Event Loop to Prevent Data Corruption
-
- The event loops of Qt are a very valuable tool for inter-thread
- communication. Every thread may have its own event loop. A safe way of
- calling a slot in another thread is by placing that call in another
- thread's event loop. This ensures that the target object finishes the
- method that is currently running before another method is started.
-
- So how is it possible to put a method invocation in an event loop? Qt has
- two ways of doing this. One way is via queued signal-slot connections; the
- other way is to post an event with QCoreApplication::postEvent(). A queued
- signal-slot connection is a signal slot connection that is executed
- asynchronously. The internal implementation is based on posted events. The
- arguments of the signal are put into the event loop and the signal method
- returns immediately.
-
- The connected slot will be executed at a time which depends on what else is
- in the event loop.
-
- Communication via the event loop eliminates the deadlock problem we face
- when using mutexes. This is why we recommend using the event loop rather
- than locking an object using a mutex.
-
- \section2 Dealing with Asynchronous Execution
-
- One way to obtain a worker thread's result is by waiting for the thread
- to terminate. In many cases, however, a blocking wait isn't acceptable. The
- alternative to a blocking wait are asynchronous result deliveries with
- either posted events or queued signals and slots. This generates a certain
- overhead because an operation's result does not appear on the next source
- line, but in a slot located somewhere else in the source file. Qt
- developers are used to working with this kind of asynchronous behavior
- because it is much similar to the kind of event-driven programming used in
- GUI applications.
-
- \section1 Examples
-
- This tutorial comes with examples for Qt's three basic ways of working with
- threads. Two more examples show how to communicate with a running thread
- and how a QObject can be placed in another thread, providing service to the
- main thread.
-
- \list
- \li Using QThread as shown \l{Qt thread basics}{above}
- \li \l{Example 1: Using the Thread Pool}{Using the global QThreadPool}
- \li \l{Example 2: Using QtConcurrent}{Using QtConcurrent}
- \li \l{Example 3: Clock}{Communication with the GUI thread}
- \li \l{Example 4: A Permanent Thread}{A permanent QObject in another thread
- provides service to the main thread}
- \endlist
-
- The following examples can all be compiled and run independently. The source can
- be found in the examples directory: examples/tutorials/threads/
-
- \section2 Example 1: Using the Thread Pool
-
- Creating and destroying threads frequently can be expensive. To avoid the
- cost of thread creation, a thread pool can be used. A thread pool is a
- place where threads can be parked and fetched. We can write the same
- "hello thread" program as \l{Qt Thread Basics}{above} using the global
- thread pool. We derive a class from QRunnable. The code we want to run in
- another thread needs to be placed in the reimplemented QRunnable::run()
- method.
-
- \snippet examples/tutorials/threads/hellothreadpool/hellothreadpool.cpp 1
-
- We instantiate Work in main(), locate the global thread pool and use the
- QThreadPool::start() method. Now the thread pool runs our worker in another
- thread. Using the thread pool has a performance advantage because threads
- are not destroyed after they have finished running. They are kept in a pool
- and wait to be used again later.
-
- \section2 Example 2: Using QtConcurrent
-
- \snippet examples/tutorials/threads/helloconcurrent/helloconcurrent.cpp 1
-
- We write a global function hello() to implement the work. QtConcurrent::run()
- is used to run the function in another thread. The result is a QFuture.
- QFuture provides a method called \l{QFuture::}{waitForFinished()}, which
- blocks until the calculation is completed. The real power of QtConcurrent
- becomes visible when data can be made available in a container. QtConcurrent
- provides several functions that are able to process itemized data on all
- available cores simultaneously. The use of QtConcurrent is very similar to
- applying an STL algorithm to an STL container.
- \l{examples-threadandconcurrent.html}{QtConcurrent Map} is a very short and
- clear example about how a container of images can be scaled on all available
- cores. The image scaling example uses the blocking variants of the functions
- used. For every blocking function there is also a non-blocking, asynchronous
- counterpart. Getting results asynchronously is implemented with QFuture and
- QFutureWatcher.
-
- \section2 Example 3: Clock
-
- \image thread_clock.png "clock"
-
- We want to produce a clock application. The application has a GUI and a
- worker thread. The worker thread checks every 10 milliseconds what time it
- is. If the formatted time has changed, the result will be sent to the GUI
- thread where it is displayed.
-
- Of course, this is an overly complicated way of designing a clock and,
- actually, a separate thread is unnecessary. We would be better off placing
- the timer in the main thread because the calculation made in the timer slot
- is very short-lived. This example is purely for instructional use and shows
- how to communicate from a worker thread to a GUI thread. Note that
- communication in this direction is easy. We only need to add a signal
- to QThread and make a queued signal/slot connection to the main thread.
- Communication from the GUI to the worker thread is shown in the next
- example.
-
- \snippet examples/tutorials/threads/clock/main.cpp 1
-
- We've connected the \c clockThread with the label. The connection must be a
- queued signal-slot connection because we want to put the call in the event
- loop.
-
- \snippet examples/tutorials/threads/clock/clockthread.h 1
-
- We have derived a class from QThread and declared the \c sendTime() signal.
-
- \snippet examples/tutorials/threads/clock/clockthread.cpp 1
-
- The trickiest part of this example is that the timer is connected to its
- slot via a direct connection. A default connection would produce a queued
- signal-slot connection because the connected objects live in different
- threads; remember that QThread does not live in the thread it creates.
-
- Still it is safe to access ClockThread::timerHit() from the worker thread
- because ClockThread::timerHit() is private and only touches local variables
- and a private member that isn't touched by public methods.
- QDateTime::currentDateTime() isn't marked as thread-safe in Qt
- documentation, however we can get away with using it in this small
- example because we know that the QDateTime::currentDateTime() static
- method isn't used in any other threads.
-
- \section2 Example 4: A Permanent Thread
-
- This example shows how it is possible to have a QObject in a worker thread
- that accepts requests from the GUI thread, does polling using a timer and
- continuously reports results back to the GUI thread. The actual work
- including the polling must be implemented in a class derived from QObject.
- We have called this class \c WorkerObject in the code shown below. The
- thread-specific code is hidden in a class called \c Thread, derived from
- QThread.
- \c Thread has two additional public members. The \c launchWorker() member
- takes the worker object and moves it to another thread with a started event
- loop.
- The call blocks for a very short moment until the thread creation operation
- is completed, allowing the worker object to be used again on the next line.
- The \c Thread class's code is short but somewhat involved, so we only show
- how to use the class.
-
- \snippet examples/tutorials/threads/movedobject/main.cpp 1
-
- QMetaObject::invokeMethod() calls a slot via the event loop. The worker
- object's methods should not be called directly after the object has been
- moved to another thread. We let the worker thread do some work and polling,
- and use a timer to shut the application down after 3 seconds. Shutting the
- worker down needs some care. We call \c{Thread::stop()} to exit the event
- loop. We wait for the thread to terminate and, after this has occurred, we
- delete the worker.
-
- \section1 Digging Deeper
-
- Threading is a very complicated subject. Qt offers more classes for
- threading than we have presented in this tutorial. The following materials
- can help you go into the subject in more depth:
-
- \list
- \li Good video tutorials about threads with Qt can be found in the material
- from the \l{Training Day at Qt Developer Days 2009}.
- \li The \l{Thread Support in Qt} document is a good starting point into
- the reference documentation.
- \li Qt comes with several additional examples for
- \l{Threading and Concurrent Programming Examples}{QThread and QtConcurrent}.
- \li Several good books describe how to work with Qt threads. The most
- extensive coverage can be found in \e{Advanced Qt Programming} by Mark
- Summerfield, Prentice Hall - roughly 70 of 500 pages cover QThread and
- QtConcurrent.
- \endlist
-*/
diff --git a/doc/src/corelib/threads.qdoc b/doc/src/corelib/threads.qdoc
deleted file mode 100644
index 04a5379b2d..0000000000
--- a/doc/src/corelib/threads.qdoc
+++ /dev/null
@@ -1,705 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \group thread
- \title Threading Classes
-*/
-
-/*!
- \page threads.html
- \title Thread Support in Qt
- \ingroup qt-basic-concepts
- \brief A detailed discussion of thread handling in Qt.
-
- \ingroup frameworks-technologies
-
- \nextpage Starting Threads with QThread
-
- Qt provides thread support in the form of platform-independent
- threading classes, a thread-safe way of posting events, and
- signal-slot connections across threads. This makes it easy to
- develop portable multithreaded Qt applications and take advantage
- of multiprocessor machines. Multithreaded programming is also a
- useful paradigm for performing time-consuming operations without
- freezing the user interface of an application.
-
- Earlier versions of Qt offered an option to build the library
- without thread support. Since Qt 4.0, threads are always enabled.
-
- \section1 Topics:
-
- \list
- \li \l{Recommended Reading}
- \li \l{The Threading Classes}
- \li \l{Starting Threads with QThread}
- \li \l{Synchronizing Threads}
- \li \l{Reentrancy and Thread-Safety}
- \li \l{Threads and QObjects}
- \li \l{Concurrent Programming}
- \li \l{Thread-Support in Qt Modules}
- \endlist
-
- \section1 Recommended Reading
-
- This document is intended for an audience that has knowledge of,
- and experience with, multithreaded applications. If you are new
- to threading see our Recommended Reading list:
-
- \list
- \li \l{Threads Primer: A Guide to Multithreaded Programming}
- \li \l{Thread Time: The Multithreaded Programming Guide}
- \li \l{Pthreads Programming: A POSIX Standard for Better Multiprocessing}
- \li \l{Win32 Multithreaded Programming}
- \endlist
-
- \section1 The Threading Classes
-
- These classes are relevant to threaded applications.
-
- \annotatedlist thread
-
-\omit
- \list
- \li QThread provides the means to start a new thread.
- \li QThreadStorage provides per-thread data storage.
- \li QThreadPool manages a pool of threads that run QRunnable objects.
- \li QRunnable is an abstract class representing a runnable object.
- \li QMutex provides a mutual exclusion lock, or mutex.
- \li QMutexLocker is a convenience class that automatically locks
- and unlocks a QMutex.
- \li QReadWriteLock provides a lock that allows simultaneous read access.
- \li QReadLocker and QWriteLocker are convenience classes that automatically
- lock and unlock a QReadWriteLock.
- \li QSemaphore provides an integer semaphore (a generalization of a mutex).
- \li QWaitCondition provides a way for threads to go to sleep until
- woken up by another thread.
- \li QAtomicInt provides atomic operations on integers.
- \li QAtomicPointer provides atomic operations on pointers.
- \endlist
-\endomit
-
- \note Qt's threading classes are implemented with native threading APIs;
- e.g., Win32 and pthreads. Therefore, they can be used with threads of the
- same native API.
-*/
-
-/*!
- \page threads-starting.html
- \title Starting Threads with QThread
-
- \contentspage Thread Support in Qt
- \nextpage Synchronizing Threads
-
- A QThread instance represents a thread and provides the means to
- \l{QThread::start()}{start()} a thread, which will then execute the
- reimplementation of QThread::run(). The \c run() implementation is for a
- thread what the \c main() entry point is for the application. All code
- executed in a call stack that starts in the \c run() function is executed
- by the new thread, and the thread finishes when the function returns.
- QThread emits signals to indicate that the thread started or finished
- executing.
-
- \section1 Creating a Thread
-
- To create a thread, subclass QThread and reimplement its
- \l{QThread::run()}{run()} function. For example:
-
- \snippet doc/src/snippets/threads/threads.h 0
- \codeline
- \snippet doc/src/snippets/threads/threads.cpp 0
- \snippet doc/src/snippets/threads/threads.cpp 1
- \dots
- \snippet doc/src/snippets/threads/threads.cpp 2
-
- \section1 Starting a Thread
-
- Then, create an instance of the thread object and call
- QThread::start(). Note that you must create the QApplication (or
- QCoreApplication) object before you can create a QThread.
-
- The function will return immediately and the
- main thread will continue. The code that appears in the
- \l{QThread::run()}{run()} reimplementation will then be executed
- in a separate thread.
-
- Creating threads is explained in more detail in the QThread
- documentation.
-
- Note that QCoreApplication::exec() must always be called from the
- main thread (the thread that executes \c{main()}), not from a
- QThread. In GUI applications, the main thread is also called the
- GUI thread because it's the only thread that is allowed to
- perform GUI-related operations.
-*/
-
-/*!
- \page threads-synchronizing.html
- \title Synchronizing Threads
-
- \previouspage Starting Threads with QThread
- \contentspage Thread Support in Qt
- \nextpage Reentrancy and Thread-Safety
-
- The QMutex, QReadWriteLock, QSemaphore, and QWaitCondition
- classes provide means to synchronize threads. While the main idea
- with threads is that they should be as concurrent as possible,
- there are points where threads must stop and wait for other
- threads. For example, if two threads try to access the same
- global variable simultaneously, the results are usually
- undefined.
-
- QMutex provides a mutually exclusive lock, or mutex. At most one
- thread can hold the mutex at any time. If a thread tries to
- acquire the mutex while the mutex is already locked, the thread will
- be put to sleep until the thread that currently holds the mutex
- unlocks it. Mutexes are often used to protect accesses to shared
- data (i.e., data that can be accessed from multiple threads
- simultaneously). In the \l{Reentrancy and Thread-Safety} section
- below, we will use it to make a class thread-safe.
-
- QReadWriteLock is similar to QMutex, except that it distinguishes
- between "read" and "write" access to shared data and allows
- multiple readers to access the data simultaneously. Using
- QReadWriteLock instead of QMutex when it is possible can make
- multithreaded programs more concurrent.
-
- QSemaphore is a generalization of QMutex that protects a certain
- number of identical resources. In contrast, a mutex protects
- exactly one resource. The \l{threads/semaphores}{Semaphores}
- example shows a typical application of semaphores: synchronizing
- access to a circular buffer between a producer and a consumer.
-
- QWaitCondition allows a thread to wake up other threads when some
- condition has been met. One or many threads can block waiting for
- a QWaitCondition to set a condition with
- \l{QWaitCondition::wakeOne()}{wakeOne()} or
- \l{QWaitCondition::wakeAll()}{wakeAll()}. Use
- \l{QWaitCondition::wakeOne()}{wakeOne()} to wake one randomly
- selected event or \l{QWaitCondition::wakeAll()}{wakeAll()} to
- wake them all. The \l{threads/waitconditions}{Wait Conditions}
- example shows how to solve the producer-consumer problem using
- QWaitCondition instead of QSemaphore.
-
- Note that Qt's synchronization classes rely on the use of properly
- aligned pointers. For instance, you cannot use packed classes with
- MSVC.
-*/
-
-/*!
- \page threads-reentrancy.html
- \title Reentrancy and Thread-Safety
-
- \keyword reentrant
- \keyword thread-safe
-
- \previouspage Synchronizing Threads
- \contentspage Thread Support in Qt
- \nextpage Threads and QObjects
-
- Throughout the documentation, the terms \e{reentrant} and
- \e{thread-safe} are used to mark classes and functions to indicate
- how they can be used in multithread applications:
-
- \list
- \li A \e thread-safe function can be called simultaneously from
- multiple threads, even when the invocations use shared data,
- because all references to the shared data are serialized.
- \li A \e reentrant function can also be called simultaneously from
- multiple threads, but only if each invocation uses its own data.
- \endlist
-
- Hence, a \e{thread-safe} function is always \e{reentrant}, but a
- \e{reentrant} function is not always \e{thread-safe}.
-
- By extension, a class is said to be \e{reentrant} if its member
- functions can be called safely from multiple threads, as long as
- each thread uses a \e{different} instance of the class. The class
- is \e{thread-safe} if its member functions can be called safely
- from multiple threads, even if all the threads use the \e{same}
- instance of the class.
-
- \note Qt classes are only documented as \e{thread-safe} if they
- are intended to be used by multiple threads. If a function is not
- marked as thread-safe or reentrant, it should not be used from
- different threads. If a class is not marked as thread-safe or
- reentrant then a specific instance of that class should not be
- accessed from different threads.
-
- \section1 Reentrancy
-
- C++ classes are often reentrant, simply because they only access
- their own member data. Any thread can call a member function on an
- instance of a reentrant class, as long as no other thread can call
- a member function on the \e{same} instance of the class at the
- same time. For example, the \c Counter class below is reentrant:
-
- \snippet doc/src/snippets/threads/threads.cpp 3
- \snippet doc/src/snippets/threads/threads.cpp 4
-
- The class isn't thread-safe, because if multiple threads try to
- modify the data member \c n, the result is undefined. This is
- because the \c ++ and \c -- operators aren't always atomic.
- Indeed, they usually expand to three machine instructions:
-
- \list 1
- \li Load the variable's value in a register.
- \li Increment or decrement the register's value.
- \li Store the register's value back into main memory.
- \endlist
-
- If thread A and thread B load the variable's old value
- simultaneously, increment their register, and store it back, they
- end up overwriting each other, and the variable is incremented
- only once!
-
- \section1 Thread-Safety
-
- Clearly, the access must be serialized: Thread A must perform
- steps 1, 2, 3 without interruption (atomically) before thread B
- can perform the same steps; or vice versa. An easy way to make
- the class thread-safe is to protect all access to the data
- members with a QMutex:
-
- \snippet doc/src/snippets/threads/threads.cpp 5
- \snippet doc/src/snippets/threads/threads.cpp 6
-
- The QMutexLocker class automatically locks the mutex in its
- constructor and unlocks it when the destructor is invoked, at the
- end of the function. Locking the mutex ensures that access from
- different threads will be serialized. The \c mutex data member is
- declared with the \c mutable qualifier because we need to lock
- and unlock the mutex in \c value(), which is a const function.
-
- \section1 Notes on Qt Classes
-
- Many Qt classes are \e{reentrant}, but they are not made
- \e{thread-safe}, because making them thread-safe would incur the
- extra overhead of repeatedly locking and unlocking a QMutex. For
- example, QString is reentrant but not thread-safe. You can safely
- access \e{different} instances of QString from multiple threads
- simultaneously, but you can't safely access the \e{same} instance
- of QString from multiple threads simultaneously (unless you
- protect the accesses yourself with a QMutex).
-
- Some Qt classes and functions are thread-safe. These are mainly
- the thread-related classes (e.g. QMutex) and fundamental functions
- (e.g. QCoreApplication::postEvent()).
-
- \note Terminology in the multithreading domain isn't entirely
- standardized. POSIX uses definitions of reentrant and thread-safe
- that are somewhat different for its C APIs. When using other
- object-oriented C++ class libraries with Qt, be sure the
- definitions are understood.
-*/
-
-/*!
- \page threads-qobject.html
- \title Threads and QObjects
-
- \previouspage Reentrancy and Thread Safety
- \contentspage Thread Support in Qt
- \nextpage Concurrent Programming
-
- QThread inherits QObject. It emits signals to indicate that the
- thread started or finished executing, and provides a few slots as
- well.
-
- More interesting is that \l{QObject}s can be used in multiple
- threads, emit signals that invoke slots in other threads, and
- post events to objects that "live" in other threads. This is
- possible because each thread is allowed to have its own event
- loop.
-
- \section1 QObject Reentrancy
-
- QObject is reentrant. Most of its non-GUI subclasses, such as
- QTimer, QTcpSocket, QUdpSocket and QProcess, are also
- reentrant, making it possible to use these classes from multiple
- threads simultaneously. Note that these classes are designed to be
- created and used from within a single thread; creating an object
- in one thread and calling its functions from another thread is not
- guaranteed to work. There are three constraints to be aware of:
-
- \list
- \li \e{The child of a QObject must always be created in the thread
- where the parent was created.} This implies, among other
- things, that you should never pass the QThread object (\c
- this) as the parent of an object created in the thread (since
- the QThread object itself was created in another thread).
-
- \li \e{Event driven objects may only be used in a single thread.}
- Specifically, this applies to the \l{timers.html}{timer
- mechanism} and the \l{QtNetwork}{network module}. For example,
- you cannot start a timer or connect a socket in a thread that
- is not the \l{QObject::thread()}{object's thread}.
-
- \li \e{You must ensure that all objects created in a thread are
- deleted before you delete the QThread.} This can be done
- easily by creating the objects on the stack in your
- \l{QThread::run()}{run()} implementation.
- \endlist
-
- Although QObject is reentrant, the GUI classes, notably QWidget
- and all its subclasses, are not reentrant. They can only be used
- from the main thread. As noted earlier, QCoreApplication::exec()
- must also be called from that thread.
-
- In practice, the impossibility of using GUI classes in other
- threads than the main thread can easily be worked around by
- putting time-consuming operations in a separate worker thread and
- displaying the results on screen in the main thread when the
- worker thread is finished. This is the approach used for
- implementing the \l{threads/mandelbrot}{Mandelbrot} and
- the \l{network/blockingfortuneclient}{Blocking Fortune Client}
- example.
-
- \section1 Per-Thread Event Loop
-
- Each thread can have its own event loop. The initial thread
- starts its event loops using QCoreApplication::exec(); other
- threads can start an event loop using QThread::exec(). Like
- QCoreApplication, QThread provides an
- \l{QThread::exit()}{exit(int)} function and a
- \l{QThread::quit()}{quit()} slot.
-
- An event loop in a thread makes it possible for the thread to use
- certain non-GUI Qt classes that require the presence of an event
- loop (such as QTimer, QTcpSocket, and QProcess). It also makes it
- possible to connect signals from any threads to slots of a
- specific thread. This is explained in more detail in the
- \l{Signals and Slots Across Threads} section below.
-
- \image threadsandobjects.png Threads, objects, and event loops
-
- A QObject instance is said to \e live in the thread in which it
- is created. Events to that object are dispatched by that thread's
- event loop. The thread in which a QObject lives is available using
- QObject::thread().
-
- Note that for QObjects that are created before QApplication,
- QObject::thread() returns zero. This means that the main thread
- will only handle posted events for these objects; other event
- processing is not done at all for objects with no thread. Use the
- QObject::moveToThread() function to change the thread affinity for
- an object and its children (the object cannot be moved if it has a
- parent).
-
- Calling \c delete on a QObject from a thread other than the one
- that \e owns the object (or accessing the object in other ways) is
- unsafe, unless you guarantee that the object isn't processing
- events at that moment. Use QObject::deleteLater() instead, and a
- \l{QEvent::DeferredDelete}{DeferredDelete} event will be posted,
- which the event loop of the object's thread will eventually pick
- up. By default, the thread that \e owns a QObject is the thread
- that \e creates the QObject, but not after QObject::moveToThread()
- has been called.
-
- If no event loop is running, events won't be delivered to the
- object. For example, if you create a QTimer object in a thread but
- never call \l{QThread::exec()}{exec()}, the QTimer will never emit
- its \l{QTimer::timeout()}{timeout()} signal. Calling
- \l{QObject::deleteLater()}{deleteLater()} won't work
- either. (These restrictions apply to the main thread as well.)
-
- You can manually post events to any object in any thread at any
- time using the thread-safe function
- QCoreApplication::postEvent(). The events will automatically be
- dispatched by the event loop of the thread where the object was
- created.
-
- Event filters are supported in all threads, with the restriction
- that the monitoring object must live in the same thread as the
- monitored object. Similarly, QCoreApplication::sendEvent()
- (unlike \l{QCoreApplication::postEvent()}{postEvent()}) can only
- be used to dispatch events to objects living in the thread from
- which the function is called.
-
- \section1 Accessing QObject Subclasses from Other Threads
-
- QObject and all of its subclasses are not thread-safe. This
- includes the entire event delivery system. It is important to keep
- in mind that the event loop may be delivering events to your
- QObject subclass while you are accessing the object from another
- thread.
-
- If you are calling a function on an QObject subclass that doesn't
- live in the current thread and the object might receive events,
- you must protect all access to your QObject subclass's internal
- data with a mutex; otherwise, you may experience crashes or other
- undesired behavior.
-
- Like other objects, QThread objects live in the thread where the
- object was created -- \e not in the thread that is created when
- QThread::run() is called. It is generally unsafe to provide slots
- in your QThread subclass, unless you protect the member variables
- with a mutex.
-
- On the other hand, you can safely emit signals from your
- QThread::run() implementation, because signal emission is
- thread-safe.
-
- \section1 Signals and Slots Across Threads
-
- Qt supports these signal-slot connection types:
-
- \list
-
- \li \l{Qt::AutoConnection}{Auto Connection} (default) If the signal is
- emitted in the thread which the receiving object has affinity then
- the behavior is the same as the Direct Connection. Otherwise,
- the behavior is the same as the Queued Connection."
-
- \li \l{Qt::DirectConnection}{Direct Connection} The slot is invoked
- immediately, when the signal is emitted. The slot is executed
- in the emitter's thread, which is not necessarily the
- receiver's thread.
-
- \li \l{Qt::QueuedConnection}{Queued Connection} The slot is invoked
- when control returns to the event loop of the receiver's
- thread. The slot is executed in the receiver's thread.
-
- \li \l{Qt::BlockingQueuedConnection}{Blocking Queued Connection}
- The slot is invoked as for the Queued Connection, except the
- current thread blocks until the slot returns. \note Using this
- type to connect objects in the same thread will cause deadlock.
-
- \li \l{Qt::UniqueConnection}{Unique Connection} The behavior is the
- same as the Auto Connection, but the connection is made only if
- it does not duplicate an existing connection. i.e., if the same
- signal is already connected to the same slot for the same pair
- of objects, then the connection is not made and connect()
- returns false.
-
- \endlist
-
- The connection type can be specified by passing an additional
- argument to \l{QObject::connect()}{connect()}. Be aware that
- using direct connections when the sender and receiver live in
- different threads is unsafe if an event loop is running in the
- receiver's thread, for the same reason that calling any function
- on an object living in another thread is unsafe.
-
- QObject::connect() itself is thread-safe.
-
- The \l{threads/mandelbrot}{Mandelbrot} example uses a queued
- connection to communicate between a worker thread and the main
- thread. To avoid freezing the main thread's event loop (and, as a
- consequence, the application's user interface), all the
- Mandelbrot fractal computation is done in a separate worker
- thread. The thread emits a signal when it is done rendering the
- fractal.
-
- Similarly, the \l{network/blockingfortuneclient}{Blocking Fortune
- Client} example uses a separate thread for communicating with
- a TCP server asynchronously.
-*/
-
-/*!
- \page threads-qtconcurrent.html
- \title Concurrent Programming
-
- \previouspage Threads and QObjects
- \contentspage Thread Support in Qt
- \nextpage Thread-Support in Qt Modules
-
- \target qtconcurrent intro
-
- The QtConcurrent namespace provides high-level APIs that make it
- possible to write multi-threaded programs without using low-level
- threading primitives such as mutexes, read-write locks, wait
- conditions, or semaphores. Programs written with QtConcurrent
- automatically adjust the number of threads used according to the
- number of processor cores available. This means that applications
- written today will continue to scale when deployed on multi-core
- systems in the future.
-
- QtConcurrent includes functional programming style APIs for
- parallel list processing, including a MapReduce and FilterReduce
- implementation for shared-memory (non-distributed) systems, and
- classes for managing asynchronous computations in GUI
- applications:
-
- \list
-
- \li QtConcurrent::map() applies a function to every item in a container,
- modifying the items in-place.
-
- \li QtConcurrent::mapped() is like map(), except that it returns a new
- container with the modifications.
-
- \li QtConcurrent::mappedReduced() is like mapped(), except that the
- modified results are reduced or folded into a single result.
-
- \li QtConcurrent::filter() removes all items from a container based on the
- result of a filter function.
-
- \li QtConcurrent::filtered() is like filter(), except that it returns a new
- container with the filtered results.
-
- \li QtConcurrent::filteredReduced() is like filtered(), except that the
- filtered results are reduced or folded into a single result.
-
- \li QtConcurrent::run() runs a function in another thread.
-
- \li QFuture represents the result of an asynchronous computation.
-
- \li QFutureIterator allows iterating through results available via QFuture.
-
- \li QFutureWatcher allows monitoring a QFuture using signals-and-slots.
-
- \li QFutureSynchronizer is a convenience class that automatically
- synchronizes several QFutures.
-
- \endlist
-
- Qt Concurrent supports several STL-compatible container and iterator types,
- but works best with Qt containers that have random-access iterators, such as
- QList or QVector. The map and filter functions accept both containers and begin/end iterators.
-
- STL Iterator support overview:
-
- \table
- \header
- \li Iterator Type
- \li Example classes
- \li Support status
- \row
- \li Input Iterator
- \li
- \li Not Supported
- \row
- \li Output Iterator
- \li
- \li Not Supported
- \row
- \li Forward Iterator
- \li std::slist
- \li Supported
- \row
- \li Bidirectional Iterator
- \li QLinkedList, std::list
- \li Supported
- \row
- \li Random Access Iterator
- \li QList, QVector, std::vector
- \li Supported and Recommended
- \endtable
-
- Random access iterators can be faster in cases where Qt Concurrent is iterating
- over a large number of lightweight items, since they allow skipping to any point
- in the container. In addition, using random access iterators allows Qt Concurrent
- to provide progress information trough QFuture::progressValue() and QFutureWatcher::
- progressValueChanged().
-
- The non in-place modifying functions such as mapped() and filtered() makes a
- copy of the container when called. If you are using STL containers this copy operation
- might take some time, in this case we recommend specifying the begin and end iterators
- for the container instead.
-*/
-
-/*!
- \page threads-modules.html
- \title Thread-Support in Qt Modules
-
- \previouspage Concurrent Programming
- \contentspage Thread Support in Qt
-
- \section1 Threads and the SQL Module
-
- A connection can only be used from within the thread that created it.
- Moving connections between threads or creating queries from a different
- thread is not supported.
-
- In addition, the third party libraries used by the QSqlDrivers can impose
- further restrictions on using the SQL Module in a multithreaded program.
- Consult the manual of your database client for more information
-
- \section1 Painting in Threads
-
- QPainter can be used in a thread to paint onto QImage, QPrinter, and
- QPicture paint devices. Painting onto QPixmaps and QWidgets is \e not
- supported. On Mac OS X the automatic progress dialog will not be
- displayed if you are printing from outside the GUI thread.
-
- Any number of threads can paint at any given time, however only
- one thread at a time can paint on a given paint device. In other
- words, two threads can paint at the same time if each paints onto
- separate QImages, but the two threads cannot paint onto the same
- QImage at the same time.
-
- Note that on X11 systems without FontConfig support, Qt cannot
- render text outside of the GUI thread. You can use the
- QFontDatabase::supportsThreadedFontRendering() function to detect
- whether or not font rendering can be used outside the GUI thread.
-
- \section1 Threads and Rich Text Processing
-
- The QTextDocument, QTextCursor, and \link richtext.html all
- related classes\endlink are reentrant.
-
- Note that a QTextDocument instance created in the GUI thread may
- contain QPixmap image resources. Use QTextDocument::clone() to
- create a copy of the document, and pass the copy to another thread for
- further processing (such as printing).
-
- \section1 Threads and the SVG module
-
- The QSvgGenerator and QSvgRenderer classes in the QtSvg module
- are reentrant.
-
- \section1 Threads and Implicitly Shared Classes
-
- Qt uses an optimization called \l{implicit sharing} for many of
- its value class, notably QImage and QString. Beginning with Qt 4,
- implicit shared classes can safely be copied across threads, like
- any other value classes. They are fully
- \l{Reentrancy and Thread-Safety}{reentrant}. The implicit sharing
- is really \e implicit.
-
- In many people's minds, implicit sharing and multithreading are
- incompatible concepts, because of the way the reference counting
- is typically done. Qt, however, uses atomic reference counting to
- ensure the integrity of the shared data, avoiding potential
- corruption of the reference counter.
-
- Note that atomic reference counting does not guarantee
- \l{Reentrancy and Thread-Safety}{thread-safety}. Proper locking should be used
- when sharing an instance of an implicitly shared class between
- threads. This is the same requirement placed on all
- \l{Reentrancy and Thread-Safety}{reentrant} classes, shared or not. Atomic reference
- counting does, however, guarantee that a thread working on its
- own, local instance of an implicitly shared class is safe. We
- recommend using \l{Signals and Slots Across Threads}{signals and
- slots} to pass data between threads, as this can be done without
- the need for any explicit locking.
-
- To sum it up, implicitly shared classes in Qt 4 are really \e
- implicitly shared. Even in multithreaded applications, you can
- safely use them as if they were plain, non-shared, reentrant
- value-based classes.
-*/
diff --git a/doc/src/images/abstract-connections.png b/doc/src/images/abstract-connections.png
deleted file mode 100644
index 18d2f4e3b7..0000000000
--- a/doc/src/images/abstract-connections.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/brush-styles.png b/doc/src/images/brush-styles.png
deleted file mode 100644
index eecb006af1..0000000000
--- a/doc/src/images/brush-styles.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-arrow.png b/doc/src/images/cursor-arrow.png
deleted file mode 100644
index a69ef4eb61..0000000000
--- a/doc/src/images/cursor-arrow.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-busy.png b/doc/src/images/cursor-busy.png
deleted file mode 100644
index 53717e4992..0000000000
--- a/doc/src/images/cursor-busy.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-closedhand.png b/doc/src/images/cursor-closedhand.png
deleted file mode 100644
index b78dd1dac5..0000000000
--- a/doc/src/images/cursor-closedhand.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-cross.png b/doc/src/images/cursor-cross.png
deleted file mode 100644
index fe38e74480..0000000000
--- a/doc/src/images/cursor-cross.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-forbidden.png b/doc/src/images/cursor-forbidden.png
deleted file mode 100644
index 2b08c4e2a3..0000000000
--- a/doc/src/images/cursor-forbidden.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-hand.png b/doc/src/images/cursor-hand.png
deleted file mode 100644
index d2004aefa7..0000000000
--- a/doc/src/images/cursor-hand.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-hsplit.png b/doc/src/images/cursor-hsplit.png
deleted file mode 100644
index a5667e3ffb..0000000000
--- a/doc/src/images/cursor-hsplit.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-ibeam.png b/doc/src/images/cursor-ibeam.png
deleted file mode 100644
index 097fc5fa72..0000000000
--- a/doc/src/images/cursor-ibeam.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-openhand.png b/doc/src/images/cursor-openhand.png
deleted file mode 100644
index 9181c859ed..0000000000
--- a/doc/src/images/cursor-openhand.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-sizeall.png b/doc/src/images/cursor-sizeall.png
deleted file mode 100644
index 69f13eb347..0000000000
--- a/doc/src/images/cursor-sizeall.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-sizeb.png b/doc/src/images/cursor-sizeb.png
deleted file mode 100644
index f37d7b91e8..0000000000
--- a/doc/src/images/cursor-sizeb.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-sizef.png b/doc/src/images/cursor-sizef.png
deleted file mode 100644
index 3b127a05d3..0000000000
--- a/doc/src/images/cursor-sizef.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-sizeh.png b/doc/src/images/cursor-sizeh.png
deleted file mode 100644
index a9f40cbc3d..0000000000
--- a/doc/src/images/cursor-sizeh.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-sizev.png b/doc/src/images/cursor-sizev.png
deleted file mode 100644
index 1edbab27a5..0000000000
--- a/doc/src/images/cursor-sizev.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-uparrow.png b/doc/src/images/cursor-uparrow.png
deleted file mode 100644
index d3e70ef4c2..0000000000
--- a/doc/src/images/cursor-uparrow.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-vsplit.png b/doc/src/images/cursor-vsplit.png
deleted file mode 100644
index 1beda2570e..0000000000
--- a/doc/src/images/cursor-vsplit.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-wait.png b/doc/src/images/cursor-wait.png
deleted file mode 100644
index 69056c479e..0000000000
--- a/doc/src/images/cursor-wait.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cursor-whatsthis.png b/doc/src/images/cursor-whatsthis.png
deleted file mode 100644
index b47601c378..0000000000
--- a/doc/src/images/cursor-whatsthis.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/javaiterators1.png b/doc/src/images/javaiterators1.png
deleted file mode 100644
index 7dfcde0188..0000000000
--- a/doc/src/images/javaiterators1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/javaiterators2.png b/doc/src/images/javaiterators2.png
deleted file mode 100644
index c04e3ccf88..0000000000
--- a/doc/src/images/javaiterators2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelindex-no-parent.png b/doc/src/images/modelindex-no-parent.png
deleted file mode 100644
index 9c6258e5d1..0000000000
--- a/doc/src/images/modelindex-no-parent.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-append-columns.png b/doc/src/images/modelview-begin-append-columns.png
deleted file mode 100644
index 8d13b178d8..0000000000
--- a/doc/src/images/modelview-begin-append-columns.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-append-rows.png b/doc/src/images/modelview-begin-append-rows.png
deleted file mode 100644
index 50d04c3e67..0000000000
--- a/doc/src/images/modelview-begin-append-rows.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-insert-columns.png b/doc/src/images/modelview-begin-insert-columns.png
deleted file mode 100644
index 30eeb8280e..0000000000
--- a/doc/src/images/modelview-begin-insert-columns.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-insert-rows.png b/doc/src/images/modelview-begin-insert-rows.png
deleted file mode 100644
index b4d6eda57d..0000000000
--- a/doc/src/images/modelview-begin-insert-rows.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-remove-columns.png b/doc/src/images/modelview-begin-remove-columns.png
deleted file mode 100644
index aee60e01ec..0000000000
--- a/doc/src/images/modelview-begin-remove-columns.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-begin-remove-rows.png b/doc/src/images/modelview-begin-remove-rows.png
deleted file mode 100644
index 8e9518718e..0000000000
--- a/doc/src/images/modelview-begin-remove-rows.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-1.png b/doc/src/images/modelview-move-rows-1.png
deleted file mode 100644
index b629a72dd4..0000000000
--- a/doc/src/images/modelview-move-rows-1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-2.png b/doc/src/images/modelview-move-rows-2.png
deleted file mode 100644
index 674ca18f78..0000000000
--- a/doc/src/images/modelview-move-rows-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-3.png b/doc/src/images/modelview-move-rows-3.png
deleted file mode 100644
index 5445dd599c..0000000000
--- a/doc/src/images/modelview-move-rows-3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-4.png b/doc/src/images/modelview-move-rows-4.png
deleted file mode 100644
index ecd65bac6c..0000000000
--- a/doc/src/images/modelview-move-rows-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inback.png b/doc/src/images/qeasingcurve-inback.png
deleted file mode 100644
index 0064cb341c..0000000000
--- a/doc/src/images/qeasingcurve-inback.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inbounce.png b/doc/src/images/qeasingcurve-inbounce.png
deleted file mode 100644
index eaa64f8c41..0000000000
--- a/doc/src/images/qeasingcurve-inbounce.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incirc.png b/doc/src/images/qeasingcurve-incirc.png
deleted file mode 100644
index 7bd0f09d41..0000000000
--- a/doc/src/images/qeasingcurve-incirc.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incubic.png b/doc/src/images/qeasingcurve-incubic.png
deleted file mode 100644
index 1ac9eafba5..0000000000
--- a/doc/src/images/qeasingcurve-incubic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inelastic.png b/doc/src/images/qeasingcurve-inelastic.png
deleted file mode 100644
index f976b5a576..0000000000
--- a/doc/src/images/qeasingcurve-inelastic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inexpo.png b/doc/src/images/qeasingcurve-inexpo.png
deleted file mode 100644
index 1af3652985..0000000000
--- a/doc/src/images/qeasingcurve-inexpo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutback.png b/doc/src/images/qeasingcurve-inoutback.png
deleted file mode 100644
index 480bc051ef..0000000000
--- a/doc/src/images/qeasingcurve-inoutback.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutbounce.png b/doc/src/images/qeasingcurve-inoutbounce.png
deleted file mode 100644
index de623091cf..0000000000
--- a/doc/src/images/qeasingcurve-inoutbounce.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcirc.png b/doc/src/images/qeasingcurve-inoutcirc.png
deleted file mode 100644
index b4be8ac21e..0000000000
--- a/doc/src/images/qeasingcurve-inoutcirc.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcubic.png b/doc/src/images/qeasingcurve-inoutcubic.png
deleted file mode 100644
index 49dfbef1b6..0000000000
--- a/doc/src/images/qeasingcurve-inoutcubic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutelastic.png b/doc/src/images/qeasingcurve-inoutelastic.png
deleted file mode 100644
index 5b0e54a019..0000000000
--- a/doc/src/images/qeasingcurve-inoutelastic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutexpo.png b/doc/src/images/qeasingcurve-inoutexpo.png
deleted file mode 100644
index 776984a113..0000000000
--- a/doc/src/images/qeasingcurve-inoutexpo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquad.png b/doc/src/images/qeasingcurve-inoutquad.png
deleted file mode 100644
index 264333085a..0000000000
--- a/doc/src/images/qeasingcurve-inoutquad.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquart.png b/doc/src/images/qeasingcurve-inoutquart.png
deleted file mode 100644
index 31fc0c8852..0000000000
--- a/doc/src/images/qeasingcurve-inoutquart.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquint.png b/doc/src/images/qeasingcurve-inoutquint.png
deleted file mode 100644
index 4d7a745be6..0000000000
--- a/doc/src/images/qeasingcurve-inoutquint.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutsine.png b/doc/src/images/qeasingcurve-inoutsine.png
deleted file mode 100644
index 012ff751c9..0000000000
--- a/doc/src/images/qeasingcurve-inoutsine.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquad.png b/doc/src/images/qeasingcurve-inquad.png
deleted file mode 100644
index e697c208a5..0000000000
--- a/doc/src/images/qeasingcurve-inquad.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquart.png b/doc/src/images/qeasingcurve-inquart.png
deleted file mode 100644
index 6d6517551e..0000000000
--- a/doc/src/images/qeasingcurve-inquart.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquint.png b/doc/src/images/qeasingcurve-inquint.png
deleted file mode 100644
index faaaea71fd..0000000000
--- a/doc/src/images/qeasingcurve-inquint.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-insine.png b/doc/src/images/qeasingcurve-insine.png
deleted file mode 100644
index 09449034b5..0000000000
--- a/doc/src/images/qeasingcurve-insine.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-linear.png b/doc/src/images/qeasingcurve-linear.png
deleted file mode 100644
index fb3aaf3541..0000000000
--- a/doc/src/images/qeasingcurve-linear.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outback.png b/doc/src/images/qeasingcurve-outback.png
deleted file mode 100644
index 83b3fa233f..0000000000
--- a/doc/src/images/qeasingcurve-outback.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outbounce.png b/doc/src/images/qeasingcurve-outbounce.png
deleted file mode 100644
index 27ac979642..0000000000
--- a/doc/src/images/qeasingcurve-outbounce.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcirc.png b/doc/src/images/qeasingcurve-outcirc.png
deleted file mode 100644
index 00193700e0..0000000000
--- a/doc/src/images/qeasingcurve-outcirc.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcubic.png b/doc/src/images/qeasingcurve-outcubic.png
deleted file mode 100644
index 45477c045a..0000000000
--- a/doc/src/images/qeasingcurve-outcubic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outelastic.png b/doc/src/images/qeasingcurve-outelastic.png
deleted file mode 100644
index 1d407ed845..0000000000
--- a/doc/src/images/qeasingcurve-outelastic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outexpo.png b/doc/src/images/qeasingcurve-outexpo.png
deleted file mode 100644
index 56851554ed..0000000000
--- a/doc/src/images/qeasingcurve-outexpo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinback.png b/doc/src/images/qeasingcurve-outinback.png
deleted file mode 100644
index 4700ab02e8..0000000000
--- a/doc/src/images/qeasingcurve-outinback.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinbounce.png b/doc/src/images/qeasingcurve-outinbounce.png
deleted file mode 100644
index 12cc1a8bd4..0000000000
--- a/doc/src/images/qeasingcurve-outinbounce.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincirc.png b/doc/src/images/qeasingcurve-outincirc.png
deleted file mode 100644
index c8a5c86a23..0000000000
--- a/doc/src/images/qeasingcurve-outincirc.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincubic.png b/doc/src/images/qeasingcurve-outincubic.png
deleted file mode 100644
index 42af870d99..0000000000
--- a/doc/src/images/qeasingcurve-outincubic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinelastic.png b/doc/src/images/qeasingcurve-outinelastic.png
deleted file mode 100644
index 308be57900..0000000000
--- a/doc/src/images/qeasingcurve-outinelastic.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinexpo.png b/doc/src/images/qeasingcurve-outinexpo.png
deleted file mode 100644
index 0692baa264..0000000000
--- a/doc/src/images/qeasingcurve-outinexpo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquad.png b/doc/src/images/qeasingcurve-outinquad.png
deleted file mode 100644
index 9e3cd83896..0000000000
--- a/doc/src/images/qeasingcurve-outinquad.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquart.png b/doc/src/images/qeasingcurve-outinquart.png
deleted file mode 100644
index 9a3c16f122..0000000000
--- a/doc/src/images/qeasingcurve-outinquart.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquint.png b/doc/src/images/qeasingcurve-outinquint.png
deleted file mode 100644
index add9feb26f..0000000000
--- a/doc/src/images/qeasingcurve-outinquint.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinsine.png b/doc/src/images/qeasingcurve-outinsine.png
deleted file mode 100644
index 4bc2aaf9e3..0000000000
--- a/doc/src/images/qeasingcurve-outinsine.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquad.png b/doc/src/images/qeasingcurve-outquad.png
deleted file mode 100644
index c505ff9e7b..0000000000
--- a/doc/src/images/qeasingcurve-outquad.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquart.png b/doc/src/images/qeasingcurve-outquart.png
deleted file mode 100644
index 6eac058d18..0000000000
--- a/doc/src/images/qeasingcurve-outquart.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquint.png b/doc/src/images/qeasingcurve-outquint.png
deleted file mode 100644
index 77a9ad417f..0000000000
--- a/doc/src/images/qeasingcurve-outquint.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outsine.png b/doc/src/images/qeasingcurve-outsine.png
deleted file mode 100644
index d135b2f98c..0000000000
--- a/doc/src/images/qeasingcurve-outsine.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qimage-scaling.png b/doc/src/images/qimage-scaling.png
deleted file mode 100644
index fcd71448f0..0000000000
--- a/doc/src/images/qimage-scaling.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qline-coordinates.png b/doc/src/images/qline-coordinates.png
deleted file mode 100644
index ac4fb980ac..0000000000
--- a/doc/src/images/qline-coordinates.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qline-point.png b/doc/src/images/qline-point.png
deleted file mode 100644
index 3bc3664a20..0000000000
--- a/doc/src/images/qline-point.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qlinef-angle-identicaldirection.png b/doc/src/images/qlinef-angle-identicaldirection.png
deleted file mode 100644
index 18d632321b..0000000000
--- a/doc/src/images/qlinef-angle-identicaldirection.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qlinef-angle-oppositedirection.png b/doc/src/images/qlinef-angle-oppositedirection.png
deleted file mode 100644
index bf52cfe011..0000000000
--- a/doc/src/images/qlinef-angle-oppositedirection.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qlinef-bounded.png b/doc/src/images/qlinef-bounded.png
deleted file mode 100644
index 136dd50304..0000000000
--- a/doc/src/images/qlinef-bounded.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qlinef-normalvector.png b/doc/src/images/qlinef-normalvector.png
deleted file mode 100644
index b7d944f32f..0000000000
--- a/doc/src/images/qlinef-normalvector.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qlinef-unbounded.png b/doc/src/images/qlinef-unbounded.png
deleted file mode 100644
index 75ead98ff2..0000000000
--- a/doc/src/images/qlinef-unbounded.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-bevel.png b/doc/src/images/qpen-bevel.png
deleted file mode 100644
index 8a30779e3b..0000000000
--- a/doc/src/images/qpen-bevel.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-custom.png b/doc/src/images/qpen-custom.png
deleted file mode 100644
index a2a038abe0..0000000000
--- a/doc/src/images/qpen-custom.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-dash.png b/doc/src/images/qpen-dash.png
deleted file mode 100644
index 67082c3758..0000000000
--- a/doc/src/images/qpen-dash.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-dashdot.png b/doc/src/images/qpen-dashdot.png
deleted file mode 100644
index 64b384660f..0000000000
--- a/doc/src/images/qpen-dashdot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-dashdotdot.png b/doc/src/images/qpen-dashdotdot.png
deleted file mode 100644
index ff1b2e69cd..0000000000
--- a/doc/src/images/qpen-dashdotdot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-dot.png b/doc/src/images/qpen-dot.png
deleted file mode 100644
index 54e81c9469..0000000000
--- a/doc/src/images/qpen-dot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-flat.png b/doc/src/images/qpen-flat.png
deleted file mode 100644
index 06e2195f73..0000000000
--- a/doc/src/images/qpen-flat.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-miter.png b/doc/src/images/qpen-miter.png
deleted file mode 100644
index 025e003979..0000000000
--- a/doc/src/images/qpen-miter.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-roundcap.png b/doc/src/images/qpen-roundcap.png
deleted file mode 100644
index 77b22b2bab..0000000000
--- a/doc/src/images/qpen-roundcap.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-roundjoin.png b/doc/src/images/qpen-roundjoin.png
deleted file mode 100644
index 155e2aa8cc..0000000000
--- a/doc/src/images/qpen-roundjoin.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-solid.png b/doc/src/images/qpen-solid.png
deleted file mode 100644
index e042b18017..0000000000
--- a/doc/src/images/qpen-solid.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qpen-square.png b/doc/src/images/qpen-square.png
deleted file mode 100644
index ebc5d1e329..0000000000
--- a/doc/src/images/qpen-square.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-coordinates.png b/doc/src/images/qrect-coordinates.png
deleted file mode 100644
index 2a2dae2d6c..0000000000
--- a/doc/src/images/qrect-coordinates.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-diagram-one.png b/doc/src/images/qrect-diagram-one.png
deleted file mode 100644
index a893be277a..0000000000
--- a/doc/src/images/qrect-diagram-one.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-diagram-three.png b/doc/src/images/qrect-diagram-three.png
deleted file mode 100644
index 84fb35be6c..0000000000
--- a/doc/src/images/qrect-diagram-three.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-diagram-two.png b/doc/src/images/qrect-diagram-two.png
deleted file mode 100644
index e19caacc34..0000000000
--- a/doc/src/images/qrect-diagram-two.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-diagram-zero.png b/doc/src/images/qrect-diagram-zero.png
deleted file mode 100644
index 90e3db0c41..0000000000
--- a/doc/src/images/qrect-diagram-zero.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-intersect.png b/doc/src/images/qrect-intersect.png
deleted file mode 100644
index db68cd53ad..0000000000
--- a/doc/src/images/qrect-intersect.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrect-unite.png b/doc/src/images/qrect-unite.png
deleted file mode 100644
index 3f6239f405..0000000000
--- a/doc/src/images/qrect-unite.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrectf-coordinates.png b/doc/src/images/qrectf-coordinates.png
deleted file mode 100644
index ccc6d82063..0000000000
--- a/doc/src/images/qrectf-coordinates.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrectf-diagram-one.png b/doc/src/images/qrectf-diagram-one.png
deleted file mode 100644
index 842289ce07..0000000000
--- a/doc/src/images/qrectf-diagram-one.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrectf-diagram-three.png b/doc/src/images/qrectf-diagram-three.png
deleted file mode 100644
index e05106a7e1..0000000000
--- a/doc/src/images/qrectf-diagram-three.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qrectf-diagram-two.png b/doc/src/images/qrectf-diagram-two.png
deleted file mode 100644
index 192d00df79..0000000000
--- a/doc/src/images/qrectf-diagram-two.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qsortfilterproxymodel-sorting.png b/doc/src/images/qsortfilterproxymodel-sorting.png
deleted file mode 100644
index de99d41272..0000000000
--- a/doc/src/images/qsortfilterproxymodel-sorting.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-authority.png b/doc/src/images/qurl-authority.png
deleted file mode 100644
index 54de2a792e..0000000000
--- a/doc/src/images/qurl-authority.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-authority2.png b/doc/src/images/qurl-authority2.png
deleted file mode 100644
index fe8d4d87b2..0000000000
--- a/doc/src/images/qurl-authority2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-authority3.png b/doc/src/images/qurl-authority3.png
deleted file mode 100644
index 242063e935..0000000000
--- a/doc/src/images/qurl-authority3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-fragment.png b/doc/src/images/qurl-fragment.png
deleted file mode 100644
index e93a252e7a..0000000000
--- a/doc/src/images/qurl-fragment.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-ftppath.png b/doc/src/images/qurl-ftppath.png
deleted file mode 100644
index d88df4922b..0000000000
--- a/doc/src/images/qurl-ftppath.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-mailtopath.png b/doc/src/images/qurl-mailtopath.png
deleted file mode 100644
index 34ec153b74..0000000000
--- a/doc/src/images/qurl-mailtopath.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qurl-querystring.png b/doc/src/images/qurl-querystring.png
deleted file mode 100644
index 7c3309a5ac..0000000000
--- a/doc/src/images/qurl-querystring.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stliterators1.png b/doc/src/images/stliterators1.png
deleted file mode 100644
index 6d71e4712f..0000000000
--- a/doc/src/images/stliterators1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/thread_clock.png b/doc/src/images/thread_clock.png
deleted file mode 100644
index b8a8aa0a39..0000000000
--- a/doc/src/images/thread_clock.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/threadsandobjects.png b/doc/src/images/threadsandobjects.png
deleted file mode 100644
index 8357d2532a..0000000000
--- a/doc/src/images/threadsandobjects.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/threadvisual-example.png b/doc/src/images/threadvisual-example.png
deleted file mode 100644
index 2a49874719..0000000000
--- a/doc/src/images/threadvisual-example.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/network/files-and-resources/datastreamformat.qdoc b/doc/src/network/files-and-resources/datastreamformat.qdoc
deleted file mode 100644
index 8ff31371a2..0000000000
--- a/doc/src/network/files-and-resources/datastreamformat.qdoc
+++ /dev/null
@@ -1,373 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms
-** and conditions contained in a signed written agreement between you
-** and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page datastreamformat.html
- \title Serializing Qt Data Types
- \ingroup qt-network
- \brief Representations of data types that can be serialized by QDataStream.
-
- The \l QDataStream allows you to serialize some of the Qt data types.
- The table below lists the data types that QDataStream can serialize
- and how they are represented. The format described below is
- \l{QDataStream::setVersion()}{version 12}.
-
- It is always best to cast integers to a Qt integer type, such as
- qint16 or quint32, when reading and writing. This ensures that
- you always know exactly what size integers you are reading and
- writing, no matter what the underlying platform and architecture
- the application happens to be running on.
-
- \table
- \row \li bool
- \li \list
- \li boolean
- \endlist
- \row \li qint8
- \li \list
- \li signed byte
- \endlist
- \row \li qint16
- \li \list
- \li signed 16-bit integer
- \endlist
- \row \li qint32
- \li \list
- \li signed 32-bit integer
- \endlist
- \row \li qint64
- \li \list
- \li signed 64-bit integer
- \endlist
- \row \li quint8
- \li \list
- \li unsigned byte
- \endlist
- \row \li quint16
- \li \list
- \li unsigned 16-bit integer
- \endlist
- \row \li quint32
- \li \list
- \li unsigned 32-bit integer
- \endlist
- \row \li quint64
- \li \list
- \li unsigned 64-bit integer
- \endlist
- \row \li \c float
- \li \list
- \li 32-bit floating point number using the standard IEEE 754 format
- \endlist
- \row \li \c double
- \li \list
- \li 64-bit floating point number using the standard IEEE 754 format
- \endlist
- \row \li \c {const char *}
- \li \list
- \li The string length (quint32)
- \li The string bytes, excluding the terminating 0
- \endlist
- \row \li QBitArray
- \li \list
- \li The array size (quint32)
- \li The array bits, i.e. (size + 7)/8 bytes
- \endlist
- \row \li QBrush
- \li \list
- \li The brush style (quint8)
- \li The brush color (QColor)
- \li If style is CustomPattern, the brush pixmap (QPixmap)
- \endlist
- \row \li QByteArray
- \li \list
- \li If the byte array is null: 0xFFFFFFFF (quint32)
- \li Otherwise: the array size (quint32) followed by the array bytes, i.e. size bytes
- \endlist
- \row \li \l QColor
- \li \list
- \li Color spec (qint8)
- \li Alpha value (quint16)
- \li Red value (quint16)
- \li Green value (quint16)
- \li Blue value (quint16)
- \li Pad value (quint16)
- \endlist
- \row \li QCursor
- \li \list
- \li Shape ID (qint16)
- \li If shape is BitmapCursor: The bitmap (QPixmap), mask (QPixmap), and hot spot (QPoint)
- \endlist
- \row \li QDate
- \li \list
- \li Julian day (quint32)
- \endlist
- \row \li QDateTime
- \li \list
- \li Date (QDate)
- \li Time (QTime)
- \li 0 for Qt::LocalTime, 1 for Qt::UTC (quint8)
- \endlist
- \row \li QEasingCurve
- \li \list
- \li type (quint8)
- \li func (quint64)
- \li hasConfig (bool)
- \li If hasConfig is true then these fields follow:
- \li list
- \li period (double)
- \li amplitude (double)
- \li overshoot (double)
- \endlist
- \row \li QFont
- \li \list
- \li The family (QString)
- \li The point size (qint16)
- \li The style hint (quint8)
- \li The char set (quint8)
- \li The weight (quint8)
- \li The font bits (quint8)
- \endlist
- \row \li QHash<Key, T>
- \li \list
- \li The number of items (quint32)
- \li For all items, the key (Key) and value (T)
- \endlist
- \row \li QIcon
- \li \list
- \li The number of pixmap entries (quint32)
- \li For all pixmap entries:
- \list
- \li The pixmap (QPixmap)
- \li The file name (QString)
- \li The pixmap size (QSize)
- \li The \l{QIcon::Mode}{mode} (quint32)
- \li The \l{QIcon::State}{state} (quint32)
- \endlist
- \endlist
- \row \li QImage
- \li \list
- \li If the image is null a "null image" marker is saved;
- otherwise the image is saved in PNG or BMP format (depending
- on the stream version). If you want control of the format,
- stream the image into a QBuffer (using QImageIO) and stream
- that.
- \endlist
- \row \li QKeySequence
- \li \list
- \li A QList<int>, where each integer is a key in the key sequence
- \endlist
- \row \li QLinkedList<T>
- \li \list
- \li The number of items (quint32)
- \li The items (T)
- \endlist
- \row \li QList<T>
- \li \list
- \li The number of items (quint32)
- \li The items (T)
- \endlist
- \row \li QMap<Key, T>
- \li \list
- \li The number of items (quint32)
- \li For all items, the key (Key) and value (T)
- \endlist
- \row \li QMargins
- \li \list
- \li left (int)
- \li top (int)
- \li right (int)
- \li bottom (int)
- \endlist
- \row \li QMatrix
- \li \list
- \li m11 (double)
- \li m12 (double)
- \li m21 (double)
- \li m22 (double)
- \li dx (double)
- \li dy (double)
- \endlist
- \row \li QMatrix4x4
- \li \list
- \li m11 (double)
- \li m12 (double)
- \li m13 (double)
- \li m14 (double)
- \li m21 (double)
- \li m22 (double)
- \li m23 (double)
- \li m24 (double)
- \li m31 (double)
- \li m32 (double)
- \li m33 (double)
- \li m34 (double)
- \li m41 (double)
- \li m42 (double)
- \li m43 (double)
- \li m44 (double)
- \endlist
- \row \li QPair<T1, T2>
- \li \list
- \li first (T1)
- \li second (T2)
- \endlist
- \row \li QPalette
- \li The disabled, active, and inactive color groups, each of which consists
- of the following:
- \list
- \li foreground (QBrush)
- \li button (QBrush)
- \li light (QBrush)
- \li midlight (QBrush)
- \li dark (QBrush)
- \li mid (QBrush)
- \li text (QBrush)
- \li brightText (QBrush)
- \li buttonText (QBrush)
- \li base (QBrush)
- \li background (QBrush)
- \li shadow (QBrush)
- \li highlight (QBrush)
- \li highlightedText (QBrush)
- \li link (QBrush)
- \li linkVisited (QBrush)
- \endlist
- \row \li QPen
- \li \list
- \li The pen styles (quint8)
- \li The pen width (quint16)
- \li The pen color (QColor)
- \endlist
- \row \li QPicture
- \li \list
- \li The size of the picture data (quint32)
- \li The raw bytes of picture data (char)
- \endlist
- \row \li QPixmap
- \li \list
- \li Save it as a PNG image.
- \endlist
- \row \li QPoint
- \li \list
- \li The x coordinate (qint32)
- \li The y coordinate (qint32)
- \endlist
- \row \li QQuaternion
- \li \list
- \li The scalar component (double)
- \li The x coordinate (double)
- \li The y coordinate (double)
- \li The z coordinate (double)
- \endlist
- \row \li QRect
- \li \list
- \li left (qint32)
- \li top (qint32)
- \li right (qint32)
- \li bottom (qint32)
- \endlist
- \row \li QRegExp
- \li \list
- \li The regexp pattern (QString)
- \li Case sensitivity (quint8)
- \li Regular expression syntax (quint8)
- \li Minimal matching (quint8)
- \endlist
- \row \li QRegularExpression
- \li \list
- \li The regular expression pattern (QString)
- \li The pattern options (quint32)
- \endlist
- \row \li QRegion
- \li \list
- \li The size of the data, i.e. 8 + 16 * (number of rectangles) (quint32)
- \li 10 (qint32)
- \li The number of rectangles (quint32)
- \li The rectangles in sequential order (QRect)
- \endlist
- \row \li QSize
- \li \list
- \li width (qint32)
- \li height (qint32)
- \endlist
- \row \li QString
- \li \list
- \li If the string is null: 0xFFFFFFFF (quint32)
- \li Otherwise: The string length in bytes (quint32) followed by the data in UTF-16
- \endlist
- \row \li QTime
- \li \list
- \li Milliseconds since midnight (quint32)
- \endlist
- \row \li QTransform
- \li \list
- \li m11 (double)
- \li m12 (double)
- \li m13 (double)
- \li m21 (double)
- \li m22 (double)
- \li m23 (double)
- \li m31 (double)
- \li m32 (double)
- \li m33 (double)
- \endlist
- \row \li QUrl
- \li \list
- \li Holds an URL (QString)
- \endlist
- \row \li QVariant
- \li \list
- \li The type of the data (quint32)
- \li The null flag (qint8)
- \li The data of the specified type
- \endlist
- \row \li QVector2D
- \li \list
- \li the x coordinate (double)
- \li the y coordinate (double)
- \endlist
- \row \li QVector3D
- \li \list
- \li the x coordinate (double)
- \li the y coordinate (double)
- \li the z coordinate (double)
- \endlist
- \row \li QVector4D
- \li \list
- \li the x coordinate (double)
- \li the y coordinate (double)
- \li the z coordinate (double)
- \li the w coordinate (double)
- \endlist
- \row \li QVector<T>
- \li \list
- \li The number of items (quint32)
- \li The items (T)
- \endlist
- \endtable
-*/
diff --git a/doc/src/snippets/buffer/buffer.cpp b/doc/src/snippets/buffer/buffer.cpp
deleted file mode 100644
index 681fb56791..0000000000
--- a/doc/src/snippets/buffer/buffer.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QBuffer>
-#include <QPalette>
-
-static void main_snippet()
-{
-//! [0]
- QBuffer buffer;
- char ch;
-
- buffer.open(QBuffer::ReadWrite);
- buffer.write("Qt rocks!");
- buffer.seek(0);
- buffer.getChar(&ch); // ch == 'Q'
- buffer.getChar(&ch); // ch == 't'
- buffer.getChar(&ch); // ch == ' '
- buffer.getChar(&ch); // ch == 'r'
-//! [0]
-}
-
-static void write_datastream_snippets()
-{
-//! [1]
- QByteArray byteArray;
- QBuffer buffer(&byteArray);
- buffer.open(QIODevice::WriteOnly);
-
- QDataStream out(&buffer);
- out << QApplication::palette();
-//! [1]
-}
-
-static void read_datastream_snippets()
-{
- QByteArray byteArray;
-
-//! [2]
- QPalette palette;
- QBuffer buffer(&byteArray);
- buffer.open(QIODevice::ReadOnly);
-
- QDataStream in(&buffer);
- in >> palette;
-//! [2]
-}
-
-static void bytearray_ptr_ctor_snippet()
-{
-//! [3]
- QByteArray byteArray("abc");
- QBuffer buffer(&byteArray);
- buffer.open(QIODevice::WriteOnly);
- buffer.seek(3);
- buffer.write("def", 3);
- buffer.close();
- // byteArray == "abcdef"
-//! [3]
-}
-
-static void setBuffer_snippet()
-{
-//! [4]
- QByteArray byteArray("abc");
- QBuffer buffer;
- buffer.setBuffer(&byteArray);
- buffer.open(QIODevice::WriteOnly);
- buffer.seek(3);
- buffer.write("def", 3);
- buffer.close();
- // byteArray == "abcdef"
-//! [4]
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- main_snippet();
- bytearray_ptr_ctor_snippet();
- write_datastream_snippets();
- read_datastream_snippets();
- setBuffer_snippet();
- return 0;
-}
diff --git a/doc/src/snippets/code/doc_src_containers.cpp b/doc/src/snippets/code/doc_src_containers.cpp
deleted file mode 100644
index c74b0f79dc..0000000000
--- a/doc/src/snippets/code/doc_src_containers.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class Employee
-{
-public:
- Employee() {}
- Employee(const Employee &other);
-
- Employee &operator=(const Employee &other);
-
-private:
- QString myName;
- QDate myDateOfBirth;
-};
-//! [0]
-
-
-//! [1]
-QList<QString> list;
-list << "A" << "B" << "C" << "D";
-
-QListIterator<QString> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [1]
-
-
-//! [2]
-QListIterator<QString> i(list);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [2]
-
-
-//! [3]
-QMutableListIterator<int> i(list);
-while (i.hasNext()) {
- if (i.next() % 2 != 0)
- i.remove();
-}
-//! [3]
-
-
-//! [4]
-QMutableListIterator<int> i(list);
-i.toBack();
-while (i.hasPrevious()) {
- if (i.previous() % 2 != 0)
- i.remove();
-}
-//! [4]
-
-
-//! [5]
-QMutableListIterator<int> i(list);
-while (i.hasNext()) {
- if (i.next() > 128)
- i.setValue(128);
-}
-//! [5]
-
-
-//! [6]
-QMutableListIterator<int> i(list);
-while (i.hasNext())
- i.next() *= 2;
-//! [6]
-
-
-//! [7]
-QMap<QString, QString> map;
-map.insert("Paris", "France");
-map.insert("Guatemala City", "Guatemala");
-map.insert("Mexico City", "Mexico");
-map.insert("Moscow", "Russia");
-...
-
-QMutableMapIterator<QString, QString> i(map);
-while (i.hasNext()) {
- if (i.next().key().endsWith("City"))
- i.remove();
-}
-//! [7]
-
-
-//! [8]
-QMap<int, QWidget *> map;
-QHash<int, QWidget *> hash;
-
-QMapIterator<int, QWidget *> i(map);
-while (i.hasNext()) {
- i.next();
- hash.insert(i.key(), i.value());
-}
-//! [8]
-
-
-//! [9]
-QMutableMapIterator<int, QWidget *> i(map);
-while (i.findNext(widget))
- i.remove();
-//! [9]
-
-
-//! [10]
-QList<QString> list;
-list << "A" << "B" << "C" << "D";
-
-QList<QString>::iterator i;
-for (i = list.begin(); i != list.end(); ++i)
- *i = (*i).toLower();
-//! [10]
-
-
-//! [11]
-QList<QString> list;
-list << "A" << "B" << "C" << "D";
-
-QList<QString>::iterator i = list.end();
-while (i != list.begin()) {
- --i;
- *i = (*i).toLower();
-}
-//! [11]
-
-
-//! [12]
-QList<QString>::const_iterator i;
-for (i = list.constBegin(); i != list.constEnd(); ++i)
- qDebug() << *i;
-//! [12]
-
-
-//! [13]
-QMap<int, int> map;
-...
-QMap<int, int>::const_iterator i;
-for (i = map.constBegin(); i != map.constEnd(); ++i)
- qDebug() << i.key() << ":" << i.value();
-//! [13]
-
-
-//! [14]
-// RIGHT
-const QList<int> sizes = splitter->sizes();
-QList<int>::const_iterator i;
-for (i = sizes.begin(); i != sizes.end(); ++i)
- ...
-
-// WRONG
-QList<int>::const_iterator i;
-for (i = splitter->sizes().begin();
- i != splitter->sizes().end(); ++i)
- ...
-//! [14]
-
-
-//! [15]
-QLinkedList<QString> list;
-...
-QString str;
-foreach (str, list)
- qDebug() << str;
-//! [15]
-
-
-//! [16]
-QLinkedList<QString> list;
-...
-QLinkedListIterator<QString> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [16]
-
-
-//! [17]
-QLinkedList<QString> list;
-...
-foreach (const QString &str, list)
- qDebug() << str;
-//! [17]
-
-
-//! [18]
-QLinkedList<QString> list;
-...
-foreach (const QString &str, list) {
- if (str.isEmpty())
- break;
- qDebug() << str;
-}
-//! [18]
-
-
-//! [19]
-QMap<QString, int> map;
-...
-foreach (const QString &str, map.keys())
- qDebug() << str << ":" << map.value(str);
-//! [19]
-
-
-//! [20]
-QMultiMap<QString, int> map;
-...
-foreach (const QString &str, map.uniqueKeys()) {
- foreach (int i, map.values(str))
- qDebug() << str << ":" << i;
-}
-//! [20]
-
-
-//! [21]
-forever {
- ...
-}
-//! [21]
-
-
-//! [22]
-CONFIG += no_keywords
-//! [22]
-
-
-//! [23]
-QString onlyLetters(const QString &in)
-{
- QString out;
- for (int j = 0; j < in.size(); ++j) {
- if (in[j].isLetter())
- out += in[j];
- }
- return out;
-}
-//! [23]
diff --git a/doc/src/snippets/code/doc_src_groups.cpp b/doc/src/snippets/code/doc_src_groups.cpp
deleted file mode 100644
index abfbfc59c0..0000000000
--- a/doc/src/snippets/code/doc_src_groups.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-void QPen::setStyle(Qt::PenStyle style)
-{
- detach(); // detach from common data
- d->style = style; // set the style member
-}
-
-void QPen::detach()
-{
- if (d->ref != 1) {
- ... // perform a deep copy
- }
-}
-//! [0]
-
-
-//! [1]
-QPixmap p1, p2;
-p1.load("image.bmp");
-p2 = p1; // p1 and p2 share data
-
-QPainter paint;
-paint.begin(&p2); // cuts p2 loose from p1
-paint.drawText(0,50, "Hi");
-paint.end();
-//! [1]
diff --git a/doc/src/snippets/code/doc_src_objecttrees.cpp b/doc/src/snippets/code/doc_src_objecttrees.cpp
deleted file mode 100644
index 62d556057b..0000000000
--- a/doc/src/snippets/code/doc_src_objecttrees.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//![0]
-int main()
-{
- QWidget window;
- QPushButton quit("Quit", &window);
- ...
-}
-//![0]
-
-
-//![1]
-int main()
-{
- QPushButton quit("Quit");
- QWidget window;
-
- quit.setParent(&window);
- ...
-}
-//![1]
diff --git a/doc/src/snippets/code/doc_src_properties.cpp b/doc/src/snippets/code/doc_src_properties.cpp
deleted file mode 100644
index b88fc22084..0000000000
--- a/doc/src/snippets/code/doc_src_properties.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-Q_PROPERTY(type name
- READ getFunction
- [WRITE setFunction]
- [RESET resetFunction]
- [NOTIFY notifySignal]
- [REVISION int]
- [DESIGNABLE bool]
- [SCRIPTABLE bool]
- [STORED bool]
- [USER bool]
- [CONSTANT]
- [FINAL])
-//! [0]
-
-
-//! [1]
-Q_PROPERTY(bool focus READ hasFocus)
-Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
-Q_PROPERTY(QCursor cursor READ cursor WRITE setCursor RESET unsetCursor)
-//! [1]
-
-
-//! [2]
-Q_PROPERTY(QDate date READ getDate WRITE setDate)
-//! [2]
-
-
-//! [3]
-QPushButton *button = new QPushButton;
-QObject *object = button;
-
-button->setDown(true);
-object->setProperty("down", true);
-//! [3]
-
-
-//! [4]
-QObject *object = ...
-const QMetaObject *metaobject = object->metaObject();
-int count = metaobject->propertyCount();
-for (int i=0; i<count; ++i) {
- QMetaProperty metaproperty = metaobject->property(i);
- const char *name = metaproperty.name();
- QVariant value = object->property(name);
- ...
-}
-//! [4]
-
-
-//! [5]
-class MyClass : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Priority priority READ priority WRITE setPriority NOTIFY priorityChanged)
- Q_ENUMS(Priority)
-
-public:
- MyClass(QObject *parent = 0);
- ~MyClass();
-
- enum Priority { High, Low, VeryHigh, VeryLow };
-
- void setPriority(Priority priority)
- {
- m_priority = priority;
- emit priorityChanged(priority);
- }
- Priority priority() const
- { return m_priority; }
-
-signals:
- void priorityChanged(Priority);
-
-private:
- Priority m_priority;
-};
-//! [5]
-
-
-//! [6]
-MyClass *myinstance = new MyClass;
-QObject *object = myinstance;
-
-myinstance->setPriority(MyClass::VeryHigh);
-object->setProperty("priority", "VeryHigh");
-//! [6]
-
-
-//! [7]
-Q_CLASSINFO("Version", "3.0.0")
-//! [7]
diff --git a/doc/src/snippets/code/doc_src_qalgorithms.cpp b/doc/src/snippets/code/doc_src_qalgorithms.cpp
deleted file mode 100644
index 20e64b61fa..0000000000
--- a/doc/src/snippets/code/doc_src_qalgorithms.cpp
+++ /dev/null
@@ -1,354 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QStringList list;
-list << "one" << "two" << "three";
-
-qFill(list.begin(), list.end(), "eleven");
-// list: [ "eleven", "eleven", "eleven" ]
-//! [0]
-
-
-//! [1]
-qFill(list.begin() + 1, list.end(), "six");
-// list: [ "eleven", "six", "six" ]
-//! [1]
-
-
-//! [2]
-QChar resolveEntity(const QString &entity)
-{
- static const QLatin1String name_table[] = {
- "AElig", "Aacute", ..., "zwnj"
- };
- static const ushort value_table[] = {
- 0x0061, 0x00c1, ..., 0x200c
- };
- int N = sizeof(name_table) / sizeof(name_table[0]);
-
- const QLatin1String *name = qBinaryFind(name_table, name_table + N,
- entity);
- int index = name - name_table;
- if (index == N)
- return QChar();
-
- return QChar(value_table[index]);
-}
-//! [2]
-
-
-//! [3]
-QChar resolveEntity(const QString &entity)
-{
- static QMap<QString, int> entityMap;
-
- if (!entityMap) {
- entityMap.insert("AElig", 0x0061);
- entityMap.insert("Aacute", 0x00c1);
- ...
- entityMap.insert("zwnj", 0x200c);
- }
- return QChar(entityMap.value(entity));
-}
-//! [3]
-
-
-//! [4]
-QStringList list;
-list << "one" << "two" << "three";
-
-QVector<QString> vect1(3);
-qCopy(list.begin(), list.end(), vect1.begin());
-// vect: [ "one", "two", "three" ]
-
-QVector<QString> vect2(8);
-qCopy(list.begin(), list.end(), vect2.begin() + 2);
-// vect: [ "", "", "one", "two", "three", "", "", "" ]
-//! [4]
-
-
-//! [5]
-QStringList list;
-list << "one" << "two" << "three";
-
-QVector<QString> vect(5);
-qCopyBackward(list.begin(), list.end(), vect.end());
-// vect: [ "", "", "one", "two", "three" ]
-//! [5]
-
-
-//! [6]
-QStringList list;
-list << "one" << "two" << "three";
-
-QVector<QString> vect(3);
-vect[0] = "one";
-vect[1] = "two";
-vect[2] = "three";
-
-bool ret1 = qEqual(list.begin(), list.end(), vect.begin());
-// ret1 == true
-
-vect[2] = "seven";
-bool ret2 = qEqual(list.begin(), list.end(), vect.begin());
-// ret2 == false
-//! [6]
-
-
-//! [7]
-QStringList list;
-list << "one" << "two" << "three";
-
-qFill(list.begin(), list.end(), "eleven");
-// list: [ "eleven", "eleven", "eleven" ]
-
-qFill(list.begin() + 1, list.end(), "six");
-// list: [ "eleven", "six", "six" ]
-//! [7]
-
-
-//! [8]
-QStringList list;
-list << "one" << "two" << "three";
-
-QStringList::iterator i1 = qFind(list.begin(), list.end(), "two");
-// i1 == list.begin() + 1
-
-QStringList::iterator i2 = qFind(list.begin(), list.end(), "seventy");
-// i2 == list.end()
-//! [8]
-
-
-//! [9]
-QList<int> list;
-list << 3 << 3 << 6 << 6 << 6 << 8;
-
-int countOf6 = 0;
-qCount(list.begin(), list.end(), 6, countOf6);
-// countOf6 == 3
-
-int countOf7 = 0;
-qCount(list.begin(), list.end(), 7, countOf7);
-// countOf7 == 0
-//! [9]
-
-
-//! [10]
-double pi = 3.14;
-double e = 2.71;
-
-qSwap(pi, e);
-// pi == 2.71, e == 3.14
-//! [10]
-
-
-//! [11]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qSort(list.begin(), list.end());
-// list: [ 6, 12, 12, 33, 68 ]
-//! [11]
-
-
-//! [12]
-bool caseInsensitiveLessThan(const QString &s1, const QString &s2)
-{
- return s1.toLower() < s2.toLower();
-}
-
-int doSomething()
-{
- QStringList list;
- list << "AlPha" << "beTA" << "gamma" << "DELTA";
- qSort(list.begin(), list.end(), caseInsensitiveLessThan);
- // list: [ "AlPha", "beTA", "DELTA", "gamma" ]
-}
-//! [12]
-
-
-//! [13]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qSort(list.begin(), list.end(), qGreater<int>());
-// list: [ 68, 33, 12, 12, 6 ]
-//! [13]
-
-
-//! [14]
-QStringList list;
-list << "AlPha" << "beTA" << "gamma" << "DELTA";
-
-QMap<QString, QString> map;
-foreach (const QString &str, list)
- map.insert(str.toLower(), str);
-
-list = map.values();
-//! [14]
-
-
-//! [15]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qStableSort(list.begin(), list.end());
-// list: [ 6, 12, 12, 33, 68 ]
-//! [15]
-
-
-//! [16]
-bool caseInsensitiveLessThan(const QString &s1, const QString &s2)
-{
- return s1.toLower() < s2.toLower();
-}
-
-int doSomething()
-{
- QStringList list;
- list << "AlPha" << "beTA" << "gamma" << "DELTA";
- qStableSort(list.begin(), list.end(), caseInsensitiveLessThan);
- // list: [ "AlPha", "beTA", "DELTA", "gamma" ]
-}
-//! [16]
-
-
-//! [17]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qStableSort(list.begin(), list.end(), qGreater<int>());
-// list: [ 68, 33, 12, 12, 6 ]
-//! [17]
-
-
-//! [18]
-QList<int> list;
-list << 3 << 3 << 6 << 6 << 6 << 8;
-
-QList<int>::iterator i = qLowerBound(list.begin(), list.end(), 5);
-list.insert(i, 5);
-// list: [ 3, 3, 5, 6, 6, 6, 8 ]
-
-i = qLowerBound(list.begin(), list.end(), 12);
-list.insert(i, 12);
-// list: [ 3, 3, 5, 6, 6, 6, 8, 12 ]
-//! [18]
-
-
-//! [19]
-QVector<int> vect;
-vect << 3 << 3 << 6 << 6 << 6 << 8;
-QVector<int>::iterator begin6 =
- qLowerBound(vect.begin(), vect.end(), 6);
-QVector<int>::iterator end6 =
- qUpperBound(begin6, vect.end(), 6);
-
-QVector<int>::iterator i = begin6;
-while (i != end6) {
- *i = 7;
- ++i;
-}
-// vect: [ 3, 3, 7, 7, 7, 8 ]
-//! [19]
-
-
-//! [20]
-QList<int> list;
-list << 3 << 3 << 6 << 6 << 6 << 8;
-
-QList<int>::iterator i = qUpperBound(list.begin(), list.end(), 5);
-list.insert(i, 5);
-// list: [ 3, 3, 5, 6, 6, 6, 8 ]
-
-i = qUpperBound(list.begin(), list.end(), 12);
-list.insert(i, 12);
-// list: [ 3, 3, 5, 6, 6, 6, 8, 12 ]
-//! [20]
-
-
-//! [21]
-QVector<int> vect;
-vect << 3 << 3 << 6 << 6 << 6 << 8;
-QVector<int>::iterator begin6 =
- qLowerBound(vect.begin(), vect.end(), 6);
-QVector<int>::iterator end6 =
- qUpperBound(vect.begin(), vect.end(), 6);
-
-QVector<int>::iterator i = begin6;
-while (i != end6) {
- *i = 7;
- ++i;
-}
-// vect: [ 3, 3, 7, 7, 7, 8 ]
-//! [21]
-
-
-//! [22]
-QVector<int> vect;
-vect << 3 << 3 << 6 << 6 << 6 << 8;
-
-QVector<int>::iterator i =
- qBinaryFind(vect.begin(), vect.end(), 6);
-// i == vect.begin() + 2 (or 3 or 4)
-//! [22]
-
-
-//! [23]
-QList<Employee *> list;
-list.append(new Employee("Blackpool", "Stephen"));
-list.append(new Employee("Twist", "Oliver"));
-
-qDeleteAll(list.begin(), list.end());
-list.clear();
-//! [23]
-
-
-//! [24]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qSort(list.begin(), list.end(), qLess<int>());
-// list: [ 6, 12, 12, 33, 68 ]
-//! [24]
-
-
-//! [25]
-QList<int> list;
-list << 33 << 12 << 68 << 6 << 12;
-qSort(list.begin(), list.end(), qGreater<int>());
-// list: [ 68, 33, 12, 12, 6 ]
-//! [25]
diff --git a/doc/src/snippets/code/doc_src_qcache.cpp b/doc/src/snippets/code/doc_src_qcache.cpp
deleted file mode 100644
index 0ba9e65531..0000000000
--- a/doc/src/snippets/code/doc_src_qcache.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QCache<int, Employee> cache;
-//! [0]
-
-
-//! [1]
-Employee *employee = new Employee;
-employee->setId(37);
-employee->setName("Richard Schmit");
-...
-cache.insert(employee->id(), employee);
-//! [1]
-
-
-//! [2]
-QCache<int, MyDataStructure> cache(5000);
-//! [2]
diff --git a/doc/src/snippets/code/doc_src_qiterator.cpp b/doc/src/snippets/code/doc_src_qiterator.cpp
deleted file mode 100644
index b96f9065cb..0000000000
--- a/doc/src/snippets/code/doc_src_qiterator.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QList<float> list;
-...
-QListIterator<float> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [0]
-
-
-//! [1]
-QListIterator<float> i(list);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [1]
-
-
-//! [2]
-QLinkedList<float> list;
-...
-QLinkedListIterator<float> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [2]
-
-
-//! [3]
-QLinkedListIterator<float> i(list);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [3]
-
-
-//! [4]
-QVector<float> vector;
-...
-QVectorIterator<float> i(vector);
-while (i.hasNext())
- qDebug() << i.next();
-//! [4]
-
-
-//! [5]
-QVectorIterator<float> i(vector);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [5]
-
-
-//! [6]
-QSet<QString> set;
-...
-QSetIterator<QString> i(set);
-while (i.hasNext())
- qDebug() << i.next();
-//! [6]
-
-
-//! [7]
-QSetIterator<QString> i(set);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [7]
-
-
-//! [8]
-QList<float> list;
-...
-QMutableListIterator<float> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [8]
-
-
-//! [9]
-QMutableListIterator<float> i(list);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [9]
-
-
-//! [10]
-QMutableListIterator<int> i(list);
-while (i.hasNext()) {
- int val = i.next();
- if (val < 0) {
- i.setValue(-val);
- } else if (val == 0) {
- i.remove();
- }
-}
-//! [10]
-
-
-//! [11]
-QLinkedList<float> list;
-...
-QMutableLinkedListIterator<float> i(list);
-while (i.hasNext())
- qDebug() << i.next();
-//! [11]
-
-
-//! [12]
-QMutableLinkedListIterator<float> i(list);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [12]
-
-
-//! [13]
-QMutableLinkedListIterator<int> i(list);
-while (i.hasNext()) {
- int val = i.next();
- if (val < 0) {
- i.setValue(-val);
- } else if (val == 0) {
- i.remove();
- }
-}
-//! [13]
-
-
-//! [14]
-QVector<float> vector;
-...
-QMutableVectorIterator<float> i(vector);
-while (i.hasNext())
- qDebug() << i.next();
-//! [14]
-
-
-//! [15]
-QMutableVectorIterator<float> i(vector);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [15]
-
-
-//! [16]
-QMutableVectorIterator<int> i(vector);
-while (i.hasNext()) {
- int val = i.next();
- if (val < 0) {
- i.setValue(-val);
- } else if (val == 0) {
- i.remove();
- }
-}
-//! [16]
-
-
-//! [17]
-QSet<float> set;
-...
-QMutableSetIterator<float> i(set);
-while (i.hasNext())
- qDebug() << i.next();
-//! [17]
-
-
-//! [18]
-QMutableSetIterator<float> i(set);
-i.toBack();
-while (i.hasPrevious())
- qDebug() << i.previous();
-//! [18]
-
-
-//! [19]
-QMutableListIterator<int> i(list);
-while (i.hasNext()) {
- int val = i.next();
- if (val < -32768 || val > 32767)
- i.remove();
-}
-//! [19]
-
-
-//! [20]
-QMutableLinkedListIterator<int> i(list);
-while (i.hasNext()) {
- int val = i.next();
- if (val < -32768 || val > 32767)
- i.remove();
-}
-//! [20]
-
-
-//! [21]
-QMutableVectorIterator<int> i(vector);
-while (i.hasNext()) {
- int val = i.next();
- if (val < -32768 || val > 32767)
- i.remove();
-}
-//! [21]
-
-
-//! [22]
-QMutableSetIterator<int> i(set);
-while (i.hasNext()) {
- int val = i.next();
- if (val < -32768 || val > 32767)
- i.remove();
-}
-//! [22]
-
-
-//! [23]
-QMutableListIterator<double> i(list);
-while (i.hasNext()) {
- double val = i.next();
- i.setValue(sqrt(val));
-}
-//! [23]
-
-
-//! [24]
-QMutableLinkedListIterator<double> i(list);
-while (i.hasNext()) {
- double val = i.next();
- i.setValue(sqrt(val));
-}
-//! [24]
-
-
-//! [25]
-QMutableVectorIterator<double> i(list);
-while (i.hasNext()) {
- double val = i.next();
- i.setValue(sqrt(val));
-}
-//! [25]
-
-
-//! [26]
-QMap<int, QWidget *> map;
-...
-QMapIterator<int, QWidget *> i(map);
-while (i.hasNext()) {
- i.next();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [26]
-
-
-//! [27]
-QMapIterator<int, QWidget *> i(map);
-i.toBack();
-while (i.hasPrevious()) {
- i.previous();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [27]
-
-
-//! [28]
-QMapIterator<int, QWidget *> i(map);
-while (i.findNext(widget)) {
- qDebug() << "Found widget " << widget << " under key "
- << i.key();
-}
-//! [28]
-
-
-//! [29]
-QHash<int, QWidget *> hash;
-...
-QHashIterator<int, QWidget *> i(hash);
-while (i.hasNext()) {
- i.next();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [29]
-
-
-//! [30]
-QHashIterator<int, QWidget *> i(hash);
-i.toBack();
-while (i.hasPrevious()) {
- i.previous();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [30]
-
-
-//! [31]
-QHashIterator<int, QWidget *> i(hash);
-while (i.findNext(widget)) {
- qDebug() << "Found widget " << widget << " under key "
- << i.key();
-}
-//! [31]
-
-
-//! [32]
-QMap<int, QWidget *> map;
-...
-QMutableMapIterator<int, QWidget *> i(map);
-while (i.hasNext()) {
- i.next();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [32]
-
-
-//! [33]
-QMutableMapIterator<int, QWidget *> i(map);
-i.toBack();
-while (i.hasPrevious()) {
- i.previous();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [33]
-
-
-//! [34]
-QMutableMapIterator<int, QWidget *> i(map);
-while (i.findNext(widget)) {
- qDebug() << "Found widget " << widget << " under key "
- << i.key();
-}
-//! [34]
-
-
-//! [35]
-QMutableMapIterator<QString, QString> i(map);
-while (i.hasNext()) {
- i.next();
- if (i.key() == i.value())
- i.remove();
-}
-//! [35]
-
-
-//! [36]
-QHash<int, QWidget *> hash;
-...
-QMutableHashIterator<QString, QWidget *> i(hash);
-while (i.hasNext()) {
- i.next();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [36]
-
-
-//! [37]
-QMutableHashIterator<int, QWidget *> i(hash);
-i.toBack();
-while (i.hasPrevious()) {
- i.previous();
- qDebug() << i.key() << ": " << i.value();
-}
-//! [37]
-
-
-//! [38]
-QMutableHashIterator<int, QWidget *> i(hash);
-while (i.findNext(widget)) {
- qDebug() << "Found widget " << widget << " under key "
- << i.key();
-}
-//! [38]
-
-
-//! [39]
-QMutableHashIterator<QString, QString> i(hash);
-while (i.hasNext()) {
- i.next();
- if (i.key() == i.value())
- i.remove();
-}
-//! [39]
diff --git a/doc/src/snippets/code/doc_src_qnamespace.cpp b/doc/src/snippets/code/doc_src_qnamespace.cpp
deleted file mode 100644
index ec80d011c9..0000000000
--- a/doc/src/snippets/code/doc_src_qnamespace.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [1]
-enum CustomEventPriority
-{
- // An important event
- ImportantEventPriority = Qt::HighEventPriority,
-
- // A more important event
- MoreImportantEventPriority = ImportantEventPriority + 1,
-
- // A critical event
- CriticalEventPriority = 100 * MoreImportantEventPriority,
-
- // Not that important
- StatusEventPriority = Qt::LowEventPriority,
-
- // These are less important than Status events
- IdleProcessingDoneEventPriority = StatusEventPriority - 1
-};
-//! [1]
diff --git a/doc/src/snippets/code/doc_src_qnamespace.qdoc b/doc/src/snippets/code/doc_src_qnamespace.qdoc
deleted file mode 100644
index e67b83a292..0000000000
--- a/doc/src/snippets/code/doc_src_qnamespace.qdoc
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QObject::connect: Cannot queue arguments of type 'MyType'
-//! [0]
diff --git a/doc/src/snippets/code/doc_src_qpair.cpp b/doc/src/snippets/code/doc_src_qpair.cpp
deleted file mode 100644
index a29b6d02b2..0000000000
--- a/doc/src/snippets/code/doc_src_qpair.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QPair<QString, double> pair;
-//! [0]
-
-
-//! [1]
-pair.first = "pi";
-pair.second = 3.14159265358979323846;
-//! [1]
-
-
-//! [2]
-QList<QPair<int, double> > list;
-list.append(qMakePair(66, 3.14159));
-//! [2]
diff --git a/doc/src/snippets/code/doc_src_qplugin.cpp b/doc/src/snippets/code/doc_src_qplugin.cpp
deleted file mode 100644
index 1577b2fa61..0000000000
--- a/doc/src/snippets/code/doc_src_qplugin.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-namespace Foo
-{
- struct MyInterface { ... };
-}
-
-Q_DECLARE_INTERFACE(Foo::MyInterface, "org.examples.MyInterface")
-//! [0]
-
-
-//! [1]
-Q_EXPORT_PLUGIN2(pnp_extrafilters, ExtraFiltersPlugin)
-//! [1]
-
-
-//! [2]
-Q_IMPORT_PLUGIN(qjpeg)
-//! [2]
-
-
-//! [3]
-TEMPLATE = app
-QTPLUGIN += qjpeg qgif # image formats
-//! [3]
diff --git a/doc/src/snippets/code/doc_src_qplugin.pro b/doc/src/snippets/code/doc_src_qplugin.pro
deleted file mode 100644
index e5e5311e5d..0000000000
--- a/doc/src/snippets/code/doc_src_qplugin.pro
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#! [3]
-TEMPLATE = app
-QTPLUGIN += qjpeg qgif # image formats
-#! [3]
diff --git a/doc/src/snippets/code/doc_src_qset.cpp b/doc/src/snippets/code/doc_src_qset.cpp
deleted file mode 100644
index cfd366f639..0000000000
--- a/doc/src/snippets/code/doc_src_qset.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSet<QString> set;
-//! [0]
-
-
-//! [1]
-set.insert("one");
-set.insert("three");
-set.insert("seven");
-//! [1]
-
-
-//! [2]
-set << "twelve" << "fifteen" << "nineteen";
-//! [2]
-
-
-//! [3]
-if (!set.contains("ninety-nine"))
- ...
-//! [3]
-
-
-//! [4]
-QSetIterator<QWidget *> i(set);
-while (i.hasNext())
- qDebug() << i.next();
-//! [4]
-
-
-//! [5]
-QSet<QWidget *>::const_iterator i = set.constBegin();
-while (i != set.constEnd()) {
- qDebug() << *i;
- ++i;
-}
-//! [5]
-
-
-//! [6]
-QSet<QString> set;
-...
-foreach (const QString &value, set)
- qDebug() << value;
-//! [6]
-
-
-//! [7]
-QSet<QString> set;
-set.reserve(20000);
-for (int i = 0; i < 20000; ++i)
- set.insert(values[i]);
-//! [7]
-
-
-//! [8]
-QSet<QString> set;
-set << "January" << "February" << ... << "December";
-
-QSet<QString>::iterator i;
-for (i = set.begin(); i != set.end(); ++i)
- qDebug() << *i;
-//! [8]
-
-
-//! [9]
-QSet<QString> set;
-set << "January" << "February" << ... << "December";
-
-QSet<QString>::iterator i = set.begin();
-while (i != set.end()) {
- if ((*i).startsWith('J')) {
- i = set.erase(i);
- } else {
- ++i;
- }
-}
-//! [9]
-
-
-//! [10]
-QSet<QString> set;
-...
-QSet<QString>::iterator it = qFind(set.begin(), set.end(), "Jeanette");
-if (it != set.end())
- cout << "Found Jeanette" << endl;
-//! [10]
-
-
-//! [11]
-QSet<QString> set;
-set << "January" << "February" << ... << "December";
-
-QSet<QString>::const_iterator i;
-for (i = set.begin(); i != set.end(); ++i)
- qDebug() << *i;
-//! [11]
-
-
-//! [12]
-QSet<QString> set;
-...
-QSet<QString>::iterator it = qFind(set.begin(), set.end(), "Jeanette");
-if (it != set.constEnd())
- cout << "Found Jeanette" << endl;
-//! [12]
-
-
-//! [13]
-QSet<QString> set;
-set << "red" << "green" << "blue" << ... << "black";
-
-QList<QString> list = set.toList();
-qSort(list);
-//! [13]
-
-
-//! [14]
-QStringList list;
-list << "Julia" << "Mike" << "Mike" << "Julia" << "Julia";
-
-QSet<QString> set = QSet<QString>::fromList(list);
-set.contains("Julia"); // returns true
-set.contains("Mike"); // returns true
-set.size(); // returns 2
-//! [14]
diff --git a/doc/src/snippets/code/doc_src_qtcore.cpp b/doc/src/snippets/code/doc_src_qtcore.cpp
deleted file mode 100644
index f00c96c6df..0000000000
--- a/doc/src/snippets/code/doc_src_qtcore.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#include <QtCore>
-//! [0]
diff --git a/doc/src/snippets/code/doc_src_qvarlengtharray.cpp b/doc/src/snippets/code/doc_src_qvarlengtharray.cpp
deleted file mode 100644
index 027faa41dc..0000000000
--- a/doc/src/snippets/code/doc_src_qvarlengtharray.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-int myfunc(int n)
-{
- int table[n + 1]; // WRONG
- ...
- return table[n];
-}
-//! [0]
-
-
-//! [1]
-int myfunc(int n)
-{
- int *table = new int[n + 1];
- ...
- int ret = table[n];
- delete[] table;
- return ret;
-}
-//! [1]
-
-
-//! [2]
-int myfunc(int n)
-{
- QVarLengthArray<int, 1024> array(n + 1);
- ...
- return array[n];
-}
-//! [2]
-
-
-//! [3]
-QVarLengthArray<int> array(10);
-int *data = array.data();
-for (int i = 0; i < 10; ++i)
- data[i] = 2 * i;
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp b/doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp
deleted file mode 100644
index 78abd5ba28..0000000000
--- a/doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QByteArray encodedString = "...";
-QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
-QString string = codec->toUnicode(encodedString);
-//! [0]
-
-
-//! [1]
-QString string = "...";
-QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
-QByteArray encodedString = codec->fromUnicode(string);
-//! [1]
-
-
-//! [2]
-QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");
-QTextDecoder *decoder = codec->makeDecoder();
-
-QString string;
-while (new_data_available()) {
- QByteArray chunk = get_new_data();
- string += decoder->toUnicode(chunk);
-}
-delete decoder;
-//! [2]
-
-
-//! [3]
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- QTextCodec::setCodecForTr(QTextCodec::codecForName("eucKR"));
- ...
-}
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp b/doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp
deleted file mode 100644
index a8f9da3a7c..0000000000
--- a/doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class HelloWorldTask : public QRunnable
-{
- void run()
- {
- qDebug() << "Hello world from thread" << QThread::currentThread();
- }
-}
-
-HelloWorldTask *hello = new HelloWorldTask();
-// QThreadPool takes ownership and deletes 'hello' automatically
-QThreadPool::globalInstance()->start(hello);
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
deleted file mode 100644
index 16f6783a52..0000000000
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ /dev/null
@@ -1,585 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
-//! [0]
-
-
-//! [1]
-class MyClass
-{
-public:
- enum Option {
- NoOptions = 0x0,
- ShowTabs = 0x1,
- ShowAll = 0x2,
- SqueezeBlank = 0x4
- };
- Q_DECLARE_FLAGS(Options, Option)
- ...
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(MyClass::Options)
-//! [1]
-
-//! [meta-object flags]
-Q_FLAGS(Options)
-//! [meta-object flags]
-
-//! [2]
-typedef QFlags<Enum> Flags;
-//! [2]
-
-
-//! [3]
-int myValue = 10;
-int minValue = 2;
-int maxValue = 6;
-
-int boundedValue = qBound(minValue, myValue, maxValue);
-// boundedValue == 6
-//! [3]
-
-
-//! [4]
-if (!driver()->isOpen() || driver()->isOpenError()) {
- qWarning("QSqlQuery::exec: database not open");
- return false;
-}
-//! [4]
-
-
-//! [5]
-qint64 value = Q_INT64_C(932838457459459);
-//! [5]
-
-
-//! [6]
-quint64 value = Q_UINT64_C(932838457459459);
-//! [6]
-
-
-//! [7]
-void myMsgHandler(QtMsgType, const char *);
-//! [7]
-
-
-//! [8]
-qint64 value = Q_INT64_C(932838457459459);
-//! [8]
-
-
-//! [9]
-quint64 value = Q_UINT64_C(932838457459459);
-//! [9]
-
-
-//! [10]
-int absoluteValue;
-int myValue = -4;
-
-absoluteValue = qAbs(myValue);
-// absoluteValue == 4
-//! [10]
-
-
-//! [11]
-qreal valueA = 2.3;
-qreal valueB = 2.7;
-
-int roundedValueA = qRound(valueA);
-// roundedValueA = 2
-int roundedValueB = qRound(valueB);
-// roundedValueB = 3
-//! [11]
-
-
-//! [12]
-qreal valueA = 42949672960.3;
-qreal valueB = 42949672960.7;
-
-int roundedValueA = qRound(valueA);
-// roundedValueA = 42949672960
-int roundedValueB = qRound(valueB);
-// roundedValueB = 42949672961
-//! [12]
-
-
-//! [13]
-int myValue = 6;
-int yourValue = 4;
-
-int minValue = qMin(myValue, yourValue);
-// minValue == yourValue
-//! [13]
-
-
-//! [14]
-int myValue = 6;
-int yourValue = 4;
-
-int maxValue = qMax(myValue, yourValue);
-// maxValue == myValue
-//! [14]
-
-
-//! [15]
-int myValue = 10;
-int minValue = 2;
-int maxValue = 6;
-
-int boundedValue = qBound(minValue, myValue, maxValue);
-// boundedValue == 6
-//! [15]
-
-
-//! [16]
-#if QT_VERSION >= 0x040100
- QIcon icon = style()->standardIcon(QStyle::SP_TrashIcon);
-#else
- QPixmap pixmap = style()->standardPixmap(QStyle::SP_TrashIcon);
- QIcon icon(pixmap);
-#endif
-//! [16]
-
-
-//! [17]
-// File: div.cpp
-
-#include <QtGlobal>
-
-int divide(int a, int b)
-{
- Q_ASSERT(b != 0);
- return a / b;
-}
-//! [17]
-
-
-//! [18]
-ASSERT: "b == 0" in file div.cpp, line 7
-//! [18]
-
-
-//! [19]
-// File: div.cpp
-
-#include <QtGlobal>
-
-int divide(int a, int b)
-{
- Q_ASSERT_X(b != 0, "divide", "division by zero");
- return a / b;
-}
-//! [19]
-
-
-//! [20]
-ASSERT failure in divide: "division by zero", file div.cpp, line 7
-//! [20]
-
-
-//! [21]
-int *a;
-
-Q_CHECK_PTR(a = new int[80]); // WRONG!
-
-a = new (nothrow) int[80]; // Right
-Q_CHECK_PTR(a);
-//! [21]
-
-
-//! [22]
-template<typename TInputType>
-const TInputType &myMin(const TInputType &value1, const TInputType &value2)
-{
- qDebug() << Q_FUNC_INFO << "was called with value1:" << value1 << "value2:" << value2;
-
- if(value1 < value2)
- return value1;
- else
- return value2;
-}
-//! [22]
-
-
-//! [23]
-#include <qapplication.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const char *msg)
-{
- switch (type) {
- case QtDebugMsg:
- fprintf(stderr, "Debug: %s (%s:%u, %s)\n", msg, context.file, context.line, context.function);
- break;
- case QtWarningMsg:
- fprintf(stderr, "Warning: %s (%s:%u, %s)\n", msg, context.file, context.line, context.function);
- break;
- case QtCriticalMsg:
- fprintf(stderr, "Critical: %s (%s:%u, %s)\n", msg, context.file, context.line, context.function);
- break;
- case QtFatalMsg:
- fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", msg, context.file, context.line, context.function);
- abort();
- }
-}
-
-int main(int argc, char **argv)
-{
- qInstallMessageHandler(myMessageOutput);
- QApplication app(argc, argv);
- ...
- return app.exec();
-}
-//! [23]
-
-
-//! [24]
-qDebug("Items in list: %d", myList.size());
-//! [24]
-
-
-//! [25]
-qDebug() << "Brush:" << myQBrush << "Other value:" << i;
-//! [25]
-
-
-//! [26]
-void f(int c)
-{
- if (c > 200)
- qWarning("f: bad argument, c == %d", c);
-}
-//! [26]
-
-
-//! [27]
-qWarning() << "Brush:" << myQBrush << "Other value:"
-<< i;
-//! [27]
-
-
-//! [28]
-void load(const QString &fileName)
-{
- QFile file(fileName);
- if (!file.exists())
- qCritical("File '%s' does not exist!", qPrintable(fileName));
-}
-//! [28]
-
-
-//! [29]
-qCritical() << "Brush:" << myQBrush << "Other
-value:" << i;
-//! [29]
-
-
-//! [30]
-int divide(int a, int b)
-{
- if (b == 0) // program error
- qFatal("divide: cannot divide by zero");
- return a / b;
-}
-//! [30]
-
-
-//! [31]
-forever {
- ...
-}
-//! [31]
-
-
-//! [32]
-CONFIG += no_keywords
-//! [32]
-
-
-//! [33]
-CONFIG += no_keywords
-//! [33]
-
-
-//! [34]
-QString FriendlyConversation::greeting(int type)
-{
-static const char *greeting_strings[] = {
- QT_TR_NOOP("Hello"),
- QT_TR_NOOP("Goodbye")
-};
-return tr(greeting_strings[type]);
-}
-//! [34]
-
-
-//! [35]
-static const char *greeting_strings[] = {
- QT_TRANSLATE_NOOP("FriendlyConversation", "Hello"),
- QT_TRANSLATE_NOOP("FriendlyConversation", "Goodbye")
-};
-
-QString FriendlyConversation::greeting(int type)
-{
- return tr(greeting_strings[type]);
-}
-
-QString global_greeting(int type)
-{
- return qApp->translate("FriendlyConversation",
- greeting_strings[type]);
-}
-//! [35]
-
-
-//! [36]
-
-static { const char *source; const char *comment; } greeting_strings[] =
-{
- QT_TRANSLATE_NOOP3("FriendlyConversation", "Hello",
- "A really friendly hello"),
- QT_TRANSLATE_NOOP3("FriendlyConversation", "Goodbye",
- "A really friendly goodbye")
-};
-
-QString FriendlyConversation::greeting(int type)
-{
- return tr(greeting_strings[type].source,
- greeting_strings[type].comment);
-}
-
-QString global_greeting(int type)
-{
- return qApp->translate("FriendlyConversation",
- greeting_strings[type].source,
- greeting_strings[type].comment);
-}
-//! [36]
-
-
-//! [qttrid]
- //% "%n fooish bar(s) found.\n"
- //% "Do you want to continue?"
- QString text = qtTrId("qtn_foo_bar", n);
-//! [qttrid]
-
-
-//! [qttrid_noop]
-static const char * const ids[] = {
- //% "This is the first text."
- QT_TRID_NOOP("qtn_1st_text"),
- //% "This is the second text."
- QT_TRID_NOOP("qtn_2nd_text"),
- 0
-};
-
-void TheClass::addLabels()
-{
- for (int i = 0; ids[i]; ++i)
- new QLabel(qtTrId(ids[i]), this);
-}
-//! [qttrid_noop]
-
-
-//! [37]
-qWarning("%s: %s", qPrintable(key), qPrintable(value));
-//! [37]
-
-
-//! [38]
-struct Point2D
-{
- int x;
- int y;
-};
-
-Q_DECLARE_TYPEINFO(Point2D, Q_PRIMITIVE_TYPE);
-//! [38]
-
-
-//! [39]
-class Point2D
-{
-public:
- Point2D() { data = new int[2]; }
- Point2D(const Point2D &other) { ... }
- ~Point2D() { delete[] data; }
-
- Point2D &operator=(const Point2D &other) { ... }
-
- int x() const { return data[0]; }
- int y() const { return data[1]; }
-
-private:
- int *data;
-};
-
-Q_DECLARE_TYPEINFO(Point2D, Q_MOVABLE_TYPE);
-//! [39]
-
-
-//! [40]
-#if Q_BYTE_ORDER == Q_BIG_ENDIAN
-...
-#endif
-
-or
-
-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
-...
-#endif
-
-//! [40]
-
-
-//! [41]
-
-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
-...
-#endif
-
-//! [41]
-
-
-//! [42]
-#if Q_BYTE_ORDER == Q_BIG_ENDIAN
-...
-#endif
-
-//! [42]
-
-//! [begin namespace macro]
-namespace QT_NAMESPACE {
-//! [begin namespace macro]
-
-//! [end namespace macro]
-}
-//! [end namespace macro]
-
-//! [43]
-class MyClass : public QObject
-{
-
- private:
- Q_DISABLE_COPY(MyClass)
-};
-
-//! [43]
-
-//! [44]
-class MyClass : public QObject
-{
-
- private:
- MyClass(const MyClass &);
- MyClass &operator=(const MyClass &);
-};
-//! [44]
-
-//! [45]
- QWidget w = QWidget();
-//! [45]
-
-//! [46]
- // Instead of comparing with 0.0
- qFuzzyCompare(0.0,1.0e-200); // This will return false
- // Compare adding 1 to both values will fix the problem
- qFuzzyCompare(1 + 0.0, 1 + 1.0e-200); // This will return true
-//! [46]
-
-//! [47]
-CApaApplication *myApplicationFactory();
-//! [47]
-
-
-//! [49]
-void myMessageHandler(QtMsgType, const QMessageLogContext &, const char *);
-//! [49]
-
-//! [qlikely]
- // the condition inside the "if" will be successful most of the times
- for (int i = 1; i <= 365; i++) {
- if (Q_LIKELY(isWorkingDay(i))) {
- ...
- }
- ...
- }
-//! [qlikely]
-
-//! [qunlikely]
-bool readConfiguration(const QFile &file)
-{
- // We expect to be asked to read an existing file
- if (Q_UNLIKELY(!file.exists())) {
- qWarning() << "File not found";
- return false;
- }
-
- ...
- return true;
-}
-//! [qunlikely]
-
-//! [qunreachable-enum]
- enum Shapes {
- Rectangle,
- Triangle,
- Circle,
- NumShapes
- };
-//! [qunreachable-enum]
-
-//! [qunreachable-switch]
- switch (shape) {
- case Rectangle:
- return rectangle();
- case Triangle:
- return triangle();
- case Circle:
- return circle();
- case NumShapes:
- Q_UNREACHABLE();
- break;
- }
-//! [qunreachable-switch]
diff --git a/doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp b/doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp
deleted file mode 100644
index 8893fbd08c..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class ZipEngineHandler : public QAbstractFileEngineHandler
-{
-public:
- QAbstractFileEngine *create(const QString &fileName) const;
-};
-
-QAbstractFileEngine *ZipEngineHandler::create(const QString &fileName) const
-{
- // ZipEngineHandler returns a ZipEngine for all .zip files
- return fileName.toLower().endsWith(".zip") ? new ZipEngine(fileName) : 0;
-}
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- ZipEngineHandler engine;
-
- MainWindow window;
- window.show();
-
- return app.exec();
-}
-//! [0]
-
-
-//! [1]
-QAbstractSocketEngine *ZipEngineHandler::create(const QString &fileName) const
-{
- // ZipEngineHandler returns a ZipEngine for all .zip files
- return fileName.toLower().endsWith(".zip") ? new ZipEngine(fileName) : 0;
-}
-//! [1]
-
-
-//! [2]
-QAbstractFileEngineIterator *
-CustomFileEngine::beginEntryList(QDir::Filters filters, const QStringList &filterNames)
-{
- return new CustomFileEngineIterator(filters, filterNames);
-}
-//! [2]
-
-
-//! [3]
-class CustomIterator : public QAbstractFileEngineIterator
-{
-public:
- CustomIterator(const QStringList &nameFilters, QDir::Filters filters)
- : QAbstractFileEngineIterator(nameFilters, filters), index(0)
- {
- // In a real iterator, these entries are fetched from the
- // file system based on the value of path().
- entries << "entry1" << "entry2" << "entry3";
- }
-
- bool hasNext() const
- {
- return index < entries.size() - 1;
- }
-
- QString next()
- {
- if (!hasNext())
- return QString();
- ++index;
- return currentFilePath();
- }
-
- QString currentFileName()
- {
- return entries.at(index);
- }
-
-private:
- QStringList entries;
- int index;
-};
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_io_qdatastream.cpp b/doc/src/snippets/code/src_corelib_io_qdatastream.cpp
deleted file mode 100644
index af2d7d24bf..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qdatastream.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-void wrapInFunction()
-{
-
-//! [0]
-QFile file("file.dat");
-file.open(QIODevice::WriteOnly);
-QDataStream out(&file); // we will serialize the data into the file
-out << QString("the answer is"); // serialize a string
-out << (qint32)42; // serialize an integer
-//! [0]
-
-
-//! [1]
-QFile file("file.dat");
-file.open(QIODevice::ReadOnly);
-QDataStream in(&file); // read the data serialized from the file
-QString str;
-qint32 a;
-in >> str >> a; // extract "the answer is" and 42
-//! [1]
-
-
-//! [2]
-stream.setVersion(QDataStream::Qt_4_0);
-//! [2]
-
-
-//! [3]
-QFile file("file.xxx");
-file.open(QIODevice::WriteOnly);
-QDataStream out(&file);
-
-// Write a header with a "magic number" and a version
-out << (quint32)0xA0B0C0D0;
-out << (qint32)123;
-
-out.setVersion(QDataStream::Qt_4_0);
-
-// Write the data
-out << lots_of_interesting_data;
-//! [3]
-
-
-//! [4]
-QFile file("file.xxx");
-file.open(QIODevice::ReadOnly);
-QDataStream in(&file);
-
-// Read and check the header
-quint32 magic;
-in >> magic;
-if (magic != 0xA0B0C0D0)
- return XXX_BAD_FILE_FORMAT;
-
-// Read the version
-qint32 version;
-in >> version;
-if (version < 100)
- return XXX_BAD_FILE_TOO_OLD;
-if (version > 123)
- return XXX_BAD_FILE_TOO_NEW;
-
-if (version <= 110)
- in.setVersion(QDataStream::Qt_3_2);
-else
- in.setVersion(QDataStream::Qt_4_0);
-
-// Read the data
-in >> lots_of_interesting_data;
-if (version >= 120)
- in >> data_new_in_XXX_version_1_2;
-in >> other_interesting_data;
-//! [4]
-
-
-//! [5]
-QDataStream out(file);
-out.setVersion(QDataStream::Qt_4_0);
-//! [5]
-
-}
diff --git a/doc/src/snippets/code/src_corelib_io_qdir.cpp b/doc/src/snippets/code/src_corelib_io_qdir.cpp
deleted file mode 100644
index 3c333e5642..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qdir.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-void wrapInFunction()
-{
-
-//! [0]
-QDir("/home/user/Documents")
-QDir("C:/Documents and Settings")
-//! [0]
-
-
-//! [1]
-QDir("images/landscape.png")
-//! [1]
-
-
-//! [2]
-QDir("Documents/Letters/Applications").dirName() // "Applications"
-QDir().dirName() // "."
-//! [2]
-
-
-//! [3]
-QDir directory("Documents/Letters");
-QString path = directory.filePath("contents.txt");
-QString absolutePath = directory.absoluteFilePath("contents.txt");
-//! [3]
-
-
-//! [4]
-QDir dir("example");
-if (!dir.exists())
- qWarning("Cannot find the example directory");
-//! [4]
-
-
-//! [5]
-QDir dir = QDir::root(); // "/"
-if (!dir.cd("tmp")) { // "/tmp"
- qWarning("Cannot find the \"/tmp\" directory");
-} else {
- QFile file(dir.filePath("ex1.txt")); // "/tmp/ex1.txt"
- if (!file.open(QIODevice::ReadWrite))
- qWarning("Cannot create the file %s", file.name());
-}
-//! [5]
-
-
-//! [6]
-QString bin = "/local/bin"; // where /local/bin is a symlink to /usr/bin
-QDir binDir(bin);
-QString canonicalBin = binDir.canonicalPath();
-// canonicalBin now equals "/usr/bin"
-
-QString ls = "/local/bin/ls"; // where ls is the executable "ls"
-QDir lsDir(ls);
-QString canonicalLs = lsDir.canonicalPath();
-// canonicalLS now equals "/usr/bin/ls".
-//! [6]
-
-
-//! [7]
-QDir dir("/home/bob");
-QString s;
-
-s = dir.relativeFilePath("images/file.jpg"); // s is "images/file.jpg"
-s = dir.relativeFilePath("/home/mary/file.txt"); // s is "../mary/file.txt"
-//! [7]
-
-
-//! [8]
-QDir::setSearchPaths("icons", QStringList(QDir::homePath() + "/images"));
-QDir::setSearchPaths("docs", QStringList(":/embeddedDocuments"));
-...
-QPixmap pixmap("icons:undo.png"); // will look for undo.png in QDir::homePath() + "/images"
-QFile file("docs:design.odf"); // will look in the :/embeddedDocuments resource path
-//! [8]
-
-
-//! [9]
-QDir dir("/tmp/root_link");
-dir = dir.canonicalPath();
-if (dir.isRoot())
- qWarning("It is a root link");
-//! [9]
-
-
-//! [10]
-// The current directory is "/usr/local"
-QDir d1("/usr/local/bin");
-QDir d2("bin");
-if (d1 == d2)
- qDebug("They're the same");
-//! [10]
-
-
-//! [11]
-// The current directory is "/usr/local"
-QDir d1("/usr/local/bin");
-d1.setFilter(QDir::Executable);
-QDir d2("bin");
-if (d1 != d2)
- qDebug("They differ");
-//! [11]
-
-
-//! [12]
-C:/Documents and Settings/Username
-//! [12]
-
-
-//! [13]
-Q_INIT_RESOURCE(myapp);
-//! [13]
-
-
-//! [14]
-inline void initMyResource() { Q_INIT_RESOURCE(myapp); }
-
-namespace MyNamespace
-{
- ...
-
- void myFunction()
- {
- initMyResource();
- }
-}
-//! [14]
-
-
-//! [15]
-Q_CLEANUP_RESOURCE(myapp);
-//! [15]
-
-}
diff --git a/doc/src/snippets/code/src_corelib_io_qdiriterator.cpp b/doc/src/snippets/code/src_corelib_io_qdiriterator.cpp
deleted file mode 100644
index bf38bb1627..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qdiriterator.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QDirIterator it("/etc", QDirIterator::Subdirectories);
-while (it.hasNext()) {
- qDebug() << it.next();
-
- // /etc/.
- // /etc/..
- // /etc/X11
- // /etc/X11/fs
- // ...
-}
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_io_qfile.cpp b/doc/src/snippets/code/src_corelib_io_qfile.cpp
deleted file mode 100644
index 7ad24b30f1..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qfile.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QFile file;
-QDir::setCurrent("/tmp");
-file.setFileName("readme.txt");
-QDir::setCurrent("/home");
-file.open(QIODevice::ReadOnly); // opens "/home/readme.txt" under Unix
-//! [0]
-
-
-//! [1]
-QByteArray myEncoderFunc(const QString &fileName);
-//! [1]
-
-
-//! [2]
-QString myDecoderFunc(const QByteArray &localFileName);
-//! [2]
-
-
-//! [3]
-#include <stdio.h>
-
-void printError(const char* msg)
-{
- QFile file;
- file.open(stderr, QIODevice::WriteOnly);
- file.write(msg, qstrlen(msg)); // write to stderr
- file.close();
-}
-//! [3]
-
-
-//! [4]
-CONFIG += console
-//! [4]
diff --git a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp b/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
deleted file mode 100644
index f565786934..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-//![newstuff]
- QFileInfo fi("c:/temp/foo"); => fi.absoluteFilePath() => "C:/temp/foo"
-//![newstuff]
-
-//! [0]
-#ifdef Q_OS_UNIX
-
-QFileInfo info1("/home/bob/bin/untabify");
-info1.isSymLink(); // returns true
-info1.absoluteFilePath(); // returns "/home/bob/bin/untabify"
-info1.size(); // returns 56201
-info1.symLinkTarget(); // returns "/opt/pretty++/bin/untabify"
-
-QFileInfo info2(info1.symLinkTarget());
-info2.isSymLink(); // returns false
-info2.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify"
-info2.size(); // returns 56201
-
-#endif
-//! [0]
-
-
-//! [1]
-#ifdef Q_OS_WIN
-
-QFileInfo info1("C:\\Documents and Settings\\Bob\\untabify.lnk");
-info1.isSymLink(); // returns true
-info1.absoluteFilePath(); // returns "C:/Documents and Settings/Bob/untabify.lnk"
-info1.size(); // returns 743
-info1.symLinkTarget(); // returns "C:/Pretty++/untabify"
-
-QFileInfo info2(info1.symLinkTarget());
-info2.isSymLink(); // returns false
-info2.absoluteFilePath(); // returns "C:/Pretty++/untabify"
-info2.size(); // returns 63942
-
-#endif
-//! [1]
-
-
-//! [2]
-QString absolute = "/local/bin";
-QString relative = "local/bin";
-QFileInfo absFile(absolute);
-QFileInfo relFile(relative);
-
-QDir::setCurrent(QDir::rootPath());
-// absFile and relFile now point to the same file
-
-QDir::setCurrent("/tmp");
-// absFile now points to "/local/bin",
-// while relFile points to "/tmp/local/bin"
-//! [2]
-
-
-//! [3]
-QFileInfo fi("/tmp/archive.tar.gz");
-QString name = fi.fileName(); // name = "archive.tar.gz"
-//! [3]
-
-
-//! [4]
-QFileInfo fi("/Applications/Safari.app");
-QString bundle = fi.bundleName(); // name = "Safari"
-//! [4]
-
-
-//! [5]
-QFileInfo fi("/tmp/archive.tar.gz");
-QString base = fi.baseName(); // base = "archive"
-//! [5]
-
-
-//! [6]
-QFileInfo fi("/tmp/archive.tar.gz");
-QString base = fi.completeBaseName(); // base = "archive.tar"
-//! [6]
-
-
-//! [7]
-QFileInfo fi("/tmp/archive.tar.gz");
-QString ext = fi.completeSuffix(); // ext = "tar.gz"
-//! [7]
-
-
-//! [8]
-QFileInfo fi("/tmp/archive.tar.gz");
-QString ext = fi.suffix(); // ext = "gz"
-//! [8]
-
-
-//! [9]
-QFileInfo info(fileName);
-if (info.isSymLink())
- fileName = info.symLinkTarget();
-//! [9]
-
-
-//! [10]
-QFileInfo fi("/tmp/archive.tar.gz");
-if (fi.permission(QFile::WriteUser | QFile::ReadGroup))
- qWarning("I can change the file; my group can read the file");
-if (fi.permission(QFile::WriteGroup | QFile::WriteOther))
- qWarning("The group or others can change the file");
-//! [10]
diff --git a/doc/src/snippets/code/src_corelib_io_qiodevice.cpp b/doc/src/snippets/code/src_corelib_io_qiodevice.cpp
deleted file mode 100644
index 6018a21f89..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qiodevice.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QProcess gzip;
-gzip.start("gzip", QStringList() << "-c");
-if (!gzip.waitForStarted())
- return false;
-
-gzip.write("uncompressed data");
-
-QByteArray compressed;
-while (gzip.waitForReadyRead())
- compressed += gzip.readAll();
-//! [0]
-
-
-//! [1]
-qint64 CustomDevice::bytesAvailable() const
-{
- return buffer.size() + QIODevice::bytesAvailable();
-}
-//! [1]
-
-
-//! [2]
-QFile file("box.txt");
-if (file.open(QFile::ReadOnly)) {
- char buf[1024];
- qint64 lineLength = file.readLine(buf, sizeof(buf));
- if (lineLength != -1) {
- // the line is available in buf
- }
-}
-//! [2]
-
-
-//! [3]
-bool CustomDevice::canReadLine() const
-{
- return buffer.contains('\n') || QIODevice::canReadLine();
-}
-//! [3]
-
-
-//! [4]
-bool isExeFile(QFile *file)
-{
- char buf[2];
- if (file->peek(buf, sizeof(buf)) == sizeof(buf))
- return (buf[0] == 'M' && buf[1] == 'Z');
- return false;
-}
-//! [4]
-
-
-//! [5]
-bool isExeFile(QFile *file)
-{
- return file->peek(2) == "MZ";
-}
-//! [5]
diff --git a/doc/src/snippets/code/src_corelib_io_qprocess.cpp b/doc/src/snippets/code/src_corelib_io_qprocess.cpp
deleted file mode 100644
index 16878f41e1..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qprocess.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-void wrapInFunction()
-{
-
-//! [0]
-QProcess builder;
-builder.setProcessChannelMode(QProcess::MergedChannels);
-builder.start("make", QStringList() << "-j2");
-
-if (!builder.waitForFinished())
- qDebug() << "Make failed:" << builder.errorString();
-else
- qDebug() << "Make output:" << builder.readAll();
-//! [0]
-
-
-//! [1]
-QProcess more;
-more.start("more");
-more.write("Text to display");
-more.closeWriteChannel();
-// QProcess will emit readyRead() once "more" starts printing
-//! [1]
-
-
-//! [2]
-command1 | command2
-//! [2]
-
-
-//! [3]
-QProcess process1;
-QProcess process2;
-
-process1.setStandardOutputProcess(&process2);
-
-process1.start("command1");
-process2.start("command2");
-//! [3]
-
-
-//! [4]
-class SandboxProcess : public QProcess
-{
- ...
- protected:
- void setupChildProcess();
- ...
-};
-
-void SandboxProcess::setupChildProcess()
-{
- // Drop all privileges in the child process, and enter
- // a chroot jail.
-#if defined Q_OS_UNIX
- ::setgroups(0, 0);
- ::chroot("/etc/safe");
- ::chdir("/");
- ::setgid(safeGid);
- ::setuid(safeUid);
- ::umask(0);
-#endif
-}
-
-//! [4]
-
-
-//! [5]
-QProcess process;
-process.start("del /s *.txt");
-// same as process.start("del", QStringList() << "/s" << "*.txt");
-...
-//! [5]
-
-
-//! [6]
-QProcess process;
-process.start("dir \"My Documents\"");
-//! [6]
-
-
-//! [7]
-QProcess process;
-process.start("dir \"\"\"My Documents\"\"\"");
-//! [7]
-
-
-//! [8]
-QStringList environment = QProcess::systemEnvironment();
-// environment = {"PATH=/usr/bin:/usr/local/bin",
-// "USER=greg", "HOME=/home/greg"}
-//! [8]
-
-}
diff --git a/doc/src/snippets/code/src_corelib_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
deleted file mode 100644
index c9ce7561ff..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qsettings.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSettings settings("MySoft", "Star Runner");
-QColor color = settings.value("DataPump/bgcolor").value<QColor>();
-//! [0]
-
-
-//! [1]
-QSettings settings("MySoft", "Star Runner");
-QColor color = palette().background().color();
-settings.setValue("DataPump/bgcolor", color);
-//! [1]
-
-
-//! [2]
-QSettings settings("/home/petra/misc/myapp.ini",
- QSettings::IniFormat);
-//! [2]
-
-
-//! [3]
-QSettings settings("/Users/petra/misc/myapp.plist",
- QSettings::NativeFormat);
-//! [3]
-
-
-//! [4]
-QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Office",
- QSettings::NativeFormat);
-//! [4]
-
-
-//! [5]
-settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
-//! [5]
-
-
-//! [6]
-settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy", "Milkyway");
-settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Sun", "OurStar");
-settings.value("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Default"); // returns "Milkyway"
-//! [6]
-
-
-//! [7]
-#ifdef Q_WS_MAC
- QSettings settings("grenoullelogique.fr", "Squash");
-#else
- QSettings settings("Grenoulle Logique", "Squash");
-#endif
-//! [7]
-
-
-//! [8]
-pos = @Point(100 100)
-//! [8]
-
-
-//! [9]
-windir = C:\Windows
-//! [9]
-
-
-//! [10]
-QSettings settings("Moose Tech", "Facturo-Pro");
-//! [10]
-
-
-//! [11]
-QSettings settings("Moose Soft", "Facturo-Pro");
-//! [11]
-
-
-//! [12]
-QCoreApplication::setOrganizationName("Moose Soft");
-QCoreApplication::setApplicationName("Facturo-Pro");
-QSettings settings;
-//! [12]
-
-
-//! [13]
-settings.beginGroup("mainwindow");
-settings.setValue("size", win->size());
-settings.setValue("fullScreen", win->isFullScreen());
-settings.endGroup();
-
-settings.beginGroup("outputpanel");
-settings.setValue("visible", panel->isVisible());
-settings.endGroup();
-//! [13]
-
-
-//! [14]
-settings.beginGroup("alpha");
-// settings.group() == "alpha"
-
-settings.beginGroup("beta");
-// settings.group() == "alpha/beta"
-
-settings.endGroup();
-// settings.group() == "alpha"
-
-settings.endGroup();
-// settings.group() == ""
-//! [14]
-
-
-//! [15]
-struct Login {
- QString userName;
- QString password;
-};
-QList<Login> logins;
-...
-
-QSettings settings;
-int size = settings.beginReadArray("logins");
-for (int i = 0; i < size; ++i) {
- settings.setArrayIndex(i);
- Login login;
- login.userName = settings.value("userName").toString();
- login.password = settings.value("password").toString();
- logins.append(login);
-}
-settings.endArray();
-//! [15]
-
-
-//! [16]
-struct Login {
- QString userName;
- QString password;
-};
-QList<Login> logins;
-...
-
-QSettings settings;
-settings.beginWriteArray("logins");
-for (int i = 0; i < logins.size(); ++i) {
- settings.setArrayIndex(i);
- settings.setValue("userName", list.at(i).userName);
- settings.setValue("password", list.at(i).password);
-}
-settings.endArray();
-//! [16]
-
-
-//! [17]
-QSettings settings;
-settings.setValue("fridge/color", Qt::white);
-settings.setValue("fridge/size", QSize(32, 96));
-settings.setValue("sofa", true);
-settings.setValue("tv", false);
-
-QStringList keys = settings.allKeys();
-// keys: ["fridge/color", "fridge/size", "sofa", "tv"]
-//! [17]
-
-
-//! [18]
-settings.beginGroup("fridge");
-keys = settings.allKeys();
-// keys: ["color", "size"]
-//! [18]
-
-
-//! [19]
-QSettings settings;
-settings.setValue("fridge/color", Qt::white);
-settings.setValue("fridge/size", QSize(32, 96));
-settings.setValue("sofa", true);
-settings.setValue("tv", false);
-
-QStringList keys = settings.childKeys();
-// keys: ["sofa", "tv"]
-//! [19]
-
-
-//! [20]
-settings.beginGroup("fridge");
-keys = settings.childKeys();
-// keys: ["color", "size"]
-//! [20]
-
-
-//! [21]
-QSettings settings;
-settings.setValue("fridge/color", Qt::white);
-settings.setValue("fridge/size", QSize(32, 96));
-settings.setValue("sofa", true);
-settings.setValue("tv", false);
-
-QStringList groups = settings.childGroups();
-// groups: ["fridge"]
-//! [21]
-
-
-//! [22]
-settings.beginGroup("fridge");
-groups = settings.childGroups();
-// groups: []
-//! [22]
-
-
-//! [23]
-QSettings settings;
-settings.setValue("interval", 30);
-settings.value("interval").toInt(); // returns 30
-
-settings.setValue("interval", 6.55);
-settings.value("interval").toDouble(); // returns 6.55
-//! [23]
-
-
-//! [24]
-QSettings settings;
-settings.setValue("ape");
-settings.setValue("monkey", 1);
-settings.setValue("monkey/sea", 2);
-settings.setValue("monkey/doe", 4);
-
-settings.remove("monkey");
-QStringList keys = settings.allKeys();
-// keys: ["ape"]
-//! [24]
-
-
-//! [25]
-QSettings settings;
-settings.setValue("ape");
-settings.setValue("monkey", 1);
-settings.setValue("monkey/sea", 2);
-settings.setValue("monkey/doe", 4);
-
-settings.beginGroup("monkey");
-settings.remove("");
-settings.endGroup();
-
-QStringList keys = settings.allKeys();
-// keys: ["ape"]
-//! [25]
-
-
-//! [26]
-QSettings settings;
-settings.setValue("animal/snake", 58);
-settings.value("animal/snake", 1024).toInt(); // returns 58
-settings.value("animal/zebra", 1024).toInt(); // returns 1024
-settings.value("animal/zebra").toInt(); // returns 0
-//! [26]
-
-
-//! [27]
-bool myReadFunc(QIODevice &device, QSettings::SettingsMap &map);
-//! [27]
-
-
-//! [28]
-bool myWriteFunc(QIODevice &device, const QSettings::SettingsMap &map);
-//! [28]
-
-
-//! [29]
-bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map);
-bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map);
-
-int main(int argc, char *argv[])
-{
- const QSettings::Format XmlFormat =
- QSettings::registerFormat("xml", readXmlFile, writeXmlFile);
-
- QSettings settings(XmlFormat, QSettings::UserScope, "MySoft",
- "Star Runner");
-
- ...
-}
-//! [29]
diff --git a/doc/src/snippets/code/src_corelib_io_qtemporarydir.cpp b/doc/src/snippets/code/src_corelib_io_qtemporarydir.cpp
deleted file mode 100644
index 4e855f72f0..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qtemporarydir.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-{
-//! [0]
- // Within a function/method...
-
- QTemporaryDir dir;
- if (dir.isValid()) {
- // dir.path() returns the unique directory path
- }
-
- // The QTemporaryDir destructor removes the temporary directory
- // as it goes out of scope.
-//! [0]
-}
diff --git a/doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp b/doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp
deleted file mode 100644
index 2db3aace56..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-{
-//! [0]
- // Within a function/method...
-
- QTemporaryFile file;
- if (file.open()) {
- // file.fileName() returns the unique file name
- }
-
- // The QTemporaryFile destructor removes the temporary file
- // as it goes out of scope.
-//! [0]
-}
diff --git a/doc/src/snippets/code/src_corelib_io_qtextstream.cpp b/doc/src/snippets/code/src_corelib_io_qtextstream.cpp
deleted file mode 100644
index c46cbb23d3..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qtextstream.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QFile data("output.txt");
-if (data.open(QFile::WriteOnly | QFile::Truncate)) {
- QTextStream out(&data);
- out << "Result: " << qSetFieldWidth(10) << left << 3.14 << 2.7;
- // writes "Result: 3.14 2.7 "
-}
-//! [0]
-
-
-//! [1]
-QTextStream stream(stdin);
-QString line;
-do {
- line = stream.readLine();
-} while (!line.isNull());
-//! [1]
-
-
-//! [2]
-QTextStream in("0x50 0x20");
-int firstNumber, secondNumber;
-
-in >> firstNumber; // firstNumber == 80
-in >> dec >> secondNumber; // secondNumber == 0
-
-char ch;
-in >> ch; // ch == 'x'
-//! [2]
-
-
-//! [3]
-int main(int argc, char *argv[])
-{
- // read numeric arguments (123, 0x20, 4.5...)
- for (int i = 1; i < argc; ++i) {
- int number;
- QTextStream in(argv[i]);
- in >> number;
- ...
- }
-}
-//! [3]
-
-
-//! [4]
-QString str;
-QTextStream in(stdin);
-in >> str;
-//! [4]
-
-
-//! [5]
-QString s;
-QTextStream out(&s);
-out.setFieldWidth(10);
-out.setFieldAlignment(QTextStream::AlignCenter);
-out.setPadChar('-');
-out << "Qt" << "rocks!";
-//! [5]
-
-
-//! [6]
-----Qt------rocks!--
-//! [6]
-
-
-//! [7]
-QTextStream in(file);
-QChar ch1, ch2, ch3;
-in >> ch1 >> ch2 >> ch3;
-//! [7]
-
-
-//! [8]
-QTextStream out(stdout);
-out << "Qt rocks!" << endl;
-//! [8]
-
-
-//! [9]
-stream << '\n' << flush;
-//! [9]
-
-
-//! [10]
-QTextStream out(&file);
-out.setCodec("UTF-8");
-//! [10]
diff --git a/doc/src/snippets/code/src_corelib_io_qurl.cpp b/doc/src/snippets/code/src_corelib_io_qurl.cpp
deleted file mode 100644
index 8fd4b8ee9f..0000000000
--- a/doc/src/snippets/code/src_corelib_io_qurl.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QUrl url("http://www.example.com/List of holidays.xml");
-// url.toEncoded() == "http://www.example.com/List%20of%20holidays.xml"
-//! [0]
-
-
-//! [1]
-QUrl url = QUrl::fromEncoded("http://qt.nokia.com/List%20of%20holidays.xml");
-//! [1]
-
-
-//! [2]
-bool checkUrl(const QUrl &url) {
- if (!url.isValid()) {
- qDebug(QString("Invalid URL: %1").arg(url.toString()));
- return false;
- }
-
- return true;
-}
-//! [2]
-
-
-//! [3]
-QTcpSocket sock;
-sock.connectToHost(url.host(), url.port(80));
-//! [3]
-
-
-//! [4]
-http://www.example.com/cgi-bin/drawgraph.cgi?type(pie)color(green)
-//! [4]
-
-
-//! [5]
-QUrl baseUrl("http://qt.nokia.com/support");
-QUrl relativeUrl("../products/solutions");
-qDebug(baseUrl.resolved(relativeUrl).toString());
-// prints "http://qt.nokia.com/products/solutions"
-//! [5]
-
-
-//! [6]
-QByteArray ba = QUrl::toPercentEncoding("{a fishy string?}", "{}", "s");
-qDebug(ba.constData());
-// prints "{a fi%73hy %73tring%3F}"
-//! [6]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp
deleted file mode 100644
index eba007e947..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-bool myEventFilter(void *message);
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
deleted file mode 100644
index aa5b23265e..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-beginInsertRows(parent, 2, 4);
-//! [0]
-
-
-//! [1]
-beginInsertRows(parent, 4, 5);
-//! [1]
-
-
-//! [2]
-beginRemoveRows(parent, 2, 3);
-//! [2]
-
-
-//! [3]
-beginInsertColumns(parent, 4, 6);
-//! [3]
-
-
-//! [4]
-beginInsertColumns(parent, 6, 8);
-//! [4]
-
-
-//! [5]
-beginRemoveColumns(parent, 4, 6);
-//! [5]
-
-
-//! [6]
-beginMoveRows(sourceParent, 2, 4, destinationParent, 2);
-//! [6]
-
-
-//! [7]
-beginMoveRows(sourceParent, 2, 4, destinationParent, 6);
-//! [7]
-
-
-//! [8]
-beginMoveRows(parent, 2, 2, parent, 0);
-//! [8]
-
-
-//! [9]
-beginMoveRows(parent, 2, 2, parent, 4);
-//! [9]
-
-//! [10]
-myData.clear();
-reset();
-//! [10]
-
-//! [11]
-beginResetModel();
-myData.clear();
-endResetModel();
-//! [11]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp b/doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp
deleted file mode 100644
index 8023e6a218..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QMouseEvent event(QEvent::MouseButtonPress, pos, 0, 0, 0);
-QApplication::sendEvent(mainWindow, &event);
-//! [0]
-
-
-//! [1]
-QPushButton *quitButton = new QPushButton("Quit");
-connect(quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
-//! [1]
-
-
-//! [2]
-foreach (const QString &path, app.libraryPaths())
- do_something(path);
-//! [2]
-
-
-//! [3]
-bool myEventFilter(void *message, long *result);
-//! [3]
-
-
-//! [4]
-static int *global_ptr = 0;
-
-static void cleanup_ptr()
-{
- delete [] global_ptr;
- global_ptr = 0;
-}
-
-void init_ptr()
-{
- global_ptr = new int[100]; // allocate data
- qAddPostRoutine(cleanup_ptr); // delete later
-}
-//! [4]
-
-
-//! [5]
-class MyPrivateInitStuff : public QObject
-{
-public:
- static MyPrivateInitStuff *initStuff(QObject *parent)
- {
- if (!p)
- p = new MyPrivateInitStuff(parent);
- return p;
- }
-
- ~MyPrivateInitStuff()
- {
- // cleanup goes here
- }
-
-private:
- MyPrivateInitStuff(QObject *parent)
- : QObject(parent)
- {
- // initialization goes here
- }
-
- MyPrivateInitStuff *p;
-};
-//! [5]
-
-
-//! [6]
-static inline QString tr(const char *sourceText,
- const char *comment = 0);
-static inline QString trUtf8(const char *sourceText,
- const char *comment = 0);
-//! [6]
-
-
-//! [7]
-class MyMfcView : public CView
-{
- Q_DECLARE_TR_FUNCTIONS(MyMfcView)
-
-public:
- MyMfcView();
- ...
-};
-//! [7]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp b/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp
deleted file mode 100644
index 7c0c2c2122..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-void wrapInFunction()
-{
-
-//! [0]
-class MyClass : public QObject
-{
- Q_OBJECT
- Q_CLASSINFO("author", "Sabrina Schweinsteiger")
- Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/")
-
-public:
- ...
-};
-//! [0]
-
-
-//! [1]
-QByteArray normType = QMetaObject::normalizedType(" int const *");
-// normType is now "const int*"
-//! [1]
-
-
-//! [2]
-QMetaObject::invokeMethod(pushButton, "animateClick",
- Qt::QueuedConnection);
-//! [2]
-
-
-//! [3]
-QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'
-//! [3]
-
-
-//! [4]
-QString retVal;
-QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection,
- Q_RETURN_ARG(QString, retVal),
- Q_ARG(QString, "sqrt"),
- Q_ARG(int, 42),
- Q_ARG(double, 9.7));
-//! [4]
-
-
-//! [5]
-class MyClass
-{
- Q_OBJECT
- Q_CLASSINFO("author", "Sabrina Schweinsteiger")
- Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/")
-
-public:
- ...
-};
-//! [5]
-
-
-//! [propertyCount]
-const QMetaObject* metaObject = obj->metaObject();
-QStringList properties;
-for(int i = metaObject->propertyOffset(); i < metaObject->propertyCount(); ++i)
- properties << QString::fromLatin1(metaObject->property(i).name());
-//! [propertyCount]
-
-
-//! [methodCount]
-const QMetaObject* metaObject = obj->metaObject();
-QStringList methods;
-for(int i = metaObject->methodOffset(); i < metaObject->methodCount(); ++i)
- methods << QString::fromLatin1(metaObject->method(i).methodSignature());
-//! [methodCount]
-
-//! [6]
-int methodIndex = pushButton->metaObject()->indexOfMethod("animateClick()");
-QMetaMethod method = metaObject->method(methodIndex);
-method.invoke(pushButton, Qt::QueuedConnection);
-//! [6]
-
-//! [7]
-QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'
-//! [7]
-
-//! [8]
-QString retVal;
-QByteArray normalizedSignature = QMetaObject::normalizedSignature("compute(QString, int, double)");
-int methodIndex = obj->metaObject()->indexOfMethod(normalizedSignature);
-QMetaMethod method = metaObject->method(methodIndex);
-method.invoke(obj,
- Qt::DirectConnection,
- Q_RETURN_ARG(QString, retVal),
- Q_ARG(QString, "sqrt"),
- Q_ARG(int, 42),
- Q_ARG(double, 9.7));
-//! [8]
-
-}
diff --git a/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp b/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp
deleted file mode 100644
index d0a7a69884..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-struct MyStruct
-{
- int i;
- ...
-};
-
-Q_DECLARE_METATYPE(MyStruct)
-//! [0]
-
-
-//! [1]
-namespace MyNamespace
-{
- ...
-}
-
-Q_DECLARE_METATYPE(MyNamespace::MyStruct)
-//! [1]
-
-
-//! [2]
-MyStruct s;
-QVariant var;
-var.setValue(s); // copy s into the variant
-
-...
-
-// retrieve the value
-MyStruct s2 = var.value<MyStruct>();
-//! [2]
-
-
-//! [3]
-int id = QMetaType::type("MyClass");
-if (id != QMetaType::UnknownType) {
- void *myClassPtr = QMetaType::create(id);
- ...
- QMetaType::destroy(id, myClassPtr);
- myClassPtr = 0;
-}
-//! [3]
-
-
-//! [4]
-qRegisterMetaType<MyClass>("MyClass");
-//! [4]
-
-
-//! [5]
-qRegisterMetaTypeStreamOperators<MyClass>("MyClass");
-//! [5]
-
-
-//! [6]
-QDataStream &operator<<(QDataStream &out, const MyClass &myObj);
-QDataStream &operator>>(QDataStream &in, MyClass &myObj);
-//! [6]
-
-
-//! [7]
-int id = qRegisterMetaType<MyStruct>();
-//! [7]
-
-
-//! [8]
-int id = qMetaTypeId<QString>(); // id is now QMetaType::QString
-id = qMetaTypeId<MyStruct>(); // compile error if MyStruct not declared
-//! [8]
-
-//! [9]
-typedef QString CustomString;
-qRegisterMetaType<CustomString>("CustomString");
-//! [9]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp b/doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp
deleted file mode 100644
index de683cf463..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-void MyWidget::dragEnterEvent(QDragEnterEvent *event)
-{
- if (event->mimeData()->hasUrls())
- event->acceptProposedAction();
-}
-
-void MyWidget::dropEvent(QDropEvent *event)
-{
- if (event->mimeData()->hasUrls()) {
- foreach (QUrl url, event->mimeData()->urls()) {
- ...
- }
- }
-}
-//! [0]
-
-
-//! [1]
-QByteArray csvData = ...;
-
-QMimeData *mimeData = new QMimeData;
-mimeData->setData("text/csv", csvData);
-//! [1]
-
-
-//! [2]
-void MyWidget::dropEvent(QDropEvent *event)
-{
- const MyMimeData *myData =
- qobject_cast<const MyMimeData *>(event->mimeData());
- if (myData) {
- // access myData's data directly (not through QMimeData's API)
- }
-}
-//! [2]
-
-
-//! [3]
-application/x-qt-windows-mime;value="<custom type>"
-//! [3]
-
-
-//! [4]
-application/x-qt-windows-mime;value="FileGroupDescriptor"
-application/x-qt-windows-mime;value="FileContents"
-//! [4]
-
-
-//! [5]
-if (event->mimeData()->hasImage()) {
- QImage image = qvariant_cast<QImage>(event->mimeData()->imageData());
- ...
-}
-//! [5]
-
-
-//! [6]
-mimeData->setImageData(QImage("beautifulfjord.png"));
-//! [6]
-
-
-//! [7]
-if (event->mimeData()->hasColor()) {
- QColor color = qvariant_cast<QColor>(event->mimeData()->colorData());
- ...
-}
-//! [7]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
deleted file mode 100644
index 5b27775322..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
+++ /dev/null
@@ -1,493 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QLineEdit *lineEdit = static_cast<QLineEdit *>(
- qt_find_obj_child(myWidget, "QLineEdit", "my line edit"));
-if (lineEdit)
- lineEdit->setText("Default");
-//! [0]
-
-
-//! [1]
-QObject *obj = new QPushButton;
-obj->metaObject()->className(); // returns "QPushButton"
-
-QPushButton::staticMetaObject.className(); // returns "QPushButton"
-//! [1]
-
-
-//! [2]
-QPushButton::staticMetaObject.className(); // returns "QPushButton"
-
-QObject *obj = new QPushButton;
-obj->metaObject()->className(); // returns "QPushButton"
-//! [2]
-
-
-//! [3]
-QObject *obj = new QTimer; // QTimer inherits QObject
-
-QTimer *timer = qobject_cast<QTimer *>(obj);
-// timer == (QObject *)obj
-
-QAbstractButton *button = qobject_cast<QAbstractButton *>(obj);
-// button == 0
-//! [3]
-
-
-//! [4]
-QTimer *timer = new QTimer; // QTimer inherits QObject
-timer->inherits("QTimer"); // returns true
-timer->inherits("QObject"); // returns true
-timer->inherits("QAbstractButton"); // returns false
-
-// QVBoxLayout inherits QObject and QLayoutItem
-QVBoxLayout *layout = new QVBoxLayout;
-layout->inherits("QObject"); // returns true
-layout->inherits("QLayoutItem"); // returns true (even though QLayoutItem is not a QObject)
-//! [4]
-
-
-//! [5]
-qDebug("MyClass::setPrecision(): (%s) invalid precision %f",
- qPrintable(objectName()), newPrecision);
-//! [5]
-
-
-//! [6]
-class MainWindow : public QMainWindow
-{
-public:
- MainWindow();
-
-protected:
- bool eventFilter(QObject *obj, QEvent *ev);
-
-private:
- QTextEdit *textEdit;
-};
-
-MainWindow::MainWindow()
-{
- textEdit = new QTextEdit;
- setCentralWidget(textEdit);
-
- textEdit->installEventFilter(this);
-}
-
-bool MainWindow::eventFilter(QObject *obj, QEvent *event)
-{
- if (obj == textEdit) {
- if (event->type() == QEvent::KeyPress) {
- QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
- qDebug() << "Ate key press" << keyEvent->key();
- return true;
- } else {
- return false;
- }
- } else {
- // pass the event on to the parent class
- return QMainWindow::eventFilter(obj, event);
- }
-}
-//! [6]
-
-
-//! [7]
-myObject->moveToThread(QApplication::instance()->thread());
-//! [7]
-
-
-//! [8]
-class MyObject : public QObject
-{
- Q_OBJECT
-
-public:
- MyObject(QObject *parent = 0);
-
-protected:
- void timerEvent(QTimerEvent *event);
-};
-
-MyObject::MyObject(QObject *parent)
- : QObject(parent)
-{
- startTimer(50); // 50-millisecond timer
- startTimer(1000); // 1-second timer
- startTimer(60000); // 1-minute timer
-}
-
-void MyObject::timerEvent(QTimerEvent *event)
-{
- qDebug() << "Timer ID:" << event->timerId();
-}
-//! [8]
-
-
-//! [9]
-QList<QObject *> list = window()->queryList("QAbstractButton"));
-foreach (QObject *obj, list)
- static_cast<QAbstractButton *>(obj)->setEnabled(false);
-//! [9]
-
-
-//! [10]
-QPushButton *button = parentWidget->findChild<QPushButton *>("button1");
-//! [10]
-
-
-//! [11]
-QListWidget *list = parentWidget->findChild<QListWidget *>();
-//! [11]
-
-
-//! [12]
-QList<QWidget *> widgets = parentWidget.findChildren<QWidget *>("widgetname");
-//! [12]
-
-
-//! [13]
-QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>();
-//! [13]
-
-
-//! [14]
-monitoredObj->installEventFilter(filterObj);
-//! [14]
-
-
-//! [15]
-class KeyPressEater : public QObject
-{
- Q_OBJECT
- ...
-
-protected:
- bool eventFilter(QObject *obj, QEvent *event);
-};
-
-bool KeyPressEater::eventFilter(QObject *obj, QEvent *event)
-{
- if (event->type() == QEvent::KeyPress) {
- QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
- qDebug("Ate key press %d", keyEvent->key());
- return true;
- } else {
- // standard event processing
- return QObject::eventFilter(obj, event);
- }
-}
-//! [15]
-
-
-//! [16]
-KeyPressEater *keyPressEater = new KeyPressEater(this);
-QPushButton *pushButton = new QPushButton(this);
-QListView *listView = new QListView(this);
-
-pushButton->installEventFilter(keyPressEater);
-listView->installEventFilter(keyPressEater);
-//! [16]
-
-
-//! [17]
-MyWindow::MyWindow()
-{
- QLabel *senderLabel = new QLabel(tr("Name:"));
- QLabel *recipientLabel = new QLabel(tr("Name:", "recipient"));
-//! [17]
-}
-
-
-//! [18]
-int n = messages.count();
-showMessage(tr("%n message(s) saved", "", n));
-//! [18]
-
-
-//! [19]
-n == 1 ? tr("%n message saved") : tr("%n messages saved")
-//! [19]
-
-
-//! [20]
-label->setText(tr("F\374r \310lise"));
-//! [20]
-
-
-//! [21]
-if (receivers(SIGNAL(valueChanged(QByteArray))) > 0) {
- QByteArray data;
- get_the_value(&data); // expensive operation
- emit valueChanged(data);
-}
-//! [21]
-
-
-//! [22]
-QLabel *label = new QLabel;
-QScrollBar *scrollBar = new QScrollBar;
-QObject::connect(scrollBar, SIGNAL(valueChanged(int)),
- label, SLOT(setNum(int)));
-//! [22]
-
-
-//! [23]
-// WRONG
-QObject::connect(scrollBar, SIGNAL(valueChanged(int value)),
- label, SLOT(setNum(int value)));
-//! [23]
-
-
-//! [24]
-class MyWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- MyWidget();
-
-signals:
- void buttonClicked();
-
-private:
- QPushButton *myButton;
-};
-
-MyWidget::MyWidget()
-{
- myButton = new QPushButton(this);
- connect(myButton, SIGNAL(clicked()),
- this, SIGNAL(buttonClicked()));
-}
-//! [24]
-
-
-//! [25]
-QObject::connect: Cannot queue arguments of type 'MyType'
-(Make sure 'MyType' is registered using qRegisterMetaType().)
-//! [25]
-
-
-//! [26]
-disconnect(myObject, 0, 0, 0);
-//! [26]
-
-
-//! [27]
-myObject->disconnect();
-//! [27]
-
-
-//! [28]
-disconnect(myObject, SIGNAL(mySignal()), 0, 0);
-//! [28]
-
-
-//! [29]
-myObject->disconnect(SIGNAL(mySignal()));
-//! [29]
-
-
-//! [30]
-disconnect(myObject, 0, myReceiver, 0);
-//! [30]
-
-
-//! [31]
-myObject->disconnect(myReceiver);
-//! [31]
-
-
-//! [32]
-if (QLatin1String(signal) == SIGNAL(valueChanged(int))) {
- // signal is valueChanged(int)
-}
-//! [32]
-
-
-//! [33]
-void on_<object name>_<signal name>(<signal parameters>);
-//! [33]
-
-
-//! [34]
-void on_button1_clicked();
-//! [34]
-
-
-//! [35]
-class MyClass : public QObject
-{
- Q_OBJECT
- Q_CLASSINFO("Author", "Pierre Gendron")
- Q_CLASSINFO("URL", "http://www.my-organization.qc.ca")
-
-public:
- ...
-};
-//! [35]
-
-
-//! [36]
-Q_PROPERTY(type name
- READ getFunction
- [WRITE setFunction]
- [RESET resetFunction]
- [NOTIFY notifySignal]
- [DESIGNABLE bool]
- [SCRIPTABLE bool]
- [STORED bool]
- [USER bool]
- [CONSTANT]
- [FINAL])
-//! [36]
-
-
-//! [37]
-Q_PROPERTY(QString title READ title WRITE setTitle USER true)
-//! [37]
-
-
-//! [38]
-class MyClass : public QObject
-{
- Q_OBJECT
- Q_ENUMS(Priority)
-
-public:
- MyClass(QObject *parent = 0);
- ~MyClass();
-
- enum Priority { High, Low, VeryHigh, VeryLow };
- void setPriority(Priority priority);
- Priority priority() const;
-};
-//! [38]
-
-
-//! [39a]
-class QLibrary : public QObject
-{
- ...
- Q_FLAGS(LoadHint LoadHints)
- ...
-//! [39a]
-
-//! [39b]
- ...
-public:
- enum LoadHint {
- ResolveAllSymbolsHint = 0x01,
- ExportExternalSymbolsHint = 0x02,
- LoadArchiveMemberHint = 0x04
- };
- Q_DECLARE_FLAGS(LoadHints, LoadHint)
- ...
-//! [39b]
-
-
-//! [40]
-//: This name refers to a host name.
-hostNameLabel->setText(tr("Name:"));
-
-/*: This text refers to a C++ code example. */
-QString example = tr("Example");
-//! [40]
-
-//! [41]
-QPushButton *button = parentWidget->findChild<QPushButton *>("button1", Qt::FindDirectChildOnly);
-//! [41]
-
-
-//! [42]
-QListWidget *list = parentWidget->findChild<QListWidget *>(QString(), Qt::FindDirectChildOnly);
-//! [42]
-
-
-//! [43]
-QList<QPushButton *> childButtons = parentWidget.findChildren<QPushButton *>(QString(), Qt::FindDirectChildOnly);
-//! [43]
-
-//! [44]
-QLabel *label = new QLabel;
-QLineEdit *lineEdit = new QLineEdit;
-QObject::connect(lineEdit, &QLineEdit::textChanged,
- label, &QLabel::setText);
-//! [44]
-
-//! [45]
-void someFunction();
-QPushButton *button = new QPushButton;
-QObject::connect(button, &QPushButton::clicked, someFunction);
-//! [45]
-
-//! [46]
-QByteArray page = ...;
-QTcpSocket *socket = new QTcpSocket;
-socket->connectToHost("qt-project.org", 80);
-QObject::connect(socket, &QTcpSocket::connected, [=] () {
- socket->write("GET " + page + "\r\n");
- });
-//! [46]
-
-//! [47]
-disconnect(myObject, &MyObject::mySignal(), 0, 0);
-//! [47]
-
-//! [48]
-QObject::disconnect(lineEdit, &QLineEdit::textChanged,
- label, &QLabel::setText);
-//! [48]
-
-//! [meta data]
-//: This is a comment for the translator.
-//= qtn_foo_bar
-//~ loc-layout_id foo_dialog
-//~ loc-blank False
-//~ magic-stuff This might mean something magic.
-QString text = MyMagicClass::tr("Sim sala bim.");
-//! [meta data]
-
-//! [explicit tr context]
-QString text = QScrollBar::tr("Page up");
-//! [explicit tr context]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp b/doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp
deleted file mode 100644
index da6e9fca8e..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSystemSemaphore sem("market", 3, QSystemSemaphore::Create);
- // resources available == 3
-sem.acquire(); // resources available == 2
-sem.acquire(); // resources available == 1
-sem.acquire(); // resources available == 0
-sem.release(); // resources available == 1
-sem.release(2); // resources available == 3
-//! [0]
-
-
-//! [1]
-QSystemSemaphore sem("market", 5, QSystemSemaphore::Create);
-sem.acquire(5); // acquire all 5 resources
-sem.release(5); // release the 5 resources
-//! [1]
-
-
-//! [2]
-sem.release(10); // "create" 10 new resources
-//! [2]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qtimer.cpp b/doc/src/snippets/code/src_corelib_kernel_qtimer.cpp
deleted file mode 100644
index dfdef73e75..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qtimer.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#include <QApplication>
-#include <QTimer>
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- QTimer::singleShot(600000, &app, SLOT(quit()));
- ...
- return app.exec();
-}
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
deleted file mode 100644
index ae38c8372f..0000000000
--- a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QDataStream out(...);
-QVariant v(123); // The variant now contains an int
-int x = v.toInt(); // x = 123
-out << v; // Writes a type tag and an int to out
-v = QVariant("hello"); // The variant now contains a QByteArray
-v = QVariant(tr("hello")); // The variant now contains a QString
-int y = v.toInt(); // y = 0 since v cannot be converted to an int
-QString s = v.toString(); // s = tr("hello") (see QObject::tr())
-out << v; // Writes a type tag and a QString to out
-...
-QDataStream in(...); // (opening the previously written stream)
-in >> v; // Reads an Int variant
-int z = v.toInt(); // z = 123
-qDebug("Type is %s", // prints "Type is int"
- v.typeName());
-v = v.toInt() + 100; // The variant now hold the value 223
-v = QVariant(QStringList());
-//! [0]
-
-
-//! [1]
-QVariant x, y(QString()), z(QString(""));
-x.convert(QVariant::Int);
-// x.isNull() == true
-// y.isNull() == true, z.isNull() == false
-//! [1]
-
-
-//! [2]
-QVariant variant;
-...
-QColor color = variant.value<QColor>();
-//! [2]
-
-
-//! [3]
-QColor color = palette().background().color();
-QVariant variant = color;
-//! [3]
-
-
-//! [4]
-QVariant v;
-
-v.setValue(5);
-int i = v.toInt(); // i is now 5
-QString s = v.toString() // s is now "5"
-
-MyCustomStruct c;
-v.setValue(c);
-
-...
-
-MyCustomStruct c2 = v.value<MyCustomStruct>();
-//! [4]
-
-
-//! [5]
-QVariant v;
-
-MyCustomStruct c;
-if (v.canConvert<MyCustomStruct>())
- c = v.value<MyCustomStruct>();
-
-v = 7;
-int i = v.value<int>(); // same as v.toInt()
-QString s = v.value<QString>(); // same as v.toString(), s is now "7"
-MyCustomStruct c2 = v.value<MyCustomStruct>(); // conversion failed, c2 is empty
-//! [5]
-
-
-//! [6]
-QVariant v = 42;
-
-v.canConvert<int>(); // returns true
-v.canConvert<QString>(); // returns true
-
-MyCustomStruct s;
-v.setValue(s);
-
-v.canConvert<int>(); // returns false
-v.canConvert<MyCustomStruct>(); // returns true
-//! [6]
-
-
-//! [7]
-MyCustomStruct s;
-return QVariant::fromValue(s);
-//! [7]
-
-
-//! [8]
-QObject *object = getObjectFromSomewhere();
-QVariant data = QVariant::fromValue(object);
-//! [8]
diff --git a/doc/src/snippets/code/src_corelib_mimetype_qmimedatabase.cpp b/doc/src/snippets/code/src_corelib_mimetype_qmimedatabase.cpp
deleted file mode 100644
index e59a96b87a..0000000000
--- a/doc/src/snippets/code/src_corelib_mimetype_qmimedatabase.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QMimeDatabase db;
-QMimeType mime = db.mimeTypeForFile(fileName);
-if (mime.inherits("text/plain")) {
- // The file is plain text, we can display it in a QTextEdit
-}
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp b/doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp
deleted file mode 100644
index 9de685a7b5..0000000000
--- a/doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QLibrary myLib("mylib");
-typedef void (*MyPrototype)();
-MyPrototype myFunction = (MyPrototype) myLib.resolve("mysymbol");
-if (myFunction)
- myFunction();
-//! [0]
-
-
-//! [1]
-typedef void (*MyPrototype)();
-MyPrototype myFunction =
- (MyPrototype) QLibrary::resolve("mylib", "mysymbol");
-if (myFunction)
- myFunction();
-//! [1]
-
-
-//! [2]
-typedef int (*AvgFunction)(int, int);
-
-AvgFunction avg = (AvgFunction) library->resolve("avg");
-if (avg)
- return avg(5, 8);
-else
- return -1;
-//! [2]
-
-
-//! [3]
-extern "C" MY_EXPORT int avg(int a, int b)
-{
- return (a + b) / 2;
-}
-//! [3]
-
-
-//! [4]
-#ifdef Q_OS_WIN
-#define MY_EXPORT __declspec(dllexport)
-#else
-#define MY_EXPORT
-#endif
-//! [4]
diff --git a/doc/src/snippets/code/src_corelib_plugin_quuid.cpp b/doc/src/snippets/code/src_corelib_plugin_quuid.cpp
deleted file mode 100644
index 5c8f6ae091..0000000000
--- a/doc/src/snippets/code/src_corelib_plugin_quuid.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-// {67C8770B-44F1-410A-AB9A-F9B5446F13EE}
-QUuid IID_MyInterface(0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee)
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_statemachine_qstatemachine.cpp b/doc/src/snippets/code/src_corelib_statemachine_qstatemachine.cpp
deleted file mode 100644
index e212470b75..0000000000
--- a/doc/src/snippets/code/src_corelib_statemachine_qstatemachine.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [simple state machine]
-QPushButton button;
-
-QStateMachine machine;
-QState *s1 = new QState();
-s1->assignProperty(&button, "text", "Click me");
-
-QFinalState *s2 = new QFinalState();
-s1->addTransition(&button, SIGNAL(clicked()), s2);
-
-machine.addState(s1);
-machine.addState(s2);
-machine.setInitialState(s1);
-machine.start();
-//! [simple state machine]
diff --git a/doc/src/snippets/code/src_corelib_thread_qatomic.cpp b/doc/src/snippets/code/src_corelib_thread_qatomic.cpp
deleted file mode 100644
index 7e3d7dc7e4..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qatomic.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-MySharedType &MySharedType::operator=(const MySharedType &other)
-{
- (void) other.data->atomicInt.ref();
- if (!data->atomicInt.deref()) {
- // The last reference has been released
- delete d;
- }
- d = other.d;
- return *this;
-}
-//! [0]
-
-
-//! [1]
-if (currentValue == expectedValue) {
- currentValue = newValue;
- return true;
-}
-return false;
-//! [1]
-
-
-//! [2]
-int originalValue = currentValue;
-currentValue = newValue;
-return originalValue;
-//! [2]
-
-
-//! [3]
-int originalValue = currentValue;
-currentValue += valueToAdd;
-return originalValue;
-//! [3]
-
-
-//! [4]
-if (currentValue == expectedValue) {
- currentValue = newValue;
- return true;
-}
-return false;
-//! [4]
-
-
-//! [5]
-T *originalValue = currentValue;
-currentValue = newValue;
-return originalValue;
-//! [5]
-
-
-//! [6]
-T *originalValue = currentValue;
-currentValue += valueToAdd;
-return originalValue;
-//! [6]
diff --git a/doc/src/snippets/code/src_corelib_thread_qmutex.cpp b/doc/src/snippets/code/src_corelib_thread_qmutex.cpp
deleted file mode 100644
index f5fbeb8419..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qmutex.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-int number = 6;
-
-void method1()
-{
- number *= 5;
- number /= 4;
-}
-
-void method2()
-{
- number *= 3;
- number /= 2;
-}
-//! [0]
-
-
-//! [1]
-// method1()
-number *= 5; // number is now 30
-number /= 4; // number is now 7
-
-// method2()
-number *= 3; // number is now 21
-number /= 2; // number is now 10
-//! [1]
-
-
-//! [2]
-// Thread 1 calls method1()
-number *= 5; // number is now 30
-
-// Thread 2 calls method2().
-//
-// Most likely Thread 1 has been put to sleep by the operating
-// system to allow Thread 2 to run.
-number *= 3; // number is now 90
-number /= 2; // number is now 45
-
-// Thread 1 finishes executing.
-number /= 4; // number is now 11, instead of 10
-//! [2]
-
-
-//! [3]
-QMutex mutex;
-int number = 6;
-
-void method1()
-{
- mutex.lock();
- number *= 5;
- number /= 4;
- mutex.unlock();
-}
-
-void method2()
-{
- mutex.lock();
- number *= 3;
- number /= 2;
- mutex.unlock();
-}
-//! [3]
-
-
-//! [4]
-int complexFunction(int flag)
-{
- mutex.lock();
-
- int retVal = 0;
-
- switch (flag) {
- case 0:
- case 1:
- retVal = moreComplexFunction(flag);
- break;
- case 2:
- {
- int status = anotherFunction();
- if (status < 0) {
- mutex.unlock();
- return -2;
- }
- retVal = status + flag;
- }
- break;
- default:
- if (flag > 10) {
- mutex.unlock();
- return -1;
- }
- break;
- }
-
- mutex.unlock();
- return retVal;
-}
-//! [4]
-
-
-//! [5]
-int complexFunction(int flag)
-{
- QMutexLocker locker(&mutex);
-
- int retVal = 0;
-
- switch (flag) {
- case 0:
- case 1:
- return moreComplexFunction(flag);
- case 2:
- {
- int status = anotherFunction();
- if (status < 0)
- return -2;
- retVal = status + flag;
- }
- break;
- default:
- if (flag > 10)
- return -1;
- break;
- }
-
- return retVal;
-}
-//! [5]
-
-
-//! [6]
-class SignalWaiter
-{
-private:
- QMutexLocker locker;
-
-public:
- SignalWaiter(QMutex *mutex)
- : locker(mutex)
- {
- }
-
- void waitForSignal()
- {
- ...
- while (!signalled)
- waitCondition.wait(locker.mutex());
- ...
- }
-};
-//! [6]
diff --git a/doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp b/doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp
deleted file mode 100644
index 29076db91c..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class Number {
-public:
- Number(double n) : num (n) { }
-
- void setNumber(double n) { num = n; }
- double number() const { return num; }
-
-private:
- double num;
-};
-//! [0]
-
-
-//! [1]
-void calcSquare(Number *num)
-{
- QMutexLocker locker(mutexpool.get(num));
- num.setNumber(num.number() * num.number());
-}
-//! [1]
diff --git a/doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp b/doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp
deleted file mode 100644
index bd42c01905..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QReadWriteLock lock;
-
-void ReaderThread::run()
-{
- ...
- lock.lockForRead();
- read_file();
- lock.unlock();
- ...
-}
-
-void WriterThread::run()
-{
- ...
- lock.lockForWrite();
- write_file();
- lock.unlock();
- ...
-}
-//! [0]
-
-
-//! [1]
-QReadWriteLock lock;
-
-QByteArray readData()
-{
- QReadLocker locker(&lock);
- ...
- return data;
-}
-//! [1]
-
-
-//! [2]
-QReadWriteLock lock;
-
-QByteArray readData()
-{
- lock.lockForRead();
- ...
- lock.unlock();
- return data;
-}
-//! [2]
-
-
-//! [3]
-QReadWriteLock lock;
-
-void writeData(const QByteArray &data)
-{
- QWriteLocker locker(&lock);
- ...
-}
-//! [3]
-
-
-//! [4]
-QReadWriteLock lock;
-
-void writeData(const QByteArray &data)
-{
- lock.lockForWrite();
- ...
- lock.unlock();
-}
-//! [4]
diff --git a/doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp b/doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp
deleted file mode 100644
index fd4ff98314..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSemaphore sem(5); // sem.available() == 5
-
-sem.acquire(3); // sem.available() == 2
-sem.acquire(2); // sem.available() == 0
-sem.release(5); // sem.available() == 5
-sem.release(5); // sem.available() == 10
-
-sem.tryAcquire(1); // sem.available() == 9, returns true
-sem.tryAcquire(250); // sem.available() == 9, returns false
-//! [0]
-
-
-//! [1]
-QSemaphore sem(5); // a semaphore that guards 5 resources
-sem.acquire(5); // acquire all 5 resources
-sem.release(5); // release the 5 resources
-sem.release(10); // "create" 10 new resources
-//! [1]
-
-
-//! [2]
-QSemaphore sem(5); // sem.available() == 5
-sem.tryAcquire(250); // sem.available() == 5, returns false
-sem.tryAcquire(3); // sem.available() == 2, returns true
-//! [2]
-
-
-//! [3]
-QSemaphore sem(5); // sem.available() == 5
-sem.tryAcquire(250, 1000); // sem.available() == 5, waits 1000 milliseconds and returns false
-sem.tryAcquire(3, 30000); // sem.available() == 2, returns true without waiting
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_thread_qthread.cpp b/doc/src/snippets/code/src_corelib_thread_qthread.cpp
deleted file mode 100644
index 681023c91b..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qthread.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class MyThread : public QThread
-{
-public:
- void run();
-};
-
-void MyThread::run()
-{
- QTcpSocket socket;
- // connect QTcpSocket's signals somewhere meaningful
- ...
- socket.connectToHost(hostName, portNumber);
- exec();
-}
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp b/doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp
deleted file mode 100644
index 149cae5bf6..0000000000
--- a/doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-forever {
- mutex.lock();
- keyPressed.wait(&mutex);
- do_something();
- mutex.unlock();
-}
-//! [0]
-
-
-//! [1]
-forever {
- getchar();
- keyPressed.wakeAll();
-}
-//! [1]
-
-
-//! [2]
-forever {
- mutex.lock();
- keyPressed.wait(&mutex);
- ++count;
- mutex.unlock();
-
- do_something();
-
- mutex.lock();
- --count;
- mutex.unlock();
-}
-//! [2]
-
-
-//! [3]
-forever {
- getchar();
-
- mutex.lock();
- // Sleep until there are no busy worker threads
- while (count > 0) {
- mutex.unlock();
- sleep(1);
- mutex.lock();
- }
- keyPressed.wakeAll();
- mutex.unlock();
-}
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_tools_qbitarray.cpp b/doc/src/snippets/code/src_corelib_tools_qbitarray.cpp
deleted file mode 100644
index cfaa6ef485..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qbitarray.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QBitArray ba(200);
-//! [0]
-
-
-//! [1]
-QBitArray ba;
-ba.resize(3);
-ba[0] = true;
-ba[1] = false;
-ba[2] = true;
-//! [1]
-
-
-//! [2]
-QBitArray ba(3);
-ba.setBit(0, true);
-ba.setBit(1, false);
-ba.setBit(2, true);
-//! [2]
-
-
-//! [3]
-QBitArray x(5);
-x.setBit(3, true);
-// x: [ 0, 0, 0, 1, 0 ]
-
-QBitArray y(5);
-y.setBit(4, true);
-// y: [ 0, 0, 0, 0, 1 ]
-
-x |= y;
-// x: [ 0, 0, 0, 1, 1 ]
-//! [3]
-
-
-//! [4]
-QBitArray().isNull(); // returns true
-QBitArray().isEmpty(); // returns true
-
-QBitArray(0).isNull(); // returns false
-QBitArray(0).isEmpty(); // returns true
-
-QBitArray(3).isNull(); // returns false
-QBitArray(3).isEmpty(); // returns false
-//! [4]
-
-
-//! [5]
-QBitArray().isNull(); // returns true
-QBitArray(0).isNull(); // returns false
-QBitArray(3).isNull(); // returns false
-//! [5]
-
-
-//! [6]
-QBitArray ba(8);
-ba.fill(true);
-// ba: [ 1, 1, 1, 1, 1, 1, 1, 1 ]
-
-ba.fill(false, 2);
-// ba: [ 0, 0 ]
-//! [6]
-
-
-//! [7]
-QBitArray a(3);
-a[0] = false;
-a[1] = true;
-a[2] = a[0] ^ a[1];
-//! [7]
-
-
-//! [8]
-QBitArray a(3);
-QBitArray b(2);
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-a &= b; // a: [ 1, 0, 0 ]
-//! [8]
-
-
-//! [9]
-QBitArray a(3);
-QBitArray b(2);
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-a |= b; // a: [ 1, 1, 1 ]
-//! [9]
-
-
-//! [10]
-QBitArray a(3);
-QBitArray b(2);
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-a ^= b; // a: [ 0, 1, 1 ]
-//! [10]
-
-
-//! [11]
-QBitArray a(3);
-QBitArray b;
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b = ~a; // b: [ 0, 1, 0 ]
-//! [11]
-
-
-//! [12]
-QBitArray a(3);
-QBitArray b(2);
-QBitArray c;
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-c = a & b; // c: [ 1, 0, 0 ]
-//! [12]
-
-
-//! [13]
-QBitArray a(3);
-QBitArray b(2);
-QBitArray c;
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-c = a | b; // c: [ 1, 1, 1 ]
-//! [13]
-
-
-//! [14]
-QBitArray a(3);
-QBitArray b(2);
-QBitArray c;
-a[0] = 1; a[1] = 0; a[2] = 1; // a: [ 1, 0, 1 ]
-b[0] = 1; b[1] = 0; // b: [ 1, 1 ]
-c = a ^ b; // c: [ 0, 1, 1 ]
-//! [14]
diff --git a/doc/src/snippets/code/src_corelib_tools_qbytearray.cpp b/doc/src/snippets/code/src_corelib_tools_qbytearray.cpp
deleted file mode 100644
index a232f490b2..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qbytearray.cpp
+++ /dev/null
@@ -1,421 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-void wrapInFunction()
-{
-
-//! [0]
-QByteArray ba("Hello");
-//! [0]
-
-
-//! [1]
-QByteArray ba;
-ba.resize(5);
-ba[0] = 0x3c;
-ba[1] = 0xb8;
-ba[2] = 0x64;
-ba[3] = 0x18;
-ba[4] = 0xca;
-//! [1]
-
-
-//! [2]
-for (int i = 0; i < ba.size(); ++i) {
- if (ba.at(i) >= 'a' && ba.at(i) <= 'f')
- cout << "Found character in range [a-f]" << endl;
-}
-//! [2]
-
-
-//! [3]
-QByteArray x("and");
-x.prepend("rock "); // x == "rock and"
-x.append(" roll"); // x == "rock and roll"
-x.replace(5, 3, "&"); // x == "rock & roll"
-//! [3]
-
-
-//! [4]
-QByteArray ba("We must be <b>bold</b>, very <b>bold</b>");
-int j = 0;
-while ((j = ba.indexOf("<b>", j)) != -1) {
- cout << "Found <b> tag at index position " << j << endl;
- ++j;
-}
-//! [4]
-
-
-//! [5]
-QByteArray().isNull(); // returns true
-QByteArray().isEmpty(); // returns true
-
-QByteArray("").isNull(); // returns false
-QByteArray("").isEmpty(); // returns true
-
-QByteArray("abc").isNull(); // returns false
-QByteArray("abc").isEmpty(); // returns false
-//! [5]
-
-
-//! [6]
-QByteArray ba("Hello");
-int n = ba.size(); // n == 5
-ba.data()[0]; // returns 'H'
-ba.data()[4]; // returns 'o'
-ba.data()[5]; // returns '\0'
-//! [6]
-
-
-//! [7]
-QByteArray().isEmpty(); // returns true
-QByteArray("").isEmpty(); // returns true
-QByteArray("abc").isEmpty(); // returns false
-//! [7]
-
-
-//! [8]
-QByteArray ba("Hello world");
-char *data = ba.data();
-while (*data) {
- cout << "[" << *data << "]" << endl;
- ++data;
-}
-//! [8]
-
-
-//! [9]
-QByteArray ba;
-for (int i = 0; i < 10; ++i)
- ba[i] = 'A' + i;
-// ba == "ABCDEFGHIJ"
-//! [9]
-
-
-//! [10]
-QByteArray ba("Stockholm");
-ba.truncate(5); // ba == "Stock"
-//! [10]
-
-
-//! [11]
-QByteArray ba("STARTTLS\r\n");
-ba.chop(2); // ba == "STARTTLS"
-//! [11]
-
-
-//! [12]
-QByteArray x("free");
-QByteArray y("dom");
-x += y;
-// x == "freedom"
-//! [12]
-
-
-//! [13]
-QByteArray().isNull(); // returns true
-QByteArray("").isNull(); // returns false
-QByteArray("abc").isNull(); // returns false
-//! [13]
-
-
-//! [14]
-QByteArray ba("Istambul");
-ba.fill('o');
-// ba == "oooooooo"
-
-ba.fill('X', 2);
-// ba == "XX"
-//! [14]
-
-
-//! [15]
-QByteArray x("ship");
-QByteArray y("air");
-x.prepend(y);
-// x == "airship"
-//! [15]
-
-
-//! [16]
-QByteArray x("free");
-QByteArray y("dom");
-x.append(y);
-// x == "freedom"
-//! [16]
-
-
-//! [17]
-QByteArray ba("Meal");
-ba.insert(1, QByteArray("ontr"));
-// ba == "Montreal"
-//! [17]
-
-
-//! [18]
-QByteArray ba("Montreal");
-ba.remove(1, 4);
-// ba == "Meal"
-//! [18]
-
-
-//! [19]
-QByteArray x("Say yes!");
-QByteArray y("no");
-x.replace(4, 3, y);
-// x == "Say no!"
-//! [19]
-
-
-//! [20]
-QByteArray ba("colour behaviour flavour neighbour");
-ba.replace(QByteArray("ou"), QByteArray("o"));
-// ba == "color behavior flavor neighbor"
-//! [20]
-
-
-//! [21]
-QByteArray x("sticky question");
-QByteArray y("sti");
-x.indexOf(y); // returns 0
-x.indexOf(y, 1); // returns 10
-x.indexOf(y, 10); // returns 10
-x.indexOf(y, 11); // returns -1
-//! [21]
-
-
-//! [22]
-QByteArray ba("ABCBA");
-ba.indexOf("B"); // returns 1
-ba.indexOf("B", 1); // returns 1
-ba.indexOf("B", 2); // returns 3
-ba.indexOf("X"); // returns -1
-//! [22]
-
-
-//! [23]
-QByteArray x("crazy azimuths");
-QByteArray y("az");
-x.lastIndexOf(y); // returns 6
-x.lastIndexOf(y, 6); // returns 6
-x.lastIndexOf(y, 5); // returns 2
-x.lastIndexOf(y, 1); // returns -1
-//! [23]
-
-
-//! [24]
-QByteArray ba("ABCBA");
-ba.lastIndexOf("B"); // returns 3
-ba.lastIndexOf("B", 3); // returns 3
-ba.lastIndexOf("B", 2); // returns 1
-ba.lastIndexOf("X"); // returns -1
-//! [24]
-
-
-//! [25]
-QByteArray url("ftp://ftp.qt.nokia.com/");
-if (url.startsWith("ftp:"))
- ...
-//! [25]
-
-
-//! [26]
-QByteArray url("http://qt.nokia.com/index.html");
-if (url.endsWith(".html"))
- ...
-//! [26]
-
-
-//! [27]
-QByteArray x("Pineapple");
-QByteArray y = x.left(4);
-// y == "Pine"
-//! [27]
-
-
-//! [28]
-QByteArray x("Pineapple");
-QByteArray y = x.right(5);
-// y == "apple"
-//! [28]
-
-
-//! [29]
-QByteArray x("Five pineapples");
-QByteArray y = x.mid(5, 4); // y == "pine"
-QByteArray z = x.mid(5); // z == "pineapples"
-//! [29]
-
-
-//! [30]
-QByteArray x("Qt by NOKIA");
-QByteArray y = x.toLower();
-// y == "qt by nokia"
-//! [30]
-
-
-//! [31]
-QByteArray x("Qt by NOKIA");
-QByteArray y = x.toUpper();
-// y == "QT BY NOKIA"
-//! [31]
-
-
-//! [32]
-QByteArray ba(" lots\t of\nwhitespace\r\n ");
-ba = ba.simplified();
-// ba == "lots of whitespace";
-//! [32]
-
-
-//! [33]
-QByteArray ba(" lots\t of\nwhitespace\r\n ");
-ba = ba.trimmed();
-// ba == "lots\t of\nwhitespace";
-//! [33]
-
-
-//! [34]
-QByteArray x("apple");
-QByteArray y = x.leftJustified(8, '.'); // y == "apple..."
-//! [34]
-
-
-//! [35]
-QByteArray x("apple");
-QByteArray y = x.rightJustified(8, '.'); // y == "...apple"
-//! [35]
-
-
-//! [36]
-QByteArray str("FF");
-bool ok;
-int hex = str.toInt(&ok, 16); // hex == 255, ok == true
-int dec = str.toInt(&ok, 10); // dec == 0, ok == false
-//! [36]
-
-
-//! [37]
-QByteArray str("FF");
-bool ok;
-long hex = str.toLong(&ok, 16); // hex == 255, ok == true
-long dec = str.toLong(&ok, 10); // dec == 0, ok == false
-//! [37]
-
-
-//! [38]
-QByteArray string("1234.56");
-double a = string.toDouble(); // a == 1234.56
-//! [38]
-
-
-//! [39]
-QByteArray text("Qt is great!");
-text.toBase64(); // returns "UXQgaXMgZ3JlYXQh"
-//! [39]
-
-
-//! [40]
-QByteArray ba;
-int n = 63;
-ba.setNum(n); // ba == "63"
-ba.setNum(n, 16); // ba == "3f"
-//! [40]
-
-
-//! [41]
-int n = 63;
-QByteArray::number(n); // returns "63"
-QByteArray::number(n, 16); // returns "3f"
-QByteArray::number(n, 16).toUpper(); // returns "3F"
-//! [41]
-
-
-//! [42]
-QByteArray ba = QByteArray::number(12.3456, 'E', 3);
-// ba == 1.235E+01
-//! [42]
-
-
-//! [43]
- static const char mydata[] = {
- 0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76,
- 0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99,
- ...
- 0x6d, 0x5b
-};
-
-QByteArray data = QByteArray::fromRawData(mydata, sizeof(mydata));
-QDataStream in(&data, QIODevice::ReadOnly);
-...
-//! [43]
-
-
-//! [44]
-QByteArray text = QByteArray::fromBase64("UXQgaXMgZ3JlYXQh");
-text.data(); // returns "Qt is great!"
-//! [44]
-
-
-//! [45]
-QByteArray text = QByteArray::fromHex("517420697320677265617421");
-text.data(); // returns "Qt is great!"
-//! [45]
-
-//! [46]
-QString tmp = "test";
-QByteArray text = tmp.toLocal8Bit();
-char *data = new char[text.size()]
-strcpy(data, text.data());
-delete [] data;
-//! [46]
-
-//! [47]
-QString tmp = "test";
-QByteArray text = tmp.toLocal8Bit();
-char *data = new char[text.size() + 1]
-strcpy(data, text.data());
-delete [] data;
-//! [47]
-
-}
-
-
diff --git a/doc/src/snippets/code/src_corelib_tools_qdatetime.cpp b/doc/src/snippets/code/src_corelib_tools_qdatetime.cpp
deleted file mode 100644
index 59cd67fe6d..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qdatetime.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QDate d1(1995, 5, 17); // May 17, 1995
-QDate d2(1995, 5, 20); // May 20, 1995
-d1.daysTo(d2); // returns 3
-d2.daysTo(d1); // returns -3
-//! [0]
-
-
-//! [1]
-QDate date = QDate::fromString("1MM12car2003", "d'MM'MMcaryyyy");
-// date is 1 December 2003
-//! [1]
-
-
-//! [2]
-QDate date = QDate::fromString("130", "Md"); // invalid
-//! [2]
-
-
-//! [3]
-QDate::fromString("1.30", "M.d"); // January 30 1900
-QDate::fromString("20000110", "yyyyMMdd"); // January 10, 2000
-QDate::fromString("20000110", "yyyyMd"); // January 10, 2000
-//! [3]
-
-
-//! [4]
-QDate::isValid(2002, 5, 17); // true
-QDate::isValid(2002, 2, 30); // false (Feb 30 does not exist)
-QDate::isValid(2004, 2, 29); // true (2004 is a leap year)
-QDate::isValid(2000, 2, 29); // true (2000 is a leap year)
-QDate::isValid(2006, 2, 29); // false (2006 is not a leap year)
-QDate::isValid(2100, 2, 29); // false (2100 is not a leap year)
-QDate::isValid(1202, 6, 6); // true (even though 1202 is pre-Gregorian)
-//! [4]
-
-
-//! [5]
-QTime n(14, 0, 0); // n == 14:00:00
-QTime t;
-t = n.addSecs(70); // t == 14:01:10
-t = n.addSecs(-70); // t == 13:58:50
-t = n.addSecs(10 * 60 * 60 + 5); // t == 00:00:05
-t = n.addSecs(-15 * 60 * 60); // t == 23:00:00
-//! [5]
-
-
-//! [6]
-QTime time = QTime::fromString("1mm12car00", "m'mm'hcarss");
-// time is 12:01.00
-//! [6]
-
-
-//! [7]
-QTime time = QTime::fromString("00:710", "hh:ms"); // invalid
-//! [7]
-
-
-//! [8]
-QTime time = QTime::fromString("1.30", "m.s");
-// time is 00:01:30.000
-//! [8]
-
-
-//! [9]
-QTime::isValid(21, 10, 30); // returns true
-QTime::isValid(22, 5, 62); // returns false
-//! [9]
-
-
-//! [10]
-QTime t;
-t.start();
-some_lengthy_task();
-qDebug("Time elapsed: %d ms", t.elapsed());
-//! [10]
-
-
-//! [11]
-QDateTime now = QDateTime::currentDateTime();
-QDateTime xmas(QDate(now.date().year(), 12, 25), QTime(0, 0));
-qDebug("There are %d seconds to Christmas", now.secsTo(xmas));
-//! [11]
-
-
-//! [12]
-QTime time1 = QTime::fromString("131", "HHh");
-// time1 is 13:00:00
-QTime time1 = QTime::fromString("1apA", "1amAM");
-// time1 is 01:00:00
-
-QDateTime dateTime2 = QDateTime::fromString("M1d1y9800:01:02",
- "'M'M'd'd'y'yyhh:mm:ss");
-// dateTime is 1 January 1998 00:01:02
-//! [12]
-
-
-//! [13]
-QDateTime dateTime = QDateTime::fromString("130", "Mm"); // invalid
-//! [13]
-
-
-//! [14]
-QDateTime dateTime = QDateTime::fromString("1.30.1", "M.d.s");
-// dateTime is January 30 in 1900 at 00:00:01.
-//! [14]
diff --git a/doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp b/doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp
deleted file mode 100644
index 3aa0d986af..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-qreal myEasingFunction(qreal progress);
-//! [0]
-
diff --git a/doc/src/snippets/code/src_corelib_tools_qhash.cpp b/doc/src/snippets/code/src_corelib_tools_qhash.cpp
deleted file mode 100644
index 2fa73bac46..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qhash.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QHash<QString, int> hash;
-//! [0]
-
-
-//! [1]
-hash["one"] = 1;
-hash["three"] = 3;
-hash["seven"] = 7;
-//! [1]
-
-
-//! [2]
-hash.insert("twelve", 12);
-//! [2]
-
-
-//! [3]
-int num1 = hash["thirteen"];
-int num2 = hash.value("thirteen");
-//! [3]
-
-
-//! [4]
-int timeout = 30;
-if (hash.contains("TIMEOUT"))
- timeout = hash.value("TIMEOUT");
-//! [4]
-
-
-//! [5]
-int timeout = hash.value("TIMEOUT", 30);
-//! [5]
-
-
-//! [6]
-// WRONG
-QHash<int, QWidget *> hash;
-...
-for (int i = 0; i < 1000; ++i) {
- if (hash[i] == okButton)
- cout << "Found button at index " << i << endl;
-}
-//! [6]
-
-
-//! [7]
-QHashIterator<QString, int> i(hash);
-while (i.hasNext()) {
- i.next();
- cout << i.key() << ": " << i.value() << endl;
-}
-//! [7]
-
-
-//! [8]
-QHash<QString, int>::const_iterator i = hash.constBegin();
-while (i != hash.constEnd()) {
- cout << i.key() << ": " << i.value() << endl;
- ++i;
-}
-//! [8]
-
-
-//! [9]
-hash.insert("plenty", 100);
-hash.insert("plenty", 2000);
-// hash.value("plenty") == 2000
-//! [9]
-
-
-//! [10]
-QList<int> values = hash.values("plenty");
-for (int i = 0; i < values.size(); ++i)
- cout << values.at(i) << endl;
-//! [10]
-
-
-//! [11]
-QHash<QString, int>::iterator i = hash.find("plenty");
-while (i != hash.end() && i.key() == "plenty") {
- cout << i.value() << endl;
- ++i;
-}
-//! [11]
-
-
-//! [12]
-QHash<QString, int> hash;
-...
-foreach (int value, hash)
- cout << value << endl;
-//! [12]
-
-
-//! [13]
-#ifndef EMPLOYEE_H
-#define EMPLOYEE_H
-
-class Employee
-{
-public:
- Employee() {}
- Employee(const QString &name, const QDate &dateOfBirth);
- ...
-
-private:
- QString myName;
- QDate myDateOfBirth;
-};
-
-inline bool operator==(const Employee &e1, const Employee &e2)
-{
- return e1.name() == e2.name()
- && e1.dateOfBirth() == e2.dateOfBirth();
-}
-
-inline uint qHash(const Employee &key, uint seed)
-{
- return qHash(key.name(), seed) ^ key.dateOfBirth().day();
-}
-
-#endif // EMPLOYEE_H
-//! [13]
-
-
-//! [14]
-QHash<QString, int> hash;
-hash.reserve(20000);
-for (int i = 0; i < 20000; ++i)
- hash.insert(keys[i], values[i]);
-//! [14]
-
-
-//! [15]
-QHash<QObject *, int> objectHash;
-...
-QHash<QObject *, int>::iterator i = objectHash.find(obj);
-while (i != objectHash.end() && i.key() == obj) {
- if (i.value() == 0) {
- i = objectHash.erase(i);
- } else {
- ++i;
- }
-}
-//! [15]
-
-
-//! [16]
-QHash<QString, int> hash;
-...
-QHash<QString, int>::const_iterator i = hash.find("HDR");
-while (i != hash.end() && i.key() == "HDR") {
- cout << i.value() << endl;
- ++i;
-}
-//! [16]
-
-
-//! [17]
-QHash<QString, int> hash;
-hash.insert("January", 1);
-hash.insert("February", 2);
-...
-hash.insert("December", 12);
-
-QHash<QString, int>::iterator i;
-for (i = hash.begin(); i != hash.end(); ++i)
- cout << i.key() << ": " << i.value() << endl;
-//! [17]
-
-
-//! [18]
-QHash<QString, int>::iterator i;
-for (i = hash.begin(); i != hash.end(); ++i)
- i.value() += 2;
-//! [18]
-
-
-//! [19]
-QHash<QString, int>::iterator i = hash.begin();
-while (i != hash.end()) {
- if (i.key().startsWith("_"))
- i = hash.erase(i);
- else
- ++i;
-}
-//! [19]
-
-
-//! [20]
-QHash<QString, int>::iterator i = hash.begin();
-while (i != hash.end()) {
- QHash<QString, int>::iterator prev = i;
- ++i;
- if (prev.key().startsWith("_"))
- hash.erase(prev);
-}
-//! [20]
-
-
-//! [21]
-// WRONG
-while (i != hash.end()) {
- if (i.key().startsWith("_"))
- hash.erase(i);
- ++i;
-}
-//! [21]
-
-
-//! [22]
-if (i.key() == "Hello")
- i.value() = "Bonjour";
-//! [22]
-
-
-//! [23]
-QHash<QString, int> hash;
-hash.insert("January", 1);
-hash.insert("February", 2);
-...
-hash.insert("December", 12);
-
-QHash<QString, int>::const_iterator i;
-for (i = hash.constBegin(); i != hash.constEnd(); ++i)
- cout << i.key() << ": " << i.value() << endl;
-//! [23]
-
-
-//! [24]
-QMultiHash<QString, int> hash1, hash2, hash3;
-
-hash1.insert("plenty", 100);
-hash1.insert("plenty", 2000);
-// hash1.size() == 2
-
-hash2.insert("plenty", 5000);
-// hash2.size() == 1
-
-hash3 = hash1 + hash2;
-// hash3.size() == 3
-//! [24]
-
-
-//! [25]
-QList<int> values = hash.values("plenty");
-for (int i = 0; i < values.size(); ++i)
- cout << values.at(i) << endl;
-//! [25]
-
-
-//! [26]
-QMultiHash<QString, int>::iterator i = hash.find("plenty");
-while (i != hash.end() && i.key() == "plenty") {
- cout << i.value() << endl;
- ++i;
-}
-//! [26]
diff --git a/doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp b/doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp
deleted file mode 100644
index b9861f16c0..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QLinkedList<int> integerList;
-QLinkedList<QTime> timeList;
-//! [0]
-
-
-//! [1]
-QLinkedList<QString> list;
-list << "one" << "two" << "three";
-// list: ["one", "two", "three"]
-//! [1]
-
-
-//! [2]
-QLinkedList<QWidget *> list;
-...
-while (!list.isEmpty())
- delete list.takeFirst();
-//! [2]
-
-
-//! [3]
-QLinkedList<QString> list;
-list.append("one");
-list.append("two");
-list.append("three");
-// list: ["one", "two", "three"]
-//! [3]
-
-
-//! [4]
-QLinkedList<QString> list;
-list.prepend("one");
-list.prepend("two");
-list.prepend("three");
-// list: ["three", "two", "one"]
-//! [4]
-
-
-//! [5]
-QList<QString> list;
-list << "sun" << "cloud" << "sun" << "rain";
-list.removeAll("sun");
-// list: ["cloud", "rain"]
-//! [5]
-
-
-//! [6]
-QList<QString> list;
-list << "sun" << "cloud" << "sun" << "rain";
-list.removeOne("sun");
-// list: ["cloud", "sun", "rain"]
-//! [6]
-
-
-//! [7]
-QLinkedList<QString> list;
-list.append("January");
-list.append("February");
-...
-list.append("December");
-
-QLinkedList<QString>::iterator i;
-for (i = list.begin(); i != list.end(); ++i)
- cout << *i << endl;
-//! [7]
-
-
-//! [8]
-QLinkedList<QString> list;
-...
-QLinkedList<QString>::iterator it = qFind(list.begin(),
- list.end(), "Joel");
-if (it != list.end())
- cout << "Found Joel" << endl;
-//! [8]
-
-
-//! [9]
-QLinkedList<int>::iterator i;
-for (i = list.begin(); i != list.end(); ++i)
- *i += 2;
-//! [9]
-
-
-//! [10]
-QLinkedList<QString> list;
-...
-QLinkedList<QString>::iterator i = list.begin();
-while (i != list.end()) {
- if ((*i).startsWith("_"))
- i = list.erase(i);
- else
- ++i;
-}
-//! [10]
-
-
-//! [11]
-QLinkedList<QString>::iterator i = list.begin();
-while (i != list.end()) {
- QLinkedList<QString>::iterator previous = i;
- ++i;
- if ((*previous).startsWith("_"))
- list.erase(previous);
-}
-//! [11]
-
-
-//! [12]
-// WRONG
-while (i != list.end()) {
- if ((*i).startsWith("_"))
- list.erase(i);
- ++i;
-}
-//! [12]
-
-
-//! [13]
-if (*it == "Hello")
- *it = "Bonjour";
-//! [13]
-
-
-//! [14]
-QLinkedList<QString> list;
-list.append("January");
-list.append("February");
-...
-list.append("December");
-
-QLinkedList<QString>::const_iterator i;
-for (i = list.constBegin(); i != list.constEnd(); ++i)
- cout << *i << endl;
-//! [14]
-
-
-//! [15]
-QLinkedList<QString> list;
-...
-QLinkedList<QString>::iterator it = qFind(list.constBegin(),
- list.constEnd(), "Joel");
-if (it != list.constEnd())
- cout << "Found Joel" << endl;
-//! [15]
-
-
-//! [16]
-std::list<double> stdlist;
-list.push_back(1.2);
-list.push_back(0.5);
-list.push_back(3.14);
-
-QLinkedList<double> list = QLinkedList<double>::fromStdList(stdlist);
-//! [16]
-
-
-//! [17]
-QLinkedList<double> list;
-list << 1.2 << 0.5 << 3.14;
-
-std::list<double> stdlist = list.toStdList();
-//! [17]
diff --git a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp b/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
deleted file mode 100644
index dca5473cd6..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QList<int> integerList;
-QList<QDate> dateList;
-//! [0]
-
-
-//! [1]
-QList<QString> list;
-list << "one" << "two" << "three";
-// list: ["one", "two", "three"]
-//! [1]
-
-
-//! [2]
-if (list[0] == "Bob")
- list[0] = "Robert";
-//! [2]
-
-
-//! [3]
-for (int i = 0; i < list.size(); ++i) {
- if (list.at(i) == "Jane")
- cout << "Found Jane at position " << i << endl;
-}
-//! [3]
-
-
-//! [4]
-QList<QWidget *> list;
-...
-while (!list.isEmpty())
- delete list.takeFirst();
-//! [4]
-
-
-//! [5]
-int i = list.indexOf("Jane");
-if (i != -1)
- cout << "First occurrence of Jane is at position " << i << endl;
-//! [5]
-
-
-//! [6]
-QList<QString> list;
-list.append("one");
-list.append("two");
-list.append("three");
-// list: ["one", "two", "three"]
-//! [6]
-
-
-//! [7]
-QList<QString> list;
-list.prepend("one");
-list.prepend("two");
-list.prepend("three");
-// list: ["three", "two", "one"]
-//! [7]
-
-
-//! [8]
-QList<QString> list;
-list << "alpha" << "beta" << "delta";
-list.insert(2, "gamma");
-// list: ["alpha", "beta", "gamma", "delta"]
-//! [8]
-
-
-//! [9]
-QList<QString> list;
-list << "sun" << "cloud" << "sun" << "rain";
-list.removeAll("sun");
-// list: ["cloud", "rain"]
-//! [9]
-
-
-//! [10]
-QList<QString> list;
-list << "sun" << "cloud" << "sun" << "rain";
-list.removeOne("sun");
-// list: ["cloud", ,"sun", "rain"]
-//! [10]
-
-
-//! [11]
-QList<QString> list;
-list << "A" << "B" << "C" << "D" << "E" << "F";
-list.move(1, 4);
-// list: ["A", "C", "D", "E", "B", "F"]
-//! [11]
-
-
-//! [12]
-QList<QString> list;
-list << "A" << "B" << "C" << "D" << "E" << "F";
-list.swap(1, 4);
-// list: ["A", "E", "C", "D", "B", "F"]
-//! [12]
-
-
-//! [13]
-QList<QString> list;
-list << "A" << "B" << "C" << "B" << "A";
-list.indexOf("B"); // returns 1
-list.indexOf("B", 1); // returns 1
-list.indexOf("B", 2); // returns 3
-list.indexOf("X"); // returns -1
-//! [13]
-
-
-//! [14]
-QList<QString> list;
-list << "A" << "B" << "C" << "B" << "A";
-list.lastIndexOf("B"); // returns 3
-list.lastIndexOf("B", 3); // returns 3
-list.lastIndexOf("B", 2); // returns 1
-list.lastIndexOf("X"); // returns -1
-//! [14]
-
-
-//! [15]
-QList<QString> list;
-list.append("January");
-list.append("February");
-...
-list.append("December");
-
-QList<QString>::iterator i;
-for (i = list.begin(); i != list.end(); ++i)
- cout << *i << endl;
-//! [15]
-
-
-//! [16]
-QList<int>::iterator i;
-for (i = list.begin(); i != list.end(); ++i)
- *i += 2;
-//! [16]
-
-
-//! [17]
-QList<QWidget *> list;
-...
-qDeleteAll(list.begin(), list.end());
-//! [17]
-
-
-//! [18]
-if (*it == "Hello")
- *it = "Bonjour";
-//! [18]
-
-
-//! [19]
-QList<QString> list;
-list.append("January");
-list.append("February");
-...
-list.append("December");
-
-QList<QString>::const_iterator i;
-for (i = list.constBegin(); i != list.constEnd(); ++i)
- cout << *i << endl;
-//! [19]
-
-
-//! [20]
-QList<QWidget *> list;
-...
-qDeleteAll(list.constBegin(), list.constEnd());
-//! [20]
-
-
-//! [21]
-QVector<double> vect;
-vect << 20.0 << 30.0 << 40.0 << 50.0;
-
-QList<double> list = QVector<T>::fromVector(vect);
-// list: [20.0, 30.0, 40.0, 50.0]
-//! [21]
-
-
-//! [22]
-QStringList list;
-list << "Sven" << "Kim" << "Ola";
-
-QVector<QString> vect = list.toVector();
-// vect: ["Sven", "Kim", "Ola"]
-//! [22]
-
-
-//! [23]
-QSet<int> set;
-set << 20 << 30 << 40 << ... << 70;
-
-QList<int> list = QList<int>::fromSet(set);
-qSort(list);
-//! [23]
-
-
-//! [24]
-QStringList list;
-list << "Julia" << "Mike" << "Mike" << "Julia" << "Julia";
-
-QSet<QString> set = list.toSet();
-set.contains("Julia"); // returns true
-set.contains("Mike"); // returns true
-set.size(); // returns 2
-//! [24]
-
-
-//! [25]
-std::list<double> stdlist;
-list.push_back(1.2);
-list.push_back(0.5);
-list.push_back(3.14);
-
-QList<double> list = QList<double>::fromStdList(stdlist);
-//! [25]
-
-
-//! [26]
-QList<double> list;
-list << 1.2 << 0.5 << 3.14;
-
-std::list<double> stdlist = list.toStdList();
-//! [26]
diff --git a/doc/src/snippets/code/src_corelib_tools_qlocale.cpp b/doc/src/snippets/code/src_corelib_tools_qlocale.cpp
deleted file mode 100644
index 2e3b599910..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qlocale.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QLocale egyptian(QLocale::Arabic, QLocale::Egypt);
-QString s1 = egyptian.toString(1.571429E+07, 'e');
-QString s2 = egyptian.toString(10);
-
-double d = egyptian.toDouble(s1);
-int i = egyptian.toInt(s2);
-//! [0]
-
-
-//! [1]
-QLocale::setDefault(QLocale(QLocale::Hebrew, QLocale::Israel));
-QLocale hebrew; // Constructs a default QLocale
-QString s1 = hebrew.toString(15714.3, 'e');
-
-bool ok;
-double d;
-
-QLocale::setDefault(QLocale::C);
-d = QString("1234,56").toDouble(&ok); // ok == false
-d = QString("1234.56").toDouble(&ok); // ok == true, d == 1234.56
-
-QLocale::setDefault(QLocale::German);
-d = QString("1234,56").toDouble(&ok); // ok == true, d == 1234.56
-d = QString("1234.56").toDouble(&ok); // ok == true, d == 1234.56
-
-QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
-str = QString("%1 %L2 %L3")
- .arg(12345).arg(12345).arg(12345, 0, 16);
-// str == "12345 12,345 3039"
-//! [1]
-
-
-//! [2]
-QLocale korean("ko");
-QLocale swiss("de_CH");
-//! [2]
-
-
-//! [3]
-bool ok;
-double d;
-
-QLocale c(QLocale::C);
-d = c.toDouble( "1234.56", &ok ); // ok == true, d == 1234.56
-d = c.toDouble( "1,234.56", &ok ); // ok == true, d == 1234.56
-d = c.toDouble( "1234,56", &ok ); // ok == false
-
-QLocale german(QLocale::German);
-d = german.toDouble( "1234,56", &ok ); // ok == true, d == 1234.56
-d = german.toDouble( "1.234,56", &ok ); // ok == true, d == 1234.56
-d = german.toDouble( "1234.56", &ok ); // ok == false
-
-d = german.toDouble( "1.234", &ok ); // ok == true, d == 1234.0
-//! [3]
diff --git a/doc/src/snippets/code/src_corelib_tools_qmap.cpp b/doc/src/snippets/code/src_corelib_tools_qmap.cpp
deleted file mode 100644
index 2b9c1fb73e..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qmap.cpp
+++ /dev/null
@@ -1,313 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QMap<QString, int> map;
-//! [0]
-
-
-//! [1]
-map["one"] = 1;
-map["three"] = 3;
-map["seven"] = 7;
-//! [1]
-
-
-//! [2]
-map.insert("twelve", 12);
-//! [2]
-
-
-//! [3]
-int num1 = map["thirteen"];
-int num2 = map.value("thirteen");
-//! [3]
-
-
-//! [4]
-int timeout = 30;
-if (map.contains("TIMEOUT"))
- timeout = map.value("TIMEOUT");
-//! [4]
-
-
-//! [5]
-int timeout = map.value("TIMEOUT", 30);
-//! [5]
-
-
-//! [6]
-// WRONG
-QMap<int, QWidget *> map;
-...
-for (int i = 0; i < 1000; ++i) {
- if (map[i] == okButton)
- cout << "Found button at index " << i << endl;
-}
-//! [6]
-
-
-//! [7]
-QMapIterator<QString, int> i(map);
-while (i.hasNext()) {
- i.next();
- cout << i.key() << ": " << i.value() << endl;
-}
-//! [7]
-
-
-//! [8]
-QMap<QString, int>::const_iterator i = map.constBegin();
-while (i != map.constEnd()) {
- cout << i.key() << ": " << i.value() << endl;
- ++i;
-}
-//! [8]
-
-
-//! [9]
-map.insert("plenty", 100);
-map.insert("plenty", 2000);
-// map.value("plenty") == 2000
-//! [9]
-
-
-//! [10]
-QList<int> values = map.values("plenty");
-for (int i = 0; i < values.size(); ++i)
- cout << values.at(i) << endl;
-//! [10]
-
-
-//! [11]
-QMap<QString, int>::iterator i = map.find("plenty");
-while (i != map.end() && i.key() == "plenty") {
- cout << i.value() << endl;
- ++i;
-}
-//! [11]
-
-
-//! [12]
-QMap<QString, int> map;
-...
-foreach (int value, map)
- cout << value << endl;
-//! [12]
-
-
-//! [13]
-#ifndef EMPLOYEE_H
-#define EMPLOYEE_H
-
-class Employee
-{
-public:
- Employee() {}
- Employee(const QString &name, const QDate &dateOfBirth);
- ...
-
-private:
- QString myName;
- QDate myDateOfBirth;
-};
-
-inline bool operator<(const Employee &e1, const Employee &e2)
-{
- if (e1.name() != e2.name())
- return e1.name() < e2.name();
- return e1.dateOfBirth() < e2.dateOfBirth();
-}
-
-#endif // EMPLOYEE_H
-//! [13]
-
-
-//! [14]
-QMap<QString, int> map;
-...
-QMap<QString, int>::const_iterator i = map.find("HDR");
-while (i != map.end() && i.key() == "HDR") {
- cout << i.value() << endl;
- ++i;
-}
-//! [14]
-
-
-//! [15]
-QMap<int, QString> map;
-map.insert(1, "one");
-map.insert(5, "five");
-map.insert(10, "ten");
-
-map.lowerBound(0); // returns iterator to (1, "one")
-map.lowerBound(1); // returns iterator to (1, "one")
-map.lowerBound(2); // returns iterator to (5, "five")
-map.lowerBound(10); // returns iterator to (10, "ten")
-map.lowerBound(999); // returns end()
-//! [15]
-
-
-//! [16]
-QMap<QString, int> map;
-...
-QMap<QString, int>::const_iterator i = map.lowerBound("HDR");
-QMap<QString, int>::const_iterator upperBound = map.upperBound("HDR");
-while (i != upperBound) {
- cout << i.value() << endl;
- ++i;
-}
-//! [16]
-
-
-//! [17]
-QMap<int, QString> map;
-map.insert(1, "one");
-map.insert(5, "five");
-map.insert(10, "ten");
-
-map.upperBound(0); // returns iterator to (1, "one")
-map.upperBound(1); // returns iterator to (5, "five")
-map.upperBound(2); // returns iterator to (5, "five")
-map.upperBound(10); // returns end()
-map.upperBound(999); // returns end()
-//! [17]
-
-
-//! [18]
-QMap<QString, int> map;
-map.insert("January", 1);
-map.insert("February", 2);
-...
-map.insert("December", 12);
-
-QMap<QString, int>::iterator i;
-for (i = map.begin(); i != map.end(); ++i)
- cout << i.key() << ": " << i.value() << endl;
-//! [18]
-
-
-//! [19]
-QMap<QString, int>::iterator i;
-for (i = map.begin(); i != map.end(); ++i)
- i.value() += 2;
-//! [19]
-
-
-//! [20]
-QMap<QString, int>::iterator i = map.begin();
-while (i != map.end()) {
- if (i.key().startsWith("_"))
- i = map.erase(i);
- else
- ++i;
-}
-//! [20]
-
-
-//! [21]
-QMap<QString, int>::iterator i = map.begin();
-while (i != map.end()) {
- QMap<QString, int>::iterator prev = i;
- ++i;
- if (prev.key().startsWith("_"))
- map.erase(prev);
-}
-//! [21]
-
-
-//! [22]
-// WRONG
-while (i != map.end()) {
- if (i.key().startsWith("_"))
- map.erase(i);
- ++i;
-}
-//! [22]
-
-
-//! [23]
-if (i.key() == "Hello")
- i.value() = "Bonjour";
-//! [23]
-
-
-//! [24]
-QMap<QString, int> map;
-map.insert("January", 1);
-map.insert("February", 2);
-...
-map.insert("December", 12);
-
-QMap<QString, int>::const_iterator i;
-for (i = map.constBegin(); i != map.constEnd(); ++i)
- cout << i.key() << ": " << i.value() << endl;
-//! [24]
-
-
-//! [25]
-QMultiMap<QString, int> map1, map2, map3;
-
-map1.insert("plenty", 100);
-map1.insert("plenty", 2000);
-// map1.size() == 2
-
-map2.insert("plenty", 5000);
-// map2.size() == 1
-
-map3 = map1 + map2;
-// map3.size() == 3
-//! [25]
-
-
-//! [26]
-QList<int> values = map.values("plenty");
-for (int i = 0; i < values.size(); ++i)
- cout << values.at(i) << endl;
-//! [26]
-
-
-//! [27]
-QMultiMap<QString, int>::iterator i = map.find("plenty");
-while (i != map.end() && i.key() == "plenty") {
- cout << i.value() << endl;
- ++i;
-}
-//! [27]
diff --git a/doc/src/snippets/code/src_corelib_tools_qpoint.cpp b/doc/src/snippets/code/src_corelib_tools_qpoint.cpp
deleted file mode 100644
index 4f48fcbcb1..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qpoint.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QPoint p;
-
-p.setX(p.x() + 1);
-p += QPoint(1, 0);
-p.rx()++;
-//! [0]
-
-
-//! [1]
-QPoint p(1, 2);
-p.rx()--; // p becomes (0, 2)
-//! [1]
-
-
-//! [2]
-QPoint p(1, 2);
-p.ry()++; // p becomes (1, 3)
-//! [2]
-
-
-//! [3]
-QPoint p( 3, 7);
-QPoint q(-1, 4);
-p += q; // p becomes (2, 11)
-//! [3]
-
-
-//! [4]
-QPoint p( 3, 7);
-QPoint q(-1, 4);
-p -= q; // p becomes (4, 3)
-//! [4]
-
-
-//! [5]
-QPoint p(-1, 4);
-p *= 2.5; // p becomes (-3, 10)
-//! [5]
-
-
-//! [6]
-QPoint p(-3, 10);
-p /= 2.5; // p becomes (-1, 4)
-//! [6]
-
-
-//! [7]
-QPoint oldPosition;
-
-MyWidget::mouseMoveEvent(QMouseEvent *event)
-{
- QPoint point = event->pos() - oldPosition;
- if (point.manhattanLength() > 3)
- // the mouse has moved more than 3 pixels since the oldPosition
-}
-//! [7]
-
-
-//! [8]
-double trueLength = sqrt(pow(x(), 2) + pow(y(), 2));
-//! [8]
-
-
-//! [9]
-QPointF p;
-
-p.setX(p.x() + 1.0);
-p += QPointF(1.0, 0.0);
-p.rx()++;
-//! [9]
-
-
-//! [10]
- QPointF p(1.1, 2.5);
- p.rx()--; // p becomes (0.1, 2.5)
-//! [10]
-
-
-//! [11]
-QPointF p(1.1, 2.5);
-p.ry()++; // p becomes (1.1, 3.5)
-//! [11]
-
-
-//! [12]
-QPointF p( 3.1, 7.1);
-QPointF q(-1.0, 4.1);
-p += q; // p becomes (2.1, 11.2)
-//! [12]
-
-
-//! [13]
-QPointF p( 3.1, 7.1);
-QPointF q(-1.0, 4.1);
-p -= q; // p becomes (4.1, 3.0)
-//! [13]
-
-
-//! [14]
-QPointF p(-1.1, 4.1);
-p *= 2.5; // p becomes (-2.75, 10.25)
-//! [14]
-
-
-//! [15]
-QPointF p(-2.75, 10.25);
-p /= 2.5; // p becomes (-1.1, 4.1)
-//! [15]
diff --git a/doc/src/snippets/code/src_corelib_tools_qrect.cpp b/doc/src/snippets/code/src_corelib_tools_qrect.cpp
deleted file mode 100644
index ebf9118c20..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qrect.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QRect r1(100, 200, 11, 16);
-QRect r2(QPoint(100, 200), QSize(11, 16));
-//! [0]
-
-
-//! [1]
-QRectF r1(100, 200, 11, 16);
-QRectF r2(QPoint(100, 200), QSize(11, 16));
-//! [1]
diff --git a/doc/src/snippets/code/src_corelib_tools_qregexp.cpp b/doc/src/snippets/code/src_corelib_tools_qregexp.cpp
deleted file mode 100644
index 002ae96f23..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qregexp.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QRegExp rx("(\\d+)");
-QString str = "Offsets: 12 14 99 231 7";
-QStringList list;
-int pos = 0;
-
-while ((pos = rx.indexIn(str, pos)) != -1) {
- list << rx.cap(1);
- pos += rx.matchedLength();
-}
-// list: ["12", "14", "99", "231", "7"]
-//! [0]
-
-
-//! [1]
-QRegExp rx("*.txt");
-rx.setPatternSyntax(QRegExp::Wildcard);
-rx.exactMatch("README.txt"); // returns true
-rx.exactMatch("welcome.txt.bak"); // returns false
-//! [1]
-
-
-//! [2]
-QRegExp rx("ro+m");
-rx.setMinimal(true);
-//! [2]
-
-
-//! [3]
-QRegExp mark("\\b" // word boundary
- "[Mm]ark" // the word we want to match
- );
-//! [3]
-
-
-//! [4]
-QRegExp rx("^\\d\\d?$"); // match integers 0 to 99
-rx.indexIn("123"); // returns -1 (no match)
-rx.indexIn("-6"); // returns -1 (no match)
-rx.indexIn("6"); // returns 0 (matched as position 0)
-//! [4]
-
-
-//! [5]
-QRegExp rx("^\\S+$"); // match strings without whitespace
-rx.indexIn("Hello world"); // returns -1 (no match)
-rx.indexIn("This_is-OK"); // returns 0 (matched at position 0)
-//! [5]
-
-
-//! [6]
-QRegExp rx("\\b(mail|letter|correspondence)\\b");
-rx.indexIn("I sent you an email"); // returns -1 (no match)
-rx.indexIn("Please write the letter"); // returns 17
-//! [6]
-
-
-//! [7]
-QString captured = rx.cap(1); // captured == "letter"
-//! [7]
-
-
-//! [8]
-QRegExp rx("&(?!amp;)"); // match ampersands but not &amp;
-QString line1 = "This & that";
-line1.replace(rx, "&amp;");
-// line1 == "This &amp; that"
-QString line2 = "His &amp; hers & theirs";
-line2.replace(rx, "&amp;");
-// line2 == "His &amp; hers &amp; theirs"
-//! [8]
-
-
-//! [9]
-QString str = "One Eric another Eirik, and an Ericsson. "
- "How many Eiriks, Eric?";
-QRegExp rx("\\b(Eric|Eirik)\\b"); // match Eric or Eirik
-int pos = 0; // where we are in the string
-int count = 0; // how many Eric and Eirik's we've counted
-while (pos >= 0) {
- pos = rx.indexIn(str, pos);
- if (pos >= 0) {
- ++pos; // move along in str
- ++count; // count our Eric or Eirik
- }
-}
-//! [9]
-
-
-//! [10]
-str = "Nokia Corporation\tqt.nokia.com\tNorway";
-QString company, web, country;
-rx.setPattern("^([^\t]+)\t([^\t]+)\t([^\t]+)$");
-if (rx.indexIn(str) != -1) {
- company = rx.cap(1);
- web = rx.cap(2);
- country = rx.cap(3);
-}
-//! [10]
-
-
-//! [11]
-QStringList field = str.split("\t");
-//! [11]
-
-
-//! [12]
-QRegExp rx("*.html");
-rx.setPatternSyntax(QRegExp::Wildcard);
-rx.exactMatch("index.html"); // returns true
-rx.exactMatch("default.htm"); // returns false
-rx.exactMatch("readme.txt"); // returns false
-//! [12]
-
-
-//! [13]
-QString str = "offsets: 1.23 .50 71.00 6.00";
-QRegExp rx("\\d*\\.\\d+"); // primitive floating point matching
-int count = 0;
-int pos = 0;
-while ((pos = rx.indexIn(str, pos)) != -1) {
- ++count;
- pos += rx.matchedLength();
-}
-// pos will be 9, 14, 18 and finally 24; count will end up as 4
-//! [13]
-
-
-//! [14]
-QRegExp rx("(\\d+)(\\s*)(cm|inch(es)?)");
-int pos = rx.indexIn("Length: 36 inches");
-QStringList list = rx.capturedTexts();
-// list is now ("36 inches", "36", " ", "inches", "es")
-//! [14]
-
-
-//! [15]
-QRegExp rx("(\\d+)(?:\\s*)(cm|inch(?:es)?)");
-int pos = rx.indexIn("Length: 36 inches");
-QStringList list = rx.capturedTexts();
-// list is now ("36 inches", "36", "inches")
-//! [15]
-
-
-//! [16]
-QStringList list = rx.capturedTexts();
-QStringList::iterator it = list.begin();
-while (it != list.end()) {
- myProcessing(*it);
- ++it;
-}
-//! [16]
-
-
-//! [17]
-QRegExp rxlen("(\\d+)(?:\\s*)(cm|inch)");
-int pos = rxlen.indexIn("Length: 189cm");
-if (pos > -1) {
- QString value = rxlen.cap(1); // "189"
- QString unit = rxlen.cap(2); // "cm"
- // ...
-}
-//! [17]
-
-
-//! [18]
-QRegExp rx("/([a-z]+)/([a-z]+)");
-rx.indexIn("Output /dev/null"); // returns 7 (position of /dev/null)
-rx.pos(0); // returns 7 (position of /dev/null)
-rx.pos(1); // returns 8 (position of dev)
-rx.pos(2); // returns 12 (position of null)
-//! [18]
-
-
-//! [19]
-s1 = QRegExp::escape("bingo"); // s1 == "bingo"
-s2 = QRegExp::escape("f(x)"); // s2 == "f\\(x\\)"
-//! [19]
-
-
-//! [20]
-QRegExp rx("(" + QRegExp::escape(name) +
- "|" + QRegExp::escape(alias) + ")");
-//! [20]
diff --git a/doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp b/doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp
deleted file mode 100644
index cab89d9c9e..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Giuseppe D'Angelo <dangelog@gmail.com>.
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QRegularExpression re("a pattern");
-//! [0]
-
-
-//! [1]
-QRegularExpression re;
-re.setPattern("another pattern");
-//! [1]
-
-
-//! [2]
-// matches two digits followed by a space and a word
-QRegularExpression re("\\d\\d \\w+");
-
-// matches a backslash
-QRegularExpression re2("\\\\");
-//! [2]
-
-
-//! [3]
-QRegularExpression re("a third pattern");
-QString pattern = re.pattern(); // pattern == "a third pattern"
-//! [3]
-
-
-//! [4]
-// matches "Qt rocks", but also "QT rocks", "QT ROCKS", "qT rOcKs", etc.
-QRegularExpression re("Qt rocks", QRegularExpression::CaseInsensitiveOption);
-//! [4]
-
-
-//! [5]
-QRegularExpression re("^\\d+$");
-re.setPatternOptions(QRegularExpression::MultilineOption);
-// re matches any line in the subject string that contains only digits (but at least one)
-//! [5]
-
-
-//! [6]
-QRegularExpression re = QRegularExpression("^two.*words$", QRegularExpression::MultilineOption
- | QRegularExpression::DotMatchesEverythingOption);
-
-QRegularExpression::PatternOptions options = re.patternOptions();
-// options == QRegularExpression::MultilineOption | QRegularExpression::DotMatchesEverythingOption
-//! [6]
-
-
-//! [7]
-// match two digits followed by a space and a word
-QRegularExpression re("\\d\\d \\w+");
-QRegularExpressionMatch match = re.match("abc123 def");
-bool hasMatch = match.hasMatch(); // true
-//! [7]
-
-
-//! [8]
-QRegularExpression re("\\d\\d \\w+");
-QRegularExpressionMatch match = re.match("abc123 def");
-if (match.hasMatch()) {
- QString matched = match.captured(0); // matched == "23 def"
- // ...
-}
-//! [8]
-
-
-//! [9]
-QRegularExpression re("\\d\\d \\w+");
-QRegularExpressionMatch match = re.match("12 abc 45 def", 1);
-if (match.hasMatch()) {
- QString matched = match.captured(0); // matched == "45 def"
- // ...
-}
-//! [9]
-
-
-//! [10]
-QRegularExpression re("^(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)$");
-QRegularExpressionMatch match = re.match("08/12/1985");
-if (match.hasMatch()) {
- QString day = re.captured(1); // day == "08"
- QString month = re.captured(2); // month == "12"
- QString year = re.captured(3); // year == "1985"
- // ...
-}
-//! [10]
-
-
-//! [11]
-QRegularExpression re("abc(\\d+)def");
-QRegularExpressionMatch match = re.match("XYZabc123defXYZ");
-if (match.hasMatch()) {
- int startOffset = re.capturedStart(1); // startOffset == 6
- int endOffset = re.capturedEnd(1); // endOffset == 9
- // ...
-}
-//! [11]
-
-
-//! [12]
-QRegularExpression re("^(?<date>\\d\\d)/(?<month>\\d\\d)/(?<year>\\d\\d\\d\\d)$");
-QRegularExpressionMatch match = re.match("08/12/1985");
-if (match.hasMatch()) {
- QString date = match.captured("date"); // date == "08"
- QString month = match.captured("month"); // month == "12"
- QString year = match.captured("year"); // year == 1985
-}
-//! [12]
-
-
-//! [13]
-QRegularExpression re("(\\w+)");
-QRegularExpressionMatchIterator i = re.globalMatch("the quick fox");
-//! [13]
-
-
-//! [14]
-QStringList words;
-while (i.hasNext()) {
- QRegularExpressionMatch match = i.next();
- QString word = match.captured(1);
- words << word;
-}
-// words contains "the", "quick", "fox"
-//! [14]
-
-
-//! [15]
-QString pattern("^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
-QRegularExpression re(pattern);
-
-QString input("Jan 21,");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
-bool hasMatch = match.hasMatch(); // false
-bool hasPartialMatch = match.hasPartialMatch(); // true
-//! [15]
-
-
-//! [16]
-QString input("Dec 8, 1985");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
-bool hasMatch = match.hasMatch(); // true
-bool hasPartialMatch = match.hasPartialMatch(); // false
-//! [16]
-
-
-//! [17]
-QRegularExpression re("abc\\w+X|def");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
-bool hasMatch = match.hasMatch(); // true
-bool hasPartialMatch = match.hasPartialMatch(); // false
-QString captured = match.captured(0); // captured == "def"
-//! [17]
-
-
-//! [18]
-QRegularExpression re("abc\\w+X|defY");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
-bool hasMatch = match.hasMatch(); // false
-bool hasPartialMatch = match.hasPartialMatch(); // true
-QString captured = match.captured(0); // captured == "abcdef"
-//! [18]
-
-
-//! [19]
-QRegularExpression re("abc|ab");
-QRegularExpressionMatch match = re.match("ab", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
-bool hasMatch = match.hasMatch(); // false
-bool hasPartialMatch = match.hasPartialMatch(); // true
-//! [19]
-
-
-//! [20]
-QRegularExpression re("abc(def)?");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
-bool hasMatch = match.hasMatch(); // false
-bool hasPartialMatch = match.hasPartialMatch(); // true
-//! [20]
-
-//! [21]
-QRegularExpression re("(abc)*");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
-bool hasMatch = match.hasMatch(); // false
-bool hasPartialMatch = match.hasPartialMatch(); // true
-//! [21]
-
-//! [22]
-QRegularExpression invalidRe("(unmatched|parenthesis");
-bool isValid = invalidRe.isValid(); // false
-//! [22]
-
-//! [23]
-QRegularExpression invalidRe("(unmatched|parenthesis");
-if (!invalidRe.isValid()) {
- QString errorString = invalidRe.errorString(); // errorString == "missing )"
- int errorOffset = invalidRe.patternErrorOffset(); // errorOffset == 22
- // ...
-}
-//! [23]
-
-//! [24]
-QRegularExpression re("^this pattern must match exactly$");
-//! [24]
-
-//! [25]
-QString p("a .*|pattern");
-QRegularExpression re("\\A(?:" + p + ")\\z"); // re matches exactly the pattern string p
-//! [25]
-
-//! [26]
-QString escaped = QRegularExpression::escape("a(x) = f(x) + g(x)");
-// escaped == "a\\(x\\)\\ \\=\\ f\\(x\\)\\ \\+\\ g\\(x\\)"
-//! [26]
-
-//! [27]
-QString pattern = "(" + QRegularExpression::escape(name) +
- "|" + QRegularExpression::escape(nickname) + ")";
-QRegularExpression re(pattern);
-//! [27]
-
-//! [28]
-QRegularExpressionMatch match = re.match(...);
-for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
- QString captured = match.captured(i);
- // ...
-}
-//! [28]
-
-//! [29]
-QRegularExpression("(\d\d) (?<name>\w+)");
-QRegularExpressionMatch match = re.match("23 Jordan");
-if (match.hasMatch()) {
- QString number = match.captured(1); // first == "23"
- QString name = match.captured("name"); // name == "Jordan"
-}
-//! [29]
-
-//! [30]
-// extracts the words
-QRegularExpression re("(\w+)");
-QString subject("the quick fox");
-QRegularExpressionMatchIterator i = re.globalMatch(subject);
-while (i.hasNext()) {
- QRegularExpressionMatch match = i.next();
- // ...
-}
-//! [30]
-
-
diff --git a/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp b/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp
deleted file mode 100644
index fd9cd3e4b0..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-void myFunction(bool useSubClass)
-{
- MyClass *p = useSubClass ? new MyClass() : new MySubClass;
- QIODevice *device = handsOverOwnership();
-
- if (m_value > 3) {
- delete p;
- delete device;
- return;
- }
-
- try {
- process(device);
- }
- catch (...) {
- delete p;
- delete device;
- throw;
- }
-
- delete p;
- delete device;
-}
-//! [0]
-
-//! [1]
-void myFunction(bool useSubClass)
-{
- // assuming that MyClass has a virtual destructor
- QScopedPointer<MyClass> p(useSubClass ? new MyClass() : new MySubClass);
- QScopedPointer<QIODevice> device(handsOverOwnership());
-
- if (m_value > 3)
- return;
-
- process(device);
-}
-//! [1]
-
-//! [2]
- const QWidget *const p = new QWidget();
- // is equivalent to:
- const QScopedPointer<const QWidget> p(new QWidget());
-
- QWidget *const p = new QWidget();
- // is equivalent to:
- const QScopedPointer<QWidget> p(new QWidget());
-
- const QWidget *p = new QWidget();
- // is equivalent to:
- QScopedPointer<const QWidget> p(new QWidget());
-//! [2]
-
-//! [3]
-if (scopedPointer) {
- ...
-}
-//! [3]
-
-//! [4]
-class MyPrivateClass; // forward declare MyPrivateClass
-
-class MyClass
-{
-private:
- QScopedPointer<MyPrivateClass> privatePtr; // QScopedPointer to forward declared class
-
-public:
- MyClass(); // OK
- inline ~MyClass() {} // VIOLATION - Destructor must not be inline
-
-private:
- Q_DISABLE_COPY(MyClass) // OK - copy constructor and assignment operators
- // are now disabled, so the compiler won't implicitely
- // generate them.
-};
-//! [4]
-
-//! [5]
-// this QScopedPointer deletes its data using the delete[] operator:
-QScopedPointer<int, QScopedPointerArrayDeleter<int> > arrayPointer(new int[42]);
-
-// this QScopedPointer frees its data using free():
-QScopedPointer<int, QScopedPointerPodDeleter> podPointer(reinterpret_cast<int *>(malloc(42)));
-
-// this struct calls "myCustomDeallocator" to delete the pointer
-struct ScopedPointerCustomDeleter
-{
- static inline void cleanup(MyCustomClass *pointer)
- {
- myCustomDeallocator(pointer);
- }
-};
-
-// QScopedPointer using a custom deleter:
-QScopedPointer<MyCustomClass, ScopedPointerCustomDeleter> customPointer(new MyCustomClass);
-//! [5]
diff --git a/doc/src/snippets/code/src_corelib_tools_qsize.cpp b/doc/src/snippets/code/src_corelib_tools_qsize.cpp
deleted file mode 100644
index 8772152ad6..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qsize.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSize t1(10, 12);
-t1.scale(60, 60, Qt::IgnoreAspectRatio);
-// t1 is (60, 60)
-
-QSize t2(10, 12);
-t2.scale(60, 60, Qt::KeepAspectRatio);
-// t2 is (50, 60)
-
-QSize t3(10, 12);
-t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);
-// t3 is (60, 72)
-//! [0]
-
-
-//! [1]
-QSize size(100, 10);
-size.rwidth() += 20;
-
-// size becomes (120,10)
-//! [1]
-
-
-//! [2]
-QSize size(100, 10);
-size.rheight() += 5;
-
-// size becomes (100,15)
-//! [2]
-
-
-//! [3]
-QSize s( 3, 7);
-QSize r(-1, 4);
-s += r;
-
-// s becomes (2,11)
-//! [3]
-
-
-//! [4]
-QSize s( 3, 7);
-QSize r(-1, 4);
-s -= r;
-
-// s becomes (4,3)
-//! [4]
-
-
-//! [5]
-QSizeF t1(10, 12);
-t1.scale(60, 60, Qt::IgnoreAspectRatio);
-// t1 is (60, 60)
-
-QSizeF t2(10, 12);
-t2.scale(60, 60, Qt::KeepAspectRatio);
-// t2 is (50, 60)
-
-QSizeF t3(10, 12);
-t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);
-// t3 is (60, 72)
-//! [5]
-
-
-//! [6]
-QSizeF size(100.3, 10);
-size.rwidth() += 20.5;
-
- // size becomes (120.8,10)
-//! [6]
-
-
-//! [7]
-QSizeF size(100, 10.2);
-size.rheight() += 5.5;
-
-// size becomes (100,15.7)
-//! [7]
-
-
-//! [8]
-QSizeF s( 3, 7);
-QSizeF r(-1, 4);
-s += r;
-
-// s becomes (2,11)
-//! [8]
-
-
-//! [9]
-QSizeF s( 3, 7);
-QSizeF r(-1, 4);
-s -= r;
-
-// s becomes (4,3)
-//! [9]
diff --git a/doc/src/snippets/code/src_corelib_tools_qstring.cpp b/doc/src/snippets/code/src_corelib_tools_qstring.cpp
deleted file mode 100644
index 507e929f47..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qstring.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-DEFINES += QT_NO_CAST_FROM_ASCII \
- QT_NO_CAST_TO_ASCII
-//! [0]
-
-
-//! [1]
-QString url = QLatin1String("http://www.unicode.org/");
-//! [1]
-
-
-//! [2]
-double d = 12.34;
-QString str = QString("delta: %1").arg(d, 0, 'E', 3);
-// str == "delta: 1.234E+01"
-//! [2]
-
-
-//! [3]
-if (str == "auto" || str == "extern"
- || str == "static" || str == "register") {
- ...
-}
-//! [3]
-
-
-//! [4]
-if (str == QString("auto") || str == QString("extern")
- || str == QString("static") || str == QString("register")) {
- ...
-}
-//! [4]
-
-
-//! [5]
-if (str == QLatin1String("auto")
- || str == QLatin1String("extern")
- || str == QLatin1String("static")
- || str == QLatin1String("register") {
- ...
-}
-//! [5]
-
-
-//! [6]
-QLabel *label = new QLabel(QLatin1String("MOD"), this);
-//! [6]
-
-
-//! [7]
-QString plain = "#include <QtCore>"
-QString html = plain.toHtmlEscaped();
-// html == "#include &lt;QtCore&gt;"
-//! [7]
diff --git a/doc/src/snippets/code/src_corelib_tools_qtimeline.cpp b/doc/src/snippets/code/src_corelib_tools_qtimeline.cpp
deleted file mode 100644
index e33c94efda..0000000000
--- a/doc/src/snippets/code/src_corelib_tools_qtimeline.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-...
-progressBar = new QProgressBar(this);
-progressBar->setRange(0, 100);
-
-// Construct a 1-second timeline with a frame range of 0 - 100
-QTimeLine *timeLine = new QTimeLine(1000, this);
-timeLine->setFrameRange(0, 100);
-connect(timeLine, SIGNAL(frameChanged(int)), progressBar, SLOT(setValue(int)));
-
-// Clicking the push button will start the progress bar animation
-pushButton = new QPushButton(tr("Start animation"), this);
-connect(pushButton, SIGNAL(clicked()), timeLine, SLOT(start()));
-...
-//! [0]
diff --git a/doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp b/doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp
deleted file mode 100644
index 9f40777df1..0000000000
--- a/doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
- QXmlStreamReader xml;
- ...
- while (!xml.atEnd()) {
- xml.readNext();
- ... // do processing
- }
- if (xml.hasError()) {
- ... // do error handling
- }
-//! [0]
-
-
-//! [1]
- writeStartElement(qualifiedName);
- writeCharacters(text);
- writeEndElement();
-//! [1]
-
-
-//! [2]
- writeStartElement(namespaceUri, name);
- writeCharacters(text);
- writeEndElement();
-//! [2]
-
-
diff --git a/doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp b/doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp
deleted file mode 100644
index 90bc2e9b0a..0000000000
--- a/doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-int ret = QMessageBox::warning(this, tr("My Application"),
- tr("The document has been modified.\n"
- "Do you want to save your changes?"),
- QMessageBox::Save | QMessageBox::Discard
- | QMessageBox::Cancel,
- QMessageBox::Save);
-//! [0]
-
-
-//! [1]
-QMessageBox msgBox;
-msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
-switch (msgBox.exec()) {
-case QMessageBox::Yes:
- // yes was clicked
- break;
-case QMessageBox::No:
- // no was clicked
- break;
-default:
- // should never be reached
- break;
-}
-//! [1]
-
-
-//! [2]
-QMessageBox msgBox;
-QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);
-QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);
-
-msgBox.exec();
-
-if (msgBox.clickedButton() == connectButton) {
- // connect
-} else if (msgBox.clickedButton() == abortButton) {
- // abort
-}
-//! [2]
-
-
-//! [3]
-QMessageBox messageBox(this);
-QAbstractButton *disconnectButton =
- messageBox.addButton(tr("Disconnect"), QMessageBox::ActionRole);
-...
-messageBox.exec();
-if (messageBox.clickedButton() == disconnectButton) {
- ...
-}
-//! [3]
-
-
-//! [4]
-#include <QApplication>
-#include <QMessageBox>
-
-int main(int argc, char *argv[])
-{
- QT_REQUIRE_VERSION(argc, argv, "4.0.2")
-
- QApplication app(argc, argv);
- ...
- return app.exec();
-}
-//! [4]
-
-//! [5]
-QMessageBox msgBox;
-msgBox.setText("The document has been modified.");
-msgBox.exec();
-//! [5]
-
-//! [6]
-QMessageBox msgBox;
-msgBox.setText("The document has been modified.");
-msgBox.setInformativeText("Do you want to save your changes?");
-msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
-msgBox.setDefaultButton(QMessageBox::Save);
-int ret = msgBox.exec();
-//! [6]
-
-//! [7]
-switch (ret) {
- case QMessageBox::Save:
- // Save was clicked
- break;
- case QMessageBox::Discard:
- // Don't Save was clicked
- break;
- case QMessageBox::Cancel:
- // Cancel was clicked
- break;
- default:
- // should never be reached
- break;
-}
-//! [7]
-
-//! [9]
-QMessageBox msgBox(this);
-msgBox.setText(tr("The document has been modified.\n"
- "Do you want to save your changes?"));
-msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard
- | QMessageBox::Cancel);
-msgBox.setDefaultButton(QMessageBox::Save);
-//! [9]
diff --git a/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp b/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
deleted file mode 100644
index cf4707cbeb..0000000000
--- a/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class DateFormatProxyModel : public QIdentityProxyModel
-{
- // ...
-
- void setDateFormatString(const QString &formatString)
- {
- m_formatString = formatString;
- }
-
- QVariant data(const QModelIndex &index, int role)
- {
- if (role != Qt::DisplayRole)
- return QIdentityProxyModel::data(index, role);
-
- const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();
-
- return dateTime.toString(m_formatString);
- }
-
-private:
- QString m_formatString;
-};
-//! [0]
diff --git a/doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp b/doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp
deleted file mode 100644
index ba81221e9c..0000000000
--- a/doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QItemSelection *selection = new QItemSelection(topLeft, bottomRight);
-//! [0]
-
-
-//! [1]
-QItemSelection *selection = new QItemSelection();
-...
-selection->select(topLeft, bottomRight);
-//! [1]
diff --git a/doc/src/snippets/file/file.cpp b/doc/src/snippets/file/file.cpp
deleted file mode 100644
index f03c6e6847..0000000000
--- a/doc/src/snippets/file/file.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QFile>
-#include <QTextStream>
-
-static void process_line(const QByteArray &)
-{
-}
-
-static void process_line(const QString &)
-{
-}
-
-static void noStream_snippet()
-{
-//! [0]
- QFile file("in.txt");
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return;
-
- while (!file.atEnd()) {
- QByteArray line = file.readLine();
- process_line(line);
- }
-//! [0]
-}
-
-static void readTextStream_snippet()
-{
-//! [1]
- QFile file("in.txt");
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return;
-
- QTextStream in(&file);
- while (!in.atEnd()) {
- QString line = in.readLine();
- process_line(line);
- }
-//! [1]
-}
-
-static void writeTextStream_snippet()
-{
-//! [2]
- QFile file("out.txt");
- if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
- return;
-
- QTextStream out(&file);
- out << "The magic number is: " << 49 << "\n";
-//! [2]
-}
-
-static void writeTextStream_snippet()
-{
- QFile file("out.dat");
- if (!file.open(QIODevice::WriteOnly))
- return;
-
- QDataStream out(&file);
- out << "The magic number is: " << 49 << "\n";
-}
-
-static void readRegularEmptyFile_snippet()
-{
-//! [3]
- QFile file("/proc/modules");
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return;
-
- QTextStream in(&file);
- QString line = in.readLine();
- while (!line.isNull()) {
- process_line(line);
- line = in.readLine();
- }
-//! [3]
-}
-
-int main()
-{
- lineByLine_snippet();
- writeStream_snippet();
-}
diff --git a/doc/src/snippets/fileinfo/main.cpp b/doc/src/snippets/fileinfo/main.cpp
deleted file mode 100644
index 48d8223d79..0000000000
--- a/doc/src/snippets/fileinfo/main.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QPushButton>
-#include <QFileInfo>
-#include <QDir>
-#include <QGroupBox>
-#include <QVBoxLayout>
-#include <QDebug>
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
-//! [0]
- QFileInfo fileInfo1("~/examples/191697/.");
- QFileInfo fileInfo2("~/examples/191697/..");
- QFileInfo fileInfo3("~/examples/191697/main.cpp");
-//! [0]
-//! [1]
- QFileInfo fileInfo4(".");
- QFileInfo fileInfo5("..");
- QFileInfo fileInfo6("main.cpp");
-//! [1]
-
- qDebug() << fileInfo1.fileName();
- qDebug() << fileInfo2.fileName();
- qDebug() << fileInfo3.fileName();
- qDebug() << fileInfo4.fileName();
- qDebug() << fileInfo5.fileName();
- qDebug() << fileInfo6.fileName();
-
- QPushButton* button1 = new QPushButton(fileInfo1.dir().path());
- QPushButton* button2 = new QPushButton(fileInfo2.dir().path());
- QPushButton* button3 = new QPushButton(fileInfo3.dir().path());
- QPushButton* button4 = new QPushButton(fileInfo4.dir().path());
- QPushButton* button5 = new QPushButton(fileInfo5.dir().path());
- QPushButton* button6 = new QPushButton(fileInfo6.dir().path());
-
- QVBoxLayout* vbox = new QVBoxLayout;
- vbox->addWidget(button1);
- vbox->addWidget(button2);
- vbox->addWidget(button3);
- vbox->addWidget(button4);
- vbox->addWidget(button5);
- vbox->addWidget(button6);
- vbox->addStretch(1);
-
- QGroupBox *groupBox = new QGroupBox("QFileInfo::dir() test");
- groupBox->setLayout(vbox);
- groupBox->show();
-
- return app.exec();
-}
diff --git a/doc/src/snippets/ntfsp.cpp b/doc/src/snippets/ntfsp.cpp
deleted file mode 100644
index 8f2ff1fc98..0000000000
--- a/doc/src/snippets/ntfsp.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-//! [0]
-extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
-//! [0]
-
-//! [1]
-qt_ntfs_permission_lookup++; // turn checking on
-qt_ntfs_permission_lookup--; // turn it off again
-//! [1]
-
diff --git a/doc/src/snippets/process/process.cpp b/doc/src/snippets/process/process.cpp
deleted file mode 100644
index 19f241a695..0000000000
--- a/doc/src/snippets/process/process.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QProcess>
-
-bool zip()
-{
-//! [0]
- QProcess gzip;
- gzip.start("gzip", QStringList() << "-c");
- if (!gzip.waitForStarted())
- return false;
-
- gzip.write("Qt rocks!");
- gzip.closeWriteChannel();
-
- if (!gzip.waitForFinished())
- return false;
-
- QByteArray result = gzip.readAll();
-//! [0]
-
- gzip.start("gzip", QStringList() << "-d" << "-c");
- gzip.write(result);
- gzip.closeWriteChannel();
-
- if (!gzip.waitForFinished())
- return false;
-
- qDebug("Result: %s", gzip.readAll().data());
- return true;
-}
-
-
-int main()
-{
- zip();
- return 0;
-}
diff --git a/doc/src/snippets/qdebug/qdebugsnippet.cpp b/doc/src/snippets/qdebug/qdebugsnippet.cpp
deleted file mode 100644
index 2dbfe49c7d..0000000000
--- a/doc/src/snippets/qdebug/qdebugsnippet.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QtDebug>
-
-class Coordinate : public QObject
-{
-public:
- int myX, myY;
-
- int x() const { return myX; };
- int y() const { return myY; };
-};
-
-//! [0]
-QDebug operator<<(QDebug dbg, const Coordinate &c)
-{
- dbg.nospace() << "(" << c.x() << ", " << c.y() << ")";
-
- return dbg.space();
-}
-//! [0]
-
-int main(int argv, char **args)
-{
- Coordinate coordinate;
- coordinate.myX = 10;
- coordinate.myY = 44;
-
-//! [1]
- qDebug() << "Date:" << QDate::currentDate();
- qDebug() << "Types:" << QString("String") << QChar('x') << QRect(0, 10, 50, 40);
- qDebug() << "Custom coordinate type:" << coordinate;
-//! [1]
-}
diff --git a/doc/src/snippets/qdir-listfiles/main.cpp b/doc/src/snippets/qdir-listfiles/main.cpp
deleted file mode 100644
index 599046aabd..0000000000
--- a/doc/src/snippets/qdir-listfiles/main.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#include <QDir>
-#include <iostream>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication app(argc, argv);
- QDir dir;
- dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
- dir.setSorting(QDir::Size | QDir::Reversed);
-
- QFileInfoList list = dir.entryInfoList();
- std::cout << " Bytes Filename" << std::endl;
- for (int i = 0; i < list.size(); ++i) {
- QFileInfo fileInfo = list.at(i);
- std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10)
- .arg(fileInfo.fileName()));
- std::cout << std::endl;
- }
- return 0;
-}
-//! [0]
diff --git a/doc/src/snippets/qdir-namefilters/main.cpp b/doc/src/snippets/qdir-namefilters/main.cpp
deleted file mode 100644
index 7b48f7eaf7..0000000000
--- a/doc/src/snippets/qdir-namefilters/main.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDir>
-#include <iostream>
-
-int main(int argc, char *argv[])
-{
- QDir dir;
- dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
- dir.setSorting(QDir::Size | QDir::Reversed);
-
-//! [0]
- QStringList filters;
- filters << "*.cpp" << "*.cxx" << "*.cc";
- dir.setNameFilters(filters);
-//! [0]
-
- QFileInfoList list = dir.entryInfoList();
- std::cout << " Bytes Filename" << std::endl;
- for (int i = 0; i < list.size(); ++i) {
- QFileInfo fileInfo = list.at(i);
- std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10)
- .arg(fileInfo.fileName()));
- std::cout << std::endl;
- }
- return 0;
-}
diff --git a/doc/src/snippets/qelapsedtimer/main.cpp b/doc/src/snippets/qelapsedtimer/main.cpp
deleted file mode 100644
index 7b4b6529e7..0000000000
--- a/doc/src/snippets/qelapsedtimer/main.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtNetwork module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QtCore>
-
-void slowOperation1()
-{
- static char buf[256];
- for (int i = 0; i < (1<<20); ++i)
- buf[i % sizeof buf] = i;
-}
-
-void slowOperation2(int) { slowOperation1(); }
-
-void startExample()
-{
-//![0]
- QElapsedTimer timer;
- timer.start();
-
- slowOperation1();
-
- qDebug() << "The slow operation took" << timer.elapsed() << "milliseconds";
-//![0]
-}
-
-//![1]
-void executeSlowOperations(int timeout)
-{
- QElapsedTimer timer;
- timer.start();
- slowOperation1();
-
- int remainingTime = timeout - timer.elapsed();
- if (remainingTime > 0)
- slowOperation2(remainingTime);
-}
-//![1]
-
-//![2]
-void executeOperationsForTime(int ms)
-{
- QElapsedTimer timer;
- timer.start();
-
- while (!timer.hasExpired(ms))
- slowOperation1();
-}
-//![2]
-
-int restartExample()
-{
-//![3]
- QElapsedTimer timer;
-
- int count = 1;
- timer.start();
- do {
- count *= 2;
- slowOperation2(count);
- } while (timer.restart() < 250);
-
- return count;
-//![3]
-}
-
-int main(int argc, char **argv)
-{
- QCoreApplication app(argc, argv);
-
- startExample();
- restartExample();
- executeSlowOperations(5);
- executeOperationsForTime(5);
-}
diff --git a/doc/src/snippets/qlogging/qloggingsnippet.cpp b/doc/src/snippets/qlogging/qloggingsnippet.cpp
deleted file mode 100644
index 74892cdfba..0000000000
--- a/doc/src/snippets/qlogging/qloggingsnippet.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QtDebug>
-#include <QDeclarativeComponent>
-
-//! [1]
- void statusChanged(QDeclarativeComponent::Status status) {
- if (status == QDeclarativeComponent::Error) {
- foreach (const QDeclarativeError &error, component->errors()) {
- const QByteArray file = error.url().toEncoded();
- QMessageLogger(file.constData(), error.line(), 0).debug() << error.description();
- }
- }
- }
-//! [1]
diff --git a/doc/src/snippets/qmetaobject-invokable/main.cpp b/doc/src/snippets/qmetaobject-invokable/main.cpp
deleted file mode 100644
index b22df1ea15..0000000000
--- a/doc/src/snippets/qmetaobject-invokable/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QDebug>
-#include "window.h"
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Window window;
- qDebug() << window.metaObject()->methodCount();
- window.show();
- return app.exec();
-}
diff --git a/doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro b/doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro
deleted file mode 100644
index 4df19215f0..0000000000
--- a/doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-HEADERS = window.h
-SOURCES = main.cpp \
- window.cpp
diff --git a/doc/src/snippets/qmetaobject-invokable/window.cpp b/doc/src/snippets/qmetaobject-invokable/window.cpp
deleted file mode 100644
index 5ab8d83f63..0000000000
--- a/doc/src/snippets/qmetaobject-invokable/window.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "window.h"
-
-Window::Window()
-{
-}
-
-void Window::normalMethod()
-{
- // Cannot be called by the meta-object system.
- show();
-}
-
-void Window::invokableMethod()
-{
- // Can be called by the meta-object system.
- show();
-}
diff --git a/doc/src/snippets/qmetaobject-invokable/window.h b/doc/src/snippets/qmetaobject-invokable/window.h
deleted file mode 100644
index f2f34792e5..0000000000
--- a/doc/src/snippets/qmetaobject-invokable/window.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef WINDOW_H
-#define WINDOW_H
-
-#include <QWidget>
-
-//! [Window class with invokable method]
-class Window : public QWidget
-{
- Q_OBJECT
-
-public:
- Window();
- void normalMethod();
- Q_INVOKABLE void invokableMethod();
-};
-//! [Window class with invokable method]
-
-#endif
diff --git a/doc/src/snippets/qprocess-environment/main.cpp b/doc/src/snippets/qprocess-environment/main.cpp
deleted file mode 100644
index 124668a544..0000000000
--- a/doc/src/snippets/qprocess-environment/main.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore>
-
-void startProcess()
-{
- {
-//! [0]
-QProcess process;
-QStringList env = QProcess::systemEnvironment();
-env << "TMPDIR=C:\\MyApp\\temp"; // Add an environment variable
-env.replaceInStrings(QRegExp("^PATH=(.*)", Qt::CaseInsensitive), "PATH=\\1;C:\\Bin");
-process.setEnvironment(env);
-process.start("myapp");
-//! [0]
- }
-
- {
-//! [1]
-QProcess process;
-QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
-env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable
-env.insert("PATH", env.value("Path") + ";C:\\Bin");
-process.setProcessEnvironment(env);
-process.start("myapp");
-//! [1]
- }
-}
-
-int main(int argc, char *argv[])
-{
- QCoreApplication app(argc, argv);
- startProcess();
- return app.exec();
-}
diff --git a/doc/src/snippets/qprocess/qprocess-simpleexecution.cpp b/doc/src/snippets/qprocess/qprocess-simpleexecution.cpp
deleted file mode 100644
index ea1892078e..0000000000
--- a/doc/src/snippets/qprocess/qprocess-simpleexecution.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QtGui>
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-//! [0]
- QObject *parent;
-//! [0]
- parent = &app;
-
-//! [1]
- QString program = "./path/to/Qt/examples/widgets/analogclock";
-//! [1]
- program = "./../../../../examples/widgets/analogclock/analogclock";
-
-//! [2]
- QStringList arguments;
- arguments << "-style" << "motif";
-
- QProcess *myProcess = new QProcess(parent);
- myProcess->start(program, arguments);
-//! [2]
-
- return app.exec();
-}
diff --git a/doc/src/snippets/qsignalmapper/buttonwidget.cpp b/doc/src/snippets/qsignalmapper/buttonwidget.cpp
deleted file mode 100644
index cda905e3a2..0000000000
--- a/doc/src/snippets/qsignalmapper/buttonwidget.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-#include "buttonwidget.h"
-
-//! [0]
-ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent)
- : QWidget(parent)
-{
- signalMapper = new QSignalMapper(this);
-
- QGridLayout *gridLayout = new QGridLayout;
- for (int i = 0; i < texts.size(); ++i) {
- QPushButton *button = new QPushButton(texts[i]);
- connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()));
-//! [0] //! [1]
- signalMapper->setMapping(button, texts[i]);
- gridLayout->addWidget(button, i / 3, i % 3);
- }
-
- connect(signalMapper, SIGNAL(mapped(const QString &)),
-//! [1] //! [2]
- this, SIGNAL(clicked(const QString &)));
-
- setLayout(gridLayout);
-}
-//! [2]
diff --git a/doc/src/snippets/qsignalmapper/buttonwidget.h b/doc/src/snippets/qsignalmapper/buttonwidget.h
deleted file mode 100644
index 9204de935a..0000000000
--- a/doc/src/snippets/qsignalmapper/buttonwidget.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BUTTONWIDGET_H
-#define BUTTONWIDGET_H
-
-#include <qwidget.h>
-
-class QSignalMapper;
-class QString;
-class QStringList;
-
-//! [0]
-class ButtonWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- ButtonWidget(QStringList texts, QWidget *parent = 0);
-
-signals:
- void clicked(const QString &text);
-
-private:
- QSignalMapper *signalMapper;
-//! [0] //! [1]
-};
-//! [1]
-
-#endif
diff --git a/doc/src/snippets/qsortfilterproxymodel-details/main.cpp b/doc/src/snippets/qsortfilterproxymodel-details/main.cpp
deleted file mode 100644
index 549d24b249..0000000000
--- a/doc/src/snippets/qsortfilterproxymodel-details/main.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QApplication>
-#include <QSortFilterProxyModel>
-
-class MyItemModel : public QStandardItemModel
-{
-public:
- MyItemModel(QWidget *parent = 0);
-};
-
-MyItemModel::MyItemModel(QWidget *parent)
- : QStandardItemModel(parent)
-{};
-
-class Widget : public QWidget
-{
-public:
- Widget(QWidget *parent = 0);
-};
-
-Widget::Widget(QWidget *parent)
- : QWidget(parent)
-{
-//! [0] //! [1]
- QTreeView *treeView = new QTreeView;
-//! [0]
- MyItemModel *model = new MyItemModel(this);
-
- treeView->setModel(model);
-//! [1]
-
-//! [2]
- MyItemModel *sourceModel = new MyItemModel(this);
- QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
-
- proxyModel->setSourceModel(sourceModel);
- treeView->setModel(proxyModel);
-//! [2]
-
-//! [3]
- treeView->setSortingEnabled(true);
-//! [3]
-
-//! [4]
- proxyModel->sort(2, Qt::AscendingOrder);
-//! [4] //! [5]
- proxyModel->setFilterRegExp(QRegExp(".png", Qt::CaseInsensitive,
- QRegExp::FixedString));
- proxyModel->setFilterKeyColumn(1);
-//! [5]
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Widget widget;
- widget.show();
- return app.exec();
-}
diff --git a/doc/src/snippets/qstack/main.cpp b/doc/src/snippets/qstack/main.cpp
deleted file mode 100644
index cc96f8c55d..0000000000
--- a/doc/src/snippets/qstack/main.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <iostream>
-using namespace std;
-
-int main(int argc, char *argv[])
-{
-//! [0]
- QStack<int> stack;
- stack.push(1);
- stack.push(2);
- stack.push(3);
- while (!stack.isEmpty())
- cout << stack.pop() << endl;
-//! [0]
-}
diff --git a/doc/src/snippets/qstring/main.cpp b/doc/src/snippets/qstring/main.cpp
deleted file mode 100644
index d7299e80d5..0000000000
--- a/doc/src/snippets/qstring/main.cpp
+++ /dev/null
@@ -1,997 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QApplication>
-#include <stdio.h>
-
-class Widget : public QWidget
-{
-public:
- Widget(QWidget *parent = 0);
-
- void constCharPointer();
- void constCharArray();
- void characterReference();
- void atFunction();
- void stringLiteral();
- void modify();
- void index();
- QString boolToString(bool b);
- void nullVsEmpty();
-
- void appendFunction();
- void argFunction();
- void chopFunction();
- void compareFunction();
- void compareSensitiveFunction();
- void containsFunction();
- void countFunction();
- void dataFunction();
- void endsWithFunction();
- void fillFunction();
- void fromRawDataFunction();
-
- void indexOfFunction();
- void firstIndexOfFunction();
- void insertFunction();
- void isNullFunction();
- void isEmptyFunction();
- void lastIndexOfFunction();
- void leftFunction();
- void leftJustifiedFunction();
- void leftRefFunction();
- void midFunction();
- void midRefFunction();
- void numberFunction();
-
- void prependFunction();
- void removeFunction();
- void replaceFunction();
- void reserveFunction();
- void resizeFunction();
- void rightFunction();
- void rightJustifiedFunction();
- void rightRefFunction();
- void sectionFunction();
- void setNumFunction();
- void simplifiedFunction();
-
- void sizeFunction();
- void splitFunction();
- void splitCaseSensitiveFunction();
- void sprintfFunction();
- void startsWithFunction();
- void toDoubleFunction();
- void toFloatFunction();
- void toIntFunction();
- void toLongFunction();
- void toLongLongFunction();
-
- void toLowerFunction();
- void toShortFunction();
- void toUIntFunction();
- void toULongFunction();
- void toULongLongFunction();
- void toUShortFunction();
- void toUpperFunction();
- void trimmedFunction();
- void truncateFunction();
-
- void plusEqualOperator();
- void arrayOperator();
-};
-
-Widget::Widget(QWidget *parent)
- : QWidget(parent)
-{
-}
-
-void Widget::constCharPointer()
-{
- //! [0]
- QString str = "Hello";
- //! [0]
-}
-
-void Widget::constCharArray()
-{
- //! [1]
- static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
- QString str(data, 4);
- //! [1]
-}
-
-void Widget::characterReference()
-{
- //! [2]
- QString str;
- str.resize(4);
-
- str[0] = QChar('U');
- str[1] = QChar('n');
- str[2] = QChar(0x10e3);
- str[3] = QChar(0x03a3);
- //! [2]
-}
-
-void Widget::atFunction()
-{
- //! [3]
- QString str;
-
- for (int i = 0; i < str.size(); ++i) {
- if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f'))
- qDebug() << "Found character in range [a-f]";
- }
- //! [3]
-}
-
-void Widget::stringLiteral()
-{
- //! [4]
- QString str;
-
- if (str == "auto" || str == "extern"
- || str == "static" || str == "register") {
- // ...
- }
- //! [4]
-}
-
-void Widget::modify()
-{
- //! [5]
- QString str = "and";
- str.prepend("rock "); // str == "rock and"
- str.append(" roll"); // str == "rock and roll"
- str.replace(5, 3, "&"); // str == "rock & roll"
- //! [5]
-}
-
-void Widget::index()
-{
- //! [6]
- QString str = "We must be <b>bold</b>, very <b>bold</b>";
- int j = 0;
-
- while ((j = str.indexOf("<b>", j)) != -1) {
- qDebug() << "Found <b> tag at index position" << j;
- ++j;
- }
- //! [6]
-}
-
-//! [7]
-QString Widget::boolToString(bool b)
-{
- QString result;
- if (b)
- result = "True";
- else
- result = "False";
- return result;
-}
-//! [7]
-
-
-void Widget::nullVsEmpty()
-{
- //! [8]
- QString().isNull(); // returns true
- QString().isEmpty(); // returns true
-
- QString("").isNull(); // returns false
- QString("").isEmpty(); // returns true
-
- QString("abc").isNull(); // returns false
- QString("abc").isEmpty(); // returns false
- //! [8]
-}
-
-void Widget::appendFunction()
-{
- //! [9]
- QString x = "free";
- QString y = "dom";
-
- x.append(y);
- // x == "freedom"
- //! [9]
-
- //! [10]
- x.insert(x.size(), y);
- //! [10]
-}
-
-void Widget::argFunction()
-{
- //! [11]
- QString i; // current file's number
- QString total; // number of files to process
- QString fileName; // current file's name
-
- QString status = QString("Processing file %1 of %2: %3")
- .arg(i).arg(total).arg(fileName);
- //! [11]
-
- //! [12] //! [13]
- QString str;
- //! [12]
- str = "%1 %2";
-
- str.arg("%1f", "Hello"); // returns "%1f Hello"
- str.arg("%1f").arg("Hello"); // returns "Hellof %2"
- //! [13]
-
- //! [14]
- str = QString("Decimal 63 is %1 in hexadecimal")
- .arg(63, 0, 16);
- // str == "Decimal 63 is 3f in hexadecimal"
-
- QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
- str = QString("%1 %L2 %L3")
- .arg(12345)
- .arg(12345)
- .arg(12345, 0, 16);
- // str == "12345 12,345 3039"
- //! [14]
-}
-
-void Widget::chopFunction()
-{
- //! [15]
- QString str("LOGOUT\r\n");
- str.chop(2);
- // str == "LOGOUT"
- //! [15]
-}
-
-void Widget::compareFunction()
-{
- int x = QString::compare("auto", "auto"); // x == 0
- int y = QString::compare("auto", "car"); // y < 0
- int z = QString::compare("car", "auto"); // z > 0
-}
-
-void Widget::compareSensitiveFunction()
-{
- //! [16]
- int x = QString::compare("aUtO", "AuTo", Qt::CaseInsensitive); // x == 0
- int y = QString::compare("auto", "Car", Qt::CaseSensitive); // y > 0
- int z = QString::compare("auto", "Car", Qt::CaseInsensitive); // z < 0
- //! [16]
-}
-
-void Widget::containsFunction()
-{
- //! [17]
- QString str = "Peter Pan";
- str.contains("peter", Qt::CaseInsensitive); // returns true
- //! [17]
-}
-
-void Widget::countFunction()
-{
- //! [18]
- QString str = "banana and panama";
- str.count(QRegExp("a[nm]a")); // returns 4
- //! [18]
-
- //! [95]
- QString str = "banana and panama";
- str.count(QRegularExpression("a[nm]a")); // returns 4
- //! [95]
-}
-
-void Widget::dataFunction()
-{
- //! [19]
- QString str = "Hello world";
- QChar *data = str.data();
- while (!data->isNull()) {
- qDebug() << data->unicode();
- ++data;
- }
- //! [19]
-}
-
-void Widget::endsWithFunction()
-{
- //! [20]
- QString str = "Bananas";
- str.endsWith("anas"); // returns true
- str.endsWith("pple"); // returns false
- //! [20]
-}
-
-void Widget::fillFunction()
-{
- //! [21]
- QString str = "Berlin";
- str.fill('z');
- // str == "zzzzzz"
-
- str.fill('A', 2);
- // str == "AA"
- //! [21]
-}
-
-void Widget::fromRawDataFunction()
-{
- //! [22]
- QRegExp pattern;
- static const QChar unicode[] = {
- 0x005A, 0x007F, 0x00A4, 0x0060,
- 0x1009, 0x0020, 0x0020};
- int size = sizeof(unicode) / sizeof(QChar);
-
- QString str = QString::fromRawData(unicode, size);
- if (str.contains(QRegExp(pattern))) {
- // ...
- //! [22] //! [23]
- }
- //! [23]
-}
-
-void Widget::indexOfFunction()
-{
- //! [24]
- QString x = "sticky question";
- QString y = "sti";
- x.indexOf(y); // returns 0
- x.indexOf(y, 1); // returns 10
- x.indexOf(y, 10); // returns 10
- x.indexOf(y, 11); // returns -1
- //! [24]
-}
-
-void Widget::firstIndexOfFunction()
-{
- //! [25]
- QString str = "the minimum";
- str.indexOf(QRegExp("m[aeiou]"), 0); // returns 4
- //! [25]
-
- //! [93]
- QString str = "the minimum";
- str.indexOf(QRegularExpression("m[aeiou]"), 0); // returns 4
- //! [93]
-}
-
-void Widget::insertFunction()
-{
- //! [26]
- QString str = "Meal";
- str.insert(1, QString("ontr"));
- // str == "Montreal"
- //! [26]
-}
-
-void Widget::isEmptyFunction()
-{
- //! [27]
- QString().isEmpty(); // returns true
- QString("").isEmpty(); // returns true
- QString("x").isEmpty(); // returns false
- QString("abc").isEmpty(); // returns false
- //! [27]
-}
-
-void Widget::isNullFunction()
-{
- //! [28]
- QString().isNull(); // returns true
- QString("").isNull(); // returns false
- QString("abc").isNull(); // returns false
- //! [28]
-}
-
-void Widget::lastIndexOfFunction()
-{
- //! [29]
- QString x = "crazy azimuths";
- QString y = "az";
- x.lastIndexOf(y); // returns 6
- x.lastIndexOf(y, 6); // returns 6
- x.lastIndexOf(y, 5); // returns 2
- x.lastIndexOf(y, 1); // returns -1
- //! [29]
-
- //! [30]
- QString str = "the minimum";
- str.lastIndexOf(QRegExp("m[aeiou]")); // returns 8
- //! [30]
-
- //! [94]
- QString str = "the minimum";
- str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8
- //! [94]
-}
-
-void Widget::leftFunction()
-{
- //! [31]
- QString x = "Pineapple";
- QString y = x.left(4); // y == "Pine"
- //! [31]
-}
-
-void Widget::leftJustifiedFunction()
-{
- //! [32]
- QString s = "apple";
- QString t = s.leftJustified(8, '.'); // t == "apple..."
- //! [32]
-
- //! [33]
- QString str = "Pineapple";
- str = str.leftJustified(5, '.', true); // str == "Pinea"
- //! [33]
-}
-
-void Widget::midFunction()
-{
- //! [34]
- QString x = "Nine pineapples";
- QString y = x.mid(5, 4); // y == "pine"
- QString z = x.mid(5); // z == "pineapples"
- //! [34]
-}
-
-void Widget::numberFunction()
-{
- //! [35]
- long a = 63;
- QString s = QString::number(a, 16); // s == "3f"
- QString t = QString::number(a, 16).toUpper(); // t == "3F"
- //! [35]
-}
-
-void Widget::prependFunction()
-{
- //! [36]
- QString x = "ship";
- QString y = "air";
- x.prepend(y);
- // x == "airship"
- //! [36]
-}
-
-void Widget::removeFunction()
-{
- //! [37]
- QString s = "Montreal";
- s.remove(1, 4);
- // s == "Meal"
- //! [37]
-
- //! [38]
- QString t = "Ali Baba";
- t.remove(QChar('a'), Qt::CaseInsensitive);
- // t == "li Bb"
- //! [38]
-
- //! [39]
- QString r = "Telephone";
- r.remove(QRegExp("[aeiou]."));
- // r == "The"
- //! [39]
-
- //! [96]
- QString r = "Telephone";
- r.remove(QRegularExpression("[aeiou]."));
- // r == "The"
- //! [96]
-}
-
-void Widget::replaceFunction()
-{
- //! [40]
- QString x = "Say yes!";
- QString y = "no";
- x.replace(4, 3, y);
- // x == "Say no!"
- //! [40]
-
- //! [41]
- QString str = "colour behaviour flavour neighbour";
- str.replace(QString("ou"), QString("o"));
- // str == "color behavior flavor neighbor"
- //! [41]
-
- //! [42]
- QString s = "Banana";
- s.replace(QRegExp("a[mn]"), "ox");
- // s == "Boxoxa"
- //! [42]
-
- //! [43]
- QString t = "A <i>bon mot</i>.";
- t.replace(QRegExp("<i>([^<]*)</i>"), "\\emph{\\1}");
- // t == "A \\emph{bon mot}."
- //! [43]
-
- //! [86]
- QString equis = "xxxxxx";
- equis.replace("xx", "x");
- // equis == "xxx"
- //! [86]
-
- //! [87]
- QString s = "Banana";
- s.replace(QRegularExpression("a[mn]"), "ox");
- // s == "Boxoxa"
- //! [87]
-
- //! [88]
- QString t = "A <i>bon mot</i>.";
- t.replace(QRegularExpression("<i>([^<]*)</i>"), "\\emph{\\1}");
- // t == "A \\emph{bon mot}."
- //! [88]
-}
-
-void Widget::reserveFunction()
-{
- //! [44]
- QString result;
- int maxSize;
- bool condition;
- QChar nextChar;
-
- result.reserve(maxSize);
-
- while (condition)
- result.append(nextChar);
-
- result.squeeze();
- //! [44]
-}
-
-void Widget::resizeFunction()
-{
- //! [45]
- QString s = "Hello world";
- s.resize(5);
- // s == "Hello"
-
- s.resize(8);
- // s == "Hello???" (where ? stands for any character)
- //! [45]
-
- //! [46]
- QString t = "Hello";
- t += QString(10, 'X');
- // t == "HelloXXXXXXXXXX"
- //! [46]
-
- //! [47]
- QString r = "Hello";
- r = r.leftJustified(10, ' ');
- // r == "Hello "
- //! [47]
-}
-
-void Widget::rightFunction()
-{
- //! [48]
- QString x = "Pineapple";
- QString y = x.right(5); // y == "apple"
- //! [48]
-}
-
-void Widget::rightJustifiedFunction()
-{
- //! [49]
- QString s = "apple";
- QString t = s.rightJustified(8, '.'); // t == "...apple"
- //! [49]
-
- //! [50]
- QString str = "Pineapple";
- str = str.rightJustified(5, '.', true); // str == "Pinea"
- //! [50]
-}
-
-void Widget::sectionFunction()
-{
- //! [51] //! [52]
- QString str;
- //! [51]
- QString csv = "forename,middlename,surname,phone";
- QString path = "/usr/local/bin/myapp"; // First field is empty
- QString::SectionFlag flag = QString::SectionSkipEmpty;
-
-
- str = csv.section(',', 2, 2); // str == "surname"
- str = path.section('/', 3, 4); // str == "bin/myapp"
- str = path.section('/', 3, 3, flag); // str == "myapp"
- //! [52]
-
- //! [53]
- str = csv.section(',', -3, -2); // str == "middlename,surname"
- str = path.section('/', -1); // str == "myapp"
- //! [53]
-
- //! [54]
- QString data = "forename**middlename**surname**phone";
-
- str = data.section("**", 2, 2); // str == "surname"
- str = data.section("**", -3, -2); // str == "middlename**surname"
- //! [54]
-
- //! [55]
- QString line = "forename\tmiddlename surname \t \t phone";
- QRegExp sep("\\s+");
- str = line.section(sep, 2, 2); // str == "surname"
- str = line.section(sep, -3, -2); // str == "middlename surname"
- //! [55]
-
- //! [89]
- QString line = "forename\tmiddlename surname \t \t phone";
- QRegularExpression sep("\\s+");
- str = line.section(sep, 2, 2); // str == "surname"
- str = line.section(sep, -3, -2); // str == "middlename surname"
- //! [89]
-}
-
-void Widget::setNumFunction()
-{
- //! [56]
- QString str;
- str.setNum(1234); // str == "1234"
- //! [56]
-}
-
-void Widget::simplifiedFunction()
-{
- //! [57]
- QString str = " lots\t of\nwhitespace\r\n ";
- str = str.simplified();
- // str == "lots of whitespace";
- //! [57]
-}
-
-void Widget::sizeFunction()
-{
- //! [58]
- QString str = "World";
- int n = str.size(); // n == 5
- str.data()[0]; // returns 'W'
- str.data()[4]; // returns 'd'
- str.data()[5]; // returns '\0'
- //! [58]
-}
-
-void Widget::splitFunction()
-{
- //! [59]
- QString str;
- QStringList list;
-
- str = "Some text\n\twith strange whitespace.";
- list = str.split(QRegExp("\\s+"));
- // list: [ "Some", "text", "with", "strange", "whitespace." ]
- //! [59]
-
- //! [60]
- str = "This time, a normal English sentence.";
- list = str.split(QRegExp("\\W+"), QString::SkipEmptyParts);
- // list: [ "This", "time", "a", "normal", "English", "sentence" ]
- //! [60]
-
- //! [61]
- str = "Now: this sentence fragment.";
- list = str.split(QRegExp("\\b"));
- // list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
- //! [61]
-
- //! [90]
- QString str;
- QStringList list;
-
- str = "Some text\n\twith strange whitespace.";
- list = str.split(QRegularExpression("\\s+"));
- // list: [ "Some", "text", "with", "strange", "whitespace." ]
- //! [90]
-
- //! [91]
- str = "This time, a normal English sentence.";
- list = str.split(QRegularExpression("\\W+"), QString::SkipEmptyParts);
- // list: [ "This", "time", "a", "normal", "English", "sentence" ]
- //! [91]
-
- //! [92]
- str = "Now: this sentence fragment.";
- list = str.split(QRegularExpression("\\b"));
- // list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
- //! [92]
-}
-
-void Widget::splitCaseSensitiveFunction()
-{
- //! [62]
- QString str = "a,,b,c";
-
- QStringList list1 = str.split(",");
- // list1: [ "a", "", "b", "c" ]
-
- QStringList list2 = str.split(",", QString::SkipEmptyParts);
- // list2: [ "a", "b", "c" ]
- //! [62]
-}
-
-void Widget::sprintfFunction()
-{
- //! [63]
- size_t BufSize;
- char buf[BufSize];
-
- ::snprintf(buf, BufSize, "%lld", 123456789LL);
- QString str = QString::fromAscii(buf);
- //! [63]
-
- //! [64]
- QString result;
- QTextStream(&result) << "pi = " << 3.14;
- // result == "pi = 3.14"
- //! [64]
-}
-
-void Widget::startsWithFunction()
-{
- //! [65]
- QString str = "Bananas";
- str.startsWith("Ban"); // returns true
- str.startsWith("Car"); // returns false
- //! [65]
-}
-
-void Widget::toDoubleFunction()
-{
- //! [66]
- QString str = "1234.56";
- double val = str.toDouble(); // val == 1234.56
- //! [66]
-
- //! [67]
- bool ok;
- double d;
-
- d = QString( "1234.56e-02" ).toDouble(&ok); // ok == true, d == 12.3456
- //! [67]
-
- //! [68]
- d = QString( "1234,56" ).toDouble(&ok); // ok == false
- d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
- //! [68]
-
- //! [69]
- d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
- d = QString( "1234567.89" ).toDouble(&ok); // ok == true
- //! [69]
-}
-
-void Widget::toFloatFunction()
-{
- //! [71]
- QString str1 = "1234.56";
- str1.toFloat(); // returns 1234.56
-
- bool ok;
- QString str2 = "R2D2";
- str2.toFloat(&ok); // returns 0.0, sets ok to false
- //! [71]
-}
-
-void Widget::toIntFunction()
-{
- //! [72]
- QString str = "FF";
- bool ok;
- int hex = str.toInt(&ok, 16); // hex == 255, ok == true
- int dec = str.toInt(&ok, 10); // dec == 0, ok == false
- //! [72]
-}
-
-void Widget::toLongFunction()
-{
- //! [73]
- QString str = "FF";
- bool ok;
-
- long hex = str.toLong(&ok, 16); // hex == 255, ok == true
- long dec = str.toLong(&ok, 10); // dec == 0, ok == false
- //! [73]
-}
-
-void Widget::toLongLongFunction()
-{
- //! [74]
- QString str = "FF";
- bool ok;
-
- qint64 hex = str.toLongLong(&ok, 16); // hex == 255, ok == true
- qint64 dec = str.toLongLong(&ok, 10); // dec == 0, ok == false
- //! [74]
-}
-
-void Widget::toLowerFunction()
-{
- //! [75]
- QString str = "Qt by NOKIA";
- str = str.toLower(); // str == "qt by nokia"
- //! [75]
-}
-
-void Widget::toShortFunction()
-{
- //! [76]
- QString str = "FF";
- bool ok;
-
- short hex = str.toShort(&ok, 16); // hex == 255, ok == true
- short dec = str.toShort(&ok, 10); // dec == 0, ok == false
- //! [76]
-}
-
-void Widget::toUIntFunction()
-{
- //! [77]
- QString str = "FF";
- bool ok;
-
- uint hex = str.toUInt(&ok, 16); // hex == 255, ok == true
- uint dec = str.toUInt(&ok, 10); // dec == 0, ok == false
- //! [77]
-}
-
-void Widget::toULongFunction()
-{
- //! [78]
- QString str = "FF";
- bool ok;
-
- ulong hex = str.toULong(&ok, 16); // hex == 255, ok == true
- ulong dec = str.toULong(&ok, 10); // dec == 0, ok == false
- //! [78]
-}
-
-void Widget::toULongLongFunction()
-{
- //! [79]
- QString str = "FF";
- bool ok;
-
- quint64 hex = str.toULongLong(&ok, 16); // hex == 255, ok == true
- quint64 dec = str.toULongLong(&ok, 10); // dec == 0, ok == false
- //! [79]
-}
-
-void Widget::toUShortFunction()
-{
- //! [80]
- QString str = "FF";
- bool ok;
-
- ushort hex = str.toUShort(&ok, 16); // hex == 255, ok == true
- ushort dec = str.toUShort(&ok, 10); // dec == 0, ok == false
- //! [80]
-}
-
-void Widget::toUpperFunction()
-{
- //! [81]
- QString str = "TeXt";
- str = str.toUpper(); // str == "TEXT"
- //! [81]
-}
-
-void Widget::trimmedFunction()
-{
- //! [82]
- QString str = " lots\t of\nwhitespace\r\n ";
- str = str.trimmed();
- // str == "lots\t of\nwhitespace"
- //! [82]
-}
-
-void Widget::truncateFunction()
-{
- //! [83]
- QString str = "Vladivostok";
- str.truncate(4);
- // str == "Vlad"
- //! [83]
-}
-
-void Widget::plusEqualOperator()
-{
- //! [84]
- QString x = "free";
- QString y = "dom";
- x += y;
- // x == "freedom"
- //! [84]
-}
-
-void Widget::arrayOperator()
-{
- //! [85]
- QString str;
-
- if (str[0] == QChar('?'))
- str[0] = QChar('_');
- //! [85]
-}
-
-void Widget::midRefFunction()
-{
- //! [midRef]
- QString x = "Nine pineapples";
- QStringRef y = x.midRef(5, 4); // y == "pine"
- QStringRef z = x.midRef(5); // z == "pineapples"
- //! [midRef]
-}
-
-void Widget::leftRefFunction()
-{
- //! [leftRef]
- QString x = "Pineapple";
- QStringRef y = x.leftRef(4); // y == "Pine"
- //! [leftRef]
-}
-
-void Widget::rightRefFunction()
-{
- //! [rightRef]
- QString x = "Pineapple";
- QStringRef y = x.rightRef(5); // y == "apple"
- //! [rightRef]
-}
-
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Widget widget;
- widget.show();
- return app.exec();
-}
diff --git a/doc/src/snippets/qstring/stringbuilder.cpp b/doc/src/snippets/qstring/stringbuilder.cpp
deleted file mode 100644
index 53cf0b7be0..0000000000
--- a/doc/src/snippets/qstring/stringbuilder.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
- QString foo;
- QString type = "long";
-
- foo->setText(QLatin1String("vector<") + type + QLatin1String(">::iterator"));
-
- if (foo.startsWith("(" + type + ") 0x"))
- ...
-//! [0]
-
-//! [3]
- DEFINES *= QT_USE_QSTRINGBUILDER
-//! [3]
-
-//! [5]
- #include <QStringBuilder>
-
- QString hello("hello");
- QStringRef el(&hello, 2, 3);
- QLatin1String world("world");
- QString message = hello % el % world % QChar('!');
-//! [5]
diff --git a/doc/src/snippets/qstringlist/main.cpp b/doc/src/snippets/qstringlist/main.cpp
deleted file mode 100644
index 8ca463371e..0000000000
--- a/doc/src/snippets/qstringlist/main.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <iostream>
-using namespace std;
-
-class Widget : public QWidget
-{
-public:
- Widget(QWidget *parent = 0);
-};
-
-Widget::Widget(QWidget *parent)
- : QWidget(parent)
-{
-//! [0]
- QStringList fonts;
- fonts << "Arial" << "Helvetica" << "Times" << "Courier";
-//! [0]
-
-//! [1]
- for (int i = 0; i < fonts.size(); ++i)
- cout << fonts.at(i).toLocal8Bit().constData() << endl;
-//! [1]
-
-//! [2]
- QStringListIterator javaStyleIterator(fonts);
- while (javaStyleIterator.hasNext())
- cout << javaStyleIterator.next().toLocal8Bit().constData() << endl;
-//! [2]
-
-//! [3]
- QStringList::const_iterator constIterator;
- for (constIterator = fonts.constBegin(); constIterator != fonts.constEnd();
- ++constIterator)
- cout << (*constIterator).toLocal8Bit().constData() << endl;
-//! [3]
-
-//! [4]
- QString str = fonts.join(",");
- // str == "Arial,Helvetica,Times,Courier"
-//! [4]
-
-//! [5] //! [6]
- QStringList list;
-//! [5]
- list = str.split(",");
- // list: ["Arial", "Helvetica", "Times", "Courier"]
-//! [6]
-
-//! [7]
- QStringList monospacedFonts = fonts.filter(QRegExp("Courier|Fixed"));
-//! [7]
-
-//! [8]
- QStringList files;
- files << "$QTDIR/src/moc/moc.y"
- << "$QTDIR/src/moc/moc.l"
- << "$QTDIR/include/qconfig.h";
-
- files.replaceInStrings("$QTDIR", "/usr/lib/qt");
- // files: [ "/usr/lib/qt/src/moc/moc.y", ...]
-//! [8]
-
- QString str1, str2, str3;
-//! [9]
- QStringList longerList = (QStringList() << str1 << str2 << str3);
-//! [9]
-
- list.clear();
-//! [10]
- list << "Bill Murray" << "John Doe" << "Bill Clinton";
-
-//! [11]
- QStringList result;
-//! [11]
- result = list.filter("Bill");
- // result: ["Bill Murray", "Bill Clinton"]
-//! [10]
-
- result.clear();
-//! [12]
- foreach (const QString &str, list) {
- if (str.contains("Bill"))
- result += str;
- }
-//! [12]
-
- list.clear();
-//! [13]
- list << "alpha" << "beta" << "gamma" << "epsilon";
- list.replaceInStrings("a", "o");
- // list == ["olpho", "beto", "gommo", "epsilon"]
-//! [13]
-
- list.clear();
-//! [14]
- list << "alpha" << "beta" << "gamma" << "epsilon";
- list.replaceInStrings(QRegExp("^a"), "o");
- // list == ["olpha", "beta", "gamma", "epsilon"]
-//! [14]
-
- list.clear();
-//! [15]
- list << "Bill Clinton" << "Murray, Bill";
- list.replaceInStrings(QRegExp("^(.*), (.*)$"), "\\2 \\1");
- // list == ["Bill Clinton", "Bill Murray"]
-//! [15]
-
- list.clear();
-//! [16]
- list << "alpha" << "beta" << "gamma" << "epsilon";
- list.replaceInStrings(QRegularExpression("^a"), "o");
- // list == ["olpha", "beta", "gamma", "epsilon"]
-//! [16]
-
- list.clear();
-//! [17]
- list << "Bill Clinton" << "Murray, Bill";
- list.replaceInStrings(QRegularExpression("^(.*), (.*)$"), "\\2 \\1");
- // list == ["Bill Clinton", "Bill Murray"]
-//! [17]
-
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Widget widget;
- widget.show();
- return app.exec();
-}
diff --git a/doc/src/snippets/qstringlistmodel/main.cpp b/doc/src/snippets/qstringlistmodel/main.cpp
deleted file mode 100644
index 24de0fd0ae..0000000000
--- a/doc/src/snippets/qstringlistmodel/main.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-class Widget : public QWidget
-{
-public:
- Widget(QWidget *parent = 0);
-};
-
-Widget::Widget(QWidget *parent)
- : QWidget(parent)
-{
-//! [0]
- QStringListModel *model = new QStringListModel();
- QStringList list;
- list << "a" << "b" << "c";
- model->setStringList(list);
-//! [0]
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Widget widget;
- widget.show();
- return app.exec();
-}
diff --git a/doc/src/snippets/qtcast/qtcast.cpp b/doc/src/snippets/qtcast/qtcast.cpp
deleted file mode 100644
index f0c3834bf0..0000000000
--- a/doc/src/snippets/qtcast/qtcast.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QLabel>
-#include <QPushButton>
-
-#include "qtcast.h"
-
-MyWidget::MyWidget()
-{
-//! [0]
- QObject *obj = new MyWidget;
-//! [0]
-
-//! [1]
- QWidget *widget = qobject_cast<QWidget *>(obj);
-//! [1]
-
-//! [2]
- MyWidget *myWidget = qobject_cast<MyWidget *>(obj);
-//! [2]
-
-//! [3]
- QLabel *label = qobject_cast<QLabel *>(obj);
-//! [3] //! [4]
- // label is 0
-//! [4]
-
-//! [5]
- if (QLabel *label = qobject_cast<QLabel *>(obj)) {
-//! [5] //! [6]
- label->setText(tr("Ping"));
- } else if (QPushButton *button = qobject_cast<QPushButton *>(obj)) {
- button->setText(tr("Pong!"));
- }
-//! [6]
-}
-
-int main()
-{
- return 0;
-}
diff --git a/doc/src/snippets/qxmlstreamwriter/main.cpp b/doc/src/snippets/qxmlstreamwriter/main.cpp
deleted file mode 100644
index 907d779357..0000000000
--- a/doc/src/snippets/qxmlstreamwriter/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QCoreApplication>
-#include <QFile>
-#include <QXmlStreamWriter>
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication app(argc, argv);
- QFile output;
- output.open(stdout, QIODevice::WriteOnly);
-//! [write output]
-//! [start stream]
- QXmlStreamWriter stream(&output);
- stream.setAutoFormatting(true);
- stream.writeStartDocument();
-//! [start stream]
- stream.writeDTD("<!DOCTYPE xbel>");
- stream.writeStartElement("xbel");
- stream.writeAttribute("version", "1.0");
- stream.writeStartElement("folder");
- stream.writeAttribute("folded", "no");
-//! [write element]
- stream.writeStartElement("bookmark");
- stream.writeAttribute("href", "http://qt.nokia.com/");
- stream.writeTextElement("title", "Qt Home");
- stream.writeEndElement(); // bookmark
-//! [write element]
- stream.writeEndElement(); // folder
- stream.writeEndElement(); // xbel
-//! [finish stream]
- stream.writeEndDocument();
-//! [finish stream]
-//! [write output]
- output.close();
- return 0;
-}
diff --git a/doc/src/snippets/settings/settings.cpp b/doc/src/snippets/settings/settings.cpp
deleted file mode 100644
index 8648843d43..0000000000
--- a/doc/src/snippets/settings/settings.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-QWidget *win;
-QWidget *panel;
-
-void snippet_ctor1()
-{
-//! [0]
- QSettings settings("MySoft", "Star Runner");
-//! [0]
-}
-
-void snippet_ctor2()
-{
-//! [1]
- QCoreApplication::setOrganizationName("MySoft");
-//! [1] //! [2]
- QCoreApplication::setOrganizationDomain("mysoft.com");
-//! [2] //! [3]
- QCoreApplication::setApplicationName("Star Runner");
-//! [3]
-
-//! [4]
- QSettings settings;
-//! [4]
-
-//! [5]
- settings.setValue("editor/wrapMargin", 68);
-//! [5] //! [6]
- int margin = settings.value("editor/wrapMargin").toInt();
-//! [6]
- {
-//! [7]
- int margin = settings.value("editor/wrapMargin", 80).toInt();
-//! [7]
- }
-
-//! [8]
- settings.setValue("mainwindow/size", win->size());
-//! [8] //! [9]
- settings.setValue("mainwindow/fullScreen", win->isFullScreen());
-//! [9] //! [10]
- settings.setValue("outputpanel/visible", panel->isVisible());
-//! [10]
-
-//! [11]
- settings.beginGroup("mainwindow");
- settings.setValue("size", win->size());
- settings.setValue("fullScreen", win->isFullScreen());
- settings.endGroup();
-//! [11]
-
-//! [12]
- settings.beginGroup("outputpanel");
- settings.setValue("visible", panel->isVisible());
- settings.endGroup();
-//! [12]
-}
-
-void snippet_locations()
-{
-//! [13]
- QSettings obj1("MySoft", "Star Runner");
-//! [13] //! [14]
- QSettings obj2("MySoft");
- QSettings obj3(QSettings::SystemScope, "MySoft", "Star Runner");
- QSettings obj4(QSettings::SystemScope, "MySoft");
-//! [14]
-
- {
-//! [15]
- QSettings settings(QSettings::IniFormat, QSettings::UserScope,
- "MySoft", "Star Runner");
-//! [15]
- }
-
- {
- QSettings settings("starrunner.ini", QSettings::IniFormat);
- }
-
- {
- QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft",
- QSettings::NativeFormat);
- }
-}
-
-class MainWindow : public QMainWindow
-{
-public:
- MainWindow();
-
- void writeSettings();
- void readSettings();
-
-protected:
- void closeEvent(QCloseEvent *event);
-};
-
-//! [16]
-void MainWindow::writeSettings()
-{
- QSettings settings("Moose Soft", "Clipper");
-
- settings.beginGroup("MainWindow");
- settings.setValue("size", size());
- settings.setValue("pos", pos());
- settings.endGroup();
-}
-//! [16]
-
-//! [17]
-void MainWindow::readSettings()
-{
- QSettings settings("Moose Soft", "Clipper");
-
- settings.beginGroup("MainWindow");
- resize(settings.value("size", QSize(400, 400)).toSize());
- move(settings.value("pos", QPoint(200, 200)).toPoint());
- settings.endGroup();
-}
-//! [17]
-
-//! [18]
-MainWindow::MainWindow()
-{
-//! [18] //! [19]
- readSettings();
-//! [19] //! [20]
-}
-//! [20]
-
-bool userReallyWantsToQuit() { return true; }
-
-//! [21]
-void MainWindow::closeEvent(QCloseEvent *event)
-{
- if (userReallyWantsToQuit()) {
- writeSettings();
- event->accept();
- } else {
- event->ignore();
- }
-}
-//! [21]
diff --git a/doc/src/snippets/sharedemployee/employee.h b/doc/src/snippets/sharedemployee/employee.h
deleted file mode 100644
index efb1d32000..0000000000
--- a/doc/src/snippets/sharedemployee/employee.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EMPLOYEE_H
-#define EMPLOYEE_H
-
-//! [0]
-#include <QSharedData>
-#include <QString>
-
-class EmployeeData : public QSharedData
-{
- public:
- EmployeeData() : id(-1) { }
- EmployeeData(const EmployeeData &other)
- : QSharedData(other), id(other.id), name(other.name) { }
- ~EmployeeData() { }
-
- int id;
- QString name;
-};
-
-class Employee
-{
- public:
-//! [1]
- Employee() { d = new EmployeeData; }
-//! [1] //! [2]
- Employee(int id, QString name) {
- d = new EmployeeData;
- setId(id);
- setName(name);
- }
-//! [2] //! [7]
- Employee(const Employee &other)
- : d (other.d)
- {
- }
-//! [7]
-//! [3]
- void setId(int id) { d->id = id; }
-//! [3] //! [4]
- void setName(QString name) { d->name = name; }
-//! [4]
-
-//! [5]
- int id() const { return d->id; }
-//! [5] //! [6]
- QString name() const { return d->name; }
-//! [6]
-
- private:
- QSharedDataPointer<EmployeeData> d;
-};
-//! [0]
-
-#endif
diff --git a/doc/src/snippets/sharedemployee/main.cpp b/doc/src/snippets/sharedemployee/main.cpp
deleted file mode 100644
index 6e840ab5e6..0000000000
--- a/doc/src/snippets/sharedemployee/main.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#include "employee.h"
-
-int main()
-{
- Employee e1(1001, "Albrecht Durer");
- Employee e2 = e1;
- e1.setName("Hans Holbein");
-}
-//! [0]
diff --git a/doc/src/snippets/signalmapper/filereader.cpp b/doc/src/snippets/signalmapper/filereader.cpp
deleted file mode 100644
index 067ba8280e..0000000000
--- a/doc/src/snippets/signalmapper/filereader.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the config.tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include "filereader.h"
-
-
-FileReader::FileReader(QWidget *parent)
- : QWidget(parent)
-{
- textEdit = new QTextEdit;
-
- taxFileButton = new QPushButton("Tax File");
- accountFileButton = new QPushButton("Accounts File");
- reportFileButton = new QPushButton("Report File");
-
-//! [0]
- signalMapper = new QSignalMapper(this);
- signalMapper->setMapping(taxFileButton, QString("taxfile.txt"));
- signalMapper->setMapping(accountFileButton, QString("accountsfile.txt"));
- signalMapper->setMapping(reportFileButton, QString("reportfile.txt"));
-
- connect(taxFileButton, &QPushButton::clicked,
- signalMapper, &QSignalMapper::map);
- connect(accountFileButton, &QPushButton::clicked,
- signalMapper, &QSignalMapper::map);
- connect(reportFileButton, &QPushButton::clicked,
- signalMapper, &QSignalMapper::map);
-//! [0]
-
-//! [1]
- connect(signalMapper, SIGNAL(mapped(QString)),
- this, SLOT(readFile(QString)));
-//! [1]
-
-/*
-//! [2]
- //slower due to signature normalization at runtime
-
- connect(signalMapper, SIGNAL(mapped(const QString &)),
- this, SLOT(readFile(const QString &)));
-//! [2]
-*/
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- buttonLayout->addWidget(taxFileButton);
- buttonLayout->addWidget(accountFileButton);
- buttonLayout->addWidget(reportFileButton);
-
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(textEdit);
- mainLayout->addLayout(buttonLayout);
-
- setLayout(mainLayout);
-}
-
-void FileReader::readFile(const QString &filename)
-{
- QFile file(filename);
-
- if (!file.open(QIODevice::ReadOnly)) {
- QMessageBox::information(this, tr("Unable to open file"),
- file.errorString());
- return;
- }
-
-
- QTextStream in(&file);
- textEdit->setPlainText(in.readAll());
-}
-
diff --git a/doc/src/snippets/signalsandslots/lcdnumber.h b/doc/src/snippets/signalsandslots/lcdnumber.h
deleted file mode 100644
index 7056254f9f..0000000000
--- a/doc/src/snippets/signalsandslots/lcdnumber.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#ifndef LCDNUMBER_H
-//! [0] //! [1]
-#define LCDNUMBER_H
-//! [1]
-
-//! [2]
-#include <QFrame>
-//! [2]
-
-//! [3]
-class LcdNumber : public QFrame
-//! [3] //! [4]
-{
-//! [4] //! [5]
- Q_OBJECT
-//! [5]
-
-//! [6]
-public:
-//! [6] //! [7]
- LcdNumber(QWidget *parent = 0);
-//! [7]
-
-//! [8]
-signals:
-//! [8] //! [9]
- void overflow();
-//! [9]
-
-//! [10]
-public slots:
-//! [10] //! [11]
- void display(int num);
- void display(double num);
- void display(const QString &str);
- void setHexMode();
- void setDecMode();
- void setOctMode();
- void setBinMode();
- void setSmallDecimalPoint(bool point);
-//! [11] //! [12]
-};
-//! [12]
-
-//! [13]
-#endif
-//! [13]
diff --git a/doc/src/snippets/signalsandslots/signalsandslots.cpp b/doc/src/snippets/signalsandslots/signalsandslots.cpp
deleted file mode 100644
index 3072650585..0000000000
--- a/doc/src/snippets/signalsandslots/signalsandslots.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QAbstractButton>
-
-#include "signalsandslots.h"
-
-//! [0]
-void Counter::setValue(int value)
-{
- if (value != m_value) {
- m_value = value;
- emit valueChanged(value);
- }
-}
-//! [0]
-
-int main()
-{
-//! [1]
- Counter a, b;
-//! [1] //! [2]
- QObject::connect(&a, &Counter::valueChanged,
- &b, &Counter::setValue);
-//! [2]
-
-//! [3]
- a.setValue(12); // a.value() == 12, b.value() == 12
-//! [3] //! [4]
- b.setValue(48); // a.value() == 12, b.value() == 48
-//! [4]
-
-
- QWidget *widget = reinterpret_cast<QWidget *>(new QObject(0));
-//! [5]
- if (widget->inherits("QAbstractButton")) {
- QAbstractButton *button = static_cast<QAbstractButton *>(widget);
- button->toggle();
-//! [5] //! [6]
- }
-//! [6]
-
-//! [7]
- if (QAbstractButton *button = qobject_cast<QAbstractButton *>(widget))
- button->toggle();
-//! [7]
-}
diff --git a/doc/src/snippets/signalsandslots/signalsandslots.h b/doc/src/snippets/signalsandslots/signalsandslots.h
deleted file mode 100644
index e18f955a41..0000000000
--- a/doc/src/snippets/signalsandslots/signalsandslots.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIGNALSANDSLOTS_H
-#define SIGNALSANDSLOTS_H
-
-#define Counter PlainCounter
-
-//! [0]
-class Counter
-{
-public:
- Counter() { m_value = 0; }
-
- int value() const { return m_value; }
- void setValue(int value);
-
-private:
- int m_value;
-};
-//! [0]
-
-#undef Counter
-#define Counter ObjectCounter
-
-//! [1]
-#include <QObject>
-//! [1]
-
-//! [2]
-class Counter : public QObject
-//! [2] //! [3]
-{
- Q_OBJECT
-
-public:
- Counter() { m_value = 0; }
-
- int value() const { return m_value; }
-
-public slots:
- void setValue(int value);
-
-signals:
- void valueChanged(int newValue);
-
-private:
- int m_value;
-};
-//! [3]
-
-#endif
diff --git a/doc/src/snippets/streaming/main.cpp b/doc/src/snippets/streaming/main.cpp
deleted file mode 100644
index 7c992345c2..0000000000
--- a/doc/src/snippets/streaming/main.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore>
-#include <QByteArray>
-#include <QDataStream>
-
-//! [0]
-struct Movie
-{
- int id;
- QString title;
- QDate releaseDate;
-};
-//! [0]
-
-//! [1]
-QDataStream &operator<<(QDataStream &out, const Movie &movie)
-{
- out << (quint32)movie.id << movie.title
- << movie.releaseDate;
- return out;
-}
-//! [1]
-
-//! [2]
-QDataStream &operator>>(QDataStream &in, Movie &movie)
-{
- quint32 id;
- QDate date;
-
- in >> id >> movie.title >> date;
- movie.id = (int)id;
- movie.releaseDate = date;
- return in;
-}
-//! [2]
-
-int main(int argc, char *argv[])
-{
- QCoreApplication app(argc, argv);
-
- Movie m;
- m.id = 0001;
- m.title = "Happy Meal";
- m.releaseDate = QDate(1995, 5, 17);
-
- QByteArray byteArray;
- QDataStream stream(&byteArray, QIODevice::WriteOnly);
- stream << m;
-
- // display
- qDebug() << m.id << m.releaseDate << m.title;
-
- Movie m2;
-
- int id2;
- QString title2;
- QDate date2;
-
- QDataStream stream2(byteArray);
- stream2 >> id2 >> title2 >> date2;
-
- m2.id = id2;
- m2.title = title2;
- m2.releaseDate = date2;
-
- qDebug() << id2 << " " << date2 << " " << title2;
-
- return 0;
-}
diff --git a/doc/src/snippets/streaming/streaming.pro b/doc/src/snippets/streaming/streaming.pro
deleted file mode 100644
index 8c5eb91f05..0000000000
--- a/doc/src/snippets/streaming/streaming.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES = main.cpp
-CONFIG += CONSOLE \ No newline at end of file
diff --git a/doc/src/snippets/threads/threads.cpp b/doc/src/snippets/threads/threads.cpp
deleted file mode 100644
index 9ef716705a..0000000000
--- a/doc/src/snippets/threads/threads.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QCache>
-#include <QMutex>
-#include <QThreadStorage>
-
-#include "threads.h"
-
-//! [0]
-void MyThread::run()
-//! [0] //! [1]
-{
-//! [1] //! [2]
-}
-//! [2]
-
-#define Counter ReentrantCounter
-
-//! [3]
-class Counter
-//! [3] //! [4]
-{
-public:
- Counter() { n = 0; }
-
- void increment() { ++n; }
- void decrement() { --n; }
- int value() const { return n; }
-
-private:
- int n;
-};
-//! [4]
-
-#undef Counter
-#define Counter ThreadSafeCounter
-
-//! [5]
-class Counter
-//! [5] //! [6]
-{
-public:
- Counter() { n = 0; }
-
- void increment() { QMutexLocker locker(&mutex); ++n; }
- void decrement() { QMutexLocker locker(&mutex); --n; }
- int value() const { QMutexLocker locker(&mutex); return n; }
-
-private:
- mutable QMutex mutex;
- int n;
-};
-//! [6]
-
-typedef int SomeClass;
-
-//! [7]
-QThreadStorage<QCache<QString, SomeClass> > caches;
-
-void cacheObject(const QString &key, SomeClass *object)
-//! [7] //! [8]
-{
- caches.localData().insert(key, object);
-}
-
-void removeFromCache(const QString &key)
-//! [8] //! [9]
-{
- if (!caches.hasLocalData())
- return;
-
- caches.localData().remove(key);
-}
-//! [9]
-
-int main()
-{
- return 0;
-}
diff --git a/doc/src/snippets/threads/threads.h b/doc/src/snippets/threads/threads.h
deleted file mode 100644
index a45a2c92da..0000000000
--- a/doc/src/snippets/threads/threads.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QThread>
-
-//! [0]
-class MyThread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run();
-};
-//! [0]
diff --git a/doc/src/snippets/timers/timers.cpp b/doc/src/snippets/timers/timers.cpp
deleted file mode 100644
index 65b1c0d146..0000000000
--- a/doc/src/snippets/timers/timers.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QTimer>
-
-class Foo : public QObject
-{
-public:
- Foo();
-};
-
-Foo::Foo()
-{
-//! [0]
- QTimer *timer = new QTimer(this);
-//! [0] //! [1]
- connect(timer, SIGNAL(timeout()), this, SLOT(updateCaption()));
-//! [1] //! [2]
- timer->start(1000);
-//! [2]
-
-//! [3]
- QTimer::singleShot(200, this, SLOT(updateCaption()));
-//! [3]
-
- {
- // ZERO-CASE
-//! [4]
- QTimer *timer = new QTimer(this);
-//! [4] //! [5]
- connect(timer, SIGNAL(timeout()), this, SLOT(processOneThing()));
-//! [5] //! [6]
- timer->start();
-//! [6]
- }
-}
-
-int main()
-{
-
-}