summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-01-31 18:55:53 +0100
committerSergio Ahumada <sergio.ahumada@digia.com>2013-01-31 18:55:53 +0100
commit6239af6f0f15871e02a516c97c5f1775743d352b (patch)
tree904e3e5df8c6f3e4aa820db4f2d9e73e3026dfd4
parent3dc47622a469ded1c99397fdedc2053b73d57189 (diff)
parent6654a05fcad565a302e205e7f7deaa0b2757082d (diff)
Merge branch 'release' into stable
-rw-r--r--dist/changes-5.0.194
-rw-r--r--doc/src/snippets/code/src_network_access_qhttp.cpp6
-rw-r--r--examples/dbus/dbus.pro2
-rw-r--r--examples/embedded/embedded.pro2
-rw-r--r--examples/examples.pro39
-rw-r--r--examples/gestures/gestures.pro2
-rw-r--r--examples/ipc/ipc.pro2
-rw-r--r--examples/opengl/opengl.pro2
-rw-r--r--examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc2
-rw-r--r--examples/qtconcurrent/map/doc/src/qtconcurrent-map.qdoc2
-rw-r--r--examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc2
-rw-r--r--examples/qtconcurrent/qtconcurrent.pro2
-rw-r--r--examples/qtconcurrent/runfunction/doc/src/qtconcurrent-runfunction.qdoc2
-rw-r--r--examples/qtconcurrent/wordcount/doc/src/qtconcurrent-wordcount.qdoc2
-rw-r--r--examples/qtestlib/qtestlib.pro2
-rw-r--r--examples/sql/sql.pro3
-rw-r--r--examples/tools/tools.pro2
-rw-r--r--examples/touch/touch.pro2
-rw-r--r--examples/widgets/doc/src/codeeditor.qdoc2
-rw-r--r--examples/widgets/doc/src/syntaxhighlighter.qdoc2
-rw-r--r--examples/widgets/painting/painting.pro27
-rw-r--r--examples/widgets/painting/shared/shared.pro26
-rw-r--r--examples/widgets/tools/codecs/codecs.pro2
-rw-r--r--examples/widgets/tools/completer/completer.pro2
-rw-r--r--examples/widgets/tools/customcompleter/customcompleter.pro2
-rw-r--r--examples/widgets/tools/echoplugin/echoplugin.pro2
-rw-r--r--examples/widgets/tools/echoplugin/echowindow/echowindow.pro2
-rw-r--r--examples/widgets/tools/echoplugin/plugin/plugin.pro2
-rw-r--r--examples/widgets/tools/i18n/i18n.pro2
-rw-r--r--examples/widgets/tools/plugandpaint/plugandpaint.pro2
-rw-r--r--examples/widgets/tools/plugandpaintplugins/basictools/basictools.pro2
-rw-r--r--examples/widgets/tools/plugandpaintplugins/extrafilters/extrafilters.pro2
-rw-r--r--examples/widgets/tools/regexp/regexp.pro2
-rw-r--r--examples/widgets/tools/settingseditor/settingseditor.pro2
-rw-r--r--examples/widgets/tools/styleplugin/plugin/plugin.pro2
-rw-r--r--examples/widgets/tools/styleplugin/styleplugin.pro2
-rw-r--r--examples/widgets/tools/styleplugin/stylewindow/stylewindow.pro2
-rw-r--r--examples/widgets/tools/treemodelcompleter/treemodelcompleter.pro2
-rw-r--r--examples/widgets/tools/undo/undo.pro2
-rw-r--r--examples/widgets/tools/undoframework/undoframework.pro2
-rw-r--r--examples/widgets/tutorials/addressbook-fr/README2
-rw-r--r--examples/widgets/tutorials/addressbook/README2
-rw-r--r--examples/widgets/widgets.pro2
-rw-r--r--examples/widgets/widgets/stylesheet/mainwindow.cpp2
-rw-r--r--examples/xml/dombookmarks/frank.xbel8
-rw-r--r--examples/xml/dombookmarks/jennifer.xbel8
-rw-r--r--examples/xml/htmlinfo/simpleexample.html4
-rw-r--r--examples/xml/rsslisting/rsslisting.cpp2
-rw-r--r--examples/xml/saxbookmarks/frank.xbel8
-rw-r--r--examples/xml/saxbookmarks/jennifer.xbel8
-rw-r--r--examples/xml/streambookmarks/frank.xbel8
-rw-r--r--examples/xml/streambookmarks/jennifer.xbel8
-rw-r--r--mkspecs/features/qml_module.prf2
-rw-r--r--mkspecs/features/qt_build_config.prf5
-rw-r--r--mkspecs/features/qt_build_paths.prf4
-rw-r--r--mkspecs/features/qt_example_installs.prf50
-rw-r--r--mkspecs/features/qt_module.prf66
-rw-r--r--mkspecs/features/qt_module_fwdpri.prf92
-rw-r--r--mkspecs/features/qt_module_pris.prf160
-rw-r--r--mkspecs/features/qt_tool.prf2
-rw-r--r--src/angle/src/config.pri3
-rw-r--r--src/corelib/doc/qtcore.qdocconf3
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp8
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qbytearray.cpp10
-rw-r--r--src/corelib/doc/snippets/qxmlstreamwriter/main.cpp4
-rw-r--r--src/corelib/doc/snippets/resource-system/application.pro14
-rw-r--r--src/corelib/doc/snippets/resource-system/application.qrc10
-rw-r--r--src/corelib/doc/snippets/resource-system/mainwindow.cpp392
-rw-r--r--src/corelib/doc/src/eventsandfilters.qdoc2
-rw-r--r--src/corelib/doc/src/resource-system.qdoc6
-rw-r--r--src/corelib/global/qnamespace.qdoc2
-rw-r--r--src/corelib/io/qurl.cpp2
-rw-r--r--src/gui/image/qpixmapcache.cpp2
-rw-r--r--src/gui/opengl/qopengl.h1
-rw-r--r--src/network/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp4
-rw-r--r--src/network/doc/snippets/code/src_network_access_qnetworkdiskcache.cpp4
-rw-r--r--src/network/doc/snippets/code/src_network_kernel_qhostinfo.cpp6
-rw-r--r--src/opengl/qgl.h28
-rw-r--r--src/printsupport/kernel/kernel.pri2
-rw-r--r--src/testlib/doc/src/qt-webpages.qdoc4
-rw-r--r--src/widgets/dialogs/qwizard.cpp2
-rwxr-xr-xsrc/widgets/doc/snippets/macmainwindow.mm347
-rw-r--r--src/widgets/doc/src/gestures.qdoc8
-rw-r--r--src/widgets/doc/src/modelview.qdoc2
-rw-r--r--src/widgets/doc/src/widgets-and-layouts/layout.qdoc2
-rw-r--r--src/widgets/kernel/qlayoutitem.cpp2
-rw-r--r--src/widgets/widgets/qmaccocoaviewcontainer_mac.mm2
-rw-r--r--src/widgets/widgets/qmacnativewidget_mac.mm4
-rw-r--r--src/xml/doc/snippets/code/src_xml_dom_qdom.cpp8
-rw-r--r--src/xml/doc/snippets/rsslisting/listing.cpp (renamed from src/xml/doc/snippets/rsslisting/rsslisting.cpp)0
-rw-r--r--src/xml/sax/qxml.cpp2
92 files changed, 1209 insertions, 385 deletions
diff --git a/dist/changes-5.0.1 b/dist/changes-5.0.1
index bf5df25b53..022b149397 100644
--- a/dist/changes-5.0.1
+++ b/dist/changes-5.0.1
@@ -40,37 +40,66 @@ Legal
* Library *
****************************************************************************
-
QtCore
-----
+ - Fix QMutex::tryLock with negative values
+ - Fix a leak in case the QMetaObject::Connection survives the sender object,
+ after a successful disconnect().
+ - Speed up and fix QByteArray::setNum()
+ - [QTBUG-28924] Don't increase the reference count if dynamic_cast failed
+
QtGui
-----
+ - Fix QGuiApplication::keyboardModifiers() and QGuiApplication::mouseButtons()
+ - Fix styleName support in QPA font database
+ - Make QImage::mirrored() propagate devicePixelRatio
+ - [QTBUG-28324] Fixed invalid memory read in SSSE3 image blending code.
+
QtWidgets
---------
+ - Do not inform that a widget is not visible when it's disabled.
+ - [QTBUG-28031, QTBUG-2596] QMenu: Do not set snapToMouse if a caused-widget exists.
+ - [QTBUG-28321] Fix focusproxy-relayed crash in QGraphicsItem destructor.
+ - [QTBUG-28446] Fix compilation when Q_NO_USING_KEYWORD is defined
+ - [QTBUG-28477] Fix QWidget::setWindowOpacity() when called before show().
+ - [QTBUG-28506] Style animations: fix QCommonStylePrivate::stopAnimation()
+ - [QTBUG-28557] Fix QGtkPainter::reset() to reset the clip rect
+
QtNetwork
---------
+ - [QTBUG-28937] SSL certificates: blacklist mis-issued Turktrust certificates
+
QtDBus
------
+ - qdbusxml2cpp: Check string length before checking for \r\n.
+
QtConcurrent
------------
QtOpenGL
--------
-QtScript
---------
+ - Fix compilation of Open GL ES 2 examples when using a Qt-namespace.
+ - Fixed deadlock situation in QtOpenGL's texture management.
+ - updating qeglfshooks_imx6.cpp to 12.09.01 (L3.0.35) opengl-drivers
+ - [QTBUG-27512] Entered hardcoded urls for <OpenGL> and <Khronos O.GL>
+ - [QTBUG-28875] Fix bug in multisampling handling when converting from surface format
QTestLib
--------
+ - Add qtest_widget.h to the list of testlib headers
+
QtSql
-----
+ - Fix QSqlQuery test in relation to PSQL support
+
****************************************************************************
* Database Drivers *
****************************************************************************
@@ -81,6 +110,8 @@ sqlite
postgres
--------
+ - Use PG_VERSION if PG_MAJORVERSION is not defined
+
****************************************************************************
* Platform Specific Changes *
****************************************************************************
@@ -88,19 +119,44 @@ postgres
Qt for Linux/X11
----------------
+ - XCB: add support for getting and setting appTime and appUserTime.
+ - [QTBUG-28561] Fixed incorrect handling of extra mouse buttons in XCB platform plugin.
+
Qt for Windows
--------------
+ - DBUS: Fix linker errors on Windows.
+ - Define Q_COMPILER_AUTO_FUNCTION for MVSC
+ - [QTBUG-28611] Fix warnings about not being able to set Window geometry on Windows.
+ - [QTBUG-28611] QMdiArea: Increase minimum size for Windows 8/Large fonts.
+ - [QTBUG-28645] Rename conflicting symbol QVariantToVARIANT
+ - [QTBUG-28876] QWindowsVistaStyle: fix frame rendering
+
Qt for Mac OS X
---------------
+ - Ignore ScrollBarAlwaysOn policy for transient scrollbars
+ - New rendering for disclose triangle, get proper color when selected
+ - [QTBUG-27415] Fix bugs for font selection in QFontDialog
+ - [QTBUG-28161] Ensure the native filedialog starts up with the right directory
+ - [QTBUG-28443] Cocoa: Re-enable per class palette on QPA plugin
+ - [QTBUG-28669] Fix transient QScrollBar flashing
+ - [QTBUG-28738] Bring back proper layout in QMessageBox
+
+Qt for BlackBerry
+-----------------
+
+ - Reset virtual keyboard when shown.
+ - Disable Q_COMPILER_RVALUE_REFS on QNX
+ - Fix QNX QPA plugin clipboard impl
+ - Don't crash because the window hasn't been initialized yet.
+
Qt for Embedded Linux
---------------------
Qt for Windows CE
-----------------
-
****************************************************************************
* Compiler Specific Changes *
****************************************************************************
@@ -111,11 +167,41 @@ Qt for Windows CE
* Tools *
****************************************************************************
+configure
+---------
+
+ - Remove the -fast configure option as it was pretty much broken
+ - [QTBUG-23569, QTBUG-25760] Check for gtk_adjustment_configure as this is not always implemented
+
+mkspecs
+-------
+
+ - Fix the computation of the location of mkspecs.
+ - [QTBUG-28215] Enable forcing generation of static plugin imports
+ - [QTBUG-28606] Fix installation of plugin module .pris in static Qt builds
+
+moc
+---
+
+ - [QTBUG-26589] Remove the timestamp info in genarated files to optimize rebuilds with ccache
+
+qmake
+-----
+
+ - Do not fixify + create QMAKE_{PKGCONFIG,LIBTOOL}_DESTDIR
+ - Fix qtCompileTest for cross building modules
+ - [QTBUG-28104] Respect the OBJECTS_DIR setting for XCode projects
+ - [QTBUG-24589] Fix handling of precompiled header files in XCode projects
+ - [QTBUG-28624] accept hex/octal values for RC_LANG and RC_CODEPAGE
+ - [QTBUG-28625] fix duplicate TRANSLATION entry in generated RC file
+ - [QTBUG-28682, QTBUG-28683] fix DLL manifest resource ids for debug builds
****************************************************************************
* Plugins *
****************************************************************************
+ - Accessibility Linux: Prevent access to invalid interfaces
+ - Call QAccessible::updateAccessibility when caret moves in QTextEdit
****************************************************************************
* Important Behavior Changes *
diff --git a/doc/src/snippets/code/src_network_access_qhttp.cpp b/doc/src/snippets/code/src_network_access_qhttp.cpp
index b0d0cf21bb..19d1cd951b 100644
--- a/doc/src/snippets/code/src_network_access_qhttp.cpp
+++ b/doc/src/snippets/code/src_network_access_qhttp.cpp
@@ -51,14 +51,14 @@ QString contentType = header.value("content-type");
//! [2]
QHttpRequestHeader header("GET", QUrl::toPercentEncoding("/index.html"));
-header.setValue("Host", "qt.nokia.com");
-http->setHost("qt.nokia.com");
+header.setValue("Host", "qt-project.org");
+http->setHost("qt-project.org");
http->request(header);
//! [2]
//! [3]
-http->setHost("qt.nokia.com"); // id == 1
+http->setHost("qt-project.org"); // id == 1
http->get(QUrl::toPercentEncoding("/index.html")); // id == 2
//! [3]
diff --git a/examples/dbus/dbus.pro b/examples/dbus/dbus.pro
index fd43c23fa3..083e442dfb 100644
--- a/examples/dbus/dbus.pro
+++ b/examples/dbus/dbus.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(dbus))
+
TEMPLATE = subdirs
SUBDIRS = listnames \
pingpong \
diff --git a/examples/embedded/embedded.pro b/examples/embedded/embedded.pro
index d7d69d3efe..90ee504adf 100644
--- a/examples/embedded/embedded.pro
+++ b/examples/embedded/embedded.pro
@@ -1,3 +1,5 @@
+requires(if(wince|embedded|x11):qtHaveModule(gui))
+
TEMPLATE = subdirs
SUBDIRS = styleexample raycasting flickable digiflip
diff --git a/examples/examples.pro b/examples/examples.pro
index e66226703e..7ba0de9438 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,28 +1,23 @@
TEMPLATE = subdirs
CONFIG += no_docs_target
-SUBDIRS = \
- gui \
- network \
- threads \
- xml \
- qpa
-
-qtHaveModule(widgets) {
- SUBDIRS += widgets \
- ipc \
- sql \
- tools \
- touch \
- gestures
-}
-
-wince*|embedded|x11:qtHaveModule(gui): SUBDIRS += embedded
-
-contains(QT_BUILD_PARTS, tools):qtHaveModule(gui):qtHaveModule(widgets): SUBDIRS += qtestlib
-qtHaveModule(opengl):qtHaveModule(widgets): SUBDIRS += opengl
-qtHaveModule(dbus): SUBDIRS += dbus
-qtHaveModule(concurrent): SUBDIRS += qtconcurrent
+SUBDIRS = \
+ dbus \
+ embedded \
+ gestures \
+ gui \
+ ipc \
+ network \
+ opengl \
+ qpa \
+ qtconcurrent \
+ qtestlib \
+ sql \
+ threads \
+ tools \
+ touch \
+ widgets \
+ xml
aggregate.files = aggregate/examples.pro
aggregate.path = $$[QT_INSTALL_EXAMPLES]
diff --git a/examples/gestures/gestures.pro b/examples/gestures/gestures.pro
index 35b60bef38..ecbcf07480 100644
--- a/examples/gestures/gestures.pro
+++ b/examples/gestures/gestures.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = \
subdirs
SUBDIRS = \
diff --git a/examples/ipc/ipc.pro b/examples/ipc/ipc.pro
index ffa313beef..f302b836af 100644
--- a/examples/ipc/ipc.pro
+++ b/examples/ipc/ipc.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = subdirs
# no QSharedMemory
!vxworks:!qnx:SUBDIRS = sharedmemory
diff --git a/examples/opengl/opengl.pro b/examples/opengl/opengl.pro
index 25c337fdad..54b0321b26 100644
--- a/examples/opengl/opengl.pro
+++ b/examples/opengl/opengl.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(opengl))
+
TEMPLATE = subdirs
contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2){
diff --git a/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc b/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc
index ef6173ef1d..6d7c39526d 100644
--- a/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc
+++ b/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \example qtconcurrent/imagescaling
+ \example imagescaling
\title Image Scaling Example
\brief Demonstrates how to asynchronously scale images.
\ingroup qtconcurrentexamples
diff --git a/examples/qtconcurrent/map/doc/src/qtconcurrent-map.qdoc b/examples/qtconcurrent/map/doc/src/qtconcurrent-map.qdoc
index fa0ab43059..43c27bd98f 100644
--- a/examples/qtconcurrent/map/doc/src/qtconcurrent-map.qdoc
+++ b/examples/qtconcurrent/map/doc/src/qtconcurrent-map.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \example qtconcurrent/map
+ \example map
\title Map Example
\brief Demonstrates how to scale images synchronously.
\ingroup qtconcurrentexamples
diff --git a/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc b/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc
index a2eec5ab40..109bb73bdb 100644
--- a/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc
+++ b/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \example qtconcurrent/progressdialog
+ \example progressdialog
\title QtConcurrent Progress Dialog Example
\brief Demonstrates how to monitor the progress of the active processes.
\ingroup qtconcurrentexamples
diff --git a/examples/qtconcurrent/qtconcurrent.pro b/examples/qtconcurrent/qtconcurrent.pro
index dafbabb5c3..1df6f2d8cf 100644
--- a/examples/qtconcurrent/qtconcurrent.pro
+++ b/examples/qtconcurrent/qtconcurrent.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(concurrent))
+
TEMPLATE = subdirs
SUBDIRS = imagescaling \
map \
diff --git a/examples/qtconcurrent/runfunction/doc/src/qtconcurrent-runfunction.qdoc b/examples/qtconcurrent/runfunction/doc/src/qtconcurrent-runfunction.qdoc
index 8ff4d2cef7..0f36dcbd6d 100644
--- a/examples/qtconcurrent/runfunction/doc/src/qtconcurrent-runfunction.qdoc
+++ b/examples/qtconcurrent/runfunction/doc/src/qtconcurrent-runfunction.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \example qtconcurrent/runfunction
+ \example runfunction
\title Run Function Example
\brief Demonstrates how to run standard functions concurrently.
\ingroup qtconcurrentexamples
diff --git a/examples/qtconcurrent/wordcount/doc/src/qtconcurrent-wordcount.qdoc b/examples/qtconcurrent/wordcount/doc/src/qtconcurrent-wordcount.qdoc
index d5b6b93cb5..b45524ca7c 100644
--- a/examples/qtconcurrent/wordcount/doc/src/qtconcurrent-wordcount.qdoc
+++ b/examples/qtconcurrent/wordcount/doc/src/qtconcurrent-wordcount.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \example qtconcurrent/wordcount
+ \example wordcount
\title QtConcurrent Word Count Example
\brief Demonstrates how to use the map-reduce algorithm
\ingroup qtconcurrentexamples
diff --git a/examples/qtestlib/qtestlib.pro b/examples/qtestlib/qtestlib.pro
index 383e5aa9e3..4a7663a088 100644
--- a/examples/qtestlib/qtestlib.pro
+++ b/examples/qtestlib/qtestlib.pro
@@ -1,2 +1,4 @@
+requires(contains(QT_BUILD_PARTS,tools):qtHaveModule(widgets))
+
TEMPLATE = subdirs
SUBDIRS = tutorial1 tutorial2 tutorial3 tutorial4 tutorial5
diff --git a/examples/sql/sql.pro b/examples/sql/sql.pro
index 95bf6404db..eeed18379e 100644
--- a/examples/sql/sql.pro
+++ b/examples/sql/sql.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = subdirs
SUBDIRS = books \
@@ -19,4 +21,3 @@ SUBDIRS = books \
}
EXAMPLE_FILES = connection.h
-
diff --git a/examples/tools/tools.pro b/examples/tools/tools.pro
index 10b487d6ae..36fa776980 100644
--- a/examples/tools/tools.pro
+++ b/examples/tools/tools.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = contiguouscache \
diff --git a/examples/touch/touch.pro b/examples/touch/touch.pro
index d5983eb581..018ec134eb 100644
--- a/examples/touch/touch.pro
+++ b/examples/touch/touch.pro
@@ -1,2 +1,4 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = subdirs
SUBDIRS = pinchzoom fingerpaint knobs dials
diff --git a/examples/widgets/doc/src/codeeditor.qdoc b/examples/widgets/doc/src/codeeditor.qdoc
index 91abe1339c..2848908233 100644
--- a/examples/widgets/doc/src/codeeditor.qdoc
+++ b/examples/widgets/doc/src/codeeditor.qdoc
@@ -192,6 +192,6 @@
fetched with QTextBlock::userData(). Matching parentheses can be
highlighted with an extra selection. The "Matching Parentheses
with QSyntaxHighlighter" article in Qt Quarterly 31 implements
- this. You find it here: \l{http://doc.qt.nokia.com/qq/}.
+ this. You find it here: \l{http://doc.qt.digia.com/qq/}.
*/
diff --git a/examples/widgets/doc/src/syntaxhighlighter.qdoc b/examples/widgets/doc/src/syntaxhighlighter.qdoc
index 75b883a6f5..3ebfcad380 100644
--- a/examples/widgets/doc/src/syntaxhighlighter.qdoc
+++ b/examples/widgets/doc/src/syntaxhighlighter.qdoc
@@ -248,7 +248,7 @@
It is possible to implement parenthesis matching with
QSyntaxHighlighter. The "Matching Parentheses with
QSyntaxHighlighter" article in Qt Quarterly 31
- (\l{http://doc.qt.nokia.com/qq/}) implements this. We also have
+ (\l{http://doc.qt.digia.com/qq/}) implements this. We also have
the \l{Code Editor Example}, which shows how to implement line
numbers and how to highlight the current line.
diff --git a/examples/widgets/painting/painting.pro b/examples/widgets/painting/painting.pro
index 7459dd3e94..a9749a560d 100644
--- a/examples/widgets/painting/painting.pro
+++ b/examples/widgets/painting/painting.pro
@@ -1,28 +1,15 @@
TEMPLATE = subdirs
SUBDIRS = basicdrawing \
concentriccircles \
- examples_affine \
- examples_composition \
- examples_deform \
- examples_gradients \
- examples_pathstroke \
- painting_shared \
+ affine \
+ composition \
+ deform \
+ gradients \
+ pathstroke \
imagecomposition \
painterpaths \
transformations \
fontsampler
-examples_affine.subdir = affine
-examples_composition.subdir = composition
-examples_deform.subdir = deform
-examples_gradients.subdir = gradients
-examples_pathstroke.subdir = pathstroke
-painting_shared.subdir = shared
-
-!ordered {
- examples_affine.depends = painting_shared
- examples_deform.depends = painting_shared
- examples_gradients.depends = painting_shared
- examples_composition.depends = painting_shared
- examples_pathstroke.depends = painting_shared
-}
+EXAMPLE_FILES = \
+ shared
diff --git a/examples/widgets/painting/shared/shared.pro b/examples/widgets/painting/shared/shared.pro
deleted file mode 100644
index 2756bf75ca..0000000000
--- a/examples/widgets/painting/shared/shared.pro
+++ /dev/null
@@ -1,26 +0,0 @@
-TEMPLATE = lib
-CONFIG += static
-
-qtHaveModule(opengl) {
- DEFINES += QT_OPENGL_SUPPORT
- QT += opengl
-}
-QT += widgets
-
-build_all:!build_pass {
- CONFIG -= build_all
- CONFIG += release
-}
-TARGET = demo_shared
-
-SOURCES += \
- arthurstyle.cpp\
- arthurwidgets.cpp \
- hoverpoints.cpp
-
-HEADERS += \
- arthurstyle.h \
- arthurwidgets.h \
- hoverpoints.h
-
-RESOURCES += shared.qrc
diff --git a/examples/widgets/tools/codecs/codecs.pro b/examples/widgets/tools/codecs/codecs.pro
index 7b2baa3ec8..985952ed64 100644
--- a/examples/widgets/tools/codecs/codecs.pro
+++ b/examples/widgets/tools/codecs/codecs.pro
@@ -9,7 +9,7 @@ SOURCES += main.cpp \
EXAMPLE_FILES = encodedfiles
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/codecs
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/codecs
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/completer/completer.pro b/examples/widgets/tools/completer/completer.pro
index b47b7a9057..96b4efe497 100644
--- a/examples/widgets/tools/completer/completer.pro
+++ b/examples/widgets/tools/completer/completer.pro
@@ -8,7 +8,7 @@ SOURCES = fsmodel.cpp \
RESOURCES = completer.qrc
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/completer
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/completer
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/customcompleter/customcompleter.pro b/examples/widgets/tools/customcompleter/customcompleter.pro
index b8ccc83744..4905c0b7d8 100644
--- a/examples/widgets/tools/customcompleter/customcompleter.pro
+++ b/examples/widgets/tools/customcompleter/customcompleter.pro
@@ -8,7 +8,7 @@ SOURCES = main.cpp \
RESOURCES = customcompleter.qrc
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/customcompleter
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/customcompleter
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/echoplugin/echoplugin.pro b/examples/widgets/tools/echoplugin/echoplugin.pro
index 986ba9c9c3..d95eb6b64a 100644
--- a/examples/widgets/tools/echoplugin/echoplugin.pro
+++ b/examples/widgets/tools/echoplugin/echoplugin.pro
@@ -5,5 +5,5 @@ SUBDIRS = echowindow \
#! [0]
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/echoplugin
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/echoplugin
INSTALLS += target
diff --git a/examples/widgets/tools/echoplugin/echowindow/echowindow.pro b/examples/widgets/tools/echoplugin/echowindow/echowindow.pro
index c8dc000678..2d14e5ba03 100644
--- a/examples/widgets/tools/echoplugin/echowindow/echowindow.pro
+++ b/examples/widgets/tools/echoplugin/echowindow/echowindow.pro
@@ -15,7 +15,7 @@ win32 {
}
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/echoplugin
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/echoplugin
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/echoplugin/plugin/plugin.pro b/examples/widgets/tools/echoplugin/plugin/plugin.pro
index 235358d52c..4afe56c024 100644
--- a/examples/widgets/tools/echoplugin/plugin/plugin.pro
+++ b/examples/widgets/tools/echoplugin/plugin/plugin.pro
@@ -12,5 +12,5 @@ DESTDIR = ../plugins
EXAMPLE_FILES = echoplugin.json
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/echoplugin/plugin
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/echoplugin/plugin
INSTALLS += target
diff --git a/examples/widgets/tools/i18n/i18n.pro b/examples/widgets/tools/i18n/i18n.pro
index 8095e44b3c..38d2bd978f 100644
--- a/examples/widgets/tools/i18n/i18n.pro
+++ b/examples/widgets/tools/i18n/i18n.pro
@@ -22,7 +22,7 @@ TRANSLATIONS += translations/i18n_ar.ts \
translations/i18n_zh.ts
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/i18n
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/i18n
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/plugandpaint/plugandpaint.pro b/examples/widgets/tools/plugandpaint/plugandpaint.pro
index 0b20f81a1f..965eacf388 100644
--- a/examples/widgets/tools/plugandpaint/plugandpaint.pro
+++ b/examples/widgets/tools/plugandpaint/plugandpaint.pro
@@ -19,5 +19,5 @@ if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
#! [0]
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/plugandpaint
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint
INSTALLS += target
diff --git a/examples/widgets/tools/plugandpaintplugins/basictools/basictools.pro b/examples/widgets/tools/plugandpaintplugins/basictools/basictools.pro
index aac2edce00..670ebb5709 100644
--- a/examples/widgets/tools/plugandpaintplugins/basictools/basictools.pro
+++ b/examples/widgets/tools/plugandpaintplugins/basictools/basictools.pro
@@ -10,5 +10,5 @@ DESTDIR = ../../plugandpaint/plugins
#! [0]
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/plugandpaint/plugins
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins
INSTALLS += target
diff --git a/examples/widgets/tools/plugandpaintplugins/extrafilters/extrafilters.pro b/examples/widgets/tools/plugandpaintplugins/extrafilters/extrafilters.pro
index 3280f119cf..aa0ead87bc 100644
--- a/examples/widgets/tools/plugandpaintplugins/extrafilters/extrafilters.pro
+++ b/examples/widgets/tools/plugandpaintplugins/extrafilters/extrafilters.pro
@@ -10,5 +10,5 @@ DESTDIR = ../../plugandpaint/plugins
#! [0]
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/plugandpaint/plugins
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins
INSTALLS += target
diff --git a/examples/widgets/tools/regexp/regexp.pro b/examples/widgets/tools/regexp/regexp.pro
index 0d2a9a280c..5fb17b50bc 100644
--- a/examples/widgets/tools/regexp/regexp.pro
+++ b/examples/widgets/tools/regexp/regexp.pro
@@ -5,7 +5,7 @@ SOURCES = regexpdialog.cpp \
main.cpp
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/regexp
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/regexp
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/settingseditor/settingseditor.pro b/examples/widgets/tools/settingseditor/settingseditor.pro
index 69b8a04c92..c144a3ee36 100644
--- a/examples/widgets/tools/settingseditor/settingseditor.pro
+++ b/examples/widgets/tools/settingseditor/settingseditor.pro
@@ -13,7 +13,7 @@ SOURCES = locationdialog.cpp \
EXAMPLE_FILES = inifiles
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/settingseditor
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/settingseditor
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/styleplugin/plugin/plugin.pro b/examples/widgets/tools/styleplugin/plugin/plugin.pro
index 605e196bd9..c7e8de6ee2 100644
--- a/examples/widgets/tools/styleplugin/plugin/plugin.pro
+++ b/examples/widgets/tools/styleplugin/plugin/plugin.pro
@@ -18,5 +18,5 @@ win32 {
EXAMPLE_FILES += simplestyle.json
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/styles
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/styleplugin/styles
INSTALLS += target
diff --git a/examples/widgets/tools/styleplugin/styleplugin.pro b/examples/widgets/tools/styleplugin/styleplugin.pro
index d7129e724b..b9f251116d 100644
--- a/examples/widgets/tools/styleplugin/styleplugin.pro
+++ b/examples/widgets/tools/styleplugin/styleplugin.pro
@@ -3,5 +3,5 @@ SUBDIRS = stylewindow \
plugin
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/styleplugin
INSTALLS += target
diff --git a/examples/widgets/tools/styleplugin/stylewindow/stylewindow.pro b/examples/widgets/tools/styleplugin/stylewindow/stylewindow.pro
index 12adce4872..56aa373b0e 100644
--- a/examples/widgets/tools/styleplugin/stylewindow/stylewindow.pro
+++ b/examples/widgets/tools/styleplugin/stylewindow/stylewindow.pro
@@ -13,5 +13,5 @@ win32 {
}
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/styleplugin
INSTALLS += target
diff --git a/examples/widgets/tools/treemodelcompleter/treemodelcompleter.pro b/examples/widgets/tools/treemodelcompleter/treemodelcompleter.pro
index 56e0cee210..6a8f5ef3a1 100644
--- a/examples/widgets/tools/treemodelcompleter/treemodelcompleter.pro
+++ b/examples/widgets/tools/treemodelcompleter/treemodelcompleter.pro
@@ -8,7 +8,7 @@ SOURCES = treemodelcompleter.cpp \
RESOURCES = treemodelcompleter.qrc
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/treemodelcompleter
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/treemodelcompleter
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tools/undo/undo.pro b/examples/widgets/tools/undo/undo.pro
index 5e0f1d7817..3727c8cbde 100644
--- a/examples/widgets/tools/undo/undo.pro
+++ b/examples/widgets/tools/undo/undo.pro
@@ -12,5 +12,5 @@ build_all:!build_pass {
RESOURCES += undo.qrc
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/undo
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/undo
INSTALLS += target
diff --git a/examples/widgets/tools/undoframework/undoframework.pro b/examples/widgets/tools/undoframework/undoframework.pro
index 9cea99f105..d6bf6b8b97 100644
--- a/examples/widgets/tools/undoframework/undoframework.pro
+++ b/examples/widgets/tools/undoframework/undoframework.pro
@@ -12,7 +12,7 @@ SOURCES = commands.cpp \
RESOURCES = undoframework.qrc
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/tools/undoframework
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/undoframework
INSTALLS += target
simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/widgets/tutorials/addressbook-fr/README b/examples/widgets/tutorials/addressbook-fr/README
index d24cedf51e..07897b9683 100644
--- a/examples/widgets/tutorials/addressbook-fr/README
+++ b/examples/widgets/tutorials/addressbook-fr/README
@@ -4,7 +4,7 @@ Qt documentation, which can be viewed using Qt Assistant or a Web browser.
The tutorial is also available online at
-http://qt.nokia.com/doc/4.4/tutorial.html
+http://qt-project.org/doc/qt-5.0/qtwidgets/tutorials-addressbook.html
All programs corresponding to the chapters in the tutorial should
automatically be built when Qt is compiled, or will be provided as
diff --git a/examples/widgets/tutorials/addressbook/README b/examples/widgets/tutorials/addressbook/README
index 39753b4b25..07897b9683 100644
--- a/examples/widgets/tutorials/addressbook/README
+++ b/examples/widgets/tutorials/addressbook/README
@@ -4,7 +4,7 @@ Qt documentation, which can be viewed using Qt Assistant or a Web browser.
The tutorial is also available online at
-http://qt.nokia.com/doc/tutorial.html
+http://qt-project.org/doc/qt-5.0/qtwidgets/tutorials-addressbook.html
All programs corresponding to the chapters in the tutorial should
automatically be built when Qt is compiled, or will be provided as
diff --git a/examples/widgets/widgets.pro b/examples/widgets/widgets.pro
index 87054cff0d..768b602e61 100644
--- a/examples/widgets/widgets.pro
+++ b/examples/widgets/widgets.pro
@@ -1,3 +1,5 @@
+requires(qtHaveModule(widgets))
+
TEMPLATE = subdirs
CONFIG += no_docs_target
diff --git a/examples/widgets/widgets/stylesheet/mainwindow.cpp b/examples/widgets/widgets/stylesheet/mainwindow.cpp
index 40ff1f8dd2..9662833519 100644
--- a/examples/widgets/widgets/stylesheet/mainwindow.cpp
+++ b/examples/widgets/widgets/stylesheet/mainwindow.cpp
@@ -67,7 +67,7 @@ void MainWindow::on_aboutAction_triggered()
{
QMessageBox::about(this, tr("About Style sheet"),
tr("The <b>Style Sheet</b> example shows how widgets can be styled "
- "using <a href=\"http://qt.nokia.com/doc/4.5/stylesheet.html\">Qt "
+ "using <a href=\"http://doc.qt.digia.com/4.5/stylesheet.html\">Qt "
"Style Sheets</a>. Click <b>File|Edit Style Sheet</b> to pop up the "
"style editor, and either choose an existing style sheet or design "
"your own."));
diff --git a/examples/xml/dombookmarks/frank.xbel b/examples/xml/dombookmarks/frank.xbel
index 6bd63b8b07..2fd5c2e09d 100644
--- a/examples/xml/dombookmarks/frank.xbel
+++ b/examples/xml/dombookmarks/frank.xbel
@@ -71,16 +71,16 @@
</folder>
<folder folded="no">
<title>Qt</title>
- <bookmark href="http://qt.nokia.com/doc/2.3/">
+ <bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/3.3/">
+ <bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
diff --git a/examples/xml/dombookmarks/jennifer.xbel b/examples/xml/dombookmarks/jennifer.xbel
index 36256fda0a..74b7f1519f 100644
--- a/examples/xml/dombookmarks/jennifer.xbel
+++ b/examples/xml/dombookmarks/jennifer.xbel
@@ -45,16 +45,16 @@
<title>QtQuestions</title>
</bookmark>
</folder>
- <bookmark href="http://qt.nokia.com/doc/qq/">
+ <bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>Qt home page</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/developer/faqs/">
+ <bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
diff --git a/examples/xml/htmlinfo/simpleexample.html b/examples/xml/htmlinfo/simpleexample.html
index 83a55cf00a..d46a494979 100644
--- a/examples/xml/htmlinfo/simpleexample.html
+++ b/examples/xml/htmlinfo/simpleexample.html
@@ -5,7 +5,7 @@
</head>
<body>
<p>A paragraph.</p>
- <p>A second paragraph. Check out our <a href="http://labs.qt.nokia.com/">developer blogs</a></p>
- <p>And the last paragraph. Or our <a href="http://qt.nokia.com/doc/">online documentation</a>.</p>
+ <p>A second paragraph. Check out our <a href="http://blog.qt.digia.com/">developer blogs</a></p>
+ <p>And the last paragraph. Or our <a href="http://qt-project.org/doc/">online documentation</a>.</p>
</body>
</html>
diff --git a/examples/xml/rsslisting/rsslisting.cpp b/examples/xml/rsslisting/rsslisting.cpp
index 96779b6fd8..2105fe7e10 100644
--- a/examples/xml/rsslisting/rsslisting.cpp
+++ b/examples/xml/rsslisting/rsslisting.cpp
@@ -76,7 +76,7 @@ RSSListing::RSSListing(QWidget *parent)
{
lineEdit = new QLineEdit(this);
- lineEdit->setText("http://labs.qt.nokia.com/blogs/feed");
+ lineEdit->setText("http://blog.qt.digia.com/feed/");
fetchButton = new QPushButton(tr("Fetch"), this);
diff --git a/examples/xml/saxbookmarks/frank.xbel b/examples/xml/saxbookmarks/frank.xbel
index 6bd63b8b07..2fd5c2e09d 100644
--- a/examples/xml/saxbookmarks/frank.xbel
+++ b/examples/xml/saxbookmarks/frank.xbel
@@ -71,16 +71,16 @@
</folder>
<folder folded="no">
<title>Qt</title>
- <bookmark href="http://qt.nokia.com/doc/2.3/">
+ <bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/3.3/">
+ <bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
diff --git a/examples/xml/saxbookmarks/jennifer.xbel b/examples/xml/saxbookmarks/jennifer.xbel
index d6a5b41d05..d37b8224df 100644
--- a/examples/xml/saxbookmarks/jennifer.xbel
+++ b/examples/xml/saxbookmarks/jennifer.xbel
@@ -45,16 +45,16 @@
<title>QtQuestions</title>
</bookmark>
</folder>
- <bookmark href="http://qt.nokia.com/doc/qq/">
+ <bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>qt home page</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/developer/faqs/">
+ <bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
diff --git a/examples/xml/streambookmarks/frank.xbel b/examples/xml/streambookmarks/frank.xbel
index 6bd63b8b07..2fd5c2e09d 100644
--- a/examples/xml/streambookmarks/frank.xbel
+++ b/examples/xml/streambookmarks/frank.xbel
@@ -71,16 +71,16 @@
</folder>
<folder folded="no">
<title>Qt</title>
- <bookmark href="http://qt.nokia.com/doc/2.3/">
+ <bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/3.3/">
+ <bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
diff --git a/examples/xml/streambookmarks/jennifer.xbel b/examples/xml/streambookmarks/jennifer.xbel
index 36256fda0a..74b7f1519f 100644
--- a/examples/xml/streambookmarks/jennifer.xbel
+++ b/examples/xml/streambookmarks/jennifer.xbel
@@ -45,16 +45,16 @@
<title>QtQuestions</title>
</bookmark>
</folder>
- <bookmark href="http://qt.nokia.com/doc/qq/">
+ <bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/">
+ <bookmark href="http://qt-project.org/">
<title>Qt home page</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/doc/4.0/">
+ <bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
- <bookmark href="http://qt.nokia.com/developer/faqs/">
+ <bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index e7d0b386b1..db5f6787b3 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -25,7 +25,7 @@ qml1_target: \
else: \
instbase = $$[QT_INSTALL_QML]
-exists($$[QT_HOST_PREFIX]/.qmake.cache) {
+!prefix_build {
# These bizarre rules copy the files to the qtbase build directory
defineReplace(qmlModStripSrcDir) {
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index 48d6001aa9..4f5b62e1e5 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -20,7 +20,10 @@
debug(1, "Not loading qmodule.pri twice")
}
-!build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):!exists($$[QT_HOST_DATA]/.qmake.cache) {
+!exists($$[QT_HOST_DATA]/.qmake.cache): \
+ CONFIG += prefix_build
+
+!build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):prefix_build {
# When doing a -prefix build of top-level qt5/qt.pro, we need to announce
# this repo's module pris' location to the other repos.
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$shadowed($$dirname(_QMAKE_CONF_))
diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
index 123c87de3b..03b43e3153 100644
--- a/mkspecs/features/qt_build_paths.prf
+++ b/mkspecs/features/qt_build_paths.prf
@@ -16,8 +16,8 @@ isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
-QTDIR = $$[QT_HOST_PREFIX]
-exists($$QTDIR/.qmake.cache) {
+!prefix_build {
+ QTDIR = $$[QT_HOST_PREFIX]
# Permit modules to enforce being built outside QTDIR ...
!force_independent: MODULE_BASE_OUTDIR = $$QTDIR
# ... though this sort of breaks the idea.
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 5417469909..ccb19fcbd4 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -9,6 +9,22 @@
# We mean it.
#
+defineTest(addInstallFiles) {
+ for(sf, 2) {
+ sf = $$relative_path($$sf, $$_PRO_FILE_PWD_)
+ contains(sf, \\..*) {
+ check_examples: message("Notice: $$_PRO_FILE_ refers to $$sf")
+ } else {
+ sfp = $$replace(sf, /.*, )
+ !equals(sfp, $$sf): \
+ $$1 *= $$sfp
+ else: \
+ $$1 += $$sf
+ }
+ }
+ export($$1)
+}
+
probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
!isEmpty(probase):!contains(probase, ^\\..*) {
for(ex, EXAMPLE_FILES): \
@@ -42,34 +58,26 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
# Just for Qt Creator
OTHER_FILES += $$sourcefiles
- for(inst, INSTALLS): \
- !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \
- for(file, $${inst}.files): \
- sourcefiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_))
sourcefiles += \
$$_PRO_FILE_ $$RC_FILE $$DEF_FILE \
$$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
$$DBUS_ADAPTORS $$DBUS_INTERFACES
- for(sf, sourcefiles) {
- sf = $$relative_path($$sf, $$_PRO_FILE_PWD_)
- contains(sf, \\..*) {
- check_examples: message("Notice: $$_PRO_FILE_ refers to $$sf")
- } else {
- sfp = $$replace(sf, /.*, )
- !equals(sfp, $$sf): \
- sources.files *= $$sfp
- else: \
- sources.files += $$sf
- }
- }
+ addInstallFiles(sources.files, $$sourcefiles)
sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
INSTALLS += sources
check_examples {
+ srcfiles = $$sources.files
+ for(inst, INSTALLS): \
+ !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \
+ for(file, $${inst}.files): \
+ instfiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_))
+ addInstallFiles(srcfiles, $$instfiles)
+
thefiles = $$files($$_PRO_FILE_PWD_/*)
for(i, thefiles): \
allfiles += $$relative_path($$i, $$_PRO_FILE_PWD_)
- for(i, sources.files): \
+ for(i, srcfiles): \
allfiles -= $$relative_path($$i, $$_PRO_FILE_PWD_)
for(i, SUBDIRS) {
sd = $$eval($${i}.file)
@@ -84,4 +92,12 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
allfiles -= doc
!isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
}
+
+ # Do not actually build the examples in production builds
+ !equals(TEMPLATE, subdirs):!contains(QT_CONFIG, private_tests) {
+ TEMPLATE = aux
+ CONFIG -= have_target qt staticlib dll
+ SOURCES =
+ INSTALLS -= target
+ }
}
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 8d436e63c5..8dce2634ca 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -45,65 +45,7 @@ else: \
MODULE_DEFINE = QT_$${ucmodule}_LIB
MODULE_DEFINES = $$MODULE_DEFINE $$MODULE_DEFINES
-load(qt_build_paths)
-MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
-
-!build_pass {
-
- # Create a module .pri file
- unix:!static: \
- module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]"
- else: \
- module_rpath =
- !isEmpty(QT_FOR_PRIVATE) {
- contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.")
- module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE"
- } else {
- module_privdep =
- }
- static: \
- module_build_type = "QT.$${MODULE}.module_config = staticlib"
- else:mac:contains(QT_CONFIG, qt_framework): \
- module_build_type = "QT.$${MODULE}.module_config = lib_bundle"
- else: \
- module_build_type =
- !isEmpty(MODULE_CONFIG): \
- module_config = "QT.$${MODULE}.CONFIG = $$MODULE_CONFIG"
- else: \
- module_config =
- !no_module_headers {
- MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME"
- MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
- \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME"
- }
- MODULE_PRI_CONT = \
- "QT.$${MODULE}.VERSION = $${VERSION}" \
- "QT.$${MODULE}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \
- "QT.$${MODULE}.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \
- "QT.$${MODULE}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \
- "" \
- "QT.$${MODULE}.name = $$TARGET" \
- "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \
- "QT.$${MODULE}.includes = $$MODULE_INCLUDES" \
- "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" \
- "QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \
- "QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \
- $$module_rpath \
- "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
- "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \
- "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" \
- "QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
- $$module_privdep \
- $$module_build_type \
- $$module_config \
- "QT.$${MODULE}.DEFINES = $$MODULE_DEFINES" \ # assume sufficient quoting
- "" \
- "QT_CONFIG += $$MODULE" # this is obsolete, but some code still depends on it
- write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
-
-} # !build_pass
-
-load(qt_module_fwdpri)
+load(qt_module_pris)
INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}.private_includes)
@@ -112,7 +54,7 @@ INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}.private_inclu
#other
TEMPLATE = lib
DESTDIR = $$eval(QT.$${MODULE}.libs)
-win32:!wince*:exists($$[QT_INSTALL_PREFIX]/.qmake.cache): DLLDESTDIR = $$eval(QT.$${MODULE}.bins)
+win32:!wince*:!prefix_build: DLLDESTDIR = $$eval(QT.$${MODULE}.bins)
CONFIG += qmake_cache target_qt
@@ -206,7 +148,9 @@ unix {
}
unix|win32-g++* {
- for(i, QT):QMAKE_PKGCONFIG_REQUIRES += $$eval(QT.$${i}.name)
+ QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, Qt$$section(VERSION, ., 0, 0))
+ for(i, MODULE_DEPENDS): \
+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
}
diff --git a/mkspecs/features/qt_module_fwdpri.prf b/mkspecs/features/qt_module_fwdpri.prf
deleted file mode 100644
index 58b016803e..0000000000
--- a/mkspecs/features/qt_module_fwdpri.prf
+++ /dev/null
@@ -1,92 +0,0 @@
-#
-# W A R N I N G
-# -------------
-#
-# This file is not part of the Qt API. It exists purely as an
-# implementation detail. It may change from version to version
-# without notice, or even be removed.
-#
-# We mean it.
-#
-
-!build_pass {
-
- load(qt_build_paths)
-
- MODULE_FWD_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_lib_$${MODULE}.pri
-
- # -rpath-link is used by the linker to find depedencies of dynamic
- # libraries which were NOT specified on the command line.
- # This means that .libs of each module's regular .depends (QT) don't
- # need to be put there, as they appear on the linker line anyway.
- # A module's QT_PRIVATE's .libs OTOH need to be put there.
- # .depends_private (QT_FOR_PRIVATE) is somewhat special: if the privates
- # are used, the libraries are explicitly linked. If not, their locations
- # need to be put into -rpath-link. As QT_FOR_PRIVATE cannot in turn
- # contain privates, they always end up in -rpath-link of dependant
- # modules.
- # For simplicity of use, each module's rpath list has all dependencies
- # transitively resolved already.
- pubqt = $$MODULE_DEPENDS $$QT_FOR_PRIVATE
- pubdep = $$resolve_depends(pubqt, "QT.")
- privqt = $$replace(QT_PRIVATE, -private$, )
- privdep = $$resolve_depends(privqt, "QT.")
- rpaths =
- alldep = $$pubdep $$privdep
- for(dep, alldep) { # Inherit link-rpaths from all our dependencies
- rpaths += $$eval(QT.$${dep}.rpath_link) $$eval(QT.$${dep}.rpath_link_private)
- }
- privdep -= $$pubdep
- for(dep, privdep): \ # Add our private dependencies' lib paths as new link-rpaths
- rpaths += $$eval(QT.$${dep}.libs)
- !isEmpty(rpaths) {
- rpaths = $$unique(rpaths)
- module_rpathlink = "QT.$${MODULE}.rpath_link = $$val_escape(rpaths)"
- } else {
- module_rpathlink =
- }
- rpaths_priv =
- xtradep = $$resolve_depends(QT_FOR_PRIVATE, "QT.")
- for(dep, xtradep): \ # Add our private API's dependencies' lib paths as new link-rpaths
- rpaths_priv += $$eval(QT.$${dep}.libs)
- rpaths_priv = $$unique(rpaths_priv)
- rpaths_priv -= $$rpaths
- !isEmpty(rpaths_priv) {
- module_rpathlink_priv = "QT.$${MODULE}.rpath_link_private = $$val_escape(rpaths_priv)"
- } else {
- module_rpathlink_priv =
- }
-
- # Create a forwarding module .pri file
- MODULE_FWD_PRI_CONT = \
- "QT_MODULE_BIN_BASE = $$MODULE_BASE_OUTDIR/bin" \
- "QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_OUTDIR/include" \
- "QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \
- "QT_MODULE_QML_BASE = $$MODULE_BASE_OUTDIR/qml" \
- "QT_MODULE_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
- "QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
- "QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
- $$module_rpathlink \
- $$module_rpathlink_priv \
- "include($$MODULE_PRI)"
- write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
- touch($$MODULE_FWD_PRI, $$MODULE_PRI)
-
- # Then, inject the new module into the current cache state
- !contains(QMAKE_INTERNAL_INCLUDED_FILES, $$MODULE_PRI) { # before the actual include()!
- added = $$MODULE_PRI $$MODULE_FWD_PRI
- cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
- unset(added)
- }
- include($$MODULE_FWD_PRI)
- for(var, $$list(VERSION MAJOR_VERSION MINOR_VERSION PATCH_VERSION \
- name depends private_depends module_config CONFIG DEFINES sources \
- includes private_includes bins libs libexecs plugins imports qml \
- rpath_link rpath_link_private \
- )):defined(QT.$${MODULE}.$$var, var):cache(QT.$${MODULE}.$$var, transient)
- cache(QT_CONFIG, transient)
-
-} # !build_pass
-
-# Schedule the regular .pri file for installation
-CONFIG += qt_install_module
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
new file mode 100644
index 0000000000..7b5ccc0983
--- /dev/null
+++ b/mkspecs/features/qt_module_pris.prf
@@ -0,0 +1,160 @@
+#
+# W A R N I N G
+# -------------
+#
+# This file is not part of the Qt API. It exists purely as an
+# implementation detail. It may change from version to version
+# without notice, or even be removed.
+#
+# We mean it.
+#
+
+load(qt_build_paths)
+MODULE_FWD_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_lib_$${MODULE}.pri
+prefix_build: \
+ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
+else: \
+ MODULE_PRI = $$MODULE_FWD_PRI
+
+!build_pass {
+
+ # Create a module .pri file
+ unix:!static: \
+ module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]"
+ else: \
+ module_rpath =
+ !isEmpty(QT_FOR_PRIVATE) {
+ contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.")
+ module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE"
+ } else {
+ module_privdep =
+ }
+ static: \
+ module_build_type = "QT.$${MODULE}.module_config = staticlib"
+ else:mac:contains(QT_CONFIG, qt_framework): \
+ module_build_type = "QT.$${MODULE}.module_config = lib_bundle"
+ else: \
+ module_build_type =
+ !isEmpty(MODULE_CONFIG): \
+ module_config = "QT.$${MODULE}.CONFIG = $$MODULE_CONFIG"
+ else: \
+ module_config =
+ !no_module_headers {
+ MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME"
+ MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
+ \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME"
+ }
+ MODULE_PRI_CONT = \
+ "QT.$${MODULE}.VERSION = $${VERSION}" \
+ "QT.$${MODULE}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \
+ "QT.$${MODULE}.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \
+ "QT.$${MODULE}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \
+ "" \
+ "QT.$${MODULE}.name = $$TARGET" \
+ "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \
+ "QT.$${MODULE}.includes = $$MODULE_INCLUDES" \
+ "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" \
+ "QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \
+ "QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \
+ $$module_rpath \
+ "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
+ "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \
+ "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" \
+ "QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
+ $$module_privdep \
+ $$module_build_type \
+ $$module_config \
+ "QT.$${MODULE}.DEFINES = $$MODULE_DEFINES" \ # assume sufficient quoting
+ "" \
+ "QT_CONFIG += $$MODULE" # this is obsolete, but some code still depends on it
+ write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
+ MODULE_PRI_FILES = $$MODULE_PRI
+
+ prefix_build {
+
+ # -rpath-link is used by the linker to find depedencies of dynamic
+ # libraries which were NOT specified on the command line.
+ # This means that .libs of each module's regular .depends (QT) don't
+ # need to be put there, as they appear on the linker line anyway.
+ # A module's QT_PRIVATE's .libs OTOH need to be put there.
+ # .depends_private (QT_FOR_PRIVATE) is somewhat special: if the privates
+ # are used, the libraries are explicitly linked. If not, their locations
+ # need to be put into -rpath-link. As QT_FOR_PRIVATE cannot in turn
+ # contain privates, they always end up in -rpath-link of dependant
+ # modules.
+ # For simplicity of use, each module's rpath list has all dependencies
+ # transitively resolved already.
+ pubqt = $$MODULE_DEPENDS $$QT_FOR_PRIVATE
+ pubdep = $$resolve_depends(pubqt, "QT.")
+ privqt = $$replace(QT_PRIVATE, -private$, )
+ privdep = $$resolve_depends(privqt, "QT.")
+ rpaths =
+ alldep = $$pubdep $$privdep
+ for(dep, alldep) { # Inherit link-rpaths from all our dependencies
+ rpaths += $$eval(QT.$${dep}.rpath_link) $$eval(QT.$${dep}.rpath_link_private)
+ }
+ privdep -= $$pubdep
+ for(dep, privdep): \ # Add our private dependencies' lib paths as new link-rpaths
+ rpaths += $$eval(QT.$${dep}.libs)
+ !isEmpty(rpaths) {
+ rpaths = $$unique(rpaths)
+ module_rpathlink = "QT.$${MODULE}.rpath_link = $$val_escape(rpaths)"
+ } else {
+ module_rpathlink =
+ }
+ rpaths_priv =
+ xtradep = $$resolve_depends(QT_FOR_PRIVATE, "QT.")
+ for(dep, xtradep): \ # Add our private API's dependencies' lib paths as new link-rpaths
+ rpaths_priv += $$eval(QT.$${dep}.libs)
+ rpaths_priv = $$unique(rpaths_priv)
+ rpaths_priv -= $$rpaths
+ !isEmpty(rpaths_priv) {
+ module_rpathlink_priv = "QT.$${MODULE}.rpath_link_private = $$val_escape(rpaths_priv)"
+ } else {
+ module_rpathlink_priv =
+ }
+
+ # Create a forwarding module .pri file
+ MODULE_FWD_PRI_CONT = \
+ "QT_MODULE_BIN_BASE = $$MODULE_BASE_OUTDIR/bin" \
+ "QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_OUTDIR/include" \
+ "QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \
+ "QT_MODULE_QML_BASE = $$MODULE_BASE_OUTDIR/qml" \
+ "QT_MODULE_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
+ "QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
+ "QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
+ $$module_rpathlink \
+ $$module_rpathlink_priv \
+ "include($$MODULE_PRI)"
+ write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
+ touch($$MODULE_FWD_PRI, $$MODULE_PRI)
+ MODULE_PRI_FILES += $$MODULE_FWD_PRI
+
+ } else { # prefix_build
+
+ # This is needed for the direct include() below.
+ QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS]
+ QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
+ QT_MODULE_IMPORT_BASE = $$[QT_INSTALL_IMPORTS]
+ QT_MODULE_QML_BASE = $$[QT_INSTALL_QML]
+ QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS]
+ QT_MODULE_LIBEXEC_BASE = $$[QT_INSTALL_LIBEXECS]
+ QT_MODULE_PLUGIN_BASE = $$[QT_INSTALL_PLUGINS]
+
+ }
+
+ # Then, inject the new module into the current cache state
+ !contains(QMAKE_INTERNAL_INCLUDED_FILES, $$MODULE_PRI): \ # before the actual include()!
+ cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, MODULE_PRI_FILES)
+ include($$MODULE_FWD_PRI)
+ for(var, $$list(VERSION MAJOR_VERSION MINOR_VERSION PATCH_VERSION \
+ name depends private_depends module_config CONFIG DEFINES sources \
+ includes private_includes bins libs libexecs plugins imports qml \
+ rpath_link rpath_link_private \
+ )):defined(QT.$${MODULE}.$$var, var):cache(QT.$${MODULE}.$$var, transient)
+ cache(QT_CONFIG, transient)
+
+} # !build_pass
+
+# Schedule the regular .pri file for installation
+CONFIG += qt_install_module
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 16db6c7972..b449e4074d 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -31,7 +31,7 @@ load(qt_targets)
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
-!build_pass:!exists($$[QT_INSTALL_PREFIX]/.qmake.cache) {
+!build_pass:prefix_build {
isEmpty(MODULE):MODULE = $$TARGET
diff --git a/src/angle/src/config.pri b/src/angle/src/config.pri
index 6ba2cbdf7a..4e52358205 100644
--- a/src/angle/src/config.pri
+++ b/src/angle/src/config.pri
@@ -15,7 +15,8 @@ isEmpty(ANGLE_DIR) {
win32 {
GNUTOOLS_DIR=$$PWD/../../../../gnuwin32/bin
exists($$GNUTOOLS_DIR/gperf.exe) {
- GNUTOOLS = "(set $$escape_expand(\\\")PATH=$$replace(GNUTOOLS_DIR, [/\\\\], $${QMAKE_DIR_SEP});%PATH%$$escape_expand(\\\"))"
+ # Escape closing parens when expanding the variable, otherwise cmd confuses itself.
+ GNUTOOLS = "(set PATH=$$replace(GNUTOOLS_DIR, [/\\\\], $${QMAKE_DIR_SEP});%PATH:)=^)%)"
}
}
diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
index cb87530f54..dc239ccf6f 100644
--- a/src/corelib/doc/qtcore.qdocconf
+++ b/src/corelib/doc/qtcore.qdocconf
@@ -36,7 +36,6 @@ exampledirs += \
../ \
snippets \
../../../examples/threads/ \
- ../../../examples/tools/ \
- ../../../examples/widgets/
+ ../../../examples/tools/
imagedirs += images
diff --git a/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp b/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp
index 2b58802426..ddb84bcc74 100644
--- a/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp
@@ -535,7 +535,7 @@ CApaApplication *myApplicationFactory();
//! [49]
-void myMessageHandler(QtMsgType, const QMessageLogContext &, const char *);
+void myMessageHandler(QtMsgType, const QMessageLogContext &, const QString &);
//! [49]
//! [50]
diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
index ad2e502be8..532a0e1f59 100644
--- a/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
@@ -45,7 +45,7 @@ QUrl url("http://www.example.com/List of holidays.xml");
//! [1]
-QUrl url = QUrl::fromEncoded("http://qt.nokia.com/List%20of%20holidays.xml");
+QUrl url = QUrl::fromEncoded("http://qt-project.org/List%20of%20holidays.xml");
//! [1]
@@ -73,10 +73,10 @@ http://www.example.com/cgi-bin/drawgraph.cgi?type(pie)color(green)
//! [5]
-QUrl baseUrl("http://qt.nokia.com/support");
-QUrl relativeUrl("../products/solutions");
+QUrl baseUrl("http://qt.digia.com/Support/");
+QUrl relativeUrl("../Product/Library/");
qDebug(baseUrl.resolved(relativeUrl).toString());
-// prints "http://qt.nokia.com/products/solutions"
+// prints "http://qt.digia.com/Product/Library/"
//! [5]
diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qbytearray.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qbytearray.cpp
index 9f52fcff98..7e221cfaab 100644
--- a/src/corelib/doc/snippets/code/src_corelib_tools_qbytearray.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_tools_qbytearray.cpp
@@ -258,7 +258,7 @@ if (url.startsWith("ftp:"))
//! [26]
-QByteArray url("http://qt.nokia.com/index.html");
+QByteArray url("http://qt-project.org/doc/qt-5.0/qtdoc/index.html");
if (url.endsWith(".html"))
...
//! [26]
@@ -286,16 +286,16 @@ QByteArray z = x.mid(5); // z == "pineapples"
//! [30]
-QByteArray x("Qt by NOKIA");
+QByteArray x("Qt by DIGIA");
QByteArray y = x.toLower();
-// y == "qt by nokia"
+// y == "qt by digia"
//! [30]
//! [31]
-QByteArray x("Qt by NOKIA");
+QByteArray x("Qt by DIGIA");
QByteArray y = x.toUpper();
-// y == "QT BY NOKIA"
+// y == "QT BY DIGIA"
//! [31]
diff --git a/src/corelib/doc/snippets/qxmlstreamwriter/main.cpp b/src/corelib/doc/snippets/qxmlstreamwriter/main.cpp
index 134c3b55ff..046790e8ae 100644
--- a/src/corelib/doc/snippets/qxmlstreamwriter/main.cpp
+++ b/src/corelib/doc/snippets/qxmlstreamwriter/main.cpp
@@ -61,8 +61,8 @@ int main(int argc, char *argv[])
stream.writeAttribute("folded", "no");
//! [write element]
stream.writeStartElement("bookmark");
- stream.writeAttribute("href", "http://qt.nokia.com/");
- stream.writeTextElement("title", "Qt Home");
+ stream.writeAttribute("href", "http://qt-project.org/");
+ stream.writeTextElement("title", "Qt Project");
stream.writeEndElement(); // bookmark
//! [write element]
stream.writeEndElement(); // folder
diff --git a/src/corelib/doc/snippets/resource-system/application.pro b/src/corelib/doc/snippets/resource-system/application.pro
new file mode 100644
index 0000000000..652cc73485
--- /dev/null
+++ b/src/corelib/doc/snippets/resource-system/application.pro
@@ -0,0 +1,14 @@
+QT += widgets
+
+HEADERS = mainwindow.h
+SOURCES = main.cpp \
+ mainwindow.cpp
+#! [0]
+RESOURCES = application.qrc
+#! [0]
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/mainwindows/application
+INSTALLS += target
+
+simulator: warning(This example might not fully work on Simulator platform)
diff --git a/src/corelib/doc/snippets/resource-system/application.qrc b/src/corelib/doc/snippets/resource-system/application.qrc
new file mode 100644
index 0000000000..0a776fab4d
--- /dev/null
+++ b/src/corelib/doc/snippets/resource-system/application.qrc
@@ -0,0 +1,10 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>images/copy.png</file>
+ <file>images/cut.png</file>
+ <file>images/new.png</file>
+ <file>images/open.png</file>
+ <file>images/paste.png</file>
+ <file>images/save.png</file>
+</qresource>
+</RCC>
diff --git a/src/corelib/doc/snippets/resource-system/mainwindow.cpp b/src/corelib/doc/snippets/resource-system/mainwindow.cpp
new file mode 100644
index 0000000000..8bdd0303de
--- /dev/null
+++ b/src/corelib/doc/snippets/resource-system/mainwindow.cpp
@@ -0,0 +1,392 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the examples 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 Digia Plc 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 <QtWidgets>
+
+#include "mainwindow.h"
+//! [0]
+
+//! [1]
+MainWindow::MainWindow()
+//! [1] //! [2]
+{
+ textEdit = new QPlainTextEdit;
+ setCentralWidget(textEdit);
+
+ createActions();
+ createMenus();
+ createToolBars();
+ createStatusBar();
+
+ readSettings();
+
+ connect(textEdit->document(), SIGNAL(contentsChanged()),
+ this, SLOT(documentWasModified()));
+
+ setCurrentFile("");
+ setUnifiedTitleAndToolBarOnMac(true);
+}
+//! [2]
+
+//! [3]
+void MainWindow::closeEvent(QCloseEvent *event)
+//! [3] //! [4]
+{
+ if (maybeSave()) {
+ writeSettings();
+ event->accept();
+ } else {
+ event->ignore();
+ }
+}
+//! [4]
+
+//! [5]
+void MainWindow::newFile()
+//! [5] //! [6]
+{
+ if (maybeSave()) {
+ textEdit->clear();
+ setCurrentFile("");
+ }
+}
+//! [6]
+
+//! [7]
+void MainWindow::open()
+//! [7] //! [8]
+{
+ if (maybeSave()) {
+ QString fileName = QFileDialog::getOpenFileName(this);
+ if (!fileName.isEmpty())
+ loadFile(fileName);
+ }
+}
+//! [8]
+
+//! [9]
+bool MainWindow::save()
+//! [9] //! [10]
+{
+ if (curFile.isEmpty()) {
+ return saveAs();
+ } else {
+ return saveFile(curFile);
+ }
+}
+//! [10]
+
+//! [11]
+bool MainWindow::saveAs()
+//! [11] //! [12]
+{
+ QString fileName = QFileDialog::getSaveFileName(this);
+ if (fileName.isEmpty())
+ return false;
+
+ return saveFile(fileName);
+}
+//! [12]
+
+//! [13]
+void MainWindow::about()
+//! [13] //! [14]
+{
+ QMessageBox::about(this, tr("About Application"),
+ tr("The <b>Application</b> example demonstrates how to "
+ "write modern GUI applications using Qt, with a menu bar, "
+ "toolbars, and a status bar."));
+}
+//! [14]
+
+//! [15]
+void MainWindow::documentWasModified()
+//! [15] //! [16]
+{
+ setWindowModified(textEdit->document()->isModified());
+}
+//! [16]
+
+//! [17]
+void MainWindow::createActions()
+//! [17] //! [18]
+{
+ newAct = new QAction(QIcon(":/images/new.png"), tr("&New"), this);
+ newAct->setShortcuts(QKeySequence::New);
+ newAct->setStatusTip(tr("Create a new file"));
+ connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
+
+//! [19]
+ openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this);
+ openAct->setShortcuts(QKeySequence::Open);
+ openAct->setStatusTip(tr("Open an existing file"));
+ connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
+//! [18] //! [19]
+
+ saveAct = new QAction(QIcon(":/images/save.png"), tr("&Save"), this);
+ saveAct->setShortcuts(QKeySequence::Save);
+ saveAct->setStatusTip(tr("Save the document to disk"));
+ connect(saveAct, SIGNAL(triggered()), this, SLOT(save()));
+
+ saveAsAct = new QAction(tr("Save &As..."), this);
+ saveAsAct->setShortcuts(QKeySequence::SaveAs);
+ saveAsAct->setStatusTip(tr("Save the document under a new name"));
+ connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs()));
+
+//! [20]
+ exitAct = new QAction(tr("E&xit"), this);
+ exitAct->setShortcuts(QKeySequence::Quit);
+//! [20]
+ exitAct->setStatusTip(tr("Exit the application"));
+ connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));
+
+//! [21]
+ cutAct = new QAction(QIcon(":/images/cut.png"), tr("Cu&t"), this);
+//! [21]
+ cutAct->setShortcuts(QKeySequence::Cut);
+ cutAct->setStatusTip(tr("Cut the current selection's contents to the "
+ "clipboard"));
+ connect(cutAct, SIGNAL(triggered()), textEdit, SLOT(cut()));
+
+ copyAct = new QAction(QIcon(":/images/copy.png"), tr("&Copy"), this);
+ copyAct->setShortcuts(QKeySequence::Copy);
+ copyAct->setStatusTip(tr("Copy the current selection's contents to the "
+ "clipboard"));
+ connect(copyAct, SIGNAL(triggered()), textEdit, SLOT(copy()));
+
+ pasteAct = new QAction(QIcon(":/images/paste.png"), tr("&Paste"), this);
+ pasteAct->setShortcuts(QKeySequence::Paste);
+ pasteAct->setStatusTip(tr("Paste the clipboard's contents into the current "
+ "selection"));
+ connect(pasteAct, SIGNAL(triggered()), textEdit, SLOT(paste()));
+
+ aboutAct = new QAction(tr("&About"), this);
+ aboutAct->setStatusTip(tr("Show the application's About box"));
+ connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
+
+//! [22]
+ aboutQtAct = new QAction(tr("About &Qt"), this);
+ aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
+ connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
+//! [22]
+
+//! [23]
+ cutAct->setEnabled(false);
+//! [23] //! [24]
+ copyAct->setEnabled(false);
+ connect(textEdit, SIGNAL(copyAvailable(bool)),
+ cutAct, SLOT(setEnabled(bool)));
+ connect(textEdit, SIGNAL(copyAvailable(bool)),
+ copyAct, SLOT(setEnabled(bool)));
+}
+//! [24]
+
+//! [25] //! [26]
+void MainWindow::createMenus()
+//! [25] //! [27]
+{
+ fileMenu = menuBar()->addMenu(tr("&File"));
+ fileMenu->addAction(newAct);
+//! [28]
+ fileMenu->addAction(openAct);
+//! [28]
+ fileMenu->addAction(saveAct);
+//! [26]
+ fileMenu->addAction(saveAsAct);
+ fileMenu->addSeparator();
+ fileMenu->addAction(exitAct);
+
+ editMenu = menuBar()->addMenu(tr("&Edit"));
+ editMenu->addAction(cutAct);
+ editMenu->addAction(copyAct);
+ editMenu->addAction(pasteAct);
+
+ menuBar()->addSeparator();
+
+ helpMenu = menuBar()->addMenu(tr("&Help"));
+ helpMenu->addAction(aboutAct);
+ helpMenu->addAction(aboutQtAct);
+}
+//! [27]
+
+//! [29] //! [30]
+void MainWindow::createToolBars()
+{
+ fileToolBar = addToolBar(tr("File"));
+ fileToolBar->addAction(newAct);
+//! [29] //! [31]
+ fileToolBar->addAction(openAct);
+//! [31]
+ fileToolBar->addAction(saveAct);
+
+ editToolBar = addToolBar(tr("Edit"));
+ editToolBar->addAction(cutAct);
+ editToolBar->addAction(copyAct);
+ editToolBar->addAction(pasteAct);
+}
+//! [30]
+
+//! [32]
+void MainWindow::createStatusBar()
+//! [32] //! [33]
+{
+ statusBar()->showMessage(tr("Ready"));
+}
+//! [33]
+
+//! [34] //! [35]
+void MainWindow::readSettings()
+//! [34] //! [36]
+{
+ QSettings settings("QtProject", "Application Example");
+ QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
+ QSize size = settings.value("size", QSize(400, 400)).toSize();
+ resize(size);
+ move(pos);
+}
+//! [35] //! [36]
+
+//! [37] //! [38]
+void MainWindow::writeSettings()
+//! [37] //! [39]
+{
+ QSettings settings("QtProject", "Application Example");
+ settings.setValue("pos", pos());
+ settings.setValue("size", size());
+}
+//! [38] //! [39]
+
+//! [40]
+bool MainWindow::maybeSave()
+//! [40] //! [41]
+{
+ if (textEdit->document()->isModified()) {
+ QMessageBox::StandardButton ret;
+ ret = QMessageBox::warning(this, tr("Application"),
+ tr("The document has been modified.\n"
+ "Do you want to save your changes?"),
+ QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
+ if (ret == QMessageBox::Save)
+ return save();
+ else if (ret == QMessageBox::Cancel)
+ return false;
+ }
+ return true;
+}
+//! [41]
+
+//! [42]
+void MainWindow::loadFile(const QString &fileName)
+//! [42] //! [43]
+{
+ QFile file(fileName);
+ if (!file.open(QFile::ReadOnly | QFile::Text)) {
+ QMessageBox::warning(this, tr("Application"),
+ tr("Cannot read file %1:\n%2.")
+ .arg(fileName)
+ .arg(file.errorString()));
+ return;
+ }
+
+ QTextStream in(&file);
+#ifndef QT_NO_CURSOR
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+#endif
+ textEdit->setPlainText(in.readAll());
+#ifndef QT_NO_CURSOR
+ QApplication::restoreOverrideCursor();
+#endif
+
+ setCurrentFile(fileName);
+ statusBar()->showMessage(tr("File loaded"), 2000);
+}
+//! [43]
+
+//! [44]
+bool MainWindow::saveFile(const QString &fileName)
+//! [44] //! [45]
+{
+ QFile file(fileName);
+ if (!file.open(QFile::WriteOnly | QFile::Text)) {
+ QMessageBox::warning(this, tr("Application"),
+ tr("Cannot write file %1:\n%2.")
+ .arg(fileName)
+ .arg(file.errorString()));
+ return false;
+ }
+
+ QTextStream out(&file);
+#ifndef QT_NO_CURSOR
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+#endif
+ out << textEdit->toPlainText();
+#ifndef QT_NO_CURSOR
+ QApplication::restoreOverrideCursor();
+#endif
+
+ setCurrentFile(fileName);
+ statusBar()->showMessage(tr("File saved"), 2000);
+ return true;
+}
+//! [45]
+
+//! [46]
+void MainWindow::setCurrentFile(const QString &fileName)
+//! [46] //! [47]
+{
+ curFile = fileName;
+ textEdit->document()->setModified(false);
+ setWindowModified(false);
+
+ QString shownName = curFile;
+ if (curFile.isEmpty())
+ shownName = "untitled.txt";
+ setWindowFilePath(shownName);
+}
+//! [47]
+
+//! [48]
+QString MainWindow::strippedName(const QString &fullFileName)
+//! [48] //! [49]
+{
+ return QFileInfo(fullFileName).fileName();
+}
+//! [49]
diff --git a/src/corelib/doc/src/eventsandfilters.qdoc b/src/corelib/doc/src/eventsandfilters.qdoc
index 58da01f835..cd31e36dee 100644
--- a/src/corelib/doc/src/eventsandfilters.qdoc
+++ b/src/corelib/doc/src/eventsandfilters.qdoc
@@ -100,7 +100,7 @@
event delivery mechanisms are flexible. The documentation for
QCoreApplication::notify() concisely tells the whole story; the
\e{Qt Quarterly} article
- \l{http://doc.qt.nokia.com/qq/qq11-events.html}{Another Look at Events}
+ \l{http://doc.qt.digia.com/qq/qq11-events.html}{Another Look at Events}
rehashes it less concisely. Here we will explain enough for 95%
of applications.
diff --git a/src/corelib/doc/src/resource-system.qdoc b/src/corelib/doc/src/resource-system.qdoc
index 4a676c0fdf..5ef6bb285c 100644
--- a/src/corelib/doc/src/resource-system.qdoc
+++ b/src/corelib/doc/src/resource-system.qdoc
@@ -50,7 +50,7 @@
Here's an example \c .qrc file:
- \quotefile mainwindows/application/application.qrc
+ \quotefile resource-system/application.qrc
The resource files listed in the \c .qrc file are files that are
part of the application's source tree. The specified paths are
@@ -122,7 +122,7 @@
mentioned in the application's \c .pro file so that \c qmake knows
about it. For example:
- \snippet mainwindows/application/application.pro 0
+ \snippet resource-system/application.pro 0
\c qmake will produce make rules to generate a file called \c
qrc_application.cpp that is linked into the application. This
@@ -167,7 +167,7 @@
pass a resource path instead of a file name to the QIcon, QImage,
or QPixmap constructor:
- \snippet mainwindows/application/mainwindow.cpp 21
+ \snippet resource-system/mainwindow.cpp 21
See the \l{mainwindows/application}{Application} example for an
actual application that uses Qt's resource system to store its
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index 02342599a2..cb18dde724 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -2492,7 +2492,7 @@
"\l{http://bugreports.qt-project.org/browse/QTWEBSITE-13}{http://bugreports.qt.../QTWEBSITE-13/}"),
whereas Qt::ElideRight is appropriate
for other strings (e.g.,
- "\l{http://qt.nokia.com/doc/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
+ "\l{http://doc.qt.digia.com/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
\sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag, QTabBar::elideMode
*/
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 79981738f2..7ff23d931c 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -3861,7 +3861,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\section1 Examples:
\list
- \li qt.nokia.com becomes http://qt.nokia.com
+ \li qt-project.org becomes http://qt-project.org
\li ftp.qt-project.org becomes ftp://ftp.qt-project.org
\li hostname becomes http://hostname
\li /home/user/test.html becomes file:///home/user/test.html
diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp
index 47d6f33634..4a8330d9f3 100644
--- a/src/gui/image/qpixmapcache.cpp
+++ b/src/gui/image/qpixmapcache.cpp
@@ -83,7 +83,7 @@ QT_BEGIN_NAMESPACE
memory.
The \e{Qt Quarterly} article
- \l{http://qt.nokia.com/doc/qq/qq12-qpixmapcache.html}{Optimizing
+ \l{http://doc.qt.digia.com/qq/qq12-qpixmapcache.html}{Optimizing
with QPixmapCache} explains how to use QPixmapCache to speed up
applications by caching the results of painting.
diff --git a/src/gui/opengl/qopengl.h b/src/gui/opengl/qopengl.h
index ba421bd1c1..9d29e07319 100644
--- a/src/gui/opengl/qopengl.h
+++ b/src/gui/opengl/qopengl.h
@@ -95,6 +95,7 @@ typedef GLfloat GLdouble;
# if defined(Q_OS_WIN)
# include <QtCore/qt_windows.h>
# endif
+# define GL_GLEXT_LEGACY // Prevents GL/gl.h form #including system glext.h
# include <GL/gl.h>
# include <QtGui/qopenglext.h>
# endif // Q_OS_MAC
diff --git a/src/network/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp b/src/network/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
index 327bb8beee..f0506f1f41 100644
--- a/src/network/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
+++ b/src/network/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
@@ -43,13 +43,13 @@ QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
-manager->get(QNetworkRequest(QUrl("http://qt.nokia.com")));
+manager->get(QNetworkRequest(QUrl("http://qt-project.org")));
//! [0]
//! [1]
QNetworkRequest request;
-request.setUrl(QUrl("http://qt.nokia.com"));
+request.setUrl(QUrl("http://qt-project.org"));
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");
QNetworkReply *reply = manager->get(request);
diff --git a/src/network/doc/snippets/code/src_network_access_qnetworkdiskcache.cpp b/src/network/doc/snippets/code/src_network_access_qnetworkdiskcache.cpp
index fd95c6947b..a017d43dce 100644
--- a/src/network/doc/snippets/code/src_network_access_qnetworkdiskcache.cpp
+++ b/src/network/doc/snippets/code/src_network_access_qnetworkdiskcache.cpp
@@ -47,11 +47,11 @@ manager->setCache(diskCache);
//! [1]
// do a normal request (preferred from network, as this is the default)
-QNetworkRequest request(QUrl(QString("http://qt.nokia.com")));
+QNetworkRequest request(QUrl(QString("http://qt-project.org")));
manager->get(request);
// do a request preferred from cache
-QNetworkRequest request2(QUrl(QString("http://qt.nokia.com")));
+QNetworkRequest request2(QUrl(QString("http://qt-project.org")));
request2.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
manager->get(request2);
//! [1]
diff --git a/src/network/doc/snippets/code/src_network_kernel_qhostinfo.cpp b/src/network/doc/snippets/code/src_network_kernel_qhostinfo.cpp
index 67645a6628..dae999676e 100644
--- a/src/network/doc/snippets/code/src_network_kernel_qhostinfo.cpp
+++ b/src/network/doc/snippets/code/src_network_kernel_qhostinfo.cpp
@@ -39,8 +39,8 @@
****************************************************************************/
//! [0]
-// To find the IP address of qt.nokia.com
-QHostInfo::lookupHost("qt.nokia.com",
+// To find the IP address of qt-project.org
+QHostInfo::lookupHost("qt-project.org",
this, SLOT(printResults(QHostInfo)));
// To find the host name for 4.2.2.1
@@ -50,7 +50,7 @@ QHostInfo::lookupHost("4.2.2.1",
//! [1]
-QHostInfo info = QHostInfo::fromName("qt.nokia.com");
+QHostInfo info = QHostInfo::fromName("qt-project.org");
//! [1]
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index b5924822ef..2fc21cb501 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -44,6 +44,7 @@
#ifndef QT_NO_OPENGL
+#include <QtGui/qopengl.h>
#include <QtWidgets/qwidget.h>
#include <QtGui/qpaintengine.h>
#include <QtOpenGL/qglcolormap.h>
@@ -54,33 +55,6 @@
QT_BEGIN_HEADER
-#if defined(Q_OS_WIN)
-# include <QtCore/qt_windows.h>
-#endif
-
-#if defined(Q_OS_MAC)
-# if !defined(Q_OS_IOS)
-# include <OpenGL/gl.h>
-# else
-# if defined(QT_OPENGL_ES_2)
-# include <OpenGLES/ES2/gl.h>
-# endif
-# endif
-#elif defined(QT_OPENGL_ES_2)
-# include <GLES2/gl2.h>
-# else
-# include <GL/gl.h>
-# endif
-
-#if defined(QT_OPENGL_ES_2)
-# ifndef GL_DOUBLE
-# define GL_DOUBLE GL_FLOAT
-# endif
-# ifndef GLdouble
-typedef GLfloat GLdouble;
-# endif
-#endif
-
QT_BEGIN_NAMESPACE
diff --git a/src/printsupport/kernel/kernel.pri b/src/printsupport/kernel/kernel.pri
index 5f14c28616..8bdccd0f5b 100644
--- a/src/printsupport/kernel/kernel.pri
+++ b/src/printsupport/kernel/kernel.pri
@@ -24,7 +24,7 @@ win32 {
$$PWD/qprintengine_win_p.h
SOURCES += \
$$PWD/qprintengine_win.cpp
- LIBS += -lwinspool -lcomdlg32
+ LIBS += -lwinspool -lcomdlg32 -lgdi32 -luser32
}
unix:!mac:contains(QT_CONFIG, cups): {
diff --git a/src/testlib/doc/src/qt-webpages.qdoc b/src/testlib/doc/src/qt-webpages.qdoc
index a320318926..a0af232c03 100644
--- a/src/testlib/doc/src/qt-webpages.qdoc
+++ b/src/testlib/doc/src/qt-webpages.qdoc
@@ -36,7 +36,3 @@
\externalpage http://qt.gitorious.org/qt-labs/qtestlib-tools
\title qtestlib-tools
*/
-/*!
- \externalpage http://qt.nokia.com/services-partners/partners/partner-directory
- \title Partner Directory
-*/
diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp
index 0e64bb0f42..8bc2eb92c1 100644
--- a/src/widgets/dialogs/qwizard.cpp
+++ b/src/widgets/dialogs/qwizard.cpp
@@ -3573,7 +3573,7 @@ bool QWizardPage::validatePage()
from the rest of your implementation, whenever the value of isComplete()
changes. This ensures that QWizard updates the enabled or disabled state of
its buttons. An example of the reimplementation is
- available \l{http://qt.nokia.com/doc/qq/qq22-qwizard.html#validatebeforeitstoolate}
+ available \l{http://doc.qt.digia.com/qq/qq22-qwizard.html#validatebeforeitstoolate}
{here}.
\sa completeChanged(), isFinalPage()
diff --git a/src/widgets/doc/snippets/macmainwindow.mm b/src/widgets/doc/snippets/macmainwindow.mm
new file mode 100755
index 0000000000..af21ee726a
--- /dev/null
+++ b/src/widgets/doc/snippets/macmainwindow.mm
@@ -0,0 +1,347 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "macmainwindow.h"
+#import <Cocoa/Cocoa.h>
+#include <QtGui>
+
+
+#ifdef Q_WS_MAC
+
+#include <Carbon/Carbon.h>
+
+#ifdef QT_MAC_USE_COCOA
+
+//![0]
+SearchWidget::SearchWidget(QWidget *parent)
+ : QMacCocoaViewContainer(0, parent)
+{
+ // Many Cocoa objects create temporary autorelease objects,
+ // so create a pool to catch them.
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ // Create the NSSearchField, set it on the QCocoaViewContainer.
+ NSSearchField *search = [[NSSearchField alloc] init];
+ setCocoaView(search);
+
+ // Use a Qt menu for the search field menu.
+ QMenu *qtMenu = createMenu(this);
+ NSMenu *nsMenu = qtMenu->macMenu(0);
+ [[search cell] setSearchMenuTemplate:nsMenu];
+
+ // Release our reference, since our super class takes ownership and we
+ // don't need it anymore.
+ [search release];
+
+ // Clean up our pool as we no longer need it.
+ [pool release];
+}
+//![0]
+
+SearchWidget::~SearchWidget()
+{
+}
+
+QSize SearchWidget::sizeHint() const
+{
+ return QSize(150, 40);
+}
+
+#else
+
+// The SearchWidget class wraps a native HISearchField.
+SearchWidget::SearchWidget(QWidget *parent)
+ :QWidget(parent)
+{
+
+ // Create a native search field and pass its window id to QWidget::create.
+ searchFieldText = CFStringCreateWithCString(0, "search", 0);
+ HISearchFieldCreate(NULL/*bounds*/, kHISearchFieldAttributesSearchIcon | kHISearchFieldAttributesCancel,
+ NULL/*menu ref*/, searchFieldText, &searchField);
+ create(reinterpret_cast<WId>(searchField));
+
+ // Use a Qt menu for the search field menu.
+ QMenu *searchMenu = createMenu(this);
+ MenuRef menuRef = searchMenu->macMenu(0);
+ HISearchFieldSetSearchMenu(searchField, menuRef);
+ setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+}
+
+SearchWidget::~SearchWidget()
+{
+ CFRelease(searchField);
+ CFRelease(searchFieldText);
+}
+
+// Get the size hint from the search field.
+QSize SearchWidget::sizeHint() const
+{
+ EventRef event;
+ HIRect optimalBounds;
+ CreateEvent(0, kEventClassControl,
+ kEventControlGetOptimalBounds,
+ GetCurrentEventTime(),
+ kEventAttributeUserEvent, &event);
+
+ SendEventToEventTargetWithOptions(event,
+ HIObjectGetEventTarget(HIObjectRef(winId())),
+ kEventTargetDontPropagate);
+
+ GetEventParameter(event,
+ kEventParamControlOptimalBounds, typeHIRect,
+ 0, sizeof(HIRect), 0, &optimalBounds);
+
+ ReleaseEvent(event);
+ return QSize(optimalBounds.size.width + 100, // make it a bit wider.
+ optimalBounds.size.height);
+}
+
+#endif
+
+QMenu *createMenu(QWidget *parent)
+{
+ QMenu *searchMenu = new QMenu(parent);
+
+ QAction * indexAction = searchMenu->addAction("Index Search");
+ indexAction->setCheckable(true);
+ indexAction->setChecked(true);
+
+ QAction * fulltextAction = searchMenu->addAction("Full Text Search");
+ fulltextAction->setCheckable(true);
+
+ QActionGroup *searchActionGroup = new QActionGroup(parent);
+ searchActionGroup->addAction(indexAction);
+ searchActionGroup->addAction(fulltextAction);
+ searchActionGroup->setExclusive(true);
+
+ return searchMenu;
+}
+
+SearchWrapper::SearchWrapper(QWidget *parent)
+:QWidget(parent)
+{
+ s = new SearchWidget(this);
+ s->move(2,2);
+ setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+}
+
+QSize SearchWrapper::sizeHint() const
+{
+ return s->sizeHint() + QSize(6, 2);
+}
+
+Spacer::Spacer(QWidget *parent)
+:QWidget(parent)
+{
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ setSizePolicy(sizePolicy);
+}
+
+QSize Spacer::sizeHint() const
+{
+ return QSize(1, 1);
+}
+
+MacSplitterHandle::MacSplitterHandle(Qt::Orientation orientation, QSplitter *parent)
+: QSplitterHandle(orientation, parent) { }
+
+// Paint the horizontal handle as a gradient, paint
+// the vertical handle as a line.
+void MacSplitterHandle::paintEvent(QPaintEvent *)
+{
+ QPainter painter(this);
+
+ QColor topColor(145, 145, 145);
+ QColor bottomColor(142, 142, 142);
+ QColor gradientStart(252, 252, 252);
+ QColor gradientStop(223, 223, 223);
+
+ if (orientation() == Qt::Vertical) {
+ painter.setPen(topColor);
+ painter.drawLine(0, 0, width(), 0);
+ painter.setPen(bottomColor);
+ painter.drawLine(0, height() - 1, width(), height() - 1);
+
+ QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, height() -3));
+ linearGrad.setColorAt(0, gradientStart);
+ linearGrad.setColorAt(1, gradientStop);
+ painter.fillRect(QRect(QPoint(0,1), size() - QSize(0, 2)), QBrush(linearGrad));
+ } else {
+ painter.setPen(topColor);
+ painter.drawLine(0, 0, 0, height());
+ }
+}
+
+QSize MacSplitterHandle::sizeHint() const
+{
+ QSize parent = QSplitterHandle::sizeHint();
+ if (orientation() == Qt::Vertical) {
+ return parent + QSize(0, 3);
+ } else {
+ return QSize(1, parent.height());
+ }
+}
+
+QSplitterHandle *MacSplitter::createHandle()
+{
+ return new MacSplitterHandle(orientation(), this);
+}
+
+MacMainWindow::MacMainWindow()
+{
+ QSettings settings;
+ restoreGeometry(settings.value("Geometry").toByteArray());
+
+ setWindowTitle("Mac Main Window");
+
+ splitter = new MacSplitter();
+
+ // Set up the left-hand side blue side bar.
+ sidebar = new QTreeView();
+ sidebar->setFrameStyle(QFrame::NoFrame);
+ sidebar->setAttribute(Qt::WA_MacShowFocusRect, false);
+ sidebar->setAutoFillBackground(true);
+
+ // Set the palette.
+ QPalette palette = sidebar->palette();
+ QColor macSidebarColor(231, 237, 246);
+ QColor macSidebarHighlightColor(168, 183, 205);
+ palette.setColor(QPalette::Base, macSidebarColor);
+ palette.setColor(QPalette::Highlight, macSidebarHighlightColor);
+ sidebar->setPalette(palette);
+
+ sidebar->setModel(createItemModel());
+ sidebar->header()->hide();
+ sidebar->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ sidebar->setTextElideMode(Qt::ElideMiddle);
+
+ splitter->addWidget(sidebar);
+
+ horizontalSplitter = new MacSplitter();
+ horizontalSplitter->setOrientation(Qt::Vertical);
+ splitter->addWidget(horizontalSplitter);
+
+ splitter->setStretchFactor(0, 0);
+ splitter->setStretchFactor(1, 1);
+
+ // Set up the top document list view.
+ documents = new QListView();
+ documents->setFrameStyle(QFrame::NoFrame);
+ documents->setAttribute(Qt::WA_MacShowFocusRect, false);
+ documents->setModel(createDocumentModel());
+ documents->setAlternatingRowColors(true);
+ documents->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ horizontalSplitter->addWidget(documents);
+ horizontalSplitter->setStretchFactor(0, 0);
+
+ // Set up the text view.
+ textedit = new QTextEdit();
+ textedit->setFrameStyle(QFrame::NoFrame);
+ textedit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ textedit->setText("<br><br><br><br><br><br><center><b>This demo shows how to create a \
+ Qt main window application that has the same appearance as other \
+ Mac OS X applications such as Mail or iTunes. This includes \
+ customizing the item views and QSplitter and wrapping native widgets \
+ such as the search field.</b></center>");
+
+ horizontalSplitter->addWidget(textedit);
+
+ setCentralWidget(splitter);
+
+ toolBar = addToolBar(tr("Search"));
+ toolBar->addWidget(new Spacer());
+ toolBar->addWidget(new SearchWrapper());
+
+ setUnifiedTitleAndToolBarOnMac(true);
+}
+
+MacMainWindow::~MacMainWindow()
+{
+ QSettings settings;
+ settings.setValue("Geometry", saveGeometry());
+}
+
+QAbstractItemModel *MacMainWindow::createItemModel()
+{
+ QStandardItemModel *model = new QStandardItemModel();
+ QStandardItem *parentItem = model->invisibleRootItem();
+
+ QStandardItem *documentationItem = new QStandardItem("Documentation");
+ parentItem->appendRow(documentationItem);
+
+ QStandardItem *assistantItem = new QStandardItem("Qt MainWindow Manual");
+ documentationItem->appendRow(assistantItem);
+
+ QStandardItem *designerItem = new QStandardItem("Qt Designer Manual");
+ documentationItem->appendRow(designerItem);
+
+ QStandardItem *qtItem = new QStandardItem("Qt Reference Documentation");
+ qtItem->appendRow(new QStandardItem("Classes"));
+ qtItem->appendRow(new QStandardItem("Overviews"));
+ qtItem->appendRow(new QStandardItem("Tutorial & Examples"));
+ documentationItem->appendRow(qtItem);
+
+ QStandardItem *bookmarksItem = new QStandardItem("Bookmarks");
+ parentItem->appendRow(bookmarksItem);
+ bookmarksItem->appendRow(new QStandardItem("QWidget"));
+ bookmarksItem->appendRow(new QStandardItem("QObject"));
+ bookmarksItem->appendRow(new QStandardItem("QWizard"));
+
+ return model;
+}
+
+void MacMainWindow::resizeEvent(QResizeEvent *)
+{
+ if (toolBar)
+ toolBar->updateGeometry();
+}
+
+QAbstractItemModel *MacMainWindow::createDocumentModel()
+{
+ QStandardItemModel *model = new QStandardItemModel();
+ QStandardItem *parentItem = model->invisibleRootItem();
+ parentItem->appendRow(new QStandardItem("QWidget Class Reference"));
+ parentItem->appendRow(new QStandardItem("QObject Class Reference"));
+ parentItem->appendRow(new QStandardItem("QListView Class Reference"));
+
+ return model;
+}
+
+#endif // Q_WS_MAC
diff --git a/src/widgets/doc/src/gestures.qdoc b/src/widgets/doc/src/gestures.qdoc
index cc0bc76ea3..027f893db2 100644
--- a/src/widgets/doc/src/gestures.qdoc
+++ b/src/widgets/doc/src/gestures.qdoc
@@ -68,7 +68,7 @@
required gesture type. The standard types are defined by the Qt::GestureType
enum and include many commonly used gestures.
- \snippet examples/gestures/imagegestures/imagewidget.cpp enable gestures
+ \snippet ../../../examples/gestures/imagegestures/imagewidget.cpp enable gestures
In the above code, the gestures are set up in the constructor of the target object
itself.
@@ -125,18 +125,18 @@
\l{QWidget::}{event()} handler function and delegates gesture events to a
specialized gestureEvent() function:
- \snippet examples/gestures/imagegestures/imagewidget.cpp event handler
+ \snippet ../../../examples/gestures/imagegestures/imagewidget.cpp event handler
The gesture events delivered to the target object can be examined individually
and dealt with appropriately:
- \snippet examples/gestures/imagegestures/imagewidget.cpp gesture event handler
+ \snippet ../../../examples/gestures/imagegestures/imagewidget.cpp gesture event handler
Responding to a gesture is simply a matter of obtaining the QGesture object
delivered in the QGestureEvent sent to the target object and examining the
information it contains.
- \snippet examples/gestures/imagegestures/imagewidget.cpp swipe function
+ \snippet ../../../examples/gestures/imagegestures/imagewidget.cpp swipe function
Here, we examine the direction in which the user swiped the widget and modify
its contents accordingly.
diff --git a/src/widgets/doc/src/modelview.qdoc b/src/widgets/doc/src/modelview.qdoc
index fac0be3b0a..97d1c72e85 100644
--- a/src/widgets/doc/src/modelview.qdoc
+++ b/src/widgets/doc/src/modelview.qdoc
@@ -576,7 +576,7 @@
problem.
Qt Labs provides software called
- \l{http://labs.qt.nokia.com/page/Projects/Itemview/Modeltest}{ModelTest},
+ \l{http://qt-project.org/wiki/Model_Test}{ModelTest},
which checks models while your programming is running. Every time the model
is changed, ModelTest scans the model and reports errors with an assert.
This is especially important for tree models, since their hierarchical
diff --git a/src/widgets/doc/src/widgets-and-layouts/layout.qdoc b/src/widgets/doc/src/widgets-and-layouts/layout.qdoc
index 5d7ed8be1d..b658fc809c 100644
--- a/src/widgets/doc/src/widgets-and-layouts/layout.qdoc
+++ b/src/widgets/doc/src/widgets-and-layouts/layout.qdoc
@@ -249,7 +249,7 @@
For further guidance when implementing these functions, see the
\e{Qt Quarterly} article
- \l{http://doc.qt.nokia.com/qq/qq04-height-for-width.html}
+ \l{http://doc.qt.digia.com/qq/qq04-height-for-width.html}
{Trading Height for Width}.
diff --git a/src/widgets/kernel/qlayoutitem.cpp b/src/widgets/kernel/qlayoutitem.cpp
index 1323d2dceb..31276d015d 100644
--- a/src/widgets/kernel/qlayoutitem.cpp
+++ b/src/widgets/kernel/qlayoutitem.cpp
@@ -109,7 +109,7 @@ QSizePolicy::operator QVariant() const
be expressed using hasHeightForWidth(), heightForWidth(), and
minimumHeightForWidth(). For more explanation see the \e{Qt
Quarterly} article
- \l{http://qt.nokia.com/doc/qq/qq04-height-for-width.html}{Trading
+ \l{http://doc.qt.digia.com/qq/qq04-height-for-width.html}{Trading
Height for Width}.
\sa QLayout
diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
index 0f28854f5c..1eadb62d5c 100644
--- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
+++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
@@ -85,7 +85,7 @@
developer to provide the autorelease pool.
The following is a snippet of subclassing QMacCocoaViewContainer to wrap a NSSearchField.
- \snippet widgets/mainwindows/macmainwindow/macmainwindow.mm 0
+ \snippet macmainwindow.mm 0
*/
diff --git a/src/widgets/widgets/qmacnativewidget_mac.mm b/src/widgets/widgets/qmacnativewidget_mac.mm
index 27ce9317ba..240bd6d92e 100644
--- a/src/widgets/widgets/qmacnativewidget_mac.mm
+++ b/src/widgets/widgets/qmacnativewidget_mac.mm
@@ -72,10 +72,6 @@
\snippet qmacnativewidget/main.mm 0
- On Carbon, this would do the equivalent:
-
- \snippet qmacnativewidget/main.mm 1
-
Note that QMacNativeWidget requires knowledge of Carbon or Cocoa. All it
does is get the Qt hierarchy into a window not owned by Qt. It is then up
to the programmer to ensure it is placed correctly in the window and
diff --git a/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp b/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
index 367bd22bbe..6b7a9bfbce 100644
--- a/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
+++ b/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
@@ -108,7 +108,7 @@ QDomElement element4 = document.createElement("MyElement");
//! [7]
-<link href="http://qt.nokia.com" color="red" />
+<link href="http://qt-project.org" color="red" />
//! [7]
@@ -116,10 +116,10 @@ QDomElement element4 = document.createElement("MyElement");
QDomElement e = //...
//...
QDomAttr a = e.attributeNode("href");
-cout << a.value() << endl; // prints "http://qt.nokia.com"
-a.setValue("http://qt.nokia.com/doc"); // change the node's attribute
+cout << a.value() << endl; // prints "http://qt-project.org"
+a.setValue("http://qt-project.org/doc"); // change the node's attribute
QDomAttr a2 = e.attributeNode("href");
-cout << a2.value() << endl; // prints "http://qt.nokia.com/doc"
+cout << a2.value() << endl; // prints "http://qt-project.org/doc"
//! [8]
diff --git a/src/xml/doc/snippets/rsslisting/rsslisting.cpp b/src/xml/doc/snippets/rsslisting/listing.cpp
index c62212713c..c62212713c 100644
--- a/src/xml/doc/snippets/rsslisting/rsslisting.cpp
+++ b/src/xml/doc/snippets/rsslisting/listing.cpp
diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp
index 18673dd5e6..689c75774e 100644
--- a/src/xml/sax/qxml.cpp
+++ b/src/xml/sax/qxml.cpp
@@ -2365,7 +2365,7 @@ events are reported.
it we can use the same handler for both of the following
reader functions:
- \snippet rsslisting/rsslisting.cpp 0
+ \snippet rsslisting/listing.cpp 0
Since the reader will inform the handler of parsing errors, it is
necessary to reimplement QXmlErrorHandler::fatalError() if, for