summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure18
-rw-r--r--doc/src/index.qdoc6
-rw-r--r--src/3rdparty/libjpeg.pri48
-rw-r--r--src/3rdparty/libmng.pri25
-rw-r--r--src/3rdparty/libpng.pri20
-rw-r--r--src/3rdparty/libtiff.pri43
-rw-r--r--src/3rdparty/zlib.pri14
-rw-r--r--src/3rdparty/zlib_dependency.pri8
-rw-r--r--src/corelib/tools/tools.pri23
-rw-r--r--src/gui/image/image.pri58
-rw-r--r--src/gui/image/qgifhandler.cpp (renamed from src/plugins/imageformats/gif/qgifhandler.cpp)0
-rw-r--r--src/gui/image/qgifhandler.h (renamed from src/plugins/imageformats/gif/qgifhandler.h)0
-rw-r--r--src/gui/image/qgifhandler.pri4
-rw-r--r--src/gui/image/qimagereader.cpp76
-rw-r--r--src/gui/image/qimagewriter.cpp40
-rw-r--r--src/gui/image/qjpeghandler.cpp (renamed from src/plugins/imageformats/jpeg/qjpeghandler.cpp)0
-rw-r--r--src/gui/image/qjpeghandler.h (renamed from src/plugins/imageformats/jpeg/qjpeghandler.h)0
-rw-r--r--src/gui/image/qjpeghandler.pri10
-rw-r--r--src/gui/image/qmnghandler.cpp (renamed from src/plugins/imageformats/mng/qmnghandler.cpp)0
-rw-r--r--src/gui/image/qmnghandler.h (renamed from src/plugins/imageformats/mng/qmnghandler.h)0
-rw-r--r--src/gui/image/qmnghandler.pri10
-rw-r--r--src/gui/image/qpnghandler.pri10
-rw-r--r--src/gui/image/qtiffhandler.cpp (renamed from src/plugins/imageformats/tiff/qtiffhandler.cpp)0
-rw-r--r--src/gui/image/qtiffhandler.h (renamed from src/plugins/imageformats/tiff/qtiffhandler.h)0
-rw-r--r--src/gui/image/qtiffhandler.pri10
-rw-r--r--src/gui/painting/painting.pri9
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp25
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp4
-rw-r--r--src/network/access/access.pri121
-rw-r--r--src/plugins/imageformats/gif/gif.pro5
-rw-r--r--src/plugins/imageformats/imageformats.pro8
-rw-r--r--src/plugins/imageformats/jpeg/jpeg.pro60
-rw-r--r--src/plugins/imageformats/mng/mng.pro43
-rw-r--r--src/plugins/imageformats/tiff/tiff.pro73
-rw-r--r--src/svg/svg.pro9
-rw-r--r--src/tools/bootstrap/bootstrap.pro21
-rw-r--r--src/winmain/winmain.pro1
-rw-r--r--tools/configure/configureapp.cpp69
-rw-r--r--tools/qdoc3/doc/qdoc-manual.qdoc21
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp124
-rw-r--r--tools/qdoc3/helpprojectwriter.h1
41 files changed, 561 insertions, 456 deletions
diff --git a/configure b/configure
index 01040e3..166f201 100755
--- a/configure
+++ b/configure
@@ -1526,8 +1526,8 @@ while [ "$#" -gt 0 ]; do
fi
;;
gif)
- [ "$VAL" = "qt" ] && VAL=yes
- if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ [ "$VAL" = "qt" ] && VAL=auto
+ if [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
CFG_GIF="$VAL"
else
UNKNOWN_OPT=yes
@@ -3634,26 +3634,26 @@ Third Party Libraries:
+ -system-zlib ....... Use zlib from the operating system.
See http://www.gzip.org/zlib
- -no-gif ............ Do not compile the plugin for GIF reading support.
- * -qt-gif ............ Compile the plugin for GIF reading support.
- See also src/plugins/imageformats/gif/qgifhandler.h
+ -no-gif ............ Do not compile GIF reading support.
+ * -qt-gif ............ Compile GIF reading support.
+ See also src/gui/image/qgifhandler.h
- -no-libtiff ........ Do not compile the plugin for TIFF support.
+ -no-libtiff ........ Do not compile TIFF support.
-qt-libtiff ........ Use the libtiff bundled with Qt.
+ -system-libtiff .... Use libtiff from the operating system.
See http://www.libtiff.org
- -no-libpng ......... Do not compile in PNG support.
+ -no-libpng ......... Do not compile PNG support.
-qt-libpng ......... Use the libpng bundled with Qt.
+ -system-libpng ..... Use libpng from the operating system.
See http://www.libpng.org/pub/png
- -no-libmng ......... Do not compile the plugin for MNG support.
+ -no-libmng ......... Do not compile MNG support.
-qt-libmng ......... Use the libmng bundled with Qt.
+ -system-libmng ..... Use libmng from the operating system.
See http://www.libmng.com
- -no-libjpeg ........ Do not compile the plugin for JPEG support.
+ -no-libjpeg ........ Do not compile JPEG support.
-qt-libjpeg ........ Use the libjpeg bundled with Qt.
+ -system-libjpeg .... Use libjpeg from the operating system.
See http://www.ijg.org
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index da50a6d..18a1746 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -70,15 +70,15 @@
<li><a href="declarativeui.html">Device UI's &amp; Qt Quick</a></li>
<li><a href="qt-gui-concepts.html">Desktop UI components</a></li>
<li><a href="platform-specific.html">Platform-specific info</a></li>
- <li><a href="qt-graphics.html">Graphics, Painting &amp Printing</a></li>
- <li><a href="qt-network.html">Input/Output &amp networking</a></li>
+ <li><a href="qt-graphics.html">Graphics, Painting &amp; Printing</a></li>
+ <li><a href="qt-network.html">Input/Output &amp; networking</a></li>
</ul>
</div>
<div class="sectionlist">
<ul>
<li><a href="model-view-programming.html">Model/View programming</a></li>
<li><a href="technology-apis.html">Qt API's for other technologies</a></li>
- <li><a href="best-practices.html">Qt How-to's &amp best practices</a></li>
+ <li><a href="best-practices.html">Qt How-to's &amp; best practices</a></li>
<li><a href="developing-with-qt.html">Cross-platform development</a></li>
</ul>
</div>
diff --git a/src/3rdparty/libjpeg.pri b/src/3rdparty/libjpeg.pri
new file mode 100644
index 0000000..4551d7b
--- /dev/null
+++ b/src/3rdparty/libjpeg.pri
@@ -0,0 +1,48 @@
+INCLUDEPATH += $$PWD/libjpeg
+SOURCES += \
+ $$PWD/libjpeg/jaricom.c \
+ $$PWD/libjpeg/jcapimin.c \
+ $$PWD/libjpeg/jcapistd.c \
+ $$PWD/libjpeg/jcarith.c \
+ $$PWD/libjpeg/jccoefct.c \
+ $$PWD/libjpeg/jccolor.c \
+ $$PWD/libjpeg/jcdctmgr.c \
+ $$PWD/libjpeg/jchuff.c \
+ $$PWD/libjpeg/jcinit.c \
+ $$PWD/libjpeg/jcmainct.c \
+ $$PWD/libjpeg/jcmarker.c \
+ $$PWD/libjpeg/jcmaster.c \
+ $$PWD/libjpeg/jcomapi.c \
+ $$PWD/libjpeg/jcparam.c \
+ $$PWD/libjpeg/jcprepct.c \
+ $$PWD/libjpeg/jcsample.c \
+ $$PWD/libjpeg/jctrans.c \
+ $$PWD/libjpeg/jdapimin.c \
+ $$PWD/libjpeg/jdapistd.c \
+ $$PWD/libjpeg/jdarith.c \
+ $$PWD/libjpeg/jdatadst.c \
+ $$PWD/libjpeg/jdatasrc.c \
+ $$PWD/libjpeg/jdcoefct.c \
+ $$PWD/libjpeg/jdcolor.c \
+ $$PWD/libjpeg/jddctmgr.c \
+ $$PWD/libjpeg/jdhuff.c \
+ $$PWD/libjpeg/jdinput.c \
+ $$PWD/libjpeg/jdmainct.c \
+ $$PWD/libjpeg/jdmarker.c \
+ $$PWD/libjpeg/jdmaster.c \
+ $$PWD/libjpeg/jdmerge.c \
+ $$PWD/libjpeg/jdpostct.c \
+ $$PWD/libjpeg/jdsample.c \
+ $$PWD/libjpeg/jdtrans.c \
+ $$PWD/libjpeg/jerror.c \
+ $$PWD/libjpeg/jfdctflt.c \
+ $$PWD/libjpeg/jfdctfst.c \
+ $$PWD/libjpeg/jfdctint.c \
+ $$PWD/libjpeg/jidctflt.c \
+ $$PWD/libjpeg/jidctfst.c \
+ $$PWD/libjpeg/jidctint.c \
+ $$PWD/libjpeg/jquant1.c \
+ $$PWD/libjpeg/jquant2.c \
+ $$PWD/libjpeg/jutils.c \
+ $$PWD/libjpeg/jmemmgr.c \
+ $$PWD/libjpeg/jmemnobs.c
diff --git a/src/3rdparty/libmng.pri b/src/3rdparty/libmng.pri
new file mode 100644
index 0000000..7b68210
--- /dev/null
+++ b/src/3rdparty/libmng.pri
@@ -0,0 +1,25 @@
+DEFINES += MNG_BUILD_SO
+DEFINES += MNG_NO_INCLUDE_JNG
+INCLUDEPATH += $$PWD/libmng
+SOURCES += \
+ $$PWD/libmng/libmng_callback_xs.c \
+ $$PWD/libmng/libmng_chunk_io.c \
+ $$PWD/libmng/libmng_chunk_descr.c \
+ $$PWD/libmng/libmng_chunk_prc.c \
+ $$PWD/libmng/libmng_chunk_xs.c \
+ $$PWD/libmng/libmng_cms.c \
+ $$PWD/libmng/libmng_display.c \
+ $$PWD/libmng/libmng_dither.c \
+ $$PWD/libmng/libmng_error.c \
+ $$PWD/libmng/libmng_filter.c \
+ $$PWD/libmng/libmng_hlapi.c \
+ $$PWD/libmng/libmng_jpeg.c \
+ $$PWD/libmng/libmng_object_prc.c \
+ $$PWD/libmng/libmng_pixels.c \
+ $$PWD/libmng/libmng_prop_xs.c \
+ $$PWD/libmng/libmng_read.c \
+ $$PWD/libmng/libmng_trace.c \
+ $$PWD/libmng/libmng_write.c \
+ $$PWD/libmng/libmng_zlib.c
+
+include($$PWD/zlib_dependency.pri)
diff --git a/src/3rdparty/libpng.pri b/src/3rdparty/libpng.pri
new file mode 100644
index 0000000..7ac1910
--- /dev/null
+++ b/src/3rdparty/libpng.pri
@@ -0,0 +1,20 @@
+DEFINES *= QT_USE_BUNDLED_LIBPNG
+!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
+INCLUDEPATH += $$PWD/libpng
+SOURCES += $$PWD/libpng/png.c \
+ $$PWD/libpng/pngerror.c \
+ $$PWD/libpng/pngget.c \
+ $$PWD/libpng/pngmem.c \
+ $$PWD/libpng/pngpread.c \
+ $$PWD/libpng/pngread.c \
+ $$PWD/libpng/pngrio.c \
+ $$PWD/libpng/pngrtran.c \
+ $$PWD/libpng/pngrutil.c \
+ $$PWD/libpng/pngset.c \
+ $$PWD/libpng/pngtrans.c \
+ $$PWD/libpng/pngwio.c \
+ $$PWD/libpng/pngwrite.c \
+ $$PWD/libpng/pngwtran.c \
+ $$PWD/libpng/pngwutil.c
+
+include($$PWD/zlib_dependency.pri)
diff --git a/src/3rdparty/libtiff.pri b/src/3rdparty/libtiff.pri
new file mode 100644
index 0000000..5a522be
--- /dev/null
+++ b/src/3rdparty/libtiff.pri
@@ -0,0 +1,43 @@
+INCLUDEPATH += $$PWD/libtiff/libtiff
+SOURCES += \
+ $$PWD/libtiff/libtiff/tif_aux.c \
+ $$PWD/libtiff/libtiff/tif_close.c \
+ $$PWD/libtiff/libtiff/tif_codec.c \
+ $$PWD/libtiff/libtiff/tif_color.c \
+ $$PWD/libtiff/libtiff/tif_compress.c \
+ $$PWD/libtiff/libtiff/tif_dir.c \
+ $$PWD/libtiff/libtiff/tif_dirinfo.c \
+ $$PWD/libtiff/libtiff/tif_dirread.c \
+ $$PWD/libtiff/libtiff/tif_dirwrite.c \
+ $$PWD/libtiff/libtiff/tif_dumpmode.c \
+ $$PWD/libtiff/libtiff/tif_error.c \
+ $$PWD/libtiff/libtiff/tif_extension.c \
+ $$PWD/libtiff/libtiff/tif_fax3.c \
+ $$PWD/libtiff/libtiff/tif_fax3sm.c \
+ $$PWD/libtiff/libtiff/tif_flush.c \
+ $$PWD/libtiff/libtiff/tif_getimage.c \
+ $$PWD/libtiff/libtiff/tif_luv.c \
+ $$PWD/libtiff/libtiff/tif_lzw.c \
+ $$PWD/libtiff/libtiff/tif_next.c \
+ $$PWD/libtiff/libtiff/tif_open.c \
+ $$PWD/libtiff/libtiff/tif_packbits.c \
+ $$PWD/libtiff/libtiff/tif_pixarlog.c \
+ $$PWD/libtiff/libtiff/tif_predict.c \
+ $$PWD/libtiff/libtiff/tif_print.c \
+ $$PWD/libtiff/libtiff/tif_read.c \
+ $$PWD/libtiff/libtiff/tif_strip.c \
+ $$PWD/libtiff/libtiff/tif_swab.c \
+ $$PWD/libtiff/libtiff/tif_thunder.c \
+ $$PWD/libtiff/libtiff/tif_tile.c \
+ $$PWD/libtiff/libtiff/tif_version.c \
+ $$PWD/libtiff/libtiff/tif_warning.c \
+ $$PWD/libtiff/libtiff/tif_write.c \
+ $$PWD/libtiff/libtiff/tif_zip.c
+
+wince*: SOURCES += $$PWD/../corelib/kernel/qfunctions_wince.cpp \
+ $$PWD/libtiff/libtiff/tif_wince.c
+win32: SOURCES += $$PWD/libtiff/libtiff/tif_win32.c
+else:unix: SOURCES += $$PWD/libtiff/libtiff/tif_unix.c
+else:symbian: SOURCES += $$PWD/libtiff/port/lfind.c
+
+include($$PWD/zlib_dependency.pri)
diff --git a/src/3rdparty/zlib.pri b/src/3rdparty/zlib.pri
new file mode 100644
index 0000000..bae3221
--- /dev/null
+++ b/src/3rdparty/zlib.pri
@@ -0,0 +1,14 @@
+wince*: DEFINES += NO_ERRNO_H
+INCLUDEPATH += $$PWD/zlib
+SOURCES+= \
+ $$PWD/zlib/adler32.c \
+ $$PWD/zlib/compress.c \
+ $$PWD/zlib/crc32.c \
+ $$PWD/zlib/deflate.c \
+ $$PWD/zlib/gzio.c \
+ $$PWD/zlib/inffast.c \
+ $$PWD/zlib/inflate.c \
+ $$PWD/zlib/inftrees.c \
+ $$PWD/zlib/trees.c \
+ $$PWD/zlib/uncompr.c \
+ $$PWD/zlib/zutil.c
diff --git a/src/3rdparty/zlib_dependency.pri b/src/3rdparty/zlib_dependency.pri
new file mode 100644
index 0000000..042eb13
--- /dev/null
+++ b/src/3rdparty/zlib_dependency.pri
@@ -0,0 +1,8 @@
+# zlib dependency satisfied by bundled 3rd party zlib or system zlib
+contains(QT_CONFIG, system-zlib) {
+ symbian: LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else: LIBS += zdll.lib
+} else {
+ INCLUDEPATH += $$PWD/zlib
+}
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index e579dd5..d81ab04 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -89,27 +89,8 @@ else:unix:SOURCES += tools/qelapsedtimer_unix.cpp
else:win32:SOURCES += tools/qelapsedtimer_win.cpp
else:SOURCES += tools/qelapsedtimer_generic.cpp
-#zlib support
-contains(QT_CONFIG, zlib) {
- wince*: DEFINES += NO_ERRNO_H
- INCLUDEPATH += ../3rdparty/zlib
- SOURCES+= \
- ../3rdparty/zlib/adler32.c \
- ../3rdparty/zlib/compress.c \
- ../3rdparty/zlib/crc32.c \
- ../3rdparty/zlib/deflate.c \
- ../3rdparty/zlib/gzio.c \
- ../3rdparty/zlib/inffast.c \
- ../3rdparty/zlib/inflate.c \
- ../3rdparty/zlib/inftrees.c \
- ../3rdparty/zlib/trees.c \
- ../3rdparty/zlib/uncompr.c \
- ../3rdparty/zlib/zutil.c
-} else:!contains(QT_CONFIG, no-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-}
+contains(QT_CONFIG, zlib):include($$PWD/../../3rdparty/zlib.pri)
+else:include($$PWD/../../3rdparty/zlib_dependency.pri)
DEFINES += HB_EXPORT=Q_CORE_EXPORT
INCLUDEPATH += ../3rdparty/harfbuzz/src
diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
index f5f1bc0..9f0c87e 100644
--- a/src/gui/image/image.pri
+++ b/src/gui/image/image.pri
@@ -28,8 +28,7 @@ HEADERS += \
image/qpixmapdata_p.h \
image/qpixmapdatafactory_p.h \
image/qpixmapfilter_p.h \
- image/qimagepixmapcleanuphooks_p.h \
-
+ image/qimagepixmapcleanuphooks_p.h
SOURCES += \
image/qbitmap.cpp \
@@ -52,24 +51,23 @@ SOURCES += \
image/qmovie.cpp \
image/qpixmap_raster.cpp \
image/qnativeimage.cpp \
- image/qimagepixmapcleanuphooks.cpp \
-
+ image/qimagepixmapcleanuphooks.cpp
win32 {
SOURCES += image/qpixmap_win.cpp
}
-embedded {
+else:embedded {
SOURCES += image/qpixmap_qws.cpp
}
-x11 {
+else:x11 {
HEADERS += image/qpixmap_x11_p.h
SOURCES += image/qpixmap_x11.cpp
}
-mac {
+else:mac {
HEADERS += image/qpixmap_mac_p.h
SOURCES += image/qpixmap_mac.cpp
}
-symbian {
+else:symbian {
HEADERS += image/qpixmap_s60_p.h
SOURCES += image/qpixmap_s60.cpp
}
@@ -87,42 +85,10 @@ SOURCES += \
image/qxbmhandler.cpp \
image/qxpmhandler.cpp
-# 3rd party / system PNG support
-!contains(QT_CONFIG, no-png) {
- HEADERS += image/qpnghandler_p.h
- SOURCES += image/qpnghandler.cpp
+!contains(QT_CONFIG, no-png):include($$PWD/qpnghandler.pri)
+else:DEFINES *= QT_NO_IMAGEFORMAT_PNG
- contains(QT_CONFIG, system-png) {
- unix|win32-g++*:LIBS_PRIVATE += -lpng
- win32:!win32-g++*:LIBS += libpng.lib
- } else {
- DEFINES *= QT_USE_BUNDLED_LIBPNG
- !isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
- INCLUDEPATH += ../3rdparty/libpng
- SOURCES += ../3rdparty/libpng/png.c \
- ../3rdparty/libpng/pngerror.c \
- ../3rdparty/libpng/pngget.c \
- ../3rdparty/libpng/pngmem.c \
- ../3rdparty/libpng/pngpread.c \
- ../3rdparty/libpng/pngread.c \
- ../3rdparty/libpng/pngrio.c \
- ../3rdparty/libpng/pngrtran.c \
- ../3rdparty/libpng/pngrutil.c \
- ../3rdparty/libpng/pngset.c \
- ../3rdparty/libpng/pngtrans.c \
- ../3rdparty/libpng/pngwio.c \
- ../3rdparty/libpng/pngwrite.c \
- ../3rdparty/libpng/pngwtran.c \
- ../3rdparty/libpng/pngwutil.c
-
- contains(QT_CONFIG, system-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
- } else {
- INCLUDEPATH += ../3rdparty/zlib
- }
- }
-} else {
- DEFINES *= QT_NO_IMAGEFORMAT_PNG
-}
+contains(QT_CONFIG, jpeg):include($$PWD/qjpeghandler.pri)
+contains(QT_CONFIG, mng):include($$PWD/qmnghandler.pri)
+contains(QT_CONFIG, tiff):include($$PWD/qtiffhandler.pri)
+contains(QT_CONFIG, gif):include($$PWD/qgifhandler.pri)
diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp
index 129a11b..129a11b 100644
--- a/src/plugins/imageformats/gif/qgifhandler.cpp
+++ b/src/gui/image/qgifhandler.cpp
diff --git a/src/plugins/imageformats/gif/qgifhandler.h b/src/gui/image/qgifhandler.h
index 8e07aff..8e07aff 100644
--- a/src/plugins/imageformats/gif/qgifhandler.h
+++ b/src/gui/image/qgifhandler.h
diff --git a/src/gui/image/qgifhandler.pri b/src/gui/image/qgifhandler.pri
new file mode 100644
index 0000000..003476a
--- /dev/null
+++ b/src/gui/image/qgifhandler.pri
@@ -0,0 +1,4 @@
+# common to plugin and built-in forms
+INCLUDEPATH *= $$PWD
+HEADERS += $$PWD/qgifhandler.h
+SOURCES += $$PWD/qgifhandler.cpp
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp
index af43e90..55c9341 100644
--- a/src/gui/image/qimagereader.cpp
+++ b/src/gui/image/qimagereader.cpp
@@ -141,6 +141,18 @@
#ifndef QT_NO_IMAGEFORMAT_PNG
#include <private/qpnghandler_p.h>
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+#include <qjpeghandler.h>
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+#include <qmnghandler.h>
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+#include <qtiffhandler.h>
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+#include <qgifhandler.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -153,6 +165,18 @@ enum _qt_BuiltInFormatType {
#ifndef QT_NO_IMAGEFORMAT_PNG
_qt_PngFormat,
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ _qt_JpgFormat,
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ _qt_MngFormat,
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ _qt_TifFormat,
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ _qt_GifFormat,
+#endif
_qt_BmpFormat,
#ifndef QT_NO_IMAGEFORMAT_PPM
_qt_PpmFormat,
@@ -179,6 +203,18 @@ static const _qt_BuiltInFormatStruct _qt_BuiltInFormats[] = {
#ifndef QT_NO_IMAGEFORMAT_PNG
{_qt_PngFormat, "png"},
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ {_qt_JpgFormat, "jpg"},
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ {_qt_MngFormat, "mng"},
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ {_qt_TifFormat, "tif"},
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ {_qt_GifFormat, "gif"},
+#endif
{_qt_BmpFormat, "bmp"},
#ifndef QT_NO_IMAGEFORMAT_PPM
{_qt_PpmFormat, "ppm"},
@@ -304,6 +340,22 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device,
} else if (testFormat == "png") {
handler = new QPngHandler;
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ } else if (testFormat == "jpg" || testFormat == "jpeg") {
+ handler = new QJpegHandler;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ } else if (testFormat == "mng") {
+ handler = new QMngHandler;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ } else if (testFormat == "tif" || testFormat == "tiff") {
+ handler = new QTiffHandler;
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ } else if (testFormat == "gif") {
+ handler = new QGifHandler;
+#endif
#ifndef QT_NO_IMAGEFORMAT_BMP
} else if (testFormat == "bmp") {
handler = new QBmpHandler;
@@ -380,6 +432,30 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device,
handler = new QPngHandler;
break;
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ case _qt_JpgFormat:
+ if (QJpegHandler::canRead(device))
+ handler = new QJpegHandler;
+ break;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ case _qt_MngFormat:
+ if (QMngHandler::canRead(device))
+ handler = new QMngHandler;
+ break;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ case _qt_TifFormat:
+ if (QTiffHandler::canRead(device))
+ handler = new QTiffHandler;
+ break;
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ case _qt_GifFormat:
+ if (QGifHandler::canRead(device))
+ handler = new QGifHandler;
+ break;
+#endif
#ifndef QT_NO_IMAGEFORMAT_BMP
case _qt_BmpFormat:
if (QBmpHandler::canRead(device))
diff --git a/src/gui/image/qimagewriter.cpp b/src/gui/image/qimagewriter.cpp
index 552729f..a46fc48 100644
--- a/src/gui/image/qimagewriter.cpp
+++ b/src/gui/image/qimagewriter.cpp
@@ -114,6 +114,18 @@
#ifndef QT_NO_IMAGEFORMAT_PNG
#include <private/qpnghandler_p.h>
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+#include <qjpeghandler.h>
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+#include <qmnghandler.h>
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+#include <qtiffhandler.h>
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+#include <qgifhandler.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -170,6 +182,22 @@ static QImageIOHandler *createWriteHandlerHelper(QIODevice *device,
} else if (testFormat == "png") {
handler = new QPngHandler;
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ } else if (testFormat == "jpg" || testFormat == "jpeg") {
+ handler = new QJpegHandler;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ } else if (testFormat == "mng") {
+ handler = new QMngHandler;
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ } else if (testFormat == "tif" || testFormat == "tiff") {
+ handler = new QTiffHandler;
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ } else if (testFormat == "gif") {
+ handler = new QGifHandler;
+#endif
#ifndef QT_NO_IMAGEFORMAT_BMP
} else if (testFormat == "bmp") {
handler = new QBmpHandler;
@@ -669,6 +697,18 @@ QList<QByteArray> QImageWriter::supportedImageFormats()
#ifndef QT_NO_IMAGEFORMAT_PNG
formats << "png";
#endif
+#ifndef QT_NO_IMAGEFORMAT_JPEG
+ formats << "jpg" << "jpeg";
+#endif
+#ifndef QT_NO_IMAGEFORMAT_MNG
+ formats << "mng";
+#endif
+#ifndef QT_NO_IMAGEFORMAT_TIFF
+ formats << "tif" << "tiff";
+#endif
+#ifdef QT_BUILTIN_GIF_READER
+ formats << "gif";
+#endif
#ifndef QT_NO_LIBRARY
QFactoryLoader *l = loader();
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp
index 60e7cce..60e7cce 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/gui/image/qjpeghandler.cpp
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.h b/src/gui/image/qjpeghandler.h
index c879f21..c879f21 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.h
+++ b/src/gui/image/qjpeghandler.h
diff --git a/src/gui/image/qjpeghandler.pri b/src/gui/image/qjpeghandler.pri
new file mode 100644
index 0000000..28ec7dc
--- /dev/null
+++ b/src/gui/image/qjpeghandler.pri
@@ -0,0 +1,10 @@
+# common to plugin and built-in forms
+INCLUDEPATH *= $$PWD
+HEADERS += $$PWD/qjpeghandler.h
+SOURCES += $$PWD/qjpeghandler.cpp
+contains(QT_CONFIG, system-jpeg) {
+ if(unix|win32-g++*): LIBS += -ljpeg
+ else:win32: LIBS += libjpeg.lib
+} else {
+ include($$PWD/../../3rdparty/libjpeg.pri)
+}
diff --git a/src/plugins/imageformats/mng/qmnghandler.cpp b/src/gui/image/qmnghandler.cpp
index ec442a1..ec442a1 100644
--- a/src/plugins/imageformats/mng/qmnghandler.cpp
+++ b/src/gui/image/qmnghandler.cpp
diff --git a/src/plugins/imageformats/mng/qmnghandler.h b/src/gui/image/qmnghandler.h
index 65243be..65243be 100644
--- a/src/plugins/imageformats/mng/qmnghandler.h
+++ b/src/gui/image/qmnghandler.h
diff --git a/src/gui/image/qmnghandler.pri b/src/gui/image/qmnghandler.pri
new file mode 100644
index 0000000..ec1c19e
--- /dev/null
+++ b/src/gui/image/qmnghandler.pri
@@ -0,0 +1,10 @@
+# common to plugin and built-in forms
+INCLUDEPATH *= $$PWD
+HEADERS += $$PWD/qmnghandler.h
+SOURCES += $$PWD/qmnghandler.cpp
+contains(QT_CONFIG, system-mng) {
+ if(unix|win32-g++*):LIBS += -lmng
+ else:win32: LIBS += libmng.lib
+} else {
+ include($$PWD/../../3rdparty/libmng.pri)
+}
diff --git a/src/gui/image/qpnghandler.pri b/src/gui/image/qpnghandler.pri
new file mode 100644
index 0000000..bedf23f
--- /dev/null
+++ b/src/gui/image/qpnghandler.pri
@@ -0,0 +1,10 @@
+INCLUDEPATH *= $$PWD
+HEADERS += $$PWD/qpnghandler_p.h
+SOURCES += $$PWD/qpnghandler.cpp
+contains(QT_CONFIG, system-png) {
+ if(unix|win32-g++*): LIBS_PRIVATE += -lpng
+ else:win32: LIBS += libpng.lib
+
+} else {
+ include($$PWD/../../3rdparty/libpng.pri)
+}
diff --git a/src/plugins/imageformats/tiff/qtiffhandler.cpp b/src/gui/image/qtiffhandler.cpp
index 619aa4e..619aa4e 100644
--- a/src/plugins/imageformats/tiff/qtiffhandler.cpp
+++ b/src/gui/image/qtiffhandler.cpp
diff --git a/src/plugins/imageformats/tiff/qtiffhandler.h b/src/gui/image/qtiffhandler.h
index 4534ed5..4534ed5 100644
--- a/src/plugins/imageformats/tiff/qtiffhandler.h
+++ b/src/gui/image/qtiffhandler.h
diff --git a/src/gui/image/qtiffhandler.pri b/src/gui/image/qtiffhandler.pri
new file mode 100644
index 0000000..8ac70d9
--- /dev/null
+++ b/src/gui/image/qtiffhandler.pri
@@ -0,0 +1,10 @@
+# common to plugin and built-in forms
+INCLUDEPATH *= $$PWD
+HEADERS += $$PWD/qtiffhandler.h
+SOURCES += $$PWD/qtiffhandler.cpp
+contains(QT_CONFIG, system-tiff) {
+ if(unix|win32-g++*):LIBS += -ltiff
+ else:win32: LIBS += libtiff.lib
+} else {
+ include($$PWD/../../3rdparty/libtiff.pri)
+}
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index a5cfb84..07aabc9 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -402,11 +402,4 @@ neon:*-g++* {
QMAKE_EXTRA_COMPILERS += neon_compiler
}
-contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
-} else:!contains(QT_CONFIG, no-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-}
-
+include($$PWD/../../3rdparty/zlib_dependency.pri)
diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp
index 67a7b85..8511592 100644
--- a/src/gui/styles/qwindowsvistastyle.cpp
+++ b/src/gui/styles/qwindowsvistastyle.cpp
@@ -1926,30 +1926,7 @@ QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption
return QWindowsStyle::sizeFromContents(type, option, size, widget);
QSize sz(size);
-
- QSize newSize = QWindowsXPStyle::sizeFromContents(type, option, size, widget);
switch (type) {
- case CT_LineEdit:
- case CT_ComboBox:
- {
- HTHEME theme = pOpenThemeData(0, L"Button");
- MARGINS borderSize;
- if (theme) {
- int result = pGetThemeMargins(theme,
- NULL,
- BP_PUSHBUTTON,
- PBS_NORMAL,
- TMT_CONTENTMARGINS,
- NULL,
- &borderSize);
- if (result == S_OK) {
- sz += QSize(borderSize.cxLeftWidth + borderSize.cxRightWidth - 2,
- borderSize.cyBottomHeight + borderSize.cyTopHeight - 2);
- }
- sz += QSize(23, 0); //arrow button
- }
- }
- return sz;
case CT_MenuItem:
sz = QWindowsXPStyle::sizeFromContents(type, option, size, widget);
int minimumHeight;
@@ -1990,7 +1967,7 @@ QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption
default:
break;
}
- return newSize;
+ return QWindowsXPStyle::sizeFromContents(type, option, size, widget);
}
/*!
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index efb1224..8743807 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -3678,7 +3678,9 @@ QSize QWindowsXPStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt
sz += QSize(borderSize.cxLeftWidth + borderSize.cxRightWidth - 2,
borderSize.cyBottomHeight + borderSize.cyTopHeight - 2);
}
- sz += QSize(23, 0); //arrow button
+ const int textMargins = 2*(proxy()->pixelMetric(PM_FocusFrameHMargin) + 1);
+ sz += QSize(qMax(pixelMetric(QStyle::PM_ScrollBarExtent, option, widget)
+ + textMargins, 23), 0); //arrow button
}
}
break;
diff --git a/src/network/access/access.pri b/src/network/access/access.pri
index 173a087..6a0cd32 100644
--- a/src/network/access/access.pri
+++ b/src/network/access/access.pri
@@ -1,67 +1,62 @@
# Qt network access module
-HEADERS += access/qftp.h \
- access/qhttp.h \
- access/qhttpnetworkheader_p.h \
- access/qhttpnetworkrequest_p.h \
- access/qhttpnetworkreply_p.h \
- access/qhttpnetworkconnection_p.h \
- access/qhttpnetworkconnectionchannel_p.h \
- access/qfilenetworkreply_p.h \
- access/qnetworkaccessmanager.h \
- access/qnetworkaccessmanager_p.h \
- access/qnetworkaccesscache_p.h \
- access/qnetworkaccessbackend_p.h \
- access/qnetworkaccessdatabackend_p.h \
- access/qnetworkaccessdebugpipebackend_p.h \
- access/qnetworkaccesshttpbackend_p.h \
- access/qnetworkaccessfilebackend_p.h \
- access/qnetworkaccesscachebackend_p.h \
- access/qnetworkaccessftpbackend_p.h \
- access/qnetworkcookie.h \
- access/qnetworkcookie_p.h \
- access/qnetworkcookiejar.h \
- access/qnetworkcookiejar_p.h \
- access/qnetworkrequest.h \
- access/qnetworkrequest_p.h \
- access/qnetworkreply.h \
- access/qnetworkreply_p.h \
- access/qnetworkreplyimpl_p.h \
- access/qabstractnetworkcache_p.h \
- access/qabstractnetworkcache.h \
- access/qnetworkdiskcache_p.h \
- access/qnetworkdiskcache.h
+HEADERS += \
+ access/qftp.h \
+ access/qhttp.h \
+ access/qhttpnetworkheader_p.h \
+ access/qhttpnetworkrequest_p.h \
+ access/qhttpnetworkreply_p.h \
+ access/qhttpnetworkconnection_p.h \
+ access/qhttpnetworkconnectionchannel_p.h \
+ access/qfilenetworkreply_p.h \
+ access/qnetworkaccessmanager.h \
+ access/qnetworkaccessmanager_p.h \
+ access/qnetworkaccesscache_p.h \
+ access/qnetworkaccessbackend_p.h \
+ access/qnetworkaccessdatabackend_p.h \
+ access/qnetworkaccessdebugpipebackend_p.h \
+ access/qnetworkaccesshttpbackend_p.h \
+ access/qnetworkaccessfilebackend_p.h \
+ access/qnetworkaccesscachebackend_p.h \
+ access/qnetworkaccessftpbackend_p.h \
+ access/qnetworkcookie.h \
+ access/qnetworkcookie_p.h \
+ access/qnetworkcookiejar.h \
+ access/qnetworkcookiejar_p.h \
+ access/qnetworkrequest.h \
+ access/qnetworkrequest_p.h \
+ access/qnetworkreply.h \
+ access/qnetworkreply_p.h \
+ access/qnetworkreplyimpl_p.h \
+ access/qabstractnetworkcache_p.h \
+ access/qabstractnetworkcache.h \
+ access/qnetworkdiskcache_p.h \
+ access/qnetworkdiskcache.h
-SOURCES += access/qftp.cpp \
- access/qhttp.cpp \
- access/qhttpnetworkheader.cpp \
- access/qhttpnetworkrequest.cpp \
- access/qhttpnetworkreply.cpp \
- access/qhttpnetworkconnection.cpp \
- access/qhttpnetworkconnectionchannel.cpp \
- access/qfilenetworkreply.cpp \
- access/qnetworkaccessmanager.cpp \
- access/qnetworkaccesscache.cpp \
- access/qnetworkaccessbackend.cpp \
- access/qnetworkaccessdatabackend.cpp \
- access/qnetworkaccessdebugpipebackend.cpp \
- access/qnetworkaccessfilebackend.cpp \
- access/qnetworkaccesscachebackend.cpp \
- access/qnetworkaccessftpbackend.cpp \
- access/qnetworkaccesshttpbackend.cpp \
- access/qnetworkcookie.cpp \
- access/qnetworkcookiejar.cpp \
- access/qnetworkrequest.cpp \
- access/qnetworkreply.cpp \
- access/qnetworkreplyimpl.cpp \
- access/qabstractnetworkcache.cpp \
- access/qnetworkdiskcache.cpp
+SOURCES += \
+ access/qftp.cpp \
+ access/qhttp.cpp \
+ access/qhttpnetworkheader.cpp \
+ access/qhttpnetworkrequest.cpp \
+ access/qhttpnetworkreply.cpp \
+ access/qhttpnetworkconnection.cpp \
+ access/qhttpnetworkconnectionchannel.cpp \
+ access/qfilenetworkreply.cpp \
+ access/qnetworkaccessmanager.cpp \
+ access/qnetworkaccesscache.cpp \
+ access/qnetworkaccessbackend.cpp \
+ access/qnetworkaccessdatabackend.cpp \
+ access/qnetworkaccessdebugpipebackend.cpp \
+ access/qnetworkaccessfilebackend.cpp \
+ access/qnetworkaccesscachebackend.cpp \
+ access/qnetworkaccessftpbackend.cpp \
+ access/qnetworkaccesshttpbackend.cpp \
+ access/qnetworkcookie.cpp \
+ access/qnetworkcookiejar.cpp \
+ access/qnetworkrequest.cpp \
+ access/qnetworkreply.cpp \
+ access/qnetworkreplyimpl.cpp \
+ access/qabstractnetworkcache.cpp \
+ access/qnetworkdiskcache.cpp
-#zlib support
-contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
-} else:!contains(QT_CONFIG, no-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-}
+include($$PWD/../../3rdparty/zlib_dependency.pri)
diff --git a/src/plugins/imageformats/gif/gif.pro b/src/plugins/imageformats/gif/gif.pro
index 8a5c51a..439b431 100644
--- a/src/plugins/imageformats/gif/gif.pro
+++ b/src/plugins/imageformats/gif/gif.pro
@@ -1,9 +1,8 @@
TARGET = qgif
include(../../qpluginbase.pri)
-HEADERS += qgifhandler.h
-SOURCES += main.cpp \
- qgifhandler.cpp
+include(../../../gui/image/qgifhandler.pri)
+SOURCES += $$PWD/main.cpp
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro
index 2e4036b..5fff2de 100644
--- a/src/plugins/imageformats/imageformats.pro
+++ b/src/plugins/imageformats/imageformats.pro
@@ -1,8 +1,8 @@
TEMPLATE = subdirs
-!contains(QT_CONFIG, no-jpeg):SUBDIRS += jpeg
-!contains(QT_CONFIG, no-gif):SUBDIRS += gif
-!contains(QT_CONFIG, no-mng):SUBDIRS += mng
+!contains(QT_CONFIG, no-jpeg):!contains(QT_CONFIG, jpeg):SUBDIRS += jpeg
+!contains(QT_CONFIG, no-gif):!contains(QT_CONFIG, gif):SUBDIRS += gif
+!contains(QT_CONFIG, no-mng):!contains(QT_CONFIG, mng):SUBDIRS += mng
contains(QT_CONFIG, svg):SUBDIRS += svg
-!contains(QT_CONFIG, no-tiff):SUBDIRS += tiff
+!contains(QT_CONFIG, no-tiff):!contains(QT_CONFIG, tiff):SUBDIRS += tiff
!contains(QT_CONFIG, no-ico):SUBDIRS += ico
diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
index d4b0fef..c5671c3 100644
--- a/src/plugins/imageformats/jpeg/jpeg.pro
+++ b/src/plugins/imageformats/jpeg/jpeg.pro
@@ -3,10 +3,6 @@ include(../../qpluginbase.pri)
QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-jpeg)"
-HEADERS += qjpeghandler.h
-SOURCES += main.cpp \
- qjpeghandler.cpp
-
wince*: {
DEFINES += NO_GETENV
contains(CE_ARCH,x86):CONFIG -= stl exceptions
@@ -21,61 +17,9 @@ symbian: {
QMAKE_CFLAGS_WARN_ON += -Wno-unused-parameter -Wno-main
}
-contains(QT_CONFIG, system-jpeg) {
- unix|win32-g++*:LIBS += -ljpeg
- win32:!win32-g++*:LIBS += libjpeg.lib
-} else {
- INCLUDEPATH += ../../../3rdparty/libjpeg
- SOURCES += \
- ../../../3rdparty/libjpeg/jaricom.c \
- ../../../3rdparty/libjpeg/jcapimin.c \
- ../../../3rdparty/libjpeg/jcapistd.c \
- ../../../3rdparty/libjpeg/jcarith.c \
- ../../../3rdparty/libjpeg/jccoefct.c \
- ../../../3rdparty/libjpeg/jccolor.c \
- ../../../3rdparty/libjpeg/jcdctmgr.c \
- ../../../3rdparty/libjpeg/jchuff.c \
- ../../../3rdparty/libjpeg/jcinit.c \
- ../../../3rdparty/libjpeg/jcmainct.c \
- ../../../3rdparty/libjpeg/jcmarker.c \
- ../../../3rdparty/libjpeg/jcmaster.c \
- ../../../3rdparty/libjpeg/jcomapi.c \
- ../../../3rdparty/libjpeg/jcparam.c \
- ../../../3rdparty/libjpeg/jcprepct.c \
- ../../../3rdparty/libjpeg/jcsample.c \
- ../../../3rdparty/libjpeg/jctrans.c \
- ../../../3rdparty/libjpeg/jdapimin.c \
- ../../../3rdparty/libjpeg/jdapistd.c \
- ../../../3rdparty/libjpeg/jdarith.c \
- ../../../3rdparty/libjpeg/jdatadst.c \
- ../../../3rdparty/libjpeg/jdatasrc.c \
- ../../../3rdparty/libjpeg/jdcoefct.c \
- ../../../3rdparty/libjpeg/jdcolor.c \
- ../../../3rdparty/libjpeg/jddctmgr.c \
- ../../../3rdparty/libjpeg/jdhuff.c \
- ../../../3rdparty/libjpeg/jdinput.c \
- ../../../3rdparty/libjpeg/jdmainct.c \
- ../../../3rdparty/libjpeg/jdmarker.c \
- ../../../3rdparty/libjpeg/jdmaster.c \
- ../../../3rdparty/libjpeg/jdmerge.c \
- ../../../3rdparty/libjpeg/jdpostct.c \
- ../../../3rdparty/libjpeg/jdsample.c \
- ../../../3rdparty/libjpeg/jdtrans.c \
- ../../../3rdparty/libjpeg/jerror.c \
- ../../../3rdparty/libjpeg/jfdctflt.c \
- ../../../3rdparty/libjpeg/jfdctfst.c \
- ../../../3rdparty/libjpeg/jfdctint.c \
- ../../../3rdparty/libjpeg/jidctflt.c \
- ../../../3rdparty/libjpeg/jidctfst.c \
- ../../../3rdparty/libjpeg/jidctint.c \
- ../../../3rdparty/libjpeg/jquant1.c \
- ../../../3rdparty/libjpeg/jquant2.c \
- ../../../3rdparty/libjpeg/jutils.c \
- ../../../3rdparty/libjpeg/jmemmgr.c \
- ../../../3rdparty/libjpeg/jmemnobs.c
-}
+include(../../../gui/image/qjpeghandler.pri)
+SOURCES += main.cpp
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
-
diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
index 158f41a..88085f3 100644
--- a/src/plugins/imageformats/mng/mng.pro
+++ b/src/plugins/imageformats/mng/mng.pro
@@ -3,54 +3,15 @@ include(../../qpluginbase.pri)
QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-mng)"
-HEADERS += qmnghandler.h
-SOURCES += main.cpp \
- qmnghandler.cpp
-
symbian: {
#Disable warnings in 3rdparty code due to unused variables and arguments
QMAKE_CXXFLAGS.CW += -W nounused
TARGET.UID3=0x2001E619
}
-contains(QT_CONFIG, system-mng) {
- unix|win32-g++*:LIBS += -lmng
- win32:!win32-g++*:LIBS += libmng.lib
-} else {
- DEFINES += MNG_BUILD_SO
- DEFINES += MNG_NO_INCLUDE_JNG
- INCLUDEPATH += ../../../3rdparty/libmng
- SOURCES += \
- ../../../3rdparty/libmng/libmng_callback_xs.c \
- ../../../3rdparty/libmng/libmng_chunk_io.c \
- ../../../3rdparty/libmng/libmng_chunk_descr.c \
- ../../../3rdparty/libmng/libmng_chunk_prc.c \
- ../../../3rdparty/libmng/libmng_chunk_xs.c \
- ../../../3rdparty/libmng/libmng_cms.c \
- ../../../3rdparty/libmng/libmng_display.c \
- ../../../3rdparty/libmng/libmng_dither.c \
- ../../../3rdparty/libmng/libmng_error.c \
- ../../../3rdparty/libmng/libmng_filter.c \
- ../../../3rdparty/libmng/libmng_hlapi.c \
- ../../../3rdparty/libmng/libmng_jpeg.c \
- ../../../3rdparty/libmng/libmng_object_prc.c \
- ../../../3rdparty/libmng/libmng_pixels.c \
- ../../../3rdparty/libmng/libmng_prop_xs.c \
- ../../../3rdparty/libmng/libmng_read.c \
- ../../../3rdparty/libmng/libmng_trace.c \
- ../../../3rdparty/libmng/libmng_write.c \
- ../../../3rdparty/libmng/libmng_zlib.c
-}
-
-contains(QT_CONFIG, system-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-} else {
- INCLUDEPATH += ../../../3rdparty/zlib
-}
+include(../../../gui/image/qmnghandler.pri)
+SOURCES += main.cpp
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
-
diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
index 08e471c..e781526 100644
--- a/src/plugins/imageformats/tiff/tiff.pro
+++ b/src/plugins/imageformats/tiff/tiff.pro
@@ -3,77 +3,8 @@ include(../../qpluginbase.pri)
QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-tiff)"
-HEADERS += qtiffhandler.h
-SOURCES += main.cpp \
- qtiffhandler.cpp
-
-contains(QT_CONFIG, system-tiff) {
- unix|win32-g++*:LIBS += -ltiff
- win32:!win32-g++*:LIBS += libtiff.lib
-
- contains(QT_CONFIG, system-jpeg) {
- unix|win32-g++*:LIBS += -ljpeg
- win32:!win32-g++*:LIBS += libjpeg.lib
- }
-} else {
- INCLUDEPATH += ../../../3rdparty/libtiff/libtiff
- SOURCES += \
- ../../../3rdparty/libtiff/libtiff/tif_aux.c \
- ../../../3rdparty/libtiff/libtiff/tif_close.c \
- ../../../3rdparty/libtiff/libtiff/tif_codec.c \
- ../../../3rdparty/libtiff/libtiff/tif_color.c \
- ../../../3rdparty/libtiff/libtiff/tif_compress.c \
- ../../../3rdparty/libtiff/libtiff/tif_dir.c \
- ../../../3rdparty/libtiff/libtiff/tif_dirinfo.c \
- ../../../3rdparty/libtiff/libtiff/tif_dirread.c \
- ../../../3rdparty/libtiff/libtiff/tif_dirwrite.c \
- ../../../3rdparty/libtiff/libtiff/tif_dumpmode.c \
- ../../../3rdparty/libtiff/libtiff/tif_error.c \
- ../../../3rdparty/libtiff/libtiff/tif_extension.c \
- ../../../3rdparty/libtiff/libtiff/tif_fax3.c \
- ../../../3rdparty/libtiff/libtiff/tif_fax3sm.c \
- ../../../3rdparty/libtiff/libtiff/tif_flush.c \
- ../../../3rdparty/libtiff/libtiff/tif_getimage.c \
- ../../../3rdparty/libtiff/libtiff/tif_luv.c \
- ../../../3rdparty/libtiff/libtiff/tif_lzw.c \
- ../../../3rdparty/libtiff/libtiff/tif_next.c \
- ../../../3rdparty/libtiff/libtiff/tif_open.c \
- ../../../3rdparty/libtiff/libtiff/tif_packbits.c \
- ../../../3rdparty/libtiff/libtiff/tif_pixarlog.c \
- ../../../3rdparty/libtiff/libtiff/tif_predict.c \
- ../../../3rdparty/libtiff/libtiff/tif_print.c \
- ../../../3rdparty/libtiff/libtiff/tif_read.c \
- ../../../3rdparty/libtiff/libtiff/tif_strip.c \
- ../../../3rdparty/libtiff/libtiff/tif_swab.c \
- ../../../3rdparty/libtiff/libtiff/tif_thunder.c \
- ../../../3rdparty/libtiff/libtiff/tif_tile.c \
- ../../../3rdparty/libtiff/libtiff/tif_version.c \
- ../../../3rdparty/libtiff/libtiff/tif_warning.c \
- ../../../3rdparty/libtiff/libtiff/tif_write.c \
- ../../../3rdparty/libtiff/libtiff/tif_zip.c
- win32:!wince*: {
- SOURCES += ../../../3rdparty/libtiff/libtiff/tif_win32.c
- }
- unix: {
- SOURCES += ../../../3rdparty/libtiff/libtiff/tif_unix.c
- }
- wince*: {
- SOURCES += ../../../corelib/kernel/qfunctions_wince.cpp \
- ../../../3rdparty/libtiff/libtiff/tif_wince.c \
- ../../../3rdparty/libtiff/libtiff/tif_win32.c
- }
- symbian: {
- SOURCES += ../../../3rdparty/libtiff/port/lfind.c
- }
-}
-
-contains(QT_CONFIG, system-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-} else {
- INCLUDEPATH += ../../../3rdparty/zlib
-}
+include(../../../gui/image/qtiffhandler.pri)
+SOURCES += main.cpp
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
diff --git a/src/svg/svg.pro b/src/svg/svg.pro
index de4bba6..7b5251a 100644
--- a/src/svg/svg.pro
+++ b/src/svg/svg.pro
@@ -42,11 +42,4 @@ INCLUDEPATH += ../3rdparty/harfbuzz/src
symbian:TARGET.UID3=0x2001B2E2
-#zlib support
-contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
-} else:!contains(QT_CONFIG, no-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-}
+include(../3rdparty/zlib_dependency.pri)
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 149291a..a74c9c1 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -95,25 +95,8 @@ macx: {
LIBS += -framework CoreServices
}
-contains(QT_CONFIG, zlib)|cross_compile {
- INCLUDEPATH += ../../3rdparty/zlib
- SOURCES+= \
- ../3rdparty/zlib/adler32.c \
- ../3rdparty/zlib/compress.c \
- ../3rdparty/zlib/crc32.c \
- ../3rdparty/zlib/deflate.c \
- ../3rdparty/zlib/gzio.c \
- ../3rdparty/zlib/inffast.c \
- ../3rdparty/zlib/inflate.c \
- ../3rdparty/zlib/inftrees.c \
- ../3rdparty/zlib/trees.c \
- ../3rdparty/zlib/uncompr.c \
- ../3rdparty/zlib/zutil.c
-} else:!contains(QT_CONFIG, no-zlib) {
- symbian:LIBS_PRIVATE += -llibz
- else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
- else:LIBS += zdll.lib
-}
+if(contains(QT_CONFIG, zlib)|cross_compile):include(../../3rdparty/zlib.pri)
+else:include(../../3rdparty/zlib_dependency.pri)
lib.CONFIG = dummy_install
INSTALLS += lib
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
index 0c9b214..8c2710c 100644
--- a/src/winmain/winmain.pro
+++ b/src/winmain/winmain.pro
@@ -12,7 +12,6 @@ win32 {
win32-borland:DEFINES += QT_NEEDS_QMAIN
SOURCES = qtmain_win.cpp
CONFIG += png
- CONFIG -= jpeg
INCLUDEPATH += tmp $$QMAKE_INCDIR_QT/QtCore
}
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index c3de09e..ae1af89 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -581,17 +581,13 @@ void Configure::parseCmdLine()
// Image formats --------------------------------------------
else if (configCmdLine.at(i) == "-no-gif")
dictionary[ "GIF" ] = "no";
- else if( configCmdLine.at(i) == "-qt-gif" )
- dictionary[ "GIF" ] = "auto";
else if (configCmdLine.at(i) == "-no-libtiff") {
dictionary[ "TIFF"] = "no";
dictionary[ "LIBTIFF" ] = "no";
} else if (configCmdLine.at(i) == "-qt-libtiff") {
- dictionary[ "TIFF" ] = "plugin";
dictionary[ "LIBTIFF" ] = "qt";
} else if (configCmdLine.at(i) == "-system-libtiff") {
- dictionary[ "TIFF" ] = "plugin";
dictionary[ "LIBTIFF" ] = "system";
}
@@ -599,10 +595,8 @@ void Configure::parseCmdLine()
dictionary[ "JPEG" ] = "no";
dictionary[ "LIBJPEG" ] = "no";
} else if (configCmdLine.at(i) == "-qt-libjpeg") {
- dictionary[ "JPEG" ] = "plugin";
dictionary[ "LIBJPEG" ] = "qt";
} else if (configCmdLine.at(i) == "-system-libjpeg") {
- dictionary[ "JPEG" ] = "plugin";
dictionary[ "LIBJPEG" ] = "system";
}
@@ -610,10 +604,8 @@ void Configure::parseCmdLine()
dictionary[ "PNG" ] = "no";
dictionary[ "LIBPNG" ] = "no";
} else if (configCmdLine.at(i) == "-qt-libpng") {
- dictionary[ "PNG" ] = "qt";
dictionary[ "LIBPNG" ] = "qt";
} else if (configCmdLine.at(i) == "-system-libpng") {
- dictionary[ "PNG" ] = "qt";
dictionary[ "LIBPNG" ] = "system";
}
@@ -621,10 +613,8 @@ void Configure::parseCmdLine()
dictionary[ "MNG" ] = "no";
dictionary[ "LIBMNG" ] = "no";
} else if (configCmdLine.at(i) == "-qt-libmng") {
- dictionary[ "MNG" ] = "qt";
dictionary[ "LIBMNG" ] = "qt";
} else if (configCmdLine.at(i) == "-system-libmng") {
- dictionary[ "MNG" ] = "qt";
dictionary[ "LIBMNG" ] = "system";
}
@@ -1750,22 +1740,22 @@ bool Configure::displayHelp()
desc("ZLIB", "qt", "-qt-zlib", "Use the zlib bundled with Qt.");
desc("ZLIB", "system", "-system-zlib", "Use zlib from the operating system.\nSee http://www.gzip.org/zlib\n");
- desc("GIF", "no", "-no-gif", "Do not compile the plugin for GIF reading support.");
- desc("GIF", "auto", "-qt-gif", "Compile the plugin for GIF reading support.\nSee also src/plugins/imageformats/gif/qgifhandler.h\n");
+ desc("GIF", "no", "-no-gif", "Do not compile GIF reading support.");
+ desc("GIF", "auto", "-qt-gif", "Compile GIF reading support.\nSee also src/gui/image/qgifhandler.h\n");
- desc("LIBPNG", "no", "-no-libpng", "Do not compile in PNG support.");
+ desc("LIBPNG", "no", "-no-libpng", "Do not compile PNG support.");
desc("LIBPNG", "qt", "-qt-libpng", "Use the libpng bundled with Qt.");
desc("LIBPNG", "system","-system-libpng", "Use libpng from the operating system.\nSee http://www.libpng.org/pub/png\n");
- desc("LIBMNG", "no", "-no-libmng", "Do not compile in MNG support.");
+ desc("LIBMNG", "no", "-no-libmng", "Do not compile MNG support.");
desc("LIBMNG", "qt", "-qt-libmng", "Use the libmng bundled with Qt.");
desc("LIBMNG", "system","-system-libmng", "Use libmng from the operating system.\nSee See http://www.libmng.com\n");
- desc("LIBTIFF", "no", "-no-libtiff", "Do not compile the plugin for TIFF support.");
+ desc("LIBTIFF", "no", "-no-libtiff", "Do not compile TIFF support.");
desc("LIBTIFF", "qt", "-qt-libtiff", "Use the libtiff bundled with Qt.");
desc("LIBTIFF", "system","-system-libtiff", "Use libtiff from the operating system.\nSee http://www.libtiff.org\n");
- desc("LIBJPEG", "no", "-no-libjpeg", "Do not compile the plugin for JPEG support.");
+ desc("LIBJPEG", "no", "-no-libjpeg", "Do not compile JPEG support.");
desc("LIBJPEG", "qt", "-qt-libjpeg", "Use the libjpeg bundled with Qt.");
desc("LIBJPEG", "system","-system-libjpeg", "Use libjpeg from the operating system.\nSee http://www.ijg.org\n");
@@ -1957,21 +1947,28 @@ QString Configure::defaultTo(const QString &option)
|| option == "LIBTIFF")
return "system";
- // We want PNG built-in
+ // PNG is always built-in, never a plugin
if (option == "PNG")
- return "qt";
+ return "yes";
- // The JPEG image library can only be a plugin
- if (option == "JPEG"
- || option == "MNG" || option == "TIFF")
- return "plugin";
-
- // GIF off by default
- if (option == "GIF") {
- if (dictionary["SHARED"] == "yes")
+ // These database drivers and image formats can be built-in or plugins.
+ // Prefer plugins when Qt is shared.
+ if (dictionary[ "SHARED" ] == "yes") {
+ if (option == "SQL_MYSQL"
+ || option == "SQL_MYSQL"
+ || option == "SQL_ODBC"
+ || option == "SQL_OCI"
+ || option == "SQL_PSQL"
+ || option == "SQL_TDS"
+ || option == "SQL_DB2"
+ || option == "SQL_SQLITE"
+ || option == "SQL_SQLITE2"
+ || option == "SQL_IBASE"
+ || option == "JPEG"
+ || option == "MNG"
+ || option == "TIFF"
+ || option == "GIF")
return "plugin";
- else
- return "yes";
}
// By default we do not want to compile OCI driver when compiling with
@@ -1981,18 +1978,6 @@ QString Configure::defaultTo(const QString &option)
&& option == "SQL_OCI")
return "no";
- if (option == "SQL_MYSQL"
- || option == "SQL_MYSQL"
- || option == "SQL_ODBC"
- || option == "SQL_OCI"
- || option == "SQL_PSQL"
- || option == "SQL_TDS"
- || option == "SQL_DB2"
- || option == "SQL_SQLITE"
- || option == "SQL_SQLITE2"
- || option == "SQL_IBASE")
- return "plugin";
-
if (option == "SYNCQT"
&& (!QFile::exists(sourcePath + "/bin/syncqt") ||
!QFile::exists(sourcePath + "/bin/syncqt.bat")))
@@ -2469,14 +2454,14 @@ void Configure::generateOutputVars()
if (dictionary[ "PNG" ] == "no")
qtConfig += "no-png";
- else if( dictionary[ "PNG" ] == "qt" )
+ else if (dictionary[ "PNG" ] == "yes")
qtConfig += "png";
if (dictionary[ "LIBPNG" ] == "system")
qtConfig += "system-png";
if (dictionary[ "MNG" ] == "no")
qtConfig += "no-mng";
- else if( dictionary[ "MNG" ] == "qt" )
+ else if (dictionary[ "MNG" ] == "yes")
qtConfig += "mng";
if (dictionary[ "LIBMNG" ] == "system")
qtConfig += "system-mng";
diff --git a/tools/qdoc3/doc/qdoc-manual.qdoc b/tools/qdoc3/doc/qdoc-manual.qdoc
index 57c17ba..c3ab731 100644
--- a/tools/qdoc3/doc/qdoc-manual.qdoc
+++ b/tools/qdoc3/doc/qdoc-manual.qdoc
@@ -8075,6 +8075,27 @@
qhp.Qt.subprojects.examples.indexTitle = Qt Examples
qhp.Qt.subprojects.examples.selectors = fake:example
\endcode
+
+ To create a table of contents for a manual, create a subproject with
+ a \c{type} property and set it to \c{manual}. The page in the documentation
+ referred to by the \c{indexTitle} property must contain a list of links
+ that acts as a table of contents for the whole manual. QDoc will take the
+ information in this list and create a table of contents for the subproject.
+
+ For example, the configuration file for Qt Creator defines only one
+ subproject for its documentation, including all the documentation in a
+ single manual:
+
+ \code
+ qhp.QtCreator.subprojects = manual
+ qhp.QtCreator.subprojects.manual.title = Qt Creator Manual
+ qhp.QtCreator.subprojects.manual.indexTitle = Qt Creator Manual
+ qhp.QtCreator.subprojects.manual.type = manual
+ \endcode
+
+ In this example, the page entitled "Qt Creator Manual" contains a nested
+ list of links to pages in the documentation which is duplicated in
+ Qt Assistant's Contents tab.
*/
/*!
diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp
index edba097..98246c4 100644
--- a/tools/qdoc3/helpprojectwriter.cpp
+++ b/tools/qdoc3/helpprojectwriter.cpp
@@ -41,7 +41,7 @@
#include <QHash>
#include <QMap>
-#include <qdebug.h>
+//#include <qdebug.h>
#include "atom.h"
#include "helpprojectwriter.h"
@@ -91,6 +91,7 @@ HelpProjectWriter::HelpProjectWriter(const Config &config, const QString &defaul
subproject.title = config.getString(subprefix + "title");
subproject.indexTitle = config.getString(subprefix + "indexTitle");
subproject.sortPages = config.getBool(subprefix + "sortPages");
+ subproject.type = config.getString(subprefix + "type");
readSelectors(subproject, config.getStringList(subprefix + "selectors"));
project.subprojects[name] = subproject;
}
@@ -625,44 +626,99 @@ void HelpProjectWriter::generateProject(HelpProject &project)
foreach (const QString &name, project.subprojects.keys()) {
SubProject subproject = project.subprojects[name];
- if (!name.isEmpty()) {
- writer.writeStartElement("section");
- QString indexPath = tree->fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle));
- writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath));
- writer.writeAttribute("title", subproject.title);
- project.files.insert(indexPath);
- }
- if (subproject.sortPages) {
- QStringList titles = subproject.nodes.keys();
- titles.sort();
- foreach (const QString &title, titles)
- writeNode(project, writer, subproject.nodes[title]);
+ if (subproject.type == QLatin1String("manual")) {
+
+ const FakeNode *indexPage = tree->findFakeNodeByTitle(subproject.indexTitle);
+ if (indexPage) {
+ Text indexBody = indexPage->doc().body();
+ const Atom *atom = indexBody.firstAtom();
+ QStack<int> sectionStack;
+ bool inItem = false;
+
+ while (atom) {
+ switch (atom->type()) {
+ case Atom::ListLeft:
+ sectionStack.push(0);
+ break;
+ case Atom::ListRight:
+ if (sectionStack.pop() > 0)
+ writer.writeEndElement(); // section
+ break;
+ case Atom::ListItemLeft:
+ inItem = true;
+ break;
+ case Atom::ListItemRight:
+ inItem = false;
+ break;
+ case Atom::Link:
+ if (inItem) {
+ if (sectionStack.top() > 0)
+ writer.writeEndElement(); // section
+
+ const FakeNode *page = tree->findFakeNodeByTitle(atom->string());
+ writer.writeStartElement("section");
+ QString indexPath = tree->fullDocumentLocation(page);
+ writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath));
+ writer.writeAttribute("title", atom->string());
+ project.files.insert(indexPath);
+
+ sectionStack.top() += 1;
+ }
+ break;
+ default:
+ ;
+ }
+
+ if (atom == indexBody.lastAtom())
+ break;
+ atom = atom->next();
+ }
+ } else
+ rootNode->doc().location().warning(
+ tr("Failed to find index: %1").arg(subproject.indexTitle)
+ );
+
} else {
- // Find a contents node and navigate from there, using the NextLink values.
- foreach (const Node *node, subproject.nodes) {
- QString nextTitle = node->links().value(Node::NextLink).first;
- if (!nextTitle.isEmpty() &&
- node->links().value(Node::ContentsLink).first.isEmpty()) {
-
- FakeNode *nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle));
-
- // Write the contents node.
- writeNode(project, writer, node);
-
- while (nextPage) {
- writeNode(project, writer, nextPage);
- nextTitle = nextPage->links().value(Node::NextLink).first;
- if(nextTitle.isEmpty())
- break;
- nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle));
+
+ if (!name.isEmpty()) {
+ writer.writeStartElement("section");
+ QString indexPath = tree->fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle));
+ writer.writeAttribute("ref", HtmlGenerator::cleanRef(indexPath));
+ writer.writeAttribute("title", subproject.title);
+ project.files.insert(indexPath);
+ }
+ if (subproject.sortPages) {
+ QStringList titles = subproject.nodes.keys();
+ titles.sort();
+ foreach (const QString &title, titles)
+ writeNode(project, writer, subproject.nodes[title]);
+ } else {
+ // Find a contents node and navigate from there, using the NextLink values.
+ foreach (const Node *node, subproject.nodes) {
+ QString nextTitle = node->links().value(Node::NextLink).first;
+ if (!nextTitle.isEmpty() &&
+ node->links().value(Node::ContentsLink).first.isEmpty()) {
+
+ FakeNode *nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle));
+
+ // Write the contents node.
+ writeNode(project, writer, node);
+
+ while (nextPage) {
+ writeNode(project, writer, nextPage);
+ nextTitle = nextPage->links().value(Node::NextLink).first;
+ if(nextTitle.isEmpty())
+ break;
+ nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle));
+ }
+ break;
}
- break;
}
}
- }
- if (!name.isEmpty())
- writer.writeEndElement(); // section
+ if (!name.isEmpty())
+ writer.writeEndElement(); // section
+ }
}
writer.writeEndElement(); // section
diff --git a/tools/qdoc3/helpprojectwriter.h b/tools/qdoc3/helpprojectwriter.h
index 511a9dd..7a67dff 100644
--- a/tools/qdoc3/helpprojectwriter.h
+++ b/tools/qdoc3/helpprojectwriter.h
@@ -60,6 +60,7 @@ struct SubProject
QString indexTitle;
QHash<Node::Type, QSet<FakeNode::SubType> > selectors;
bool sortPages;
+ QString type;
QHash<QString, const Node *> nodes;
};