summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/global/qfeatures.h5
-rw-r--r--src/corelib/global/qfeatures.txt7
-rw-r--r--src/corelib/io/qlockfile_unix.cpp9
-rw-r--r--src/corelib/io/qsavefile.cpp7
-rw-r--r--src/corelib/io/qsavefile.h7
-rw-r--r--src/corelib/io/qsavefile_p.h6
-rw-r--r--src/corelib/io/qtemporaryfile_p.h6
-rw-r--r--src/gui/painting/qpdf.cpp9
-rw-r--r--src/gui/painting/qpdf_p.h7
-rw-r--r--src/gui/painting/qpdfwriter.cpp5
-rw-r--r--src/gui/painting/qpdfwriter.h7
-rw-r--r--src/gui/text/qfontsubset.cpp3
-rw-r--r--src/gui/text/qfontsubset_p.h9
13 files changed, 79 insertions, 8 deletions
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index f2e5dc7633..4534e9bf13 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -311,6 +311,11 @@
#define QT_NO_LOCALSERVER
#endif
+// QPdf
+#if !defined(QT_NO_PDF) && (defined(QT_NO_TEMPORARYFILE))
+#define QT_NO_PDF
+#endif
+
// QMenu
#if !defined(QT_NO_MENU) && (defined(QT_NO_ACTION))
#define QT_NO_MENU
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index 43db585643..61a3df39f3 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -851,6 +851,13 @@ Requires:
Name: Color Names
SeeAlso: ???
+Feature: PDF
+Description: Supports pdf format
+Section: Painting
+Requires: TEMPORARYFILE
+Name: QPdf
+SeeAlso: ???
+
Feature: PRINTER
Description: Supports printing
Section: Painting
diff --git a/src/corelib/io/qlockfile_unix.cpp b/src/corelib/io/qlockfile_unix.cpp
index ed3b399fbf..db81d65565 100644
--- a/src/corelib/io/qlockfile_unix.cpp
+++ b/src/corelib/io/qlockfile_unix.cpp
@@ -45,6 +45,7 @@
#include "QtCore/qcoreapplication.h"
#include "QtCore/qfileinfo.h"
#include "QtCore/qdebug.h"
+#include "QtCore/qdatetime.h"
#include "private/qcore_unix_p.h" // qt_safe_open
#include "private/qabstractfileengine_p.h"
@@ -80,12 +81,13 @@ static qint64 qt_write_loop(int fd, const char *data, qint64 len)
int QLockFilePrivate::checkFcntlWorksAfterFlock()
{
+#ifndef QT_NO_TEMPORARYFILE
QTemporaryFile file;
if (!file.open())
- return -2;
+ return 0;
const int fd = file.d_func()->engine()->handle();
if (flock(fd, LOCK_EX | LOCK_NB) == -1) // other threads, and other processes on a local fs
- return -3;
+ return 0;
struct flock flockData;
flockData.l_type = F_WRLCK;
flockData.l_whence = SEEK_SET;
@@ -95,6 +97,9 @@ int QLockFilePrivate::checkFcntlWorksAfterFlock()
if (fcntl(fd, F_SETLK, &flockData) == -1) // for networked filesystems
return 0;
return 1;
+#else
+ return 0;
+#endif
}
static QBasicAtomicInt fcntlOK = Q_BASIC_ATOMIC_INITIALIZER(-1);
diff --git a/src/corelib/io/qsavefile.cpp b/src/corelib/io/qsavefile.cpp
index f8b5ebcabd..5ed429c464 100644
--- a/src/corelib/io/qsavefile.cpp
+++ b/src/corelib/io/qsavefile.cpp
@@ -39,8 +39,11 @@
**
****************************************************************************/
-#include "qplatformdefs.h"
#include "qsavefile.h"
+
+#ifndef QT_NO_TEMPORARYFILE
+
+#include "qplatformdefs.h"
#include "private/qsavefile_p.h"
#include "qfileinfo.h"
#include "qabstractfileengine_p.h"
@@ -381,3 +384,5 @@ bool QSaveFile::directWriteFallback() const
}
QT_END_NAMESPACE
+
+#endif // QT_NO_TEMPORARYFILE
diff --git a/src/corelib/io/qsavefile.h b/src/corelib/io/qsavefile.h
index 6d81f58d42..ad18417124 100644
--- a/src/corelib/io/qsavefile.h
+++ b/src/corelib/io/qsavefile.h
@@ -42,6 +42,10 @@
#ifndef QSAVEFILE_H
#define QSAVEFILE_H
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_TEMPORARYFILE
+
#include <QtCore/qfiledevice.h>
#include <QtCore/qstring.h>
@@ -51,7 +55,6 @@
QT_BEGIN_NAMESPACE
-
class QAbstractFileEngine;
class QSaveFilePrivate;
@@ -90,4 +93,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_TEMPORARYFILE
+
#endif // QSAVEFILE_H
diff --git a/src/corelib/io/qsavefile_p.h b/src/corelib/io/qsavefile_p.h
index 53a8b5eb34..b9efd1ee7c 100644
--- a/src/corelib/io/qsavefile_p.h
+++ b/src/corelib/io/qsavefile_p.h
@@ -53,6 +53,10 @@
// We mean it.
//
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_TEMPORARYFILE
+
#include "private/qfiledevice_p.h"
QT_BEGIN_NAMESPACE
@@ -75,4 +79,6 @@ protected:
QT_END_NAMESPACE
+#endif // QT_NO_TEMPORARYFILE
+
#endif // QSAVEFILE_P_H
diff --git a/src/corelib/io/qtemporaryfile_p.h b/src/corelib/io/qtemporaryfile_p.h
index d274f60ecc..fe637c8dfd 100644
--- a/src/corelib/io/qtemporaryfile_p.h
+++ b/src/corelib/io/qtemporaryfile_p.h
@@ -42,6 +42,10 @@
#ifndef QTEMPORARYFILE_P_H
#define QTEMPORARYFILE_P_H
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_TEMPORARYFILE
+
#include "private/qfsfileengine_p.h"
#include "private/qfilesystemengine_p.h"
#include "private/qfile_p.h"
@@ -99,5 +103,7 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_TEMPORARYFILE
+
#endif /* QTEMPORARYFILE_P_H */
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 5d9a743dac..345ebefea7 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -38,9 +38,13 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
+#include "qpdf_p.h"
+
+#ifndef QT_NO_PDF
+
#include "qplatformdefs.h"
#include <qdebug.h>
-#include "qpdf_p.h"
#include <qfile.h>
#include <qtemporaryfile.h>
#include <private/qmath_p.h>
@@ -2624,5 +2628,6 @@ void QPdfEnginePrivate::newPage()
<< "q q\n";
}
-
QT_END_NAMESPACE
+
+#endif // QT_NO_PDF
diff --git a/src/gui/painting/qpdf_p.h b/src/gui/painting/qpdf_p.h
index 44e1446fff..560621775b 100644
--- a/src/gui/painting/qpdf_p.h
+++ b/src/gui/painting/qpdf_p.h
@@ -52,6 +52,11 @@
//
// We mean it.
//
+
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_PDF
+
#include "QtGui/qmatrix.h"
#include "QtCore/qstring.h"
#include "QtCore/qvector.h"
@@ -328,5 +333,7 @@ void QPdfEngine::setResolution(int resolution)
QT_END_NAMESPACE
+#endif // QT_NO_PDF
+
#endif // QPDF_P_H
diff --git a/src/gui/painting/qpdfwriter.cpp b/src/gui/painting/qpdfwriter.cpp
index ad6b66ae09..136654cb5d 100644
--- a/src/gui/painting/qpdfwriter.cpp
+++ b/src/gui/painting/qpdfwriter.cpp
@@ -40,6 +40,9 @@
****************************************************************************/
#include <qpdfwriter.h>
+
+#ifndef QT_NO_PDF
+
#include <QtCore/private/qobject_p.h>
#include "private/qpdf_p.h"
#include <QtCore/qfile.h>
@@ -214,3 +217,5 @@ void QPdfWriter::setMargins(const Margins &m)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_PDF
diff --git a/src/gui/painting/qpdfwriter.h b/src/gui/painting/qpdfwriter.h
index 45bb5ad4b4..f5c25de5e9 100644
--- a/src/gui/painting/qpdfwriter.h
+++ b/src/gui/painting/qpdfwriter.h
@@ -42,12 +42,15 @@
#ifndef QPDFWRITER_H
#define QPDFWRITER_H
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_PDF
+
#include <QtCore/qobject.h>
#include <QtGui/qpagedpaintdevice.h>
QT_BEGIN_NAMESPACE
-
class QIODevice;
class QPdfWriterPrivate;
@@ -83,4 +86,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_PDF
+
#endif
diff --git a/src/gui/text/qfontsubset.cpp b/src/gui/text/qfontsubset.cpp
index 649c6ec36d..3c39272d11 100644
--- a/src/gui/text/qfontsubset.cpp
+++ b/src/gui/text/qfontsubset.cpp
@@ -91,6 +91,8 @@ static const unsigned short symbol_map[0x100] = {
// ---------------------------- PS/PDF helper methods -----------------------------------
+#ifndef QT_NO_PDF
+
QByteArray QFontSubset::glyphName(unsigned short unicode, bool symbol)
{
if (symbol && unicode < 0x100)
@@ -311,6 +313,7 @@ int QFontSubset::addGlyph(int index)
return idx;
}
+#endif // QT_NO_PDF
// ------------------------------ Truetype generation ----------------------------------------------
diff --git a/src/gui/text/qfontsubset_p.h b/src/gui/text/qfontsubset_p.h
index 00054dfe39..df5e72ab7d 100644
--- a/src/gui/text/qfontsubset_p.h
+++ b/src/gui/text/qfontsubset_p.h
@@ -62,13 +62,19 @@ class QFontSubset
public:
explicit QFontSubset(QFontEngine *fe, int obj_id = 0)
: object_id(obj_id), noEmbed(false), fontEngine(fe), downloaded_glyphs(0), standard_font(false)
- { fontEngine->ref.ref(); addGlyph(0); }
+ {
+ fontEngine->ref.ref();
+#ifndef QT_NO_PDF
+ addGlyph(0);
+#endif
+ }
~QFontSubset() {
if (!fontEngine->ref.deref())
delete fontEngine;
}
QByteArray toTruetype() const;
+#ifndef QT_NO_PDF
QByteArray widthArray() const;
QByteArray createToUnicodeMap() const;
QVector<int> getReverseMap() const;
@@ -77,6 +83,7 @@ public:
static QByteArray glyphName(unsigned short unicode, bool symbol);
int addGlyph(int index);
+#endif
const int object_id;
bool noEmbed;
QFontEngine *fontEngine;